module Network.AWS.ELB.Types
(
elb
, _PolicyNotFoundException
, _AccessPointNotFoundException
, _DuplicatePolicyNameException
, _InvalidConfigurationRequestException
, _SubnetNotFoundException
, _LoadBalancerAttributeNotFoundException
, _InvalidSubnetException
, _DuplicateTagKeysException
, _DuplicateListenerException
, _TooManyTagsException
, _PolicyTypeNotFoundException
, _UnsupportedProtocolException
, _DuplicateAccessPointNameException
, _InvalidSecurityGroupException
, _ListenerNotFoundException
, _InvalidEndPointException
, _DependencyThrottleException
, _InvalidSchemeException
, _TooManyAccessPointsException
, _TooManyPoliciesException
, _CertificateNotFoundException
, module Network.AWS.ELB.Internal
, AccessLog
, accessLog
, alEmitInterval
, alS3BucketPrefix
, alS3BucketName
, alEnabled
, AdditionalAttribute
, additionalAttribute
, aaValue
, aaKey
, AppCookieStickinessPolicy
, appCookieStickinessPolicy
, acspPolicyName
, acspCookieName
, BackendServerDescription
, backendServerDescription
, bsdPolicyNames
, bsdInstancePort
, ConnectionDraining
, connectionDraining
, cdTimeout
, cdEnabled
, ConnectionSettings
, connectionSettings
, csIdleTimeout
, CrossZoneLoadBalancing
, crossZoneLoadBalancing
, czlbEnabled
, HealthCheck
, healthCheck
, hcTarget
, hcInterval
, hcTimeout
, hcUnhealthyThreshold
, hcHealthyThreshold
, Instance
, instance'
, iInstanceId
, InstanceState
, instanceState
, isInstanceId
, isState
, isReasonCode
, isDescription
, LBCookieStickinessPolicy
, lBCookieStickinessPolicy
, lbcspPolicyName
, lbcspCookieExpirationPeriod
, Limit
, limit
, lMax
, lName
, Listener
, listener
, lInstanceProtocol
, lSSLCertificateId
, lProtocol
, lLoadBalancerPort
, lInstancePort
, ListenerDescription
, listenerDescription
, ldPolicyNames
, ldListener
, LoadBalancerAttributes
, loadBalancerAttributes
, lbaCrossZoneLoadBalancing
, lbaAccessLog
, lbaAdditionalAttributes
, lbaConnectionSettings
, lbaConnectionDraining
, LoadBalancerDescription
, loadBalancerDescription
, lbdSourceSecurityGroup
, lbdCanonicalHostedZoneName
, lbdSecurityGroups
, lbdHealthCheck
, lbdLoadBalancerName
, lbdCreatedTime
, lbdVPCId
, lbdSubnets
, lbdAvailabilityZones
, lbdBackendServerDescriptions
, lbdCanonicalHostedZoneNameId
, lbdInstances
, lbdScheme
, lbdListenerDescriptions
, lbdDNSName
, lbdPolicies
, Policies
, policies
, pOtherPolicies
, pLBCookieStickinessPolicies
, pAppCookieStickinessPolicies
, PolicyAttribute
, policyAttribute
, paAttributeValue
, paAttributeName
, PolicyAttributeDescription
, policyAttributeDescription
, padAttributeValue
, padAttributeName
, PolicyAttributeTypeDescription
, policyAttributeTypeDescription
, patdAttributeType
, patdCardinality
, patdDefaultValue
, patdAttributeName
, patdDescription
, PolicyDescription
, policyDescription
, pdPolicyName
, pdPolicyAttributeDescriptions
, pdPolicyTypeName
, PolicyTypeDescription
, policyTypeDescription
, ptdPolicyTypeName
, ptdDescription
, ptdPolicyAttributeTypeDescriptions
, SourceSecurityGroup
, sourceSecurityGroup
, ssgOwnerAlias
, ssgGroupName
, Tag
, tag
, tagValue
, tagKey
, TagDescription
, tagDescription
, tdLoadBalancerName
, tdTags
, TagKeyOnly
, tagKeyOnly
, tkoKey
) where
import Network.AWS.ELB.Internal
import Network.AWS.ELB.Types.Product
import Network.AWS.ELB.Types.Sum
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Sign.V4
elb :: Service
elb =
Service
{ _svcAbbrev = "ELB"
, _svcSigner = v4
, _svcPrefix = "elasticloadbalancing"
, _svcVersion = "2012-06-01"
, _svcEndpoint = defaultEndpoint elb
, _svcTimeout = Just 70
, _svcCheck = statusSuccess
, _svcError = parseXMLError "ELB"
, _svcRetry = retry
}
where
retry =
Exponential
{ _retryBase = 5.0e-2
, _retryGrowth = 2
, _retryAttempts = 5
, _retryCheck = check
}
check e
| has (hasCode "ThrottledException" . hasStatus 400) e =
Just "throttled_exception"
| has (hasStatus 429) e = Just "too_many_requests"
| has (hasCode "ThrottlingException" . hasStatus 400) e =
Just "throttling_exception"
| has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"
| has (hasStatus 504) e = Just "gateway_timeout"
| has (hasStatus 502) e = Just "bad_gateway"
| has (hasStatus 503) e = Just "service_unavailable"
| has (hasStatus 500) e = Just "general_server_error"
| has (hasStatus 509) e = Just "limit_exceeded"
| otherwise = Nothing
_PolicyNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
_PolicyNotFoundException =
_MatchServiceError elb "PolicyNotFound" . hasStatus 400
_AccessPointNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
_AccessPointNotFoundException =
_MatchServiceError elb "LoadBalancerNotFound" . hasStatus 400
_DuplicatePolicyNameException :: AsError a => Getting (First ServiceError) a ServiceError
_DuplicatePolicyNameException =
_MatchServiceError elb "DuplicatePolicyName" . hasStatus 400
_InvalidConfigurationRequestException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidConfigurationRequestException =
_MatchServiceError elb "InvalidConfigurationRequest" . hasStatus 409
_SubnetNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
_SubnetNotFoundException =
_MatchServiceError elb "SubnetNotFound" . hasStatus 400
_LoadBalancerAttributeNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
_LoadBalancerAttributeNotFoundException =
_MatchServiceError elb "LoadBalancerAttributeNotFound" . hasStatus 400
_InvalidSubnetException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidSubnetException = _MatchServiceError elb "InvalidSubnet" . hasStatus 400
_DuplicateTagKeysException :: AsError a => Getting (First ServiceError) a ServiceError
_DuplicateTagKeysException =
_MatchServiceError elb "DuplicateTagKeys" . hasStatus 400
_DuplicateListenerException :: AsError a => Getting (First ServiceError) a ServiceError
_DuplicateListenerException =
_MatchServiceError elb "DuplicateListener" . hasStatus 400
_TooManyTagsException :: AsError a => Getting (First ServiceError) a ServiceError
_TooManyTagsException = _MatchServiceError elb "TooManyTags" . hasStatus 400
_PolicyTypeNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
_PolicyTypeNotFoundException =
_MatchServiceError elb "PolicyTypeNotFound" . hasStatus 400
_UnsupportedProtocolException :: AsError a => Getting (First ServiceError) a ServiceError
_UnsupportedProtocolException =
_MatchServiceError elb "UnsupportedProtocol" . hasStatus 400
_DuplicateAccessPointNameException :: AsError a => Getting (First ServiceError) a ServiceError
_DuplicateAccessPointNameException =
_MatchServiceError elb "DuplicateLoadBalancerName" . hasStatus 400
_InvalidSecurityGroupException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidSecurityGroupException =
_MatchServiceError elb "InvalidSecurityGroup" . hasStatus 400
_ListenerNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
_ListenerNotFoundException =
_MatchServiceError elb "ListenerNotFound" . hasStatus 400
_InvalidEndPointException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidEndPointException =
_MatchServiceError elb "InvalidInstance" . hasStatus 400
_DependencyThrottleException :: AsError a => Getting (First ServiceError) a ServiceError
_DependencyThrottleException =
_MatchServiceError elb "DependencyThrottle" . hasStatus 400
_InvalidSchemeException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidSchemeException = _MatchServiceError elb "InvalidScheme" . hasStatus 400
_TooManyAccessPointsException :: AsError a => Getting (First ServiceError) a ServiceError
_TooManyAccessPointsException =
_MatchServiceError elb "TooManyLoadBalancers" . hasStatus 400
_TooManyPoliciesException :: AsError a => Getting (First ServiceError) a ServiceError
_TooManyPoliciesException =
_MatchServiceError elb "TooManyPolicies" . hasStatus 400
_CertificateNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
_CertificateNotFoundException =
_MatchServiceError elb "CertificateNotFound" . hasStatus 400