AWSx (Pulumi Crosswalk for AWS)

v1.0.0 published on Monday, Nov 28, 2022 by Pulumi

ApplicationLoadBalancer

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,
                            drop_invalid_header_fields: Optional[bool] = None,
                            enable_deletion_protection: Optional[bool] = None,
                            enable_http2: Optional[bool] = None,
                            enable_waf_fail_open: 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,
                            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)
@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.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 Pulumi.Awsx.Awsx.Inputs.DefaultSecurityGroupArgs

Options for creating a default security group if [securityGroups] not specified.

DefaultTargetGroup Pulumi.Awsx.Lb.Inputs.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.

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.

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.

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.

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

A listener to create. Only one of [listener] and [listeners] can be specified.

Listeners List<Pulumi.Awsx.Lb.Inputs.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.

SecurityGroups List<string>

A list of security group IDs to assign to the LB. Only valid for Load Balancers of type application.

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

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.

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.

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.

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.

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.

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.

SecurityGroups []string

A list of security group IDs to assign to the LB. Only valid for Load Balancers of type application.

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.

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

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.

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.

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.

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

securityGroups List<String>

A list of security group IDs to assign to the LB. Only valid for Load Balancers of type application.

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<LoadBalancerSubnetMappingArgs>

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.

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

Options for creating a default security group if [securityGroups] not specified.

defaultTargetGroup TargetGroupArgs

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.

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.

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.

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.

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.

securityGroups string[]

A list of security group IDs to assign to the LB. Only valid for Load Balancers of type application.

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.

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.

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

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.

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.

security_groups Sequence[str]

A list of security group IDs to assign to the LB. Only valid for Load Balancers of type application.

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.

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.

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.

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.

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.

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.

securityGroups List<String>

A list of security group IDs to assign to the LB. Only valid for Load Balancers of type application.

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.

Outputs

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

Id string

The provider-assigned unique ID for this managed resource.

LoadBalancer Pulumi.Aws.LB.LoadBalancer

Underlying Load Balancer resource

VpcId string

Id of the VPC in which this load balancer is operating

Id string

The provider-assigned unique ID for this managed resource.

LoadBalancer LoadBalancer

Underlying Load Balancer resource

VpcId string

Id of the VPC in which this load balancer is operating

id String

The provider-assigned unique ID for this managed resource.

loadBalancer LoadBalancer

Underlying Load Balancer resource

vpcId String

Id of the VPC in which this load balancer is operating

id string

The provider-assigned unique ID for this managed resource.

loadBalancer pulumiAws.LoadBalancer

Underlying Load Balancer resource

vpcId string

Id of the VPC in which this load balancer is operating

id str

The provider-assigned unique ID for this managed resource.

load_balancer LoadBalancer

Underlying Load Balancer resource

vpc_id str

Id of the VPC in which this load balancer is operating

id String

The provider-assigned unique ID for this managed resource.

loadBalancer aws::LoadBalancer

Underlying Load Balancer resource

vpcId String

Id of the VPC in which this load balancer is operating

Supporting Types

DefaultSecurityGroup

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

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. Specify a value from 1 to 65535 or #{port}. Defaults to #{port}.

Protocol string

Protocol. Valid values are HTTP, HTTPS, or #{protocol}. Defaults to #{protocol}.

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.

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. Specify a value from 1 to 65535 or #{port}. Defaults to #{port}.

Protocol string

Protocol. Valid values are HTTP, HTTPS, or #{protocol}. Defaults to #{protocol}.

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.

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. Specify a value from 1 to 65535 or #{port}. Defaults to #{port}.

protocol String

Protocol. Valid values are HTTP, HTTPS, or #{protocol}. Defaults to #{protocol}.

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.

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. Specify a value from 1 to 65535 or #{port}. Defaults to #{port}.

protocol string

Protocol. Valid values are HTTP, HTTPS, or #{protocol}. Defaults to #{protocol}.

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.

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. Specify a value from 1 to 65535 or #{port}. Defaults to #{port}.

protocol str

Protocol. Valid values are HTTP, HTTPS, or #{protocol}. Defaults to #{protocol}.

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.

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. Specify a value from 1 to 65535 or #{port}. Defaults to #{port}.

protocol String

Protocol. Valid values are HTTP, HTTPS, or #{protocol}. Defaults to #{protocol}.

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.

SecurityGroup

Description string

Description of this egress rule.

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.

Ingress List<Pulumi.Aws.Ec2.Inputs.SecurityGroupIngress>

Configuration block for egress rules. Can be specified multiple times for each ingress rule. Each ingress block supports fields documented below.

Name string

Name of the security group. If omitted, this provider will assign a random, unique name.

NamePrefix string

Creates a unique name beginning with the specified prefix. Conflicts with name.

RevokeRulesOnDelete bool

Instruct this 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.

VpcId string

VPC ID.

Description string

Description of this egress rule.

Egress SecurityGroupEgress

Configuration block for egress rules. Can be specified multiple times for each egress rule. Each egress block supports fields documented below.

Ingress SecurityGroupIngress

Configuration block for egress rules. Can be specified multiple times for each ingress rule. Each ingress block supports fields documented below.

Name string

Name of the security group. If omitted, this provider will assign a random, unique name.

