Class NetworkTargetGroup.Builder

java.lang.Object
software.amazon.awscdk.services.elasticloadbalancingv2.NetworkTargetGroup.Builder
All Implemented Interfaces:
software.amazon.jsii.Builder<NetworkTargetGroup>
Enclosing class:
NetworkTargetGroup

@Stability(Stable) public static final class NetworkTargetGroup.Builder extends Object implements software.amazon.jsii.Builder<NetworkTargetGroup>
A fluent builder for NetworkTargetGroup.
  • Method Details

    • create

      @Stability(Stable) public static NetworkTargetGroup.Builder create(software.constructs.Construct scope, String id)
      Parameters:
      scope - This parameter is required.
      id - This parameter is required.
      Returns:
      a new instance of NetworkTargetGroup.Builder.
    • crossZoneEnabled

      @Stability(Stable) public NetworkTargetGroup.Builder crossZoneEnabled(Boolean crossZoneEnabled)
      Indicates whether cross zone load balancing is enabled.

      Default: - use load balancer configuration

      Parameters:
      crossZoneEnabled - Indicates whether cross zone load balancing is enabled. This parameter is required.
      Returns:
      this
      See Also:
    • deregistrationDelay

      @Stability(Stable) public NetworkTargetGroup.Builder deregistrationDelay(Duration deregistrationDelay)
      The amount of time for Elastic Load Balancing to wait before deregistering a target.

      The range is 0-3600 seconds.

      Default: 300

      Parameters:
      deregistrationDelay - The amount of time for Elastic Load Balancing to wait before deregistering a target. This parameter is required.
      Returns:
      this
    • healthCheck

      @Stability(Stable) public NetworkTargetGroup.Builder healthCheck(HealthCheck healthCheck)
      Health check configuration.

      Default: - The default value for each property in this configuration varies depending on the target.

      Parameters:
      healthCheck - Health check configuration. This parameter is required.
      Returns:
      this
      See Also:
    • ipAddressType

      @Stability(Stable) public NetworkTargetGroup.Builder ipAddressType(TargetGroupIpAddressType ipAddressType)
      The type of IP addresses of the targets registered with the target group.

      Default: undefined - ELB defaults to IPv4

      Parameters:
      ipAddressType - The type of IP addresses of the targets registered with the target group. This parameter is required.
      Returns:
      this
    • targetGroupName

      @Stability(Stable) public NetworkTargetGroup.Builder targetGroupName(String targetGroupName)
      The name of the target group.

      This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen.

      Default: - Automatically generated.

      Parameters:
      targetGroupName - The name of the target group. This parameter is required.
      Returns:
      this
    • targetType

      @Stability(Stable) public NetworkTargetGroup.Builder targetType(TargetType targetType)
      The type of targets registered to this TargetGroup, either IP or Instance.

      All targets registered into the group must be of this type. If you register targets to the TargetGroup in the CDK app, the TargetType is determined automatically.

      Default: - Determined automatically.

      Parameters:
      targetType - The type of targets registered to this TargetGroup, either IP or Instance. This parameter is required.
      Returns:
      this
    • vpc

      @Stability(Stable) public NetworkTargetGroup.Builder vpc(IVpc vpc)
      The virtual private cloud (VPC).

      only if TargetType is Ip or InstanceId

      Default: - undefined

      Parameters:
      vpc - The virtual private cloud (VPC). This parameter is required.
      Returns:
      this
    • port

      @Stability(Stable) public NetworkTargetGroup.Builder port(Number port)
      The port on which the target receives traffic.

      Parameters:
      port - The port on which the target receives traffic. This parameter is required.
      Returns:
      this
    • connectionTermination

      @Stability(Stable) public NetworkTargetGroup.Builder connectionTermination(Boolean connectionTermination)
      Indicates whether the load balancer terminates connections at the end of the deregistration timeout.

      Default: false

      Parameters:
      connectionTermination - Indicates whether the load balancer terminates connections at the end of the deregistration timeout. This parameter is required.
      Returns:
      this
    • preserveClientIp

      @Stability(Stable) public NetworkTargetGroup.Builder preserveClientIp(Boolean preserveClientIp)
      Indicates whether client IP preservation is enabled.

      Default: false if the target group type is IP address and the target group protocol is TCP or TLS. Otherwise, true.

      Parameters:
      preserveClientIp - Indicates whether client IP preservation is enabled. This parameter is required.
      Returns:
      this
    • protocol

      @Stability(Stable) public NetworkTargetGroup.Builder protocol(Protocol protocol)
      Protocol for target group, expects TCP, TLS, UDP, or TCP_UDP.

      Default: - TCP

      Parameters:
      protocol - Protocol for target group, expects TCP, TLS, UDP, or TCP_UDP. This parameter is required.
      Returns:
      this
    • proxyProtocolV2

      @Stability(Stable) public NetworkTargetGroup.Builder proxyProtocolV2(Boolean proxyProtocolV2)
      Indicates whether Proxy Protocol version 2 is enabled.

      Default: false

      Parameters:
      proxyProtocolV2 - Indicates whether Proxy Protocol version 2 is enabled. This parameter is required.
      Returns:
      this
    • targets

      @Stability(Stable) public NetworkTargetGroup.Builder targets(List<? extends INetworkLoadBalancerTarget> targets)
      The targets to add to this target group.

      Can be Instance, IPAddress, or any self-registering load balancing target. If you use either Instance or IPAddress as targets, all target must be of the same type.

      Default: - No targets.

      Parameters:
      targets - The targets to add to this target group. This parameter is required.
      Returns:
      this
    • build

      @Stability(Stable) public NetworkTargetGroup build()
      Specified by:
      build in interface software.amazon.jsii.Builder<NetworkTargetGroup>
      Returns:
      a newly built instance of NetworkTargetGroup.