Class TargetGroupState.Builder

  • Enclosing class:
    TargetGroupState

    public static final class TargetGroupState.Builder
    extends java.lang.Object
    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • arn

        public TargetGroupState.Builder arn​(@Nullable
                                            com.pulumi.core.Output<java.lang.String> arn)
        Parameters:
        arn - ARN of the Target Group (matches `id`).
        Returns:
        builder
      • arn

        public TargetGroupState.Builder arn​(java.lang.String arn)
        Parameters:
        arn - ARN of the Target Group (matches `id`).
        Returns:
        builder
      • arnSuffix

        public TargetGroupState.Builder arnSuffix​(@Nullable
                                                  com.pulumi.core.Output<java.lang.String> arnSuffix)
        Parameters:
        arnSuffix - ARN suffix for use with CloudWatch Metrics.
        Returns:
        builder
      • arnSuffix

        public TargetGroupState.Builder arnSuffix​(java.lang.String arnSuffix)
        Parameters:
        arnSuffix - ARN suffix for use with CloudWatch Metrics.
        Returns:
        builder
      • connectionTermination

        public TargetGroupState.Builder connectionTermination​(@Nullable
                                                              com.pulumi.core.Output<java.lang.Boolean> connectionTermination)
        Parameters:
        connectionTermination - Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#deregistration-delay) for more information. Default is `false`.
        Returns:
        builder
      • connectionTermination

        public TargetGroupState.Builder connectionTermination​(java.lang.Boolean connectionTermination)
        Parameters:
        connectionTermination - Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#deregistration-delay) for more information. Default is `false`.
        Returns:
        builder
      • deregistrationDelay

        public TargetGroupState.Builder deregistrationDelay​(@Nullable
                                                            com.pulumi.core.Output<java.lang.Integer> deregistrationDelay)
        Parameters:
        deregistrationDelay - Amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds.
        Returns:
        builder
      • deregistrationDelay

        public TargetGroupState.Builder deregistrationDelay​(java.lang.Integer deregistrationDelay)
        Parameters:
        deregistrationDelay - Amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds.
        Returns:
        builder
      • ipAddressType

        public TargetGroupState.Builder ipAddressType​(@Nullable
                                                      com.pulumi.core.Output<java.lang.String> ipAddressType)
        Parameters:
        ipAddressType - The type of IP addresses used by the target group, only supported when target type is set to `ip`. Possible values are `ipv4` or `ipv6`.
        Returns:
        builder
      • ipAddressType

        public TargetGroupState.Builder ipAddressType​(java.lang.String ipAddressType)
        Parameters:
        ipAddressType - The type of IP addresses used by the target group, only supported when target type is set to `ip`. Possible values are `ipv4` or `ipv6`.
        Returns:
        builder
      • lambdaMultiValueHeadersEnabled

        public TargetGroupState.Builder lambdaMultiValueHeadersEnabled​(@Nullable
                                                                       com.pulumi.core.Output<java.lang.Boolean> lambdaMultiValueHeadersEnabled)
        Parameters:
        lambdaMultiValueHeadersEnabled - Whether the request and response headers exchanged between the load balancer and the Lambda function include arrays of values or strings. Only applies when `targetType` is `lambda`. Default is `false`.
        Returns:
        builder
      • lambdaMultiValueHeadersEnabled

        public TargetGroupState.Builder lambdaMultiValueHeadersEnabled​(java.lang.Boolean lambdaMultiValueHeadersEnabled)
        Parameters:
        lambdaMultiValueHeadersEnabled - Whether the request and response headers exchanged between the load balancer and the Lambda function include arrays of values or strings. Only applies when `targetType` is `lambda`. Default is `false`.
        Returns:
        builder
      • loadBalancerArns

        public TargetGroupState.Builder loadBalancerArns​(@Nullable
                                                         com.pulumi.core.Output<java.util.List<java.lang.String>> loadBalancerArns)
        Parameters:
        loadBalancerArns - ARNs of the Load Balancers associated with the Target Group.
        Returns:
        builder
      • loadBalancerArns

        public TargetGroupState.Builder loadBalancerArns​(java.util.List<java.lang.String> loadBalancerArns)
        Parameters:
        loadBalancerArns - ARNs of the Load Balancers associated with the Target Group.
        Returns:
        builder
      • loadBalancerArns

        public TargetGroupState.Builder loadBalancerArns​(java.lang.String... loadBalancerArns)
        Parameters:
        loadBalancerArns - ARNs of the Load Balancers associated with the Target Group.
        Returns:
        builder
      • loadBalancingAlgorithmType

        public TargetGroupState.Builder loadBalancingAlgorithmType​(@Nullable
                                                                   com.pulumi.core.Output<java.lang.String> loadBalancingAlgorithmType)
        Parameters:
        loadBalancingAlgorithmType - Determines how the load balancer selects targets when routing requests. Only applicable for Application Load Balancer Target Groups. The value is `roundRobin`, `leastOutstandingRequests`, or `weightedRandom`. The default is `roundRobin`.
        Returns:
        builder
      • loadBalancingAlgorithmType

        public TargetGroupState.Builder loadBalancingAlgorithmType​(java.lang.String loadBalancingAlgorithmType)
        Parameters:
        loadBalancingAlgorithmType - Determines how the load balancer selects targets when routing requests. Only applicable for Application Load Balancer Target Groups. The value is `roundRobin`, `leastOutstandingRequests`, or `weightedRandom`. The default is `roundRobin`.
        Returns:
        builder
      • loadBalancingAnomalyMitigation

        public TargetGroupState.Builder loadBalancingAnomalyMitigation​(@Nullable
                                                                       com.pulumi.core.Output<java.lang.String> loadBalancingAnomalyMitigation)
        Parameters:
        loadBalancingAnomalyMitigation - Determines whether to enable target anomaly mitigation. Target anomaly mitigation is only supported by the `weightedRandom` load balancing algorithm type. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#automatic-target-weights) for more information. The value is `"on"` or `"off"`. The default is `"off"`.
        Returns:
        builder
      • loadBalancingAnomalyMitigation

        public TargetGroupState.Builder loadBalancingAnomalyMitigation​(java.lang.String loadBalancingAnomalyMitigation)
        Parameters:
        loadBalancingAnomalyMitigation - Determines whether to enable target anomaly mitigation. Target anomaly mitigation is only supported by the `weightedRandom` load balancing algorithm type. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#automatic-target-weights) for more information. The value is `"on"` or `"off"`. The default is `"off"`.
        Returns:
        builder
      • loadBalancingCrossZoneEnabled

        public TargetGroupState.Builder loadBalancingCrossZoneEnabled​(@Nullable
                                                                      com.pulumi.core.Output<java.lang.String> loadBalancingCrossZoneEnabled)
        Parameters:
        loadBalancingCrossZoneEnabled - Indicates whether cross zone load balancing is enabled. The value is `"true"`, `"false"` or `"useLoadBalancerConfiguration"`. The default is `"useLoadBalancerConfiguration"`.
        Returns:
        builder
      • loadBalancingCrossZoneEnabled

        public TargetGroupState.Builder loadBalancingCrossZoneEnabled​(java.lang.String loadBalancingCrossZoneEnabled)
        Parameters:
        loadBalancingCrossZoneEnabled - Indicates whether cross zone load balancing is enabled. The value is `"true"`, `"false"` or `"useLoadBalancerConfiguration"`. The default is `"useLoadBalancerConfiguration"`.
        Returns:
        builder
      • name

        public TargetGroupState.Builder name​(@Nullable
                                             com.pulumi.core.Output<java.lang.String> name)
        Parameters:
        name - Name of the target group. If omitted, this provider will assign a random, unique name. 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.
        Returns:
        builder
      • name

        public TargetGroupState.Builder name​(java.lang.String name)
        Parameters:
        name - Name of the target group. If omitted, this provider will assign a random, unique name. 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.
        Returns:
        builder
      • namePrefix

        public TargetGroupState.Builder namePrefix​(@Nullable
                                                   com.pulumi.core.Output<java.lang.String> namePrefix)
        Parameters:
        namePrefix - Creates a unique name beginning with the specified prefix. Conflicts with `name`. Cannot be longer than 6 characters.
        Returns:
        builder
      • namePrefix

        public TargetGroupState.Builder namePrefix​(java.lang.String namePrefix)
        Parameters:
        namePrefix - Creates a unique name beginning with the specified prefix. Conflicts with `name`. Cannot be longer than 6 characters.
        Returns:
        builder
      • port

        public TargetGroupState.Builder port​(@Nullable
                                             com.pulumi.core.Output<java.lang.Integer> port)
        Parameters:
        port - Port on which targets receive traffic, unless overridden when registering a specific target. Required when `targetType` is `instance`, `ip` or `alb`. Does not apply when `targetType` is `lambda`.
        Returns:
        builder
      • port

        public TargetGroupState.Builder port​(java.lang.Integer port)
        Parameters:
        port - Port on which targets receive traffic, unless overridden when registering a specific target. Required when `targetType` is `instance`, `ip` or `alb`. Does not apply when `targetType` is `lambda`.
        Returns:
        builder
      • preserveClientIp

        public TargetGroupState.Builder preserveClientIp​(@Nullable
                                                         com.pulumi.core.Output<java.lang.String> preserveClientIp)
        Parameters:
        preserveClientIp - Whether client IP preservation is enabled. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#client-ip-preservation) for more information.
        Returns:
        builder
      • preserveClientIp

        public TargetGroupState.Builder preserveClientIp​(java.lang.String preserveClientIp)
        Parameters:
        preserveClientIp - Whether client IP preservation is enabled. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#client-ip-preservation) for more information.
        Returns:
        builder
      • protocol

        public TargetGroupState.Builder protocol​(@Nullable
                                                 com.pulumi.core.Output<java.lang.String> protocol)
        Parameters:
        protocol - Protocol to use for routing traffic to the targets. Should be one of `GENEVE`, `HTTP`, `HTTPS`, `TCP`, `TCP_UDP`, `TLS`, `UDP`, `QUIC`, or `TCP_QUIC`. Required when `targetType` is `instance`, `ip`, or `alb`. Does not apply when `targetType` is `lambda`.
        Returns:
        builder
      • protocol

        public TargetGroupState.Builder protocol​(java.lang.String protocol)
        Parameters:
        protocol - Protocol to use for routing traffic to the targets. Should be one of `GENEVE`, `HTTP`, `HTTPS`, `TCP`, `TCP_UDP`, `TLS`, `UDP`, `QUIC`, or `TCP_QUIC`. Required when `targetType` is `instance`, `ip`, or `alb`. Does not apply when `targetType` is `lambda`.
        Returns:
        builder
      • protocolVersion

        public TargetGroupState.Builder protocolVersion​(@Nullable
                                                        com.pulumi.core.Output<java.lang.String> protocolVersion)
        Parameters:
        protocolVersion - Only applicable when `protocol` is `HTTP` or `HTTPS`. The protocol version. Specify `GRPC` to send requests to targets using gRPC. Specify `HTTP2` to send requests to targets using HTTP/2. The default is `HTTP1`, which sends requests to targets using HTTP/1.1
        Returns:
        builder
      • protocolVersion

        public TargetGroupState.Builder protocolVersion​(java.lang.String protocolVersion)
        Parameters:
        protocolVersion - Only applicable when `protocol` is `HTTP` or `HTTPS`. The protocol version. Specify `GRPC` to send requests to targets using gRPC. Specify `HTTP2` to send requests to targets using HTTP/2. The default is `HTTP1`, which sends requests to targets using HTTP/1.1
        Returns:
        builder
      • proxyProtocolV2

        public TargetGroupState.Builder proxyProtocolV2​(@Nullable
                                                        com.pulumi.core.Output<java.lang.Boolean> proxyProtocolV2)
        Parameters:
        proxyProtocolV2 - Whether to enable support for proxy protocol v2 on Network Load Balancers. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#proxy-protocol) for more information. Default is `false`.
        Returns:
        builder
      • proxyProtocolV2

        public TargetGroupState.Builder proxyProtocolV2​(java.lang.Boolean proxyProtocolV2)
        Parameters:
        proxyProtocolV2 - Whether to enable support for proxy protocol v2 on Network Load Balancers. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#proxy-protocol) for more information. Default is `false`.
        Returns:
        builder
      • region

        public TargetGroupState.Builder region​(@Nullable
                                               com.pulumi.core.Output<java.lang.String> region)
        Parameters:
        region - Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
        Returns:
        builder
      • region

        public TargetGroupState.Builder region​(java.lang.String region)
        Parameters:
        region - Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
        Returns:
        builder
      • slowStart

        public TargetGroupState.Builder slowStart​(@Nullable
                                                  com.pulumi.core.Output<java.lang.Integer> slowStart)
        Parameters:
        slowStart - Amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds.
        Returns:
        builder
      • slowStart

        public TargetGroupState.Builder slowStart​(java.lang.Integer slowStart)
        Parameters:
        slowStart - Amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds.
        Returns:
        builder
      • tags

        public TargetGroupState.Builder tags​(@Nullable
                                             com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tags)
        Parameters:
        tags - Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
        Returns:
        builder
      • tags

        public TargetGroupState.Builder tags​(java.util.Map<java.lang.String,​java.lang.String> tags)
        Parameters:
        tags - Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
        Returns:
        builder
      • tagsAll

        public TargetGroupState.Builder tagsAll​(@Nullable
                                                com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tagsAll)
        Parameters:
        tagsAll - A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
        Returns:
        builder
      • tagsAll

        public TargetGroupState.Builder tagsAll​(java.util.Map<java.lang.String,​java.lang.String> tagsAll)
        Parameters:
        tagsAll - A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
        Returns:
        builder
      • targetControlPort

        public TargetGroupState.Builder targetControlPort​(@Nullable
                                                          com.pulumi.core.Output<java.lang.Integer> targetControlPort)
        Parameters:
        targetControlPort - Port on which the target control agent and application load balancer exchange management traffic for the target optimizer feature. Only applicable for Application Load Balancer target groups when `targetType` is `instance` or `ip`.
        Returns:
        builder
      • targetControlPort

        public TargetGroupState.Builder targetControlPort​(java.lang.Integer targetControlPort)
        Parameters:
        targetControlPort - Port on which the target control agent and application load balancer exchange management traffic for the target optimizer feature. Only applicable for Application Load Balancer target groups when `targetType` is `instance` or `ip`.
        Returns:
        builder
      • targetFailovers

        public TargetGroupState.Builder targetFailovers​(@Nullable
                                                        com.pulumi.core.Output<java.util.List<TargetGroupTargetFailoverArgs>> targetFailovers)
        Parameters:
        targetFailovers - Target failover block. Only applicable for Gateway Load Balancer target groups. See targetFailover for more information.
        Returns:
        builder
      • targetFailovers

        public TargetGroupState.Builder targetFailovers​(java.util.List<TargetGroupTargetFailoverArgs> targetFailovers)
        Parameters:
        targetFailovers - Target failover block. Only applicable for Gateway Load Balancer target groups. See targetFailover for more information.
        Returns:
        builder
      • targetFailovers

        public TargetGroupState.Builder targetFailovers​(TargetGroupTargetFailoverArgs... targetFailovers)
        Parameters:
        targetFailovers - Target failover block. Only applicable for Gateway Load Balancer target groups. See targetFailover for more information.
        Returns:
        builder
      • targetGroupHealth

        public TargetGroupState.Builder targetGroupHealth​(@Nullable
                                                          com.pulumi.core.Output<TargetGroupTargetGroupHealthArgs> targetGroupHealth)
        Parameters:
        targetGroupHealth - Target health requirements block. See targetGroupHealth for more information.
        Returns:
        builder
      • targetHealthStates

        public TargetGroupState.Builder targetHealthStates​(@Nullable
                                                           com.pulumi.core.Output<java.util.List<TargetGroupTargetHealthStateArgs>> targetHealthStates)
        Parameters:
        targetHealthStates - Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See targetHealthState for more information.
        Returns:
        builder
      • targetHealthStates

        public TargetGroupState.Builder targetHealthStates​(java.util.List<TargetGroupTargetHealthStateArgs> targetHealthStates)
        Parameters:
        targetHealthStates - Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See targetHealthState for more information.
        Returns:
        builder
      • targetHealthStates

        public TargetGroupState.Builder targetHealthStates​(TargetGroupTargetHealthStateArgs... targetHealthStates)
        Parameters:
        targetHealthStates - Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See targetHealthState for more information.
        Returns:
        builder
      • targetType

        public TargetGroupState.Builder targetType​(@Nullable
                                                   com.pulumi.core.Output<java.lang.String> targetType)
        Parameters:
        targetType - Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. Note that you can't specify targets for a target group using both instance IDs and IP addresses. If the target type is `ip`, specify IP addresses from the subnets of the VPC for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses. Network Load Balancers do not support the `lambda` target type. Application Load Balancers do not support the `alb` target type.
        Returns:
        builder
      • targetType

        public TargetGroupState.Builder targetType​(java.lang.String targetType)
        Parameters:
        targetType - Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. Note that you can't specify targets for a target group using both instance IDs and IP addresses. If the target type is `ip`, specify IP addresses from the subnets of the VPC for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses. Network Load Balancers do not support the `lambda` target type. Application Load Balancers do not support the `alb` target type.
        Returns:
        builder
      • vpcId

        public TargetGroupState.Builder vpcId​(@Nullable
                                              com.pulumi.core.Output<java.lang.String> vpcId)
        Parameters:
        vpcId - Identifier of the VPC in which to create the target group. Required when `targetType` is `instance`, `ip` or `alb`. Does not apply when `targetType` is `lambda`.
        Returns:
        builder
      • vpcId

        public TargetGroupState.Builder vpcId​(java.lang.String vpcId)
        Parameters:
        vpcId - Identifier of the VPC in which to create the target group. Required when `targetType` is `instance`, `ip` or `alb`. Does not apply when `targetType` is `lambda`.
        Returns:
        builder