Module elasticloadbalancingv2

@pulumi/awsx > elasticloadbalancingv2

class ApplicationListener

extends Listener
implements ContainerPortMappingProvider, ContainerLoadBalancerProvider

constructor

new ApplicationListener(name: string, args: ApplicationListenerArgs, opts?: pulumi.ComponentResourceOptions)

method addListenerRule

public addListenerRule(name: string, args: x.elasticloadbalancingv2.ListenerRuleArgs, opts?: pulumi.ComponentResourceOptions): ListenerRule

method containerLoadBalancer

public containerLoadBalancer(name: string, parent: pulumi.Resource): ContainerLoadBalancer | Promise<ContainerLoadBalancer> | OutputInstance<ContainerLoadBalancer>

method containerPortMapping

public containerPortMapping(name: string, parent: pulumi.Resource): PortMapping | Promise<PortMapping> | OutputInstance<PortMapping>

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

method registerOutputs

protected registerOutputs(outputs?: Inputs | Promise<Inputs> | Output<Inputs>): void

property defaultTargetGroup

public defaultTargetGroup?: x.elasticloadbalancingv2.ApplicationTargetGroup;

property endpoint

public endpoint: pulumi.Output<ListenerEndpoint>;

property listener

public listener: aws.elasticloadbalancingv2.Listener;

property loadBalancer

public loadBalancer: ApplicationLoadBalancer;

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class ApplicationLoadBalancer

extends LoadBalancer

A application load balancer serves as the single point of contact for clients. The load balancer distributes incoming application traffic across multiple targets, such as EC2 instances, in multiple Availability Zones. This increases the availability of your application. You add one or more listeners to your load balancer.

See https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html for more details.

constructor

new ApplicationLoadBalancer(name: string, args: ApplicationLoadBalancerArgs, opts?: pulumi.ComponentResourceOptions)

method createListener

public createListener(name: string, args: ApplicationListenerArgs, opts?: pulumi.ComponentResourceOptions): ApplicationListener

Creates a new listener for this [ApplicationLoadBalancer] see ApplicationListener for more details.

method createTargetGroup

public createTargetGroup(name: string, args: ApplicationTargetGroupArgs, opts?: pulumi.ComponentResourceOptions): ApplicationTargetGroup

Creates a target group for this [ApplicationLoadBalancer] see ApplicationTargetGroup for more details.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

method registerOutputs

protected registerOutputs(outputs?: Inputs | Promise<Inputs> | Output<Inputs>): void

property listeners

public listeners: ApplicationListener[];

property loadBalancer

public loadBalancer: aws.elasticloadbalancingv2.LoadBalancer;

property securityGroups

public securityGroups: x.ec2.SecurityGroup[];

property targetGroups

public targetGroups: ApplicationTargetGroup[];

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpc

public vpc: x.ec2.Vpc;

class ApplicationTargetGroup

extends TargetGroup
implements ContainerPortMappingProvider, ContainerLoadBalancerProvider, ListenerDefaultAction

Each target group routes requests to one or more registered targets, such as EC2 instances, using the protocol and port number that you specify. You can register a target with multiple target groups. You can configure health checks on a per target group basis. Health checks are performed on all targets registered to a target group that is specified in a listener rule for your load balancer.

constructor

new ApplicationTargetGroup(name: string, args: ApplicationTargetGroupArgs, opts?: pulumi.ComponentResourceOptions)

method containerLoadBalancer

public containerLoadBalancer(): pulumi.Input<x.ecs.ContainerLoadBalancer>

method containerPortMapping

public containerPortMapping(): pulumi.Input<aws.ecs.PortMapping>

method createListener

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

method listenerDefaultAction

public listenerDefaultAction(): {
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
} | Promise<{
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
}> | OutputInstance<{
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
}>

method registerListener

public registerListener(listener: x.elasticloadbalancingv2.Listener): void

Do not call directly. Intended for use by [Listener] and [ListenerRule]

method registerOutputs

protected registerOutputs(outputs?: Inputs | Promise<Inputs> | Output<Inputs>): void

property listeners

public listeners: x.elasticloadbalancingv2.ApplicationListener[];

property loadBalancer

public loadBalancer: ApplicationLoadBalancer;

property targetGroup

public targetGroup: aws.elasticloadbalancingv2.TargetGroup;

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpc

public vpc: x.ec2.Vpc;

class Listener

extends ComponentResource
implements ContainerPortMappingProvider, ContainerLoadBalancerProvider

constructor

