{-# 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.BackupGateway.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.BackupGateway.Types ( -- * Service Configuration defaultService, -- * Errors _AccessDeniedException, _ConflictException, _InternalServerException, _ResourceNotFoundException, _ThrottlingException, _ValidationException, -- * GatewayType GatewayType (..), -- * HypervisorState HypervisorState (..), -- * SyncMetadataStatus SyncMetadataStatus (..), -- * BandwidthRateLimitInterval BandwidthRateLimitInterval (..), newBandwidthRateLimitInterval, bandwidthRateLimitInterval_averageUploadRateLimitInBitsPerSec, bandwidthRateLimitInterval_daysOfWeek, bandwidthRateLimitInterval_endHourOfDay, bandwidthRateLimitInterval_endMinuteOfHour, bandwidthRateLimitInterval_startHourOfDay, bandwidthRateLimitInterval_startMinuteOfHour, -- * Gateway Gateway (..), newGateway, gateway_gatewayArn, gateway_gatewayDisplayName, gateway_gatewayType, gateway_hypervisorId, gateway_lastSeenTime, -- * GatewayDetails GatewayDetails (..), newGatewayDetails, gatewayDetails_gatewayArn, gatewayDetails_gatewayDisplayName, gatewayDetails_gatewayType, gatewayDetails_hypervisorId, gatewayDetails_lastSeenTime, gatewayDetails_maintenanceStartTime, gatewayDetails_nextUpdateAvailabilityTime, gatewayDetails_vpcEndpoint, -- * Hypervisor Hypervisor (..), newHypervisor, hypervisor_host, hypervisor_hypervisorArn, hypervisor_kmsKeyArn, hypervisor_name, hypervisor_state, -- * HypervisorDetails HypervisorDetails (..), newHypervisorDetails, hypervisorDetails_host, hypervisorDetails_hypervisorArn, hypervisorDetails_kmsKeyArn, hypervisorDetails_lastSuccessfulMetadataSyncTime, hypervisorDetails_latestMetadataSyncStatus, hypervisorDetails_latestMetadataSyncStatusMessage, hypervisorDetails_logGroupArn, hypervisorDetails_name, hypervisorDetails_state, -- * MaintenanceStartTime MaintenanceStartTime (..), newMaintenanceStartTime, maintenanceStartTime_dayOfMonth, maintenanceStartTime_dayOfWeek, maintenanceStartTime_hourOfDay, maintenanceStartTime_minuteOfHour, -- * Tag Tag (..), newTag, tag_key, tag_value, -- * VirtualMachine VirtualMachine (..), newVirtualMachine, virtualMachine_hostName, virtualMachine_hypervisorId, virtualMachine_lastBackupDate, virtualMachine_name, virtualMachine_path, virtualMachine_resourceArn, -- * VirtualMachineDetails VirtualMachineDetails (..), newVirtualMachineDetails, virtualMachineDetails_hostName, virtualMachineDetails_hypervisorId, virtualMachineDetails_lastBackupDate, virtualMachineDetails_name, virtualMachineDetails_path, virtualMachineDetails_resourceArn, virtualMachineDetails_vmwareTags, -- * VmwareTag VmwareTag (..), newVmwareTag, vmwareTag_vmwareCategory, vmwareTag_vmwareTagDescription, vmwareTag_vmwareTagName, -- * VmwareToAwsTagMapping VmwareToAwsTagMapping (..), newVmwareToAwsTagMapping, vmwareToAwsTagMapping_awsTagKey, vmwareToAwsTagMapping_awsTagValue, vmwareToAwsTagMapping_vmwareCategory, vmwareToAwsTagMapping_vmwareTagName, ) where import Amazonka.BackupGateway.Types.BandwidthRateLimitInterval import Amazonka.BackupGateway.Types.Gateway import Amazonka.BackupGateway.Types.GatewayDetails import Amazonka.BackupGateway.Types.GatewayType import Amazonka.BackupGateway.Types.Hypervisor import Amazonka.BackupGateway.Types.HypervisorDetails import Amazonka.BackupGateway.Types.HypervisorState import Amazonka.BackupGateway.Types.MaintenanceStartTime import Amazonka.BackupGateway.Types.SyncMetadataStatus import Amazonka.BackupGateway.Types.Tag import Amazonka.BackupGateway.Types.VirtualMachine import Amazonka.BackupGateway.Types.VirtualMachineDetails import Amazonka.BackupGateway.Types.VmwareTag import Amazonka.BackupGateway.Types.VmwareToAwsTagMapping 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 @2021-01-01@ of the Amazon Backup Gateway SDK configuration. defaultService :: Core.Service defaultService = Core.Service { Core.abbrev = "BackupGateway", Core.signer = Sign.v4, Core.endpointPrefix = "backup-gateway", Core.signingName = "backup-gateway", Core.version = "2021-01-01", Core.s3AddressingStyle = Core.S3AddressingStyleAuto, Core.endpoint = Core.defaultEndpoint defaultService, Core.timeout = Prelude.Just 70, Core.check = Core.statusSuccess, Core.error = Core.parseJSONError "BackupGateway", 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 -- | The operation cannot proceed because you have insufficient permissions. _AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _AccessDeniedException = Core._MatchServiceError defaultService "AccessDeniedException" -- | The operation cannot proceed because it is not supported. _ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _ConflictException = Core._MatchServiceError defaultService "ConflictException" -- | The operation did not succeed because an internal error occurred. Try -- again later. _InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _InternalServerException = Core._MatchServiceError defaultService "InternalServerException" -- | A resource that is required for the action wasn\'t found. _ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _ResourceNotFoundException = Core._MatchServiceError defaultService "ResourceNotFoundException" -- | TPS has been limited to protect against intentional or unintentional -- high request volumes. _ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _ThrottlingException = Core._MatchServiceError defaultService "ThrottlingException" -- | The operation did not succeed because a validation error occurred. _ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _ValidationException = Core._MatchServiceError defaultService "ValidationException"