Class: AWSCDK::SES::ReceiptRuleActionConfig

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

Overview

Properties for a receipt rule action.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(add_header_action: nil, bounce_action: nil, lambda_action: nil, s3_action: nil, sns_action: nil, stop_action: nil, workmail_action: nil) ⇒ ReceiptRuleActionConfig

Returns a new instance of ReceiptRuleActionConfig.

Parameters:

  • add_header_action (AWSCDK::SES::AddHeaderActionConfig, nil) (defaults to: nil)

    Adds a header to the received email.

  • bounce_action (AWSCDK::SES::BounceActionConfig, nil) (defaults to: nil)

    Rejects the received email by returning a bounce response to the sender and, optionally, publishes a notification to Amazon SNS.

  • lambda_action (AWSCDK::SES::LambdaActionConfig, nil) (defaults to: nil)

    Calls an AWS Lambda function, and optionally, publishes a notification to Amazon SNS.

  • s3_action (AWSCDK::SES::S3ActionConfig, nil) (defaults to: nil)

    Saves the received message to an Amazon S3 bucket and, optionally, publishes a notification to Amazon SNS.

  • sns_action (AWSCDK::SES::SNSActionConfig, nil) (defaults to: nil)

    Publishes the email content within a notification to Amazon SNS.

  • stop_action (AWSCDK::SES::StopActionConfig, nil) (defaults to: nil)

    Terminates the evaluation of the receipt rule set and optionally publishes a notification to Amazon SNS.

  • workmail_action (AWSCDK::SES::WorkmailActionConfig, nil) (defaults to: nil)

    Calls Amazon WorkMail and, optionally, publishes a notification to Amazon SNS.



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'ses/receipt_rule_action_config.rb', line 14

def initialize(add_header_action: nil, bounce_action: nil, lambda_action: nil, s3_action: nil, sns_action: nil, stop_action: nil, workmail_action: nil)
  @add_header_action = add_header_action.is_a?(Hash) ? ::AWSCDK::SES::AddHeaderActionConfig.new(**add_header_action.transform_keys(&:to_sym)) : add_header_action
  Jsii::Type.check_type(@add_header_action, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc2VzLkFkZEhlYWRlckFjdGlvbkNvbmZpZyJ9")), "addHeaderAction") unless @add_header_action.nil?
  @bounce_action = bounce_action.is_a?(Hash) ? ::AWSCDK::SES::BounceActionConfig.new(**bounce_action.transform_keys(&:to_sym)) : bounce_action
  Jsii::Type.check_type(@bounce_action, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc2VzLkJvdW5jZUFjdGlvbkNvbmZpZyJ9")), "bounceAction") unless @bounce_action.nil?
  @lambda_action = lambda_action.is_a?(Hash) ? ::AWSCDK::SES::LambdaActionConfig.new(**lambda_action.transform_keys(&:to_sym)) : lambda_action
  Jsii::Type.check_type(@lambda_action, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc2VzLkxhbWJkYUFjdGlvbkNvbmZpZyJ9")), "lambdaAction") unless @lambda_action.nil?
  @s3_action = s3_action.is_a?(Hash) ? ::AWSCDK::SES::S3ActionConfig.new(**s3_action.transform_keys(&:to_sym)) : s3_action
  Jsii::Type.check_type(@s3_action, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc2VzLlMzQWN0aW9uQ29uZmlnIn0=")), "s3Action") unless @s3_action.nil?
  @sns_action = sns_action.is_a?(Hash) ? ::AWSCDK::SES::SNSActionConfig.new(**sns_action.transform_keys(&:to_sym)) : sns_action
  Jsii::Type.check_type(@sns_action, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc2VzLlNOU0FjdGlvbkNvbmZpZyJ9")), "snsAction") unless @sns_action.nil?
  @stop_action = stop_action.is_a?(Hash) ? ::AWSCDK::SES::StopActionConfig.new(**stop_action.transform_keys(&:to_sym)) : stop_action
  Jsii::Type.check_type(@stop_action, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc2VzLlN0b3BBY3Rpb25Db25maWcifQ==")), "stopAction") unless @stop_action.nil?
  @workmail_action = workmail_action.is_a?(Hash) ? ::AWSCDK::SES::WorkmailActionConfig.new(**workmail_action.transform_keys(&:to_sym)) : workmail_action
  Jsii::Type.check_type(@workmail_action, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc2VzLldvcmttYWlsQWN0aW9uQ29uZmlnIn0=")), "workmailAction") unless @workmail_action.nil?
end

Instance Attribute Details

#add_header_actionAWSCDK::SES::AddHeaderActionConfig? (readonly)

Adds a header to the received email.



34
35
36
# File 'ses/receipt_rule_action_config.rb', line 34

def add_header_action
  @add_header_action
end

#bounce_actionAWSCDK::SES::BounceActionConfig? (readonly)

Rejects the received email by returning a bounce response to the sender and, optionally, publishes a notification to Amazon SNS.



38
39
40
# File 'ses/receipt_rule_action_config.rb', line 38

def bounce_action
  @bounce_action
end

#lambda_actionAWSCDK::SES::LambdaActionConfig? (readonly)

Calls an AWS Lambda function, and optionally, publishes a notification to Amazon SNS.



42
43
44
# File 'ses/receipt_rule_action_config.rb', line 42

def lambda_action
  @lambda_action
end

#s3_actionAWSCDK::SES::S3ActionConfig? (readonly)

Saves the received message to an Amazon S3 bucket and, optionally, publishes a notification to Amazon SNS.

Returns:



46
47
48
# File 'ses/receipt_rule_action_config.rb', line 46

def s3_action
  @s3_action
end

#sns_actionAWSCDK::SES::SNSActionConfig? (readonly)

Publishes the email content within a notification to Amazon SNS.



50
51
52
# File 'ses/receipt_rule_action_config.rb', line 50

def sns_action
  @sns_action
end

#stop_actionAWSCDK::SES::StopActionConfig? (readonly)

Terminates the evaluation of the receipt rule set and optionally publishes a notification to Amazon SNS.



54
55
56
# File 'ses/receipt_rule_action_config.rb', line 54

def stop_action
  @stop_action
end

#workmail_actionAWSCDK::SES::WorkmailActionConfig? (readonly)

Calls Amazon WorkMail and, optionally, publishes a notification to Amazon SNS.



58
59
60
# File 'ses/receipt_rule_action_config.rb', line 58

def workmail_action
  @workmail_action
end

Class Method Details

.jsii_propertiesObject



60
61
62
63
64
65
66
67
68
69
70
# File 'ses/receipt_rule_action_config.rb', line 60

def self.jsii_properties
  {
    :add_header_action => "addHeaderAction",
    :bounce_action => "bounceAction",
    :lambda_action => "lambdaAction",
    :s3_action => "s3Action",
    :sns_action => "snsAction",
    :stop_action => "stopAction",
    :workmail_action => "workmailAction",
  }
end

Instance Method Details

#to_jsiiObject



72
73
74
75
76
77
78
79
80
81
82
83
84
# File 'ses/receipt_rule_action_config.rb', line 72

def to_jsii
  result = {}
  result.merge!({
    "addHeaderAction" => @add_header_action,
    "bounceAction" => @bounce_action,
    "lambdaAction" => @lambda_action,
    "s3Action" => @s3_action,
    "snsAction" => @sns_action,
    "stopAction" => @stop_action,
    "workmailAction" => @workmail_action,
  })
  result.compact
end