1. Packages
  2. AWSx (Pulumi Crosswalk for AWS)
  3. API Docs
  4. lb
  5. NetworkLoadBalancer
AWSx (Pulumi Crosswalk for AWS) v2.21.1 published on Monday, Mar 10, 2025 by Pulumi

awsx.lb.NetworkLoadBalancer

Explore with Pulumi AI

Provides a Network Load Balancer resource with listeners and default target group.

Create NetworkLoadBalancer Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new NetworkLoadBalancer(name: string, args?: NetworkLoadBalancerArgs, opts?: ComponentResourceOptions);
@overload
def NetworkLoadBalancer(resource_name: str,
                        args: Optional[NetworkLoadBalancerArgs] = None,
                        opts: Optional[ResourceOptions] = None)

@overload
def NetworkLoadBalancer(resource_name: str,
                        opts: Optional[ResourceOptions] = None,
                        access_logs: Optional[pulumi_aws.lb.LoadBalancerAccessLogsArgs] = None,
                        client_keep_alive: Optional[int] = None,
                        connection_logs: Optional[pulumi_aws.lb.LoadBalancerConnectionLogsArgs] = None,
                        customer_owned_ipv4_pool: Optional[str] = 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_cross_zone_load_balancing: Optional[bool] = None,
                        enable_deletion_protection: 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,
                        enable_zonal_shift: Optional[bool] = None,
                        enforce_security_group_inbound_rules_on_private_link_traffic: Optional[str] = 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)
