{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.Backup.Types
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.Backup.Types
  ( -- * Service Configuration
    defaultService,

    -- * Errors
    _InvalidRequestException,
    _DependencyFailureException,
    _InvalidResourceStateException,
    _ConflictException,
    _InvalidParameterValueException,
    _ServiceUnavailableException,
    _ResourceNotFoundException,
    _AlreadyExistsException,
    _LimitExceededException,
    _MissingParameterValueException,

    -- * BackupJobState
    BackupJobState (..),

    -- * BackupVaultEvent
    BackupVaultEvent (..),

    -- * ConditionType
    ConditionType (..),

    -- * CopyJobState
    CopyJobState (..),

    -- * RecoveryPointStatus
    RecoveryPointStatus (..),

    -- * RestoreJobStatus
    RestoreJobStatus (..),

    -- * StorageClass
    StorageClass (..),

    -- * AdvancedBackupSetting
    AdvancedBackupSetting (..),
    newAdvancedBackupSetting,
    advancedBackupSetting_resourceType,
    advancedBackupSetting_backupOptions,

    -- * BackupJob
    BackupJob (..),
    newBackupJob,
    backupJob_iamRoleArn,
    backupJob_state,
    backupJob_resourceType,
    backupJob_percentDone,
    backupJob_startBy,
    backupJob_createdBy,
    backupJob_expectedCompletionDate,
    backupJob_bytesTransferred,
    backupJob_backupVaultArn,
    backupJob_accountId,
    backupJob_backupJobId,
    backupJob_resourceArn,
    backupJob_statusMessage,
    backupJob_recoveryPointArn,
    backupJob_backupSizeInBytes,
    backupJob_creationDate,
    backupJob_completionDate,
    backupJob_backupVaultName,
    backupJob_backupType,
    backupJob_backupOptions,

    -- * BackupPlan
    BackupPlan (..),
    newBackupPlan,
    backupPlan_advancedBackupSettings,
    backupPlan_backupPlanName,
    backupPlan_rules,

    -- * BackupPlanInput
    BackupPlanInput (..),
    newBackupPlanInput,
    backupPlanInput_advancedBackupSettings,
    backupPlanInput_backupPlanName,
    backupPlanInput_rules,

    -- * BackupPlanTemplatesListMember
    BackupPlanTemplatesListMember (..),
    newBackupPlanTemplatesListMember,
    backupPlanTemplatesListMember_backupPlanTemplateName,
    backupPlanTemplatesListMember_backupPlanTemplateId,

    -- * BackupPlansListMember
    BackupPlansListMember (..),
    newBackupPlansListMember,
    backupPlansListMember_versionId,
    backupPlansListMember_backupPlanName,
    backupPlansListMember_advancedBackupSettings,
    backupPlansListMember_backupPlanId,
    backupPlansListMember_creatorRequestId,
    backupPlansListMember_backupPlanArn,
    backupPlansListMember_lastExecutionDate,
    backupPlansListMember_creationDate,
    backupPlansListMember_deletionDate,

    -- * BackupRule
    BackupRule (..),
    newBackupRule,
    backupRule_ruleId,
    backupRule_lifecycle,
    backupRule_recoveryPointTags,
    backupRule_scheduleExpression,
    backupRule_enableContinuousBackup,
    backupRule_completionWindowMinutes,
    backupRule_copyActions,
    backupRule_startWindowMinutes,
    backupRule_ruleName,
    backupRule_targetBackupVaultName,

    -- * BackupRuleInput
    BackupRuleInput (..),
    newBackupRuleInput,
    backupRuleInput_lifecycle,
    backupRuleInput_recoveryPointTags,
    backupRuleInput_scheduleExpression,
    backupRuleInput_enableContinuousBackup,
    backupRuleInput_completionWindowMinutes,
    backupRuleInput_copyActions,
    backupRuleInput_startWindowMinutes,
    backupRuleInput_ruleName,
    backupRuleInput_targetBackupVaultName,

    -- * BackupSelection
    BackupSelection (..),
    newBackupSelection,
    backupSelection_resources,
    backupSelection_listOfTags,
    backupSelection_selectionName,
    backupSelection_iamRoleArn,

    -- * BackupSelectionsListMember
    BackupSelectionsListMember (..),
    newBackupSelectionsListMember,
    backupSelectionsListMember_iamRoleArn,
    backupSelectionsListMember_selectionName,
    backupSelectionsListMember_selectionId,
    backupSelectionsListMember_backupPlanId,
    backupSelectionsListMember_creatorRequestId,
    backupSelectionsListMember_creationDate,

    -- * BackupVaultListMember
    BackupVaultListMember (..),
    newBackupVaultListMember,
    backupVaultListMember_lockDate,
    backupVaultListMember_maxRetentionDays,
    backupVaultListMember_locked,
    backupVaultListMember_creatorRequestId,
    backupVaultListMember_numberOfRecoveryPoints,
    backupVaultListMember_backupVaultArn,
    backupVaultListMember_encryptionKeyArn,
    backupVaultListMember_creationDate,
    backupVaultListMember_backupVaultName,
    backupVaultListMember_minRetentionDays,

    -- * CalculatedLifecycle
    CalculatedLifecycle (..),
    newCalculatedLifecycle,
    calculatedLifecycle_deleteAt,
    calculatedLifecycle_moveToColdStorageAt,

    -- * Condition
    Condition (..),
    newCondition,
    condition_conditionType,
    condition_conditionKey,
    condition_conditionValue,

    -- * ControlInputParameter
    ControlInputParameter (..),
    newControlInputParameter,
    controlInputParameter_parameterValue,
    controlInputParameter_parameterName,

    -- * ControlScope
    ControlScope (..),
    newControlScope,
    controlScope_complianceResourceTypes,
    controlScope_tags,
    controlScope_complianceResourceIds,

    -- * CopyAction
    CopyAction (..),
    newCopyAction,
    copyAction_lifecycle,
    copyAction_destinationBackupVaultArn,

    -- * CopyJob
    CopyJob (..),
    newCopyJob,
    copyJob_iamRoleArn,
    copyJob_state,
    copyJob_sourceRecoveryPointArn,
    copyJob_resourceType,
    copyJob_destinationBackupVaultArn,
    copyJob_createdBy,
    copyJob_destinationRecoveryPointArn,
    copyJob_accountId,
    copyJob_sourceBackupVaultArn,
    copyJob_copyJobId,
    copyJob_resourceArn,
    copyJob_statusMessage,
    copyJob_backupSizeInBytes,
    copyJob_creationDate,
    copyJob_completionDate,

    -- * Framework
    Framework (..),
    newFramework,
    framework_creationTime,
    framework_frameworkDescription,
    framework_numberOfControls,
    framework_frameworkArn,
    framework_deploymentStatus,
    framework_frameworkName,

    -- * FrameworkControl
    FrameworkControl (..),
    newFrameworkControl,
    frameworkControl_controlScope,
    frameworkControl_controlInputParameters,
    frameworkControl_controlName,

    -- * Lifecycle
    Lifecycle (..),
    newLifecycle,
    lifecycle_moveToColdStorageAfterDays,
    lifecycle_deleteAfterDays,

    -- * ProtectedResource
    ProtectedResource (..),
    newProtectedResource,
    protectedResource_resourceType,
    protectedResource_lastBackupTime,
    protectedResource_resourceArn,

    -- * RecoveryPointByBackupVault
    RecoveryPointByBackupVault (..),
    newRecoveryPointByBackupVault,
    recoveryPointByBackupVault_isEncrypted,
    recoveryPointByBackupVault_status,
    recoveryPointByBackupVault_iamRoleArn,
    recoveryPointByBackupVault_resourceType,
    recoveryPointByBackupVault_createdBy,
    recoveryPointByBackupVault_calculatedLifecycle,
    recoveryPointByBackupVault_lifecycle,
    recoveryPointByBackupVault_backupVaultArn,
    recoveryPointByBackupVault_sourceBackupVaultArn,
    recoveryPointByBackupVault_lastRestoreTime,
    recoveryPointByBackupVault_resourceArn,
    recoveryPointByBackupVault_statusMessage,
    recoveryPointByBackupVault_recoveryPointArn,
    recoveryPointByBackupVault_encryptionKeyArn,
    recoveryPointByBackupVault_backupSizeInBytes,
    recoveryPointByBackupVault_creationDate,
    recoveryPointByBackupVault_completionDate,
    recoveryPointByBackupVault_backupVaultName,

    -- * RecoveryPointByResource
    RecoveryPointByResource (..),
    newRecoveryPointByResource,
    recoveryPointByResource_status,
    recoveryPointByResource_statusMessage,
    recoveryPointByResource_recoveryPointArn,
    recoveryPointByResource_backupSizeBytes,
    recoveryPointByResource_encryptionKeyArn,
    recoveryPointByResource_creationDate,
    recoveryPointByResource_backupVaultName,

    -- * RecoveryPointCreator
    RecoveryPointCreator (..),
    newRecoveryPointCreator,
    recoveryPointCreator_backupPlanId,
    recoveryPointCreator_backupPlanArn,
    recoveryPointCreator_backupPlanVersion,
    recoveryPointCreator_backupRuleId,

    -- * ReportDeliveryChannel
    ReportDeliveryChannel (..),
    newReportDeliveryChannel,
    reportDeliveryChannel_s3KeyPrefix,
    reportDeliveryChannel_formats,
    reportDeliveryChannel_s3BucketName,

    -- * ReportDestination
    ReportDestination (..),
    newReportDestination,
    reportDestination_s3Keys,
    reportDestination_s3BucketName,

    -- * ReportJob
    ReportJob (..),
    newReportJob,
    reportJob_creationTime,
    reportJob_status,
    reportJob_reportPlanArn,
    reportJob_completionTime,
    reportJob_reportJobId,
    reportJob_statusMessage,
    reportJob_reportDestination,
    reportJob_reportTemplate,

    -- * ReportPlan
    ReportPlan (..),
    newReportPlan,
    reportPlan_creationTime,
    reportPlan_reportPlanName,
    reportPlan_reportPlanArn,
    reportPlan_reportSetting,
    reportPlan_reportPlanDescription,
    reportPlan_lastAttemptedExecutionTime,
    reportPlan_deploymentStatus,
    reportPlan_lastSuccessfulExecutionTime,
    reportPlan_reportDeliveryChannel,

    -- * ReportSetting
    ReportSetting (..),
    newReportSetting,
    reportSetting_frameworkArns,
    reportSetting_numberOfFrameworks,
    reportSetting_reportTemplate,

    -- * RestoreJobsListMember
    RestoreJobsListMember (..),
    newRestoreJobsListMember,
    restoreJobsListMember_status,
    restoreJobsListMember_iamRoleArn,
    restoreJobsListMember_expectedCompletionTimeMinutes,
    restoreJobsListMember_restoreJobId,
    restoreJobsListMember_resourceType,
    restoreJobsListMember_percentDone,
    restoreJobsListMember_accountId,
    restoreJobsListMember_createdResourceArn,
    restoreJobsListMember_statusMessage,
    restoreJobsListMember_recoveryPointArn,
    restoreJobsListMember_backupSizeInBytes,
    restoreJobsListMember_creationDate,
    restoreJobsListMember_completionDate,
  )
where

import Amazonka.Backup.Types.AdvancedBackupSetting
import Amazonka.Backup.Types.BackupJob
import Amazonka.Backup.Types.BackupJobState
import Amazonka.Backup.Types.BackupPlan
import Amazonka.Backup.Types.BackupPlanInput
import Amazonka.Backup.Types.BackupPlanTemplatesListMember
import Amazonka.Backup.Types.BackupPlansListMember
import Amazonka.Backup.Types.BackupRule
import Amazonka.Backup.Types.BackupRuleInput
import Amazonka.Backup.Types.BackupSelection
import Amazonka.Backup.Types.BackupSelectionsListMember
import Amazonka.Backup.Types.BackupVaultEvent
import Amazonka.Backup.Types.BackupVaultListMember
import Amazonka.Backup.Types.CalculatedLifecycle
import Amazonka.Backup.Types.Condition
import Amazonka.Backup.Types.ConditionType
import Amazonka.Backup.Types.ControlInputParameter
import Amazonka.Backup.Types.ControlScope
import Amazonka.Backup.Types.CopyAction
import Amazonka.Backup.Types.CopyJob
import Amazonka.Backup.Types.CopyJobState
import Amazonka.Backup.Types.Framework
import Amazonka.Backup.Types.FrameworkControl
import Amazonka.Backup.Types.Lifecycle
import Amazonka.Backup.Types.ProtectedResource
import Amazonka.Backup.Types.RecoveryPointByBackupVault
import Amazonka.Backup.Types.RecoveryPointByResource
import Amazonka.Backup.Types.RecoveryPointCreator
import Amazonka.Backup.Types.RecoveryPointStatus
import Amazonka.Backup.Types.ReportDeliveryChannel
import Amazonka.Backup.Types.ReportDestination
import Amazonka.Backup.Types.ReportJob
import Amazonka.Backup.Types.ReportPlan
import Amazonka.Backup.Types.ReportSetting
import Amazonka.Backup.Types.RestoreJobStatus
import Amazonka.Backup.Types.RestoreJobsListMember
import Amazonka.Backup.Types.StorageClass
import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Sign.V4 as Sign

-- | API version @2018-11-15@ of the Amazon Backup SDK configuration.
defaultService :: Core.Service
defaultService :: Service
defaultService =
  Service :: Abbrev
-> Signer
-> ByteString
-> ByteString
-> ByteString
-> (Region -> Endpoint)
-> Maybe Seconds
-> (Status -> Bool)
-> (Status -> [Header] -> ByteStringLazy -> Error)
-> Retry
-> Service
Core.Service
    { $sel:_serviceAbbrev:Service :: Abbrev
Core._serviceAbbrev = Abbrev
"Backup",
      $sel:_serviceSigner:Service :: Signer
Core._serviceSigner = Signer
Sign.v4,
      $sel:_serviceEndpointPrefix:Service :: ByteString
Core._serviceEndpointPrefix = ByteString
"backup",
      $sel:_serviceSigningName:Service :: ByteString
Core._serviceSigningName = ByteString
"backup",
      $sel:_serviceVersion:Service :: ByteString
Core._serviceVersion = ByteString
"2018-11-15",
      $sel:_serviceEndpoint:Service :: Region -> Endpoint
Core._serviceEndpoint =
        Service -> Region -> Endpoint
Core.defaultEndpoint Service
defaultService,
      $sel:_serviceTimeout:Service :: Maybe Seconds
Core._serviceTimeout = Seconds -> Maybe Seconds
forall a. a -> Maybe a
Prelude.Just Seconds
70,
      $sel:_serviceCheck:Service :: Status -> Bool
Core._serviceCheck = Status -> Bool
Core.statusSuccess,
      $sel:_serviceError:Service :: Status -> [Header] -> ByteStringLazy -> Error
Core._serviceError = Abbrev -> Status -> [Header] -> ByteStringLazy -> Error
Core.parseJSONError Abbrev
"Backup",
      $sel:_serviceRetry:Service :: Retry
Core._serviceRetry = Retry
retry
    }
  where
    retry :: Retry
retry =
      Exponential :: Double -> Int -> Int -> (ServiceError -> Maybe Text) -> Retry
Core.Exponential
        { $sel:_retryBase:Exponential :: Double
Core._retryBase = Double
5.0e-2,
          $sel:_retryGrowth:Exponential :: Int
Core._retryGrowth = Int
2,
          $sel:_retryAttempts:Exponential :: Int
Core._retryAttempts = Int
5,
          $sel:_retryCheck:Exponential :: ServiceError -> Maybe Text
Core._retryCheck = ServiceError -> Maybe Text
forall a. IsString a => ServiceError -> Maybe a
check
        }
    check :: ServiceError -> Maybe a
check ServiceError
e
      | Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has
          ( ErrorCode -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
ErrorCode -> Optic' p f ServiceError ServiceError
Core.hasCode ErrorCode
"ThrottledException"
              Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400
          )
          ServiceError
e =
        a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"throttled_exception"
      | Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has (Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
429) ServiceError
e =
        a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"too_many_requests"
      | Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has
          ( ErrorCode -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
ErrorCode -> Optic' p f ServiceError ServiceError
Core.hasCode ErrorCode
"ThrottlingException"
              Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400
          )
          ServiceError
e =
        a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"throttling_exception"
      | Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has
          ( ErrorCode -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
ErrorCode -> Optic' p f ServiceError ServiceError
Core.hasCode ErrorCode
"Throttling"
              Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400
          )
          ServiceError
e =
        a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"throttling"
      | Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has
          ( ErrorCode -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
ErrorCode -> Optic' p f ServiceError ServiceError
Core.hasCode
              ErrorCode
"ProvisionedThroughputExceededException"
              Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400
          )
          ServiceError
e =
        a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"throughput_exceeded"
      | Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has (Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
504) ServiceError
e =
        a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"gateway_timeout"
      | Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has
          ( ErrorCode -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
ErrorCode -> Optic' p f ServiceError ServiceError
Core.hasCode ErrorCode
"RequestThrottledException"
              Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400
          )
          ServiceError
e =
        a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"request_throttled_exception"
      | Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has (Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
502) ServiceError
e =
        a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"bad_gateway"
      | Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has (Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
503) ServiceError
e =
        a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"service_unavailable"
      | Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has (Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
500) ServiceError
e =
        a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"general_server_error"
      | Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has (Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
509) ServiceError
e =
        a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"limit_exceeded"
      | Bool
Prelude.otherwise = Maybe a
forall a. Maybe a
Prelude.Nothing

-- | Indicates that something is wrong with the input to the request. For
-- example, a parameter is of the wrong type.
_InvalidRequestException :: Core.AsError a => Lens.Getting (Prelude.First Core.ServiceError) a Core.ServiceError
_InvalidRequestException :: Getting (First ServiceError) a ServiceError
_InvalidRequestException =
  Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
forall a.
AsError a =>
Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"InvalidRequestException"

-- | A dependent Amazon Web Services service or resource returned an error to
-- the Backup service, and the action cannot be completed.
_DependencyFailureException :: Core.AsError a => Lens.Getting (Prelude.First Core.ServiceError) a Core.ServiceError
_DependencyFailureException :: Getting (First ServiceError) a ServiceError
_DependencyFailureException =
  Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
forall a.
AsError a =>
Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"DependencyFailureException"

-- | Backup is already performing an action on this recovery point. It can\'t
-- perform the action you requested until the first action finishes. Try
-- again later.
_InvalidResourceStateException :: Core.AsError a => Lens.Getting (Prelude.First Core.ServiceError) a Core.ServiceError
_InvalidResourceStateException :: Getting (First ServiceError) a ServiceError
_InvalidResourceStateException =
  Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
forall a.
AsError a =>
Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"InvalidResourceStateException"

-- | Backup can\'t perform the action that you requested until it finishes
-- performing a previous action. Try again later.
_ConflictException :: Core.AsError a => Lens.Getting (Prelude.First Core.ServiceError) a Core.ServiceError
_ConflictException :: Getting (First ServiceError) a ServiceError
_ConflictException =
  Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
forall a.
AsError a =>
Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"ConflictException"

-- | Indicates that something is wrong with a parameter\'s value. For
-- example, the value is out of range.
_InvalidParameterValueException :: Core.AsError a => Lens.Getting (Prelude.First Core.ServiceError) a Core.ServiceError
_InvalidParameterValueException :: Getting (First ServiceError) a ServiceError
_InvalidParameterValueException =
  Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
forall a.
AsError a =>
Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"InvalidParameterValueException"

-- | The request failed due to a temporary failure of the server.
_ServiceUnavailableException :: Core.AsError a => Lens.Getting (Prelude.First Core.ServiceError) a Core.ServiceError
_ServiceUnavailableException :: Getting (First ServiceError) a ServiceError
_ServiceUnavailableException =
  Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
forall a.
AsError a =>
Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"ServiceUnavailableException"

-- | A resource that is required for the action doesn\'t exist.
_ResourceNotFoundException :: Core.AsError a => Lens.Getting (Prelude.First Core.ServiceError) a Core.ServiceError
_ResourceNotFoundException :: Getting (First ServiceError) a ServiceError
_ResourceNotFoundException =
  Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
forall a.
AsError a =>
Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"ResourceNotFoundException"

-- | The required resource already exists.
_AlreadyExistsException :: Core.AsError a => Lens.Getting (Prelude.First Core.ServiceError) a Core.ServiceError
_AlreadyExistsException :: Getting (First ServiceError) a ServiceError
_AlreadyExistsException =
  Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
forall a.
AsError a =>
Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"AlreadyExistsException"

-- | A limit in the request has been exceeded; for example, a maximum number
-- of items allowed in a request.
_LimitExceededException :: Core.AsError a => Lens.Getting (Prelude.First Core.ServiceError) a Core.ServiceError
_LimitExceededException :: Getting (First ServiceError) a ServiceError
_LimitExceededException =
  Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
forall a.
AsError a =>
Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"LimitExceededException"

-- | Indicates that a required parameter is missing.
_MissingParameterValueException :: Core.AsError a => Lens.Getting (Prelude.First Core.ServiceError) a Core.ServiceError
_MissingParameterValueException :: Getting (First ServiceError) a ServiceError
_MissingParameterValueException =
  Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
forall a.
AsError a =>
Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"MissingParameterValueException"