new Listener(type: string, name: string, defaultListenerAction: ListenerDefaultAction | undefined, args: ListenerArgs, opts?: pulumi.ComponentResourceOptions)

method addListenerRule

public addListenerRule(name: string, args: x.elasticloadbalancingv2.ListenerRuleArgs, opts?: pulumi.ComponentResourceOptions): ListenerRule

method containerLoadBalancer

public containerLoadBalancer(name: string, parent: pulumi.Resource): ContainerLoadBalancer | Promise<ContainerLoadBalancer> | OutputInstance<ContainerLoadBalancer>

method containerPortMapping

public containerPortMapping(name: string, parent: pulumi.Resource): PortMapping | Promise<PortMapping> | OutputInstance<PortMapping>

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

method registerOutputs

protected registerOutputs(outputs?: Inputs | Promise<Inputs> | Output<Inputs>): void

property endpoint

public endpoint: pulumi.Output<ListenerEndpoint>;

property listener

public listener: aws.elasticloadbalancingv2.Listener;

property loadBalancer

public loadBalancer: x.elasticloadbalancingv2.LoadBalancer;

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class ListenerRule

extends ComponentResource

The rules that you define for your listener determine how the load balancer routes requests to the targets in one or more target groups.

Each rule consists of a priority, one or more actions, an optional host condition, and an optional path condition. For more information, see https://docs.aws.amazon.com/elasticloadbalancing/latest/application/listener-update-rules.html

constructor

new ListenerRule(name: string, listener: x.elasticloadbalancingv2.Listener, args: ListenerRuleArgs, opts?: pulumi.ComponentResourceOptions)

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

method registerOutputs

protected registerOutputs(outputs?: Inputs | Promise<Inputs> | Output<Inputs>): void

property listenerRule

public listenerRule: aws.elasticloadbalancingv2.ListenerRule;

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class LoadBalancer

extends ComponentResource

constructor

new LoadBalancer(type: string, name: string, args: LoadBalancerArgs, opts?: pulumi.ComponentResourceOptions)

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

method registerOutputs

protected registerOutputs(outputs?: Inputs | Promise<Inputs> | Output<Inputs>): void

property loadBalancer

public loadBalancer: aws.elasticloadbalancingv2.LoadBalancer;

property securityGroups

public securityGroups: x.ec2.SecurityGroup[];

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpc

public vpc: x.ec2.Vpc;

class NetworkListener

extends Listener
implements ContainerPortMappingProvider, ContainerLoadBalancerProvider, IntegrationRouteTargetProvider

A listener is a process that checks for connection requests, using the protocol and port that you configure. The rules that you define for a listener determine how the load balancer routes requests to the targets in one or more target groups.

See https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-listeners.html for more details.

constructor

new NetworkListener(name: string, args: NetworkListenerArgs, opts?: pulumi.ComponentResourceOptions)

method addListenerRule

public addListenerRule(name: string, args: x.elasticloadbalancingv2.ListenerRuleArgs, opts?: pulumi.ComponentResourceOptions): ListenerRule

method containerLoadBalancer

public containerLoadBalancer(name: string, parent: pulumi.Resource): ContainerLoadBalancer | Promise<ContainerLoadBalancer> | OutputInstance<ContainerLoadBalancer>

method containerPortMapping

public containerPortMapping(name: string, parent: pulumi.Resource): PortMapping | Promise<PortMapping> | OutputInstance<PortMapping>

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

method registerOutputs

protected registerOutputs(outputs?: Inputs | Promise<Inputs> | Output<Inputs>): void

method target

public target(name: string, parent: pulumi.Resource): pulumi.Input<x.apigateway.IntegrationTarget>

property defaultTargetGroup

public defaultTargetGroup?: x.elasticloadbalancingv2.NetworkTargetGroup;

property endpoint

public endpoint: pulumi.Output<ListenerEndpoint>;

property listener

public listener: aws.elasticloadbalancingv2.Listener;

property loadBalancer

public loadBalancer: NetworkLoadBalancer;

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class NetworkLoadBalancer

extends LoadBalancer

constructor

new NetworkLoadBalancer(name: string, args: NetworkLoadBalancerArgs, opts?: pulumi.ComponentResourceOptions)

method createListener

public createListener(name: string, args: NetworkListenerArgs, opts?: pulumi.ComponentResourceOptions): NetworkListener

method createTargetGroup

public createTargetGroup(name: string, args: NetworkTargetGroupArgs, opts?: pulumi.ComponentResourceOptions): NetworkTargetGroup

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

method registerOutputs

