{-# 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.MigrationHubConfig.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.MigrationHubConfig.Types ( -- * Service Configuration defaultService, -- * Errors _AccessDeniedException, _DryRunOperation, _InternalServerError, _InvalidInputException, _ServiceUnavailableException, _ThrottlingException, -- * TargetType TargetType (..), -- * HomeRegionControl HomeRegionControl (..), newHomeRegionControl, homeRegionControl_controlId, homeRegionControl_homeRegion, homeRegionControl_requestedTime, homeRegionControl_target, -- * Target Target (..), newTarget, target_id, target_type, ) where import qualified Amazonka.Core as Core import qualified Amazonka.Core.Lens.Internal as Lens import Amazonka.MigrationHubConfig.Types.HomeRegionControl import Amazonka.MigrationHubConfig.Types.Target import Amazonka.MigrationHubConfig.Types.TargetType import qualified Amazonka.Prelude as Prelude import qualified Amazonka.Sign.V4 as Sign -- | API version @2019-06-30@ of the Amazon Migration Hub Config SDK configuration. defaultService :: Core.Service defaultService = Core.Service { Core.abbrev = "MigrationHubConfig", Core.signer = Sign.v4, Core.endpointPrefix = "migrationhub-config", Core.signingName = "mgh", Core.version = "2019-06-30", Core.s3AddressingStyle = Core.S3AddressingStyleAuto, Core.endpoint = Core.defaultEndpoint defaultService, Core.timeout = Prelude.Just 70, Core.check = Core.statusSuccess, Core.error = Core.parseJSONError "MigrationHubConfig", 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" -- | Exception raised to indicate that authorization of an action was -- successful, when the @DryRun@ flag is set to true. _DryRunOperation :: (Core.AsError a) => Lens.Fold a Core.ServiceError _DryRunOperation = Core._MatchServiceError defaultService "DryRunOperation" -- | Exception raised when an internal, configuration, or dependency error is -- encountered. _InternalServerError :: (Core.AsError a) => Lens.Fold a Core.ServiceError _InternalServerError = Core._MatchServiceError defaultService "InternalServerError" -- | Exception raised when the provided input violates a policy constraint or -- is entered in the wrong format or data type. _InvalidInputException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _InvalidInputException = Core._MatchServiceError defaultService "InvalidInputException" -- | Exception raised when a request fails due to temporary unavailability of -- the service. _ServiceUnavailableException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _ServiceUnavailableException = Core._MatchServiceError defaultService "ServiceUnavailableException" -- | The request was denied due to request throttling. _ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _ThrottlingException = Core._MatchServiceError defaultService "ThrottlingException"