{-# 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.CloudHSM.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.CloudHSM.Types ( -- * Service Configuration defaultService, -- * Errors _CloudHsmInternalException, _CloudHsmServiceException, _InvalidRequestException, -- * ClientVersion ClientVersion (..), -- * CloudHsmObjectState CloudHsmObjectState (..), -- * HsmStatus HsmStatus (..), -- * SubscriptionType SubscriptionType (..), -- * Tag Tag (..), newTag, tag_key, tag_value, ) where import Amazonka.CloudHSM.Types.ClientVersion import Amazonka.CloudHSM.Types.CloudHsmObjectState import Amazonka.CloudHSM.Types.HsmStatus import Amazonka.CloudHSM.Types.SubscriptionType import Amazonka.CloudHSM.Types.Tag import qualified Amazonka.Core as Core import qualified Amazonka.Core.Lens.Internal as Lens import qualified Amazonka.Prelude as Prelude import qualified Amazonka.Sign.V4 as Sign -- | API version @2014-05-30@ of the Amazon CloudHSM SDK configuration. defaultService :: Core.Service defaultService = Core.Service { Core.abbrev = "CloudHSM", Core.signer = Sign.v4, Core.endpointPrefix = "cloudhsm", Core.signingName = "cloudhsm", Core.version = "2014-05-30", Core.s3AddressingStyle = Core.S3AddressingStyleAuto, Core.endpoint = Core.defaultEndpoint defaultService, Core.timeout = Prelude.Just 70, Core.check = Core.statusSuccess, Core.error = Core.parseJSONError "CloudHSM", 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 -- | Indicates that an internal error occurred. _CloudHsmInternalException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _CloudHsmInternalException = Core._MatchServiceError defaultService "CloudHsmInternalException" -- | Indicates that an exception occurred in the AWS CloudHSM service. _CloudHsmServiceException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _CloudHsmServiceException = Core._MatchServiceError defaultService "CloudHsmServiceException" -- | Indicates that one or more of the request parameters are not valid. _InvalidRequestException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _InvalidRequestException = Core._MatchServiceError defaultService "InvalidRequestException"