1. Packages
  2. AWSx (Pulumi Crosswalk for AWS)
  3. API Docs
  4. lb
  5. ApplicationLoadBalancer
AWSx (Pulumi Crosswalk for AWS) v2.5.0 published on Tuesday, Jan 30, 2024 by Pulumi

awsx.lb.ApplicationLoadBalancer

Explore with Pulumi AI

awsx logo
AWSx (Pulumi Crosswalk for AWS) v2.5.0 published on Tuesday, Jan 30, 2024 by Pulumi

    Provides an Application Load Balancer resource with listeners, default target group and default security group.

    Create ApplicationLoadBalancer Resource

    new ApplicationLoadBalancer(name: string, args?: ApplicationLoadBalancerArgs, opts?: CustomResourceOptions);
    @overload
    def ApplicationLoadBalancer(resource_name: str,
                                opts: Optional[ResourceOptions] = None,
                                access_logs: Optional[pulumi_aws.lb.LoadBalancerAccessLogsArgs] = None,
                                customer_owned_ipv4_pool: Optional[str] = None,
                                default_security_group: Optional[_awsx.DefaultSecurityGroupArgs] = None,
                                default_target_group: Optional[TargetGroupArgs] = None,
                                default_target_group_port: Optional[int] = None,
                                desync_mitigation_mode: Optional[str] = None,
                                dns_record_client_routing_policy: Optional[str] = None,
                                drop_invalid_header_fields: Optional[bool] = None,
                                enable_deletion_protection: Optional[bool] = None,
                                enable_http2: Optional[bool] = None,
                                enable_tls_version_and_cipher_suite_headers: Optional[bool] = None,
                                enable_waf_fail_open: Optional[bool] = None,
                                enable_xff_client_port: Optional[bool] = None,
                                idle_timeout: Optional[int] = None,
                                internal: Optional[bool] = None,
                                ip_address_type: Optional[str] = None,
                                listener: Optional[ListenerArgs] = None,
                                listeners: Optional[Sequence[ListenerArgs]] = None,
                                name: Optional[str] = None,
                                name_prefix: Optional[str] = None,
                                preserve_host_header: Optional[bool] = None,
                                security_groups: Optional[Sequence[str]] = None,
                                subnet_ids: Optional[Sequence[str]] = None,
                                subnet_mappings: Optional[Sequence[pulumi_aws.lb.LoadBalancerSubnetMappingArgs]] = None,
                                subnets: Optional[Sequence[pulumi_aws.ec2.Subnet]] = None,
                                tags: Optional[Mapping[str, str]] = None,
                                xff_header_processing_mode: Optional[str] = None)
    @overload
    def ApplicationLoadBalancer(resource_name: str,
                                args: Optional[ApplicationLoadBalancerArgs] = None,
                                opts: Optional[ResourceOptions] = None)
    func NewApplicationLoadBalancer(ctx *Context, name string, args *ApplicationLoadBalancerArgs, opts ...ResourceOption) (*ApplicationLoadBalancer, error)
    public ApplicationLoadBalancer(string name, ApplicationLoadBalancerArgs? args = null, CustomResourceOptions? opts = null)
    public ApplicationLoadBalancer(String name, ApplicationLoadBalancerArgs args)
    public ApplicationLoadBalancer(String name, ApplicationLoadBalancerArgs args, CustomResourceOptions options)
    
    type: awsx:lb:ApplicationLoadBalancer
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    name string
    The unique name of the resource.
    args ApplicationLoadBalancerArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args ApplicationLoadBalancerArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args ApplicationLoadBalancerArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ApplicationLoadBalancerArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ApplicationLoadBalancerArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    ApplicationLoadBalancer Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The ApplicationLoadBalancer resource accepts the following input properties:

    AccessLogs Pulumi.Aws.LB.Inputs.LoadBalancerAccessLogs
    An Access Logs block. Access Logs documented below.
    CustomerOwnedIpv4Pool string
    The ID of the customer owned ipv4 pool to use for this load balancer.
    DefaultSecurityGroup Pulumi.Awsx.Awsx.Inputs.DefaultSecurityGroup
    Options for creating a default security group if [securityGroups] not specified.
    DefaultTargetGroup Pulumi.Awsx.Lb.Inputs.TargetGroup
    Options creating a default target group.
    DefaultTargetGroupPort int
    Port to use to connect with the target. Valid values are ports 1-65535. Defaults to 80.
    DesyncMitigationMode string
    Determines 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.
    DnsRecordClientRoutingPolicy string
    Indicates 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 for additional details. Only valid for network type load balancers.
    DropInvalidHeaderFields bool
    Indicates 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.
    EnableDeletionProtection bool
    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 bool
    Indicates whether HTTP/2 is enabled in application load balancers. Defaults to true.
    EnableTlsVersionAndCipherSuiteHeaders bool
    Indicates 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 bool
    Indicates 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 bool
    Indicates 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.
    IdleTimeout int
    The time in seconds that the connection is allowed to be idle. Only valid for Load Balancers of type application. Default: 60.
    Internal bool
    If true, the LB will be internal. Defaults to false.
    IpAddressType string
    The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 and dualstack.
    Listener Pulumi.Awsx.Lb.Inputs.Listener
    A listener to create. Only one of [listener] and [listeners] can be specified.
    Listeners List<Pulumi.Awsx.Lb.Inputs.Listener>
    List of listeners to create. Only one of [listener] and [listeners] can be specified.
    Name string
    The 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 string
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    PreserveHostHeader bool
    Indicates 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 List<string>
    A 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.
    SubnetIds List<string>
    A list of subnet IDs to attach to the LB. Subnets cannot be updated for Load Balancers of type network. Changing this value for load balancers of type network will force a recreation of the resource.
    SubnetMappings List<Pulumi.Aws.LB.Inputs.LoadBalancerSubnetMapping>
    A subnet mapping block as documented below.
    Subnets List<Pulumi.Aws.Ec2.Subnet>
    A list of subnets to attach to the LB. Only one of [subnets], [subnetIds] or [subnetMappings] can be specified
    Tags Dictionary<string, string>
    A 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.
    XffHeaderProcessingMode string
    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.
    AccessLogs LoadBalancerAccessLogsArgs
    An Access Logs block. Access Logs documented below.
    CustomerOwnedIpv4Pool string
    The ID of the customer owned ipv4 pool to use for this load balancer.
    DefaultSecurityGroup DefaultSecurityGroupArgs
    Options for creating a default security group if [securityGroups] not specified.
    DefaultTargetGroup TargetGroupArgs
    Options creating a default target group.
    DefaultTargetGroupPort int
    Port to use to connect with the target. Valid values are ports 1-65535. Defaults to 80.
    DesyncMitigationMode string
    Determines 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.
    DnsRecordClientRoutingPolicy string
    Indicates 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 for additional details. Only valid for network type load balancers.
    DropInvalidHeaderFields bool
    Indicates 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.
    EnableDeletionProtection bool
    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 bool
    Indicates whether HTTP/2 is enabled in application load balancers. Defaults to true.
    EnableTlsVersionAndCipherSuiteHeaders bool
    Indicates 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 bool
    Indicates 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 bool
    Indicates 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.
    IdleTimeout int
    The time in seconds that the connection is allowed to be idle. Only valid for Load Balancers of type application. Default: 60.
    Internal bool
    If true, the LB will be internal. Defaults to false.
    IpAddressType string
    The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 and dualstack.
    Listener ListenerArgs
    A listener to create. Only one of [listener] and [listeners] can be specified.
    Listeners []ListenerArgs
    List of listeners to create. Only one of [listener] and [listeners] can be specified.
    Name string
    The 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 string
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    PreserveHostHeader bool
    Indicates 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 []string
    A 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.
    SubnetIds []string
    A list of subnet IDs to attach to the LB. Subnets cannot be updated for Load Balancers of type network. Changing this value for load balancers of type network will force a recreation of the resource.
    SubnetMappings LoadBalancerSubnetMappingArgs
    A subnet mapping block as documented below.
    Subnets Subnet
    A list of subnets to attach to the LB. Only one of [subnets], [subnetIds] or [subnetMappings] can be specified
    Tags map[string]string
    A 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.
    XffHeaderProcessingMode string
    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.
    accessLogs LoadBalancerAccessLogs
    An Access Logs block. Access Logs documented below.
    customerOwnedIpv4Pool String
    The ID of the customer owned ipv4 pool to use for this load balancer.
    defaultSecurityGroup DefaultSecurityGroup
    Options for creating a default security group if [securityGroups] not specified.
    defaultTargetGroup TargetGroup
    Options creating a default target group.
    defaultTargetGroupPort Integer
    Port to use to connect with the target. Valid values are ports 1-65535. Defaults to 80.
    desyncMitigationMode String
    Determines 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.
    dnsRecordClientRoutingPolicy String
    Indicates 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 for additional details. Only valid for network type load balancers.
    dropInvalidHeaderFields Boolean
    Indicates 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.
    enableDeletionProtection Boolean
    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 Boolean
    Indicates whether HTTP/2 is enabled in application load balancers. Defaults to true.
    enableTlsVersionAndCipherSuiteHeaders Boolean
    Indicates 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 Boolean
    Indicates 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 Boolean
    Indicates 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.
    idleTimeout Integer
    The time in seconds that the connection is allowed to be idle. Only valid for Load Balancers of type application. Default: 60.
    internal Boolean
    If true, the LB will be internal. Defaults to false.
    ipAddressType String
    The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 and dualstack.
    listener Listener
    A listener to create. Only one of [listener] and [listeners] can be specified.
    listeners List<Listener>
    List of listeners to create. Only one of [listener] and [listeners] can be specified.
    name String
    The 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 String
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    preserveHostHeader Boolean
    Indicates 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 List<String>
    A 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.
    subnetIds List<String>
    A list of subnet IDs to attach to the LB. Subnets cannot be updated for Load Balancers of type network. Changing this value for load balancers of type network will force a recreation of the resource.
    subnetMappings List<LoadBalancerSubnetMapping>
    A subnet mapping block as documented below.
    subnets List<Subnet>
    A list of subnets to attach to the LB. Only one of [subnets], [subnetIds] or [subnetMappings] can be specified
    tags Map<String,String>
    A 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.
    xffHeaderProcessingMode String
    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.
    accessLogs pulumiAws.types.input.LoadBalancerAccessLogs
    An Access Logs block. Access Logs documented below.
    customerOwnedIpv4Pool string
    The ID of the customer owned ipv4 pool to use for this load balancer.
    defaultSecurityGroup awsx.DefaultSecurityGroup
    Options for creating a default security group if [securityGroups] not specified.
    defaultTargetGroup TargetGroup
    Options creating a default target group.
    defaultTargetGroupPort number
    Port to use to connect with the target. Valid values are ports 1-65535. Defaults to 80.
    desyncMitigationMode string
    Determines 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.
    dnsRecordClientRoutingPolicy string
    Indicates 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 for additional details. Only valid for network type load balancers.
    dropInvalidHeaderFields boolean
    Indicates 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.
    enableDeletionProtection boolean
    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 boolean
    Indicates whether HTTP/2 is enabled in application load balancers. Defaults to true.
    enableTlsVersionAndCipherSuiteHeaders boolean
    Indicates 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 boolean
    Indicates 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 boolean
    Indicates 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.
    idleTimeout number
    The time in seconds that the connection is allowed to be idle. Only valid for Load Balancers of type application. Default: 60.
    internal boolean
    If true, the LB will be internal. Defaults to false.
    ipAddressType string
    The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 and dualstack.
    listener Listener
    A listener to create. Only one of [listener] and [listeners] can be specified.
    listeners Listener[]
    List of listeners to create. Only one of [listener] and [listeners] can be specified.
    name string
    The 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 string
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    preserveHostHeader boolean
    Indicates 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 string[]
    A 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.
    subnetIds string[]
    A list of subnet IDs to attach to the LB. Subnets cannot be updated for Load Balancers of type network. Changing this value for load balancers of type network will force a recreation of the resource.
    subnetMappings pulumiAws.types.input.LoadBalancerSubnetMapping[]
    A subnet mapping block as documented below.
    subnets pulumiAws.ec2.Subnet[]
    A list of subnets to attach to the LB. Only one of [subnets], [subnetIds] or [subnetMappings] can be specified
    tags {[key: string]: string}
    A 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.
    xffHeaderProcessingMode string
    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.
    access_logs LoadBalancerAccessLogsArgs
    An Access Logs block. Access Logs documented below.
    customer_owned_ipv4_pool str
    The ID of the customer owned ipv4 pool to use for this load balancer.
    default_security_group DefaultSecurityGroupArgs
    Options for creating a default security group if [securityGroups] not specified.
    default_target_group TargetGroupArgs
    Options creating a default target group.
    default_target_group_port int
    Port to use to connect with the target. Valid values are ports 1-65535. Defaults to 80.
    desync_mitigation_mode str
    Determines 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.
    dns_record_client_routing_policy str
    Indicates 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 for additional details. Only valid for network type load balancers.
    drop_invalid_header_fields bool
    Indicates 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.
    enable_deletion_protection bool
    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.
    enable_http2 bool
    Indicates whether HTTP/2 is enabled in application load balancers. Defaults to true.
    enable_tls_version_and_cipher_suite_headers bool
    Indicates 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
    enable_waf_fail_open bool
    Indicates 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.
    enable_xff_client_port bool
    Indicates 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.
    idle_timeout int
    The time in seconds that the connection is allowed to be idle. Only valid for Load Balancers of type application. Default: 60.
    internal bool
    If true, the LB will be internal. Defaults to false.
    ip_address_type str
    The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 and dualstack.
    listener ListenerArgs
    A listener to create. Only one of [listener] and [listeners] can be specified.
    listeners Sequence[ListenerArgs]
    List of listeners to create. Only one of [listener] and [listeners] can be specified.
    name str
    The 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.
    name_prefix str
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    preserve_host_header bool
    Indicates 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.
    security_groups Sequence[str]
    A 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.
    subnet_ids Sequence[str]
    A list of subnet IDs to attach to the LB. Subnets cannot be updated for Load Balancers of type network. Changing this value for load balancers of type network will force a recreation of the resource.
    subnet_mappings LoadBalancerSubnetMappingArgs]
    A subnet mapping block as documented below.
    subnets Subnet]
    A list of subnets to attach to the LB. Only one of [subnets], [subnetIds] or [subnetMappings] can be specified
    tags Mapping[str, str]
    A 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.
    xff_header_processing_mode str
    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.
    accessLogs Property Map
    An Access Logs block. Access Logs documented below.
    customerOwnedIpv4Pool String
    The ID of the customer owned ipv4 pool to use for this load balancer.
    defaultSecurityGroup Property Map
    Options for creating a default security group if [securityGroups] not specified.
    defaultTargetGroup Property Map
    Options creating a default target group.
    defaultTargetGroupPort Number
    Port to use to connect with the target. Valid values are ports 1-65535. Defaults to 80.
    desyncMitigationMode String
    Determines 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.
    dnsRecordClientRoutingPolicy String
    Indicates 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 for additional details. Only valid for network type load balancers.
    dropInvalidHeaderFields Boolean
    Indicates 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.
    enableDeletionProtection Boolean
    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 Boolean
    Indicates whether HTTP/2 is enabled in application load balancers. Defaults to true.
    enableTlsVersionAndCipherSuiteHeaders Boolean
    Indicates 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 Boolean
    Indicates 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 Boolean
    Indicates 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.
    idleTimeout Number
    The time in seconds that the connection is allowed to be idle. Only valid for Load Balancers of type application. Default: 60.
    internal Boolean
    If true, the LB will be internal. Defaults to false.
    ipAddressType String
    The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 and dualstack.
    listener Property Map
    A listener to create. Only one of [listener] and [listeners] can be specified.
    listeners List<Property Map>
    List of listeners to create. Only one of [listener] and [listeners] can be specified.
    name String
    The 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 String
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    preserveHostHeader Boolean
    Indicates 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 List<String>
    A 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.
    subnetIds List<String>
    A list of subnet IDs to attach to the LB. Subnets cannot be updated for Load Balancers of type network. Changing this value for load balancers of type network will force a recreation of the resource.
    subnetMappings List<Property Map>
    A subnet mapping block as documented below.
    subnets List<aws:ec2:Subnet>
    A list of subnets to attach to the LB. Only one of [subnets], [subnetIds] or [subnetMappings] can be specified
    tags Map<String>
    A 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.
    xffHeaderProcessingMode String
    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.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the ApplicationLoadBalancer resource produces the following output properties:

    LoadBalancer Pulumi.Aws.LB.LoadBalancer
    Underlying Load Balancer resource
    VpcId string
    Id of the VPC in which this load balancer is operating
    LoadBalancer LoadBalancer
    Underlying Load Balancer resource
    VpcId string
    Id of the VPC in which this load balancer is operating
    loadBalancer LoadBalancer
    Underlying Load Balancer resource
    vpcId String
    Id of the VPC in which this load balancer is operating
    loadBalancer pulumiAws.LoadBalancer
    Underlying Load Balancer resource
    vpcId string
    Id of the VPC in which this load balancer is operating
    load_balancer LoadBalancer
    Underlying Load Balancer resource
    vpc_id str
    Id of the VPC in which this load balancer is operating
    loadBalancer aws::LoadBalancer
    Underlying Load Balancer resource
    vpcId String
    Id of the VPC in which this load balancer is operating

    Supporting Types

    DefaultSecurityGroup, DefaultSecurityGroupArgs

    Args Pulumi.Awsx.Awsx.Inputs.SecurityGroup
    Args to use when creating the security group. Can't be specified if securityGroupId is used.
    SecurityGroupId string
    Id of existing security group to use instead of creating a new security group. Cannot be used in combination with args or opts.
    Skip bool
    Skips creation of the security group if set to true.
    Args SecurityGroup
    Args to use when creating the security group. Can't be specified if securityGroupId is used.
    SecurityGroupId string
    Id of existing security group to use instead of creating a new security group. Cannot be used in combination with args or opts.
    Skip bool
    Skips creation of the security group if set to true.
    args SecurityGroup
    Args to use when creating the security group. Can't be specified if securityGroupId is used.
    securityGroupId String
    Id of existing security group to use instead of creating a new security group. Cannot be used in combination with args or opts.
    skip Boolean
    Skips creation of the security group if set to true.
    args awsx.SecurityGroup
    Args to use when creating the security group. Can't be specified if securityGroupId is used.
    securityGroupId string
    Id of existing security group to use instead of creating a new security group. Cannot be used in combination with args or opts.
    skip boolean
    Skips creation of the security group if set to true.
    args SecurityGroup
    Args to use when creating the security group. Can't be specified if securityGroupId is used.
    security_group_id str
    Id of existing security group to use instead of creating a new security group. Cannot be used in combination with args or opts.
    skip bool
    Skips creation of the security group if set to true.
    args Property Map
    Args to use when creating the security group. Can't be specified if securityGroupId is used.
    securityGroupId String
    Id of existing security group to use instead of creating a new security group. Cannot be used in combination with args or opts.
    skip Boolean
    Skips creation of the security group if set to true.

    Listener, ListenerArgs

    AlpnPolicy string
    Name of the Application-Layer Protocol Negotiation (ALPN) policy. Can be set if protocol is TLS. Valid values are HTTP1Only, HTTP2Only, HTTP2Optional, HTTP2Preferred, and None.
    CertificateArn string
    ARN of the default SSL server certificate. Exactly one certificate is required if the protocol is HTTPS. For adding additional SSL certificates, see the aws.lb.ListenerCertificate resource.
    DefaultActions List<Pulumi.Aws.LB.Inputs.ListenerDefaultAction>
    Configuration block for default actions. Detailed below.
    Port int
    Port on which the load balancer is listening. Not valid for Gateway Load Balancers.
    Protocol string
    Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are HTTP and HTTPS, with a default of HTTP. For Network Load Balancers, valid values are TCP, TLS, UDP, and TCP_UDP. Not valid to use UDP or TCP_UDP if dual-stack mode is enabled. Not valid for Gateway Load Balancers.
    SslPolicy string
    Name of the SSL Policy for the listener. Required if protocol is HTTPS or TLS.
    Tags Dictionary<string, string>

    A 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.

    NOTE:: Please note that listeners that are attached to Application Load Balancers must use either HTTP or HTTPS protocols while listeners that are attached to Network Load Balancers must use the TCP protocol.

    AlpnPolicy string
    Name of the Application-Layer Protocol Negotiation (ALPN) policy. Can be set if protocol is TLS. Valid values are HTTP1Only, HTTP2Only, HTTP2Optional, HTTP2Preferred, and None.
    CertificateArn string
    ARN of the default SSL server certificate. Exactly one certificate is required if the protocol is HTTPS. For adding additional SSL certificates, see the aws.lb.ListenerCertificate resource.
    DefaultActions ListenerDefaultAction
    Configuration block for default actions. Detailed below.
    Port int
    Port on which the load balancer is listening. Not valid for Gateway Load Balancers.
    Protocol string
    Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are HTTP and HTTPS, with a default of HTTP. For Network Load Balancers, valid values are TCP, TLS, UDP, and TCP_UDP. Not valid to use UDP or TCP_UDP if dual-stack mode is enabled. Not valid for Gateway Load Balancers.
    SslPolicy string
    Name of the SSL Policy for the listener. Required if protocol is HTTPS or TLS.
    Tags map[string]string

    A 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.

    NOTE:: Please note that listeners that are attached to Application Load Balancers must use either HTTP or HTTPS protocols while listeners that are attached to Network Load Balancers must use the TCP protocol.

    alpnPolicy String
    Name of the Application-Layer Protocol Negotiation (ALPN) policy. Can be set if protocol is TLS. Valid values are HTTP1Only, HTTP2Only, HTTP2Optional, HTTP2Preferred, and None.
    certificateArn String
    ARN of the default SSL server certificate. Exactly one certificate is required if the protocol is HTTPS. For adding additional SSL certificates, see the aws.lb.ListenerCertificate resource.
    defaultActions List<ListenerDefaultAction>
    Configuration block for default actions. Detailed below.
    port Integer
    Port on which the load balancer is listening. Not valid for Gateway Load Balancers.
    protocol String
    Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are HTTP and HTTPS, with a default of HTTP. For Network Load Balancers, valid values are TCP, TLS, UDP, and TCP_UDP. Not valid to use UDP or TCP_UDP if dual-stack mode is enabled. Not valid for Gateway Load Balancers.
    sslPolicy String
    Name of the SSL Policy for the listener. Required if protocol is HTTPS or TLS.
    tags Map<String,String>

    A 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.

    NOTE:: Please note that listeners that are attached to Application Load Balancers must use either HTTP or HTTPS protocols while listeners that are attached to Network Load Balancers must use the TCP protocol.

    alpnPolicy string
    Name of the Application-Layer Protocol Negotiation (ALPN) policy. Can be set if protocol is TLS. Valid values are HTTP1Only, HTTP2Only, HTTP2Optional, HTTP2Preferred, and None.
    certificateArn string
    ARN of the default SSL server certificate. Exactly one certificate is required if the protocol is HTTPS. For adding additional SSL certificates, see the aws.lb.ListenerCertificate resource.
    defaultActions pulumiAws.types.input.ListenerDefaultAction[]
    Configuration block for default actions. Detailed below.
    port number
    Port on which the load balancer is listening. Not valid for Gateway Load Balancers.
    protocol string
    Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are HTTP and HTTPS, with a default of HTTP. For Network Load Balancers, valid values are TCP, TLS, UDP, and TCP_UDP. Not valid to use UDP or TCP_UDP if dual-stack mode is enabled. Not valid for Gateway Load Balancers.
    sslPolicy string
    Name of the SSL Policy for the listener. Required if protocol is HTTPS or TLS.
    tags {[key: string]: string}

    A 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.

    NOTE:: Please note that listeners that are attached to Application Load Balancers must use either HTTP or HTTPS protocols while listeners that are attached to Network Load Balancers must use the TCP protocol.

    alpn_policy str
    Name of the Application-Layer Protocol Negotiation (ALPN) policy. Can be set if protocol is TLS. Valid values are HTTP1Only, HTTP2Only, HTTP2Optional, HTTP2Preferred, and None.
    certificate_arn str
    ARN of the default SSL server certificate. Exactly one certificate is required if the protocol is HTTPS. For adding additional SSL certificates, see the aws.lb.ListenerCertificate resource.
    default_actions ListenerDefaultActionArgs]
    Configuration block for default actions. Detailed below.
    port int
    Port on which the load balancer is listening. Not valid for Gateway Load Balancers.
    protocol str
    Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are HTTP and HTTPS, with a default of HTTP. For Network Load Balancers, valid values are TCP, TLS, UDP, and TCP_UDP. Not valid to use UDP or TCP_UDP if dual-stack mode is enabled. Not valid for Gateway Load Balancers.
    ssl_policy str
    Name of the SSL Policy for the listener. Required if protocol is HTTPS or TLS.
    tags Mapping[str, str]

    A 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.

    NOTE:: Please note that listeners that are attached to Application Load Balancers must use either HTTP or HTTPS protocols while listeners that are attached to Network Load Balancers must use the TCP protocol.

    alpnPolicy String
    Name of the Application-Layer Protocol Negotiation (ALPN) policy. Can be set if protocol is TLS. Valid values are HTTP1Only, HTTP2Only, HTTP2Optional, HTTP2Preferred, and None.
    certificateArn String
    ARN of the default SSL server certificate. Exactly one certificate is required if the protocol is HTTPS. For adding additional SSL certificates, see the aws.lb.ListenerCertificate resource.
    defaultActions List<Property Map>
    Configuration block for default actions. Detailed below.
    port Number
    Port on which the load balancer is listening. Not valid for Gateway Load Balancers.
    protocol String
    Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are HTTP and HTTPS, with a default of HTTP. For Network Load Balancers, valid values are TCP, TLS, UDP, and TCP_UDP. Not valid to use UDP or TCP_UDP if dual-stack mode is enabled. Not valid for Gateway Load Balancers.
    sslPolicy String
    Name of the SSL Policy for the listener. Required if protocol is HTTPS or TLS.
    tags Map<String>

    A 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.

    NOTE:: Please note that listeners that are attached to Application Load Balancers must use either HTTP or HTTPS protocols while listeners that are attached to Network Load Balancers must use the TCP protocol.

    SecurityGroup, SecurityGroupArgs

    Description string
    Security group description. Defaults to Managed by Pulumi. Cannot be "". NOTE: This field maps to the AWS GroupDescription attribute, for which there is no Update API. If you'd like to classify your security groups in a way that can be updated, use tags.
    Egress List<Pulumi.Aws.Ec2.Inputs.SecurityGroupEgress>
    Configuration block for egress rules. Can be specified multiple times for each egress rule. Each egress block supports fields documented below. This argument is processed in attribute-as-blocks mode.
    Ingress List<Pulumi.Aws.Ec2.Inputs.SecurityGroupIngress>
    Configuration block for ingress rules. Can be specified multiple times for each ingress rule. Each ingress block supports fields documented below. This argument is processed in attribute-as-blocks mode.
    Name string
    Name of the security group. If omitted, the provider will assign a random, unique name.
    NamePrefix string
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    RevokeRulesOnDelete bool
    Instruct the provider to revoke all of the Security Groups attached ingress and egress rules before deleting the rule itself. This is normally not needed, however certain AWS services such as Elastic Map Reduce may automatically add required rules to security groups used with the service, and those rules may contain a cyclic dependency that prevent the security groups from being destroyed without removing the dependency first. Default false.
    Tags Dictionary<string, string>
    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.
    VpcId string
    VPC ID. Defaults to the region's default VPC.
    Description string
    Security group description. Defaults to Managed by Pulumi. Cannot be "". NOTE: This field maps to the AWS GroupDescription attribute, for which there is no Update API. If you'd like to classify your security groups in a way that can be updated, use tags.
    Egress SecurityGroupEgress
    Configuration block for egress rules. Can be specified multiple times for each egress rule. Each egress block supports fields documented below. This argument is processed in attribute-as-blocks mode.
    Ingress SecurityGroupIngress
    Configuration block for ingress rules. Can be specified multiple times for each ingress rule. Each ingress block supports fields documented below. This argument is processed in attribute-as-blocks mode.
    Name string
    Name of the security group. If omitted, the provider will assign a random, unique name.
    NamePrefix string
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    RevokeRulesOnDelete bool
    Instruct the provider to revoke all of the Security Groups attached ingress and egress rules before deleting the rule itself. This is normally not needed, however certain AWS services such as Elastic Map Reduce may automatically add required rules to security groups used with the service, and those rules may contain a cyclic dependency that prevent the security groups from being destroyed without removing the dependency first. Default false.
    Tags map[string]string
    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.
    VpcId string
    VPC ID. Defaults to the region's default VPC.
    description String
    Security group description. Defaults to Managed by Pulumi. Cannot be "". NOTE: This field maps to the AWS GroupDescription attribute, for which there is no Update API. If you'd like to classify your security groups in a way that can be updated, use tags.
    egress List<SecurityGroupEgress>
    Configuration block for egress rules. Can be specified multiple times for each egress rule. Each egress block supports fields documented below. This argument is processed in attribute-as-blocks mode.
    ingress List<SecurityGroupIngress>
    Configuration block for ingress rules. Can be specified multiple times for each ingress rule. Each ingress block supports fields documented below. This argument is processed in attribute-as-blocks mode.
    name String
    Name of the security group. If omitted, the provider will assign a random, unique name.
    namePrefix String
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    revokeRulesOnDelete Boolean
    Instruct the provider to revoke all of the Security Groups attached ingress and egress rules before deleting the rule itself. This is normally not needed, however certain AWS services such as Elastic Map Reduce may automatically add required rules to security groups used with the service, and those rules may contain a cyclic dependency that prevent the security groups from being destroyed without removing the dependency first. Default false.
    tags Map<String,String>
    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.
    vpcId String
    VPC ID. Defaults to the region's default VPC.
    description string
    Security group description. Defaults to Managed by Pulumi. Cannot be "". NOTE: This field maps to the AWS GroupDescription attribute, for which there is no Update API. If you'd like to classify your security groups in a way that can be updated, use tags.
    egress pulumiAws.types.input.ec2.SecurityGroupEgress[]
    Configuration block for egress rules. Can be specified multiple times for each egress rule. Each egress block supports fields documented below. This argument is processed in attribute-as-blocks mode.
    ingress pulumiAws.types.input.ec2.SecurityGroupIngress[]
    Configuration block for ingress rules. Can be specified multiple times for each ingress rule. Each ingress block supports fields documented below. This argument is processed in attribute-as-blocks mode.
    name string
    Name of the security group. If omitted, the provider will assign a random, unique name.
    namePrefix string
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    revokeRulesOnDelete boolean
    Instruct the provider to revoke all of the Security Groups attached ingress and egress rules before deleting the rule itself. This is normally not needed, however certain AWS services such as Elastic Map Reduce may automatically add required rules to security groups used with the service, and those rules may contain a cyclic dependency that prevent the security groups from being destroyed without removing the dependency first. Default false.
    tags {[key: string]: string}
    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.
    vpcId string
    VPC ID. Defaults to the region's default VPC.
    description str
    Security group description. Defaults to Managed by Pulumi. Cannot be "". NOTE: This field maps to the AWS GroupDescription attribute, for which there is no Update API. If you'd like to classify your security groups in a way that can be updated, use tags.
    egress SecurityGroupEgressArgs]
    Configuration block for egress rules. Can be specified multiple times for each egress rule. Each egress block supports fields documented below. This argument is processed in attribute-as-blocks mode.
    ingress SecurityGroupIngressArgs]
    Configuration block for ingress rules. Can be specified multiple times for each ingress rule. Each ingress block supports fields documented below. This argument is processed in attribute-as-blocks mode.
    name str
    Name of the security group. If omitted, the provider will assign a random, unique name.
    name_prefix str
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    revoke_rules_on_delete bool
    Instruct the provider to revoke all of the Security Groups attached ingress and egress rules before deleting the rule itself. This is normally not needed, however certain AWS services such as Elastic Map Reduce may automatically add required rules to security groups used with the service, and those rules may contain a cyclic dependency that prevent the security groups from being destroyed without removing the dependency first. Default false.
    tags Mapping[str, str]
    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.
    vpc_id str
    VPC ID. Defaults to the region's default VPC.
    description String
    Security group description. Defaults to Managed by Pulumi. Cannot be "". NOTE: This field maps to the AWS GroupDescription attribute, for which there is no Update API. If you'd like to classify your security groups in a way that can be updated, use tags.
    egress List<Property Map>
    Configuration block for egress rules. Can be specified multiple times for each egress rule. Each egress block supports fields documented below. This argument is processed in attribute-as-blocks mode.
    ingress List<Property Map>
    Configuration block for ingress rules. Can be specified multiple times for each ingress rule. Each ingress block supports fields documented below. This argument is processed in attribute-as-blocks mode.
    name String
    Name of the security group. If omitted, the provider will assign a random, unique name.
    namePrefix String
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    revokeRulesOnDelete Boolean
    Instruct the provider to revoke all of the Security Groups attached ingress and egress rules before deleting the rule itself. This is normally not needed, however certain AWS services such as Elastic Map Reduce may automatically add required rules to security groups used with the service, and those rules may contain a cyclic dependency that prevent the security groups from being destroyed without removing the dependency first. Default false.
    tags Map<String>
    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.
    vpcId String
    VPC ID. Defaults to the region's default VPC.

    TargetGroup, TargetGroupArgs

    ConnectionTermination bool
    Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See doc for more information. Default is false.
    DeregistrationDelay int
    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.
    HealthCheck Pulumi.Aws.LB.Inputs.TargetGroupHealthCheck
    Health Check configuration block. Detailed below.
    IpAddressType string
    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.
    LambdaMultiValueHeadersEnabled bool
    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.
    LoadBalancingAlgorithmType string
    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.
    LoadBalancingCrossZoneEnabled string
    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".
    Name string
    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.
    NamePrefix string
    Creates a unique name beginning with the specified prefix. Conflicts with name. Cannot be longer than 6 characters.
    Port int
    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.
    PreserveClientIp string
    Whether client IP preservation is enabled. See doc for more information.
    Protocol string
    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.
    ProtocolVersion string
    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
    ProxyProtocolV2 bool
    Whether to enable support for proxy protocol v2 on Network Load Balancers. See doc for more information. Default is false.
    SlowStart int
    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.
    Stickiness Pulumi.Aws.LB.Inputs.TargetGroupStickiness
    Stickiness configuration block. Detailed below.
    Tags Dictionary<string, string>
    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.
    TargetFailovers List<Pulumi.Aws.LB.Inputs.TargetGroupTargetFailover>
    Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information.
    TargetHealthStates List<Pulumi.Aws.LB.Inputs.TargetGroupTargetHealthState>
    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.
    TargetType string

    Type of target that you must specify when registering targets with this target group. See doc 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.

    VpcId string
    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.
    ConnectionTermination bool
    Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See doc for more information. Default is false.
    DeregistrationDelay int
    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.
    HealthCheck TargetGroupHealthCheck
    Health Check configuration block. Detailed below.
    IpAddressType string
    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.
    LambdaMultiValueHeadersEnabled bool
    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.
    LoadBalancingAlgorithmType string
    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.
    LoadBalancingCrossZoneEnabled string
    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".
    Name string
    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.
    NamePrefix string
    Creates a unique name beginning with the specified prefix. Conflicts with name. Cannot be longer than 6 characters.
    Port int
    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.
    PreserveClientIp string
    Whether client IP preservation is enabled. See doc for more information.
    Protocol string
    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.
    ProtocolVersion string
    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
    ProxyProtocolV2 bool
    Whether to enable support for proxy protocol v2 on Network Load Balancers. See doc for more information. Default is false.
    SlowStart int
    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.
    Stickiness TargetGroupStickiness
    Stickiness configuration block. Detailed below.
    Tags map[string]string
    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.
    TargetFailovers TargetGroupTargetFailover
    Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information.
    TargetHealthStates TargetGroupTargetHealthState
    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.
    TargetType string

    Type of target that you must specify when registering targets with this target group. See doc 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.

    VpcId string
    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.
    connectionTermination Boolean
    Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See doc for more information. Default is false.
    deregistrationDelay Integer
    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.
    healthCheck TargetGroupHealthCheck
    Health Check configuration block. Detailed below.
    ipAddressType String
    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.
    lambdaMultiValueHeadersEnabled Boolean
    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.
    loadBalancingAlgorithmType String
    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.
    loadBalancingCrossZoneEnabled String
    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".
    name String
    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.
    namePrefix String
    Creates a unique name beginning with the specified prefix. Conflicts with name. Cannot be longer than 6 characters.
    port Integer
    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.
    preserveClientIp String
    Whether client IP preservation is enabled. See doc for more information.
    protocol String
    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.
    protocolVersion String
    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
    proxyProtocolV2 Boolean
    Whether to enable support for proxy protocol v2 on Network Load Balancers. See doc for more information. Default is false.
    slowStart Integer
    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.
    stickiness TargetGroupStickiness
    Stickiness configuration block. Detailed below.
    tags Map<String,String>
    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.
    targetFailovers List<TargetGroupTargetFailover>
    Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information.
    targetHealthStates List<TargetGroupTargetHealthState>
    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.
    targetType String

    Type of target that you must specify when registering targets with this target group. See doc 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.

    vpcId String
    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.
    connectionTermination boolean
    Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See doc for more information. Default is false.
    deregistrationDelay number
    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.
    healthCheck pulumiAws.types.input.TargetGroupHealthCheck
    Health Check configuration block. Detailed below.
    ipAddressType string
    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.
    lambdaMultiValueHeadersEnabled boolean
    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.
    loadBalancingAlgorithmType string
    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.
    loadBalancingCrossZoneEnabled string
    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".
    name string
    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.
    namePrefix string
    Creates a unique name beginning with the specified prefix. Conflicts with name. Cannot be longer than 6 characters.
    port number
    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.
    preserveClientIp string
    Whether client IP preservation is enabled. See doc for more information.
    protocol string
    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.
    protocolVersion string
    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
    proxyProtocolV2 boolean
    Whether to enable support for proxy protocol v2 on Network Load Balancers. See doc for more information. Default is false.
    slowStart number
    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.
    stickiness pulumiAws.types.input.TargetGroupStickiness
    Stickiness configuration block. Detailed below.
    tags {[key: string]: string}
    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.
    targetFailovers pulumiAws.types.input.TargetGroupTargetFailover[]
    Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information.
    targetHealthStates pulumiAws.types.input.TargetGroupTargetHealthState[]
    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.
    targetType string

    Type of target that you must specify when registering targets with this target group. See doc 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.

    vpcId string
    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.
    connection_termination bool
    Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See doc for more information. Default is false.
    deregistration_delay int
    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.
    health_check TargetGroupHealthCheckArgs
    Health Check configuration block. Detailed below.
    ip_address_type str
    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.
    lambda_multi_value_headers_enabled bool
    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.
    load_balancing_algorithm_type str
    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.
    load_balancing_cross_zone_enabled str
    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".
    name str
    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.
    name_prefix str
    Creates a unique name beginning with the specified prefix. Conflicts with name. Cannot be longer than 6 characters.
    port int
    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.
    preserve_client_ip str
    Whether client IP preservation is enabled. See doc for more information.
    protocol str
    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.
    protocol_version str
    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
    proxy_protocol_v2 bool
    Whether to enable support for proxy protocol v2 on Network Load Balancers. See doc for more information. Default is false.
    slow_start int
    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.
    stickiness TargetGroupStickinessArgs
    Stickiness configuration block. Detailed below.
    tags Mapping[str, str]
    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.
    target_failovers TargetGroupTargetFailoverArgs]
    Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information.
    target_health_states TargetGroupTargetHealthStateArgs]
    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.
    target_type str

    Type of target that you must specify when registering targets with this target group. See doc 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.

    vpc_id str
    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.
    connectionTermination Boolean
    Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See doc for more information. Default is false.
    deregistrationDelay Number
    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.
    healthCheck Property Map
    Health Check configuration block. Detailed below.
    ipAddressType String
    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.
    lambdaMultiValueHeadersEnabled Boolean
    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.
    loadBalancingAlgorithmType String
    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.
    loadBalancingCrossZoneEnabled String
    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".
    name String
    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.
    namePrefix String
    Creates a unique name beginning with the specified prefix. Conflicts with name. Cannot be longer than 6 characters.
    port Number
    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.
    preserveClientIp String
    Whether client IP preservation is enabled. See doc for more information.
    protocol String
    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.
    protocolVersion String
    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
    proxyProtocolV2 Boolean
    Whether to enable support for proxy protocol v2 on Network Load Balancers. See doc for more information. Default is false.
    slowStart Number
    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.
    stickiness Property Map
    Stickiness configuration block. Detailed below.
    tags Map<String>
    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.
    targetFailovers List<Property Map>
    Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information.
    targetHealthStates List<Property Map>
    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.
    targetType String

    Type of target that you must specify when registering targets with this target group. See doc 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.

    vpcId String
    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.

    Package Details

    Repository
    AWSx (Pulumi Crosswalk for AWS) pulumi/pulumi-awsx
    License
    Apache-2.0
    awsx logo
    AWSx (Pulumi Crosswalk for AWS) v2.5.0 published on Tuesday, Jan 30, 2024 by Pulumi