{-# 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.GlobalAccelerator.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.GlobalAccelerator.Types
  ( -- * Service Configuration
    defaultService,

    -- * Errors
    _AcceleratorNotDisabledException,
    _AcceleratorNotFoundException,
    _AccessDeniedException,
    _AssociatedEndpointGroupFoundException,
    _AssociatedListenerFoundException,
    _ByoipCidrNotFoundException,
    _ConflictException,
    _EndpointAlreadyExistsException,
    _EndpointGroupAlreadyExistsException,
    _EndpointGroupNotFoundException,
    _EndpointNotFoundException,
    _IncorrectCidrStateException,
    _InternalServiceErrorException,
    _InvalidArgumentException,
    _InvalidNextTokenException,
    _InvalidPortRangeException,
    _LimitExceededException,
    _ListenerNotFoundException,
    _TransactionInProgressException,

    -- * AcceleratorStatus
    AcceleratorStatus (..),

    -- * ByoipCidrState
    ByoipCidrState (..),

    -- * ClientAffinity
    ClientAffinity (..),

    -- * CustomRoutingAcceleratorStatus
    CustomRoutingAcceleratorStatus (..),

    -- * CustomRoutingDestinationTrafficState
    CustomRoutingDestinationTrafficState (..),

    -- * CustomRoutingProtocol
    CustomRoutingProtocol (..),

    -- * HealthCheckProtocol
    HealthCheckProtocol (..),

    -- * HealthState
    HealthState (..),

    -- * IpAddressFamily
    IpAddressFamily (..),

    -- * IpAddressType
    IpAddressType (..),

    -- * Protocol
    Protocol (..),

    -- * Accelerator
    Accelerator (..),
    newAccelerator,
    accelerator_acceleratorArn,
    accelerator_createdTime,
    accelerator_dnsName,
    accelerator_dualStackDnsName,
    accelerator_enabled,
    accelerator_events,
    accelerator_ipAddressType,
    accelerator_ipSets,
    accelerator_lastModifiedTime,
    accelerator_name,
    accelerator_status,

    -- * AcceleratorAttributes
    AcceleratorAttributes (..),
    newAcceleratorAttributes,
    acceleratorAttributes_flowLogsEnabled,
    acceleratorAttributes_flowLogsS3Bucket,
    acceleratorAttributes_flowLogsS3Prefix,

    -- * AcceleratorEvent
    AcceleratorEvent (..),
    newAcceleratorEvent,
    acceleratorEvent_message,
    acceleratorEvent_timestamp,

    -- * ByoipCidr
    ByoipCidr (..),
    newByoipCidr,
    byoipCidr_cidr,
    byoipCidr_events,
    byoipCidr_state,

    -- * ByoipCidrEvent
    ByoipCidrEvent (..),
    newByoipCidrEvent,
    byoipCidrEvent_message,
    byoipCidrEvent_timestamp,

    -- * CidrAuthorizationContext
    CidrAuthorizationContext (..),
    newCidrAuthorizationContext,
    cidrAuthorizationContext_message,
    cidrAuthorizationContext_signature,

    -- * CustomRoutingAccelerator
    CustomRoutingAccelerator (..),
    newCustomRoutingAccelerator,
    customRoutingAccelerator_acceleratorArn,
    customRoutingAccelerator_createdTime,
    customRoutingAccelerator_dnsName,
    customRoutingAccelerator_enabled,
    customRoutingAccelerator_ipAddressType,
    customRoutingAccelerator_ipSets,
    customRoutingAccelerator_lastModifiedTime,
    customRoutingAccelerator_name,
    customRoutingAccelerator_status,

    -- * CustomRoutingAcceleratorAttributes
    CustomRoutingAcceleratorAttributes (..),
    newCustomRoutingAcceleratorAttributes,
    customRoutingAcceleratorAttributes_flowLogsEnabled,
    customRoutingAcceleratorAttributes_flowLogsS3Bucket,
    customRoutingAcceleratorAttributes_flowLogsS3Prefix,

    -- * CustomRoutingDestinationConfiguration
    CustomRoutingDestinationConfiguration (..),
    newCustomRoutingDestinationConfiguration,
    customRoutingDestinationConfiguration_fromPort,
    customRoutingDestinationConfiguration_toPort,
    customRoutingDestinationConfiguration_protocols,

    -- * CustomRoutingDestinationDescription
    CustomRoutingDestinationDescription (..),
    newCustomRoutingDestinationDescription,
    customRoutingDestinationDescription_fromPort,
    customRoutingDestinationDescription_protocols,
    customRoutingDestinationDescription_toPort,

    -- * CustomRoutingEndpointConfiguration
    CustomRoutingEndpointConfiguration (..),
    newCustomRoutingEndpointConfiguration,
    customRoutingEndpointConfiguration_endpointId,

    -- * CustomRoutingEndpointDescription
    CustomRoutingEndpointDescription (..),
    newCustomRoutingEndpointDescription,
    customRoutingEndpointDescription_endpointId,

    -- * CustomRoutingEndpointGroup
    CustomRoutingEndpointGroup (..),
    newCustomRoutingEndpointGroup,
    customRoutingEndpointGroup_destinationDescriptions,
    customRoutingEndpointGroup_endpointDescriptions,
    customRoutingEndpointGroup_endpointGroupArn,
    customRoutingEndpointGroup_endpointGroupRegion,

    -- * CustomRoutingListener
    CustomRoutingListener (..),
    newCustomRoutingListener,
    customRoutingListener_listenerArn,
    customRoutingListener_portRanges,

    -- * DestinationPortMapping
    DestinationPortMapping (..),
    newDestinationPortMapping,
    destinationPortMapping_acceleratorArn,
    destinationPortMapping_acceleratorSocketAddresses,
    destinationPortMapping_destinationSocketAddress,
    destinationPortMapping_destinationTrafficState,
    destinationPortMapping_endpointGroupArn,
    destinationPortMapping_endpointGroupRegion,
    destinationPortMapping_endpointId,
    destinationPortMapping_ipAddressType,

    -- * EndpointConfiguration
    EndpointConfiguration (..),
    newEndpointConfiguration,
    endpointConfiguration_clientIPPreservationEnabled,
    endpointConfiguration_endpointId,
    endpointConfiguration_weight,

    -- * EndpointDescription
    EndpointDescription (..),
    newEndpointDescription,
    endpointDescription_clientIPPreservationEnabled,
    endpointDescription_endpointId,
    endpointDescription_healthReason,
    endpointDescription_healthState,
    endpointDescription_weight,

    -- * EndpointGroup
    EndpointGroup (..),
    newEndpointGroup,
    endpointGroup_endpointDescriptions,
    endpointGroup_endpointGroupArn,
    endpointGroup_endpointGroupRegion,
    endpointGroup_healthCheckIntervalSeconds,
    endpointGroup_healthCheckPath,
    endpointGroup_healthCheckPort,
    endpointGroup_healthCheckProtocol,
    endpointGroup_portOverrides,
    endpointGroup_thresholdCount,
    endpointGroup_trafficDialPercentage,

    -- * EndpointIdentifier
    EndpointIdentifier (..),
    newEndpointIdentifier,
    endpointIdentifier_clientIPPreservationEnabled,
    endpointIdentifier_endpointId,

    -- * IpSet
    IpSet (..),
    newIpSet,
    ipSet_ipAddressFamily,
    ipSet_ipAddresses,
    ipSet_ipFamily,

    -- * Listener
    Listener (..),
    newListener,
    listener_clientAffinity,
    listener_listenerArn,
    listener_portRanges,
    listener_protocol,

    -- * PortMapping
    PortMapping (..),
    newPortMapping,
    portMapping_acceleratorPort,
    portMapping_destinationSocketAddress,
    portMapping_destinationTrafficState,
    portMapping_endpointGroupArn,
    portMapping_endpointId,
    portMapping_protocols,

    -- * PortOverride
    PortOverride (..),
    newPortOverride,
    portOverride_endpointPort,
    portOverride_listenerPort,

    -- * PortRange
    PortRange (..),
    newPortRange,
    portRange_fromPort,
    portRange_toPort,

    -- * SocketAddress
    SocketAddress (..),
    newSocketAddress,
    socketAddress_ipAddress,
    socketAddress_port,

    -- * Tag
    Tag (..),
    newTag,
    tag_key,
    tag_value,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import Amazonka.GlobalAccelerator.Types.Accelerator
import Amazonka.GlobalAccelerator.Types.AcceleratorAttributes
import Amazonka.GlobalAccelerator.Types.AcceleratorEvent
import Amazonka.GlobalAccelerator.Types.AcceleratorStatus
import Amazonka.GlobalAccelerator.Types.ByoipCidr
import Amazonka.GlobalAccelerator.Types.ByoipCidrEvent
import Amazonka.GlobalAccelerator.Types.ByoipCidrState
import Amazonka.GlobalAccelerator.Types.CidrAuthorizationContext
import Amazonka.GlobalAccelerator.Types.ClientAffinity
import Amazonka.GlobalAccelerator.Types.CustomRoutingAccelerator
import Amazonka.GlobalAccelerator.Types.CustomRoutingAcceleratorAttributes
import Amazonka.GlobalAccelerator.Types.CustomRoutingAcceleratorStatus
import Amazonka.GlobalAccelerator.Types.CustomRoutingDestinationConfiguration
import Amazonka.GlobalAccelerator.Types.CustomRoutingDestinationDescription
import Amazonka.GlobalAccelerator.Types.CustomRoutingDestinationTrafficState
import Amazonka.GlobalAccelerator.Types.CustomRoutingEndpointConfiguration
import Amazonka.GlobalAccelerator.Types.CustomRoutingEndpointDescription
import Amazonka.GlobalAccelerator.Types.CustomRoutingEndpointGroup
import Amazonka.GlobalAccelerator.Types.CustomRoutingListener
import Amazonka.GlobalAccelerator.Types.CustomRoutingProtocol
import Amazonka.GlobalAccelerator.Types.DestinationPortMapping
import Amazonka.GlobalAccelerator.Types.EndpointConfiguration
import Amazonka.GlobalAccelerator.Types.EndpointDescription
import Amazonka.GlobalAccelerator.Types.EndpointGroup
import Amazonka.GlobalAccelerator.Types.EndpointIdentifier
import Amazonka.GlobalAccelerator.Types.HealthCheckProtocol
import Amazonka.GlobalAccelerator.Types.HealthState
import Amazonka.GlobalAccelerator.Types.IpAddressFamily
import Amazonka.GlobalAccelerator.Types.IpAddressType
import Amazonka.GlobalAccelerator.Types.IpSet
import Amazonka.GlobalAccelerator.Types.Listener
import Amazonka.GlobalAccelerator.Types.PortMapping
import Amazonka.GlobalAccelerator.Types.PortOverride
import Amazonka.GlobalAccelerator.Types.PortRange
import Amazonka.GlobalAccelerator.Types.Protocol
import Amazonka.GlobalAccelerator.Types.SocketAddress
import Amazonka.GlobalAccelerator.Types.Tag
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Sign.V4 as Sign

-- | API version @2018-08-08@ of the Amazon Global Accelerator SDK configuration.
defaultService :: Core.Service
defaultService :: Service
defaultService =
  Core.Service
    { $sel:abbrev:Service :: Abbrev
Core.abbrev = Abbrev
"GlobalAccelerator",
      $sel:signer:Service :: Signer
Core.signer = Signer
Sign.v4,
      $sel:endpointPrefix:Service :: ByteString
Core.endpointPrefix = ByteString
"globalaccelerator",
      $sel:signingName:Service :: ByteString
Core.signingName = ByteString
"globalaccelerator",
      $sel:version:Service :: ByteString
Core.version = ByteString
"2018-08-08",
      $sel:s3AddressingStyle:Service :: S3AddressingStyle
Core.s3AddressingStyle = S3AddressingStyle
Core.S3AddressingStyleAuto,
      $sel:endpoint:Service :: Region -> Endpoint
Core.endpoint = Service -> Region -> Endpoint
Core.defaultEndpoint Service
defaultService,
      $sel:timeout:Service :: Maybe Seconds
Core.timeout = forall a. a -> Maybe a
Prelude.Just Seconds
70,
      $sel:check:Service :: Status -> Bool
Core.check = Status -> Bool
Core.statusSuccess,
      $sel:error:Service :: Status -> [Header] -> ByteStringLazy -> Error
Core.error = Abbrev -> Status -> [Header] -> ByteStringLazy -> Error
Core.parseJSONError Abbrev
"GlobalAccelerator",
      $sel:retry:Service :: Retry
Core.retry = Retry
retry
    }
  where
    retry :: Retry
retry =
      Core.Exponential
        { $sel:base:Exponential :: Double
Core.base = Double
5.0e-2,
          $sel:growth:Exponential :: Int
Core.growth = Int
2,
          $sel:attempts:Exponential :: Int
Core.attempts = Int
5,
          $sel:check:Exponential :: ServiceError -> Maybe Text
Core.check = forall {a}. IsString a => ServiceError -> Maybe a
check
        }
    check :: ServiceError -> Maybe a
check ServiceError
e
      | forall s a. Getting Any s a -> s -> Bool
Lens.has (forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
502) ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"bad_gateway"
      | forall s a. Getting Any s a -> s -> Bool
Lens.has (forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
504) ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"gateway_timeout"
      | forall s a. Getting Any s a -> s -> Bool
Lens.has (forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
500) ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"general_server_error"
      | forall s a. Getting Any s a -> s -> Bool
Lens.has (forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
509) ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"limit_exceeded"
      | forall s a. Getting Any s a -> s -> Bool
Lens.has
          ( forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
ErrorCode -> Optic' p f ServiceError ServiceError
Core.hasCode ErrorCode
"RequestThrottledException"
              forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400
          )
          ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"request_throttled_exception"
      | forall s a. Getting Any s a -> s -> Bool
Lens.has (forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
503) ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"service_unavailable"
      | forall s a. Getting Any s a -> s -> Bool
Lens.has
          ( forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
ErrorCode -> Optic' p f ServiceError ServiceError
Core.hasCode ErrorCode
"ThrottledException"
              forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400
          )
          ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"throttled_exception"
      | forall s a. Getting Any s a -> s -> Bool
Lens.has
          ( forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
ErrorCode -> Optic' p f ServiceError ServiceError
Core.hasCode ErrorCode
"Throttling"
              forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400
          )
          ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"throttling"
      | forall s a. Getting Any s a -> s -> Bool
Lens.has
          ( forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
ErrorCode -> Optic' p f ServiceError ServiceError
Core.hasCode ErrorCode
"ThrottlingException"
              forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400
          )
          ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"throttling_exception"
      | forall s a. Getting Any s a -> s -> Bool
Lens.has
          ( forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
ErrorCode -> Optic' p f ServiceError ServiceError
Core.hasCode
              ErrorCode
"ProvisionedThroughputExceededException"
              forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400
          )
          ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"throughput_exceeded"
      | forall s a. Getting Any s a -> s -> Bool
Lens.has (forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
429) ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"too_many_requests"
      | Bool
Prelude.otherwise = forall a. Maybe a
Prelude.Nothing

-- | The accelerator that you specified could not be disabled.
_AcceleratorNotDisabledException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_AcceleratorNotDisabledException :: forall a. AsError a => Fold a ServiceError
_AcceleratorNotDisabledException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"AcceleratorNotDisabledException"

-- | The accelerator that you specified doesn\'t exist.
_AcceleratorNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_AcceleratorNotFoundException :: forall a. AsError a => Fold a ServiceError
_AcceleratorNotFoundException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"AcceleratorNotFoundException"

-- | You don\'t have access permission.
_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_AccessDeniedException :: forall a. AsError a => Fold a ServiceError
_AccessDeniedException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"AccessDeniedException"

-- | The listener that you specified has an endpoint group associated with
-- it. You must remove all dependent resources from a listener before you
-- can delete it.
_AssociatedEndpointGroupFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_AssociatedEndpointGroupFoundException :: forall a. AsError a => Fold a ServiceError
_AssociatedEndpointGroupFoundException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"AssociatedEndpointGroupFoundException"

-- | The accelerator that you specified has a listener associated with it.
-- You must remove all dependent resources from an accelerator before you
-- can delete it.
_AssociatedListenerFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_AssociatedListenerFoundException :: forall a. AsError a => Fold a ServiceError
_AssociatedListenerFoundException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"AssociatedListenerFoundException"

-- | The CIDR that you specified was not found or is incorrect.
_ByoipCidrNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ByoipCidrNotFoundException :: forall a. AsError a => Fold a ServiceError
_ByoipCidrNotFoundException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"ByoipCidrNotFoundException"

-- | You can\'t use both of those options.
_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ConflictException :: forall a. AsError a => Fold a ServiceError
_ConflictException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"ConflictException"

-- | The endpoint that you specified doesn\'t exist.
_EndpointAlreadyExistsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_EndpointAlreadyExistsException :: forall a. AsError a => Fold a ServiceError
_EndpointAlreadyExistsException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"EndpointAlreadyExistsException"

-- | The endpoint group that you specified already exists.
_EndpointGroupAlreadyExistsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_EndpointGroupAlreadyExistsException :: forall a. AsError a => Fold a ServiceError
_EndpointGroupAlreadyExistsException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"EndpointGroupAlreadyExistsException"

-- | The endpoint group that you specified doesn\'t exist.
_EndpointGroupNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_EndpointGroupNotFoundException :: forall a. AsError a => Fold a ServiceError
_EndpointGroupNotFoundException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"EndpointGroupNotFoundException"

-- | The endpoint that you specified doesn\'t exist.
_EndpointNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_EndpointNotFoundException :: forall a. AsError a => Fold a ServiceError
_EndpointNotFoundException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"EndpointNotFoundException"

-- | The CIDR that you specified is not valid for this action. For example,
-- the state of the CIDR might be incorrect for this action.
_IncorrectCidrStateException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_IncorrectCidrStateException :: forall a. AsError a => Fold a ServiceError
_IncorrectCidrStateException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"IncorrectCidrStateException"

-- | There was an internal error for Global Accelerator.
_InternalServiceErrorException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_InternalServiceErrorException :: forall a. AsError a => Fold a ServiceError
_InternalServiceErrorException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"InternalServiceErrorException"

-- | An argument that you specified is invalid.
_InvalidArgumentException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_InvalidArgumentException :: forall a. AsError a => Fold a ServiceError
_InvalidArgumentException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"InvalidArgumentException"

-- | There isn\'t another item to return.
_InvalidNextTokenException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_InvalidNextTokenException :: forall a. AsError a => Fold a ServiceError
_InvalidNextTokenException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"InvalidNextTokenException"

-- | The port numbers that you specified are not valid numbers or are not
-- unique for this accelerator.
_InvalidPortRangeException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_InvalidPortRangeException :: forall a. AsError a => Fold a ServiceError
_InvalidPortRangeException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"InvalidPortRangeException"

-- | Processing your request would cause you to exceed an Global Accelerator
-- limit.
_LimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_LimitExceededException :: forall a. AsError a => Fold a ServiceError
_LimitExceededException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"LimitExceededException"

-- | The listener that you specified doesn\'t exist.
_ListenerNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ListenerNotFoundException :: forall a. AsError a => Fold a ServiceError
_ListenerNotFoundException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"ListenerNotFoundException"

-- | There\'s already a transaction in progress. Another transaction can\'t
-- be processed.
_TransactionInProgressException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_TransactionInProgressException :: forall a. AsError a => Fold a ServiceError
_TransactionInProgressException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"TransactionInProgressException"