Module lb

Resources

Others

Resources

Resource ApplicationLoadBalancer

class ApplicationLoadBalancer extends ComponentResource

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

constructor

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

Create a ApplicationLoadBalancer resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method getData

protected getData(): Promise<TData>

Retrieves the data produces by [initialize]. The data is immediately available in a derived class’s constructor after the super(...) call to ComponentResource.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method initialize

protected initialize(args: Inputs): Promise<TData>

Can be overridden by a subclass to asynchronously initialize data for this Component automatically when constructed. The data will be available immediately for subclass constructors to use. To access the data use .getData.

method isInstance

public static isInstance(obj: any): obj is ApplicationLoadBalancer

Returns true if the given object is an instance of ApplicationLoadBalancer. 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

registerOutputs registers synthetic outputs that a component has initialized, usually by allocating other child sub-resources and propagating their resulting property values.

ComponentResources can call this at the end of their constructor to indicate that they are done creating child resources. This is not strictly necessary as this will automatically be called after the initialize method completes.

property defaultSecurityGroup

public defaultSecurityGroup: pulumi.Output<SecurityGroup | undefined>;

Default security group, if auto-created

property defaultTargetGroup

public defaultTargetGroup: pulumi.Output<TargetGroup>;

Default target group, if auto-created

property listeners

public listeners: pulumi.Output<Listener[] | undefined>;

Listeners created as part of this load balancer

property loadBalancer

public loadBalancer: pulumi.Output<LoadBalancer>;

Underlying Load Balancer resource

property urn

urn: Output<URN>;

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

property vpcId

public vpcId: pulumi.Output<string | undefined>;

Id of the VPC in which this load balancer is operating

Resource NetworkLoadBalancer

class NetworkLoadBalancer extends ComponentResource

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

constructor

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

Create a NetworkLoadBalancer resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method getData

protected getData(): Promise<TData>

Retrieves the data produces by [initialize]. The data is immediately available in a derived class’s constructor after the super(...) call to ComponentResource.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method initialize

protected initialize(args: Inputs): Promise<TData>

Can be overridden by a subclass to asynchronously initialize data for this Component automatically when constructed. The data will be available immediately for subclass constructors to use. To access the data use .getData.

method isInstance

public static isInstance(obj: any): obj is NetworkLoadBalancer

Returns true if the given object is an instance of NetworkLoadBalancer. 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

registerOutputs registers synthetic outputs that a component has initialized, usually by allocating other child sub-resources and propagating their resulting property values.

ComponentResources can call this at the end of their constructor to indicate that they are done creating child resources. This is not strictly necessary as this will automatically be called after the initialize method completes.

property defaultTargetGroup

public defaultTargetGroup: pulumi.Output<TargetGroup>;

Default target group, if auto-created

property listeners

public listeners: pulumi.Output<Listener[] | undefined>;

Listeners created as part of this load balancer

property loadBalancer

public loadBalancer: pulumi.Output<LoadBalancer>;

Underlying Load Balancer resource

property urn

urn: Output<URN>;

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

property vpcId

public vpcId: pulumi.Output<string | undefined>;

Id of the VPC in which this load balancer is operating

Resource TargetGroupAttachment

class TargetGroupAttachment extends ComponentResource

Attach an EC2 instance or Lambda to a Load Balancer. This will create required permissions if attaching to a Lambda Function.

constructor

new TargetGroupAttachment(name: string, args?: TargetGroupAttachmentArgs, opts?: pulumi.ComponentResourceOptions)

Create a TargetGroupAttachment resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method getData

protected getData(): Promise<TData>

Retrieves the data produces by [initialize]. The data is immediately available in a derived class’s constructor after the super(...) call to ComponentResource.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method initialize

protected initialize(args: Inputs): Promise<TData>

Can be overridden by a subclass to asynchronously initialize data for this Component automatically when constructed. The data will be available immediately for subclass constructors to use. To access the data use .getData.

method isInstance

public static isInstance(obj: any): obj is TargetGroupAttachment

Returns true if the given object is an instance of TargetGroupAttachment. 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

registerOutputs registers synthetic outputs that a component has initialized, usually by allocating other child sub-resources and propagating their resulting property values.

ComponentResources can call this at the end of their constructor to indicate that they are done creating child resources. This is not strictly necessary as this will automatically be called after the initialize method completes.

property lambdaPermission

public lambdaPermission: pulumi.Output<Permission | undefined>;

Auto-created Lambda permission, if targeting a Lambda function

property targetGroupAttachment

public targetGroupAttachment: pulumi.Output<TargetGroupAttachment>;

Underlying Target Group Attachment resource

property urn

urn: Output<URN>;

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

Others

interface ApplicationLoadBalancerArgs

interface ApplicationLoadBalancerArgs

The set of arguments for constructing a ApplicationLoadBalancer resource.

property accessLogs

accessLogs?: pulumi.Input<LoadBalancerAccessLogs>;

An Access Logs block. Access Logs documented below.

property customerOwnedIpv4Pool

customerOwnedIpv4Pool?: pulumi.Input<string>;

The ID of the customer owned ipv4 pool to use for this load balancer.

property defaultSecurityGroup

defaultSecurityGroup?: inputs.awsx.DefaultSecurityGroupArgs;

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

property defaultTargetGroup

defaultTargetGroup?: inputs.lb.TargetGroupArgs;

Options creating a default target group.

property defaultTargetGroupPort

defaultTargetGroupPort?: pulumi.Input<number>;

Port to use to connect with the target. Valid values are ports 1-65535. Defaults to 80.

property desyncMitigationMode

desyncMitigationMode?: pulumi.Input<string>;

Determines how the load balancer handles requests that might pose a security risk to an application due to HTTP desync. Valid values are monitor, defensive (default), strictest.