func NewNetworkLoadBalancer(ctx *Context, name string, args *NetworkLoadBalancerArgs, opts ...ResourceOption) (*NetworkLoadBalancer, error)
public NetworkLoadBalancer(string name, NetworkLoadBalancerArgs? args = null, ComponentResourceOptions? opts = null)
public NetworkLoadBalancer(String name, NetworkLoadBalancerArgs args)
public NetworkLoadBalancer(String name, NetworkLoadBalancerArgs args, ComponentResourceOptions options)
type: awsx:lb:NetworkLoadBalancer
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args NetworkLoadBalancerArgs
The arguments to resource properties.
opts ComponentResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args NetworkLoadBalancerArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args NetworkLoadBalancerArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args NetworkLoadBalancerArgs
The arguments to resource properties.
opts ComponentResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. NetworkLoadBalancerArgs
The arguments to resource properties.
options ComponentResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var networkLoadBalancerResource = new Awsx.Lb.NetworkLoadBalancer("networkLoadBalancerResource", new()
{
    AccessLogs = new Aws.LB.Inputs.LoadBalancerAccessLogsArgs
    {
        Bucket = "string",
        Enabled = false,
        Prefix = "string",
    },
    ClientKeepAlive = 0,
    ConnectionLogs = new Aws.LB.Inputs.LoadBalancerConnectionLogsArgs
    {
        Bucket = "string",
        Enabled = false,
        Prefix = "string",
    },
    CustomerOwnedIpv4Pool = "string",
    DefaultTargetGroup = new Awsx.Lb.Inputs.TargetGroupArgs
    {
        ConnectionTermination = false,
        DeregistrationDelay = 0,
        HealthCheck = new Aws.LB.Inputs.TargetGroupHealthCheckArgs
        {
            Enabled = false,
            HealthyThreshold = 0,
            Interval = 0,
            Matcher = "string",
            Path = "string",
            Port = "string",
            Protocol = "string",
            Timeout = 0,
            UnhealthyThreshold = 0,
        },
        IpAddressType = "string",
        LambdaMultiValueHeadersEnabled = false,
        LoadBalancingAlgorithmType = "string",
        LoadBalancingAnomalyMitigation = "string",
        LoadBalancingCrossZoneEnabled = "string",
        Name = "string",
        NamePrefix = "string",
        Port = 0,
        PreserveClientIp = "string",
        Protocol = "string",
        ProtocolVersion = "string",
        ProxyProtocolV2 = false,
        SlowStart = 0,
        Stickiness = new Aws.LB.Inputs.TargetGroupStickinessArgs
        {
            Type = "string",
            CookieDuration = 0,
            CookieName = "string",
            Enabled = false,
        },
        Tags = 
        {
            { "string", "string" },
        },
        TargetFailovers = new()
        {
            new Aws.LB.Inputs.TargetGroupTargetFailoverArgs
            {
                OnDeregistration = "string",
                OnUnhealthy = "string",
            },
        },
        TargetGroupHealth = new Aws.LB.Inputs.TargetGroupTargetGroupHealthArgs
        {
            DnsFailover = new Aws.LB.Inputs.TargetGroupTargetGroupHealthDnsFailoverArgs
            {
                MinimumHealthyTargetsCount = "string",
                MinimumHealthyTargetsPercentage = "string",
            },
            UnhealthyStateRouting = new Aws.LB.Inputs.TargetGroupTargetGroupHealthUnhealthyStateRoutingArgs
            {
                MinimumHealthyTargetsCount = 0,
                MinimumHealthyTargetsPercentage = "string",
            },
        },
        TargetHealthStates = new()
        {
            new Aws.LB.Inputs.TargetGroupTargetHealthStateArgs
            {
                EnableUnhealthyConnectionTermination = false,
                UnhealthyDrainingInterval = 0,
            },
        },
        TargetType = "string",
        VpcId = "string",
    },
    DefaultTargetGroupPort = 0,
    DesyncMitigationMode = "string",
    DnsRecordClientRoutingPolicy = "string",
    DropInvalidHeaderFields = false,
    EnableCrossZoneLoadBalancing = false,
    EnableDeletionProtection = false,
    EnableTlsVersionAndCipherSuiteHeaders = false,
    EnableWafFailOpen = false,
    EnableXffClientPort = false,
    EnableZonalShift = false,
    EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic = "string",
    IdleTimeout = 0,
    Internal = false,
    IpAddressType = "string",
    Listener = new Awsx.Lb.Inputs.ListenerArgs
    {
        AlpnPolicy = "string",
        CertificateArn = "string",
        DefaultActions = new()
        {
            new Aws.LB.Inputs.ListenerDefaultActionArgs
            {
                Type = "string",
                AuthenticateCognito = new Aws.LB.Inputs.ListenerDefaultActionAuthenticateCognitoArgs
                {
                    UserPoolArn = "string",
                    UserPoolClientId = "string",
                    UserPoolDomain = "string",
                    AuthenticationRequestExtraParams = 
                    {
                        { "string", "string" },
                    },
                    OnUnauthenticatedRequest = "string",
                    Scope = "string",
                    SessionCookieName = "string",
                    SessionTimeout = 0,
                },
                AuthenticateOidc = new Aws.LB.Inputs.ListenerDefaultActionAuthenticateOidcArgs
                {
                    AuthorizationEndpoint = "string",
                    ClientId = "string",
                    ClientSecret = "string",
                    Issuer = "string",
                    TokenEndpoint = "string",
                    UserInfoEndpoint = "string",
                    AuthenticationRequestExtraParams = 
                    {
                        { "string", "string" },
                    },
                    OnUnauthenticatedRequest = "string",
                    Scope = "string",
                    SessionCookieName = "string",
                    SessionTimeout = 0,
                },
                FixedResponse = new Aws.LB.Inputs.ListenerDefaultActionFixedResponseArgs
                {
                    ContentType = "string",
                    MessageBody = "string",
                    StatusCode = "string",
                },
                Forward = new Aws.LB.Inputs.ListenerDefaultActionForwardArgs
                {
                    TargetGroups = new()
                    {
                        new Aws.LB.Inputs.ListenerDefaultActionForwardTargetGroupArgs
                        {
                            Arn = "string",
                            Weight = 0,
                        },
                    },
                    Stickiness = new Aws.LB.Inputs.ListenerDefaultActionForwardStickinessArgs
                    {
                        Duration = 0,
                        Enabled = false,
                    },
                },
                Order = 0,
                Redirect = new Aws.LB.Inputs.ListenerDefaultActionRedirectArgs
                {
                    StatusCode = "string",
                    Host = "string",
                    Path = "string",
                    Port = "string",
                    Protocol = "string",
                    Query = "string",
                },
                TargetGroupArn = "string",
            },
        },
        MutualAuthentication = new Aws.LB.Inputs.ListenerMutualAuthenticationArgs
        {
            Mode = "string",
            AdvertiseTrustStoreCaNames = "string",
            IgnoreClientCertificateExpiry = false,
            TrustStoreArn = "string",
        },
        Port = 0,
        Protocol = "string",
        SslPolicy = "string",
        Tags = 
        {
            { "string", "string" },
        },
        TcpIdleTimeoutSeconds = 0,
    },
    Listeners = new()
    {
        new Awsx.Lb.Inputs.ListenerArgs
        {
            AlpnPolicy = "string",
            CertificateArn = "string",
            DefaultActions = new()
            {
                new Aws.LB.Inputs.ListenerDefaultActionArgs
                {
                    Type = "string",
                    AuthenticateCognito = new Aws.LB.Inputs.ListenerDefaultActionAuthenticateCognitoArgs
                    {
                        UserPoolArn = "string",
                        UserPoolClientId = "string",
                        UserPoolDomain = "string",
                        AuthenticationRequestExtraParams = 
                        {
                            { "string", "string" },
                        },
                        OnUnauthenticatedRequest = "string",
                        Scope = "string",
                        SessionCookieName = "string",
                        SessionTimeout = 0,
                    },
                    AuthenticateOidc = new Aws.LB.Inputs.ListenerDefaultActionAuthenticateOidcArgs
                    {
                        AuthorizationEndpoint = "string",
                        ClientId = "string",
                        ClientSecret = "string",
                        Issuer = "string",
                        TokenEndpoint = "string",
                        UserInfoEndpoint = "string",
                        AuthenticationRequestExtraParams = 
                        {
                            { "string", "string" },
                        },
                        OnUnauthenticatedRequest = "string",
                        Scope = "string",
                        SessionCookieName = "string",
                        SessionTimeout = 0,
                    },
                    FixedResponse = new Aws.LB.Inputs.ListenerDefaultActionFixedResponseArgs
                    {
                        ContentType = "string",
                        MessageBody = "string",
                        StatusCode = "string",
                    },
                    Forward = new Aws.LB.Inputs.ListenerDefaultActionForwardArgs
                    {
                        TargetGroups = new()
                        {
                            new Aws.LB.Inputs.ListenerDefaultActionForwardTargetGroupArgs
                            {
                                Arn = "string",
                                Weight = 0,
                            },
                        },
                        Stickiness = new Aws.LB.Inputs.ListenerDefaultActionForwardStickinessArgs
                        {
                            Duration = 0,
                            Enabled = false,
                        },
                    },
                    Order = 0,
                    Redirect = new Aws.LB.Inputs.ListenerDefaultActionRedirectArgs
                    {
                        StatusCode = "string",
                        Host = "string",
                        Path = "string",
                        Port = "string",
                        Protocol = "string",
                        Query = "string",
                    },
                    TargetGroupArn = "string",
                },
            },
            MutualAuthentication = new Aws.LB.Inputs.ListenerMutualAuthenticationArgs
            {
                Mode = "string",
                AdvertiseTrustStoreCaNames = "string",
                IgnoreClientCertificateExpiry = false,
                TrustStoreArn = "string",
            },
            Port = 0,
            Protocol = "string",
            SslPolicy = "string",
            Tags = 
            {
                { "string", "string" },
            },
            TcpIdleTimeoutSeconds = 0,
        },
    },
    Name = "string",
    NamePrefix = "string",
    PreserveHostHeader = false,
    SecurityGroups = new[]
    {
        "string",
    },
    SubnetIds = new[]
    {
        "string",
    },
    SubnetMappings = new[]
    {
        new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs
        {
            SubnetId = "string",
            AllocationId = "string",
            Ipv6Address = "string",
            OutpostId = "string",
            PrivateIpv4Address = "string",
        },
    },
    Subnets = new[]
    {
        subnet,
    },
    Tags = 
    {
        { "string", "string" },
    },
    XffHeaderProcessingMode = "string",
});
Copy
example, err := lb.NewNetworkLoadBalancer(ctx, "networkLoadBalancerResource", &lb.NetworkLoadBalancerArgs{
	AccessLogs: &lb.LoadBalancerAccessLogsArgs{
		Bucket:  pulumi.String("string"),
		Enabled: pulumi.Bool(false),
		Prefix:  pulumi.String("string"),
	},
	ClientKeepAlive: pulumi.Int(0),
	ConnectionLogs: &lb.LoadBalancerConnectionLogsArgs{
		Bucket:  pulumi.String("string"),
		Enabled: pulumi.Bool(false),
		Prefix:  pulumi.String("string"),
	},
	CustomerOwnedIpv4Pool: pulumi.String("string"),
	DefaultTargetGroup: &lb.TargetGroupArgs{
		ConnectionTermination: pulumi.Bool(false),
		DeregistrationDelay:   pulumi.Int(0),
		HealthCheck: &lb.TargetGroupHealthCheckArgs{
			Enabled:            pulumi.Bool(false),
			HealthyThreshold:   pulumi.Int(0),
			Interval:           pulumi.Int(0),
			Matcher:            pulumi.String("string"),
			Path:               pulumi.String("string"),
			Port:               pulumi.String("string"),
			Protocol:           pulumi.String("string"),
			Timeout:            pulumi.Int(0),
			UnhealthyThreshold: pulumi.Int(0),
		},
		IpAddressType:                  pulumi.String("string"),
		LambdaMultiValueHeadersEnabled: pulumi.Bool(false),
		LoadBalancingAlgorithmType:     pulumi.String("string"),
		LoadBalancingAnomalyMitigation: pulumi.String("string"),
		LoadBalancingCrossZoneEnabled:  pulumi.String("string"),
		Name:                           pulumi.String("string"),
		NamePrefix:                     pulumi.String("string"),
		Port:                           pulumi.Int(0),
		PreserveClientIp:               pulumi.String("string"),
		Protocol:                       pulumi.String("string"),
		ProtocolVersion:                pulumi.String("string"),
		ProxyProtocolV2:                pulumi.Bool(false),
		SlowStart:                      pulumi.Int(0),
		Stickiness: &lb.TargetGroupStickinessArgs{
			Type:           pulumi.String("string"),
			CookieDuration: pulumi.Int(0),
			CookieName:     pulumi.String("string"),
			Enabled:        pulumi.Bool(false),
		},
		Tags: pulumi.StringMap{
			"string": pulumi.String("string"),
		},
		TargetFailovers: lb.TargetGroupTargetFailoverArray{
			&lb.TargetGroupTargetFailoverArgs{
				OnDeregistration: pulumi.String("string"),
				OnUnhealthy:      pulumi.String("string"),
			},
		},
		TargetGroupHealth: &lb.TargetGroupTargetGroupHealthArgs{
			DnsFailover: &lb.TargetGroupTargetGroupHealthDnsFailoverArgs{
				MinimumHealthyTargetsCount:      pulumi.String("string"),
				MinimumHealthyTargetsPercentage: pulumi.String("string"),
			},
			UnhealthyStateRouting: &lb.TargetGroupTargetGroupHealthUnhealthyStateRoutingArgs{
				MinimumHealthyTargetsCount:      pulumi.Int(0),
				MinimumHealthyTargetsPercentage: pulumi.String("string"),
			},
		},
		TargetHealthStates: lb.TargetGroupTargetHealthStateArray{
			&lb.TargetGroupTargetHealthStateArgs{
				EnableUnhealthyConnectionTermination: pulumi.Bool(false),
				UnhealthyDrainingInterval:            pulumi.Int(0),
			},
		},
		TargetType: pulumi.String("string"),
		VpcId:      pulumi.String("string"),
	},
	DefaultTargetGroupPort:                               pulumi.Int(0),
	DesyncMitigationMode:                                 pulumi.String("string"),
	DnsRecordClientRoutingPolicy:                         pulumi.String("string"),
	DropInvalidHeaderFields:                              pulumi.Bool(false),
	EnableCrossZoneLoadBalancing:                         pulumi.Bool(false),
	EnableDeletionProtection:                             pulumi.Bool(false),
	EnableTlsVersionAndCipherSuiteHeaders:                pulumi.Bool(false),
	EnableWafFailOpen:                                    pulumi.Bool(false),
	EnableXffClientPort:                                  pulumi.Bool(false),
	EnableZonalShift:                                     pulumi.Bool(false),
	EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic: pulumi.String("string"),
	IdleTimeout:                                          pulumi.Int(0),
	Internal:                                             pulumi.Bool(false),
	IpAddressType:                                        pulumi.String("string"),
	Listener: &lb.ListenerArgs{
		AlpnPolicy:     pulumi.String("string"),
		CertificateArn: pulumi.String("string"),
		DefaultActions: lb.ListenerDefaultActionArray{
			&lb.ListenerDefaultActionArgs{
				Type: pulumi.String("string"),
				AuthenticateCognito: &lb.ListenerDefaultActionAuthenticateCognitoArgs{
					UserPoolArn:      pulumi.String("string"),
					UserPoolClientId: pulumi.String("string"),
					UserPoolDomain:   pulumi.String("string"),
					AuthenticationRequestExtraParams: pulumi.StringMap{
						"string": pulumi.String("string"),
					},
					OnUnauthenticatedRequest: pulumi.String("string"),
					Scope:                    pulumi.String("string"),
					SessionCookieName:        pulumi.String("string"),
					SessionTimeout:           pulumi.Int(0),
				},
				AuthenticateOidc: &lb.ListenerDefaultActionAuthenticateOidcArgs{
					AuthorizationEndpoint: pulumi.String("string"),
					ClientId:              pulumi.String("string"),
					ClientSecret:          pulumi.String("string"),
					Issuer:                pulumi.String("string"),
					TokenEndpoint:         pulumi.String("string"),
					UserInfoEndpoint:      pulumi.String("string"),
					AuthenticationRequestExtraParams: pulumi.StringMap{
						"string": pulumi.String("string"),
					},
					OnUnauthenticatedRequest: pulumi.String("string"),
					Scope:                    pulumi.String("string"),
					SessionCookieName:        pulumi.String("string"),
					SessionTimeout:           pulumi.Int(0),
				},
				FixedResponse: &lb.ListenerDefaultActionFixedResponseArgs{
					ContentType: pulumi.String("string"),
					MessageBody: pulumi.String("string"),
					StatusCode:  pulumi.String("string"),
				},
				Forward: &lb.ListenerDefaultActionForwardArgs{
					TargetGroups: lb.ListenerDefaultActionForwardTargetGroupArray{
						&lb.ListenerDefaultActionForwardTargetGroupArgs{
							Arn:    pulumi.String("string"),
							Weight: pulumi.Int(0),
						},
					},
					Stickiness: &lb.ListenerDefaultActionForwardStickinessArgs{
						Duration: pulumi.Int(0),
						Enabled:  pulumi.Bool(false),
					},
				},
				Order: pulumi.Int(0),
				Redirect: &lb.ListenerDefaultActionRedirectArgs{
					StatusCode: pulumi.String("string"),
					Host:       pulumi.String("string"),
					Path:       pulumi.String("string"),
					Port:       pulumi.String("string"),
					Protocol:   pulumi.String("string"),
					Query:      pulumi.String("string"),
				},
				TargetGroupArn: pulumi.String("string"),
			},
		},
		MutualAuthentication: &lb.ListenerMutualAuthenticationArgs{
			Mode:                          pulumi.String("string"),
			AdvertiseTrustStoreCaNames:    pulumi.String("string"),
			IgnoreClientCertificateExpiry: pulumi.Bool(false),
			TrustStoreArn:                 pulumi.String("string"),
		},
		Port:      pulumi.Int(0),
		Protocol:  pulumi.String("string"),
		SslPolicy: pulumi.String("string"),
		Tags: pulumi.StringMap{
			"string": pulumi.String("string"),
		},
		TcpIdleTimeoutSeconds: pulumi.Int(0),
	},
	Listeners: []lb.ListenerArgs{
		{
			AlpnPolicy:     pulumi.String("string"),
			CertificateArn: pulumi.String("string"),
			DefaultActions: lb.ListenerDefaultActionArray{
				{
					Type: pulumi.String("string"),
					AuthenticateCognito: {
						UserPoolArn:      pulumi.String("string"),
						UserPoolClientId: pulumi.String("string"),
						UserPoolDomain:   pulumi.String("string"),
						AuthenticationRequestExtraParams: {
							"string": pulumi.String("string"),
						},
						OnUnauthenticatedRequest: pulumi.String("string"),
						Scope:                    pulumi.String("string"),
						SessionCookieName:        pulumi.String("string"),
						SessionTimeout:           pulumi.Int(0),
					},
					AuthenticateOidc: {
						AuthorizationEndpoint: pulumi.String("string"),
						ClientId:              pulumi.String("string"),
						ClientSecret:          pulumi.String("string"),
						Issuer:                pulumi.String("string"),
						TokenEndpoint:         pulumi.String("string"),
						UserInfoEndpoint:      pulumi.String("string"),
						AuthenticationRequestExtraParams: {
							"string": pulumi.String("string"),
						},
						OnUnauthenticatedRequest: pulumi.String("string"),
						Scope:                    pulumi.String("string"),
						SessionCookieName:        pulumi.String("string"),
						SessionTimeout:           pulumi.Int(0),
					},
					FixedResponse: {
						ContentType: pulumi.String("string"),
						MessageBody: pulumi.String("string"),
						StatusCode:  pulumi.String("string"),
					},
					Forward: {
						TargetGroups: lb.ListenerDefaultActionForwardTargetGroupArray{
							{
								Arn:    pulumi.String("string"),
								Weight: pulumi.Int(0),
							},
						},
						Stickiness: {
							Duration: pulumi.Int(0),
							Enabled:  pulumi.Bool(false),
						},
					},
					Order: pulumi.Int(0),
					Redirect: {
						StatusCode: pulumi.String("string"),
						Host:       pulumi.String("string"),
						Path:       pulumi.String("string"),
						Port:       pulumi.String("string"),
						Protocol:   pulumi.String("string"),
						Query:      pulumi.String("string"),
					},
					TargetGroupArn: pulumi.String("string"),
				},
			},
			MutualAuthentication: {
				Mode:                          pulumi.String("string"),
				AdvertiseTrustStoreCaNames:    pulumi.String("string"),
				IgnoreClientCertificateExpiry: pulumi.Bool(false),
				TrustStoreArn:                 pulumi.String("string"),
			},
			Port:      pulumi.Int(0),
			Protocol:  pulumi.String("string"),
			SslPolicy: pulumi.String("string"),
			Tags: {
				"string": pulumi.String("string"),
			},
			TcpIdleTimeoutSeconds: pulumi.Int(0),
		},
	},
	Name:               pulumi.String("string"),
	NamePrefix:         pulumi.String("string"),
	PreserveHostHeader: pulumi.Bool(false),
	SecurityGroups: pulumi.StringArray{
		pulumi.String("string"),
	},
	SubnetIds: pulumi.StringArray{
		pulumi.String("string"),
	},
	SubnetMappings: lb.LoadBalancerSubnetMappingArray{
		&lb.LoadBalancerSubnetMappingArgs{
			SubnetId:           pulumi.String("string"),
			AllocationId:       pulumi.String("string"),
			Ipv6Address:        pulumi.String("string"),
			OutpostId:          pulumi.String("string"),
			PrivateIpv4Address: pulumi.String("string"),
		},
	},
	Subnets: ec2.SubnetArray{
		subnet,
	},
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	XffHeaderProcessingMode: pulumi.String("string"),
})
Copy
var networkLoadBalancerResource = new NetworkLoadBalancer("networkLoadBalancerResource", NetworkLoadBalancerArgs.builder()
    .accessLogs(LoadBalancerAccessLogsArgs.builder()
        .bucket("string")
        .enabled(false)
        .prefix("string")
        .build())
    .clientKeepAlive(0)
    .connectionLogs(LoadBalancerConnectionLogsArgs.builder()
        .bucket("string")
        .enabled(false)
        .prefix("string")
        .build())
    .customerOwnedIpv4Pool("string")
    .defaultTargetGroup(TargetGroupArgs.builder()
        .connectionTermination(false)
        .deregistrationDelay(0)
        .healthCheck(TargetGroupHealthCheckArgs.builder()
            .enabled(false)
            .healthyThreshold(0)
            .interval(0)
            .matcher("string")
            .path("string")
            .port("string")
            .protocol("string")
            .timeout(0)
            .unhealthyThreshold(0)
            .build())
        .ipAddressType("string")
        .lambdaMultiValueHeadersEnabled(false)
        .loadBalancingAlgorithmType("string")
        .loadBalancingAnomalyMitigation("string")
        .loadBalancingCrossZoneEnabled("string")
        .name("string")
        .namePrefix("string")
        .port(0)
        .preserveClientIp("string")
        .protocol("string")
        .protocolVersion("string")
        .proxyProtocolV2(false)
        .slowStart(0)
        .stickiness(TargetGroupStickinessArgs.builder()
            .type("string")
            .cookieDuration(0)
            .cookieName("string")
            .enabled(false)
            .build())
        .tags(Map.of("string", "string"))
        .targetFailovers(TargetGroupTargetFailoverArgs.builder()
            .onDeregistration("string")
            .onUnhealthy("string")
            .build())
        .targetGroupHealth(TargetGroupTargetGroupHealthArgs.builder()
            .dnsFailover(TargetGroupTargetGroupHealthDnsFailoverArgs.builder()
                .minimumHealthyTargetsCount("string")
                .minimumHealthyTargetsPercentage("string")
                .build())
            .unhealthyStateRouting(TargetGroupTargetGroupHealthUnhealthyStateRoutingArgs.builder()
                .minimumHealthyTargetsCount(0)
                .minimumHealthyTargetsPercentage("string")
                .build())
            .build())
        .targetHealthStates(TargetGroupTargetHealthStateArgs.builder()
            .enableUnhealthyConnectionTermination(false)
            .unhealthyDrainingInterval(0)
            .build())
        .targetType("string")
        .vpcId("string")
        .build())
    .defaultTargetGroupPort(0)
    .desyncMitigationMode("string")
    .dnsRecordClientRoutingPolicy("string")
    .dropInvalidHeaderFields(false)
    .enableCrossZoneLoadBalancing(false)
    .enableDeletionProtection(false)
    .enableTlsVersionAndCipherSuiteHeaders(false)
    .enableWafFailOpen(false)
    .enableXffClientPort(false)
    .enableZonalShift(false)
    .enforceSecurityGroupInboundRulesOnPrivateLinkTraffic("string")
    .idleTimeout(0)
    .internal(false)
    .ipAddressType("string")
    .listener(ListenerArgs.builder()
        .alpnPolicy("string")
        .certificateArn("string")
        .defaultActions(ListenerDefaultActionArgs.builder()
            .type("string")
            .authenticateCognito(ListenerDefaultActionAuthenticateCognitoArgs.builder()
                .userPoolArn("string")
                .userPoolClientId("string")
                .userPoolDomain("string")
                .authenticationRequestExtraParams(Map.of("string", "string"))
                .onUnauthenticatedRequest("string")
                .scope("string")
                .sessionCookieName("string")
                .sessionTimeout(0)
                .build())
            .authenticateOidc(ListenerDefaultActionAuthenticateOidcArgs.builder()
                .authorizationEndpoint("string")
                .clientId("string")
                .clientSecret("string")
                .issuer("string")
                .tokenEndpoint("string")
                .userInfoEndpoint("string")
                .authenticationRequestExtraParams(Map.of("string", "string"))
                .onUnauthenticatedRequest("string")
                .scope("string")
                .sessionCookieName("string")
                .sessionTimeout(0)
                .build())
            .fixedResponse(ListenerDefaultActionFixedResponseArgs.builder()
                .contentType("string")
                .messageBody("string")
                .statusCode("string")
                .build())
            .forward(ListenerDefaultActionForwardArgs.builder()
                .targetGroups(ListenerDefaultActionForwardTargetGroupArgs.builder()
                    .arn("string")
                    .weight(0)
                    .build())
                .stickiness(ListenerDefaultActionForwardStickinessArgs.builder()
                    .duration(0)
                    .enabled(false)
                    .build())
                .build())
            .order(0)
            .redirect(ListenerDefaultActionRedirectArgs.builder()
                .statusCode("string")
                .host("string")
                .path("string")
                .port("string")
                .protocol("string")
                .query("string")
                .build())
            .targetGroupArn("string")
            .build())
        .mutualAuthentication(ListenerMutualAuthenticationArgs.builder()
            .mode("string")
            .advertiseTrustStoreCaNames("string")
            .ignoreClientCertificateExpiry(false)
            .trustStoreArn("string")
            .build())
        .port(0)
        .protocol("string")
        .sslPolicy("string")
        .tags(Map.of("string", "string"))
        .tcpIdleTimeoutSeconds(0)
        .build())
    .listeners(ListenerArgs.builder()
        .alpnPolicy("string")
        .certificateArn("string")
        .defaultActions(ListenerDefaultActionArgs.builder()
            .type("string")
            .authenticateCognito(ListenerDefaultActionAuthenticateCognitoArgs.builder()
                .userPoolArn("string")
                .userPoolClientId("string")
                .userPoolDomain("string")
                .authenticationRequestExtraParams(Map.of("string", "string"))
                .onUnauthenticatedRequest("string")
                .scope("string")
                .sessionCookieName("string")
                .sessionTimeout(0)
                .build())
            .authenticateOidc(ListenerDefaultActionAuthenticateOidcArgs.builder()
                .authorizationEndpoint("string")
                .clientId("string")
                .clientSecret("string")
                .issuer("string")
                .tokenEndpoint("string")
                .userInfoEndpoint("string")
                .authenticationRequestExtraParams(Map.of("string", "string"))
                .onUnauthenticatedRequest("string")
                .scope("string")
                .sessionCookieName("string")
                .sessionTimeout(0)
                .build())
            .fixedResponse(ListenerDefaultActionFixedResponseArgs.builder()
                .contentType("string")
                .messageBody("string")
                .statusCode("string")
                .build())
            .forward(ListenerDefaultActionForwardArgs.builder()
                .targetGroups(ListenerDefaultActionForwardTargetGroupArgs.builder()
                    .arn("string")
                    .weight(0)
                    .build())
                .stickiness(ListenerDefaultActionForwardStickinessArgs.builder()
                    .duration(0)
                    .enabled(false)
                    .build())
                .build())
            .order(0)
            .redirect(ListenerDefaultActionRedirectArgs.builder()
                .statusCode("string")
                .host("string")
                .path("string")
                .port("string")
                .protocol("string")
                .query("string")
                .build())
            .targetGroupArn("string")
            .build())
        .mutualAuthentication(ListenerMutualAuthenticationArgs.builder()
            .mode("string")
            .advertiseTrustStoreCaNames("string")
            .ignoreClientCertificateExpiry(false)
            .trustStoreArn("string")
            .build())
        .port(0)
        .protocol("string")
        .sslPolicy("string")
        .tags(Map.of("string", "string"))
        .tcpIdleTimeoutSeconds(0)
        .build())
    .name("string")
    .namePrefix("string")
    .preserveHostHeader(false)
    .securityGroups("string")
    .subnetIds("string")
    .subnetMappings(LoadBalancerSubnetMappingArgs.builder()
        .subnetId("string")
        .allocationId("string")
        .ipv6Address("string")
        .outpostId("string")
        .privateIpv4Address("string")
        .build())
    .subnets(subnet)
    .tags(Map.of("string", "string"))
    .xffHeaderProcessingMode("string")
    .build());
