{-# OPTIONS_GHC -fno-warn-unused-imports #-} {-# OPTIONS_GHC -fno-warn-duplicate-exports #-} -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | -- Module : Network.AWS.ELB -- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- __Elastic Load Balancing__ -- -- A load balancer distributes incoming traffic across your EC2 instances. This enables you to increase the availability of your application. The load balancer also monitors the health of its registered instances and ensures that it routes traffic only to healthy instances. 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 and a protocol and port number for connections from the load balancer to the instances. -- -- Elastic Load Balancing supports two types of load balancers: Classic load balancers and Application load balancers (new). A Classic load balancer makes routing and load balancing decisions either at the transport layer (TCP/SSL) or the application layer (HTTP/HTTPS), and supports either EC2-Classic or a VPC. An Application load balancer makes routing and load balancing decisions at the application layer (HTTP/HTTPS), 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 . -- -- This reference covers the 2012-06-01 API, which supports Classic load balancers. The 2015-12-01 API supports Application load balancers. -- -- To get started, create a load balancer with one or more listeners using 'CreateLoadBalancer' . Register your instances with the load balancer using 'RegisterInstancesWithLoadBalancer' . -- -- All Elastic Load Balancing operations are /idempotent/ , which means that they complete at most one time. If you repeat an operation, it succeeds with a 200 OK response code. -- module Network.AWS.ELB ( -- * Service Configuration elb -- * Errors -- $errors -- ** PolicyNotFoundException , _PolicyNotFoundException -- ** AccessPointNotFoundException , _AccessPointNotFoundException -- ** DuplicatePolicyNameException , _DuplicatePolicyNameException -- ** InvalidConfigurationRequestException , _InvalidConfigurationRequestException -- ** SubnetNotFoundException , _SubnetNotFoundException -- ** LoadBalancerAttributeNotFoundException , _LoadBalancerAttributeNotFoundException -- ** InvalidSubnetException , _InvalidSubnetException -- ** DuplicateTagKeysException , _DuplicateTagKeysException -- ** DuplicateListenerException , _DuplicateListenerException -- ** TooManyTagsException , _TooManyTagsException -- ** PolicyTypeNotFoundException , _PolicyTypeNotFoundException -- ** UnsupportedProtocolException , _UnsupportedProtocolException -- ** DuplicateAccessPointNameException , _DuplicateAccessPointNameException -- ** InvalidSecurityGroupException , _InvalidSecurityGroupException -- ** ListenerNotFoundException , _ListenerNotFoundException -- ** InvalidEndPointException , _InvalidEndPointException -- ** DependencyThrottleException , _DependencyThrottleException -- ** InvalidSchemeException , _InvalidSchemeException -- ** TooManyAccessPointsException , _TooManyAccessPointsException -- ** TooManyPoliciesException , _TooManyPoliciesException -- ** CertificateNotFoundException , _CertificateNotFoundException -- * Waiters -- $waiters -- * Operations -- $operations -- ** DescribeLoadBalancers (Paginated) , module Network.AWS.ELB.DescribeLoadBalancers -- ** DescribeTags , module Network.AWS.ELB.DescribeTags -- ** DescribeLoadBalancerPolicyTypes , module Network.AWS.ELB.DescribeLoadBalancerPolicyTypes -- ** ApplySecurityGroupsToLoadBalancer , module Network.AWS.ELB.ApplySecurityGroupsToLoadBalancer -- ** RemoveTags , module Network.AWS.ELB.RemoveTags -- ** CreateLBCookieStickinessPolicy , module Network.AWS.ELB.CreateLBCookieStickinessPolicy -- ** DeleteLoadBalancer , module Network.AWS.ELB.DeleteLoadBalancer -- ** DeregisterInstancesFromLoadBalancer , module Network.AWS.ELB.DeregisterInstancesFromLoadBalancer -- ** CreateLoadBalancerPolicy , module Network.AWS.ELB.CreateLoadBalancerPolicy -- ** DescribeLoadBalancerPolicies , module Network.AWS.ELB.DescribeLoadBalancerPolicies -- ** DisableAvailabilityZonesForLoadBalancer , module Network.AWS.ELB.DisableAvailabilityZonesForLoadBalancer -- ** EnableAvailabilityZonesForLoadBalancer , module Network.AWS.ELB.EnableAvailabilityZonesForLoadBalancer -- ** SetLoadBalancerPoliciesForBackendServer , module Network.AWS.ELB.SetLoadBalancerPoliciesForBackendServer -- ** SetLoadBalancerListenerSSLCertificate , module Network.AWS.ELB.SetLoadBalancerListenerSSLCertificate -- ** AttachLoadBalancerToSubnets , module Network.AWS.ELB.AttachLoadBalancerToSubnets -- ** ConfigureHealthCheck , module Network.AWS.ELB.ConfigureHealthCheck -- ** ModifyLoadBalancerAttributes , module Network.AWS.ELB.ModifyLoadBalancerAttributes -- ** CreateAppCookieStickinessPolicy , module Network.AWS.ELB.CreateAppCookieStickinessPolicy -- ** DescribeInstanceHealth , module Network.AWS.ELB.DescribeInstanceHealth -- ** AddTags , module Network.AWS.ELB.AddTags -- ** DescribeLoadBalancerAttributes , module Network.AWS.ELB.DescribeLoadBalancerAttributes -- ** CreateLoadBalancerListeners , module Network.AWS.ELB.CreateLoadBalancerListeners -- ** DeleteLoadBalancerPolicy , module Network.AWS.ELB.DeleteLoadBalancerPolicy -- ** DetachLoadBalancerFromSubnets , module Network.AWS.ELB.DetachLoadBalancerFromSubnets -- ** RegisterInstancesWithLoadBalancer , module Network.AWS.ELB.RegisterInstancesWithLoadBalancer -- ** CreateLoadBalancer , module Network.AWS.ELB.CreateLoadBalancer -- ** DeleteLoadBalancerListeners , module Network.AWS.ELB.DeleteLoadBalancerListeners -- ** SetLoadBalancerPoliciesOfListener , module Network.AWS.ELB.SetLoadBalancerPoliciesOfListener -- * Types -- ** Common , module Network.AWS.ELB.Internal -- ** AccessLog , AccessLog , accessLog , alEmitInterval , alS3BucketPrefix , alS3BucketName , alEnabled -- ** AdditionalAttribute , AdditionalAttribute , additionalAttribute , aaValue , aaKey -- ** AppCookieStickinessPolicy , AppCookieStickinessPolicy , appCookieStickinessPolicy , acspPolicyName , acspCookieName -- ** BackendServerDescription , BackendServerDescription , backendServerDescription , bsdPolicyNames , bsdInstancePort -- ** ConnectionDraining , ConnectionDraining , connectionDraining , cdTimeout , cdEnabled -- ** ConnectionSettings , ConnectionSettings , connectionSettings , csIdleTimeout -- ** CrossZoneLoadBalancing , CrossZoneLoadBalancing , crossZoneLoadBalancing , czlbEnabled -- ** HealthCheck , HealthCheck , healthCheck , hcTarget , hcInterval , hcTimeout , hcUnhealthyThreshold , hcHealthyThreshold -- ** Instance , Instance , instance' , iInstanceId -- ** InstanceState , InstanceState , instanceState , isInstanceId , isState , isReasonCode , isDescription -- ** LBCookieStickinessPolicy , LBCookieStickinessPolicy , lBCookieStickinessPolicy , lbcspPolicyName , lbcspCookieExpirationPeriod -- ** Listener , Listener , listener , lInstanceProtocol , lSSLCertificateId , lProtocol , lLoadBalancerPort , lInstancePort -- ** ListenerDescription , ListenerDescription , listenerDescription , ldPolicyNames , ldListener -- ** LoadBalancerAttributes , LoadBalancerAttributes , loadBalancerAttributes , lbaCrossZoneLoadBalancing , lbaAccessLog , lbaAdditionalAttributes , lbaConnectionSettings , lbaConnectionDraining -- ** LoadBalancerDescription , LoadBalancerDescription , loadBalancerDescription , lbdSourceSecurityGroup , lbdCanonicalHostedZoneName , lbdSecurityGroups , lbdHealthCheck , lbdLoadBalancerName , lbdCreatedTime , lbdVPCId , lbdSubnets , lbdAvailabilityZones , lbdBackendServerDescriptions , lbdCanonicalHostedZoneNameId , lbdInstances , lbdScheme , lbdListenerDescriptions , lbdDNSName , lbdPolicies -- ** Policies , Policies , policies , pOtherPolicies , pLBCookieStickinessPolicies , pAppCookieStickinessPolicies -- ** PolicyAttribute , PolicyAttribute , policyAttribute , paAttributeValue , paAttributeName -- ** PolicyAttributeDescription , PolicyAttributeDescription , policyAttributeDescription , padAttributeValue , padAttributeName -- ** PolicyAttributeTypeDescription , PolicyAttributeTypeDescription , policyAttributeTypeDescription , patdAttributeType , patdCardinality , patdDefaultValue , patdAttributeName , patdDescription -- ** PolicyDescription , PolicyDescription , policyDescription , pdPolicyName , pdPolicyAttributeDescriptions , pdPolicyTypeName -- ** PolicyTypeDescription , PolicyTypeDescription , policyTypeDescription , ptdPolicyTypeName , ptdDescription , ptdPolicyAttributeTypeDescriptions -- ** SourceSecurityGroup , SourceSecurityGroup , sourceSecurityGroup , ssgOwnerAlias , ssgGroupName -- ** Tag , Tag , tag , tagValue , tagKey -- ** TagDescription , TagDescription , tagDescription , tdLoadBalancerName , tdTags -- ** TagKeyOnly , TagKeyOnly , tagKeyOnly , tkoKey ) where import Network.AWS.ELB.AddTags import Network.AWS.ELB.ApplySecurityGroupsToLoadBalancer import Network.AWS.ELB.AttachLoadBalancerToSubnets import Network.AWS.ELB.ConfigureHealthCheck import Network.AWS.ELB.CreateAppCookieStickinessPolicy import Network.AWS.ELB.CreateLBCookieStickinessPolicy import Network.AWS.ELB.CreateLoadBalancer import Network.AWS.ELB.CreateLoadBalancerListeners import Network.AWS.ELB.CreateLoadBalancerPolicy import Network.AWS.ELB.DeleteLoadBalancer import Network.AWS.ELB.DeleteLoadBalancerListeners import Network.AWS.ELB.DeleteLoadBalancerPolicy import Network.AWS.ELB.DeregisterInstancesFromLoadBalancer import Network.AWS.ELB.DescribeInstanceHealth import Network.AWS.ELB.DescribeLoadBalancerAttributes import Network.AWS.ELB.DescribeLoadBalancerPolicies import Network.AWS.ELB.DescribeLoadBalancerPolicyTypes import Network.AWS.ELB.DescribeLoadBalancers import Network.AWS.ELB.DescribeTags import Network.AWS.ELB.DetachLoadBalancerFromSubnets import Network.AWS.ELB.DisableAvailabilityZonesForLoadBalancer import Network.AWS.ELB.EnableAvailabilityZonesForLoadBalancer import Network.AWS.ELB.Internal import Network.AWS.ELB.ModifyLoadBalancerAttributes import Network.AWS.ELB.RegisterInstancesWithLoadBalancer import Network.AWS.ELB.RemoveTags import Network.AWS.ELB.SetLoadBalancerListenerSSLCertificate import Network.AWS.ELB.SetLoadBalancerPoliciesForBackendServer import Network.AWS.ELB.SetLoadBalancerPoliciesOfListener import Network.AWS.ELB.Types import Network.AWS.ELB.Waiters {- $errors Error matchers are designed for use with the functions provided by . This allows catching (and rethrowing) service specific errors returned by 'ELB'. -} {- $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. -} {- $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. -}