{-# 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.SSMContacts.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.SSMContacts.Types ( -- * Service Configuration defaultService, -- * Errors _AccessDeniedException, _ConflictException, _DataEncryptionException, _InternalServerException, _ResourceNotFoundException, _ServiceQuotaExceededException, _ThrottlingException, _ValidationException, -- * AcceptCodeValidation AcceptCodeValidation (..), -- * AcceptType AcceptType (..), -- * ActivationStatus ActivationStatus (..), -- * ChannelType ChannelType (..), -- * ContactType ContactType (..), -- * ReceiptType ReceiptType (..), -- * ChannelTargetInfo ChannelTargetInfo (..), newChannelTargetInfo, channelTargetInfo_retryIntervalInMinutes, channelTargetInfo_contactChannelId, -- * Contact Contact (..), newContact, contact_displayName, contact_contactArn, contact_alias, contact_type, -- * ContactChannel ContactChannel (..), newContactChannel, contactChannel_type, contactChannel_contactChannelArn, contactChannel_contactArn, contactChannel_name, contactChannel_deliveryAddress, contactChannel_activationStatus, -- * ContactChannelAddress ContactChannelAddress (..), newContactChannelAddress, contactChannelAddress_simpleAddress, -- * ContactTargetInfo ContactTargetInfo (..), newContactTargetInfo, contactTargetInfo_contactId, contactTargetInfo_isEssential, -- * Engagement Engagement (..), newEngagement, engagement_incidentId, engagement_startTime, engagement_stopTime, engagement_engagementArn, engagement_contactArn, engagement_sender, -- * Page Page (..), newPage, page_deliveryTime, page_incidentId, page_readTime, page_sentTime, page_pageArn, page_engagementArn, page_contactArn, page_sender, -- * Plan Plan (..), newPlan, plan_stages, -- * Receipt Receipt (..), newReceipt, receipt_contactChannelArn, receipt_receiptInfo, receipt_receiptType, receipt_receiptTime, -- * Stage Stage (..), newStage, stage_durationInMinutes, stage_targets, -- * Tag Tag (..), newTag, tag_key, tag_value, -- * Target Target (..), newTarget, target_channelTargetInfo, target_contactTargetInfo, -- * TimeRange TimeRange (..), newTimeRange, timeRange_endTime, timeRange_startTime, ) where import qualified Amazonka.Core as Core import qualified Amazonka.Core.Lens.Internal as Lens import qualified Amazonka.Prelude as Prelude import Amazonka.SSMContacts.Types.AcceptCodeValidation import Amazonka.SSMContacts.Types.AcceptType import Amazonka.SSMContacts.Types.ActivationStatus import Amazonka.SSMContacts.Types.ChannelTargetInfo import Amazonka.SSMContacts.Types.ChannelType import Amazonka.SSMContacts.Types.Contact import Amazonka.SSMContacts.Types.ContactChannel import Amazonka.SSMContacts.Types.ContactChannelAddress import Amazonka.SSMContacts.Types.ContactTargetInfo import Amazonka.SSMContacts.Types.ContactType import Amazonka.SSMContacts.Types.Engagement import Amazonka.SSMContacts.Types.Page import Amazonka.SSMContacts.Types.Plan import Amazonka.SSMContacts.Types.Receipt import Amazonka.SSMContacts.Types.ReceiptType import Amazonka.SSMContacts.Types.Stage import Amazonka.SSMContacts.Types.Tag import Amazonka.SSMContacts.Types.Target import Amazonka.SSMContacts.Types.TimeRange import qualified Amazonka.Sign.V4 as Sign -- | API version @2021-05-03@ of the Amazon Systems Manager Incident Manager Contacts SDK configuration. defaultService :: Core.Service defaultService = Core.Service { Core.abbrev = "SSMContacts", Core.signer = Sign.v4, Core.endpointPrefix = "ssm-contacts", Core.signingName = "ssm-contacts", Core.version = "2021-05-03", Core.s3AddressingStyle = Core.S3AddressingStyleAuto, Core.endpoint = Core.defaultEndpoint defaultService, Core.timeout = Prelude.Just 70, Core.check = Core.statusSuccess, Core.error = Core.parseJSONError "SSMContacts", 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 don\'t have sufficient access to perform this operation. _AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _AccessDeniedException = Core._MatchServiceError defaultService "AccessDeniedException" -- | Updating or deleting a resource causes an inconsistent state. _ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _ConflictException = Core._MatchServiceError defaultService "ConflictException" -- | The operation failed to due an encryption key error. _DataEncryptionException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _DataEncryptionException = Core._MatchServiceError defaultService "DataEncryptionException" -- | Unexpected error occurred while processing the request. _InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _InternalServerException = Core._MatchServiceError defaultService "InternalServerException" -- | Request references a resource that doesn\'t exist. _ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _ResourceNotFoundException = Core._MatchServiceError defaultService "ResourceNotFoundException" -- | Request would cause a service quota to be exceeded. _ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _ServiceQuotaExceededException = Core._MatchServiceError defaultService "ServiceQuotaExceededException" -- | The request was denied due to request throttling. _ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _ThrottlingException = Core._MatchServiceError defaultService "ThrottlingException" -- | The input fails to satisfy the constraints specified by an Amazon Web -- Services service. _ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _ValidationException = Core._MatchServiceError defaultService "ValidationException"