File Coverage

blib/lib/Paws/SES/S3Action.pm
Criterion Covered Total %
statement 3 3 100.0
branch n/a
condition n/a
subroutine 1 1 100.0
pod n/a
total 4 4 100.0


line stmt bran cond sub pod time code
1             package Paws::SES::S3Action;
2 1     1   314 use Moose;
  1         2  
  1         7  
3             has BucketName => (is => 'ro', isa => 'Str', required => 1);
4             has KmsKeyArn => (is => 'ro', isa => 'Str');
5             has ObjectKeyPrefix => (is => 'ro', isa => 'Str');
6             has TopicArn => (is => 'ro', isa => 'Str');
7             1;
8              
9             ### main pod documentation begin ###
10              
11             =head1 NAME
12              
13             Paws::SES::S3Action
14              
15             =head1 USAGE
16              
17             This class represents one of two things:
18              
19             =head3 Arguments in a call to a service
20              
21             Use the attributes of this class as arguments to methods. You shouldn't make instances of this class.
22             Each attribute should be used as a named argument in the calls that expect this type of object.
23              
24             As an example, if Att1 is expected to be a Paws::SES::S3Action object:
25              
26             $service_obj->Method(Att1 => { BucketName => $value, ..., TopicArn => $value });
27              
28             =head3 Results returned from an API call
29              
30             Use accessors for each attribute. If Att1 is expected to be an Paws::SES::S3Action object:
31              
32             $result = $service_obj->Method(...);
33             $result->Att1->BucketName
34              
35             =head1 DESCRIPTION
36              
37             When included in a receipt rule, this action saves the received message
38             to an Amazon Simple Storage Service (Amazon S3) bucket and, optionally,
39             publishes a notification to Amazon Simple Notification Service (Amazon
40             SNS).
41              
42             To enable Amazon SES to write emails to your Amazon S3 bucket, use an
43             AWS KMS key to encrypt your emails, or publish to an Amazon SNS topic
44             of another account, Amazon SES must have permission to access those
45             resources. For information about giving permissions, see the Amazon SES
46             Developer Guide.
47              
48             When you save your emails to an Amazon S3 bucket, the maximum email
49             size (including headers) is 30 MB. Emails larger than that will bounce.
50              
51             For information about specifying Amazon S3 actions in receipt rules,
52             see the Amazon SES Developer Guide.
53              
54             =head1 ATTRIBUTES
55              
56              
57             =head2 B<REQUIRED> BucketName => Str
58              
59             The name of the Amazon S3 bucket that incoming email will be saved to.
60              
61              
62             =head2 KmsKeyArn => Str
63              
64             The customer master key that Amazon SES should use to encrypt your
65             emails before saving them to the Amazon S3 bucket. You can use the
66             default master key or a custom master key you created in AWS KMS as
67             follows:
68              
69             =over
70              
71             =item *
72              
73             To use the default master key, provide an ARN in the form of
74             C<arn:aws:kms:REGION:ACCOUNT-ID-WITHOUT-HYPHENS:alias/aws/ses>. For
75             example, if your AWS account ID is 123456789012 and you want to use the
76             default master key in the US West (Oregon) region, the ARN of the
77             default master key would be
78             C<arn:aws:kms:us-west-2:123456789012:alias/aws/ses>. If you use the
79             default master key, you don't need to perform any extra steps to give
80             Amazon SES permission to use the key.
81              
82             =item *
83              
84             To use a custom master key you created in AWS KMS, provide the ARN of
85             the master key and ensure that you add a statement to your key's policy
86             to give Amazon SES permission to use it. For more information about
87             giving permissions, see the Amazon SES Developer Guide.
88              
89             =back
90              
91             For more information about key policies, see the AWS KMS Developer
92             Guide. If you do not specify a master key, Amazon SES will not encrypt
93             your emails.
94              
95             Your mail is encrypted by Amazon SES using the Amazon S3 encryption
96             client before the mail is submitted to Amazon S3 for storage. It is not
97             encrypted using Amazon S3 server-side encryption. This means that you
98             must use the Amazon S3 encryption client to decrypt the email after
99             retrieving it from Amazon S3, as the service has no access to use your
100             AWS KMS keys for decryption. This encryption client is currently
101             available with the AWS Java SDK and AWS Ruby SDK only. For more
102             information about client-side encryption using AWS KMS master keys, see
103             the Amazon S3 Developer Guide.
104              
105              
106             =head2 ObjectKeyPrefix => Str
107              
108             The key prefix of the Amazon S3 bucket. The key prefix is similar to a
109             directory name that enables you to store similar data under the same
110             directory in a bucket.
111              
112              
113             =head2 TopicArn => Str
114              
115             The ARN of the Amazon SNS topic to notify when the message is saved to
116             the Amazon S3 bucket. An example of an Amazon SNS topic ARN is
117             C<arn:aws:sns:us-west-2:123456789012:MyTopic>. For more information
118             about Amazon SNS topics, see the Amazon SNS Developer Guide.
119              
120              
121              
122             =head1 SEE ALSO
123              
124             This class forms part of L<Paws>, describing an object used in L<Paws::SES>
125              
126             =head1 BUGS and CONTRIBUTIONS
127              
128             The source code is located here: https://github.com/pplu/aws-sdk-perl
129              
130             Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues
131              
132             =cut
133