# Copyright (c) 2012-2025, Mark Peek <mark@peek.org>
# All rights reserved.
#
# See LICENSE file for full license.
#
# *** Do not modify - this file is autogenerated ***
from . import AWSObject, AWSProperty, PropsDictType, Tags
from .validators import boolean, double, integer
[docs]class ArchivingOptions(AWSProperty):
"""
`ArchivingOptions <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-archivingoptions.html>`__
"""
props: PropsDictType = {
"ArchiveArn": (str, False),
}
[docs]class DeliveryOptions(AWSProperty):
"""
`DeliveryOptions <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-deliveryoptions.html>`__
"""
props: PropsDictType = {
"MaxDeliverySeconds": (double, False),
"SendingPoolName": (str, False),
"TlsPolicy": (str, False),
}
[docs]class ReputationOptions(AWSProperty):
"""
`ReputationOptions <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-reputationoptions.html>`__
"""
props: PropsDictType = {
"ReputationMetricsEnabled": (boolean, False),
}
[docs]class SendingOptions(AWSProperty):
"""
`SendingOptions <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-sendingoptions.html>`__
"""
props: PropsDictType = {
"SendingEnabled": (boolean, False),
}
[docs]class OverallConfidenceThreshold(AWSProperty):
"""
`OverallConfidenceThreshold <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-overallconfidencethreshold.html>`__
"""
props: PropsDictType = {
"ConfidenceVerdictThreshold": (str, True),
}
[docs]class ConditionThreshold(AWSProperty):
"""
`ConditionThreshold <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-conditionthreshold.html>`__
"""
props: PropsDictType = {
"ConditionThresholdEnabled": (str, True),
"OverallConfidenceThreshold": (OverallConfidenceThreshold, False),
}
[docs]class ValidationOptions(AWSProperty):
"""
`ValidationOptions <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-validationoptions.html>`__
"""
props: PropsDictType = {
"ConditionThreshold": (ConditionThreshold, True),
}
[docs]class SuppressionOptions(AWSProperty):
"""
`SuppressionOptions <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-suppressionoptions.html>`__
"""
props: PropsDictType = {
"SuppressedReasons": ([str], False),
"ValidationOptions": (ValidationOptions, False),
}
[docs]class TrackingOptions(AWSProperty):
"""
`TrackingOptions <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-trackingoptions.html>`__
"""
props: PropsDictType = {
"CustomRedirectDomain": (str, False),
"HttpsPolicy": (str, False),
}
[docs]class DashboardOptions(AWSProperty):
"""
`DashboardOptions <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-dashboardoptions.html>`__
"""
props: PropsDictType = {
"EngagementMetrics": (str, True),
}
[docs]class GuardianOptions(AWSProperty):
"""
`GuardianOptions <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-guardianoptions.html>`__
"""
props: PropsDictType = {
"OptimizedSharedDelivery": (str, True),
}
[docs]class VdmOptions(AWSProperty):
"""
`VdmOptions <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-vdmoptions.html>`__
"""
props: PropsDictType = {
"DashboardOptions": (DashboardOptions, False),
"GuardianOptions": (GuardianOptions, False),
}
[docs]class ConfigurationSet(AWSObject):
"""
`ConfigurationSet <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationset.html>`__
"""
resource_type = "AWS::SES::ConfigurationSet"
props: PropsDictType = {
"ArchivingOptions": (ArchivingOptions, False),
"DeliveryOptions": (DeliveryOptions, False),
"Name": (str, False),
"ReputationOptions": (ReputationOptions, False),
"SendingOptions": (SendingOptions, False),
"SuppressionOptions": (SuppressionOptions, False),
"Tags": (Tags, False),
"TrackingOptions": (TrackingOptions, False),
"VdmOptions": (VdmOptions, False),
}
[docs]class DimensionConfiguration(AWSProperty):
"""
`DimensionConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-dimensionconfiguration.html>`__
"""
props: PropsDictType = {
"DefaultDimensionValue": (str, True),
"DimensionName": (str, True),
"DimensionValueSource": (str, True),
}
[docs]class CloudWatchDestination(AWSProperty):
"""
`CloudWatchDestination <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-cloudwatchdestination.html>`__
"""
props: PropsDictType = {
"DimensionConfigurations": ([DimensionConfiguration], False),
}
[docs]class EventBridgeDestination(AWSProperty):
"""
`EventBridgeDestination <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-eventbridgedestination.html>`__
"""
props: PropsDictType = {
"EventBusArn": (str, True),
}
[docs]class KinesisFirehoseDestination(AWSProperty):
"""
`KinesisFirehoseDestination <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-kinesisfirehosedestination.html>`__
"""
props: PropsDictType = {
"DeliveryStreamARN": (str, True),
"IAMRoleARN": (str, True),
}
[docs]class SnsDestination(AWSProperty):
"""
`SnsDestination <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-snsdestination.html>`__
"""
props: PropsDictType = {
"TopicARN": (str, True),
}
[docs]class EventDestination(AWSProperty):
"""
`EventDestination <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-eventdestination.html>`__
"""
props: PropsDictType = {
"CloudWatchDestination": (CloudWatchDestination, False),
"Enabled": (boolean, False),
"EventBridgeDestination": (EventBridgeDestination, False),
"KinesisFirehoseDestination": (KinesisFirehoseDestination, False),
"MatchingEventTypes": ([str], True),
"Name": (str, False),
"SnsDestination": (SnsDestination, False),
}
[docs]class ConfigurationSetEventDestination(AWSObject):
"""
`ConfigurationSetEventDestination <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationseteventdestination.html>`__
"""
resource_type = "AWS::SES::ConfigurationSetEventDestination"
props: PropsDictType = {
"ConfigurationSetName": (str, True),
"EventDestination": (EventDestination, True),
}
[docs]class Topic(AWSProperty):
"""
`Topic <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-contactlist-topic.html>`__
"""
props: PropsDictType = {
"DefaultSubscriptionStatus": (str, True),
"Description": (str, False),
"DisplayName": (str, True),
"TopicName": (str, True),
}
[docs]class CustomVerificationEmailTemplate(AWSObject):
"""
`CustomVerificationEmailTemplate <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-customverificationemailtemplate.html>`__
"""
resource_type = "AWS::SES::CustomVerificationEmailTemplate"
props: PropsDictType = {
"FailureRedirectionURL": (str, True),
"FromEmailAddress": (str, True),
"SuccessRedirectionURL": (str, True),
"Tags": (Tags, False),
"TemplateContent": (str, True),
"TemplateName": (str, True),
"TemplateSubject": (str, True),
}
[docs]class DedicatedIpPool(AWSObject):
"""
`DedicatedIpPool <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-dedicatedippool.html>`__
"""
resource_type = "AWS::SES::DedicatedIpPool"
props: PropsDictType = {
"PoolName": (str, False),
"ScalingMode": (str, False),
"Tags": (Tags, False),
}
[docs]class ConfigurationSetAttributes(AWSProperty):
"""
`ConfigurationSetAttributes <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-emailidentity-configurationsetattributes.html>`__
"""
props: PropsDictType = {
"ConfigurationSetName": (str, False),
}
[docs]class DkimAttributes(AWSProperty):
"""
`DkimAttributes <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-emailidentity-dkimattributes.html>`__
"""
props: PropsDictType = {
"SigningEnabled": (boolean, False),
}
[docs]class DkimSigningAttributes(AWSProperty):
"""
`DkimSigningAttributes <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-emailidentity-dkimsigningattributes.html>`__
"""
props: PropsDictType = {
"DomainSigningPrivateKey": (str, False),
"DomainSigningSelector": (str, False),
"NextSigningKeyLength": (str, False),
}
[docs]class FeedbackAttributes(AWSProperty):
"""
`FeedbackAttributes <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-emailidentity-feedbackattributes.html>`__
"""
props: PropsDictType = {
"EmailForwardingEnabled": (boolean, False),
}
[docs]class MailFromAttributes(AWSProperty):
"""
`MailFromAttributes <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-emailidentity-mailfromattributes.html>`__
"""
props: PropsDictType = {
"BehaviorOnMxFailure": (str, False),
"MailFromDomain": (str, False),
}
[docs]class EmailIdentity(AWSObject):
"""
`EmailIdentity <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-emailidentity.html>`__
"""
resource_type = "AWS::SES::EmailIdentity"
props: PropsDictType = {
"ConfigurationSetAttributes": (ConfigurationSetAttributes, False),
"DkimAttributes": (DkimAttributes, False),
"DkimSigningAttributes": (DkimSigningAttributes, False),
"EmailIdentity": (str, True),
"FeedbackAttributes": (FeedbackAttributes, False),
"MailFromAttributes": (MailFromAttributes, False),
"Tags": (Tags, False),
}
[docs]class MailManagerAddonInstance(AWSObject):
"""
`MailManagerAddonInstance <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageraddoninstance.html>`__
"""
resource_type = "AWS::SES::MailManagerAddonInstance"
props: PropsDictType = {
"AddonSubscriptionId": (str, True),
"Tags": (Tags, False),
}
[docs]class MailManagerAddonSubscription(AWSObject):
"""
`MailManagerAddonSubscription <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageraddonsubscription.html>`__
"""
resource_type = "AWS::SES::MailManagerAddonSubscription"
props: PropsDictType = {
"AddonName": (str, True),
"Tags": (Tags, False),
}
[docs]class MailManagerAddressList(AWSObject):
"""
`MailManagerAddressList <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageraddresslist.html>`__
"""
resource_type = "AWS::SES::MailManagerAddressList"
props: PropsDictType = {
"AddressListName": (str, False),
"Tags": (Tags, False),
}
[docs]class ArchiveRetention(AWSProperty):
"""
`ArchiveRetention <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerarchive-archiveretention.html>`__
"""
props: PropsDictType = {
"RetentionPeriod": (str, True),
}
[docs]class MailManagerArchive(AWSObject):
"""
`MailManagerArchive <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagerarchive.html>`__
"""
resource_type = "AWS::SES::MailManagerArchive"
props: PropsDictType = {
"ArchiveName": (str, False),
"KmsKeyArn": (str, False),
"Retention": (ArchiveRetention, False),
"Tags": (Tags, False),
}
[docs]class TrustStore(AWSProperty):
"""
`TrustStore <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanageringresspoint-truststore.html>`__
"""
props: PropsDictType = {
"CAContent": (str, True),
"CrlContent": (str, False),
"KmsKeyArn": (str, False),
}
[docs]class TlsAuthConfiguration(AWSProperty):
"""
`TlsAuthConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanageringresspoint-tlsauthconfiguration.html>`__
"""
props: PropsDictType = {
"TrustStore": (TrustStore, True),
}
[docs]class IngressPointConfiguration(AWSProperty):
"""
`IngressPointConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanageringresspoint-ingresspointconfiguration.html>`__
"""
props: PropsDictType = {
"SecretArn": (str, False),
"SmtpPassword": (str, False),
"TlsAuthConfiguration": (TlsAuthConfiguration, False),
}
[docs]class PrivateNetworkConfiguration(AWSProperty):
"""
`PrivateNetworkConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanageringresspoint-privatenetworkconfiguration.html>`__
"""
props: PropsDictType = {
"VpcEndpointId": (str, True),
}
[docs]class PublicNetworkConfiguration(AWSProperty):
"""
`PublicNetworkConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanageringresspoint-publicnetworkconfiguration.html>`__
"""
props: PropsDictType = {
"IpType": (dict, True),
}
[docs]class NetworkConfiguration(AWSProperty):
"""
`NetworkConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanageringresspoint-networkconfiguration.html>`__
"""
props: PropsDictType = {
"PrivateNetworkConfiguration": (PrivateNetworkConfiguration, False),
"PublicNetworkConfiguration": (PublicNetworkConfiguration, False),
}
[docs]class MailManagerIngressPoint(AWSObject):
"""
`MailManagerIngressPoint <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageringresspoint.html>`__
"""
resource_type = "AWS::SES::MailManagerIngressPoint"
props: PropsDictType = {
"IngressPointConfiguration": (IngressPointConfiguration, False),
"IngressPointName": (str, False),
"NetworkConfiguration": (NetworkConfiguration, False),
"RuleSetId": (str, True),
"StatusToUpdate": (str, False),
"Tags": (Tags, False),
"TlsPolicy": (str, False),
"TrafficPolicyId": (str, True),
"Type": (str, True),
}
[docs]class RelayAuthentication(AWSProperty):
"""
`RelayAuthentication <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerrelay-relayauthentication.html>`__
"""
props: PropsDictType = {
"NoAuthentication": (dict, False),
"SecretArn": (str, False),
}
[docs]class MailManagerRelay(AWSObject):
"""
`MailManagerRelay <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagerrelay.html>`__
"""
resource_type = "AWS::SES::MailManagerRelay"
props: PropsDictType = {
"Authentication": (RelayAuthentication, True),
"RelayName": (str, False),
"ServerName": (str, True),
"ServerPort": (double, True),
"Tags": (Tags, False),
}
[docs]class ArchiveAction(AWSProperty):
"""
`ArchiveAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-archiveaction.html>`__
"""
props: PropsDictType = {
"ActionFailurePolicy": (str, False),
"TargetArchive": (str, True),
}
[docs]class BounceAction(AWSProperty):
"""
`BounceAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-bounceaction.html>`__
"""
props: PropsDictType = {
"Message": (str, True),
"Sender": (str, True),
"SmtpReplyCode": (str, True),
"StatusCode": (str, False),
"TopicArn": (str, False),
}
[docs]class DeliverToMailboxAction(AWSProperty):
"""
`DeliverToMailboxAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-delivertomailboxaction.html>`__
"""
props: PropsDictType = {
"ActionFailurePolicy": (str, False),
"MailboxArn": (str, True),
"RoleArn": (str, True),
}
[docs]class DeliverToQBusinessAction(AWSProperty):
"""
`DeliverToQBusinessAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-delivertoqbusinessaction.html>`__
"""
props: PropsDictType = {
"ActionFailurePolicy": (str, False),
"ApplicationId": (str, True),
"IndexId": (str, True),
"RoleArn": (str, True),
}
[docs]class InvokeLambdaAction(AWSProperty):
"""
`InvokeLambdaAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-invokelambdaaction.html>`__
"""
props: PropsDictType = {
"ActionFailurePolicy": (str, False),
"FunctionArn": (str, True),
"InvocationType": (str, True),
"RetryTimeMinutes": (integer, False),
"RoleArn": (str, True),
}
[docs]class MailManagerS3Action(AWSProperty):
"""
`MailManagerS3Action <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-s3action.html>`__
"""
props: PropsDictType = {
"ActionFailurePolicy": (str, False),
"RoleArn": (str, True),
"S3Bucket": (str, True),
"S3Prefix": (str, False),
"S3SseKmsKeyId": (str, False),
}
[docs]class RelayAction(AWSProperty):
"""
`RelayAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-relayaction.html>`__
"""
props: PropsDictType = {
"ActionFailurePolicy": (str, False),
"MailFrom": (str, False),
"Relay": (str, True),
}
[docs]class ReplaceRecipientAction(AWSProperty):
"""
`ReplaceRecipientAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-replacerecipientaction.html>`__
"""
props: PropsDictType = {
"ReplaceWith": ([str], False),
}
[docs]class SendAction(AWSProperty):
"""
`SendAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-sendaction.html>`__
"""
props: PropsDictType = {
"ActionFailurePolicy": (str, False),
"RoleArn": (str, True),
}
[docs]class SnsAction(AWSProperty):
"""
`SnsAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-snsaction.html>`__
"""
props: PropsDictType = {
"ActionFailurePolicy": (str, False),
"Encoding": (str, False),
"PayloadType": (str, False),
"RoleArn": (str, True),
"TopicArn": (str, True),
}
[docs]class RuleAction(AWSProperty):
"""
`RuleAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-ruleaction.html>`__
"""
props: PropsDictType = {
"AddHeader": (AddHeaderAction, False),
"Archive": (ArchiveAction, False),
"Bounce": (BounceAction, False),
"DeliverToMailbox": (DeliverToMailboxAction, False),
"DeliverToQBusiness": (DeliverToQBusinessAction, False),
"Drop": (dict, False),
"InvokeLambda": (InvokeLambdaAction, False),
"PublishToSns": (SnsAction, False),
"Relay": (RelayAction, False),
"ReplaceRecipient": (ReplaceRecipientAction, False),
"Send": (SendAction, False),
"WriteToS3": (MailManagerS3Action, False),
}
[docs]class Analysis(AWSProperty):
"""
`Analysis <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-analysis.html>`__
"""
props: PropsDictType = {
"Analyzer": (str, True),
"ResultField": (str, True),
}
[docs]class RuleIsInAddressList(AWSProperty):
"""
`RuleIsInAddressList <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-ruleisinaddresslist.html>`__
"""
props: PropsDictType = {
"AddressLists": ([str], True),
"Attribute": (str, True),
}
[docs]class RuleBooleanToEvaluate(AWSProperty):
"""
`RuleBooleanToEvaluate <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-rulebooleantoevaluate.html>`__
"""
props: PropsDictType = {
"Analysis": (Analysis, False),
"Attribute": (str, False),
"IsInAddressList": (RuleIsInAddressList, False),
}
[docs]class RuleBooleanExpression(AWSProperty):
"""
`RuleBooleanExpression <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-rulebooleanexpression.html>`__
"""
props: PropsDictType = {
"Evaluate": (RuleBooleanToEvaluate, True),
"Operator": (str, True),
}
[docs]class RuleDmarcExpression(AWSProperty):
"""
`RuleDmarcExpression <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-ruledmarcexpression.html>`__
"""
props: PropsDictType = {
"Operator": (str, True),
"Values": ([str], True),
}
[docs]class RuleIpToEvaluate(AWSProperty):
"""
`RuleIpToEvaluate <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-ruleiptoevaluate.html>`__
"""
props: PropsDictType = {
"Attribute": (str, True),
}
[docs]class RuleIpExpression(AWSProperty):
"""
`RuleIpExpression <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-ruleipexpression.html>`__
"""
props: PropsDictType = {
"Evaluate": (RuleIpToEvaluate, True),
"Operator": (str, True),
"Values": ([str], True),
}
[docs]class RuleNumberToEvaluate(AWSProperty):
"""
`RuleNumberToEvaluate <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-rulenumbertoevaluate.html>`__
"""
props: PropsDictType = {
"Attribute": (str, True),
}
[docs]class RuleNumberExpression(AWSProperty):
"""
`RuleNumberExpression <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-rulenumberexpression.html>`__
"""
props: PropsDictType = {
"Evaluate": (RuleNumberToEvaluate, True),
"Operator": (str, True),
"Value": (double, True),
}
[docs]class RuleStringToEvaluate(AWSProperty):
"""
`RuleStringToEvaluate <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-rulestringtoevaluate.html>`__
"""
props: PropsDictType = {
"Analysis": (Analysis, False),
"Attribute": (str, False),
"ClientCertificateAttribute": (str, False),
"MimeHeaderAttribute": (str, False),
}
[docs]class RuleStringExpression(AWSProperty):
"""
`RuleStringExpression <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-rulestringexpression.html>`__
"""
props: PropsDictType = {
"Evaluate": (RuleStringToEvaluate, True),
"Operator": (str, True),
"Values": ([str], True),
}
[docs]class RuleVerdictToEvaluate(AWSProperty):
"""
`RuleVerdictToEvaluate <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-ruleverdicttoevaluate.html>`__
"""
props: PropsDictType = {
"Analysis": (Analysis, False),
"Attribute": (str, False),
}
[docs]class RuleVerdictExpression(AWSProperty):
"""
`RuleVerdictExpression <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-ruleverdictexpression.html>`__
"""
props: PropsDictType = {
"Evaluate": (RuleVerdictToEvaluate, True),
"Operator": (str, True),
"Values": ([str], True),
}
[docs]class RuleCondition(AWSProperty):
"""
`RuleCondition <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-rulecondition.html>`__
"""
props: PropsDictType = {
"BooleanExpression": (RuleBooleanExpression, False),
"DmarcExpression": (RuleDmarcExpression, False),
"IpExpression": (RuleIpExpression, False),
"NumberExpression": (RuleNumberExpression, False),
"StringExpression": (RuleStringExpression, False),
"VerdictExpression": (RuleVerdictExpression, False),
}
[docs]class MailManagerRule(AWSProperty):
"""
`MailManagerRule <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-rule.html>`__
"""
props: PropsDictType = {
"Actions": ([RuleAction], True),
"Conditions": ([RuleCondition], False),
"Name": (str, False),
"Unless": ([RuleCondition], False),
}
[docs]class MailManagerRuleSet(AWSObject):
"""
`MailManagerRuleSet <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagerruleset.html>`__
"""
resource_type = "AWS::SES::MailManagerRuleSet"
props: PropsDictType = {
"RuleSetName": (str, False),
"Rules": ([MailManagerRule], True),
"Tags": (Tags, False),
}
[docs]class IngressAnalysis(AWSProperty):
"""
`IngressAnalysis <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-ingressanalysis.html>`__
"""
props: PropsDictType = {
"Analyzer": (str, True),
"ResultField": (str, True),
}
[docs]class IngressIsInAddressList(AWSProperty):
"""
`IngressIsInAddressList <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-ingressisinaddresslist.html>`__
"""
props: PropsDictType = {
"AddressLists": ([str], True),
"Attribute": (str, True),
}
[docs]class IngressBooleanToEvaluate(AWSProperty):
"""
`IngressBooleanToEvaluate <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-ingressbooleantoevaluate.html>`__
"""
props: PropsDictType = {
"Analysis": (IngressAnalysis, False),
"IsInAddressList": (IngressIsInAddressList, False),
}
[docs]class IngressBooleanExpression(AWSProperty):
"""
`IngressBooleanExpression <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-ingressbooleanexpression.html>`__
"""
props: PropsDictType = {
"Evaluate": (IngressBooleanToEvaluate, True),
"Operator": (str, True),
}
[docs]class IngressIpToEvaluate(AWSProperty):
"""
`IngressIpToEvaluate <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-ingressiptoevaluate.html>`__
"""
props: PropsDictType = {
"Attribute": (str, True),
}
[docs]class IngressIpv4Expression(AWSProperty):
"""
`IngressIpv4Expression <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-ingressipv4expression.html>`__
"""
props: PropsDictType = {
"Evaluate": (IngressIpToEvaluate, True),
"Operator": (str, True),
"Values": ([str], True),
}
[docs]class IngressIpv6ToEvaluate(AWSProperty):
"""
`IngressIpv6ToEvaluate <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-ingressipv6toevaluate.html>`__
"""
props: PropsDictType = {
"Attribute": (str, True),
}
[docs]class IngressIpv6Expression(AWSProperty):
"""
`IngressIpv6Expression <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-ingressipv6expression.html>`__
"""
props: PropsDictType = {
"Evaluate": (IngressIpv6ToEvaluate, True),
"Operator": (str, True),
"Values": ([str], True),
}
[docs]class IngressStringToEvaluate(AWSProperty):
"""
`IngressStringToEvaluate <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-ingressstringtoevaluate.html>`__
"""
props: PropsDictType = {
"Analysis": (IngressAnalysis, False),
"Attribute": (str, False),
}
[docs]class IngressStringExpression(AWSProperty):
"""
`IngressStringExpression <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-ingressstringexpression.html>`__
"""
props: PropsDictType = {
"Evaluate": (IngressStringToEvaluate, True),
"Operator": (str, True),
"Values": ([str], True),
}
[docs]class IngressTlsProtocolToEvaluate(AWSProperty):
"""
`IngressTlsProtocolToEvaluate <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-ingresstlsprotocoltoevaluate.html>`__
"""
props: PropsDictType = {
"Attribute": (str, True),
}
[docs]class IngressTlsProtocolExpression(AWSProperty):
"""
`IngressTlsProtocolExpression <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-ingresstlsprotocolexpression.html>`__
"""
props: PropsDictType = {
"Evaluate": (IngressTlsProtocolToEvaluate, True),
"Operator": (str, True),
"Value": (str, True),
}
[docs]class PolicyCondition(AWSProperty):
"""
`PolicyCondition <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-policycondition.html>`__
"""
props: PropsDictType = {
"BooleanExpression": (IngressBooleanExpression, False),
"IpExpression": (IngressIpv4Expression, False),
"Ipv6Expression": (IngressIpv6Expression, False),
"StringExpression": (IngressStringExpression, False),
"TlsExpression": (IngressTlsProtocolExpression, False),
}
[docs]class PolicyStatement(AWSProperty):
"""
`PolicyStatement <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-policystatement.html>`__
"""
props: PropsDictType = {
"Action": (str, True),
"Conditions": ([PolicyCondition], True),
}
[docs]class MailManagerTrafficPolicy(AWSObject):
"""
`MailManagerTrafficPolicy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagertrafficpolicy.html>`__
"""
resource_type = "AWS::SES::MailManagerTrafficPolicy"
props: PropsDictType = {
"DefaultAction": (str, True),
"MaxMessageSizeBytes": (double, False),
"PolicyStatements": ([PolicyStatement], True),
"Tags": (Tags, False),
"TrafficPolicyName": (str, False),
}
[docs]class RouteDetailsItems(AWSProperty):
"""
`RouteDetailsItems <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-multiregionendpoint-routedetailsitems.html>`__
"""
props: PropsDictType = {
"Region": (str, True),
}
[docs]class Details(AWSProperty):
"""
`Details <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-multiregionendpoint-details.html>`__
"""
props: PropsDictType = {
"RouteDetails": ([RouteDetailsItems], True),
}
[docs]class MultiRegionEndpoint(AWSObject):
"""
`MultiRegionEndpoint <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-multiregionendpoint.html>`__
"""
resource_type = "AWS::SES::MultiRegionEndpoint"
props: PropsDictType = {
"Details": (Details, True),
"EndpointName": (str, True),
"Tags": (Tags, False),
}
[docs]class IpFilter(AWSProperty):
"""
`IpFilter <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptfilter-ipfilter.html>`__
"""
props: PropsDictType = {
"Cidr": (str, True),
"Policy": (str, True),
}
[docs]class Filter(AWSProperty):
"""
`Filter <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptfilter-filter.html>`__
"""
props: PropsDictType = {
"IpFilter": (IpFilter, True),
"Name": (str, False),
}
[docs]class ReceiptFilter(AWSObject):
"""
`ReceiptFilter <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptfilter.html>`__
"""
resource_type = "AWS::SES::ReceiptFilter"
props: PropsDictType = {
"Filter": (Filter, True),
}
[docs]class ConnectAction(AWSProperty):
"""
`ConnectAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-connectaction.html>`__
"""
props: PropsDictType = {
"IAMRoleARN": (str, True),
"InstanceARN": (str, True),
}
[docs]class LambdaAction(AWSProperty):
"""
`LambdaAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-lambdaaction.html>`__
"""
props: PropsDictType = {
"FunctionArn": (str, True),
"InvocationType": (str, False),
"TopicArn": (str, False),
}
[docs]class S3Action(AWSProperty):
"""
`S3Action <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-s3action.html>`__
"""
props: PropsDictType = {
"BucketName": (str, True),
"IamRoleArn": (str, False),
"KmsKeyArn": (str, False),
"ObjectKeyPrefix": (str, False),
"TopicArn": (str, False),
}
[docs]class SNSAction(AWSProperty):
"""
`SNSAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-snsaction.html>`__
"""
props: PropsDictType = {
"Encoding": (str, False),
"TopicArn": (str, False),
}
[docs]class StopAction(AWSProperty):
"""
`StopAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-stopaction.html>`__
"""
props: PropsDictType = {
"Scope": (str, True),
"TopicArn": (str, False),
}
[docs]class WorkmailAction(AWSProperty):
"""
`WorkmailAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-workmailaction.html>`__
"""
props: PropsDictType = {
"OrganizationArn": (str, True),
"TopicArn": (str, False),
}
[docs]class Action(AWSProperty):
"""
`Action <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-action.html>`__
"""
props: PropsDictType = {
"AddHeaderAction": (AddHeaderAction, False),
"BounceAction": (BounceAction, False),
"ConnectAction": (ConnectAction, False),
"LambdaAction": (LambdaAction, False),
"S3Action": (S3Action, False),
"SNSAction": (SNSAction, False),
"StopAction": (StopAction, False),
"WorkmailAction": (WorkmailAction, False),
}
[docs]class Rule(AWSProperty):
"""
`Rule <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-rule.html>`__
"""
props: PropsDictType = {
"Actions": ([Action], False),
"Enabled": (boolean, False),
"Name": (str, False),
"Recipients": ([str], False),
"ScanEnabled": (boolean, False),
"TlsPolicy": (str, False),
}
[docs]class ReceiptRule(AWSObject):
"""
`ReceiptRule <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptrule.html>`__
"""
resource_type = "AWS::SES::ReceiptRule"
props: PropsDictType = {
"After": (str, False),
"Rule": (Rule, True),
"RuleSetName": (str, True),
}
[docs]class ReceiptRuleSet(AWSObject):
"""
`ReceiptRuleSet <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptruleset.html>`__
"""
resource_type = "AWS::SES::ReceiptRuleSet"
props: PropsDictType = {
"RuleSetName": (str, False),
}
[docs]class EmailTemplate(AWSProperty):
"""
`EmailTemplate <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-template-template.html>`__
"""
props: PropsDictType = {
"HtmlPart": (str, False),
"SubjectPart": (str, True),
"TemplateName": (str, False),
"TextPart": (str, False),
}
[docs]class Template(AWSObject):
"""
`Template <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-template.html>`__
"""
resource_type = "AWS::SES::Template"
props: PropsDictType = {
"Tags": (Tags, False),
"Template": (EmailTemplate, False),
}
[docs]class ResourceAssociation(AWSProperty):
"""
`ResourceAssociation <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-tenant-resourceassociation.html>`__
"""
props: PropsDictType = {
"ResourceArn": (str, True),
}
[docs]class Tenant(AWSObject):
"""
`Tenant <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-tenant.html>`__
"""
resource_type = "AWS::SES::Tenant"
props: PropsDictType = {
"ResourceAssociations": ([ResourceAssociation], False),
"Tags": (Tags, False),
"TenantName": (str, True),
}
[docs]class DashboardAttributes(AWSProperty):
"""
`DashboardAttributes <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-vdmattributes-dashboardattributes.html>`__
"""
props: PropsDictType = {
"EngagementMetrics": (str, False),
}
[docs]class GuardianAttributes(AWSProperty):
"""
`GuardianAttributes <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-vdmattributes-guardianattributes.html>`__
"""
props: PropsDictType = {
"OptimizedSharedDelivery": (str, False),
}
[docs]class VdmAttributes(AWSObject):
"""
`VdmAttributes <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-vdmattributes.html>`__
"""
resource_type = "AWS::SES::VdmAttributes"
props: PropsDictType = {
"DashboardAttributes": (DashboardAttributes, False),
"GuardianAttributes": (GuardianAttributes, False),
}