Copy
network_load_balancer_resource = awsx.lb.NetworkLoadBalancer("networkLoadBalancerResource",
    access_logs={
        "bucket": "string",
        "enabled": False,
        "prefix": "string",
    },
    client_keep_alive=0,
    connection_logs={
        "bucket": "string",
        "enabled": False,
        "prefix": "string",
    },
    customer_owned_ipv4_pool="string",
    default_target_group={
        "connection_termination": False,
        "deregistration_delay": 0,
        "health_check": {
            "enabled": False,
            "healthy_threshold": 0,
            "interval": 0,
            "matcher": "string",
            "path": "string",
            "port": "string",
            "protocol": "string",
            "timeout": 0,
            "unhealthy_threshold": 0,
        },
        "ip_address_type": "string",
        "lambda_multi_value_headers_enabled": False,
        "load_balancing_algorithm_type": "string",
        "load_balancing_anomaly_mitigation": "string",
        "load_balancing_cross_zone_enabled": "string",
        "name": "string",
        "name_prefix": "string",
        "port": 0,
        "preserve_client_ip": "string",
        "protocol": "string",
        "protocol_version": "string",
        "proxy_protocol_v2": False,
        "slow_start": 0,
        "stickiness": {
            "type": "string",
            "cookie_duration": 0,
            "cookie_name": "string",
            "enabled": False,
        },
        "tags": {
            "string": "string",
        },
        "target_failovers": [{
            "on_deregistration": "string",
            "on_unhealthy": "string",
        }],
        "target_group_health": {
            "dns_failover": {
                "minimum_healthy_targets_count": "string",
                "minimum_healthy_targets_percentage": "string",
            },
            "unhealthy_state_routing": {
                "minimum_healthy_targets_count": 0,
                "minimum_healthy_targets_percentage": "string",
            },
        },
        "target_health_states": [{
            "enable_unhealthy_connection_termination": False,
            "unhealthy_draining_interval": 0,
        }],
        "target_type": "string",
        "vpc_id": "string",
    },
    default_target_group_port=0,
    desync_mitigation_mode="string",
    dns_record_client_routing_policy="string",
    drop_invalid_header_fields=False,
    enable_cross_zone_load_balancing=False,
    enable_deletion_protection=False,
    enable_tls_version_and_cipher_suite_headers=False,
    enable_waf_fail_open=False,
    enable_xff_client_port=False,
    enable_zonal_shift=False,
    enforce_security_group_inbound_rules_on_private_link_traffic="string",
    idle_timeout=0,
    internal=False,
    ip_address_type="string",
    listener={
        "alpn_policy": "string",
        "certificate_arn": "string",
        "default_actions": [{
            "type": "string",
            "authenticate_cognito": {
                "user_pool_arn": "string",
                "user_pool_client_id": "string",
                "user_pool_domain": "string",
                "authentication_request_extra_params": {
                    "string": "string",
                },
                "on_unauthenticated_request": "string",
                "scope": "string",
                "session_cookie_name": "string",
                "session_timeout": 0,
            },
            "authenticate_oidc": {
                "authorization_endpoint": "string",
                "client_id": "string",
                "client_secret": "string",
                "issuer": "string",
                "token_endpoint": "string",
                "user_info_endpoint": "string",
                "authentication_request_extra_params": {
                    "string": "string",
                },
                "on_unauthenticated_request": "string",
                "scope": "string",
                "session_cookie_name": "string",
                "session_timeout": 0,
            },
            "fixed_response": {
                "content_type": "string",
                "message_body": "string",
                "status_code": "string",
            },
            "forward": {
                "target_groups": [{
                    "arn": "string",
                    "weight": 0,
                }],
                "stickiness": {
                    "duration": 0,
                    "enabled": False,
                },
            },
            "order": 0,
            "redirect": {
                "status_code": "string",
                "host": "string",
                "path": "string",
                "port": "string",
                "protocol": "string",
                "query": "string",
            },
            "target_group_arn": "string",
        }],
        "mutual_authentication": {
            "mode": "string",
            "advertise_trust_store_ca_names": "string",
            "ignore_client_certificate_expiry": False,
            "trust_store_arn": "string",
        },
        "port": 0,
        "protocol": "string",
        "ssl_policy": "string",
        "tags": {
            "string": "string",
        },
        "tcp_idle_timeout_seconds": 0,
    },
    listeners=[{
        "alpn_policy": "string",
        "certificate_arn": "string",
        "default_actions": [{
            "type": "string",
            "authenticate_cognito": {
                "user_pool_arn": "string",
                "user_pool_client_id": "string",
                "user_pool_domain": "string",
                "authentication_request_extra_params": {
                    "string": "string",
                },
                "on_unauthenticated_request": "string",
                "scope": "string",
                "session_cookie_name": "string",
                "session_timeout": 0,
            },
            "authenticate_oidc": {
                "authorization_endpoint": "string",
                "client_id": "string",
                "client_secret": "string",
                "issuer": "string",
                "token_endpoint": "string",
                "user_info_endpoint": "string",
                "authentication_request_extra_params": {
                    "string": "string",
                },
                "on_unauthenticated_request": "string",
                "scope": "string",
                "session_cookie_name": "string",
                "session_timeout": 0,
            },
            "fixed_response": {
                "content_type": "string",
                "message_body": "string",
                "status_code": "string",
            },
            "forward": {
                "target_groups": [{
                    "arn": "string",
                    "weight": 0,
                }],
                "stickiness": {
                    "duration": 0,
                    "enabled": False,
                },
            },
            "order": 0,
            "redirect": {
                "status_code": "string",
                "host": "string",
                "path": "string",
                "port": "string",
                "protocol": "string",
                "query": "string",
            },
            "target_group_arn": "string",
        }],
        "mutual_authentication": {
            "mode": "string",
            "advertise_trust_store_ca_names": "string",
            "ignore_client_certificate_expiry": False,
            "trust_store_arn": "string",
        },
        "port": 0,
        "protocol": "string",
        "ssl_policy": "string",
        "tags": {
            "string": "string",
        },
        "tcp_idle_timeout_seconds": 0,
    }],
    name="string",
    name_prefix="string",
    preserve_host_header=False,
    security_groups=["string"],
    subnet_ids=["string"],
    subnet_mappings=[{
        "subnet_id": "string",
        "allocation_id": "string",
        "ipv6_address": "string",
        "outpost_id": "string",
        "private_ipv4_address": "string",
    }],
    subnets=[subnet],
    tags={
        "string": "string",
    },
    xff_header_processing_mode="string")
