/*
* Copyright 2010-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the email-2010-12-01.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.SimpleEmail.Model
{
///
/// When included in a receipt rule, this action saves the received message to an Amazon
/// Simple Storage Service (Amazon S3) bucket and, optionally, publishes a notification
/// to Amazon Simple Notification Service (Amazon SNS).
///
///
///
/// To enable Amazon SES to write emails to your Amazon S3 bucket, use an AWS KMS key
/// to encrypt your emails, or publish to an Amazon SNS topic of another account, Amazon
/// SES must have permission to access those resources. For information about giving permissions,
/// see the Amazon
/// SES Developer Guide.
///
///
///
/// When you save your emails to an Amazon S3 bucket, the maximum email size (including
/// headers) is 30 MB. Emails larger than that will bounce.
///
///
///
/// For information about specifying Amazon S3 actions in receipt rules, see the Amazon
/// SES Developer Guide.
///
///
public partial class S3Action
{
private string _bucketName;
private string _kmsKeyArn;
private string _objectKeyPrefix;
private string _topicArn;
///
/// Gets and sets the property BucketName.
///
/// The name of the Amazon S3 bucket that incoming email will be saved to.
///
///
[AWSProperty(Required=true)]
public string BucketName
{
get { return this._bucketName; }
set { this._bucketName = value; }
}
// Check to see if BucketName property is set
internal bool IsSetBucketName()
{
return this._bucketName != null;
}
///
/// Gets and sets the property KmsKeyArn.
///
/// The customer master key that Amazon SES should use to encrypt your emails before saving
/// them to the Amazon S3 bucket. You can use the default master key or a custom master
/// key you created in AWS KMS as follows:
///
/// -
///
/// To use the default master key, provide an ARN in the form of
arn:aws:kms:REGION:ACCOUNT-ID-WITHOUT-HYPHENS:alias/aws/ses
.
/// For example, if your AWS account ID is 123456789012 and you want to use the default
/// master key in the US West (Oregon) region, the ARN of the default master key would
/// be arn:aws:kms:us-west-2:123456789012:alias/aws/ses
. If you use the default
/// master key, you don't need to perform any extra steps to give Amazon SES permission
/// to use the key.
///
/// -
///
/// To use a custom master key you created in AWS KMS, provide the ARN of the master key
/// and ensure that you add a statement to your key's policy to give Amazon SES permission
/// to use it. For more information about giving permissions, see the Amazon
/// SES Developer Guide.
///
///
///
/// For more information about key policies, see the AWS
/// KMS Developer Guide. If you do not specify a master key, Amazon SES will not encrypt
/// your emails.
///
///
///
/// Your mail is encrypted by Amazon SES using the Amazon S3 encryption client before
/// the mail is submitted to Amazon S3 for storage. It is not encrypted using Amazon S3
/// server-side encryption. This means that you must use the Amazon S3 encryption client
/// to decrypt the email after retrieving it from Amazon S3, as the service has no access
/// to use your AWS KMS keys for decryption. This encryption client is currently available
/// with the AWS SDK for Java and AWS SDK for Ruby only. For more information
/// about client-side encryption using AWS KMS master keys, see the Amazon
/// S3 Developer Guide.
///
///
///
public string KmsKeyArn
{
get { return this._kmsKeyArn; }
set { this._kmsKeyArn = value; }
}
// Check to see if KmsKeyArn property is set
internal bool IsSetKmsKeyArn()
{
return this._kmsKeyArn != null;
}
///
/// Gets and sets the property ObjectKeyPrefix.
///
/// The key prefix of the Amazon S3 bucket. The key prefix is similar to a directory name
/// that enables you to store similar data under the same directory in a bucket.
///
///
public string ObjectKeyPrefix
{
get { return this._objectKeyPrefix; }
set { this._objectKeyPrefix = value; }
}
// Check to see if ObjectKeyPrefix property is set
internal bool IsSetObjectKeyPrefix()
{
return this._objectKeyPrefix != null;
}
///
/// Gets and sets the property TopicArn.
///
/// The ARN of the Amazon SNS topic to notify when the message is saved to the Amazon
/// S3 bucket. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic
.
/// For more information about Amazon SNS topics, see the Amazon
/// SNS Developer Guide.
///
///
public string TopicArn
{
get { return this._topicArn; }
set { this._topicArn = value; }
}
// Check to see if TopicArn property is set
internal bool IsSetTopicArn()
{
return this._topicArn != null;
}
}
}