{-# 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.Route53RecoveryReadiness.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.Route53RecoveryReadiness.Types ( -- * Service Configuration defaultService, -- * Errors _AccessDeniedException, _ConflictException, _InternalServerException, _ResourceNotFoundException, _ThrottlingException, _ValidationException, -- * Readiness Readiness (..), -- * CellOutput CellOutput (..), newCellOutput, cellOutput_tags, cellOutput_parentReadinessScopes, cellOutput_cellArn, cellOutput_cellName, cellOutput_cells, -- * DNSTargetResource DNSTargetResource (..), newDNSTargetResource, dNSTargetResource_domainName, dNSTargetResource_hostedZoneArn, dNSTargetResource_recordSetId, dNSTargetResource_recordType, dNSTargetResource_targetResource, -- * ListRulesOutput ListRulesOutput (..), newListRulesOutput, listRulesOutput_ruleDescription, listRulesOutput_ruleId, listRulesOutput_resourceType, -- * Message Message (..), newMessage, message_messageText, -- * NLBResource NLBResource (..), newNLBResource, nLBResource_arn, -- * R53ResourceRecord R53ResourceRecord (..), newR53ResourceRecord, r53ResourceRecord_domainName, r53ResourceRecord_recordSetId, -- * ReadinessCheckOutput ReadinessCheckOutput (..), newReadinessCheckOutput, readinessCheckOutput_readinessCheckName, readinessCheckOutput_tags, readinessCheckOutput_readinessCheckArn, readinessCheckOutput_resourceSet, -- * ReadinessCheckSummary ReadinessCheckSummary (..), newReadinessCheckSummary, readinessCheckSummary_readiness, readinessCheckSummary_readinessCheckName, -- * Recommendation Recommendation (..), newRecommendation, recommendation_recommendationText, -- * RecoveryGroupOutput RecoveryGroupOutput (..), newRecoveryGroupOutput, recoveryGroupOutput_tags, recoveryGroupOutput_recoveryGroupArn, recoveryGroupOutput_recoveryGroupName, recoveryGroupOutput_cells, -- * Resource Resource (..), newResource, resource_componentId, resource_dnsTargetResource, resource_readinessScopes, resource_resourceArn, -- * ResourceResult ResourceResult (..), newResourceResult, resourceResult_componentId, resourceResult_resourceArn, resourceResult_readiness, resourceResult_lastCheckedTimestamp, -- * ResourceSetOutput ResourceSetOutput (..), newResourceSetOutput, resourceSetOutput_tags, resourceSetOutput_resourceSetType, resourceSetOutput_resourceSetName, resourceSetOutput_resourceSetArn, resourceSetOutput_resources, -- * RuleResult RuleResult (..), newRuleResult, ruleResult_messages, ruleResult_readiness, ruleResult_ruleId, ruleResult_lastCheckedTimestamp, -- * TargetResource TargetResource (..), newTargetResource, targetResource_nLBResource, targetResource_r53Resource, ) where import qualified Amazonka.Core as Core import qualified Amazonka.Core.Lens.Internal as Lens import qualified Amazonka.Prelude as Prelude import Amazonka.Route53RecoveryReadiness.Types.CellOutput import Amazonka.Route53RecoveryReadiness.Types.DNSTargetResource import Amazonka.Route53RecoveryReadiness.Types.ListRulesOutput import Amazonka.Route53RecoveryReadiness.Types.Message import Amazonka.Route53RecoveryReadiness.Types.NLBResource import Amazonka.Route53RecoveryReadiness.Types.R53ResourceRecord import Amazonka.Route53RecoveryReadiness.Types.Readiness import Amazonka.Route53RecoveryReadiness.Types.ReadinessCheckOutput import Amazonka.Route53RecoveryReadiness.Types.ReadinessCheckSummary import Amazonka.Route53RecoveryReadiness.Types.Recommendation import Amazonka.Route53RecoveryReadiness.Types.RecoveryGroupOutput import Amazonka.Route53RecoveryReadiness.Types.Resource import Amazonka.Route53RecoveryReadiness.Types.ResourceResult import Amazonka.Route53RecoveryReadiness.Types.ResourceSetOutput import Amazonka.Route53RecoveryReadiness.Types.RuleResult import Amazonka.Route53RecoveryReadiness.Types.TargetResource import qualified Amazonka.Sign.V4 as Sign -- | API version @2019-12-02@ of the Amazon Route53 Recovery Readiness SDK configuration. defaultService :: Core.Service defaultService = Core.Service { Core.abbrev = "Route53RecoveryReadiness", Core.signer = Sign.v4, Core.endpointPrefix = "route53-recovery-readiness", Core.signingName = "route53-recovery-readiness", Core.version = "2019-12-02", Core.s3AddressingStyle = Core.S3AddressingStyleAuto, Core.endpoint = Core.defaultEndpoint defaultService, Core.timeout = Prelude.Just 70, Core.check = Core.statusSuccess, Core.error = Core.parseJSONError "Route53RecoveryReadiness", 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 -- | User does 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 -- | Updating or deleting a resource can cause an inconsistent state. _ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _ConflictException = Core._MatchServiceError defaultService "ConflictException" Prelude.. Core.hasStatus 409 -- | An unexpected error occurred. _InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _InternalServerException = Core._MatchServiceError defaultService "InternalServerException" Prelude.. Core.hasStatus 500 -- | The requested resource does not exist. _ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _ResourceNotFoundException = Core._MatchServiceError defaultService "ResourceNotFoundException" Prelude.. Core.hasStatus 404 -- | Request was denied due to request throttling. _ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _ThrottlingException = Core._MatchServiceError defaultService "ThrottlingException" Prelude.. Core.hasStatus 429 -- | The input fails to satisfy the constraints specified by an AWS service. _ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _ValidationException = Core._MatchServiceError defaultService "ValidationException" Prelude.. Core.hasStatus 400