NamePrefix string

Creates a unique name beginning with the specified prefix. Conflicts with name.

RevokeRulesOnDelete bool

Instruct this 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.

VpcId string

VPC ID.

description String

Description of this egress rule.

egress List<SecurityGroupEgress>

Configuration block for egress rules. Can be specified multiple times for each egress rule. Each egress block supports fields documented below.

ingress List<SecurityGroupIngress>

Configuration block for egress rules. Can be specified multiple times for each ingress rule. Each ingress block supports fields documented below.

name String

Name of the security group. If omitted, this provider will assign a random, unique name.

namePrefix String

Creates a unique name beginning with the specified prefix. Conflicts with name.

revokeRulesOnDelete Boolean

Instruct this 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.

vpcId String

VPC ID.

description string

Description of this egress rule.

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.

ingress pulumiAws.types.input.ec2.SecurityGroupIngress[]

Configuration block for egress rules. Can be specified multiple times for each ingress rule. Each ingress block supports fields documented below.

name string

Name of the security group. If omitted, this provider will assign a random, unique name.

namePrefix string

Creates a unique name beginning with the specified prefix. Conflicts with name.

revokeRulesOnDelete boolean

Instruct this 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.

vpcId string

VPC ID.

description str

Description of this egress rule.

egress SecurityGroupEgressArgs]

Configuration block for egress rules. Can be specified multiple times for each egress rule. Each egress block supports fields documented below.

ingress SecurityGroupIngressArgs]

Configuration block for egress rules. Can be specified multiple times for each ingress rule. Each ingress block supports fields documented below.

name str

Name of the security group. If omitted, this 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 this 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.

vpc_id str

VPC ID.

description String

Description of this egress rule.

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.

ingress List<Property Map>

Configuration block for egress rules. Can be specified multiple times for each ingress rule. Each ingress block supports fields documented below.

name String

Name of the security group. If omitted, this provider will assign a random, unique name.

namePrefix String

Creates a unique name beginning with the specified prefix. Conflicts with name.

revokeRulesOnDelete Boolean

Instruct this 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.

vpcId String

VPC ID.

TargetGroup

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.

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.

Name string

Name of the target group. If omitted, this provider will assign a random, unique name.

NamePrefix string

Creates a unique name beginning with the specified prefix. Conflicts with name. Cannot be longer than 6 characters.

Port int

Port to use to connect with the target. Valid values are either ports 1-65535, or traffic-port. Defaults to traffic-port.

PreserveClientIp string

Whether client IP preservation is enabled. See doc for more information.

Protocol string

Protocol to use to connect with the target. Defaults to HTTP. Not applicable 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.

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.

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.

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.

Name string

Name of the target group. If omitted, this provider will assign a random, unique name.

NamePrefix string

Creates a unique name beginning with the specified prefix. Conflicts with name. Cannot be longer than 6 characters.

Port int

Port to use to connect with the target. Valid values are either ports 1-65535, or traffic-port. Defaults to traffic-port.

PreserveClientIp string

Whether client IP preservation is enabled. See doc for more information.

Protocol string

Protocol to use to connect with the target. Defaults to HTTP. Not applicable 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.

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.

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.

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.

name String

Name of the target group. If omitted, this provider will assign a random, unique name.

namePrefix String

Creates a unique name beginning with the specified prefix. Conflicts with name. Cannot be longer than 6 characters.

port Integer

Port to use to connect with the target. Valid values are either ports 1-65535, or traffic-port. Defaults to traffic-port.

preserveClientIp String

Whether client IP preservation is enabled. See doc for more information.

protocol String

Protocol to use to connect with the target. Defaults to HTTP. Not applicable 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.

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.

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.

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.

name string

Name of the target group. If omitted, this provider will assign a random, unique name.

namePrefix string

Creates a unique name beginning with the specified prefix. Conflicts with name. Cannot be longer than 6 characters.

port number

Port to use to connect with the target. Valid values are either ports 1-65535, or traffic-port. Defaults to traffic-port.

preserveClientIp string

Whether client IP preservation is enabled. See doc for more information.

protocol string

Protocol to use to connect with the target. Defaults to HTTP. Not applicable 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.

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.

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.

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.

name str

Name of the target group. If omitted, this provider will assign a random, unique name.

name_prefix str

Creates a unique name beginning with the specified prefix. Conflicts with name. Cannot be longer than 6 characters.

port int

Port to use to connect with the target. Valid values are either ports 1-65535, or traffic-port. Defaults to traffic-port.

preserve_client_ip str

Whether client IP preservation is enabled. See doc for more information.

protocol str

Protocol to use to connect with the target. Defaults to HTTP. Not applicable 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_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.

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.

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.

name String

Name of the target group. If omitted, this provider will assign a random, unique name.

namePrefix String

Creates a unique name beginning with the specified prefix. Conflicts with name. Cannot be longer than 6 characters.

port Number

Port to use to connect with the target. Valid values are either ports 1-65535, or traffic-port. Defaults to traffic-port.

preserveClientIp String

Whether client IP preservation is enabled. See doc for more information.

protocol String

Protocol to use to connect with the target. Defaults to HTTP. Not applicable 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.

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.

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
https://github.com/pulumi/pulumi-awsx
License
Apache-2.0