property dropInvalidHeaderFields

dropInvalidHeaderFields?: pulumi.Input<boolean>;

Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type application.

property enableDeletionProtection

enableDeletionProtection?: pulumi.Input<boolean>;

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

property enableHttp2

enableHttp2?: pulumi.Input<boolean>;

Indicates whether HTTP/2 is enabled in application load balancers. Defaults to true.

property enableWafFailOpen

enableWafFailOpen?: pulumi.Input<boolean>;

Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. Defaults to false.

property idleTimeout

idleTimeout?: pulumi.Input<number>;

The time in seconds that the connection is allowed to be idle. Only valid for Load Balancers of type application. Default: 60.

property internal

internal?: pulumi.Input<boolean>;

If true, the LB will be internal.

property ipAddressType

ipAddressType?: pulumi.Input<string>;

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

property listener

listener?: inputs.lb.ListenerArgs;

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

property listeners

listeners?: ListenerArgs[];

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

property name

name?: pulumi.Input<string>;

The name of the LB. This name must be unique within your AWS account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen. If not specified, this provider will autogenerate a name beginning with tf-lb.

property namePrefix

namePrefix?: pulumi.Input<string>;

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

property securityGroups

securityGroups?: pulumi.Input<pulumi.Input<string>[]>;

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

property subnetIds

subnetIds?: pulumi.Input<pulumi.Input<string>[]>;

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

property subnetMappings

subnetMappings?: pulumi.Input<pulumi.Input<LoadBalancerSubnetMapping>[]>;

A subnet mapping block as documented below.

property subnets

subnets?: pulumi.Input<pulumi.Input<Subnet>[]>;

A list of subnets to attach to the LB. Only one of [subnets], [subnetIds] or [subnetMappings] can be specified

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

interface NetworkLoadBalancerArgs

interface NetworkLoadBalancerArgs

The set of arguments for constructing a NetworkLoadBalancer resource.

property accessLogs

accessLogs?: pulumi.Input<LoadBalancerAccessLogs>;

An Access Logs block. Access Logs documented below.

property customerOwnedIpv4Pool

customerOwnedIpv4Pool?: pulumi.Input<string>;

The ID of the customer owned ipv4 pool to use for this load balancer.

property defaultTargetGroup

defaultTargetGroup?: inputs.lb.TargetGroupArgs;

Options creating a default target group.

property defaultTargetGroupPort

defaultTargetGroupPort?: pulumi.Input<number>;

Port to use to connect with the target. Valid values are ports 1-65535. Defaults to 80.

property desyncMitigationMode

desyncMitigationMode?: pulumi.Input<string>;

Determines how the load balancer handles requests that might pose a security risk to an application due to HTTP desync. Valid values are monitor, defensive (default), strictest.

property dropInvalidHeaderFields

dropInvalidHeaderFields?: pulumi.Input<boolean>;

Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type application.

property enableCrossZoneLoadBalancing

enableCrossZoneLoadBalancing?: pulumi.Input<boolean>;

If true, cross-zone load balancing of the load balancer will be enabled. This is a network load balancer feature. 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 this provider from deleting the load balancer. Defaults to false.

property enableWafFailOpen

enableWafFailOpen?: pulumi.Input<boolean>;

Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. Defaults to false.

property idleTimeout

idleTimeout?: pulumi.Input<number>;

The time in seconds that the connection is allowed to be idle. Only valid for Load Balancers of type application. Default: 60.

property internal

internal?: pulumi.Input<boolean>;

If true, the LB will be internal.

property ipAddressType

ipAddressType?: pulumi.Input<string>;

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

property listener

listener?: inputs.lb.ListenerArgs;

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

property listeners

listeners?: ListenerArgs[];

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

property name

name?: pulumi.Input<string>;

The name of the LB. This name must be unique within your AWS account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen. If not specified, this provider will autogenerate a name beginning with tf-lb.

property namePrefix

namePrefix?: pulumi.Input<string>;

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

property subnetIds

subnetIds?: pulumi.Input<pulumi.Input<string>[]>;

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

property subnetMappings

subnetMappings?: pulumi.Input<pulumi.Input<LoadBalancerSubnetMapping>[]>;

A subnet mapping block as documented below.

property subnets

subnets?: pulumi.Input<pulumi.Input<Subnet>[]>;

A list of subnets to attach to the LB. Only one of [subnets], [subnetIds] or [subnetMappings] can be specified

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

interface TargetGroupAttachmentArgs

interface TargetGroupAttachmentArgs

The set of arguments for constructing a TargetGroupAttachment resource.

property instance

instance?: pulumi.Input<Instance>;

EC2 Instance to attach to the Target Group. Exactly 1 of [instance], [instanceId], [lambda] or [lambdaArn] must be provided.

property instanceId

instanceId?: pulumi.Input<string>;

ID of an EC2 Instance to attach to the Target Group. Exactly 1 of [instance], [instanceId], [lambda] or [lambdaArn] must be provided.

property lambda

lambda?: pulumi.Input<Function>;

Lambda Function to attach to the Target Group. Exactly 1 of [instance], [instanceId], [lambda] or [lambdaArn] must be provided.

property lambdaArn

lambdaArn?: pulumi.Input<string>;

ARN of a Lambda Function to attach to the Target Group. Exactly 1 of [instance], [instanceId], [lambda] or [lambdaArn] must be provided.

property targetGroup

targetGroup?: pulumi.Input<TargetGroup>;

Target Group to attach to. Exactly one of [targetGroup] or [targetGroupArn] must be specified.

property targetGroupArn

targetGroupArn?: pulumi.Input<string>;

ARN of the Target Group to attach to. Exactly one of [targetGroup] or [targetGroupArn] must be specified.