Copy
const networkLoadBalancerResource = new awsx.lb.NetworkLoadBalancer("networkLoadBalancerResource", {
    accessLogs: {
        bucket: "string",
        enabled: false,
        prefix: "string",
    },
    clientKeepAlive: 0,
    connectionLogs: {
        bucket: "string",
        enabled: false,
        prefix: "string",
    },
    customerOwnedIpv4Pool: "string",
    defaultTargetGroup: {
        connectionTermination: false,
        deregistrationDelay: 0,
        healthCheck: {
            enabled: false,
            healthyThreshold: 0,
            interval: 0,
            matcher: "string",
            path: "string",
            port: "string",
            protocol: "string",
            timeout: 0,
            unhealthyThreshold: 0,
        },
        ipAddressType: "string",
        lambdaMultiValueHeadersEnabled: false,
        loadBalancingAlgorithmType: "string",
        loadBalancingAnomalyMitigation: "string",
        loadBalancingCrossZoneEnabled: "string",
        name: "string",
        namePrefix: "string",
        port: 0,
        preserveClientIp: "string",
        protocol: "string",
        protocolVersion: "string",
        proxyProtocolV2: false,
        slowStart: 0,
        stickiness: {
            type: "string",
            cookieDuration: 0,
            cookieName: "string",
            enabled: false,
        },
        tags: {
            string: "string",
        },
        targetFailovers: [{
            onDeregistration: "string",
            onUnhealthy: "string",
        }],
        targetGroupHealth: {
            dnsFailover: {
                minimumHealthyTargetsCount: "string",
                minimumHealthyTargetsPercentage: "string",
            },
            unhealthyStateRouting: {
                minimumHealthyTargetsCount: 0,
                minimumHealthyTargetsPercentage: "string",
            },
        },
        targetHealthStates: [{
            enableUnhealthyConnectionTermination: false,
            unhealthyDrainingInterval: 0,
        }],
        targetType: "string",
        vpcId: "string",
    },
    defaultTargetGroupPort: 0,
    desyncMitigationMode: "string",
    dnsRecordClientRoutingPolicy: "string",
    dropInvalidHeaderFields: false,
    enableCrossZoneLoadBalancing: false,
    enableDeletionProtection: false,
    enableTlsVersionAndCipherSuiteHeaders: false,
    enableWafFailOpen: false,
    enableXffClientPort: false,
    enableZonalShift: false,
    enforceSecurityGroupInboundRulesOnPrivateLinkTraffic: "string",
    idleTimeout: 0,
    internal: false,
    ipAddressType: "string",
    listener: {
        alpnPolicy: "string",
        certificateArn: "string",
        defaultActions: [{
            type: "string",
            authenticateCognito: {
                userPoolArn: "string",
                userPoolClientId: "string",
                userPoolDomain: "string",
                authenticationRequestExtraParams: {
                    string: "string",
                },
                onUnauthenticatedRequest: "string",
                scope: "string",
                sessionCookieName: "string",
                sessionTimeout: 0,
            },
            authenticateOidc: {
                authorizationEndpoint: "string",
                clientId: "string",
                clientSecret: "string",
                issuer: "string",
                tokenEndpoint: "string",
                userInfoEndpoint: "string",
                authenticationRequestExtraParams: {
                    string: "string",
                },
                onUnauthenticatedRequest: "string",
                scope: "string",
                sessionCookieName: "string",
                sessionTimeout: 0,
            },
            fixedResponse: {
                contentType: "string",
                messageBody: "string",
                statusCode: "string",
            },
            forward: {
                targetGroups: [{
                    arn: "string",
                    weight: 0,
                }],
                stickiness: {
                    duration: 0,
                    enabled: false,
                },
            },
            order: 0,
            redirect: {
                statusCode: "string",
                host: "string",
                path: "string",
                port: "string",
                protocol: "string",
                query: "string",
            },
            targetGroupArn: "string",
        }],
        mutualAuthentication: {
            mode: "string",
            advertiseTrustStoreCaNames: "string",
            ignoreClientCertificateExpiry: false,
            trustStoreArn: "string",
        },
        port: 0,
        protocol: "string",
        sslPolicy: "string",
        tags: {
            string: "string",
        },
        tcpIdleTimeoutSeconds: 0,
    },
    listeners: [{
        alpnPolicy: "string",
        certificateArn: "string",
        defaultActions: [{
            type: "string",
            authenticateCognito: {
                userPoolArn: "string",
                userPoolClientId: "string",
                userPoolDomain: "string",
                authenticationRequestExtraParams: {
                    string: "string",
                },
                onUnauthenticatedRequest: "string",
                scope: "string",
                sessionCookieName: "string",
                sessionTimeout: 0,
            },
            authenticateOidc: {
                authorizationEndpoint: "string",
                clientId: "string",
                clientSecret: "string",
                issuer: "string",
                tokenEndpoint: "string",
                userInfoEndpoint: "string",
                authenticationRequestExtraParams: {
                    string: "string",
                },
                onUnauthenticatedRequest: "string",
                scope: "string",
                sessionCookieName: "string",
                sessionTimeout: 0,
            },
            fixedResponse: {
                contentType: "string",
                messageBody: "string",
                statusCode: "string",
            },
            forward: {
                targetGroups: [{
                    arn: "string",
                    weight: 0,
                }],
                stickiness: {
                    duration: 0,
                    enabled: false,
                },
            },
            order: 0,
            redirect: {
                statusCode: "string",
                host: "string",
                path: "string",
                port: "string",
                protocol: "string",
                query: "string",
            },
            targetGroupArn: "string",
        }],
        mutualAuthentication: {
            mode: "string",
            advertiseTrustStoreCaNames: "string",
            ignoreClientCertificateExpiry: false,
            trustStoreArn: "string",
        },
        port: 0,
        protocol: "string",
        sslPolicy: "string",
        tags: {
            string: "string",
        },
        tcpIdleTimeoutSeconds: 0,
    }],
    name: "string",
    namePrefix: "string",
    preserveHostHeader: false,
    securityGroups: ["string"],
    subnetIds: ["string"],
    subnetMappings: [{
        subnetId: "string",
        allocationId: "string",
        ipv6Address: "string",
        outpostId: "string",
        privateIpv4Address: "string",
    }],
    subnets: [subnet],
    tags: {
        string: "string",
    },
    xffHeaderProcessingMode: "string",
});
Copy
type: awsx:lb:NetworkLoadBalancer
properties:
    accessLogs:
        bucket: string
        enabled: false
        prefix: string
    clientKeepAlive: 0
    connectionLogs:
        bucket: string
        enabled: false
        prefix: string
    customerOwnedIpv4Pool: string
    defaultTargetGroup:
        connectionTermination: false
        deregistrationDelay: 0
        healthCheck:
            enabled: false
            healthyThreshold: 0
            interval: 0
            matcher: string
            path: string
            port: string
            protocol: string
            timeout: 0
            unhealthyThreshold: 0
        ipAddressType: string
        lambdaMultiValueHeadersEnabled: false
        loadBalancingAlgorithmType: string
        loadBalancingAnomalyMitigation: string
        loadBalancingCrossZoneEnabled: string
        name: string
        namePrefix: string
        port: 0
        preserveClientIp: string
        protocol: string
        protocolVersion: string
        proxyProtocolV2: false
        slowStart: 0
        stickiness:
            cookieDuration: 0
            cookieName: string
            enabled: false
            type: string
        tags:
            string: string
        targetFailovers:
            - onDeregistration: string
              onUnhealthy: string
        targetGroupHealth:
            dnsFailover:
                minimumHealthyTargetsCount: string
                minimumHealthyTargetsPercentage: string
            unhealthyStateRouting:
                minimumHealthyTargetsCount: 0
                minimumHealthyTargetsPercentage: string
        targetHealthStates:
            - enableUnhealthyConnectionTermination: false
              unhealthyDrainingInterval: 0
        targetType: string
        vpcId: string
    defaultTargetGroupPort: 0
    desyncMitigationMode: string
    dnsRecordClientRoutingPolicy: string
    dropInvalidHeaderFields: false
    enableCrossZoneLoadBalancing: false
    enableDeletionProtection: false
    enableTlsVersionAndCipherSuiteHeaders: false
    enableWafFailOpen: false
    enableXffClientPort: false
    enableZonalShift: false
    enforceSecurityGroupInboundRulesOnPrivateLinkTraffic: string
    idleTimeout: 0
    internal: false
    ipAddressType: string
    listener:
        alpnPolicy: string
        certificateArn: string
        defaultActions:
            - authenticateCognito:
                authenticationRequestExtraParams:
                    string: string
                onUnauthenticatedRequest: string
                scope: string
                sessionCookieName: string
                sessionTimeout: 0
                userPoolArn: string
                userPoolClientId: string
                userPoolDomain: string
              authenticateOidc:
                authenticationRequestExtraParams:
                    string: string
                authorizationEndpoint: string
                clientId: string
                clientSecret: string
                issuer: string
                onUnauthenticatedRequest: string
                scope: string
                sessionCookieName: string
                sessionTimeout: 0
                tokenEndpoint: string
                userInfoEndpoint: string
              fixedResponse:
                contentType: string
                messageBody: string
                statusCode: string
              forward:
                stickiness:
                    duration: 0
                    enabled: false
                targetGroups:
                    - arn: string
                      weight: 0
              order: 0
              redirect:
                host: string
                path: string
                port: string
                protocol: string
                query: string
                statusCode: string
              targetGroupArn: string
              type: string
        mutualAuthentication:
            advertiseTrustStoreCaNames: string
            ignoreClientCertificateExpiry: false
            mode: string
            trustStoreArn: string
        port: 0
        protocol: string
        sslPolicy: string
        tags:
            string: string
        tcpIdleTimeoutSeconds: 0
    listeners:
        - alpnPolicy: string
          certificateArn: string
          defaultActions:
            - authenticateCognito:
                authenticationRequestExtraParams:
                    string: string
                onUnauthenticatedRequest: string
                scope: string
                sessionCookieName: string
                sessionTimeout: 0
                userPoolArn: string
                userPoolClientId: string
                userPoolDomain: string
              authenticateOidc:
                authenticationRequestExtraParams:
                    string: string
                authorizationEndpoint: string
                clientId: string
                clientSecret: string
                issuer: string
                onUnauthenticatedRequest: string
                scope: string
                sessionCookieName: string
                sessionTimeout: 0
                tokenEndpoint: string
                userInfoEndpoint: string
              fixedResponse:
                contentType: string
                messageBody: string
                statusCode: string
              forward:
                stickiness:
                    duration: 0
                    enabled: false
                targetGroups:
                    - arn: string
                      weight: 0
              order: 0
              redirect:
                host: string
                path: string
                port: string
                protocol: string
                query: string
                statusCode: string
              targetGroupArn: string
              type: string
          mutualAuthentication:
            advertiseTrustStoreCaNames: string
            ignoreClientCertificateExpiry: false
            mode: string
            trustStoreArn: string
          port: 0
          protocol: string
          sslPolicy: string
          tags:
            string: string
          tcpIdleTimeoutSeconds: 0
    name: string
    namePrefix: string
    preserveHostHeader: false
    securityGroups:
        - string
    subnetIds:
        - string
    subnetMappings:
        - allocationId: string
          ipv6Address: string
          outpostId: string
          privateIpv4Address: string
          subnetId: string
    subnets:
        - ${subnet}
    tags:
        string: string
    xffHeaderProcessingMode: string