protected registerOutputs(outputs?: Inputs | Promise<Inputs> | Output<Inputs>): void

property listeners

public listeners: NetworkListener[];

property loadBalancer

public loadBalancer: aws.elasticloadbalancingv2.LoadBalancer;

property securityGroups

public securityGroups: x.ec2.SecurityGroup[];

property targetGroups

public targetGroups: NetworkTargetGroup[];

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpc

public vpc: x.ec2.Vpc;

class NetworkTargetGroup

extends TargetGroup
implements ContainerPortMappingProvider, ContainerLoadBalancerProvider, ListenerDefaultAction

Each target group is used to route requests to one or more registered targets. When you create each listener rule, you specify a target group and conditions. When a rule condition is met, traffic is forwarded to the corresponding target group. You can create different target groups for different types of requests. For example, create one target group for general requests and other target groups for requests to the microservices for your application.

You define health check settings for your load balancer on a per target group basis. Each target group uses the default health check settings, unless you override them when you create the target group or modify them later on. After you specify a target group in a rule for a listener, the load balancer continually monitors the health of all targets registered with the target group that are in an Availability Zone enabled for the load balancer. The load balancer routes requests to the registered targets that are healthy.

See https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html for more details.

constructor

new NetworkTargetGroup(name: string, args: NetworkTargetGroupArgs, opts?: pulumi.ComponentResourceOptions)

method containerLoadBalancer

public containerLoadBalancer(): pulumi.Input<x.ecs.ContainerLoadBalancer>

method containerPortMapping

public containerPortMapping(): pulumi.Input<aws.ecs.PortMapping>

method createListener

public createListener(name: string, args: NetworkListenerArgs, opts?: pulumi.ComponentResourceOptions): NetworkListener

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

method listenerDefaultAction

public listenerDefaultAction(): {
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
} | Promise<{
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
}> | OutputInstance<{
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
}>

method registerListener

public registerListener(listener: x.elasticloadbalancingv2.Listener): void

Do not call directly. Intended for use by [Listener] and [ListenerRule]

method registerOutputs

protected registerOutputs(outputs?: Inputs | Promise<Inputs> | Output<Inputs>): void

property listeners

public listeners: x.elasticloadbalancingv2.NetworkListener[];

property loadBalancer

public loadBalancer: NetworkLoadBalancer;

property targetGroup

public targetGroup: aws.elasticloadbalancingv2.TargetGroup;

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpc

public vpc: x.ec2.Vpc;

class TargetGroup

extends ComponentResource
implements ContainerPortMappingProvider, ContainerLoadBalancerProvider, ListenerDefaultAction

constructor

new TargetGroup(type: string, name: string, args: TargetGroupArgs, opts?: pulumi.ComponentResourceOptions)

method containerLoadBalancer

public containerLoadBalancer(): pulumi.Input<x.ecs.ContainerLoadBalancer>

method containerPortMapping

public containerPortMapping(): pulumi.Input<aws.ecs.PortMapping>

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

method listenerDefaultAction

public listenerDefaultAction(): {
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
} | Promise<{
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
}> | OutputInstance<{
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
}>

method registerListener

public registerListener(listener: x.elasticloadbalancingv2.Listener): void

Do not call directly. Intended for use by [Listener] and [ListenerRule]

method registerOutputs

protected registerOutputs(outputs?: Inputs | Promise<Inputs> | Output<Inputs>): void

property listeners

public listeners: x.elasticloadbalancingv2.Listener[] =  [];

property targetGroup

public targetGroup: aws.elasticloadbalancingv2.TargetGroup;

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpc

public vpc: x.ec2.Vpc;

function isListenerActions

isListenerActions(obj: any): boolean

function isListenerDefaultAction

isListenerDefaultAction(obj: any): boolean

interface ApplicationListenerArgs

property certificateArn

certificateArn?: pulumi.Input<string>;

The 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_listener_certificate resource.

property defaultAction

defaultAction?: {
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
} | Promise<{
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
}> | OutputInstance<{
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
}> | x.elasticloadbalancingv2.ListenerDefaultAction;

An Action block. Action blocks are documented below. If not provided, a suitable defaultAction will be chosen that forwards to a new [NetworkTargetGroup] created from [port].

property external

external?: undefined | false | true;

If the listener should be available externally. If this is [true] and the LoadBalancer for this Listener is [external=true], then this listener is available to the entire internet. If this is [tru]e and the LoadBalancer is [external=false], then this listener is available to everything in the LoadBalancer’s VPC.

