Class: AWSCDK::SES::CfnReceiptRule::ActionProperty

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

Overview

An action that Amazon SES can take when it receives an email on behalf of one or more email addresses or domains that you own.

An instance of this data type can represent only one action.

For information about setting up receipt rules, see the Amazon SES Developer Guide .

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

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

Returns a new instance of ActionProperty.

Parameters:



536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
# File 'ses/cfn_receipt_rule.rb', line 536

def initialize(add_header_action: nil, bounce_action: nil, connect_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::CfnReceiptRule::AddHeaderActionProperty.new(**add_header_action.transform_keys(&:to_sym)) : add_header_action
  Jsii::Type.check_type(@add_header_action, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zZXMuQ2ZuUmVjZWlwdFJ1bGUuQWRkSGVhZGVyQWN0aW9uUHJvcGVydHkifV19fQ==")), "addHeaderAction") unless @add_header_action.nil?
  @bounce_action = bounce_action.is_a?(Hash) ? ::AWSCDK::SES::CfnReceiptRule::BounceActionProperty.new(**bounce_action.transform_keys(&:to_sym)) : bounce_action
  Jsii::Type.check_type(@bounce_action, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zZXMuQ2ZuUmVjZWlwdFJ1bGUuQm91bmNlQWN0aW9uUHJvcGVydHkifV19fQ==")), "bounceAction") unless @bounce_action.nil?
  @connect_action = connect_action.is_a?(Hash) ? ::AWSCDK::SES::CfnReceiptRule::ConnectActionProperty.new(**connect_action.transform_keys(&:to_sym)) : connect_action
  Jsii::Type.check_type(@connect_action, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zZXMuQ2ZuUmVjZWlwdFJ1bGUuQ29ubmVjdEFjdGlvblByb3BlcnR5In1dfX0=")), "connectAction") unless @connect_action.nil?
  @lambda_action = lambda_action.is_a?(Hash) ? ::AWSCDK::SES::CfnReceiptRule::LambdaActionProperty.new(**lambda_action.transform_keys(&:to_sym)) : lambda_action
  Jsii::Type.check_type(@lambda_action, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zZXMuQ2ZuUmVjZWlwdFJ1bGUuTGFtYmRhQWN0aW9uUHJvcGVydHkifV19fQ==")), "lambdaAction") unless @lambda_action.nil?
  @s3_action = s3_action.is_a?(Hash) ? ::AWSCDK::SES::CfnReceiptRule::S3ActionProperty.new(**s3_action.transform_keys(&:to_sym)) : s3_action
  Jsii::Type.check_type(@s3_action, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zZXMuQ2ZuUmVjZWlwdFJ1bGUuUzNBY3Rpb25Qcm9wZXJ0eSJ9XX19")), "s3Action") unless @s3_action.nil?
  @sns_action = sns_action.is_a?(Hash) ? ::AWSCDK::SES::CfnReceiptRule::SNSActionProperty.new(**sns_action.transform_keys(&:to_sym)) : sns_action
  Jsii::Type.check_type(@sns_action, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zZXMuQ2ZuUmVjZWlwdFJ1bGUuU05TQWN0aW9uUHJvcGVydHkifV19fQ==")), "snsAction") unless @sns_action.nil?
  @stop_action = stop_action.is_a?(Hash) ? ::AWSCDK::SES::CfnReceiptRule::StopActionProperty.new(**stop_action.transform_keys(&:to_sym)) : stop_action
  Jsii::Type.check_type(@stop_action, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zZXMuQ2ZuUmVjZWlwdFJ1bGUuU3RvcEFjdGlvblByb3BlcnR5In1dfX0=")), "stopAction") unless @stop_action.nil?
  @workmail_action = workmail_action.is_a?(Hash) ? ::AWSCDK::SES::CfnReceiptRule::WorkmailActionProperty.new(**workmail_action.transform_keys(&:to_sym)) : workmail_action
  Jsii::Type.check_type(@workmail_action, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zZXMuQ2ZuUmVjZWlwdFJ1bGUuV29ya21haWxBY3Rpb25Qcm9wZXJ0eSJ9XX19")), "workmailAction") unless @workmail_action.nil?
end

Instance Attribute Details

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

Adds a header to the received email.



559
560
561
# File 'ses/cfn_receipt_rule.rb', line 559

def add_header_action
  @add_header_action
end

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

Rejects the received email by returning a bounce response to the sender and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).



564
565
566
# File 'ses/cfn_receipt_rule.rb', line 564

def bounce_action
  @bounce_action
end

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

The action that informs a traffic policy resource to either allow or block the email if it matches a condition in the policy statement.



569
570
571
# File 'ses/cfn_receipt_rule.rb', line 569

def connect_action
  @connect_action
end

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

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



574
575
576
# File 'ses/cfn_receipt_rule.rb', line 574

def lambda_action
  @lambda_action
end

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

Saves the received message to an Amazon Simple Storage Service (Amazon S3) bucket and, optionally, publishes a notification to Amazon SNS.



579
580
581
# File 'ses/cfn_receipt_rule.rb', line 579

def s3_action
  @s3_action
end

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

Publishes the email content within a notification to Amazon SNS.



584
585
586
# File 'ses/cfn_receipt_rule.rb', line 584

def sns_action
  @sns_action
end

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

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



589
590
591
# File 'ses/cfn_receipt_rule.rb', line 589

def stop_action
  @stop_action
end

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

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



594
595
596
# File 'ses/cfn_receipt_rule.rb', line 594

def workmail_action
  @workmail_action
end

Class Method Details

.jsii_propertiesObject



596
597
598
599
600
601
602
603
604
605
606
607
# File 'ses/cfn_receipt_rule.rb', line 596

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

Instance Method Details

#to_jsiiObject



609
610
611
612
613
614
615
616
617
618
619
620
621
622
# File 'ses/cfn_receipt_rule.rb', line 609

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