Copy

NetworkLoadBalancer Resource Properties

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

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The NetworkLoadBalancer resource accepts the following input properties:

AccessLogs Pulumi.Aws.LB.Inputs.LoadBalancerAccessLogs

Access Logs block. See below.

This type is defined in the AWS Classic package.

ClientKeepAlive int
Client keep alive value in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.
ConnectionLogs Pulumi.Aws.LB.Inputs.LoadBalancerConnectionLogs

Connection Logs block. See below. Only valid for Load Balancers of type application.

This type is defined in the AWS Classic package.

CustomerOwnedIpv4Pool Changes to this property will trigger replacement. string
ID of the customer owned ipv4 pool to use for this load balancer.
DefaultTargetGroup 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
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
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
Whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type application.
EnableCrossZoneLoadBalancing bool
If true, cross-zone load balancing of the load balancer will be enabled. For network and gateway type load balancers, this feature is disabled by default (false). For application load balancer this feature is always enabled (true) and cannot be disabled. Defaults to false.
EnableDeletionProtection 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.
EnableTlsVersionAndCipherSuiteHeaders bool
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
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
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.
EnableZonalShift bool
Whether zonal shift is enabled. Defaults to false.
EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic string
Whether inbound security group rules are enforced for traffic originating from a PrivateLink. Only valid for Load Balancers of type network. The possible values are on and off.
IdleTimeout int
Time in seconds that the connection is allowed to be idle. Only valid for Load Balancers of type application. Default: 60.
Internal Changes to this property will trigger replacement. bool
If true, the LB will be internal. Defaults to false.
IpAddressType string
Type of IP addresses used by the subnets for your load balancer. The possible values depend upon the load balancer type: ipv4 (all load balancer types), dualstack (all load balancer types), and dualstack-without-public-ipv4 (type application only).
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 Changes to this property will trigger replacement. string
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 Changes to this property will trigger replacement. string
Creates a unique name beginning with the specified prefix. Conflicts with name.
PreserveHostHeader bool
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>
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>
List of subnet IDs to attach to the LB. For Load Balancers of type network subnets can only be added (see Availability Zones), deleting a subnet for load balancers of type network will force a recreation of the resource.
SubnetMappings List<Pulumi.Aws.LB.Inputs.LoadBalancerSubnetMapping>
Subnet mapping block. See below. For Load Balancers of type network subnet mappings can only be added.
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>
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

