Copyright | (c) 2013-2016 Brendan Hay |
---|---|
License | Mozilla Public License, v. 2.0. |
Maintainer | Brendan Hay <brendan.g.hay@gmail.com> |
Stability | auto-generated |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
Language | Haskell2010 |
- Service Configuration
- Errors
- InvalidConfigurationRequestException
- SubnetNotFoundException
- TooManyTargetsException
- RuleNotFoundException
- InvalidSubnetException
- TooManyRulesException
- TooManyTargetGroupsException
- DuplicateLoadBalancerNameException
- IncompatibleProtocolsException
- TooManyCertificatesException
- DuplicateTagKeysException
- DuplicateListenerException
- TooManyTagsException
- DuplicateTargetGroupNameException
- HealthUnavailableException
- PriorityInUseException
- TooManyLoadBalancersException
- UnsupportedProtocolException
- InvalidTargetException
- InvalidSecurityGroupException
- TargetGroupNotFoundException
- ListenerNotFoundException
- TooManyRegistrationsForTargetIdException
- TooManyListenersException
- TargetGroupAssociationLimitException
- OperationNotPermittedException
- SSLPolicyNotFoundException
- InvalidSchemeException
- LoadBalancerNotFoundException
- ResourceInUseException
- CertificateNotFoundException
- Waiters
- Operations
- DescribeLoadBalancers (Paginated)
- DescribeTags
- DeleteRule
- RemoveTags
- DeleteTargetGroup
- SetSubnets
- CreateRule
- SetSecurityGroups
- SetRulePriorities
- DescribeTargetGroups (Paginated)
- DescribeRules
- DeleteLoadBalancer
- RegisterTargets
- ModifyListener
- ModifyTargetGroup
- ModifyTargetGroupAttributes
- DescribeTargetGroupAttributes
- DeleteListener
- DescribeSSLPolicies
- DeregisterTargets
- CreateListener
- CreateTargetGroup
- ModifyLoadBalancerAttributes
- AddTags
- DescribeLoadBalancerAttributes
- DescribeListeners (Paginated)
- DescribeTargetHealth
- CreateLoadBalancer
- ModifyRule
- Types
- ActionTypeEnum
- LoadBalancerSchemeEnum
- LoadBalancerStateEnum
- LoadBalancerTypeEnum
- ProtocolEnum
- TargetHealthReasonEnum
- TargetHealthStateEnum
- Action
- AvailabilityZone
- Certificate
- Cipher
- Listener
- LoadBalancer
- LoadBalancerAttribute
- LoadBalancerState
- Matcher
- Rule
- RuleCondition
- RulePriorityPair
- SSLPolicy
- Tag
- TagDescription
- TargetDescription
- TargetGroup
- TargetGroupAttribute
- TargetHealth
- TargetHealthDescription
Elastic Load Balancing
A load balancer distributes incoming traffic across targets, such as your EC2 instances. This enables you to increase the availability of your application. The load balancer also monitors the health of its registered targets and ensures that it routes traffic only to healthy targets. You configure your load balancer to accept incoming traffic by specifying one or more listeners, which are configured with a protocol and port number for connections from clients to the load balancer. You configure a target group with a protocol and port number for connections from the load balancer to the targets, and with health check settings to be used when checking the health status of the targets.
Elastic Load Balancing supports two types of load balancers: Classic Load Balancers and Application Load Balancers. A Classic Load Balancer makes routing and load balancing decisions either at the transport layer (TCPSSL) or the application layer (HTTPHTTPS), and supports either EC2-Classic or a VPC. An Application Load Balancer makes routing and load balancing decisions at the application layer (HTTPHTTPS), supports path-based routing, and can route requests to one or more ports on each EC2 instance or container instance in your virtual private cloud (VPC). For more information, see the <http:docs.aws.amazon.comelasticloadbalancinglatestuserguide/ Elastic Load Balancing User Guide> .
This reference covers the 2015-12-01 API, which supports Application Load Balancers. The 2012-06-01 API supports Classic Load Balancers.
To get started, complete the following tasks:
- Create an Application Load Balancer using
CreateLoadBalancer
. - Create a target group using
CreateTargetGroup
. - Register targets for the target group using
RegisterTargets
. - Create one or more listeners for your load balancer using
CreateListener
. - (Optional) Create one or more rules for content routing based on URL using
CreateRule
.
To delete an Application Load Balancer and its related resources, complete the following tasks:
- Delete the load balancer using
DeleteLoadBalancer
. - Delete the target group using
DeleteTargetGroup
.
All Elastic Load Balancing operations are idempotent, which means that they complete at most one time. If you repeat an operation, it succeeds.
- eLBv2 :: Service
- _InvalidConfigurationRequestException :: AsError a => Getting (First ServiceError) a ServiceError
- _SubnetNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
- _TooManyTargetsException :: AsError a => Getting (First ServiceError) a ServiceError
- _RuleNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
- _InvalidSubnetException :: AsError a => Getting (First ServiceError) a ServiceError
- _TooManyRulesException :: AsError a => Getting (First ServiceError) a ServiceError
- _TooManyTargetGroupsException :: AsError a => Getting (First ServiceError) a ServiceError
- _DuplicateLoadBalancerNameException :: AsError a => Getting (First ServiceError) a ServiceError
- _IncompatibleProtocolsException :: AsError a => Getting (First ServiceError) a ServiceError
- _TooManyCertificatesException :: AsError a => Getting (First ServiceError) a ServiceError
- _DuplicateTagKeysException :: AsError a => Getting (First ServiceError) a ServiceError
- _DuplicateListenerException :: AsError a => Getting (First ServiceError) a ServiceError
- _TooManyTagsException :: AsError a => Getting (First ServiceError) a ServiceError
- _DuplicateTargetGroupNameException :: AsError a => Getting (First ServiceError) a ServiceError
- _HealthUnavailableException :: AsError a => Getting (First ServiceError) a ServiceError
- _PriorityInUseException :: AsError a => Getting (First ServiceError) a ServiceError
- _TooManyLoadBalancersException :: AsError a => Getting (First ServiceError) a ServiceError
- _UnsupportedProtocolException :: AsError a => Getting (First ServiceError) a ServiceError
- _InvalidTargetException :: AsError a => Getting (First ServiceError) a ServiceError
- _InvalidSecurityGroupException :: AsError a => Getting (First ServiceError) a ServiceError
- _TargetGroupNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
- _ListenerNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
- _TooManyRegistrationsForTargetIdException :: AsError a => Getting (First ServiceError) a ServiceError
- _TooManyListenersException :: AsError a => Getting (First ServiceError) a ServiceError
- _TargetGroupAssociationLimitException :: AsError a => Getting (First ServiceError) a ServiceError
- _OperationNotPermittedException :: AsError a => Getting (First ServiceError) a ServiceError
- _SSLPolicyNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
- _InvalidSchemeException :: AsError a => Getting (First ServiceError) a ServiceError
- _LoadBalancerNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
- _ResourceInUseException :: AsError a => Getting (First ServiceError) a ServiceError
- _CertificateNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
- module Network.AWS.ELBv2.DescribeLoadBalancers
- module Network.AWS.ELBv2.DescribeTags
- module Network.AWS.ELBv2.DeleteRule
- module Network.AWS.ELBv2.RemoveTags
- module Network.AWS.ELBv2.DeleteTargetGroup
- module Network.AWS.ELBv2.SetSubnets
- module Network.AWS.ELBv2.CreateRule
- module Network.AWS.ELBv2.SetSecurityGroups
- module Network.AWS.ELBv2.SetRulePriorities
- module Network.AWS.ELBv2.DescribeTargetGroups
- module Network.AWS.ELBv2.DescribeRules
- module Network.AWS.ELBv2.DeleteLoadBalancer
- module Network.AWS.ELBv2.RegisterTargets
- module Network.AWS.ELBv2.ModifyListener
- module Network.AWS.ELBv2.ModifyTargetGroup
- module Network.AWS.ELBv2.ModifyTargetGroupAttributes
- module Network.AWS.ELBv2.DescribeTargetGroupAttributes
- module Network.AWS.ELBv2.DeleteListener
- module Network.AWS.ELBv2.DescribeSSLPolicies
- module Network.AWS.ELBv2.DeregisterTargets
- module Network.AWS.ELBv2.CreateListener
- module Network.AWS.ELBv2.CreateTargetGroup
- module Network.AWS.ELBv2.ModifyLoadBalancerAttributes
- module Network.AWS.ELBv2.AddTags
- module Network.AWS.ELBv2.DescribeLoadBalancerAttributes
- module Network.AWS.ELBv2.DescribeListeners
- module Network.AWS.ELBv2.DescribeTargetHealth
- module Network.AWS.ELBv2.CreateLoadBalancer
- module Network.AWS.ELBv2.ModifyRule
- data ActionTypeEnum = Forward
- data LoadBalancerSchemeEnum
- data LoadBalancerStateEnum
- = Active
- | Failed
- | Provisioning
- data LoadBalancerTypeEnum = Application
- data ProtocolEnum
- data TargetHealthReasonEnum
- data TargetHealthStateEnum
- data Action
- action :: ActionTypeEnum -> Text -> Action
- aType :: Lens' Action ActionTypeEnum
- aTargetGroupARN :: Lens' Action Text
- data AvailabilityZone
- availabilityZone :: AvailabilityZone
- azSubnetId :: Lens' AvailabilityZone (Maybe Text)
- azZoneName :: Lens' AvailabilityZone (Maybe Text)
- data Certificate
- certificate :: Certificate
- cCertificateARN :: Lens' Certificate (Maybe Text)
- data Cipher
- cipher :: Cipher
- cPriority :: Lens' Cipher (Maybe Int)
- cName :: Lens' Cipher (Maybe Text)
- data Listener
- listener :: Listener
- lSSLPolicy :: Lens' Listener (Maybe Text)
- lListenerARN :: Lens' Listener (Maybe Text)
- lProtocol :: Lens' Listener (Maybe ProtocolEnum)
- lDefaultActions :: Lens' Listener [Action]
- lCertificates :: Lens' Listener [Certificate]
- lLoadBalancerARN :: Lens' Listener (Maybe Text)
- lPort :: Lens' Listener (Maybe Natural)
- data LoadBalancer
- loadBalancer :: LoadBalancer
- lbState :: Lens' LoadBalancer (Maybe LoadBalancerState)
- lbSecurityGroups :: Lens' LoadBalancer [Text]
- lbLoadBalancerName :: Lens' LoadBalancer (Maybe Text)
- lbCreatedTime :: Lens' LoadBalancer (Maybe UTCTime)
- lbVPCId :: Lens' LoadBalancer (Maybe Text)
- lbCanonicalHostedZoneId :: Lens' LoadBalancer (Maybe Text)
- lbAvailabilityZones :: Lens' LoadBalancer [AvailabilityZone]
- lbLoadBalancerARN :: Lens' LoadBalancer (Maybe Text)
- lbScheme :: Lens' LoadBalancer (Maybe LoadBalancerSchemeEnum)
- lbType :: Lens' LoadBalancer (Maybe LoadBalancerTypeEnum)
- lbDNSName :: Lens' LoadBalancer (Maybe Text)
- data LoadBalancerAttribute
- loadBalancerAttribute :: LoadBalancerAttribute
- lbaValue :: Lens' LoadBalancerAttribute (Maybe Text)
- lbaKey :: Lens' LoadBalancerAttribute (Maybe Text)
- data LoadBalancerState
- loadBalancerState :: LoadBalancerState
- lbsReason :: Lens' LoadBalancerState (Maybe Text)
- lbsCode :: Lens' LoadBalancerState (Maybe LoadBalancerStateEnum)
- data Matcher
- matcher :: Text -> Matcher
- mHTTPCode :: Lens' Matcher Text
- data Rule
- rule :: Rule
- rPriority :: Lens' Rule (Maybe Text)
- rActions :: Lens' Rule [Action]
- rConditions :: Lens' Rule [RuleCondition]
- rRuleARN :: Lens' Rule (Maybe Text)
- rIsDefault :: Lens' Rule (Maybe Bool)
- data RuleCondition
- ruleCondition :: RuleCondition
- rcField :: Lens' RuleCondition (Maybe Text)
- rcValues :: Lens' RuleCondition [Text]
- data RulePriorityPair
- rulePriorityPair :: RulePriorityPair
- rppPriority :: Lens' RulePriorityPair (Maybe Natural)
- rppRuleARN :: Lens' RulePriorityPair (Maybe Text)
- data SSLPolicy
- sslPolicy :: SSLPolicy
- spCiphers :: Lens' SSLPolicy [Cipher]
- spName :: Lens' SSLPolicy (Maybe Text)
- spSSLProtocols :: Lens' SSLPolicy [Text]
- data Tag
- tag :: Text -> Tag
- tagValue :: Lens' Tag (Maybe Text)
- tagKey :: Lens' Tag Text
- data TagDescription
- tagDescription :: TagDescription
- tdResourceARN :: Lens' TagDescription (Maybe Text)
- tdTags :: Lens' TagDescription (Maybe (NonEmpty Tag))
- data TargetDescription
- targetDescription :: Text -> TargetDescription
- tdPort :: Lens' TargetDescription (Maybe Natural)
- tdId :: Lens' TargetDescription Text
- data TargetGroup
- targetGroup :: TargetGroup
- tgMatcher :: Lens' TargetGroup (Maybe Matcher)
- tgHealthCheckPath :: Lens' TargetGroup (Maybe Text)
- tgUnhealthyThresholdCount :: Lens' TargetGroup (Maybe Natural)
- tgVPCId :: Lens' TargetGroup (Maybe Text)
- tgTargetGroupARN :: Lens' TargetGroup (Maybe Text)
- tgProtocol :: Lens' TargetGroup (Maybe ProtocolEnum)
- tgHealthCheckIntervalSeconds :: Lens' TargetGroup (Maybe Natural)
- tgHealthyThresholdCount :: Lens' TargetGroup (Maybe Natural)
- tgHealthCheckProtocol :: Lens' TargetGroup (Maybe ProtocolEnum)
- tgLoadBalancerARNs :: Lens' TargetGroup [Text]
- tgHealthCheckTimeoutSeconds :: Lens' TargetGroup (Maybe Natural)
- tgHealthCheckPort :: Lens' TargetGroup (Maybe Text)
- tgTargetGroupName :: Lens' TargetGroup (Maybe Text)
- tgPort :: Lens' TargetGroup (Maybe Natural)
- data TargetGroupAttribute
- targetGroupAttribute :: TargetGroupAttribute
- tgaValue :: Lens' TargetGroupAttribute (Maybe Text)
- tgaKey :: Lens' TargetGroupAttribute (Maybe Text)
- data TargetHealth
- targetHealth :: TargetHealth
- thState :: Lens' TargetHealth (Maybe TargetHealthStateEnum)
- thReason :: Lens' TargetHealth (Maybe TargetHealthReasonEnum)
- thDescription :: Lens' TargetHealth (Maybe Text)
- data TargetHealthDescription
- targetHealthDescription :: TargetHealthDescription
- thdTargetHealth :: Lens' TargetHealthDescription (Maybe TargetHealth)
- thdHealthCheckPort :: Lens' TargetHealthDescription (Maybe Text)
- thdTarget :: Lens' TargetHealthDescription (Maybe TargetDescription)
Service Configuration
API version 2015-12-01
of the Amazon Elastic Load Balancing SDK configuration.
Errors
Error matchers are designed for use with the functions provided by
Control.Exception.Lens.
This allows catching (and rethrowing) service specific errors returned
by ELBv2
.
InvalidConfigurationRequestException
_InvalidConfigurationRequestException :: AsError a => Getting (First ServiceError) a ServiceError Source #
The requested configuration is not valid.
SubnetNotFoundException
_SubnetNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError Source #
The specified subnet does not exist.
TooManyTargetsException
_TooManyTargetsException :: AsError a => Getting (First ServiceError) a ServiceError Source #
You've reached the limit on the number of targets.
RuleNotFoundException
_RuleNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError Source #
The specified rule does not exist.
InvalidSubnetException
_InvalidSubnetException :: AsError a => Getting (First ServiceError) a ServiceError Source #
The specified subnet is out of available addresses.
TooManyRulesException
_TooManyRulesException :: AsError a => Getting (First ServiceError) a ServiceError Source #
You've reached the limit on the number of rules per load balancer.
TooManyTargetGroupsException
_TooManyTargetGroupsException :: AsError a => Getting (First ServiceError) a ServiceError Source #
You've reached the limit on the number of target groups for your AWS account.
DuplicateLoadBalancerNameException
_DuplicateLoadBalancerNameException :: AsError a => Getting (First ServiceError) a ServiceError Source #
A load balancer with the specified name already exists for this account.
IncompatibleProtocolsException
_IncompatibleProtocolsException :: AsError a => Getting (First ServiceError) a ServiceError Source #
The specified configuration is not valid with this protocol.
TooManyCertificatesException
_TooManyCertificatesException :: AsError a => Getting (First ServiceError) a ServiceError Source #
You've reached the limit on the number of certificates per listener.
DuplicateTagKeysException
_DuplicateTagKeysException :: AsError a => Getting (First ServiceError) a ServiceError Source #
A tag key was specified more than once.
DuplicateListenerException
_DuplicateListenerException :: AsError a => Getting (First ServiceError) a ServiceError Source #
A listener with the specified port already exists.
TooManyTagsException
_TooManyTagsException :: AsError a => Getting (First ServiceError) a ServiceError Source #
You've reached the limit on the number of tags per load balancer.
DuplicateTargetGroupNameException
_DuplicateTargetGroupNameException :: AsError a => Getting (First ServiceError) a ServiceError Source #
A target group with the specified name already exists.
HealthUnavailableException
_HealthUnavailableException :: AsError a => Getting (First ServiceError) a ServiceError Source #
The health of the specified targets could not be retrieved due to an internal error.
PriorityInUseException
_PriorityInUseException :: AsError a => Getting (First ServiceError) a ServiceError Source #
The specified priority is in use.
TooManyLoadBalancersException
_TooManyLoadBalancersException :: AsError a => Getting (First ServiceError) a ServiceError Source #
You've reached the limit on the number of load balancers for your AWS account.
UnsupportedProtocolException
_UnsupportedProtocolException :: AsError a => Getting (First ServiceError) a ServiceError Source #
The specified protocol is not supported.
InvalidTargetException
_InvalidTargetException :: AsError a => Getting (First ServiceError) a ServiceError Source #
The specified target does not exist or is not in the same VPC as the target group.
InvalidSecurityGroupException
_InvalidSecurityGroupException :: AsError a => Getting (First ServiceError) a ServiceError Source #
The specified security group does not exist.
TargetGroupNotFoundException
_TargetGroupNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError Source #
The specified target group does not exist.
ListenerNotFoundException
_ListenerNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError Source #
The specified listener does not exist.
TooManyRegistrationsForTargetIdException
_TooManyRegistrationsForTargetIdException :: AsError a => Getting (First ServiceError) a ServiceError Source #
You've reached the limit on the number of times a target can be registered with a load balancer.
TooManyListenersException
_TooManyListenersException :: AsError a => Getting (First ServiceError) a ServiceError Source #
You've reached the limit on the number of listeners per load balancer.
TargetGroupAssociationLimitException
_TargetGroupAssociationLimitException :: AsError a => Getting (First ServiceError) a ServiceError Source #
You've reached the limit on the number of load balancers per target group.
OperationNotPermittedException
_OperationNotPermittedException :: AsError a => Getting (First ServiceError) a ServiceError Source #
This operation is not allowed.
SSLPolicyNotFoundException
_SSLPolicyNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError Source #
The specified SSL policy does not exist.
InvalidSchemeException
_InvalidSchemeException :: AsError a => Getting (First ServiceError) a ServiceError Source #
The requested scheme is not valid.
LoadBalancerNotFoundException
_LoadBalancerNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError Source #
The specified load balancer does not exist.
ResourceInUseException
_ResourceInUseException :: AsError a => Getting (First ServiceError) a ServiceError Source #
A specified resource is in use.
CertificateNotFoundException
_CertificateNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError Source #
The specified certificate does not exist.
Waiters
Waiters poll by repeatedly sending a request until some remote success condition
configured by the Wait
specification is fulfilled. The Wait
specification
determines how many attempts should be made, in addition to delay and retry strategies.
Operations
Some AWS operations return results that are incomplete and require subsequent
requests in order to obtain the entire result set. The process of sending
subsequent requests to continue where a previous request left off is called
pagination. For example, the ListObjects
operation of Amazon S3 returns up to
1000 objects at a time, and you must send subsequent requests with the
appropriate Marker in order to retrieve the next page of results.
Operations that have an AWSPager
instance can transparently perform subsequent
requests, correctly setting Markers and other request facets to iterate through
the entire result set of a truncated API operation. Operations which support
this have an additional note in the documentation.
Many operations have the ability to filter results on the server side. See the individual operation parameters for details.
DescribeLoadBalancers (Paginated)
DescribeTags
DeleteRule
module Network.AWS.ELBv2.DeleteRule
RemoveTags
module Network.AWS.ELBv2.RemoveTags
DeleteTargetGroup
SetSubnets
module Network.AWS.ELBv2.SetSubnets
CreateRule
module Network.AWS.ELBv2.CreateRule
SetSecurityGroups
SetRulePriorities
DescribeTargetGroups (Paginated)
DescribeRules
DeleteLoadBalancer
RegisterTargets
ModifyListener
ModifyTargetGroup
ModifyTargetGroupAttributes
DescribeTargetGroupAttributes
DeleteListener
DescribeSSLPolicies
DeregisterTargets
CreateListener
CreateTargetGroup
ModifyLoadBalancerAttributes
AddTags
module Network.AWS.ELBv2.AddTags
DescribeLoadBalancerAttributes
DescribeListeners (Paginated)
DescribeTargetHealth
CreateLoadBalancer
ModifyRule
module Network.AWS.ELBv2.ModifyRule
Types
ActionTypeEnum
data ActionTypeEnum Source #
LoadBalancerSchemeEnum
data LoadBalancerSchemeEnum Source #
LoadBalancerStateEnum
data LoadBalancerStateEnum Source #
LoadBalancerTypeEnum
data LoadBalancerTypeEnum Source #
ProtocolEnum
data ProtocolEnum Source #
TargetHealthReasonEnum
data TargetHealthReasonEnum Source #
TargetHealthStateEnum
data TargetHealthStateEnum Source #
Action
Information about an action.
See: action
smart constructor.
Creates a value of Action
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
aType
- The type of action.aTargetGroupARN
- The Amazon Resource Name (ARN) of the target group.
AvailabilityZone
data AvailabilityZone Source #
Information about an Availability Zone.
See: availabilityZone
smart constructor.
availabilityZone :: AvailabilityZone Source #
Creates a value of AvailabilityZone
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
azSubnetId
- The ID of the subnet.azZoneName
- The name of the Availability Zone.
azSubnetId :: Lens' AvailabilityZone (Maybe Text) Source #
The ID of the subnet.
azZoneName :: Lens' AvailabilityZone (Maybe Text) Source #
The name of the Availability Zone.
Certificate
data Certificate Source #
Information about an SSL server certificate deployed on a load balancer.
See: certificate
smart constructor.
certificate :: Certificate Source #
Creates a value of Certificate
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
cCertificateARN
- The Amazon Resource Name (ARN) of the certificate.
cCertificateARN :: Lens' Certificate (Maybe Text) Source #
The Amazon Resource Name (ARN) of the certificate.
Cipher
Information about a cipher used in a policy.
See: cipher
smart constructor.
Listener
Information about a listener.
See: listener
smart constructor.
Creates a value of Listener
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
lSSLPolicy
- The security policy that defines which ciphers and protocols are supported. The default is the current predefined security policy.lListenerARN
- The Amazon Resource Name (ARN) of the listener.lProtocol
- The protocol for connections from clients to the load balancer.lDefaultActions
- The default actions for the listener.lCertificates
- The SSL server certificate. You must provide a certificate if the protocol is HTTPS.lLoadBalancerARN
- The Amazon Resource Name (ARN) of the load balancer.lPort
- The port on which the load balancer is listening.
lSSLPolicy :: Lens' Listener (Maybe Text) Source #
The security policy that defines which ciphers and protocols are supported. The default is the current predefined security policy.
lProtocol :: Lens' Listener (Maybe ProtocolEnum) Source #
The protocol for connections from clients to the load balancer.
lCertificates :: Lens' Listener [Certificate] Source #
The SSL server certificate. You must provide a certificate if the protocol is HTTPS.
lLoadBalancerARN :: Lens' Listener (Maybe Text) Source #
The Amazon Resource Name (ARN) of the load balancer.
LoadBalancer
data LoadBalancer Source #
Information about a load balancer.
See: loadBalancer
smart constructor.
loadBalancer :: LoadBalancer Source #
Creates a value of LoadBalancer
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
lbState
- The state of the load balancer.lbSecurityGroups
- The IDs of the security groups for the load balancer.lbLoadBalancerName
- The name of the load balancer.lbCreatedTime
- The date and time the load balancer was created.lbVPCId
- The ID of the VPC for the load balancer.lbCanonicalHostedZoneId
- The ID of the Amazon Route 53 hosted zone associated with the load balancer.lbAvailabilityZones
- The Availability Zones for the load balancer.lbLoadBalancerARN
- The Amazon Resource Name (ARN) of the load balancer.lbScheme
- 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.lbType
- The type of load balancer.lbDNSName
- The public DNS name of the load balancer.
lbState :: Lens' LoadBalancer (Maybe LoadBalancerState) Source #
The state of the load balancer.
lbSecurityGroups :: Lens' LoadBalancer [Text] Source #
The IDs of the security groups for the load balancer.
lbLoadBalancerName :: Lens' LoadBalancer (Maybe Text) Source #
The name of the load balancer.
lbCreatedTime :: Lens' LoadBalancer (Maybe UTCTime) Source #
The date and time the load balancer was created.
lbCanonicalHostedZoneId :: Lens' LoadBalancer (Maybe Text) Source #
The ID of the Amazon Route 53 hosted zone associated with the load balancer.
lbAvailabilityZones :: Lens' LoadBalancer [AvailabilityZone] Source #
The Availability Zones for the load balancer.
lbLoadBalancerARN :: Lens' LoadBalancer (Maybe Text) Source #
The Amazon Resource Name (ARN) of the load balancer.
lbScheme :: Lens' LoadBalancer (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.
lbType :: Lens' LoadBalancer (Maybe LoadBalancerTypeEnum) Source #
The type of load balancer.
LoadBalancerAttribute
data LoadBalancerAttribute Source #
Information about a load balancer attribute.
See: loadBalancerAttribute
smart constructor.
loadBalancerAttribute :: LoadBalancerAttribute Source #
Creates a value of LoadBalancerAttribute
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
lbaValue
- The value of the attribute.lbaKey
- The name of the attribute. *access_logs.s3.enabled
- Indicates whether access logs stored in Amazon S3 are enabled. The value istrue
orfalse
. *access_logs.s3.bucket
- The name of the S3 bucket for the access logs. This attribute is required if access logs in Amazon S3 are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permission to write to the bucket. *access_logs.s3.prefix
- The prefix for the location in the S3 bucket. If you don't specify a prefix, the access logs are stored in the root of the bucket. *deletion_protection.enabled
- Indicates whether deletion protection is enabled. The value istrue
orfalse
. *idle_timeout.timeout_seconds
- The idle timeout value, in seconds. The valid range is 1-3600. The default is 60 seconds.
lbaKey :: Lens' LoadBalancerAttribute (Maybe Text) Source #
The name of the attribute. * access_logs.s3.enabled
- Indicates whether access logs stored in Amazon S3 are enabled. The value is true
or false
. * access_logs.s3.bucket
- The name of the S3 bucket for the access logs. This attribute is required if access logs in Amazon S3 are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permission to write to the bucket. * access_logs.s3.prefix
- The prefix for the location in the S3 bucket. If you don't specify a prefix, the access logs are stored in the root of the bucket. * deletion_protection.enabled
- Indicates whether deletion protection is enabled. The value is true
or false
. * idle_timeout.timeout_seconds
- The idle timeout value, in seconds. The valid range is 1-3600. The default is 60 seconds.
LoadBalancerState
data LoadBalancerState Source #
Information about the state of the load balancer.
See: loadBalancerState
smart constructor.
loadBalancerState :: LoadBalancerState Source #
Creates a value of LoadBalancerState
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
lbsCode :: Lens' LoadBalancerState (Maybe LoadBalancerStateEnum) Source #
The state code. The initial state of the load balancer is provisioning
. After the load balancer is fully set up and ready to route traffic, its state is active
. If the load balancer could not be set up, its state is failed
.
Matcher
Information to use when checking for a successful response from a target.
See: matcher
smart constructor.
Creates a value of Matcher
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
mHTTPCode
- The HTTP codes. The default value is 200. You can specify multiple values (for example, "200,202") or a range of values (for example, "200-299").
mHTTPCode :: Lens' Matcher Text Source #
The HTTP codes. The default value is 200. You can specify multiple values (for example, "200,202") or a range of values (for example, "200-299").
Rule
Information about a rule.
See: rule
smart constructor.
Creates a value of Rule
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
rPriority
- The priority.rActions
- The actions.rConditions
- The conditions.rRuleARN
- The Amazon Resource Name (ARN) of the rule.rIsDefault
- Indicates whether this is the default rule.
rConditions :: Lens' Rule [RuleCondition] Source #
The conditions.
RuleCondition
data RuleCondition Source #
Information about a condition for a rule.
See: ruleCondition
smart constructor.
ruleCondition :: RuleCondition Source #
Creates a value of RuleCondition
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
rcField
- The only possible value ispath-pattern
.rcValues
- The path pattern. You can specify a single path pattern. A path pattern is case sensitive, can be up to 255 characters in length, and can contain any of the following characters: * A-Z, a-z, 0-9 * _ - . $ / ~ " ' @ : + * & (using &) * * (matches 0 or more characters) * ? (matches exactly 1 character)
rcValues :: Lens' RuleCondition [Text] Source #
The path pattern. You can specify a single path pattern. A path pattern is case sensitive, can be up to 255 characters in length, and can contain any of the following characters: * A-Z, a-z, 0-9 * _ - . $ / ~ " ' @ : + * & (using &) * * (matches 0 or more characters) * ? (matches exactly 1 character)
RulePriorityPair
data RulePriorityPair Source #
Information about the priorities for the rules for a listener.
See: rulePriorityPair
smart constructor.
rulePriorityPair :: RulePriorityPair Source #
Creates a value of RulePriorityPair
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
rppPriority
- The rule priority.rppRuleARN
- The Amazon Resource Name (ARN) of the rule.
rppPriority :: Lens' RulePriorityPair (Maybe Natural) Source #
The rule priority.
rppRuleARN :: Lens' RulePriorityPair (Maybe Text) Source #
The Amazon Resource Name (ARN) of the rule.
SSLPolicy
Information about a policy used for SSL negotiation.
See: sslPolicy
smart constructor.
sslPolicy :: SSLPolicy Source #
Creates a value of SSLPolicy
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
spCiphers
- The ciphers.spName
- The name of the policy.spSSLProtocols
- The protocols.
Tag
Information about a tag.
See: tag
smart constructor.
TagDescription
data TagDescription Source #
The tags associated with a resource.
See: tagDescription
smart constructor.
tagDescription :: TagDescription Source #
Creates a value of TagDescription
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
tdResourceARN
- The Amazon Resource Name (ARN) of the resource.tdTags
- Information about the tags.
tdResourceARN :: Lens' TagDescription (Maybe Text) Source #
The Amazon Resource Name (ARN) of the resource.
TargetDescription
data TargetDescription Source #
Information about a target.
See: targetDescription
smart constructor.
Creates a value of TargetDescription
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
tdPort :: Lens' TargetDescription (Maybe Natural) Source #
The port on which the target is listening.
TargetGroup
data TargetGroup Source #
Information about a target group.
See: targetGroup
smart constructor.
targetGroup :: TargetGroup Source #
Creates a value of TargetGroup
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
tgMatcher
- The HTTP codes to use when checking for a successful response from a target.tgHealthCheckPath
- The destination for the health check request.tgUnhealthyThresholdCount
- The number of consecutive health check failures required before considering the target unhealthy.tgVPCId
- The ID of the VPC for the targets.tgTargetGroupARN
- The Amazon Resource Name (ARN) of the target group.tgProtocol
- The protocol to use for routing traffic to the targets.tgHealthCheckIntervalSeconds
- The approximate amount of time, in seconds, between health checks of an individual target.tgHealthyThresholdCount
- The number of consecutive health checks successes required before considering an unhealthy target healthy.tgHealthCheckProtocol
- The protocol to use to connect with the target.tgLoadBalancerARNs
- The Amazon Resource Names (ARN) of the load balancers that route traffic to this target group.tgHealthCheckTimeoutSeconds
- The amount of time, in seconds, during which no response means a failed health check.tgHealthCheckPort
- The port to use to connect with the target.tgTargetGroupName
- The name of the target group.tgPort
- The port on which the targets are listening.
tgMatcher :: Lens' TargetGroup (Maybe Matcher) Source #
The HTTP codes to use when checking for a successful response from a target.
tgHealthCheckPath :: Lens' TargetGroup (Maybe Text) Source #
The destination for the health check request.
tgUnhealthyThresholdCount :: Lens' TargetGroup (Maybe Natural) Source #
The number of consecutive health check failures required before considering the target unhealthy.
tgTargetGroupARN :: Lens' TargetGroup (Maybe Text) Source #
The Amazon Resource Name (ARN) of the target group.
tgProtocol :: Lens' TargetGroup (Maybe ProtocolEnum) Source #
The protocol to use for routing traffic to the targets.
tgHealthCheckIntervalSeconds :: Lens' TargetGroup (Maybe Natural) Source #
The approximate amount of time, in seconds, between health checks of an individual target.
tgHealthyThresholdCount :: Lens' TargetGroup (Maybe Natural) Source #
The number of consecutive health checks successes required before considering an unhealthy target healthy.
tgHealthCheckProtocol :: Lens' TargetGroup (Maybe ProtocolEnum) Source #
The protocol to use to connect with the target.
tgLoadBalancerARNs :: Lens' TargetGroup [Text] Source #
The Amazon Resource Names (ARN) of the load balancers that route traffic to this target group.
tgHealthCheckTimeoutSeconds :: Lens' TargetGroup (Maybe Natural) Source #
The amount of time, in seconds, during which no response means a failed health check.
tgHealthCheckPort :: Lens' TargetGroup (Maybe Text) Source #
The port to use to connect with the target.
tgTargetGroupName :: Lens' TargetGroup (Maybe Text) Source #
The name of the target group.
TargetGroupAttribute
data TargetGroupAttribute Source #
Information about a target group attribute.
See: targetGroupAttribute
smart constructor.
targetGroupAttribute :: TargetGroupAttribute Source #
Creates a value of TargetGroupAttribute
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
tgaValue
- The value of the attribute.tgaKey
- The name of the attribute. *deregistration_delay.timeout_seconds
- The amount time for Elastic Load Balancing to wait before changing the state of a deregistering target fromdraining
tounused
. The range is 0-3600 seconds. The default value is 300 seconds. *stickiness.enabled
- Indicates whether sticky sessions are enabled. The value istrue
orfalse
. *stickiness.type
- The type of sticky sessions. The possible value islb_cookie
. *stickiness.lb_cookie.duration_seconds
- The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).
tgaKey :: Lens' TargetGroupAttribute (Maybe Text) Source #
The name of the attribute. * deregistration_delay.timeout_seconds
- The amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining
to unused
. The range is 0-3600 seconds. The default value is 300 seconds. * stickiness.enabled
- Indicates whether sticky sessions are enabled. The value is true
or false
. * stickiness.type
- The type of sticky sessions. The possible value is lb_cookie
. * stickiness.lb_cookie.duration_seconds
- The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).
TargetHealth
data TargetHealth Source #
Information about the current health of a target.
See: targetHealth
smart constructor.
targetHealth :: TargetHealth Source #
Creates a value of TargetHealth
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
thState
- The state of the target.thReason
- The reason code. If the target state ishealthy
, a reason code is not provided. If the target state isinitial
, the reason code can be one of the following values: *Elb.RegistrationInProgress
- The target is in the process of being registered with the load balancer. *Elb.InitialHealthChecking
- The load balancer is still sending the target the minimum number of health checks required to determine its health status. If the target state isunhealthy
, the reason code can be one of the following values: *Target.ResponseCodeMismatch
- The health checks did not return an expected HTTP code. *Target.Timeout
- The health check requests timed out. *Target.FailedHealthChecks
- The health checks failed because the connection to the target timed out, the target response was malformed, or the target failed the health check for an unknown reason. *Elb.InternalError
- The health checks failed due to an internal error. If the target state isunused
, the reason code can be one of the following values: *Target.NotRegistered
- The target is not registered with the target group. *Target.NotInUse
- The target group is not used by any load balancer or the target is in an Availability Zone that is not enabled for its load balancer. *Target.InvalidState
- The target is in the stopped or terminated state. If the target state isdraining
, the reason code can be the following value: *Target.DeregistrationInProgress
- The target is in the process of being deregistered and the deregistration delay period has not expired.thDescription
- A description of the target health that provides additional details. If the state ishealthy
, a description is not provided.
thState :: Lens' TargetHealth (Maybe TargetHealthStateEnum) Source #
The state of the target.
thReason :: Lens' TargetHealth (Maybe TargetHealthReasonEnum) Source #
The reason code. If the target state is healthy
, a reason code is not provided. If the target state is initial
, the reason code can be one of the following values: * Elb.RegistrationInProgress
- The target is in the process of being registered with the load balancer. * Elb.InitialHealthChecking
- The load balancer is still sending the target the minimum number of health checks required to determine its health status. If the target state is unhealthy
, the reason code can be one of the following values: * Target.ResponseCodeMismatch
- The health checks did not return an expected HTTP code. * Target.Timeout
- The health check requests timed out. * Target.FailedHealthChecks
- The health checks failed because the connection to the target timed out, the target response was malformed, or the target failed the health check for an unknown reason. * Elb.InternalError
- The health checks failed due to an internal error. If the target state is unused
, the reason code can be one of the following values: * Target.NotRegistered
- The target is not registered with the target group. * Target.NotInUse
- The target group is not used by any load balancer or the target is in an Availability Zone that is not enabled for its load balancer. * Target.InvalidState
- The target is in the stopped or terminated state. If the target state is draining
, the reason code can be the following value: * Target.DeregistrationInProgress
- The target is in the process of being deregistered and the deregistration delay period has not expired.
thDescription :: Lens' TargetHealth (Maybe Text) Source #
A description of the target health that provides additional details. If the state is healthy
, a description is not provided.
TargetHealthDescription
data TargetHealthDescription Source #
Information about the health of a target.
See: targetHealthDescription
smart constructor.
targetHealthDescription :: TargetHealthDescription Source #
Creates a value of TargetHealthDescription
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
thdTargetHealth
- The health information for the target.thdHealthCheckPort
- The port to use to connect with the target.thdTarget
- The description of the target.
thdTargetHealth :: Lens' TargetHealthDescription (Maybe TargetHealth) Source #
The health information for the target.
thdHealthCheckPort :: Lens' TargetHealthDescription (Maybe Text) Source #
The port to use to connect with the target.
thdTarget :: Lens' TargetHealthDescription (Maybe TargetDescription) Source #
The description of the target.