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
Nested ClassesModifier and TypeClassDescriptionstatic final classA fluent builder forCfnLoadBalancer.static interfaceSpecifies an attribute for an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer.static interfaceSpecifies a subnet for a 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) Create a newAWS::ElasticLoadBalancingV2::LoadBalancer.CfnLoadBalancer(Construct scope, String id, CfnLoadBalancerProps props) Create a newAWS::ElasticLoadBalancingV2::LoadBalancer.protectedCfnLoadBalancer(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) protectedCfnLoadBalancer(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.voidinspect(TreeInspector inspector) Examines the CloudFormation resource and discloses attributes.renderProperties(Map<String, Object> props) voidsetIpAddressType(String value) The IP address type.voidsetLoadBalancerAttributes(List<Object> value) The load balancer attributes.voidThe load balancer attributes.voidThe name of the load balancer.voidThe nodes of an Internet-facing load balancer have public IP addresses.voidsetSecurityGroups(List<String> value) [Application Load Balancers] The IDs of the security groups for the load balancer.voidsetSubnetMappings(List<Object> value) The IDs of the public subnets.voidsetSubnetMappings(IResolvable value) The IDs of the public subnets.voidsetSubnets(List<String> value) The IDs of the public subnets.voidThe 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, 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, @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:
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.
-
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:
getCfnPropertiesin 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 specifydualstackfor 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 specifydualstackfor 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.
-