Access Logs block. See below.

This type is defined in the AWS Classic package.

ClientKeepAlive int
Client keep alive value in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.
ConnectionLogs LoadBalancerConnectionLogsArgs

Connection Logs block. See below. Only valid for Load Balancers of type application.

This type is defined in the AWS Classic package.

CustomerOwnedIpv4Pool Changes to this property will trigger replacement. string
ID of the customer owned ipv4 pool to use for this load balancer.
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
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
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
Whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type application.
EnableCrossZoneLoadBalancing bool
If true, cross-zone load balancing of the load balancer will be enabled. For network and gateway type load balancers, this feature is disabled by default (false). For application load balancer this feature is always enabled (true) and cannot be disabled. Defaults to false.
EnableDeletionProtection 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.
EnableTlsVersionAndCipherSuiteHeaders bool
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
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
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.
EnableZonalShift bool
Whether zonal shift is enabled. Defaults to false.
EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic string
Whether inbound security group rules are enforced for traffic originating from a PrivateLink. Only valid for Load Balancers of type network. The possible values are on and off.
IdleTimeout int
Time in seconds that the connection is allowed to be idle. Only valid for Load Balancers of type application. Default: 60.
Internal Changes to this property will trigger replacement. bool
If true, the LB will be internal. Defaults to false.
IpAddressType string
Type of IP addresses used by the subnets for your load balancer. The possible values depend upon the load balancer type: ipv4 (all load balancer types), dualstack (all load balancer types), and dualstack-without-public-ipv4 (type application only).
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 Changes to this property will trigger replacement. string
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 Changes to this property will trigger replacement. string
Creates a unique name beginning with the specified prefix. Conflicts with name.
PreserveHostHeader bool
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
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
List of subnet IDs to attach to the LB. For Load Balancers of type network subnets can only be added (see Availability Zones), deleting a subnet for load balancers of type network will force a recreation of the resource.
SubnetMappings LoadBalancerSubnetMappingArgs
Subnet mapping block. See below. For Load Balancers of type network subnet mappings can only be added.
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
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

Access Logs block. See below.

This type is defined in the AWS Classic package.

clientKeepAlive Integer
Client keep alive value in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.
connectionLogs LoadBalancerConnectionLogs

