/*
* 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 calls an AWS Lambda function and, optionally,
/// publishes a notification to Amazon Simple Notification Service (Amazon SNS).
///
///
///
/// To enable Amazon SES to call your AWS Lambda function or to 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.
///
///
///
/// For information about using AWS Lambda actions in receipt rules, see the Amazon
/// SES Developer Guide.
///
///
public partial class LambdaAction
{
private string _functionArn;
private InvocationType _invocationType;
private string _topicArn;
///
/// Gets and sets the property FunctionArn.
///
/// The Amazon Resource Name (ARN) of the AWS Lambda function. An example of an AWS Lambda
/// function ARN is arn:aws:lambda:us-west-2:account-id:function:MyFunction
.
/// For more information about AWS Lambda, see the AWS
/// Lambda Developer Guide.
///
///
[AWSProperty(Required=true)]
public string FunctionArn
{
get { return this._functionArn; }
set { this._functionArn = value; }
}
// Check to see if FunctionArn property is set
internal bool IsSetFunctionArn()
{
return this._functionArn != null;
}
///
/// Gets and sets the property InvocationType.
///
/// The invocation type of the AWS Lambda function. An invocation type of RequestResponse
/// means that the execution of the function will immediately result in a response, and
/// a value of Event
means that the function will be invoked asynchronously.
/// The default value is Event
. For information about AWS Lambda invocation
/// types, see the AWS
/// Lambda Developer Guide.
///
///
///
/// There is a 30-second timeout on RequestResponse
invocations. You should
/// use Event
invocation in most cases. Use RequestResponse
/// only when you want to make a mail flow decision, such as whether to stop the receipt
/// rule or the receipt rule set.
///
///
///
public InvocationType InvocationType
{
get { return this._invocationType; }
set { this._invocationType = value; }
}
// Check to see if InvocationType property is set
internal bool IsSetInvocationType()
{
return this._invocationType != null;
}
///
/// Gets and sets the property TopicArn.
///
/// The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the Lambda action
/// is taken. 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;
}
}
}