If this is [false] then access will controlled entirely by the egress an ingress rules of the security groups of the LoadBalancer.

Defaults to [true].

property loadBalancer

loadBalancer?: ApplicationLoadBalancer;

The load balancer this listener is associated with. If not provided, a new load balancer will be automatically created.

property port

port?: pulumi.Input<number>;

The port. Specify a value from 1 to 65535. Computed from “protocol” if not provided.

property protocol

protocol?: pulumi.Input<ApplicationProtocol>;

The protocol. Valid values are HTTP, HTTPS. Computed from “port” if not provided.

property sslPolicy

sslPolicy?: pulumi.Input<string>;

The name of the SSL Policy for the listener. Required if protocol is HTTPS.

property vpc

vpc?: x.ec2.Vpc;

The vpc this load balancer will be used with. Defaults to [Vpc.getDefault] if unspecified.

interface ApplicationLoadBalancerArgs

property accessLogs

accessLogs?: undefined | {
    bucket: pulumi.Input<string>;
    enabled: pulumi.Input<boolean>;
    prefix: pulumi.Input<string>;
} | Promise<{
    bucket: pulumi.Input<string>;
    enabled: pulumi.Input<boolean>;
    prefix: pulumi.Input<string>;
}> | OutputInstance<{
    bucket: pulumi.Input<string>;
    enabled: pulumi.Input<boolean>;
    prefix: pulumi.Input<string>;
}>;

An Access Logs block. Access Logs documented below.

property enableDeletionProtection

enableDeletionProtection?: pulumi.Input<boolean>;

If true, deletion of the load balancer will be disabled via the AWS API. This will prevent Terraform from deleting the load balancer. Defaults to false.

property enableHttp2

enableHttp2?: pulumi.Input<boolean>;

Indicates whether HTTP/2 is enabled. Defaults to true.

property external

external?: undefined | false | true;

Whether or not the load balancer is exposed to the internet. Defaults to false if unspecified.

property idleTimeout

idleTimeout?: pulumi.Input<number>;

The time in seconds that the connection is allowed to be idle. Default: 60.

property ipAddressType

ipAddressType?: pulumi.Input<"ipv4" | "dualstack">;

The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 and dualstack

property securityGroups

securityGroups?: x.ec2.SecurityGroupOrId[];

A list of security group IDs to assign to the LB.

property subnetMappings

subnetMappings?: undefined | {
    allocationId: pulumi.Input<string>;
    subnetId: pulumi.Input<string>;
} | Promise<{
    allocationId: pulumi.Input<string>;
    subnetId: pulumi.Input<string>;
}> | OutputInstance<{
    allocationId: pulumi.Input<string>;
    subnetId: pulumi.Input<string>;
}>[] | Promise<{
    allocationId: pulumi.Input<string>;
    subnetId: pulumi.Input<string>;
} | Promise<{
    allocationId: pulumi.Input<string>;
    subnetId: pulumi.Input<string>;
}> | OutputInstance<{
    allocationId: pulumi.Input<string>;
    subnetId: pulumi.Input<string>;
}>[]> | OutputInstance<{
    allocationId: pulumi.Input<string>;
    subnetId: pulumi.Input<string>;
} | Promise<{
    allocationId: pulumi.Input<string>;
    subnetId: pulumi.Input<string>;
}> | OutputInstance<{
    allocationId: pulumi.Input<string>;
    subnetId: pulumi.Input<string>;
}>[]>;

A subnet mapping block as documented below.

property subnets

subnets?: pulumi.Input<pulumi.Input<string>[]> | x.elasticloadbalancingv2.LoadBalancerSubnets;

A list of subnet IDs to attach to the LB. Subnets cannot be updated for Load Balancers of type network. Changing this value for load balancers of type network will force a recreation of the resource.

property tags

tags?: pulumi.Input<aws.Tags>;

A mapping of tags to assign to the resource.

property vpc

vpc?: x.ec2.Vpc;

The vpc this load balancer will be used with. Defaults to [Vpc.getDefault] if unspecified.

interface ApplicationTargetGroupArgs

property deregistrationDelay

deregistrationDelay?: pulumi.Input<number>;

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

property healthCheck