Connection Logs block. See below. Only valid for Load Balancers of type application.

This type is defined in the AWS Classic package.

customerOwnedIpv4Pool Changes to this property will trigger replacement. String
ID of the customer owned ipv4 pool to use for this load balancer.
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
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
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
Whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type application.
enableCrossZoneLoadBalancing Boolean
If true, cross-zone load balancing of the load balancer will be enabled. For network and gateway type load balancers, this feature is disabled by default (false). For application load balancer this feature is always enabled (true) and cannot be disabled. Defaults to false.
enableDeletionProtection 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.
enableTlsVersionAndCipherSuiteHeaders Boolean
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
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
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.
enableZonalShift Boolean
Whether zonal shift is enabled. Defaults to false.
enforceSecurityGroupInboundRulesOnPrivateLinkTraffic String
Whether inbound security group rules are enforced for traffic originating from a PrivateLink. Only valid for Load Balancers of type network. The possible values are on and off.
idleTimeout Integer
Time in seconds that the connection is allowed to be idle. Only valid for Load Balancers of type application. Default: 60.
internal Changes to this property will trigger replacement. Boolean
If true, the LB will be internal. Defaults to false.
ipAddressType String
Type of IP addresses used by the subnets for your load balancer. The possible values depend upon the load balancer type: ipv4 (all load balancer types), dualstack (all load balancer types), and dualstack-without-public-ipv4 (type application only).
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 Changes to this property will trigger replacement. String
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 Changes to this property will trigger replacement. String
Creates a unique name beginning with the specified prefix. Conflicts with name.
preserveHostHeader Boolean
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>
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>
List of subnet IDs to attach to the LB. For Load Balancers of type network subnets can only be added (see Availability Zones), deleting a subnet for load balancers of type network will force a recreation of the resource.
subnetMappings List<LoadBalancerSubnetMapping>
Subnet mapping block. See below. For Load Balancers of type network subnet mappings can only be added.
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>
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

Access Logs block. See below.

This type is defined in the AWS Classic package.

clientKeepAlive number
Client keep alive value in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.
connectionLogs pulumiAws.types.input.LoadBalancerConnectionLogs

Connection Logs block. See below. Only valid for Load Balancers of type application.

This type is defined in the AWS Classic package.

customerOwnedIpv4Pool Changes to this property will trigger replacement. string
ID of the customer owned ipv4 pool to use for this load balancer.
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
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
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
Whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type application.
enableCrossZoneLoadBalancing boolean
If true, cross-zone load balancing of the load balancer will be enabled. For network and gateway type load balancers, this feature is disabled by default (false). For application load balancer this feature is always enabled (true) and cannot be disabled. Defaults to false.
enableDeletionProtection 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.
enableTlsVersionAndCipherSuiteHeaders boolean
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
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
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.
enableZonalShift boolean
Whether zonal shift is enabled. Defaults to false.
enforceSecurityGroupInboundRulesOnPrivateLinkTraffic string
Whether inbound security group rules are enforced for traffic originating from a PrivateLink. Only valid for Load Balancers of type network. The possible values are on and off.
idleTimeout number
Time in seconds that the connection is allowed to be idle. Only valid for Load Balancers of type application. Default: 60.
internal Changes to this property will trigger replacement. boolean
If true, the LB will be internal. Defaults to false.
ipAddressType string
Type of IP addresses used by the subnets for your load balancer. The possible values depend upon the load balancer type: ipv4 (all load balancer types), dualstack (all load balancer types), and dualstack-without-public-ipv4 (type application only).
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 Changes to this property will trigger replacement. string
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 Changes to this property will trigger replacement. string
Creates a unique name beginning with the specified prefix. Conflicts with name.
preserveHostHeader boolean
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[]
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[]
List of subnet IDs to attach to the LB. For Load Balancers of type network subnets can only be added (see Availability Zones), deleting a subnet for load balancers of type network will force a recreation of the resource.
subnetMappings pulumiAws.types.input.LoadBalancerSubnetMapping[]
Subnet mapping block. See below. For Load Balancers of type network subnet mappings can only be added.
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}
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 pulumi_aws.lb.LoadBalancerAccessLogsArgs

Access Logs block. See below.

This type is defined in the AWS Classic package.

client_keep_alive int
Client keep alive value in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.
connection_logs pulumi_aws.lb.LoadBalancerConnectionLogsArgs

Connection Logs block. See below. Only valid for Load Balancers of type application.

This type is defined in the AWS Classic package.

customer_owned_ipv4_pool Changes to this property will trigger replacement. str
ID of the customer owned ipv4 pool to use for this load balancer.
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
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
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
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_cross_zone_load_balancing bool
If true, cross-zone load balancing of the load balancer will be enabled. For network and gateway type load balancers, this feature is disabled by default (false). For application load balancer this feature is always enabled (true) and cannot be disabled. Defaults to false.
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_tls_version_and_cipher_suite_headers bool
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
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
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.
enable_zonal_shift bool
Whether zonal shift is enabled. Defaults to false.
enforce_security_group_inbound_rules_on_private_link_traffic str
Whether inbound security group rules are enforced for traffic originating from a PrivateLink. Only valid for Load Balancers of type network. The possible values are on and off.
idle_timeout int
Time in seconds that the connection is allowed to be idle. Only valid for Load Balancers of type application. Default: 60.
internal Changes to this property will trigger replacement. bool
If true, the LB will be internal. Defaults to false.
ip_address_type str
Type of IP addresses used by the subnets for your load balancer. The possible values depend upon the load balancer type: ipv4 (all load balancer types), dualstack (all load balancer types), and dualstack-without-public-ipv4 (type application only).
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 Changes to this property will trigger replacement. str
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 Changes to this property will trigger replacement. str
Creates a unique name beginning with the specified prefix. Conflicts with name.
preserve_host_header bool
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]
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]
List of subnet IDs to attach to the LB. For Load Balancers of type network subnets can only be added (see Availability Zones), deleting a subnet for load balancers of type network will force a recreation of the resource.
subnet_mappings Sequence[pulumi_aws.lb.LoadBalancerSubnetMappingArgs]
Subnet mapping block. See below. For Load Balancers of type network subnet mappings can only be added.
subnets Sequence[pulumi_aws.ec2.Subnet]
A list of subnets to attach to the LB. Only one of [subnets], [subnetIds] or [subnetMappings] can be specified
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.
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

Access Logs block. See below.

This type is defined in the AWS Classic package.

clientKeepAlive Number
Client keep alive value in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.
connectionLogs Property Map

Connection Logs block. See below. Only valid for Load Balancers of type application.

This type is defined in the AWS Classic package.

customerOwnedIpv4Pool Changes to this property will trigger replacement. String
ID of the customer owned ipv4 pool to use for this load balancer.
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
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
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
Whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type application.
enableCrossZoneLoadBalancing Boolean
If true, cross-zone load balancing of the load balancer will be enabled. For network and gateway type load balancers, this feature is disabled by default (false). For application load balancer this feature is always enabled (true) and cannot be disabled. Defaults to false.
enableDeletionProtection 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.
enableTlsVersionAndCipherSuiteHeaders Boolean
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
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
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.
enableZonalShift Boolean
Whether zonal shift is enabled. Defaults to false.
enforceSecurityGroupInboundRulesOnPrivateLinkTraffic String
Whether inbound security group rules are enforced for traffic originating from a PrivateLink. Only valid for Load Balancers of type network. The possible values are on and off.
idleTimeout Number
Time in seconds that the connection is allowed to be idle. Only valid for Load Balancers of type application. Default: 60.
internal Changes to this property will trigger replacement. Boolean
If true, the LB will be internal. Defaults to false.
ipAddressType String
Type of IP addresses used by the subnets for your load balancer. The possible values depend upon the load balancer type: ipv4 (all load balancer types), dualstack (all load balancer types), and dualstack-without-public-ipv4 (type application only).
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 Changes to this property will trigger replacement. String
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 Changes to this property will trigger replacement. String
Creates a unique name beginning with the specified prefix. Conflicts with name.
preserveHostHeader Boolean
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>
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>
List of subnet IDs to attach to the LB. For Load Balancers of type network subnets can only be added (see Availability Zones), deleting a subnet for load balancers of type network will force a recreation of the resource.
subnetMappings List<Property Map>
Subnet mapping block. See below. For Load Balancers of type network subnet mappings can only be added.
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>
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 NetworkLoadBalancer resource produces the following output properties:

LoadBalancer Pulumi.Aws.LB.LoadBalancer
Underlying Load Balancer resource This type is defined in the AWS Classic package.
VpcId string
Id of the VPC in which this load balancer is operating
LoadBalancer LoadBalancer
Underlying Load Balancer resource This type is defined in the AWS Classic package.
VpcId string
Id of the VPC in which this load balancer is operating
loadBalancer LoadBalancer
Underlying Load Balancer resource This type is defined in the AWS Classic package.
vpcId String
Id of the VPC in which this load balancer is operating
loadBalancer pulumiAws.LoadBalancer
Underlying Load Balancer resource This type is defined in the AWS Classic package.
vpcId string
Id of the VPC in which this load balancer is operating
load_balancer pulumi_aws.lb.LoadBalancer
Underlying Load Balancer resource This type is defined in the AWS Classic package.
vpc_id str
Id of the VPC in which this load balancer is operating
loadBalancer aws::LoadBalancer
Underlying Load Balancer resource This type is defined in the AWS Classic package.
vpcId String
Id of the VPC in which this load balancer is operating

