{-# 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.EBS.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.EBS.Types ( -- * Service Configuration defaultService, -- * Errors _AccessDeniedException, _ConcurrentLimitExceededException, _ConflictException, _InternalServerException, _RequestThrottledException, _ResourceNotFoundException, _ServiceQuotaExceededException, _ValidationException, -- * ChecksumAggregationMethod ChecksumAggregationMethod (..), -- * ChecksumAlgorithm ChecksumAlgorithm (..), -- * Status Status (..), -- * Block Block (..), newBlock, block_blockIndex, block_blockToken, -- * ChangedBlock ChangedBlock (..), newChangedBlock, changedBlock_blockIndex, changedBlock_firstBlockToken, changedBlock_secondBlockToken, -- * Tag Tag (..), newTag, tag_key, tag_value, ) where import qualified Amazonka.Core as Core import qualified Amazonka.Core.Lens.Internal as Lens import Amazonka.EBS.Types.Block import Amazonka.EBS.Types.ChangedBlock import Amazonka.EBS.Types.ChecksumAggregationMethod import Amazonka.EBS.Types.ChecksumAlgorithm import Amazonka.EBS.Types.Status import Amazonka.EBS.Types.Tag import qualified Amazonka.Prelude as Prelude import qualified Amazonka.Sign.V4 as Sign -- | API version @2019-11-02@ of the Amazon Elastic Block Store SDK configuration. defaultService :: Core.Service defaultService = Core.Service { Core.abbrev = "EBS", Core.signer = Sign.v4, Core.endpointPrefix = "ebs", Core.signingName = "ebs", Core.version = "2019-11-02", Core.s3AddressingStyle = Core.S3AddressingStyleAuto, Core.endpoint = Core.defaultEndpoint defaultService, Core.timeout = Prelude.Just 70, Core.check = Core.statusSuccess, Core.error = Core.parseJSONError "EBS", 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 -- | You do not have sufficient access to perform this action. _AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _AccessDeniedException = Core._MatchServiceError defaultService "AccessDeniedException" Prelude.. Core.hasStatus 403 -- | You have reached the limit for concurrent API requests. For more -- information, see -- -- in the /Amazon Elastic Compute Cloud User Guide/. _ConcurrentLimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _ConcurrentLimitExceededException = Core._MatchServiceError defaultService "ConcurrentLimitExceededException" Prelude.. Core.hasStatus 400 -- | The request uses the same client token as a previous, but non-identical -- request. _ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _ConflictException = Core._MatchServiceError defaultService "ConflictException" Prelude.. Core.hasStatus 409 -- | An internal error has occurred. _InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _InternalServerException = Core._MatchServiceError defaultService "InternalServerException" Prelude.. Core.hasStatus 500 -- | The number of API requests has exceed the maximum allowed API request -- throttling limit. _RequestThrottledException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _RequestThrottledException = Core._MatchServiceError defaultService "RequestThrottledException" Prelude.. Core.hasStatus 400 -- | The specified resource does not exist. _ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _ResourceNotFoundException = Core._MatchServiceError defaultService "ResourceNotFoundException" Prelude.. Core.hasStatus 404 -- | Your current service quotas do not allow you to perform this action. _ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _ServiceQuotaExceededException = Core._MatchServiceError defaultService "ServiceQuotaExceededException" Prelude.. Core.hasStatus 402 -- | The input fails to satisfy the constraints of the EBS direct APIs. _ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _ValidationException = Core._MatchServiceError defaultService "ValidationException" Prelude.. Core.hasStatus 400