1. Docs
  2. @pulumi/awsx
  3. lb

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.

      Pulumi AI - What cloud infrastructure would you like to build? Generate Program