700 lines
36 KiB
TypeScript
700 lines
36 KiB
TypeScript
import * as cdk from "../../core/lib";
|
|
import * as constructs from "constructs";
|
|
import * as cfn_parse from "../../core/lib/helpers-internal";
|
|
import { aws_ec2 as ec2Refs } from "../../interfaces";
|
|
import { ILoadBalancerRef, LoadBalancerReference } from "../../interfaces/generated/aws-elasticloadbalancing-interfaces.generated";
|
|
/**
|
|
* Specifies a Classic Load Balancer.
|
|
*
|
|
* If this resource has a public IP address and is also in a VPC that is defined in the same template, you must use the [DependsOn attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) to declare a dependency on the VPC-gateway attachment.
|
|
*
|
|
* @cloudformationResource AWS::ElasticLoadBalancing::LoadBalancer
|
|
* @stability external
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancing-loadbalancer.html
|
|
*/
|
|
export declare class CfnLoadBalancer extends cdk.CfnResource implements cdk.IInspectable, ILoadBalancerRef, cdk.ITaggable {
|
|
/**
|
|
* The CloudFormation resource type name for this resource class.
|
|
*/
|
|
static readonly CFN_RESOURCE_TYPE_NAME: string;
|
|
/**
|
|
* Build a CfnLoadBalancer from CloudFormation properties
|
|
*
|
|
* A factory method that creates a new instance of this class from an object
|
|
* containing the CloudFormation properties of this resource.
|
|
* Used in the @aws-cdk/cloudformation-include module.
|
|
*
|
|
* @internal
|
|
*/
|
|
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnLoadBalancer;
|
|
/**
|
|
* Checks whether the given object is a CfnLoadBalancer
|
|
*/
|
|
static isCfnLoadBalancer(x: any): x is CfnLoadBalancer;
|
|
/**
|
|
* Creates a new ILoadBalancerRef from a loadBalancerName
|
|
*/
|
|
static fromLoadBalancerName(scope: constructs.Construct, id: string, loadBalancerName: string): ILoadBalancerRef;
|
|
static arnForLoadBalancer(resource: ILoadBalancerRef): string;
|
|
/**
|
|
* Information about where and how access logs are stored for the load balancer.
|
|
*/
|
|
private _accessLoggingPolicy?;
|
|
/**
|
|
* Information about a policy for application-controlled session stickiness.
|
|
*/
|
|
private _appCookieStickinessPolicy?;
|
|
/**
|
|
* The Availability Zones for a load balancer in a default VPC.
|
|
*/
|
|
private _availabilityZones?;
|
|
/**
|
|
* If enabled, the load balancer allows existing requests to complete before the load balancer shifts traffic away from a deregistered or unhealthy instance.
|
|
*/
|
|
private _connectionDrainingPolicy?;
|
|
/**
|
|
* If enabled, the load balancer allows the connections to remain idle (no data is sent over the connection) for the specified duration.
|
|
*/
|
|
private _connectionSettings?;
|
|
/**
|
|
* If enabled, the load balancer routes the request traffic evenly across all instances regardless of the Availability Zones.
|
|
*/
|
|
private _crossZone?;
|
|
/**
|
|
* The health check settings to use when evaluating the health of your EC2 instances.
|
|
*/
|
|
private _healthCheck?;
|
|
/**
|
|
* The IDs of the instances for the load balancer.
|
|
*/
|
|
private _instances?;
|
|
/**
|
|
* Information about a policy for duration-based session stickiness.
|
|
*/
|
|
private _lbCookieStickinessPolicy?;
|
|
/**
|
|
* The listeners for the load balancer. You can specify at most one listener per port.
|
|
*/
|
|
private _listeners;
|
|
/**
|
|
* The name of the load balancer.
|
|
*/
|
|
private _loadBalancerName?;
|
|
/**
|
|
* The policies defined for your Classic Load Balancer.
|
|
*/
|
|
private _policies?;
|
|
/**
|
|
* The type of load balancer. Valid only for load balancers in a VPC.
|
|
*/
|
|
private _scheme?;
|
|
/**
|
|
* The security groups for the load balancer.
|
|
*/
|
|
private _securityGroups?;
|
|
/**
|
|
* The IDs of the subnets for the load balancer. You can specify at most one subnet per Availability Zone.
|
|
*/
|
|
private _subnets?;
|
|
/**
|
|
* Tag Manager which manages the tags for this resource
|
|
*/
|
|
readonly tags: cdk.TagManager;
|
|
/**
|
|
* The tags associated with a load balancer.
|
|
*/
|
|
private _tagsRaw?;
|
|
protected readonly cfnPropertyNames: Record<string, string>;
|
|
/**
|
|
* Create a new `AWS::ElasticLoadBalancing::LoadBalancer`.
|
|
*
|
|
* @param scope Scope in which this resource is defined
|
|
* @param id Construct identifier for this resource (unique in its scope)
|
|
* @param props Resource properties
|
|
*/
|
|
constructor(scope: constructs.Construct, id: string, props: CfnLoadBalancerProps);
|
|
get loadBalancerRef(): LoadBalancerReference;
|
|
/**
|
|
* Information about where and how access logs are stored for the load balancer.
|
|
*/
|
|
get accessLoggingPolicy(): CfnLoadBalancer.AccessLoggingPolicyProperty | cdk.IResolvable | undefined;
|
|
/**
|
|
* Information about where and how access logs are stored for the load balancer.
|
|
*/
|
|
set accessLoggingPolicy(value: CfnLoadBalancer.AccessLoggingPolicyProperty | cdk.IResolvable | undefined);
|
|
/**
|
|
* Information about a policy for application-controlled session stickiness.
|
|
*/
|
|
get appCookieStickinessPolicy(): Array<CfnLoadBalancer.AppCookieStickinessPolicyProperty | cdk.IResolvable> | cdk.IResolvable | undefined;
|
|
/**
|
|
* Information about a policy for application-controlled session stickiness.
|
|
*/
|
|
set appCookieStickinessPolicy(value: Array<CfnLoadBalancer.AppCookieStickinessPolicyProperty | cdk.IResolvable> | cdk.IResolvable | undefined);
|
|
/**
|
|
* The Availability Zones for a load balancer in a default VPC.
|
|
*/
|
|
get availabilityZones(): Array<string> | undefined;
|
|
/**
|
|
* The Availability Zones for a load balancer in a default VPC.
|
|
*/
|
|
set availabilityZones(value: Array<string> | undefined);
|
|
/**
|
|
* If enabled, the load balancer allows existing requests to complete before the load balancer shifts traffic away from a deregistered or unhealthy instance.
|
|
*/
|
|
get connectionDrainingPolicy(): CfnLoadBalancer.ConnectionDrainingPolicyProperty | cdk.IResolvable | undefined;
|
|
/**
|
|
* If enabled, the load balancer allows existing requests to complete before the load balancer shifts traffic away from a deregistered or unhealthy instance.
|
|
*/
|
|
set connectionDrainingPolicy(value: CfnLoadBalancer.ConnectionDrainingPolicyProperty | cdk.IResolvable | undefined);
|
|
/**
|
|
* If enabled, the load balancer allows the connections to remain idle (no data is sent over the connection) for the specified duration.
|
|
*/
|
|
get connectionSettings(): CfnLoadBalancer.ConnectionSettingsProperty | cdk.IResolvable | undefined;
|
|
/**
|
|
* If enabled, the load balancer allows the connections to remain idle (no data is sent over the connection) for the specified duration.
|
|
*/
|
|
set connectionSettings(value: CfnLoadBalancer.ConnectionSettingsProperty | cdk.IResolvable | undefined);
|
|
/**
|
|
* If enabled, the load balancer routes the request traffic evenly across all instances regardless of the Availability Zones.
|
|
*/
|
|
get crossZone(): boolean | cdk.IResolvable | undefined;
|
|
/**
|
|
* If enabled, the load balancer routes the request traffic evenly across all instances regardless of the Availability Zones.
|
|
*/
|
|
set crossZone(value: boolean | cdk.IResolvable | undefined);
|
|
/**
|
|
* The health check settings to use when evaluating the health of your EC2 instances.
|
|
*/
|
|
get healthCheck(): CfnLoadBalancer.HealthCheckProperty | cdk.IResolvable | undefined;
|
|
/**
|
|
* The health check settings to use when evaluating the health of your EC2 instances.
|
|
*/
|
|
set healthCheck(value: CfnLoadBalancer.HealthCheckProperty | cdk.IResolvable | undefined);
|
|
/**
|
|
* The IDs of the instances for the load balancer.
|
|
*/
|
|
get instances(): Array<string> | undefined;
|
|
/**
|
|
* The IDs of the instances for the load balancer.
|
|
*/
|
|
set instances(value: Array<string> | undefined);
|
|
/**
|
|
* Information about a policy for duration-based session stickiness.
|
|
*/
|
|
get lbCookieStickinessPolicy(): Array<cdk.IResolvable | CfnLoadBalancer.LBCookieStickinessPolicyProperty> | cdk.IResolvable | undefined;
|
|
/**
|
|
* Information about a policy for duration-based session stickiness.
|
|
*/
|
|
set lbCookieStickinessPolicy(value: Array<cdk.IResolvable | CfnLoadBalancer.LBCookieStickinessPolicyProperty> | cdk.IResolvable | undefined);
|
|
/**
|
|
* The listeners for the load balancer. You can specify at most one listener per port.
|
|
*/
|
|
get listeners(): Array<cdk.IResolvable | CfnLoadBalancer.ListenersProperty> | cdk.IResolvable;
|
|
/**
|
|
* The listeners for the load balancer. You can specify at most one listener per port.
|
|
*/
|
|
set listeners(value: Array<cdk.IResolvable | CfnLoadBalancer.ListenersProperty> | cdk.IResolvable);
|
|
/**
|
|
* The name of the load balancer.
|
|
*/
|
|
get loadBalancerName(): string | undefined;
|
|
/**
|
|
* The name of the load balancer.
|
|
*/
|
|
set loadBalancerName(value: string | undefined);
|
|
/**
|
|
* The policies defined for your Classic Load Balancer.
|
|
*/
|
|
get policies(): Array<cdk.IResolvable | CfnLoadBalancer.PoliciesProperty> | cdk.IResolvable | undefined;
|
|
/**
|
|
* The policies defined for your Classic Load Balancer.
|
|
*/
|
|
set policies(value: Array<cdk.IResolvable | CfnLoadBalancer.PoliciesProperty> | cdk.IResolvable | undefined);
|
|
/**
|
|
* The type of load balancer. Valid only for load balancers in a VPC.
|
|
*/
|
|
get scheme(): string | undefined;
|
|
/**
|
|
* The type of load balancer. Valid only for load balancers in a VPC.
|
|
*/
|
|
set scheme(value: string | undefined);
|
|
/**
|
|
* The security groups for the load balancer.
|
|
*/
|
|
get securityGroups(): Array<string> | undefined;
|
|
/**
|
|
* The security groups for the load balancer.
|
|
*/
|
|
set securityGroups(value: Array<string> | undefined);
|
|
/**
|
|
* The IDs of the subnets for the load balancer. You can specify at most one subnet per Availability Zone.
|
|
*/
|
|
get subnets(): Array<string> | undefined;
|
|
/**
|
|
* The IDs of the subnets for the load balancer. You can specify at most one subnet per Availability Zone.
|
|
*/
|
|
set subnets(value: Array<string> | undefined);
|
|
/**
|
|
* The tags associated with a load balancer.
|
|
*/
|
|
get tagsRaw(): Array<cdk.CfnTag> | undefined;
|
|
/**
|
|
* The tags associated with a load balancer.
|
|
*/
|
|
set tagsRaw(value: Array<cdk.CfnTag> | undefined);
|
|
/**
|
|
* The name of the Route 53 hosted zone that is associated with the load balancer. Internal-facing load balancers don't use this value, use `DNSName` instead.
|
|
*
|
|
* @cloudformationAttribute CanonicalHostedZoneName
|
|
*/
|
|
get attrCanonicalHostedZoneName(): string;
|
|
/**
|
|
* The ID of the Route 53 hosted zone name that is associated with the load balancer.
|
|
*
|
|
* @cloudformationAttribute CanonicalHostedZoneNameID
|
|
*/
|
|
get attrCanonicalHostedZoneNameId(): string;
|
|
/**
|
|
* The DNS name for the load balancer.
|
|
*
|
|
* @cloudformationAttribute DNSName
|
|
*/
|
|
get attrDnsName(): string;
|
|
/**
|
|
* @cloudformationAttribute Id
|
|
*/
|
|
get attrId(): string;
|
|
/**
|
|
* The name of the security group that you can use as part of your inbound rules for your load balancer's back-end instances.
|
|
*
|
|
* @cloudformationAttribute SourceSecurityGroup.GroupName
|
|
*/
|
|
get attrSourceSecurityGroupGroupName(): string;
|
|
/**
|
|
* The owner of the source security group.
|
|
*
|
|
* @cloudformationAttribute SourceSecurityGroup.OwnerAlias
|
|
*/
|
|
get attrSourceSecurityGroupOwnerAlias(): string;
|
|
protected get cfnProperties(): Record<string, any>;
|
|
/**
|
|
* Examines the CloudFormation resource and discloses attributes
|
|
*
|
|
* @param inspector tree inspector to collect and process attributes
|
|
*/
|
|
inspect(inspector: cdk.TreeInspector): void;
|
|
protected renderProperties(props: Record<string, any>): Record<string, any>;
|
|
}
|
|
export declare namespace CfnLoadBalancer {
|
|
/**
|
|
* Specifies where and how access logs are stored for your Classic Load Balancer.
|
|
*
|
|
* @struct
|
|
* @stability external
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-accessloggingpolicy.html
|
|
*/
|
|
interface AccessLoggingPolicyProperty {
|
|
/**
|
|
* The interval for publishing the access logs. You can specify an interval of either 5 minutes or 60 minutes.
|
|
*
|
|
* Default: 60 minutes
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-accessloggingpolicy.html#cfn-elasticloadbalancing-loadbalancer-accessloggingpolicy-emitinterval
|
|
*/
|
|
readonly emitInterval?: number;
|
|
/**
|
|
* Specifies whether access logs are enabled for the load balancer.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-accessloggingpolicy.html#cfn-elasticloadbalancing-loadbalancer-accessloggingpolicy-enabled
|
|
*/
|
|
readonly enabled: boolean | cdk.IResolvable;
|
|
/**
|
|
* The name of the Amazon S3 bucket where the access logs are stored.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-accessloggingpolicy.html#cfn-elasticloadbalancing-loadbalancer-accessloggingpolicy-s3bucketname
|
|
*/
|
|
readonly s3BucketName: string;
|
|
/**
|
|
* The logical hierarchy you created for your Amazon S3 bucket, for example `my-bucket-prefix/prod` .
|
|
*
|
|
* If the prefix is not provided, the log is placed at the root level of the bucket.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-accessloggingpolicy.html#cfn-elasticloadbalancing-loadbalancer-accessloggingpolicy-s3bucketprefix
|
|
*/
|
|
readonly s3BucketPrefix?: string;
|
|
}
|
|
/**
|
|
* Specifies a policy for application-controlled session stickiness for your Classic Load Balancer.
|
|
*
|
|
* To associate a policy with a listener, use the [PolicyNames](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html#cfn-ec2-elb-listener-policynames) property for the listener.
|
|
*
|
|
* @struct
|
|
* @stability external
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-appcookiestickinesspolicy.html
|
|
*/
|
|
interface AppCookieStickinessPolicyProperty {
|
|
/**
|
|
* The name of the application cookie used for stickiness.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-appcookiestickinesspolicy.html#cfn-elasticloadbalancing-loadbalancer-appcookiestickinesspolicy-cookiename
|
|
*/
|
|
readonly cookieName: string;
|
|
/**
|
|
* The mnemonic name for the policy being created.
|
|
*
|
|
* The name must be unique within a set of policies for this load balancer.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-appcookiestickinesspolicy.html#cfn-elasticloadbalancing-loadbalancer-appcookiestickinesspolicy-policyname
|
|
*/
|
|
readonly policyName: string;
|
|
}
|
|
/**
|
|
* Specifies the connection draining settings for your Classic Load Balancer.
|
|
*
|
|
* @struct
|
|
* @stability external
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-connectiondrainingpolicy.html
|
|
*/
|
|
interface ConnectionDrainingPolicyProperty {
|
|
/**
|
|
* Specifies whether connection draining is enabled for the load balancer.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-connectiondrainingpolicy.html#cfn-elasticloadbalancing-loadbalancer-connectiondrainingpolicy-enabled
|
|
*/
|
|
readonly enabled: boolean | cdk.IResolvable;
|
|
/**
|
|
* The maximum time, in seconds, to keep the existing connections open before deregistering the instances.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-connectiondrainingpolicy.html#cfn-elasticloadbalancing-loadbalancer-connectiondrainingpolicy-timeout
|
|
*/
|
|
readonly timeout?: number;
|
|
}
|
|
/**
|
|
* Specifies the idle timeout value for your Classic Load Balancer.
|
|
*
|
|
* @struct
|
|
* @stability external
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-connectionsettings.html
|
|
*/
|
|
interface ConnectionSettingsProperty {
|
|
/**
|
|
* The time, in seconds, that the connection is allowed to be idle (no data has been sent over the connection) before it is closed by the load balancer.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-connectionsettings.html#cfn-elasticloadbalancing-loadbalancer-connectionsettings-idletimeout
|
|
*/
|
|
readonly idleTimeout: number;
|
|
}
|
|
/**
|
|
* Specifies health check settings for your Classic Load Balancer.
|
|
*
|
|
* @struct
|
|
* @stability external
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-healthcheck.html
|
|
*/
|
|
interface HealthCheckProperty {
|
|
/**
|
|
* The number of consecutive health checks successes required before moving the instance to the `Healthy` state.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-healthcheck.html#cfn-elasticloadbalancing-loadbalancer-healthcheck-healthythreshold
|
|
*/
|
|
readonly healthyThreshold: string;
|
|
/**
|
|
* The approximate interval, in seconds, between health checks of an individual instance.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-healthcheck.html#cfn-elasticloadbalancing-loadbalancer-healthcheck-interval
|
|
*/
|
|
readonly interval: string;
|
|
/**
|
|
* The instance being checked.
|
|
*
|
|
* The protocol is either TCP, HTTP, HTTPS, or SSL. The range of valid ports is one (1) through 65535.
|
|
*
|
|
* TCP is the default, specified as a TCP: port pair, for example "TCP:5000". In this case, a health check simply attempts to open a TCP connection to the instance on the specified port. Failure to connect within the configured timeout is considered unhealthy.
|
|
*
|
|
* SSL is also specified as SSL: port pair, for example, SSL:5000.
|
|
*
|
|
* For HTTP/HTTPS, you must include a ping path in the string. HTTP is specified as a HTTP:port;/;PathToPing; grouping, for example "HTTP:80/weather/us/wa/seattle". In this case, a HTTP GET request is issued to the instance on the given port and path. Any answer other than "200 OK" within the timeout period is considered unhealthy.
|
|
*
|
|
* The total length of the HTTP ping target must be 1024 16-bit Unicode characters or less.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-healthcheck.html#cfn-elasticloadbalancing-loadbalancer-healthcheck-target
|
|
*/
|
|
readonly target: string;
|
|
/**
|
|
* The amount of time, in seconds, during which no response means a failed health check.
|
|
*
|
|
* This value must be less than the `Interval` value.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-healthcheck.html#cfn-elasticloadbalancing-loadbalancer-healthcheck-timeout
|
|
*/
|
|
readonly timeout: string;
|
|
/**
|
|
* The number of consecutive health check failures required before moving the instance to the `Unhealthy` state.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-healthcheck.html#cfn-elasticloadbalancing-loadbalancer-healthcheck-unhealthythreshold
|
|
*/
|
|
readonly unhealthyThreshold: string;
|
|
}
|
|
/**
|
|
* Specifies a policy for duration-based session stickiness for your Classic Load Balancer.
|
|
*
|
|
* To associate a policy with a listener, use the [PolicyNames](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html#cfn-ec2-elb-listener-policynames) property for the listener.
|
|
*
|
|
* @struct
|
|
* @stability external
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-lbcookiestickinesspolicy.html
|
|
*/
|
|
interface LBCookieStickinessPolicyProperty {
|
|
/**
|
|
* The time period, in seconds, after which the cookie should be considered stale.
|
|
*
|
|
* If this parameter is not specified, the stickiness session lasts for the duration of the browser session.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-lbcookiestickinesspolicy.html#cfn-elasticloadbalancing-loadbalancer-lbcookiestickinesspolicy-cookieexpirationperiod
|
|
*/
|
|
readonly cookieExpirationPeriod?: string;
|
|
/**
|
|
* The name of the policy.
|
|
*
|
|
* This name must be unique within the set of policies for this load balancer.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-lbcookiestickinesspolicy.html#cfn-elasticloadbalancing-loadbalancer-lbcookiestickinesspolicy-policyname
|
|
*/
|
|
readonly policyName?: string;
|
|
}
|
|
/**
|
|
* Specifies a listener for your Classic Load Balancer.
|
|
*
|
|
* Modifying any property replaces the listener.
|
|
*
|
|
* @struct
|
|
* @stability external
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-listeners.html
|
|
*/
|
|
interface ListenersProperty {
|
|
/**
|
|
* The port on which the instance is listening.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-listeners.html#cfn-elasticloadbalancing-loadbalancer-listeners-instanceport
|
|
*/
|
|
readonly instancePort: string;
|
|
/**
|
|
* The protocol to use for routing traffic to instances: HTTP, HTTPS, TCP, or SSL.
|
|
*
|
|
* If the front-end protocol is TCP or SSL, the back-end protocol must be TCP or SSL. If the front-end protocol is HTTP or HTTPS, the back-end protocol must be HTTP or HTTPS.
|
|
*
|
|
* If there is another listener with the same `InstancePort` whose `InstanceProtocol` is secure, (HTTPS or SSL), the listener's `InstanceProtocol` must also be secure.
|
|
*
|
|
* If there is another listener with the same `InstancePort` whose `InstanceProtocol` is HTTP or TCP, the listener's `InstanceProtocol` must be HTTP or TCP.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-listeners.html#cfn-elasticloadbalancing-loadbalancer-listeners-instanceprotocol
|
|
*/
|
|
readonly instanceProtocol?: string;
|
|
/**
|
|
* The port on which the load balancer is listening.
|
|
*
|
|
* On EC2-VPC, you can specify any port from the range 1-65535. On EC2-Classic, you can specify any port from the following list: 25, 80, 443, 465, 587, 1024-65535.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-listeners.html#cfn-elasticloadbalancing-loadbalancer-listeners-loadbalancerport
|
|
*/
|
|
readonly loadBalancerPort: string;
|
|
/**
|
|
* The names of the policies to associate with the listener.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-listeners.html#cfn-elasticloadbalancing-loadbalancer-listeners-policynames
|
|
*/
|
|
readonly policyNames?: Array<string>;
|
|
/**
|
|
* The load balancer transport protocol to use for routing: HTTP, HTTPS, TCP, or SSL.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-listeners.html#cfn-elasticloadbalancing-loadbalancer-listeners-protocol
|
|
*/
|
|
readonly protocol: string;
|
|
/**
|
|
* The Amazon Resource Name (ARN) of the server certificate.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-listeners.html#cfn-elasticloadbalancing-loadbalancer-listeners-sslcertificateid
|
|
*/
|
|
readonly sslCertificateId?: string;
|
|
}
|
|
/**
|
|
* Specifies policies for your Classic Load Balancer.
|
|
*
|
|
* To associate policies with a listener, use the [PolicyNames](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html#cfn-ec2-elb-listener-policynames) property for the listener.
|
|
*
|
|
* @struct
|
|
* @stability external
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-policies.html
|
|
*/
|
|
interface PoliciesProperty {
|
|
/**
|
|
* The policy attributes.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-policies.html#cfn-elasticloadbalancing-loadbalancer-policies-attributes
|
|
*/
|
|
readonly attributes: Array<any | cdk.IResolvable> | cdk.IResolvable;
|
|
/**
|
|
* The instance ports for the policy.
|
|
*
|
|
* Required only for some policy types.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-policies.html#cfn-elasticloadbalancing-loadbalancer-policies-instanceports
|
|
*/
|
|
readonly instancePorts?: Array<string>;
|
|
/**
|
|
* The load balancer ports for the policy.
|
|
*
|
|
* Required only for some policy types.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-policies.html#cfn-elasticloadbalancing-loadbalancer-policies-loadbalancerports
|
|
*/
|
|
readonly loadBalancerPorts?: Array<string>;
|
|
/**
|
|
* The name of the policy.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-policies.html#cfn-elasticloadbalancing-loadbalancer-policies-policyname
|
|
*/
|
|
readonly policyName: string;
|
|
/**
|
|
* The name of the policy type.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancing-loadbalancer-policies.html#cfn-elasticloadbalancing-loadbalancer-policies-policytype
|
|
*/
|
|
readonly policyType: string;
|
|
}
|
|
}
|
|
/**
|
|
* Properties for defining a `CfnLoadBalancer`
|
|
*
|
|
* @struct
|
|
* @stability external
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancing-loadbalancer.html
|
|
*/
|
|
export interface CfnLoadBalancerProps {
|
|
/**
|
|
* Information about where and how access logs are stored for the load balancer.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancing-loadbalancer.html#cfn-elasticloadbalancing-loadbalancer-accessloggingpolicy
|
|
*/
|
|
readonly accessLoggingPolicy?: CfnLoadBalancer.AccessLoggingPolicyProperty | cdk.IResolvable;
|
|
/**
|
|
* Information about a policy for application-controlled session stickiness.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancing-loadbalancer.html#cfn-elasticloadbalancing-loadbalancer-appcookiestickinesspolicy
|
|
*/
|
|
readonly appCookieStickinessPolicy?: Array<CfnLoadBalancer.AppCookieStickinessPolicyProperty | cdk.IResolvable> | cdk.IResolvable;
|
|
/**
|
|
* The Availability Zones for a load balancer in a default VPC.
|
|
*
|
|
* For a load balancer in a nondefault VPC, specify `Subnets` instead.
|
|
*
|
|
* Update requires replacement if you did not previously specify an Availability Zone or if you are removing all Availability Zones. Otherwise, update requires no interruption.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancing-loadbalancer.html#cfn-elasticloadbalancing-loadbalancer-availabilityzones
|
|
*/
|
|
readonly availabilityZones?: Array<string>;
|
|
/**
|
|
* If enabled, the load balancer allows existing requests to complete before the load balancer shifts traffic away from a deregistered or unhealthy instance.
|
|
*
|
|
* For more information, see [Configure connection draining](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-conn-drain.html) in the *User Guide for Classic Load Balancers* .
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancing-loadbalancer.html#cfn-elasticloadbalancing-loadbalancer-connectiondrainingpolicy
|
|
*/
|
|
readonly connectionDrainingPolicy?: CfnLoadBalancer.ConnectionDrainingPolicyProperty | cdk.IResolvable;
|
|
/**
|
|
* If enabled, the load balancer allows the connections to remain idle (no data is sent over the connection) for the specified duration.
|
|
*
|
|
* By default, Elastic Load Balancing maintains a 60-second idle connection timeout for both front-end and back-end connections of your load balancer. For more information, see [Configure idle connection timeout](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-idle-timeout.html) in the *User Guide for Classic Load Balancers* .
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancing-loadbalancer.html#cfn-elasticloadbalancing-loadbalancer-connectionsettings
|
|
*/
|
|
readonly connectionSettings?: CfnLoadBalancer.ConnectionSettingsProperty | cdk.IResolvable;
|
|
/**
|
|
* If enabled, the load balancer routes the request traffic evenly across all instances regardless of the Availability Zones.
|
|
*
|
|
* For more information, see [Configure cross-zone load balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-crosszone-lb.html) in the *User Guide for Classic Load Balancers* .
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancing-loadbalancer.html#cfn-elasticloadbalancing-loadbalancer-crosszone
|
|
*/
|
|
readonly crossZone?: boolean | cdk.IResolvable;
|
|
/**
|
|
* The health check settings to use when evaluating the health of your EC2 instances.
|
|
*
|
|
* Update requires replacement if you did not previously specify health check settings or if you are removing the health check settings. Otherwise, update requires no interruption.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancing-loadbalancer.html#cfn-elasticloadbalancing-loadbalancer-healthcheck
|
|
*/
|
|
readonly healthCheck?: CfnLoadBalancer.HealthCheckProperty | cdk.IResolvable;
|
|
/**
|
|
* The IDs of the instances for the load balancer.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancing-loadbalancer.html#cfn-elasticloadbalancing-loadbalancer-instances
|
|
*/
|
|
readonly instances?: Array<ec2Refs.IInstanceRef | string>;
|
|
/**
|
|
* Information about a policy for duration-based session stickiness.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancing-loadbalancer.html#cfn-elasticloadbalancing-loadbalancer-lbcookiestickinesspolicy
|
|
*/
|
|
readonly lbCookieStickinessPolicy?: Array<cdk.IResolvable | CfnLoadBalancer.LBCookieStickinessPolicyProperty> | cdk.IResolvable;
|
|
/**
|
|
* The listeners for the load balancer. You can specify at most one listener per port.
|
|
*
|
|
* If you update the properties for a listener, AWS CloudFormation deletes the existing listener and creates a new one with the specified properties. While the new listener is being created, clients cannot connect to the load balancer.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancing-loadbalancer.html#cfn-elasticloadbalancing-loadbalancer-listeners
|
|
*/
|
|
readonly listeners: Array<cdk.IResolvable | CfnLoadBalancer.ListenersProperty> | cdk.IResolvable;
|
|
/**
|
|
* The name of the load balancer.
|
|
*
|
|
* This name must be unique within your set of load balancers for the region.
|
|
*
|
|
* If you don't specify a name, AWS CloudFormation generates a unique physical ID for the load balancer. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) . If you specify a name, you cannot perform updates that require replacement of this resource, but you can perform other updates. To replace the resource, specify a new name.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancing-loadbalancer.html#cfn-elasticloadbalancing-loadbalancer-loadbalancername
|
|
*/
|
|
readonly loadBalancerName?: string;
|
|
/**
|
|
* The policies defined for your Classic Load Balancer.
|
|
*
|
|
* Specify only back-end server policies.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancing-loadbalancer.html#cfn-elasticloadbalancing-loadbalancer-policies
|
|
*/
|
|
readonly policies?: Array<cdk.IResolvable | CfnLoadBalancer.PoliciesProperty> | cdk.IResolvable;
|
|
/**
|
|
* The type of load balancer. Valid only for load balancers in a VPC.
|
|
*
|
|
* If `Scheme` is `internet-facing` , the load balancer has a public DNS name that resolves to a public IP address.
|
|
*
|
|
* If `Scheme` is `internal` , the load balancer has a public DNS name that resolves to a private IP address.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancing-loadbalancer.html#cfn-elasticloadbalancing-loadbalancer-scheme
|
|
*/
|
|
readonly scheme?: string;
|
|
/**
|
|
* The security groups for the load balancer.
|
|
*
|
|
* Valid only for load balancers in a VPC.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancing-loadbalancer.html#cfn-elasticloadbalancing-loadbalancer-securitygroups
|
|
*/
|
|
readonly securityGroups?: Array<ec2Refs.ISecurityGroupRef | string>;
|
|
/**
|
|
* The IDs of the subnets for the load balancer. You can specify at most one subnet per Availability Zone.
|
|
*
|
|
* Update requires replacement if you did not previously specify a subnet or if you are removing all subnets. Otherwise, update requires no interruption. To update to a different subnet in the current Availability Zone, you must first update to a subnet in a different Availability Zone, then update to the new subnet in the original Availability Zone.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancing-loadbalancer.html#cfn-elasticloadbalancing-loadbalancer-subnets
|
|
*/
|
|
readonly subnets?: Array<ec2Refs.ISubnetRef | string>;
|
|
/**
|
|
* The tags associated with a load balancer.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancing-loadbalancer.html#cfn-elasticloadbalancing-loadbalancer-tags
|
|
*/
|
|
readonly tags?: Array<cdk.CfnTag>;
|
|
}
|
|
export type { ILoadBalancerRef, LoadBalancerReference };
|