Class LoadBalancerState


  • public final class LoadBalancerState
    extends com.pulumi.resources.ResourceArgs
    • Method Detail

      • accessLogs

        public java.util.Optional<com.pulumi.core.Output<LoadBalancerAccessLogsArgs>> accessLogs()
        Returns:
        Access Logs block. See below.
      • arn

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> arn()
        Returns:
        ARN of the load balancer (matches `id`).
      • arnSuffix

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> arnSuffix()
        Returns:
        ARN suffix for use with CloudWatch Metrics.
      • clientKeepAlive

        public java.util.Optional<com.pulumi.core.Output<java.lang.Integer>> clientKeepAlive()
        Returns:
        Client keep alive value in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.
      • connectionLogs

        public java.util.Optional<com.pulumi.core.Output<LoadBalancerConnectionLogsArgs>> connectionLogs()
        Returns:
        Connection Logs block. See below. Only valid for Load Balancers of type `application`.
      • customerOwnedIpv4Pool

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> customerOwnedIpv4Pool()
        Returns:
        ID of the customer owned ipv4 pool to use for this load balancer.
      • desyncMitigationMode

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> desyncMitigationMode()
        Returns:
        How the load balancer handles requests that might pose a security risk to an application due to HTTP desync. Valid values are `monitor`, `defensive` (default), `strictest`.
      • dnsName

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> dnsName()
        Returns:
        DNS name of the load balancer.
      • dnsRecordClientRoutingPolicy

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> dnsRecordClientRoutingPolicy()
        Returns:
        How traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers.
      • dropInvalidHeaderFields

        public java.util.Optional<com.pulumi.core.Output<java.lang.Boolean>> dropInvalidHeaderFields()
        Returns:
        Whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`.
      • enableCrossZoneLoadBalancing

        public java.util.Optional<com.pulumi.core.Output<java.lang.Boolean>> enableCrossZoneLoadBalancing()
        Returns:
        If true, cross-zone load balancing of the load balancer will be enabled. For `network` and `gateway` type load balancers, this feature is disabled by default (`false`). For `application` load balancer this feature is always enabled (`true`) and cannot be disabled. Defaults to `false`.
      • enableDeletionProtection

        public java.util.Optional<com.pulumi.core.Output<java.lang.Boolean>> enableDeletionProtection()
        Returns:
        If true, deletion of the load balancer will be disabled via the AWS API. This will prevent this provider from deleting the load balancer. Defaults to `false`.
      • enableHttp2

        public java.util.Optional<com.pulumi.core.Output<java.lang.Boolean>> enableHttp2()
        Returns:
        Whether HTTP/2 is enabled in `application` load balancers. Defaults to `true`.
      • enableTlsVersionAndCipherSuiteHeaders

        public java.util.Optional<com.pulumi.core.Output<java.lang.Boolean>> enableTlsVersionAndCipherSuiteHeaders()
        Returns:
        Whether the two headers (`x-amzn-tls-version` and `x-amzn-tls-cipher-suite`), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. Only valid for Load Balancers of type `application`. Defaults to `false`
      • enableWafFailOpen

        public java.util.Optional<com.pulumi.core.Output<java.lang.Boolean>> enableWafFailOpen()
        Returns:
        Whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. Defaults to `false`.
      • enableXffClientPort

        public java.util.Optional<com.pulumi.core.Output<java.lang.Boolean>> enableXffClientPort()
        Returns:
        Whether the X-Forwarded-For header should preserve the source port that the client used to connect to the load balancer in `application` load balancers. Defaults to `false`.
      • enforceSecurityGroupInboundRulesOnPrivateLinkTraffic

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> enforceSecurityGroupInboundRulesOnPrivateLinkTraffic()
        Returns:
        Whether inbound security group rules are enforced for traffic originating from a PrivateLink. Only valid for Load Balancers of type `network`. The possible values are `on` and `off`.
      • idleTimeout

        public java.util.Optional<com.pulumi.core.Output<java.lang.Integer>> idleTimeout()
        Returns:
        Time in seconds that the connection is allowed to be idle. Only valid for Load Balancers of type `application`. Default: 60.
      • internal

        public java.util.Optional<com.pulumi.core.Output<java.lang.Boolean>> internal()
        Returns:
        If true, the LB will be internal. Defaults to `false`.
      • ipAddressType

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> ipAddressType()
        Returns:
        Type of IP addresses used by the subnets for your load balancer. The possible values depend upon the load balancer type: `ipv4` (all load balancer types), `dualstack` (all load balancer types), and `dualstack-without-public-ipv4` (type `application` only).
      • loadBalancerType

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> loadBalancerType()
        Returns:
        Type of load balancer to create. Possible values are `application`, `gateway`, or `network`. The default value is `application`.
      • name

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> name()
        Returns:
        Name of the LB. This name must be unique within your AWS account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen. If not specified, this provider will autogenerate a name beginning with `tf-lb`.
      • namePrefix

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> namePrefix()
        Returns:
        Creates a unique name beginning with the specified prefix. Conflicts with `name`.
      • preserveHostHeader

        public java.util.Optional<com.pulumi.core.Output<java.lang.Boolean>> preserveHostHeader()
        Returns:
        Whether the Application Load Balancer should preserve the Host header in the HTTP request and send it to the target without any change. Defaults to `false`.
      • securityGroups

        public java.util.Optional<com.pulumi.core.Output<java.util.List<java.lang.String>>> securityGroups()
        Returns:
        List of security group IDs to assign to the LB. Only valid for Load Balancers of type `application` or `network`. For load balancers of type `network` security groups cannot be added if none are currently present, and cannot all be removed once added. If either of these conditions are met, this will force a recreation of the resource.
      • subnetMappings

        public java.util.Optional<com.pulumi.core.Output<java.util.List<LoadBalancerSubnetMappingArgs>>> subnetMappings()
        Returns:
        Subnet mapping block. See below. For Load Balancers of type `network` subnet mappings can only be added.
      • subnets

        public java.util.Optional<com.pulumi.core.Output<java.util.List<java.lang.String>>> subnets()
        Returns:
        List of subnet IDs to attach to the LB. For Load Balancers of type `network` subnets can only be added (see [Availability Zones](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#availability-zones)), deleting a subnet for load balancers of type `network` will force a recreation of the resource.
      • tags

        public java.util.Optional<com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>>> tags()
        Returns:
        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.
      • tagsAll

        @Deprecated
        public java.util.Optional<com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>>> tagsAll()
        Deprecated.
        Please use `tags` instead.
        Returns:
        Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
      • vpcId

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> vpcId()
      • xffHeaderProcessingMode

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> xffHeaderProcessingMode()
        Returns:
        Determines how the load balancer modifies the `X-Forwarded-For` header in the HTTP request before sending the request to the target. The possible values are `append`, `preserve`, and `remove`. Only valid for Load Balancers of type `application`. The default is `append`.
      • zoneId

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> zoneId()
        Returns:
        Canonical hosted zone ID of the load balancer (to be used in a Route 53 Alias record).