Copyright | (c) 2013-2021 Brendan Hay |
---|---|
License | Mozilla Public License, v. 2.0. |
Maintainer | Brendan Hay <brendan.g.hay+amazonka@gmail.com> |
Stability | auto-generated |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
Creates an Application Load Balancer, Network Load Balancer, or Gateway Load Balancer.
For more information, see the following:
This operation is idempotent, which means that it completes at most one time. If you attempt to create multiple load balancers with the same settings, each call succeeds.
Synopsis
- data CreateLoadBalancer = CreateLoadBalancer' {}
- newCreateLoadBalancer :: Text -> CreateLoadBalancer
- createLoadBalancer_subnetMappings :: Lens' CreateLoadBalancer (Maybe [SubnetMapping])
- createLoadBalancer_securityGroups :: Lens' CreateLoadBalancer (Maybe [Text])
- createLoadBalancer_subnets :: Lens' CreateLoadBalancer (Maybe [Text])
- createLoadBalancer_customerOwnedIpv4Pool :: Lens' CreateLoadBalancer (Maybe Text)
- createLoadBalancer_ipAddressType :: Lens' CreateLoadBalancer (Maybe IpAddressType)
- createLoadBalancer_scheme :: Lens' CreateLoadBalancer (Maybe LoadBalancerSchemeEnum)
- createLoadBalancer_type :: Lens' CreateLoadBalancer (Maybe LoadBalancerTypeEnum)
- createLoadBalancer_tags :: Lens' CreateLoadBalancer (Maybe (NonEmpty Tag))
- createLoadBalancer_name :: Lens' CreateLoadBalancer Text
- data CreateLoadBalancerResponse = CreateLoadBalancerResponse' {
- loadBalancers :: Maybe [LoadBalancer]
- httpStatus :: Int
- newCreateLoadBalancerResponse :: Int -> CreateLoadBalancerResponse
- createLoadBalancerResponse_loadBalancers :: Lens' CreateLoadBalancerResponse (Maybe [LoadBalancer])
- createLoadBalancerResponse_httpStatus :: Lens' CreateLoadBalancerResponse Int
Creating a Request
data CreateLoadBalancer Source #
See: newCreateLoadBalancer
smart constructor.
CreateLoadBalancer' | |
|
Instances
newCreateLoadBalancer Source #
Create a value of CreateLoadBalancer
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:subnetMappings:CreateLoadBalancer'
, createLoadBalancer_subnetMappings
- The IDs of the public subnets. You can specify only one subnet per
Availability Zone. You must specify either subnets or subnet mappings.
- 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.
$sel:securityGroups:CreateLoadBalancer'
, createLoadBalancer_securityGroups
- [Application Load Balancers] The IDs of the security groups for the load
balancer.
$sel:subnets:CreateLoadBalancer'
, createLoadBalancer_subnets
- The IDs of the public subnets. You can specify only one subnet per
Availability Zone. You must specify either subnets or subnet mappings.
- 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.
$sel:customerOwnedIpv4Pool:CreateLoadBalancer'
, createLoadBalancer_customerOwnedIpv4Pool
- [Application Load Balancers on Outposts] The ID of the customer-owned
address pool (CoIP pool).
$sel:ipAddressType:CreateLoadBalancer'
, createLoadBalancer_ipAddressType
- The type of IP addresses used by the subnets for your load balancer. The
possible values are ipv4
(for IPv4 addresses) and dualstack
(for
IPv4 and IPv6 addresses). Internal load balancers must use ipv4
.
$sel:scheme:CreateLoadBalancer'
, createLoadBalancer_scheme
- 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.
$sel:type':CreateLoadBalancer'
, createLoadBalancer_type
- The type of load balancer. The default is application
.
$sel:tags:CreateLoadBalancer'
, createLoadBalancer_tags
- The tags to assign to the load balancer.
$sel:name:CreateLoadBalancer'
, createLoadBalancer_name
- 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-".
Request Lenses
createLoadBalancer_subnetMappings :: Lens' CreateLoadBalancer (Maybe [SubnetMapping]) Source #
The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.
- 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.
createLoadBalancer_securityGroups :: Lens' CreateLoadBalancer (Maybe [Text]) Source #
- Application Load Balancers
- The IDs of the security groups for the load balancer.
createLoadBalancer_subnets :: Lens' CreateLoadBalancer (Maybe [Text]) Source #
The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.
- 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.
createLoadBalancer_customerOwnedIpv4Pool :: Lens' CreateLoadBalancer (Maybe Text) Source #
- Application Load Balancers on Outposts
- The ID of the customer-owned address pool (CoIP pool).
createLoadBalancer_ipAddressType :: Lens' CreateLoadBalancer (Maybe IpAddressType) Source #
The type of IP addresses used by the subnets for your load balancer. The
possible values are ipv4
(for IPv4 addresses) and dualstack
(for
IPv4 and IPv6 addresses). Internal load balancers must use ipv4
.
createLoadBalancer_scheme :: Lens' CreateLoadBalancer (Maybe LoadBalancerSchemeEnum) Source #
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.
createLoadBalancer_type :: Lens' CreateLoadBalancer (Maybe LoadBalancerTypeEnum) Source #
The type of load balancer. The default is application
.
createLoadBalancer_tags :: Lens' CreateLoadBalancer (Maybe (NonEmpty Tag)) Source #
The tags to assign to the load balancer.
createLoadBalancer_name :: Lens' CreateLoadBalancer Text Source #
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-".
Destructuring the Response
data CreateLoadBalancerResponse Source #
See: newCreateLoadBalancerResponse
smart constructor.
CreateLoadBalancerResponse' | |
|
Instances
newCreateLoadBalancerResponse Source #
Create a value of CreateLoadBalancerResponse
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:loadBalancers:CreateLoadBalancerResponse'
, createLoadBalancerResponse_loadBalancers
- Information about the load balancer.
$sel:httpStatus:CreateLoadBalancerResponse'
, createLoadBalancerResponse_httpStatus
- The response's http status code.
Response Lenses
createLoadBalancerResponse_loadBalancers :: Lens' CreateLoadBalancerResponse (Maybe [LoadBalancer]) Source #
Information about the load balancer.
createLoadBalancerResponse_httpStatus :: Lens' CreateLoadBalancerResponse Int Source #
The response's http status code.