healthCheck?: undefined | {
    healthyThreshold: pulumi.Input<number>;
    interval: pulumi.Input<number>;
    matcher: pulumi.Input<string>;
    path: pulumi.Input<string>;
    port: pulumi.Input<string>;
    protocol: pulumi.Input<string>;
    timeout: pulumi.Input<number>;
    unhealthyThreshold: pulumi.Input<number>;
} | Promise<{
    healthyThreshold: pulumi.Input<number>;
    interval: pulumi.Input<number>;
    matcher: pulumi.Input<string>;
    path: pulumi.Input<string>;
    port: pulumi.Input<string>;
    protocol: pulumi.Input<string>;
    timeout: pulumi.Input<number>;
    unhealthyThreshold: pulumi.Input<number>;
}> | OutputInstance<{
    healthyThreshold: pulumi.Input<number>;
    interval: pulumi.Input<number>;
    matcher: pulumi.Input<string>;
    path: pulumi.Input<string>;
    port: pulumi.Input<string>;
    protocol: pulumi.Input<string>;
    timeout: pulumi.Input<number>;
    unhealthyThreshold: pulumi.Input<number>;
}>;

A Health Check block. Health Check blocks are documented below.

property loadBalancer

loadBalancer?: ApplicationLoadBalancer;

The load balancer this target group is associated with. If not provided, a new load balancer will be automatically created.

property port

port?: pulumi.Input<number>;

The port to use to connect with the target. Valid values are either ports 1-65536. If unspecified will be inferred from the [protocol].

property protocol

protocol?: pulumi.Input<ApplicationProtocol>;

The protocol to use to connect with the target. If unspecified will be inferred from [port].

property proxyProtocolV2

proxyProtocolV2?: pulumi.Input<boolean>;

Boolean to enable / disable support for proxy protocol v2 on Network Load Balancers. See doc for more information.

property slowStart

slowStart?: pulumi.Input<number>;

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

property stickiness

stickiness?: undefined | {
    cookieDuration: pulumi.Input<number>;
    enabled: pulumi.Input<boolean>;
    type: pulumi.Input<string>;
} | Promise<{
    cookieDuration: pulumi.Input<number>;
    enabled: pulumi.Input<boolean>;
    type: pulumi.Input<string>;
}> | OutputInstance<{
    cookieDuration: pulumi.Input<number>;
    enabled: pulumi.Input<boolean>;
    type: pulumi.Input<string>;
}>;

A Stickiness block. Stickiness blocks are documented below. stickiness is only valid if used with Load Balancers of type Application

property tags

tags?: pulumi.Input<aws.Tags>;

A mapping of tags to assign to the resource.

property targetType

targetType?: pulumi.Input<"instance" | "ip">;

The type of target that you must specify when registering targets with this target group. The possible values are instance (targets are specified by instance ID) or ip (targets are specified by IP address). The default is ip.

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.

property vpc

vpc?: x.ec2.Vpc;

The vpc this load balancer will be used with. Defaults to [Vpc.getDefault] if unspecified.

interface ListenerActions

method actions

actions(): {
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
} | Promise<{
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
}> | OutputInstance<{
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
}>[] | Promise<{
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
} | Promise<{
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
}> | OutputInstance<{
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
}>[]> | OutputInstance<{
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
} | Promise<{
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
}> | OutputInstance<{
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
}>[]>

method registerListener

registerListener(listener: Listener): void

interface ListenerArgs

property certificateArn

certificateArn?: pulumi.Input<string>;

The 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_listener_certificate resource.

property defaultAction

defaultAction: {
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
} | Promise<{
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
}> | OutputInstance<{
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
}>;

An Action block. Action blocks are documented below.

property loadBalancer

loadBalancer: x.elasticloadbalancingv2.LoadBalancer;

property port

port: pulumi.Input<number>;

The port. Specify a value from 1 to 65535.

property protocol

protocol: pulumi.Input<"HTTP" | "HTTPS" | "TCP">;

The protocol.

property sslPolicy

sslPolicy?: pulumi.Input<string>;

The name of the SSL Policy for the listener. Required if protocol is HTTPS.

interface ListenerDefaultAction

method listenerDefaultAction

listenerDefaultAction(): {
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
} | Promise<{
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
}> | OutputInstance<{
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
}>

method registerListener

registerListener(listener: Listener): void

interface ListenerEndpoint

interface ListenerRuleArgs

property actions

actions: {
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
} | Promise<{
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
}> | OutputInstance<{
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
}>[] | Promise<{
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
} | Promise<{
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
}> | OutputInstance<{
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
}>[]> | OutputInstance<{
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
} | Promise<{
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
}> | OutputInstance<{
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
}>[]> | x.elasticloadbalancingv2.ListenerActions;

An Action block. Action blocks are documented below.

property conditions

