Class: AWSCDK::SES::CfnMailManagerRuleSet::RuleActionProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
ses/cfn_mail_manager_rule_set.rb

Overview

The action for a rule to take. Only one of the contained actions can be set.

This data type is a UNION, so only one of the following members can be specified when used or returned.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(add_header: nil, archive: nil, bounce: nil, deliver_to_mailbox: nil, deliver_to_q_business: nil, drop: nil, invoke_lambda: nil, publish_to_sns: nil, relay: nil, replace_recipient: nil, _send: nil, write_to_s3: nil) ⇒ RuleActionProperty

Returns a new instance of RuleActionProperty.

Parameters:



1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
# File 'ses/cfn_mail_manager_rule_set.rb', line 1079

def initialize(add_header: nil, archive: nil, bounce: nil, deliver_to_mailbox: nil, deliver_to_q_business: nil, drop: nil, invoke_lambda: nil, publish_to_sns: nil, relay: nil, replace_recipient: nil, _send: nil, write_to_s3: nil)
  @add_header = add_header.is_a?(Hash) ? ::AWSCDK::SES::CfnMailManagerRuleSet::AddHeaderActionProperty.new(**add_header.transform_keys(&:to_sym)) : add_header
  Jsii::Type.check_type(@add_header, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zZXMuQ2ZuTWFpbE1hbmFnZXJSdWxlU2V0LkFkZEhlYWRlckFjdGlvblByb3BlcnR5In1dfX0=")), "addHeader") unless @add_header.nil?
  @archive = archive.is_a?(Hash) ? ::AWSCDK::SES::CfnMailManagerRuleSet::ArchiveActionProperty.new(**archive.transform_keys(&:to_sym)) : archive
  Jsii::Type.check_type(@archive, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zZXMuQ2ZuTWFpbE1hbmFnZXJSdWxlU2V0LkFyY2hpdmVBY3Rpb25Qcm9wZXJ0eSJ9XX19")), "archive") unless @archive.nil?
  @bounce = bounce.is_a?(Hash) ? ::AWSCDK::SES::CfnMailManagerRuleSet::BounceActionProperty.new(**bounce.transform_keys(&:to_sym)) : bounce
  Jsii::Type.check_type(@bounce, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zZXMuQ2ZuTWFpbE1hbmFnZXJSdWxlU2V0LkJvdW5jZUFjdGlvblByb3BlcnR5In1dfX0=")), "bounce") unless @bounce.nil?
  @deliver_to_mailbox = deliver_to_mailbox.is_a?(Hash) ? ::AWSCDK::SES::CfnMailManagerRuleSet::DeliverToMailboxActionProperty.new(**deliver_to_mailbox.transform_keys(&:to_sym)) : deliver_to_mailbox
  Jsii::Type.check_type(@deliver_to_mailbox, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zZXMuQ2ZuTWFpbE1hbmFnZXJSdWxlU2V0LkRlbGl2ZXJUb01haWxib3hBY3Rpb25Qcm9wZXJ0eSJ9XX19")), "deliverToMailbox") unless @deliver_to_mailbox.nil?
  @deliver_to_q_business = deliver_to_q_business.is_a?(Hash) ? ::AWSCDK::SES::CfnMailManagerRuleSet::DeliverToQBusinessActionProperty.new(**deliver_to_q_business.transform_keys(&:to_sym)) : deliver_to_q_business
  Jsii::Type.check_type(@deliver_to_q_business, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zZXMuQ2ZuTWFpbE1hbmFnZXJSdWxlU2V0LkRlbGl2ZXJUb1FCdXNpbmVzc0FjdGlvblByb3BlcnR5In1dfX0=")), "deliverToQBusiness") unless @deliver_to_q_business.nil?
  @drop = drop
  Jsii::Type.check_type(@drop, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "drop") unless @drop.nil?
  @invoke_lambda = invoke_lambda.is_a?(Hash) ? ::AWSCDK::SES::CfnMailManagerRuleSet::InvokeLambdaActionProperty.new(**invoke_lambda.transform_keys(&:to_sym)) : invoke_lambda
  Jsii::Type.check_type(@invoke_lambda, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zZXMuQ2ZuTWFpbE1hbmFnZXJSdWxlU2V0Lkludm9rZUxhbWJkYUFjdGlvblByb3BlcnR5In1dfX0=")), "invokeLambda") unless @invoke_lambda.nil?
  @publish_to_sns = publish_to_sns.is_a?(Hash) ? ::AWSCDK::SES::CfnMailManagerRuleSet::SNSActionProperty.new(**publish_to_sns.transform_keys(&:to_sym)) : publish_to_sns
  Jsii::Type.check_type(@publish_to_sns, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zZXMuQ2ZuTWFpbE1hbmFnZXJSdWxlU2V0LlNuc0FjdGlvblByb3BlcnR5In1dfX0=")), "publishToSns") unless @publish_to_sns.nil?
  @relay = relay.is_a?(Hash) ? ::AWSCDK::SES::CfnMailManagerRuleSet::RelayActionProperty.new(**relay.transform_keys(&:to_sym)) : relay
  Jsii::Type.check_type(@relay, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zZXMuQ2ZuTWFpbE1hbmFnZXJSdWxlU2V0LlJlbGF5QWN0aW9uUHJvcGVydHkifV19fQ==")), "relay") unless @relay.nil?
  @replace_recipient = replace_recipient.is_a?(Hash) ? ::AWSCDK::SES::CfnMailManagerRuleSet::ReplaceRecipientActionProperty.new(**replace_recipient.transform_keys(&:to_sym)) : replace_recipient
  Jsii::Type.check_type(@replace_recipient, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zZXMuQ2ZuTWFpbE1hbmFnZXJSdWxlU2V0LlJlcGxhY2VSZWNpcGllbnRBY3Rpb25Qcm9wZXJ0eSJ9XX19")), "replaceRecipient") unless @replace_recipient.nil?
  @_send = _send.is_a?(Hash) ? ::AWSCDK::SES::CfnMailManagerRuleSet::SendActionProperty.new(**_send.transform_keys(&:to_sym)) : _send
  Jsii::Type.check_type(@_send, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zZXMuQ2ZuTWFpbE1hbmFnZXJSdWxlU2V0LlNlbmRBY3Rpb25Qcm9wZXJ0eSJ9XX19")), "send") unless @_send.nil?
  @write_to_s3 = write_to_s3.is_a?(Hash) ? ::AWSCDK::SES::CfnMailManagerRuleSet::S3ActionProperty.new(**write_to_s3.transform_keys(&:to_sym)) : write_to_s3
  Jsii::Type.check_type(@write_to_s3, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zZXMuQ2ZuTWFpbE1hbmFnZXJSdWxlU2V0LlMzQWN0aW9uUHJvcGVydHkifV19fQ==")), "writeToS3") unless @write_to_s3.nil?
end

Instance Attribute Details

#_sendAWSCDK::IResolvable, ... (readonly)

This action sends the email to the internet.



1160
1161
1162
# File 'ses/cfn_mail_manager_rule_set.rb', line 1160

def _send
  @_send
end

#add_headerAWSCDK::IResolvable, ... (readonly)

This action adds a header.

This can be used to add arbitrary email headers.



1112
1113
1114
# File 'ses/cfn_mail_manager_rule_set.rb', line 1112

def add_header
  @add_header
end

#archiveAWSCDK::IResolvable, ... (readonly)

This action archives the email.

This can be used to deliver an email to an archive.



1119
1120
1121
# File 'ses/cfn_mail_manager_rule_set.rb', line 1119

def archive
  @archive
end

#deliver_to_mailboxAWSCDK::IResolvable, ... (readonly)

This action delivers an email to a WorkMail mailbox.



1127
1128
1129
# File 'ses/cfn_mail_manager_rule_set.rb', line 1127

def deliver_to_mailbox
  @deliver_to_mailbox
end

#deliver_to_q_businessAWSCDK::IResolvable, ... (readonly)

This action delivers an email to an Amazon Q Business application for ingestion into its knowledge base.



1132
1133
1134
# File 'ses/cfn_mail_manager_rule_set.rb', line 1132

def deliver_to_q_business
  @deliver_to_q_business
end

#dropObject? (readonly)

This action terminates the evaluation of rules in the rule set.



1137
1138
1139
# File 'ses/cfn_mail_manager_rule_set.rb', line 1137

def drop
  @drop
end

#publish_to_snsAWSCDK::IResolvable, ... (readonly)

This action publishes the email content to an Amazon SNS topic.



1145
1146
1147
# File 'ses/cfn_mail_manager_rule_set.rb', line 1145

def publish_to_sns
  @publish_to_sns
end

#relayAWSCDK::IResolvable, ... (readonly)

This action relays the email to another SMTP server.



1150
1151
1152
# File 'ses/cfn_mail_manager_rule_set.rb', line 1150

def relay
  @relay
end

#replace_recipientAWSCDK::IResolvable, ... (readonly)

The action replaces certain or all recipients with a different set of recipients.



1155
1156
1157
# File 'ses/cfn_mail_manager_rule_set.rb', line 1155

def replace_recipient
  @replace_recipient
end

#write_to_s3AWSCDK::IResolvable, ... (readonly)

This action writes the MIME content of the email to an S3 bucket.



1165
1166
1167
# File 'ses/cfn_mail_manager_rule_set.rb', line 1165

def write_to_s3
  @write_to_s3
end

Class Method Details

.jsii_propertiesObject



1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
# File 'ses/cfn_mail_manager_rule_set.rb', line 1167

def self.jsii_properties
  {
    :add_header => "addHeader",
    :archive => "archive",
    :bounce => "bounce",
    :deliver_to_mailbox => "deliverToMailbox",
    :deliver_to_q_business => "deliverToQBusiness",
    :drop => "drop",
    :invoke_lambda => "invokeLambda",
    :publish_to_sns => "publishToSns",
    :relay => "relay",
    :replace_recipient => "replaceRecipient",
    :_send => "send",
    :write_to_s3 => "writeToS3",
  }
end

Instance Method Details

#to_jsiiObject



1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
# File 'ses/cfn_mail_manager_rule_set.rb', line 1184

def to_jsii
  result = {}
  result.merge!({
    "addHeader" => @add_header,
    "archive" => @archive,
    "bounce" => @bounce,
    "deliverToMailbox" => @deliver_to_mailbox,
    "deliverToQBusiness" => @deliver_to_q_business,
    "drop" => @drop,
    "invokeLambda" => @invoke_lambda,
    "publishToSns" => @publish_to_sns,
    "relay" => @relay,
    "replaceRecipient" => @replace_recipient,
    "send" => @_send,
    "writeToS3" => @write_to_s3,
  })
  result.compact
end