Class TargetGroupArgs.Builder

  • Enclosing class:
    TargetGroupArgs

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

      • Builder

        public Builder()
    • Method Detail

      • connectionTermination

        public TargetGroupArgs.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 TargetGroupArgs.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 TargetGroupArgs.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 TargetGroupArgs.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 TargetGroupArgs.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 TargetGroupArgs.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 TargetGroupArgs.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 `target_type` is `lambda`. Default is `false`.
        Returns:
        builder
      • lambdaMultiValueHeadersEnabled

        public TargetGroupArgs.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 `target_type` is `lambda`. Default is `false`.
        Returns:
        builder
      • loadBalancingAlgorithmType

        public TargetGroupArgs.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 `round_robin` or `least_outstanding_requests`. The default is `round_robin`.
        Returns:
        builder
      • loadBalancingAlgorithmType

        public TargetGroupArgs.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 `round_robin` or `least_outstanding_requests`. The default is `round_robin`.
        Returns:
        builder
      • loadBalancingCrossZoneEnabled

        public TargetGroupArgs.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 `"use_load_balancer_configuration"`. The default is `"use_load_balancer_configuration"`.
        Returns:
        builder
      • loadBalancingCrossZoneEnabled

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

        public TargetGroupArgs.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 TargetGroupArgs.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 TargetGroupArgs.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 TargetGroupArgs.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 TargetGroupArgs.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 `target_type` is `instance`, `ip` or `alb`. Does not apply when `target_type` is `lambda`.
        Returns:
        builder
      • port

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

        public TargetGroupArgs.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 TargetGroupArgs.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 TargetGroupArgs.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`, or `UDP`. Required when `target_type` is `instance`, `ip`, or `alb`. Does not apply when `target_type` is `lambda`.
        Returns:
        builder
      • protocol

        public TargetGroupArgs.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`, or `UDP`. Required when `target_type` is `instance`, `ip`, or `alb`. Does not apply when `target_type` is `lambda`.
        Returns:
        builder
      • protocolVersion

        public TargetGroupArgs.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 TargetGroupArgs.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 TargetGroupArgs.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 TargetGroupArgs.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
      • slowStart

        public TargetGroupArgs.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 TargetGroupArgs.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 TargetGroupArgs.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 `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
        Returns:
        builder
      • tags

        public TargetGroupArgs.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 `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
        Returns:
        builder
      • targetFailovers

        public TargetGroupArgs.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 target_failover for more information.
        Returns:
        builder
      • targetFailovers

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

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

        public TargetGroupArgs.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 target_health_state for more information.
        Returns:
        builder
      • targetHealthStates

        public TargetGroupArgs.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 target_health_state for more information.
        Returns:
        builder
      • targetHealthStates

        public TargetGroupArgs.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 target_health_state for more information.
        Returns:
        builder
      • targetType

        public TargetGroupArgs.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 virtual private cloud (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 TargetGroupArgs.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 virtual private cloud (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 TargetGroupArgs.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 `target_type` is `instance`, `ip` or `alb`. Does not apply when `target_type` is `lambda`.
        Returns:
        builder
      • vpcId

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