Class: AWSCDK::SES::CfnMailManagerRuleSet::S3ActionProperty

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

Overview

Writes the MIME content of the email to an S3 bucket.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(role_arn:, s3_bucket:, action_failure_policy: nil, s3_prefix: nil, s3_sse_kms_key_id: nil) ⇒ S3ActionProperty

Returns a new instance of S3ActionProperty.

Parameters:

  • role_arn (String)

    The Amazon Resource Name (ARN) of the IAM Role to use while writing to S3.

  • s3_bucket (String)

    The bucket name of the S3 bucket to write to.

  • action_failure_policy (String, nil) (defaults to: nil)

    A policy that states what to do in the case of failure.

  • s3_prefix (String, nil) (defaults to: nil)

    The S3 prefix to use for the write to the s3 bucket.

  • s3_sse_kms_key_id (String, nil) (defaults to: nil)

    The KMS Key ID to use to encrypt the message in S3.



1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
# File 'ses/cfn_mail_manager_rule_set.rb', line 1945

def initialize(role_arn:, s3_bucket:, action_failure_policy: nil, s3_prefix: nil, s3_sse_kms_key_id: nil)
  @role_arn = role_arn
  Jsii::Type.check_type(@role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "roleArn")
  @s3_bucket = s3_bucket
  Jsii::Type.check_type(@s3_bucket, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "s3Bucket")
  @action_failure_policy = action_failure_policy
  Jsii::Type.check_type(@action_failure_policy, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "actionFailurePolicy") unless @action_failure_policy.nil?
  @s3_prefix = s3_prefix
  Jsii::Type.check_type(@s3_prefix, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "s3Prefix") unless @s3_prefix.nil?
  @s3_sse_kms_key_id = s3_sse_kms_key_id
  Jsii::Type.check_type(@s3_sse_kms_key_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "s3SseKmsKeyId") unless @s3_sse_kms_key_id.nil?
end

Instance Attribute Details

#action_failure_policyString? (readonly)

A policy that states what to do in the case of failure.

The action will fail if there are configuration errors. For example, the specified the bucket has been deleted.



1976
1977
1978
# File 'ses/cfn_mail_manager_rule_set.rb', line 1976

def action_failure_policy
  @action_failure_policy
end

#role_arnString (readonly)

The Amazon Resource Name (ARN) of the IAM Role to use while writing to S3.

This role must have access to the s3:PutObject, kms:Encrypt, and kms:GenerateDataKey APIs for the given bucket.



1964
1965
1966
# File 'ses/cfn_mail_manager_rule_set.rb', line 1964

def role_arn
  @role_arn
end

#s3_bucketString (readonly)

The bucket name of the S3 bucket to write to.



1969
1970
1971
# File 'ses/cfn_mail_manager_rule_set.rb', line 1969

def s3_bucket
  @s3_bucket
end

#s3_prefixString? (readonly)

The S3 prefix to use for the write to the s3 bucket.



1981
1982
1983
# File 'ses/cfn_mail_manager_rule_set.rb', line 1981

def s3_prefix
  @s3_prefix
end

#s3_sse_kms_key_idString? (readonly)

The KMS Key ID to use to encrypt the message in S3.



1986
1987
1988
# File 'ses/cfn_mail_manager_rule_set.rb', line 1986

def s3_sse_kms_key_id
  @s3_sse_kms_key_id
end

Class Method Details

.jsii_propertiesObject



1988
1989
1990
1991
1992
1993
1994
1995
1996
# File 'ses/cfn_mail_manager_rule_set.rb', line 1988

def self.jsii_properties
  {
    :role_arn => "roleArn",
    :s3_bucket => "s3Bucket",
    :action_failure_policy => "actionFailurePolicy",
    :s3_prefix => "s3Prefix",
    :s3_sse_kms_key_id => "s3SseKmsKeyId",
  }
end

Instance Method Details

#to_jsiiObject



1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
# File 'ses/cfn_mail_manager_rule_set.rb', line 1998

def to_jsii
  result = {}
  result.merge!({
    "roleArn" => @role_arn,
    "s3Bucket" => @s3_bucket,
    "actionFailurePolicy" => @action_failure_policy,
    "s3Prefix" => @s3_prefix,
    "s3SseKmsKeyId" => @s3_sse_kms_key_id,
  })
  result.compact
end