{-# LANGUAGE OverloadedStrings #-}
module Network.AWS.SES.Types
(
ses
, _InvalidConfigurationSetException
, _InvalidSNSDestinationException
, _TemplateDoesNotExistException
, _ConfigurationSetSendingPausedException
, _CannotDeleteException
, _ProductionAccessNotGrantedException
, _RuleDoesNotExistException
, _MessageRejected
, _InvalidRenderingParameterException
, _MissingRenderingAttributeException
, _FromEmailAddressNotVerifiedException
, _RuleSetDoesNotExistException
, _MailFromDomainNotVerifiedException
, _InvalidFirehoseDestinationException
, _ConfigurationSetAlreadyExistsException
, _CustomVerificationEmailInvalidContentException
, _InvalidTrackingOptionsException
, _AccountSendingPausedException
, _EventDestinationDoesNotExistException
, _CustomVerificationEmailTemplateAlreadyExistsException
, _CustomVerificationEmailTemplateDoesNotExistException
, _InvalidCloudWatchDestinationException
, _InvalidLambdaFunctionException
, _TrackingOptionsDoesNotExistException
, _InvalidTemplateException
, _ConfigurationSetDoesNotExistException
, _InvalidPolicyException
, _InvalidS3ConfigurationException
, _TrackingOptionsAlreadyExistsException
, _InvalidSNSTopicException
, _EventDestinationAlreadyExistsException
, _AlreadyExistsException
, _LimitExceededException
, BehaviorOnMXFailure (..)
, BounceType (..)
, BulkEmailStatus (..)
, ConfigurationSetAttribute (..)
, CustomMailFromStatus (..)
, DimensionValueSource (..)
, DsnAction (..)
, EventType (..)
, IdentityType (..)
, InvocationType (..)
, NotificationType (..)
, ReceiptFilterPolicy (..)
, SNSActionEncoding (..)
, StopScope (..)
, TLSPolicy (..)
, VerificationStatus (..)
, AddHeaderAction
, addHeaderAction
, ahaHeaderName
, ahaHeaderValue
, Body
, body
, bText
, bHTML
, BounceAction
, bounceAction
, baTopicARN
, baStatusCode
, baSmtpReplyCode
, baMessage
, baSender
, BouncedRecipientInfo
, bouncedRecipientInfo
, briBounceType
, briRecipientDsnFields
, briRecipientARN
, briRecipient
, BulkEmailDestination
, bulkEmailDestination
, bedReplacementTemplateData
, bedReplacementTags
, bedDestination
, BulkEmailDestinationStatus
, bulkEmailDestinationStatus
, bedsStatus
, bedsError
, bedsMessageId
, CloudWatchDestination
, cloudWatchDestination
, cwdDimensionConfigurations
, CloudWatchDimensionConfiguration
, cloudWatchDimensionConfiguration
, cwdcDimensionName
, cwdcDimensionValueSource
, cwdcDefaultDimensionValue
, ConfigurationSet
, configurationSet
, csName
, Content
, content
, cCharset
, cData
, CustomVerificationEmailTemplate
, customVerificationEmailTemplate
, cvetFromEmailAddress
, cvetTemplateName
, cvetFailureRedirectionURL
, cvetTemplateSubject
, cvetSuccessRedirectionURL
, Destination
, destination
, dBCCAddresses
, dCCAddresses
, dToAddresses
, EventDestination
, eventDestination
, edEnabled
, edKinesisFirehoseDestination
, edCloudWatchDestination
, edSNSDestination
, edName
, edMatchingEventTypes
, ExtensionField
, extensionField
, efName
, efValue
, IdentityDkimAttributes
, identityDkimAttributes
, idaDkimTokens
, idaDkimEnabled
, idaDkimVerificationStatus
, IdentityMailFromDomainAttributes
, identityMailFromDomainAttributes
, imfdaMailFromDomain
, imfdaMailFromDomainStatus
, imfdaBehaviorOnMXFailure
, IdentityNotificationAttributes
, identityNotificationAttributes
, inaHeadersInDeliveryNotificationsEnabled
, inaHeadersInComplaintNotificationsEnabled
, inaHeadersInBounceNotificationsEnabled
, inaBounceTopic
, inaComplaintTopic
, inaDeliveryTopic
, inaForwardingEnabled
, IdentityVerificationAttributes
, identityVerificationAttributes
, ivaVerificationToken
, ivaVerificationStatus
, KinesisFirehoseDestination
, kinesisFirehoseDestination
, kfdIAMRoleARN
, kfdDeliveryStreamARN
, LambdaAction
, lambdaAction
, laInvocationType
, laTopicARN
, laFunctionARN
, Message
, message
, mSubject
, mBody
, MessageDsn
, messageDsn
, mdArrivalDate
, mdExtensionFields
, mdReportingMta
, MessageTag
, messageTag
, mtName
, mtValue
, RawMessage
, rawMessage
, rmData
, ReceiptAction
, receiptAction
, raAddHeaderAction
, raSNSAction
, raWorkmailAction
, raBounceAction
, raLambdaAction
, raStopAction
, raS3Action
, ReceiptFilter
, receiptFilter
, rfName
, rfIPFilter
, ReceiptIPFilter
, receiptIPFilter
, rifPolicy
, rifCidr
, ReceiptRule
, receiptRule
, rrScanEnabled
, rrEnabled
, rrActions
, rrRecipients
, rrTLSPolicy
, rrName
, ReceiptRuleSetMetadata
, receiptRuleSetMetadata
, rrsmName
, rrsmCreatedTimestamp
, RecipientDsnFields
, recipientDsnFields
, rdfDiagnosticCode
, rdfRemoteMta
, rdfFinalRecipient
, rdfExtensionFields
, rdfLastAttemptDate
, rdfAction
, rdfStatus
, ReputationOptions
, reputationOptions
, roLastFreshStart
, roReputationMetricsEnabled
, roSendingEnabled
, S3Action
, s3Action
, s3KMSKeyARN
, s3TopicARN
, s3ObjectKeyPrefix
, s3BucketName
, SNSAction
, snsAction
, saEncoding
, saTopicARN
, SNSDestination
, snsDestination
, sdTopicARN
, SendDataPoint
, sendDataPoint
, sdpRejects
, sdpComplaints
, sdpDeliveryAttempts
, sdpBounces
, sdpTimestamp
, StopAction
, stopAction
, sTopicARN
, sScope
, Template
, template
, tTextPart
, tSubjectPart
, tHTMLPart
, tTemplateName
, TemplateMetadata
, templateMetadata
, tmName
, tmCreatedTimestamp
, TrackingOptions
, trackingOptions
, toCustomRedirectDomain
, WorkmailAction
, workmailAction
, waTopicARN
, waOrganizationARN
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.SES.Types.Product
import Network.AWS.SES.Types.Sum
import Network.AWS.Sign.V4
ses :: Service
ses =
Service
{ _svcAbbrev = "SES"
, _svcSigner = v4
, _svcPrefix = "email"
, _svcVersion = "2010-12-01"
, _svcEndpoint = defaultEndpoint ses
, _svcTimeout = Just 70
, _svcCheck = statusSuccess
, _svcError = parseXMLError "SES"
, _svcRetry = retry
}
where
retry =
Exponential
{ _retryBase = 5.0e-2
, _retryGrowth = 2
, _retryAttempts = 5
, _retryCheck = check
}
check e
| has (hasCode "ThrottledException" . hasStatus 400) e =
Just "throttled_exception"
| has (hasStatus 429) e = Just "too_many_requests"
| has (hasCode "ThrottlingException" . hasStatus 400) e =
Just "throttling_exception"
| has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"
| has (hasStatus 504) e = Just "gateway_timeout"
| has (hasCode "RequestThrottledException" . hasStatus 400) e =
Just "request_throttled_exception"
| has (hasStatus 502) e = Just "bad_gateway"
| has (hasStatus 503) e = Just "service_unavailable"
| has (hasStatus 500) e = Just "general_server_error"
| has (hasStatus 509) e = Just "limit_exceeded"
| otherwise = Nothing
_InvalidConfigurationSetException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidConfigurationSetException =
_MatchServiceError ses "InvalidConfigurationSet" . hasStatus 400
_InvalidSNSDestinationException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidSNSDestinationException =
_MatchServiceError ses "InvalidSNSDestination" . hasStatus 400
_TemplateDoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError
_TemplateDoesNotExistException =
_MatchServiceError ses "TemplateDoesNotExist" . hasStatus 400
_ConfigurationSetSendingPausedException :: AsError a => Getting (First ServiceError) a ServiceError
_ConfigurationSetSendingPausedException =
_MatchServiceError ses "ConfigurationSetSendingPausedException" .
hasStatus 400
_CannotDeleteException :: AsError a => Getting (First ServiceError) a ServiceError
_CannotDeleteException = _MatchServiceError ses "CannotDelete" . hasStatus 400
_ProductionAccessNotGrantedException :: AsError a => Getting (First ServiceError) a ServiceError
_ProductionAccessNotGrantedException =
_MatchServiceError ses "ProductionAccessNotGranted" . hasStatus 400
_RuleDoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError
_RuleDoesNotExistException =
_MatchServiceError ses "RuleDoesNotExist" . hasStatus 400
_MessageRejected :: AsError a => Getting (First ServiceError) a ServiceError
_MessageRejected = _MatchServiceError ses "MessageRejected" . hasStatus 400
_InvalidRenderingParameterException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidRenderingParameterException =
_MatchServiceError ses "InvalidRenderingParameter" . hasStatus 400
_MissingRenderingAttributeException :: AsError a => Getting (First ServiceError) a ServiceError
_MissingRenderingAttributeException =
_MatchServiceError ses "MissingRenderingAttribute" . hasStatus 400
_FromEmailAddressNotVerifiedException :: AsError a => Getting (First ServiceError) a ServiceError
_FromEmailAddressNotVerifiedException =
_MatchServiceError ses "FromEmailAddressNotVerified" . hasStatus 400
_RuleSetDoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError
_RuleSetDoesNotExistException =
_MatchServiceError ses "RuleSetDoesNotExist" . hasStatus 400
_MailFromDomainNotVerifiedException :: AsError a => Getting (First ServiceError) a ServiceError
_MailFromDomainNotVerifiedException =
_MatchServiceError ses "MailFromDomainNotVerifiedException" . hasStatus 400
_InvalidFirehoseDestinationException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidFirehoseDestinationException =
_MatchServiceError ses "InvalidFirehoseDestination" . hasStatus 400
_ConfigurationSetAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError
_ConfigurationSetAlreadyExistsException =
_MatchServiceError ses "ConfigurationSetAlreadyExists" . hasStatus 400
_CustomVerificationEmailInvalidContentException :: AsError a => Getting (First ServiceError) a ServiceError
_CustomVerificationEmailInvalidContentException =
_MatchServiceError ses "CustomVerificationEmailInvalidContent" . hasStatus 400
_InvalidTrackingOptionsException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidTrackingOptionsException =
_MatchServiceError ses "InvalidTrackingOptions" . hasStatus 400
_AccountSendingPausedException :: AsError a => Getting (First ServiceError) a ServiceError
_AccountSendingPausedException =
_MatchServiceError ses "AccountSendingPausedException" . hasStatus 400
_EventDestinationDoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError
_EventDestinationDoesNotExistException =
_MatchServiceError ses "EventDestinationDoesNotExist" . hasStatus 400
_CustomVerificationEmailTemplateAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError
_CustomVerificationEmailTemplateAlreadyExistsException =
_MatchServiceError ses "CustomVerificationEmailTemplateAlreadyExists" .
hasStatus 400
_CustomVerificationEmailTemplateDoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError
_CustomVerificationEmailTemplateDoesNotExistException =
_MatchServiceError ses "CustomVerificationEmailTemplateDoesNotExist" .
hasStatus 400
_InvalidCloudWatchDestinationException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidCloudWatchDestinationException =
_MatchServiceError ses "InvalidCloudWatchDestination" . hasStatus 400
_InvalidLambdaFunctionException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidLambdaFunctionException =
_MatchServiceError ses "InvalidLambdaFunction" . hasStatus 400
_TrackingOptionsDoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError
_TrackingOptionsDoesNotExistException =
_MatchServiceError ses "TrackingOptionsDoesNotExistException" . hasStatus 400
_InvalidTemplateException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidTemplateException =
_MatchServiceError ses "InvalidTemplate" . hasStatus 400
_ConfigurationSetDoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError
_ConfigurationSetDoesNotExistException =
_MatchServiceError ses "ConfigurationSetDoesNotExist" . hasStatus 400
_InvalidPolicyException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidPolicyException = _MatchServiceError ses "InvalidPolicy" . hasStatus 400
_InvalidS3ConfigurationException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidS3ConfigurationException =
_MatchServiceError ses "InvalidS3Configuration" . hasStatus 400
_TrackingOptionsAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError
_TrackingOptionsAlreadyExistsException =
_MatchServiceError ses "TrackingOptionsAlreadyExistsException" . hasStatus 400
_InvalidSNSTopicException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidSNSTopicException =
_MatchServiceError ses "InvalidSnsTopic" . hasStatus 400
_EventDestinationAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError
_EventDestinationAlreadyExistsException =
_MatchServiceError ses "EventDestinationAlreadyExists" . hasStatus 400
_AlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError
_AlreadyExistsException = _MatchServiceError ses "AlreadyExists" . hasStatus 400
_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
_LimitExceededException = _MatchServiceError ses "LimitExceeded" . hasStatus 400