Class ApplicationTargetGroup.Builder

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

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

    • create

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

      @Stability(Stable) public ApplicationTargetGroup.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 ApplicationTargetGroup.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 ApplicationTargetGroup.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:
    • targetGroupName

      @Stability(Stable) public ApplicationTargetGroup.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 ApplicationTargetGroup.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 ApplicationTargetGroup.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
    • enableAnomalyMitigation

      @Stability(Stable) public ApplicationTargetGroup.Builder enableAnomalyMitigation(Boolean enableAnomalyMitigation)
      Indicates whether anomaly mitigation is enabled.

      Only available when loadBalancingAlgorithmType is TargetGroupLoadBalancingAlgorithmType.WEIGHTED_RANDOM

      Default: false

      Parameters:
      enableAnomalyMitigation - Indicates whether anomaly mitigation is enabled. This parameter is required.
      Returns:
      this
      See Also:
    • loadBalancingAlgorithmType

      @Stability(Stable) public ApplicationTargetGroup.Builder loadBalancingAlgorithmType(TargetGroupLoadBalancingAlgorithmType loadBalancingAlgorithmType)
      The load balancing algorithm to select targets for routing requests.

      Default: TargetGroupLoadBalancingAlgorithmType.ROUND_ROBIN

      Parameters:
      loadBalancingAlgorithmType - The load balancing algorithm to select targets for routing requests. This parameter is required.
      Returns:
      this
    • port

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

      This is not applicable for Lambda targets.

      Default: - Determined from protocol if known

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

      @Stability(Stable) public ApplicationTargetGroup.Builder protocol(ApplicationProtocol protocol)
      The protocol used for communication with the target.

      This is not applicable for Lambda targets.

      Default: - Determined from port if known

      Parameters:
      protocol - The protocol used for communication with the target. This parameter is required.
      Returns:
      this
    • protocolVersion

      @Stability(Stable) public ApplicationTargetGroup.Builder protocolVersion(ApplicationProtocolVersion protocolVersion)
      The protocol version to use.

      Default: ApplicationProtocolVersion.HTTP1

      Parameters:
      protocolVersion - The protocol version to use. This parameter is required.
      Returns:
      this
    • slowStart

      @Stability(Stable) public ApplicationTargetGroup.Builder slowStart(Duration slowStart)
      The time period during which the load balancer sends a newly registered target a linearly increasing share of the traffic to the target group.

      The range is 30-900 seconds (15 minutes).

      Default: 0

      Parameters:
      slowStart - The time period during which the load balancer sends a newly registered target a linearly increasing share of the traffic to the target group. This parameter is required.
      Returns:
      this
    • stickinessCookieDuration

      @Stability(Stable) public ApplicationTargetGroup.Builder stickinessCookieDuration(Duration stickinessCookieDuration)
      The stickiness cookie expiration period.

      Setting this value enables load balancer stickiness.

      After this period, the cookie is considered stale. The minimum value is 1 second and the maximum value is 7 days (604800 seconds).

      Default: - Stickiness is disabled

      Parameters:
      stickinessCookieDuration - The stickiness cookie expiration period. This parameter is required.
      Returns:
      this
    • stickinessCookieName

      @Stability(Stable) public ApplicationTargetGroup.Builder stickinessCookieName(String stickinessCookieName)
      The name of an application-based stickiness cookie.

      Names that start with the following prefixes are not allowed: AWSALB, AWSALBAPP, and AWSALBTG; they're reserved for use by the load balancer.

      Note: stickinessCookieName parameter depends on the presence of stickinessCookieDuration parameter. If stickinessCookieDuration is not set, stickinessCookieName will be omitted.

      Default: - If `stickinessCookieDuration` is set, a load-balancer generated cookie is used. Otherwise, no stickiness is defined.

      Parameters:
      stickinessCookieName - The name of an application-based stickiness cookie. This parameter is required.
      Returns:
      this
      See Also:
    • targets

      @Stability(Stable) public ApplicationTargetGroup.Builder targets(List<? extends IApplicationLoadBalancerTarget> 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 ApplicationTargetGroup build()
      Specified by:
      build in interface software.amazon.jsii.Builder<ApplicationTargetGroup>
      Returns:
      a newly built instance of ApplicationTargetGroup.