Skip to main content

load_balancers

Creates, updates, deletes or gets a load_balancer resource or lists load_balancers in a region

Overview

Nameload_balancers
TypeResource
DescriptionSpecifies an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer.
Idaws.elasticloadbalancingv2.load_balancers

Fields

NameDatatypeDescription
ip_address_typestringThe IP address type. The possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses). You can’t specify dualstack for a load balancer with a UDP or TCP_UDP listener.
security_groupsarray[Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load balancer.
load_balancer_attributesarrayThe load balancer attributes.
schemestringThe 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.
dns_namestring
namestringThe 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.
load_balancer_namestring
load_balancer_full_namestring
subnetsarrayThe IDs of the 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.
typestringThe type of load balancer. The default is application.
canonical_hosted_zone_idstring
tagsarrayThe tags to assign to the load balancer.
load_balancer_arnstring
subnet_mappingsarrayThe IDs of the 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.
enforce_security_group_inbound_rules_on_private_link_trafficstringIndicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink.
regionstringAWS region.

Methods

NameAccessible byRequired Params
create_resourceINSERTregion
delete_resourceDELETEdata__Identifier, region
update_resourceUPDATEdata__Identifier, data__PatchDocument, region
list_resourcesSELECTregion
get_resourceSELECTdata__Identifier, region

SELECT examples

Gets all load_balancers in a region.

SELECT
region,
ip_address_type,
security_groups,
load_balancer_attributes,
scheme,
dns_name,
name,
load_balancer_name,
load_balancer_full_name,
subnets,
type,
canonical_hosted_zone_id,
tags,
load_balancer_arn,
subnet_mappings,
enforce_security_group_inbound_rules_on_private_link_traffic
FROM aws.elasticloadbalancingv2.load_balancers
WHERE region = 'us-east-1';

Gets all properties from an individual load_balancer.

SELECT
region,
ip_address_type,
security_groups,
load_balancer_attributes,
scheme,
dns_name,
name,
load_balancer_name,
load_balancer_full_name,
subnets,
type,
canonical_hosted_zone_id,
tags,
load_balancer_arn,
subnet_mappings,
enforce_security_group_inbound_rules_on_private_link_traffic
FROM aws.elasticloadbalancingv2.load_balancers
WHERE region = 'us-east-1' AND data__Identifier = '<LoadBalancerArn>';

INSERT example

Use the following StackQL query and manifest file to create a new load_balancer resource, using stack-deploy.

/*+ create */
INSERT INTO aws.elasticloadbalancingv2.load_balancers (
IpAddressType,
SecurityGroups,
LoadBalancerAttributes,
Scheme,
Name,
Subnets,
Type,
Tags,
SubnetMappings,
EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic,
region
)
SELECT
'{{ IpAddressType }}',
'{{ SecurityGroups }}',
'{{ LoadBalancerAttributes }}',
'{{ Scheme }}',
'{{ Name }}',
'{{ Subnets }}',
'{{ Type }}',
'{{ Tags }}',
'{{ SubnetMappings }}',
'{{ EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic }}',
'{{ region }}';

DELETE example

/*+ delete */
DELETE FROM aws.elasticloadbalancingv2.load_balancers
WHERE data__Identifier = '<LoadBalancerArn>'
AND region = 'us-east-1';

Permissions

To operate on the load_balancers resource, the following permissions are required:

Create

elasticloadbalancing:CreateLoadBalancer,
elasticloadbalancing:DescribeLoadBalancers,
elasticloadbalancing:ModifyLoadBalancerAttributes,
elasticloadbalancing:AddTags

Delete

elasticloadbalancing:DescribeLoadBalancers,
elasticloadbalancing:DeleteLoadBalancer

List

elasticloadbalancing:DescribeLoadBalancers

Read

elasticloadbalancing:DescribeLoadBalancers,
elasticloadbalancing:DescribeLoadBalancerAttributes,
elasticloadbalancing:DescribeTags

Update

elasticloadbalancing:ModifyLoadBalancerAttributes,
elasticloadbalancing:SetSubnets,
elasticloadbalancing:SetIpAddressType,
elasticloadbalancing:SetSecurityGroups,
elasticloadbalancing:AddTags,
elasticloadbalancing:RemoveTags