Supporting Types

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. See below.
MutualAuthentication Pulumi.Aws.LB.Inputs.ListenerMutualAuthentication

The mutual authentication configuration information. See below.

This type is defined in the AWS Classic package.

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. Default is ELBSecurityPolicy-2016-08.
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:: When a Name key is specified in the map, the AWS Console maps the value to the Name Tag column value inside the Listener Rules table within a specific load balancer listener page. Otherwise, the value resolves to Default.

TcpIdleTimeoutSeconds int
TCP idle timeout value in seconds. Can only be set if protocol is TCP on Network Load Balancer, or with a Gateway Load Balancer. Not supported for Application Load Balancers. Valid values are between 60 and 6000 inclusive. Default: 350.
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. See below.
MutualAuthentication ListenerMutualAuthentication

The mutual authentication configuration information. See below.

This type is defined in the AWS Classic package.

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. Default is ELBSecurityPolicy-2016-08.
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:: When a Name key is specified in the map, the AWS Console maps the value to the Name Tag column value inside the Listener Rules table within a specific load balancer listener page. Otherwise, the value resolves to Default.

TcpIdleTimeoutSeconds int
TCP idle timeout value in seconds. Can only be set if protocol is TCP on Network Load Balancer, or with a Gateway Load Balancer. Not supported for Application Load Balancers. Valid values are between 60 and 6000 inclusive. Default: 350.
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. See below.
mutualAuthentication ListenerMutualAuthentication

The mutual authentication configuration information. See below.

This type is defined in the AWS Classic package.

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. Default is ELBSecurityPolicy-2016-08.
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:: When a Name key is specified in the map, the AWS Console maps the value to the Name Tag column value inside the Listener Rules table within a specific load balancer listener page. Otherwise, the value resolves to Default.

tcpIdleTimeoutSeconds Integer
TCP idle timeout value in seconds. Can only be set if protocol is TCP on Network Load Balancer, or with a Gateway Load Balancer. Not supported for Application Load Balancers. Valid values are between 60 and 6000 inclusive. Default: 350.
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. See below.
mutualAuthentication pulumiAws.types.input.ListenerMutualAuthentication

The mutual authentication configuration information. See below.

This type is defined in the AWS Classic package.

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. Default is ELBSecurityPolicy-2016-08.
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:: When a Name key is specified in the map, the AWS Console maps the value to the Name Tag column value inside the Listener Rules table within a specific load balancer listener page. Otherwise, the value resolves to Default.

tcpIdleTimeoutSeconds number
TCP idle timeout value in seconds. Can only be set if protocol is TCP on Network Load Balancer, or with a Gateway Load Balancer. Not supported for Application Load Balancers. Valid values are between 60 and 6000 inclusive. Default: 350.
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 Sequence[pulumi_aws.lb.ListenerDefaultActionArgs]
Configuration block for default actions. See below.
mutual_authentication pulumi_aws.lb.ListenerMutualAuthenticationArgs

The mutual authentication configuration information. See below.

This type is defined in the AWS Classic package.

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. Default is ELBSecurityPolicy-2016-08.
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:: When a Name key is specified in the map, the AWS Console maps the value to the Name Tag column value inside the Listener Rules table within a specific load balancer listener page. Otherwise, the value resolves to Default.

tcp_idle_timeout_seconds int
TCP idle timeout value in seconds. Can only be set if protocol is TCP on Network Load Balancer, or with a Gateway Load Balancer. Not supported for Application Load Balancers. Valid values are between 60 and 6000 inclusive. Default: 350.
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. See below.
mutualAuthentication Property Map

The mutual authentication configuration information. See below.

This type is defined in the AWS Classic package.

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. Default is ELBSecurityPolicy-2016-08.
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:: When a Name key is specified in the map, the AWS Console maps the value to the Name Tag column value inside the Listener Rules table within a specific load balancer listener page. Otherwise, the value resolves to Default.

tcpIdleTimeoutSeconds Number
TCP idle timeout value in seconds. Can only be set if protocol is TCP on Network Load Balancer, or with a Gateway Load Balancer. Not supported for Application Load Balancers. Valid values are between 60 and 6000 inclusive. Default: 350.

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.

This type is defined in the AWS Classic package.

IpAddressType Changes to this property will trigger replacement. 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, least_outstanding_requests, or weighted_random. The default is round_robin.
LoadBalancingAnomalyMitigation string
Determines whether to enable target anomaly mitigation. Target anomaly mitigation is only supported by the weighted_random load balancing algorithm type. See doc for more information. The value is "on" or "off". The default is "off".
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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. string
Creates a unique name beginning with the specified prefix. Conflicts with name. Cannot be longer than 6 characters.
Port Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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.

This type is defined in the AWS Classic package.

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.
TargetGroupHealth Pulumi.Aws.LB.Inputs.TargetGroupTargetGroupHealth

Target health requirements block. See target_group_health for more information.

This type is defined in the AWS Classic package.

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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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.

This type is defined in the AWS Classic package.

IpAddressType Changes to this property will trigger replacement. 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, least_outstanding_requests, or weighted_random. The default is round_robin.
LoadBalancingAnomalyMitigation string
Determines whether to enable target anomaly mitigation. Target anomaly mitigation is only supported by the weighted_random load balancing algorithm type. See doc for more information. The value is "on" or "off". The default is "off".
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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. string
Creates a unique name beginning with the specified prefix. Conflicts with name. Cannot be longer than 6 characters.
Port Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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.

This type is defined in the AWS Classic package.

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

Target health requirements block. See target_group_health for more information.

This type is defined in the AWS Classic package.

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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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.

This type is defined in the AWS Classic package.

ipAddressType Changes to this property will trigger replacement. 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, least_outstanding_requests, or weighted_random. The default is round_robin.
loadBalancingAnomalyMitigation String
Determines whether to enable target anomaly mitigation. Target anomaly mitigation is only supported by the weighted_random load balancing algorithm type. See doc for more information. The value is "on" or "off". The default is "off".
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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. String
Creates a unique name beginning with the specified prefix. Conflicts with name. Cannot be longer than 6 characters.
port Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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.

This type is defined in the AWS Classic package.

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

Target health requirements block. See target_group_health for more information.

This type is defined in the AWS Classic package.

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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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.

This type is defined in the AWS Classic package.

ipAddressType Changes to this property will trigger replacement. 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, least_outstanding_requests, or weighted_random. The default is round_robin.
loadBalancingAnomalyMitigation string
Determines whether to enable target anomaly mitigation. Target anomaly mitigation is only supported by the weighted_random load balancing algorithm type. See doc for more information. The value is "on" or "off". The default is "off".
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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. string
Creates a unique name beginning with the specified prefix. Conflicts with name. Cannot be longer than 6 characters.
port Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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.

This type is defined in the AWS Classic package.

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.
targetGroupHealth pulumiAws.types.input.TargetGroupTargetGroupHealth

Target health requirements block. See target_group_health for more information.

This type is defined in the AWS Classic package.

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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 pulumi_aws.lb.TargetGroupHealthCheckArgs

Health Check configuration block. Detailed below.

This type is defined in the AWS Classic package.

ip_address_type Changes to this property will trigger replacement. 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, least_outstanding_requests, or weighted_random. The default is round_robin.
load_balancing_anomaly_mitigation str
Determines whether to enable target anomaly mitigation. Target anomaly mitigation is only supported by the weighted_random load balancing algorithm type. See doc for more information. The value is "on" or "off". The default is "off".
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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. str
Creates a unique name beginning with the specified prefix. Conflicts with name. Cannot be longer than 6 characters.
port Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 pulumi_aws.lb.TargetGroupStickinessArgs

Stickiness configuration block. Detailed below.

This type is defined in the AWS Classic package.

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 Sequence[pulumi_aws.lb.TargetGroupTargetFailoverArgs]
Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information.
target_group_health pulumi_aws.lb.TargetGroupTargetGroupHealthArgs

Target health requirements block. See target_group_health for more information.

This type is defined in the AWS Classic package.

target_health_states Sequence[pulumi_aws.lb.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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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.

This type is defined in the AWS Classic package.

ipAddressType Changes to this property will trigger replacement. 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, least_outstanding_requests, or weighted_random. The default is round_robin.
loadBalancingAnomalyMitigation String
Determines whether to enable target anomaly mitigation. Target anomaly mitigation is only supported by the weighted_random load balancing algorithm type. See doc for more information. The value is "on" or "off". The default is "off".
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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. String
Creates a unique name beginning with the specified prefix. Conflicts with name. Cannot be longer than 6 characters.
port Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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.

This type is defined in the AWS Classic package.

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.
targetGroupHealth Property Map

Target health requirements block. See target_group_health for more information.

This type is defined in the AWS Classic package.

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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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