{-# LANGUAGE DisambiguateRecordFields #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE StrictData #-} {-# LANGUAGE NoImplicitPrelude #-} {-# OPTIONS_GHC -fno-warn-unused-matches #-} -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | -- Module : Amazonka.ELB.Types -- Copyright : (c) 2013-2023 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) module Amazonka.ELB.Types ( -- * Service Configuration defaultService, -- * Errors _AccessPointNotFoundException, _CertificateNotFoundException, _DependencyThrottleException, _DuplicateAccessPointNameException, _DuplicateListenerException, _DuplicatePolicyNameException, _DuplicateTagKeysException, _InvalidConfigurationRequestException, _InvalidEndPointException, _InvalidSchemeException, _InvalidSecurityGroupException, _InvalidSubnetException, _ListenerNotFoundException, _LoadBalancerAttributeNotFoundException, _OperationNotPermittedException, _PolicyNotFoundException, _PolicyTypeNotFoundException, _SubnetNotFoundException, _TooManyAccessPointsException, _TooManyPoliciesException, _TooManyTagsException, _UnsupportedProtocolException, -- * Re-exported Types module Amazonka.ELB.Internal, -- * AccessLog AccessLog (..), newAccessLog, accessLog_emitInterval, accessLog_s3BucketName, accessLog_s3BucketPrefix, accessLog_enabled, -- * AdditionalAttribute AdditionalAttribute (..), newAdditionalAttribute, additionalAttribute_key, additionalAttribute_value, -- * AppCookieStickinessPolicy AppCookieStickinessPolicy (..), newAppCookieStickinessPolicy, appCookieStickinessPolicy_cookieName, appCookieStickinessPolicy_policyName, -- * BackendServerDescription BackendServerDescription (..), newBackendServerDescription, backendServerDescription_instancePort, backendServerDescription_policyNames, -- * ConnectionDraining ConnectionDraining (..), newConnectionDraining, connectionDraining_timeout, connectionDraining_enabled, -- * ConnectionSettings ConnectionSettings (..), newConnectionSettings, connectionSettings_idleTimeout, -- * CrossZoneLoadBalancing CrossZoneLoadBalancing (..), newCrossZoneLoadBalancing, crossZoneLoadBalancing_enabled, -- * HealthCheck HealthCheck (..), newHealthCheck, healthCheck_target, healthCheck_interval, healthCheck_timeout, healthCheck_unhealthyThreshold, healthCheck_healthyThreshold, -- * Instance Instance (..), newInstance, instance_instanceId, -- * InstanceState InstanceState (..), newInstanceState, instanceState_description, instanceState_instanceId, instanceState_reasonCode, instanceState_state, -- * LBCookieStickinessPolicy LBCookieStickinessPolicy (..), newLBCookieStickinessPolicy, lBCookieStickinessPolicy_cookieExpirationPeriod, lBCookieStickinessPolicy_policyName, -- * Limit Limit (..), newLimit, limit_max, limit_name, -- * Listener Listener (..), newListener, listener_instanceProtocol, listener_sSLCertificateId, listener_protocol, listener_loadBalancerPort, listener_instancePort, -- * ListenerDescription ListenerDescription (..), newListenerDescription, listenerDescription_listener, listenerDescription_policyNames, -- * LoadBalancerAttributes LoadBalancerAttributes (..), newLoadBalancerAttributes, loadBalancerAttributes_accessLog, loadBalancerAttributes_additionalAttributes, loadBalancerAttributes_connectionDraining, loadBalancerAttributes_connectionSettings, loadBalancerAttributes_crossZoneLoadBalancing, -- * LoadBalancerDescription LoadBalancerDescription (..), newLoadBalancerDescription, loadBalancerDescription_availabilityZones, loadBalancerDescription_backendServerDescriptions, loadBalancerDescription_canonicalHostedZoneName, loadBalancerDescription_canonicalHostedZoneNameID, loadBalancerDescription_createdTime, loadBalancerDescription_dNSName, loadBalancerDescription_healthCheck, loadBalancerDescription_instances, loadBalancerDescription_listenerDescriptions, loadBalancerDescription_loadBalancerName, loadBalancerDescription_policies, loadBalancerDescription_scheme, loadBalancerDescription_securityGroups, loadBalancerDescription_sourceSecurityGroup, loadBalancerDescription_subnets, loadBalancerDescription_vPCId, -- * Policies Policies (..), newPolicies, policies_appCookieStickinessPolicies, policies_lBCookieStickinessPolicies, policies_otherPolicies, -- * PolicyAttribute PolicyAttribute (..), newPolicyAttribute, policyAttribute_attributeName, policyAttribute_attributeValue, -- * PolicyAttributeDescription PolicyAttributeDescription (..), newPolicyAttributeDescription, policyAttributeDescription_attributeName, policyAttributeDescription_attributeValue, -- * PolicyAttributeTypeDescription PolicyAttributeTypeDescription (..), newPolicyAttributeTypeDescription, policyAttributeTypeDescription_attributeName, policyAttributeTypeDescription_attributeType, policyAttributeTypeDescription_cardinality, policyAttributeTypeDescription_defaultValue, policyAttributeTypeDescription_description, -- * PolicyDescription PolicyDescription (..), newPolicyDescription, policyDescription_policyAttributeDescriptions, policyDescription_policyName, policyDescription_policyTypeName, -- * PolicyTypeDescription PolicyTypeDescription (..), newPolicyTypeDescription, policyTypeDescription_description, policyTypeDescription_policyAttributeTypeDescriptions, policyTypeDescription_policyTypeName, -- * SourceSecurityGroup SourceSecurityGroup (..), newSourceSecurityGroup, sourceSecurityGroup_groupName, sourceSecurityGroup_ownerAlias, -- * Tag Tag (..), newTag, tag_value, tag_key, -- * TagDescription TagDescription (..), newTagDescription, tagDescription_loadBalancerName, tagDescription_tags, -- * TagKeyOnly TagKeyOnly (..), newTagKeyOnly, tagKeyOnly_key, ) where import qualified Amazonka.Core as Core import qualified Amazonka.Core.Lens.Internal as Lens import Amazonka.ELB.Internal import Amazonka.ELB.Types.AccessLog import Amazonka.ELB.Types.AdditionalAttribute import Amazonka.ELB.Types.AppCookieStickinessPolicy import Amazonka.ELB.Types.BackendServerDescription import Amazonka.ELB.Types.ConnectionDraining import Amazonka.ELB.Types.ConnectionSettings import Amazonka.ELB.Types.CrossZoneLoadBalancing import Amazonka.ELB.Types.HealthCheck import Amazonka.ELB.Types.Instance import Amazonka.ELB.Types.InstanceState import Amazonka.ELB.Types.LBCookieStickinessPolicy import Amazonka.ELB.Types.Limit import Amazonka.ELB.Types.Listener import Amazonka.ELB.Types.ListenerDescription import Amazonka.ELB.Types.LoadBalancerAttributes import Amazonka.ELB.Types.LoadBalancerDescription import Amazonka.ELB.Types.Policies import Amazonka.ELB.Types.PolicyAttribute import Amazonka.ELB.Types.PolicyAttributeDescription import Amazonka.ELB.Types.PolicyAttributeTypeDescription import Amazonka.ELB.Types.PolicyDescription import Amazonka.ELB.Types.PolicyTypeDescription import Amazonka.ELB.Types.SourceSecurityGroup import Amazonka.ELB.Types.Tag import Amazonka.ELB.Types.TagDescription import Amazonka.ELB.Types.TagKeyOnly import qualified Amazonka.Prelude as Prelude import qualified Amazonka.Sign.V4 as Sign -- | API version @2012-06-01@ of the Amazon Elastic Load Balancing SDK configuration. defaultService :: Core.Service defaultService = Core.Service { Core.abbrev = "ELB", Core.signer = Sign.v4, Core.endpointPrefix = "elasticloadbalancing", Core.signingName = "elasticloadbalancing", Core.version = "2012-06-01", Core.s3AddressingStyle = Core.S3AddressingStyleAuto, Core.endpoint = Core.defaultEndpoint defaultService, Core.timeout = Prelude.Just 70, Core.check = Core.statusSuccess, Core.error = Core.parseXMLError "ELB", Core.retry = retry } where retry = Core.Exponential { Core.base = 5.0e-2, Core.growth = 2, Core.attempts = 5, Core.check = check } check e | Lens.has (Core.hasStatus 502) e = Prelude.Just "bad_gateway" | Lens.has (Core.hasStatus 504) e = Prelude.Just "gateway_timeout" | Lens.has (Core.hasStatus 500) e = Prelude.Just "general_server_error" | Lens.has (Core.hasStatus 509) e = Prelude.Just "limit_exceeded" | Lens.has ( Core.hasCode "RequestThrottledException" Prelude.. Core.hasStatus 400 ) e = Prelude.Just "request_throttled_exception" | Lens.has (Core.hasStatus 503) e = Prelude.Just "service_unavailable" | Lens.has ( Core.hasCode "ThrottledException" Prelude.. Core.hasStatus 400 ) e = Prelude.Just "throttled_exception" | Lens.has ( Core.hasCode "Throttling" Prelude.. Core.hasStatus 400 ) e = Prelude.Just "throttling" | Lens.has ( Core.hasCode "ThrottlingException" Prelude.. Core.hasStatus 400 ) e = Prelude.Just "throttling_exception" | Lens.has ( Core.hasCode "ProvisionedThroughputExceededException" Prelude.. Core.hasStatus 400 ) e = Prelude.Just "throughput_exceeded" | Lens.has (Core.hasStatus 429) e = Prelude.Just "too_many_requests" | Prelude.otherwise = Prelude.Nothing -- | The specified load balancer does not exist. _AccessPointNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _AccessPointNotFoundException = Core._MatchServiceError defaultService "LoadBalancerNotFound" Prelude.. Core.hasStatus 400 -- | The specified ARN does not refer to a valid SSL certificate in AWS -- Identity and Access Management (IAM) or AWS Certificate Manager (ACM). -- Note that if you recently uploaded the certificate to IAM, this error -- might indicate that the certificate is not fully available yet. _CertificateNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _CertificateNotFoundException = Core._MatchServiceError defaultService "CertificateNotFound" Prelude.. Core.hasStatus 400 -- | A request made by Elastic Load Balancing to another service exceeds the -- maximum request rate permitted for your account. _DependencyThrottleException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _DependencyThrottleException = Core._MatchServiceError defaultService "DependencyThrottle" Prelude.. Core.hasStatus 400 -- | The specified load balancer name already exists for this account. _DuplicateAccessPointNameException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _DuplicateAccessPointNameException = Core._MatchServiceError defaultService "DuplicateLoadBalancerName" Prelude.. Core.hasStatus 400 -- | A listener already exists for the specified load balancer name and port, -- but with a different instance port, protocol, or SSL certificate. _DuplicateListenerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _DuplicateListenerException = Core._MatchServiceError defaultService "DuplicateListener" Prelude.. Core.hasStatus 400 -- | A policy with the specified name already exists for this load balancer. _DuplicatePolicyNameException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _DuplicatePolicyNameException = Core._MatchServiceError defaultService "DuplicatePolicyName" Prelude.. Core.hasStatus 400 -- | A tag key was specified more than once. _DuplicateTagKeysException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _DuplicateTagKeysException = Core._MatchServiceError defaultService "DuplicateTagKeys" Prelude.. Core.hasStatus 400 -- | The requested configuration change is not valid. _InvalidConfigurationRequestException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _InvalidConfigurationRequestException = Core._MatchServiceError defaultService "InvalidConfigurationRequest" Prelude.. Core.hasStatus 409 -- | The specified endpoint is not valid. _InvalidEndPointException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _InvalidEndPointException = Core._MatchServiceError defaultService "InvalidInstance" Prelude.. Core.hasStatus 400 -- | The specified value for the schema is not valid. You can only specify a -- scheme for load balancers in a VPC. _InvalidSchemeException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _InvalidSchemeException = Core._MatchServiceError defaultService "InvalidScheme" Prelude.. Core.hasStatus 400 -- | One or more of the specified security groups do not exist. _InvalidSecurityGroupException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _InvalidSecurityGroupException = Core._MatchServiceError defaultService "InvalidSecurityGroup" Prelude.. Core.hasStatus 400 -- | The specified VPC has no associated Internet gateway. _InvalidSubnetException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _InvalidSubnetException = Core._MatchServiceError defaultService "InvalidSubnet" Prelude.. Core.hasStatus 400 -- | The load balancer does not have a listener configured at the specified -- port. _ListenerNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _ListenerNotFoundException = Core._MatchServiceError defaultService "ListenerNotFound" Prelude.. Core.hasStatus 400 -- | The specified load balancer attribute does not exist. _LoadBalancerAttributeNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _LoadBalancerAttributeNotFoundException = Core._MatchServiceError defaultService "LoadBalancerAttributeNotFound" Prelude.. Core.hasStatus 400 -- | This operation is not allowed. _OperationNotPermittedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _OperationNotPermittedException = Core._MatchServiceError defaultService "OperationNotPermitted" Prelude.. Core.hasStatus 400 -- | One or more of the specified policies do not exist. _PolicyNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _PolicyNotFoundException = Core._MatchServiceError defaultService "PolicyNotFound" Prelude.. Core.hasStatus 400 -- | One or more of the specified policy types do not exist. _PolicyTypeNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _PolicyTypeNotFoundException = Core._MatchServiceError defaultService "PolicyTypeNotFound" Prelude.. Core.hasStatus 400 -- | One or more of the specified subnets do not exist. _SubnetNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _SubnetNotFoundException = Core._MatchServiceError defaultService "SubnetNotFound" Prelude.. Core.hasStatus 400 -- | The quota for the number of load balancers has been reached. _TooManyAccessPointsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _TooManyAccessPointsException = Core._MatchServiceError defaultService "TooManyLoadBalancers" Prelude.. Core.hasStatus 400 -- | The quota for the number of policies for this load balancer has been -- reached. _TooManyPoliciesException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _TooManyPoliciesException = Core._MatchServiceError defaultService "TooManyPolicies" Prelude.. Core.hasStatus 400 -- | The quota for the number of tags that can be assigned to a load balancer -- has been reached. _TooManyTagsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _TooManyTagsException = Core._MatchServiceError defaultService "TooManyTags" Prelude.. Core.hasStatus 400 -- | The specified protocol or signature version is not supported. _UnsupportedProtocolException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _UnsupportedProtocolException = Core._MatchServiceError defaultService "UnsupportedProtocol" Prelude.. Core.hasStatus 400