conditions: {
    field: pulumi.Input<string>;
    values: pulumi.Input<string>;
} | Promise<{
    field: pulumi.Input<string>;
    values: pulumi.Input<string>;
}> | OutputInstance<{
    field: pulumi.Input<string>;
    values: pulumi.Input<string>;
}>[] | Promise<{
    field: pulumi.Input<string>;
    values: pulumi.Input<string>;
} | Promise<{
    field: pulumi.Input<string>;
    values: pulumi.Input<string>;
}> | OutputInstance<{
    field: pulumi.Input<string>;
    values: pulumi.Input<string>;
}>[]> | OutputInstance<{
    field: pulumi.Input<string>;
    values: pulumi.Input<string>;
} | Promise<{
    field: pulumi.Input<string>;
    values: pulumi.Input<string>;
}> | OutputInstance<{
    field: pulumi.Input<string>;
    values: pulumi.Input<string>;
}>[]>;

A Condition block. Condition blocks are documented below.

property priority

priority?: pulumi.Input<number>;

The priority for the rule between 1 and 50000. Leaving it unset will automatically set the rule with next available priority after currently existing highest rule. A listener can’t have multiple rules with the same priority.

interface LoadBalancerArgs

property enableDeletionProtection

enableDeletionProtection?: pulumi.Input<boolean>;

If true, deletion of the load balancer will be disabled via the AWS API. This will prevent Terraform from deleting the load balancer. Defaults to false.

property external

external?: undefined | false | true;

Whether or not the load balancer is exposed to the internet. Defaults to true if unspecified.

property ipAddressType

ipAddressType?: pulumi.Input<"ipv4" | "dualstack">;

The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 and dualstack

property loadBalancerType

loadBalancerType: pulumi.Input<"application" | "network">;

The type of load balancer to create. Possible values are application or network.

property securityGroups

securityGroups?: x.ec2.SecurityGroupOrId[];

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

property subnetMappings

subnetMappings?: undefined | {
    allocationId: pulumi.Input<string>;
    subnetId: pulumi.Input<string>;
} | Promise<{
    allocationId: pulumi.Input<string>;
    subnetId: pulumi.Input<string>;
}> | OutputInstance<{
    allocationId: pulumi.Input<string>;
    subnetId: pulumi.Input<string>;
}>[] | Promise<{
    allocationId: pulumi.Input<string>;
    subnetId: pulumi.Input<string>;
} | Promise<{
    allocationId: pulumi.Input<string>;
    subnetId: pulumi.Input<string>;
}> | OutputInstance<{
    allocationId: pulumi.Input<string>;
    subnetId: pulumi.Input<string>;
}>[]> | OutputInstance<{
    allocationId: pulumi.Input<string>;
    subnetId: pulumi.Input<string>;
} | Promise<{
    allocationId: pulumi.Input<string>;
    subnetId: pulumi.Input<string>;
}> | OutputInstance<{
    allocationId: pulumi.Input<string>;
    subnetId: pulumi.Input<string>;
}>[]>;

A subnet mapping block as documented below.

property subnets

subnets?: pulumi.Input<pulumi.Input<string>[]> | LoadBalancerSubnets;

The subnets to use for the load balancer. If not provided, the appropriate external or internal subnets of the [network] will be used.

property tags

tags?: pulumi.Input<aws.Tags>;

A mapping of tags to assign to the resource.

property vpc

vpc?: x.ec2.Vpc;

The vpc this load balancer will be used with. Defaults to [Vpc.getDefault] if unspecified.

interface LoadBalancerSubnets

interface NetworkListenerArgs

property defaultAction

defaultAction?: {
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
} | Promise<{
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
}> | OutputInstance<{
    authenticateCognito: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        userPoolArn: pulumi.Input<string>;
        userPoolClientId: pulumi.Input<string>;
        userPoolDomain: pulumi.Input<string>;
    }>;
    authenticateOidc: pulumi.Input<{
        authenticationRequestExtraParams: pulumi.Input<{[key: string]: any}>;
        authorizationEndpoint: pulumi.Input<string>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        issuer: pulumi.Input<string>;
        onUnauthenticatedRequest: pulumi.Input<string>;
        scope: pulumi.Input<string>;
        sessionCookieName: pulumi.Input<string>;
        sessionTimeout: pulumi.Input<number>;
        tokenEndpoint: pulumi.Input<string>;
        userInfoEndpoint: pulumi.Input<string>;
    }>;
    fixedResponse: pulumi.Input<{
        contentType: pulumi.Input<string>;
        messageBody: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    order: pulumi.Input<number>;
    redirect: pulumi.Input<{
        host: pulumi.Input<string>;
        path: pulumi.Input<string>;
        port: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        query: pulumi.Input<string>;
        statusCode: pulumi.Input<string>;
    }>;
    targetGroupArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
}> | x.elasticloadbalancingv2.ListenerDefaultAction;

