Class CfnLoadBalancer
- All Implemented Interfaces:
IConstruct,IDependable,IInspectable,software.amazon.jsii.JsiiSerializable,software.constructs.IConstruct
AWS::ElasticLoadBalancing::LoadBalancer.
Specifies a Classic Load Balancer.
You can specify the AvailabilityZones or Subnets property, but not both.
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 to declare a dependency on the VPC-gateway attachment.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import software.amazon.awscdk.services.elasticloadbalancing.*;
Object attributes;
CfnLoadBalancer cfnLoadBalancer = CfnLoadBalancer.Builder.create(this, "MyCfnLoadBalancer")
.listeners(List.of(ListenersProperty.builder()
.instancePort("instancePort")
.loadBalancerPort("loadBalancerPort")
.protocol("protocol")
// the properties below are optional
.instanceProtocol("instanceProtocol")
.policyNames(List.of("policyNames"))
.sslCertificateId("sslCertificateId")
.build()))
// the properties below are optional
.accessLoggingPolicy(AccessLoggingPolicyProperty.builder()
.enabled(false)
.s3BucketName("s3BucketName")
// the properties below are optional
.emitInterval(123)
.s3BucketPrefix("s3BucketPrefix")
.build())
.appCookieStickinessPolicy(List.of(AppCookieStickinessPolicyProperty.builder()
.cookieName("cookieName")
.policyName("policyName")
.build()))
.availabilityZones(List.of("availabilityZones"))
.connectionDrainingPolicy(ConnectionDrainingPolicyProperty.builder()
.enabled(false)
// the properties below are optional
.timeout(123)
.build())
.connectionSettings(ConnectionSettingsProperty.builder()
.idleTimeout(123)
.build())
.crossZone(false)
.healthCheck(HealthCheckProperty.builder()
.healthyThreshold("healthyThreshold")
.interval("interval")
.target("target")
.timeout("timeout")
.unhealthyThreshold("unhealthyThreshold")
.build())
.instances(List.of("instances"))
.lbCookieStickinessPolicy(List.of(LBCookieStickinessPolicyProperty.builder()
.cookieExpirationPeriod("cookieExpirationPeriod")
.policyName("policyName")
.build()))
.loadBalancerName("loadBalancerName")
.policies(List.of(PoliciesProperty.builder()
.attributes(List.of(attributes))
.policyName("policyName")
.policyType("policyType")
// the properties below are optional
.instancePorts(List.of("instancePorts"))
.loadBalancerPorts(List.of("loadBalancerPorts"))
.build()))
.scheme("scheme")
.securityGroups(List.of("securityGroups"))
.subnets(List.of("subnets"))
.tags(List.of(CfnTag.builder()
.key("key")
.value("value")
.build()))
.build();
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceSpecifies where and how access logs are stored for your Classic Load Balancer.static interfaceSpecifies a policy for application-controlled session stickiness for your Classic Load Balancer.static final classA fluent builder forCfnLoadBalancer.static interfaceSpecifies the connection draining settings for your Classic Load Balancer.static interfaceSpecifies the idle timeout value for your Classic Load Balancer.static interfaceSpecifies health check settings for your Classic Load Balancer.static interfaceSpecifies a policy for duration-based session stickiness for your Classic Load Balancer.static interfaceSpecifies a listener for your Classic Load Balancer.static interfaceSpecifies policies for your Classic Load Balancer.Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject
software.amazon.jsii.JsiiObject.InitializationModeNested classes/interfaces inherited from interface software.amazon.awscdk.core.IConstruct
IConstruct.Jsii$DefaultNested classes/interfaces inherited from interface software.constructs.IConstruct
software.constructs.IConstruct.Jsii$DefaultNested classes/interfaces inherited from interface software.amazon.awscdk.core.IInspectable
IInspectable.Jsii$Default, IInspectable.Jsii$Proxy -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe CloudFormation resource type name for this resource class. -
Constructor Summary
ConstructorsModifierConstructorDescriptionCfnLoadBalancer(Construct scope, String id, CfnLoadBalancerProps props) Create a newAWS::ElasticLoadBalancing::LoadBalancer.protectedCfnLoadBalancer(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) protectedCfnLoadBalancer(software.amazon.jsii.JsiiObjectRef objRef) -
Method Summary
Modifier and TypeMethodDescriptionInformation about where and how access logs are stored for the load balancer.Information about a policy for application-controlled session stickiness.The name of the Route 53 hosted zone that is associated with the load balancer.The ID of the Route 53 hosted zone name that is associated with the load balancer.The DNS name for the load balancer.The name of the security group that you can use as part of your inbound rules for your load balancer's back-end instances.The owner of the source security group.The Availability Zones for the load balancer.If enabled, the load balancer allows existing requests to complete before the load balancer shifts traffic away from a deregistered or unhealthy instance.If enabled, the load balancer allows the connections to remain idle (no data is sent over the connection) for the specified duration.If enabled, the load balancer routes the request traffic evenly across all instances regardless of the Availability Zones.The health check settings to use when evaluating the health of your EC2 instances.The IDs of the instances for the load balancer.Information about a policy for duration-based session stickiness.The listeners for the load balancer.The name of the load balancer.The policies defined for your Classic Load Balancer.The type of load balancer.The security groups for the load balancer.The IDs of the subnets for the load balancer.getTags()The tags associated with a load balancer.voidinspect(TreeInspector inspector) Examines the CloudFormation resource and discloses attributes.renderProperties(Map<String, Object> props) voidInformation about where and how access logs are stored for the load balancer.voidInformation about where and how access logs are stored for the load balancer.voidsetAppCookieStickinessPolicy(List<Object> value) Information about a policy for application-controlled session stickiness.voidInformation about a policy for application-controlled session stickiness.voidsetAvailabilityZones(List<String> value) The Availability Zones for the load balancer.voidIf enabled, the load balancer allows existing requests to complete before the load balancer shifts traffic away from a deregistered or unhealthy instance.voidIf enabled, the load balancer allows existing requests to complete before the load balancer shifts traffic away from a deregistered or unhealthy instance.voidsetConnectionSettings(IResolvable value) If enabled, the load balancer allows the connections to remain idle (no data is sent over the connection) for the specified duration.voidIf enabled, the load balancer allows the connections to remain idle (no data is sent over the connection) for the specified duration.voidsetCrossZone(Boolean value) If enabled, the load balancer routes the request traffic evenly across all instances regardless of the Availability Zones.voidsetCrossZone(IResolvable value) If enabled, the load balancer routes the request traffic evenly across all instances regardless of the Availability Zones.voidsetHealthCheck(IResolvable value) The health check settings to use when evaluating the health of your EC2 instances.voidThe health check settings to use when evaluating the health of your EC2 instances.voidsetInstances(List<String> value) The IDs of the instances for the load balancer.voidsetLbCookieStickinessPolicy(List<Object> value) Information about a policy for duration-based session stickiness.voidInformation about a policy for duration-based session stickiness.voidsetListeners(List<Object> value) The listeners for the load balancer.voidsetListeners(IResolvable value) The listeners for the load balancer.voidsetLoadBalancerName(String value) The name of the load balancer.voidsetPolicies(List<Object> value) The policies defined for your Classic Load Balancer.voidsetPolicies(IResolvable value) The policies defined for your Classic Load Balancer.voidThe type of load balancer.voidsetSecurityGroups(List<String> value) The security groups for the load balancer.voidsetSubnets(List<String> value) The IDs of the subnets for the load balancer.Methods inherited from class software.amazon.awscdk.core.CfnResource
addDeletionOverride, addDependsOn, addMetadata, addOverride, addPropertyDeletionOverride, addPropertyOverride, applyRemovalPolicy, applyRemovalPolicy, applyRemovalPolicy, getAtt, getCfnOptions, getCfnResourceType, getMetadata, getUpdatedProperites, isCfnResource, shouldSynthesize, toString, validatePropertiesMethods inherited from class software.amazon.awscdk.core.CfnRefElement
getRefMethods inherited from class software.amazon.awscdk.core.CfnElement
getCreationStack, getLogicalId, getStack, isCfnElement, overrideLogicalIdMethods inherited from class software.amazon.awscdk.core.Construct
getNode, isConstruct, onPrepare, onSynthesize, onValidate, prepare, synthesize, validateMethods inherited from class software.amazon.jsii.JsiiObject
jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSetMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Field Details
-
CFN_RESOURCE_TYPE_NAME
The CloudFormation resource type name for this resource class.
-
-
Constructor Details
-
CfnLoadBalancer
protected CfnLoadBalancer(software.amazon.jsii.JsiiObjectRef objRef) -
CfnLoadBalancer
protected CfnLoadBalancer(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) -
CfnLoadBalancer
@Stability(Stable) public CfnLoadBalancer(@NotNull Construct scope, @NotNull String id, @NotNull CfnLoadBalancerProps props) Create a newAWS::ElasticLoadBalancing::LoadBalancer.- Parameters:
scope-- scope in which this resource is defined.
id-- scoped id of the resource.
props-- resource properties.
-
-
Method Details
-
inspect
Examines the CloudFormation resource and discloses attributes.- Specified by:
inspectin interfaceIInspectable- Parameters:
inspector-- tree inspector to collect and process attributes.
-
renderProperties
@Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String, Object> props) - Overrides:
renderPropertiesin classCfnResource- Parameters:
props- This parameter is required.
-
getAttrCanonicalHostedZoneName
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
DNSNameinstead. -
getAttrCanonicalHostedZoneNameId
The ID of the Route 53 hosted zone name that is associated with the load balancer. -
getAttrDnsName
The DNS name for the load balancer. -
getAttrSourceSecurityGroupGroupName
The name of the security group that you can use as part of your inbound rules for your load balancer's back-end instances. -
getAttrSourceSecurityGroupOwnerAlias
The owner of the source security group. -
getCfnProperties
- Overrides:
getCfnPropertiesin classCfnResource
-
getTags
The tags associated with a load balancer. -
getListeners
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.
-
setListeners
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.
-
setListeners
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.
-
getAccessLoggingPolicy
Information about where and how access logs are stored for the load balancer. -
setAccessLoggingPolicy
Information about where and how access logs are stored for the load balancer. -
setAccessLoggingPolicy
@Stability(Stable) public void setAccessLoggingPolicy(@Nullable CfnLoadBalancer.AccessLoggingPolicyProperty value) Information about where and how access logs are stored for the load balancer. -
getAppCookieStickinessPolicy
Information about a policy for application-controlled session stickiness. -
setAppCookieStickinessPolicy
Information about a policy for application-controlled session stickiness. -
setAppCookieStickinessPolicy
Information about a policy for application-controlled session stickiness. -
getAvailabilityZones
The Availability Zones for the load balancer. For load balancers in a VPC, specifySubnetsinstead.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.
-
setAvailabilityZones
The Availability Zones for the load balancer. For load balancers in a VPC, specifySubnetsinstead.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.
-
getConnectionDrainingPolicy
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 in the Classic Load Balancers Guide .
-
setConnectionDrainingPolicy
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 in the Classic Load Balancers Guide .
-
setConnectionDrainingPolicy
@Stability(Stable) public void setConnectionDrainingPolicy(@Nullable CfnLoadBalancer.ConnectionDrainingPolicyProperty value) 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 in the Classic Load Balancers Guide .
-
getConnectionSettings
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 in the Classic Load Balancers Guide .
-
setConnectionSettings
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 in the Classic Load Balancers Guide .
-
setConnectionSettings
@Stability(Stable) public void setConnectionSettings(@Nullable CfnLoadBalancer.ConnectionSettingsProperty value) 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 in the Classic Load Balancers Guide .
-
getCrossZone
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 in the Classic Load Balancers Guide .
-
setCrossZone
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 in the Classic Load Balancers Guide .
-
setCrossZone
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 in the Classic Load Balancers Guide .
-
getHealthCheck
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.
-
setHealthCheck
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.
-
setHealthCheck
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.
-
getInstances
The IDs of the instances for the load balancer. -
setInstances
The IDs of the instances for the load balancer. -
getLbCookieStickinessPolicy
Information about a policy for duration-based session stickiness. -
setLbCookieStickinessPolicy
Information about a policy for duration-based session stickiness. -
setLbCookieStickinessPolicy
Information about a policy for duration-based session stickiness. -
getLoadBalancerName
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 . 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.
-
setLoadBalancerName
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 . 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.
-
getPolicies
The policies defined for your Classic Load Balancer.Specify only back-end server policies.
-
setPolicies
The policies defined for your Classic Load Balancer.Specify only back-end server policies.
-
setPolicies
The policies defined for your Classic Load Balancer.Specify only back-end server policies.
-
getScheme
The type of load balancer. Valid only for load balancers in a VPC.If
Schemeisinternet-facing, the load balancer has a public DNS name that resolves to a public IP address.If
Schemeisinternal, the load balancer has a public DNS name that resolves to a private IP address. -
setScheme
The type of load balancer. Valid only for load balancers in a VPC.If
Schemeisinternet-facing, the load balancer has a public DNS name that resolves to a public IP address.If
Schemeisinternal, the load balancer has a public DNS name that resolves to a private IP address. -
getSecurityGroups
The security groups for the load balancer.Valid only for load balancers in a VPC.
-
setSecurityGroups
The security groups for the load balancer.Valid only for load balancers in a VPC.
-
getSubnets
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.
-
setSubnets
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.
-