/*
* Copyright 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 lambda-2015-03-31.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.Lambda.Model
{
///
/// Container for the parameters to the PutFunctionEventInvokeConfig operation.
/// Configures options for asynchronous
/// invocation on a function, version, or alias. If a configuration already exists
/// for a function, version, or alias, this operation overwrites it. If you exclude any
/// settings, they are removed. To set one option without affecting existing settings
/// for other options, use UpdateFunctionEventInvokeConfig.
///
///
///
/// By default, Lambda retries an asynchronous invocation twice if the function returns
/// an error. It retains events in a queue for up to six hours. When an event fails all
/// processing attempts or stays in the asynchronous invocation queue for too long, Lambda
/// discards it. To retain discarded events, configure a dead-letter queue with UpdateFunctionConfiguration.
///
///
///
/// To send an invocation record to a queue, topic, function, or event bus, specify a
/// destination.
/// You can configure separate destinations for successful invocations (on-success) and
/// events that fail all processing attempts (on-failure). You can configure destinations
/// in addition to or instead of a dead-letter queue.
///
///
public partial class PutFunctionEventInvokeConfigRequest : AmazonLambdaRequest
{
private DestinationConfig _destinationConfig;
private string _functionName;
private int? _maximumEventAgeInSeconds;
private int? _maximumRetryAttempts;
private string _qualifier;
///
/// Gets and sets the property DestinationConfig.
///
/// A destination for events after they have been sent to a function for processing.
///
/// Destinations
///
///
-
///
/// Function - The Amazon Resource Name (ARN) of a Lambda function.
///
///
-
///
/// Queue - The ARN of a standard SQS queue.
///
///
-
///
/// Topic - The ARN of a standard SNS topic.
///
///
-
///
/// Event Bus - The ARN of an Amazon EventBridge event bus.
///
///
///
public DestinationConfig DestinationConfig
{
get { return this._destinationConfig; }
set { this._destinationConfig = value; }
}
// Check to see if DestinationConfig property is set
internal bool IsSetDestinationConfig()
{
return this._destinationConfig != null;
}
///
/// Gets and sets the property FunctionName.
///
/// The name of the Lambda function, version, or alias.
///
/// Name formats
///
///
-
///
/// Function name -
my-function
(name-only), my-function:v1
/// (with alias).
///
/// -
///
/// Function ARN -
arn:aws:lambda:us-west-2:123456789012:function:my-function
.
///
/// -
///
/// Partial ARN -
123456789012:function:my-function
.
///
///
///
/// You can append a version number or alias to any of the formats. The length constraint
/// applies only to the full ARN. If you specify only the function name, it is limited
/// to 64 characters in length.
///
///
[AWSProperty(Required=true, Min=1, Max=140)]
public string FunctionName
{
get { return this._functionName; }
set { this._functionName = value; }
}
// Check to see if FunctionName property is set
internal bool IsSetFunctionName()
{
return this._functionName != null;
}
///
/// Gets and sets the property MaximumEventAgeInSeconds.
///
/// The maximum age of a request that Lambda sends to a function for processing.
///
///
[AWSProperty(Min=60, Max=21600)]
public int MaximumEventAgeInSeconds
{
get { return this._maximumEventAgeInSeconds.GetValueOrDefault(); }
set { this._maximumEventAgeInSeconds = value; }
}
// Check to see if MaximumEventAgeInSeconds property is set
internal bool IsSetMaximumEventAgeInSeconds()
{
return this._maximumEventAgeInSeconds.HasValue;
}
///
/// Gets and sets the property MaximumRetryAttempts.
///
/// The maximum number of times to retry when the function returns an error.
///
///
[AWSProperty(Min=0, Max=2)]
public int MaximumRetryAttempts
{
get { return this._maximumRetryAttempts.GetValueOrDefault(); }
set { this._maximumRetryAttempts = value; }
}
// Check to see if MaximumRetryAttempts property is set
internal bool IsSetMaximumRetryAttempts()
{
return this._maximumRetryAttempts.HasValue;
}
///
/// Gets and sets the property Qualifier.
///
/// A version number or alias name.
///
///
[AWSProperty(Min=1, Max=128)]
public string Qualifier
{
get { return this._qualifier; }
set { this._qualifier = value; }
}
// Check to see if Qualifier property is set
internal bool IsSetQualifier()
{
return this._qualifier != null;
}
}
}