An Action block. Action blocks are documented below. If not provided, a suitable defaultAction will be chosen that forwards to a new [NetworkTargetGroup] created from [port].

property loadBalancer

loadBalancer?: NetworkLoadBalancer;

The load balancer this listener is associated with. If not provided, a new load balancer will be automatically created.

property port

port: pulumi.Input<number>;

The port. Specify a value from 1 to 65535.

property vpc

vpc?: x.ec2.Vpc;

The vpc this load balancer will be used with. Defaults to [Vpc.getDefault] if unspecified.

interface NetworkLoadBalancerArgs

property enableCrossZoneLoadBalancing

enableCrossZoneLoadBalancing?: pulumi.Input<boolean>;

If true, cross-zone load balancing of the load balancer will be enabled. Defaults to false.

property enableDeletionProtection

enableDeletionProtection?: pulumi.Input<boolean>;

If true, deletion of the load balancer will be disabled via the AWS API. This will prevent Terraform from deleting the load balancer. Defaults to false.

property external

external?: undefined | false | true;

Whether or not the load balancer is exposed to the internet. Defaults to false if unspecified.

property ipAddressType

ipAddressType?: pulumi.Input<"ipv4" | "dualstack">;

The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 and dualstack

property subnetMappings

subnetMappings?: undefined | {
    allocationId: pulumi.Input<string>;
    subnetId: pulumi.Input<string>;
} | Promise<{
    allocationId: pulumi.Input<string>;
    subnetId: pulumi.Input<string>;
}> | OutputInstance<{
    allocationId: pulumi.Input<string>;
    subnetId: pulumi.Input<string>;
}>[] | Promise<{
    allocationId: pulumi.Input<string>;
    subnetId: pulumi.Input<string>;
} | Promise<{
    allocationId: pulumi.Input<string>;
    subnetId: pulumi.Input<string>;
}> | OutputInstance<{
    allocationId: pulumi.Input<string>;
    subnetId: pulumi.Input<string>;
}>[]> | OutputInstance<{
    allocationId: pulumi.Input<string>;
    subnetId: pulumi.Input<string>;
} | Promise<{
    allocationId: pulumi.Input<string>;
    subnetId: pulumi.Input<string>;
}> | OutputInstance<{
    allocationId: pulumi.Input<string>;
    subnetId: pulumi.Input<string>;
}>[]>;

A subnet mapping block as documented below.

property subnets

subnets?: pulumi.Input<pulumi.Input<string>[]> | x.elasticloadbalancingv2.LoadBalancerSubnets;

A list of subnet IDs to attach to the LB. Subnets cannot be updated for Load Balancers of type network. Changing this value for load balancers of type network will force a recreation of the resource.

property tags

tags?: pulumi.Input<aws.Tags>;

A mapping of tags to assign to the resource.

property vpc

vpc?: x.ec2.Vpc;

The vpc this load balancer will be used with. Defaults to [Vpc.getDefault] if unspecified.

interface NetworkTargetGroupArgs

property deregistrationDelay

deregistrationDelay?: pulumi.Input<number>;

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

property healthCheck

healthCheck?: undefined | {
    healthyThreshold: pulumi.Input<number>;
    interval: pulumi.Input<number>;
    matcher: pulumi.Input<string>;
    path: pulumi.Input<string>;
    port: pulumi.Input<string>;
    protocol: pulumi.Input<string>;
    timeout: pulumi.Input<number>;
    unhealthyThreshold: pulumi.Input<number>;
} | Promise<{
    healthyThreshold: pulumi.Input<number>;
    interval: pulumi.Input<number>;
    matcher: pulumi.Input<string>;
    path: pulumi.Input<string>;
    port: pulumi.Input<string>;
    protocol: pulumi.Input<string>;
    timeout: pulumi.Input<number>;
    unhealthyThreshold: pulumi.Input<number>;
}> | OutputInstance<{
    healthyThreshold: pulumi.Input<number>;
    interval: pulumi.Input<number>;
    matcher: pulumi.Input<string>;
    path: pulumi.Input<string>;
    port: pulumi.Input<string>;
    protocol: pulumi.Input<string>;
    timeout: pulumi.Input<number>;
    unhealthyThreshold: pulumi.Input<number>;
}>;

