Class CfnLoadBalancer
- All Implemented Interfaces:
IConstruct
,IDependable
,IInspectable
,software.amazon.jsii.JsiiSerializable
,software.constructs.IConstruct
AWS::ElasticLoadBalancingV2::LoadBalancer
.
Specifies an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer.
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.elasticloadbalancingv2.*; CfnLoadBalancer cfnLoadBalancer = CfnLoadBalancer.Builder.create(this, "MyCfnLoadBalancer") .ipAddressType("ipAddressType") .loadBalancerAttributes(List.of(LoadBalancerAttributeProperty.builder() .key("key") .value("value") .build())) .name("name") .scheme("scheme") .securityGroups(List.of("securityGroups")) .subnetMappings(List.of(SubnetMappingProperty.builder() .subnetId("subnetId") // the properties below are optional .allocationId("allocationId") .iPv6Address("iPv6Address") .privateIPv4Address("privateIPv4Address") .build())) .subnets(List.of("subnets")) .tags(List.of(CfnTag.builder() .key("key") .value("value") .build())) .type("type") .build();
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
A fluent builder forCfnLoadBalancer
.static interface
Specifies an attribute for an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer.static interface
Specifies a subnet for a load balancer.Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject
software.amazon.jsii.JsiiObject.InitializationMode
Nested classes/interfaces inherited from interface software.amazon.awscdk.core.IConstruct
IConstruct.Jsii$Default
Nested classes/interfaces inherited from interface software.constructs.IConstruct
software.constructs.IConstruct.Jsii$Default
Nested classes/interfaces inherited from interface software.amazon.awscdk.core.IInspectable
IInspectable.Jsii$Default, IInspectable.Jsii$Proxy
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
The CloudFormation resource type name for this resource class. -
Constructor Summary
ModifierConstructorDescriptionCfnLoadBalancer
(Construct scope, String id) Create a newAWS::ElasticLoadBalancingV2::LoadBalancer
.CfnLoadBalancer
(Construct scope, String id, CfnLoadBalancerProps props) Create a newAWS::ElasticLoadBalancingV2::LoadBalancer
.protected
CfnLoadBalancer
(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) protected
CfnLoadBalancer
(software.amazon.jsii.JsiiObjectRef objRef) -
Method Summary
Modifier and TypeMethodDescriptionThe ID of the Amazon Route 53 hosted zone associated with the load balancer.The DNS name for the load balancer.The full name of the load balancer.The name of the load balancer.The IDs of the security groups for the load balancer.The IP address type.The load balancer attributes.getName()
The name of the load balancer.The nodes of an Internet-facing load balancer have public IP addresses.[Application Load Balancers] The IDs of the security groups for the load balancer.The IDs of the public subnets.The IDs of the public subnets.getTags()
The tags to assign to the load balancer.getType()
The type of load balancer.void
inspect
(TreeInspector inspector) Examines the CloudFormation resource and discloses attributes.renderProperties
(Map<String, Object> props) void
setIpAddressType
(String value) The IP address type.void
setLoadBalancerAttributes
(List<Object> value) The load balancer attributes.void
The load balancer attributes.void
The name of the load balancer.void
The nodes of an Internet-facing load balancer have public IP addresses.void
setSecurityGroups
(List<String> value) [Application Load Balancers] The IDs of the security groups for the load balancer.void
setSubnetMappings
(List<Object> value) The IDs of the public subnets.void
setSubnetMappings
(IResolvable value) The IDs of the public subnets.void
setSubnets
(List<String> value) The IDs of the public subnets.void
The type of 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, validateProperties
Methods inherited from class software.amazon.awscdk.core.CfnRefElement
getRef
Methods inherited from class software.amazon.awscdk.core.CfnElement
getCreationStack, getLogicalId, getStack, isCfnElement, overrideLogicalId
Methods inherited from class software.amazon.awscdk.core.Construct
getNode, isConstruct, onPrepare, onSynthesize, onValidate, prepare, synthesize, validate
Methods inherited from class software.amazon.jsii.JsiiObject
jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSet
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods 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, @Nullable CfnLoadBalancerProps props) Create a newAWS::ElasticLoadBalancingV2::LoadBalancer
.- Parameters:
scope
-- scope in which this resource is defined.
id
-- scoped id of the resource.
props
-- resource properties.
-
CfnLoadBalancer
Create a newAWS::ElasticLoadBalancingV2::LoadBalancer
.- Parameters:
scope
-- scope in which this resource is defined.
id
-- scoped id of the resource.
-
-
Method Details
-
inspect
Examines the CloudFormation resource and discloses attributes.- Specified by:
inspect
in 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:
renderProperties
in classCfnResource
- Parameters:
props
- This parameter is required.
-
getAttrCanonicalHostedZoneId
The ID of the Amazon Route 53 hosted zone associated with the load balancer.For example,
Z2P70J7EXAMPLE
. -
getAttrDnsName
The DNS name for the load balancer.For example,
my-load-balancer-424835706.us-west-2.elb.amazonaws.com
. -
getAttrLoadBalancerFullName
The full name of the load balancer.For example,
app/my-load-balancer/50dc6c495c0c9188
. -
getAttrLoadBalancerName
The name of the load balancer.For example,
my-load-balancer
. -
getAttrSecurityGroups
The IDs of the security groups for the load balancer. -
getCfnProperties
- Overrides:
getCfnProperties
in classCfnResource
-
getTags
The tags to assign to the load balancer. -
getIpAddressType
The IP address type.The possible values are
ipv4
(for IPv4 addresses) anddualstack
(for IPv4 and IPv6 addresses). You can’t specifydualstack
for a load balancer with a UDP or TCP_UDP listener. -
setIpAddressType
The IP address type.The possible values are
ipv4
(for IPv4 addresses) anddualstack
(for IPv4 and IPv6 addresses). You can’t specifydualstack
for a load balancer with a UDP or TCP_UDP listener. -
getLoadBalancerAttributes
The load balancer attributes. -
setLoadBalancerAttributes
The load balancer attributes. -
setLoadBalancerAttributes
The load balancer attributes. -
getName
The name of the load balancer.This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with "internal-".
If you don't specify a name, AWS CloudFormation generates a unique physical ID for the load balancer. 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.
-
setName
The name of the load balancer.This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with "internal-".
If you don't specify a name, AWS CloudFormation generates a unique physical ID for the load balancer. 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.
-
getScheme
The nodes of an Internet-facing load balancer have public IP addresses.The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet.
The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer.
The default is an Internet-facing load balancer.
You cannot specify a scheme for a Gateway Load Balancer.
-
setScheme
The nodes of an Internet-facing load balancer have public IP addresses.The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet.
The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer.
The default is an Internet-facing load balancer.
You cannot specify a scheme for a Gateway Load Balancer.
-
getSecurityGroups
[Application Load Balancers] The IDs of the security groups for the load balancer. -
setSecurityGroups
[Application Load Balancers] The IDs of the security groups for the load balancer. -
getSubnetMappings
The IDs of the public subnets.You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both.
[Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets.
[Application Load Balancers on Outposts] You must specify one Outpost subnet.
[Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.
[Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet. For internet-facing load balancer, you can specify one IPv6 address per subnet.
[Gateway Load Balancers] You can specify subnets from one or more Availability Zones. You cannot specify Elastic IP addresses for your subnets.
-
setSubnetMappings
The IDs of the public subnets.You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both.
[Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets.
[Application Load Balancers on Outposts] You must specify one Outpost subnet.
[Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.
[Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet. For internet-facing load balancer, you can specify one IPv6 address per subnet.
[Gateway Load Balancers] You can specify subnets from one or more Availability Zones. You cannot specify Elastic IP addresses for your subnets.
-
setSubnetMappings
The IDs of the public subnets.You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both.
[Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets.
[Application Load Balancers on Outposts] You must specify one Outpost subnet.
[Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.
[Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet. For internet-facing load balancer, you can specify one IPv6 address per subnet.
[Gateway Load Balancers] You can specify subnets from one or more Availability Zones. You cannot specify Elastic IP addresses for your subnets.
-
getSubnets
The IDs of the public subnets.You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both. To specify an Elastic IP address, specify subnet mappings instead of subnets.
[Application Load Balancers] You must specify subnets from at least two Availability Zones.
[Application Load Balancers on Outposts] You must specify one Outpost subnet.
[Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.
[Network Load Balancers] You can specify subnets from one or more Availability Zones.
[Gateway Load Balancers] You can specify subnets from one or more Availability Zones.
-
setSubnets
The IDs of the public subnets.You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both. To specify an Elastic IP address, specify subnet mappings instead of subnets.
[Application Load Balancers] You must specify subnets from at least two Availability Zones.
[Application Load Balancers on Outposts] You must specify one Outpost subnet.
[Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.
[Network Load Balancers] You can specify subnets from one or more Availability Zones.
[Gateway Load Balancers] You can specify subnets from one or more Availability Zones.
-
getType
The type of load balancer.The default is
application
. -
setType
The type of load balancer.The default is
application
.
-