amazonka-elbv2-1.6.0: Amazon Elastic Load Balancing SDK.

Copyright(c) 2013-2018 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay+amazonka@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone
LanguageHaskell2010

Network.AWS.ELBv2.CreateLoadBalancer

Contents

Description

Creates an Application Load Balancer or a Network Load Balancer.

When you create a load balancer, you can specify security groups, public subnets, IP address type, and tags. Otherwise, you could do so later using SetSecurityGroups , SetSubnets , SetIpAddressType , and AddTags .

To create listeners for your load balancer, use CreateListener . To describe your current load balancers, see DescribeLoadBalancers . When you are finished with a load balancer, you can delete it using DeleteLoadBalancer .

For limit information, see Limits for Your Application Load Balancer in the Application Load Balancers Guide and Limits for Your Network Load Balancer in the Network Load Balancers Guide .

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.

For more information, see Application Load Balancers in the Application Load Balancers Guide and Network Load Balancers in the Network Load Balancers Guide .

Synopsis

Creating a Request

createLoadBalancer Source #

Creates a value of CreateLoadBalancer with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • clbSubnetMappings - 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. [Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet.
  • clbSecurityGroups - [Application Load Balancers] The IDs of the security groups for the load balancer.
  • clbSubnets - 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. [Network Load Balancers] You can specify subnets from one or more Availability Zones.
  • clbIPAddressType - [Application Load Balancers] 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 .
  • clbScheme - 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 only route requests from clients with access to the VPC for the load balancer. The default is an Internet-facing load balancer.
  • clbType - The type of load balancer. The default is application .
  • clbTags - One or more tags to assign to the load balancer.
  • clbName - 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, and must not begin or end with a hyphen.

data CreateLoadBalancer Source #

See: createLoadBalancer smart constructor.

Instances

Eq CreateLoadBalancer Source # 
Data CreateLoadBalancer Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CreateLoadBalancer -> c CreateLoadBalancer #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CreateLoadBalancer #

toConstr :: CreateLoadBalancer -> Constr #

dataTypeOf :: CreateLoadBalancer -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c CreateLoadBalancer) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CreateLoadBalancer) #

gmapT :: (forall b. Data b => b -> b) -> CreateLoadBalancer -> CreateLoadBalancer #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CreateLoadBalancer -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CreateLoadBalancer -> r #

gmapQ :: (forall d. Data d => d -> u) -> CreateLoadBalancer -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CreateLoadBalancer -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CreateLoadBalancer -> m CreateLoadBalancer #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CreateLoadBalancer -> m CreateLoadBalancer #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CreateLoadBalancer -> m CreateLoadBalancer #

Read CreateLoadBalancer Source # 
Show CreateLoadBalancer Source # 
Generic CreateLoadBalancer Source # 
Hashable CreateLoadBalancer Source # 
NFData CreateLoadBalancer Source # 

Methods

rnf :: CreateLoadBalancer -> () #

AWSRequest CreateLoadBalancer Source # 
ToHeaders CreateLoadBalancer Source # 
ToPath CreateLoadBalancer Source # 
ToQuery CreateLoadBalancer Source # 
type Rep CreateLoadBalancer Source # 
type Rs CreateLoadBalancer Source # 

Request Lenses

clbSubnetMappings :: Lens' CreateLoadBalancer [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. [Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet.

clbSecurityGroups :: Lens' CreateLoadBalancer [Text] Source #

Application Load Balancers
The IDs of the security groups for the load balancer.

clbSubnets :: Lens' CreateLoadBalancer [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. [Network Load Balancers] You can specify subnets from one or more Availability Zones.

clbIPAddressType :: Lens' CreateLoadBalancer (Maybe IPAddressType) Source #

Application Load Balancers
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 .

clbScheme :: 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 only route requests from clients with access to the VPC for the load balancer. The default is an Internet-facing load balancer.

clbType :: Lens' CreateLoadBalancer (Maybe LoadBalancerTypeEnum) Source #

The type of load balancer. The default is application .

clbTags :: Lens' CreateLoadBalancer (Maybe (NonEmpty Tag)) Source #

One or more tags to assign to the load balancer.

clbName :: 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, and must not begin or end with a hyphen.

Destructuring the Response

createLoadBalancerResponse Source #

Creates a value of CreateLoadBalancerResponse with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

data CreateLoadBalancerResponse Source #

See: createLoadBalancerResponse smart constructor.

Instances

Eq CreateLoadBalancerResponse Source # 
Data CreateLoadBalancerResponse Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CreateLoadBalancerResponse -> c CreateLoadBalancerResponse #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CreateLoadBalancerResponse #

toConstr :: CreateLoadBalancerResponse -> Constr #

dataTypeOf :: CreateLoadBalancerResponse -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c CreateLoadBalancerResponse) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CreateLoadBalancerResponse) #

gmapT :: (forall b. Data b => b -> b) -> CreateLoadBalancerResponse -> CreateLoadBalancerResponse #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CreateLoadBalancerResponse -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CreateLoadBalancerResponse -> r #

gmapQ :: (forall d. Data d => d -> u) -> CreateLoadBalancerResponse -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CreateLoadBalancerResponse -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CreateLoadBalancerResponse -> m CreateLoadBalancerResponse #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CreateLoadBalancerResponse -> m CreateLoadBalancerResponse #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CreateLoadBalancerResponse -> m CreateLoadBalancerResponse #

Read CreateLoadBalancerResponse Source # 
Show CreateLoadBalancerResponse Source # 
Generic CreateLoadBalancerResponse Source # 
NFData CreateLoadBalancerResponse Source # 
type Rep CreateLoadBalancerResponse Source # 
type Rep CreateLoadBalancerResponse = D1 * (MetaData "CreateLoadBalancerResponse" "Network.AWS.ELBv2.CreateLoadBalancer" "amazonka-elbv2-1.6.0-BDuuMSavAm89hMa3xHwuj" False) (C1 * (MetaCons "CreateLoadBalancerResponse'" PrefixI True) ((:*:) * (S1 * (MetaSel (Just Symbol "_clbrsLoadBalancers") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe [LoadBalancer]))) (S1 * (MetaSel (Just Symbol "_clbrsResponseStatus") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Int))))

Response Lenses

clbrsLoadBalancers :: Lens' CreateLoadBalancerResponse [LoadBalancer] Source #

Information about the load balancer.