A Health Check block. Health Check blocks are documented below.

property loadBalancer

loadBalancer?: NetworkLoadBalancer;

The load balancer this target group is associated with. If not provided, a new load balancer will be automatically created.

property port

port: pulumi.Input<number>;

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

property proxyProtocolV2

proxyProtocolV2?: pulumi.Input<boolean>;

Boolean to enable / disable support for proxy protocol v2 on Network Load Balancers. See doc for more information.

property slowStart

slowStart?: pulumi.Input<number>;

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

property stickiness

stickiness?: undefined | {
    cookieDuration: pulumi.Input<number>;
    enabled: pulumi.Input<boolean>;
    type: pulumi.Input<string>;
} | Promise<{
    cookieDuration: pulumi.Input<number>;
    enabled: pulumi.Input<boolean>;
    type: pulumi.Input<string>;
}> | OutputInstance<{
    cookieDuration: pulumi.Input<number>;
    enabled: pulumi.Input<boolean>;
    type: pulumi.Input<string>;
}>;

A Stickiness block. Stickiness blocks are documented below. stickiness is only valid if used with Load Balancers of type Application

property tags

tags?: pulumi.Input<aws.Tags>;

A mapping of tags to assign to the resource.

property targetType

targetType?: pulumi.Input<"instance" | "ip">;

The type of target that you must specify when registering targets with this target group. The possible values are instance (targets are specified by instance ID) or ip (targets are specified by IP address). The default is ip.

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.

property vpc

vpc?: x.ec2.Vpc;

The vpc this load balancer will be used with. Defaults to [Vpc.getDefault] if unspecified.

interface TargetGroupArgs

property deregistrationDelay

deregistrationDelay?: pulumi.Input<number>;

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

property healthCheck

healthCheck?: undefined | {
    healthyThreshold: pulumi.Input<number>;
    interval: pulumi.Input<number>;
    matcher: pulumi.Input<string>;
    path: pulumi.Input<string>;
    port: pulumi.Input<string>;
    protocol: pulumi.Input<string>;
    timeout: pulumi.Input<number>;
    unhealthyThreshold: pulumi.Input<number>;
} | Promise<{
    healthyThreshold: pulumi.Input<number>;
    interval: pulumi.Input<number>;
    matcher: pulumi.Input<string>;
    path: pulumi.Input<string>;
    port: pulumi.Input<string>;
    protocol: pulumi.Input<string>;
    timeout: pulumi.Input<number>;
    unhealthyThreshold: pulumi.Input<number>;
}> | OutputInstance<{
    healthyThreshold: pulumi.Input<number>;
    interval: pulumi.Input<number>;
    matcher: pulumi.Input<string>;
    path: pulumi.Input<string>;
    port: pulumi.Input<string>;
    protocol: pulumi.Input<string>;
    timeout: pulumi.Input<number>;
    unhealthyThreshold: pulumi.Input<number>;
}>;

A Health Check block. Health Check blocks are documented below.

property port

port: pulumi.Input<number>;

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

property protocol

protocol: pulumi.Input<"HTTP" | "HTTPS" | "TCP">;

The protocol to use to connect with the target.

property proxyProtocolV2

proxyProtocolV2?: pulumi.Input<boolean>;

Boolean to enable / disable support for proxy protocol v2 on Network Load Balancers. See doc for more information.

property slowStart

slowStart?: pulumi.Input<number>;

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

property stickiness

stickiness?: undefined | {
    cookieDuration: pulumi.Input<number>;
    enabled: pulumi.Input<boolean>;
    type: pulumi.Input<string>;
} | Promise<{
    cookieDuration: pulumi.Input<number>;
    enabled: pulumi.Input<boolean>;
    type: pulumi.Input<string>;
}> | OutputInstance<{
    cookieDuration: pulumi.Input<number>;
    enabled: pulumi.Input<boolean>;
    type: pulumi.Input<string>;
}>;

A Stickiness block. Stickiness blocks are documented below. stickiness is only valid if used with Load Balancers of type Application

property tags

tags?: pulumi.Input<aws.Tags>;

A mapping of tags to assign to the resource.

property targetType

targetType?: pulumi.Input<"instance" | "ip">;

The type of target that you must specify when registering targets with this target group. The possible values are instance (targets are specified by instance ID) or ip (targets are specified by IP address). 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.

property vpc

vpc: x.ec2.Vpc;

The vpc for this target group.

type ApplicationProtocol

type ApplicationProtocol = "HTTP" | "HTTPS";