/*
* 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 UpdateFunctionConfiguration operation.
/// Modify the version-specific settings of a Lambda function.
///
///
///
/// When you update a function, Lambda provisions an instance of the function and its
/// supporting resources. If your function connects to a VPC, this process can take a
/// minute. During this time, you can't modify the function, but you can still invoke
/// it. The LastUpdateStatus
, LastUpdateStatusReason
, and LastUpdateStatusReasonCode
/// fields in the response from GetFunctionConfiguration indicate when the update
/// is complete and the function is processing events with the new configuration. For
/// more information, see Lambda
/// function states.
///
///
///
/// These settings can vary between versions of a function and are locked when you publish
/// a version. You can't modify the configuration of a published version, only the unpublished
/// version.
///
///
///
/// To configure function concurrency, use PutFunctionConcurrency. To grant invoke
/// permissions to an Amazon Web Services account or Amazon Web Service, use AddPermission.
///
///
public partial class UpdateFunctionConfigurationRequest : AmazonLambdaRequest
{
private DeadLetterConfig _deadLetterConfig;
private string _description;
private Environment _environment;
private EphemeralStorage _ephemeralStorage;
private List _fileSystemConfigs = new List();
private string _functionName;
private string _handler;
private ImageConfig _imageConfig;
private string _kmsKeyArn;
private List _layers = new List();
private int? _memorySize;
private string _revisionId;
private string _role;
private Runtime _runtime;
private SnapStart _snapStart;
private int? _timeout;
private TracingConfig _tracingConfig;
private VpcConfig _vpcConfig;
///
/// Gets and sets the property DeadLetterConfig.
///
/// A dead-letter queue configuration that specifies the queue or topic where Lambda sends
/// asynchronous events when they fail processing. For more information, see Dead-letter
/// queues.
///
///
public DeadLetterConfig DeadLetterConfig
{
get { return this._deadLetterConfig; }
set { this._deadLetterConfig = value; }
}
// Check to see if DeadLetterConfig property is set
internal bool IsSetDeadLetterConfig()
{
return this._deadLetterConfig != null;
}
///
/// Gets and sets the property Description.
///
/// A description of the function.
///
///
[AWSProperty(Min=0, Max=256)]
public string Description
{
get { return this._description; }
set { this._description = value; }
}
// Check to see if Description property is set
internal bool IsSetDescription()
{
return this._description != null;
}
///
/// Gets and sets the property Environment.
///
/// Environment variables that are accessible from function code during execution.
///
///
public Environment Environment
{
get { return this._environment; }
set { this._environment = value; }
}
// Check to see if Environment property is set
internal bool IsSetEnvironment()
{
return this._environment != null;
}
///
/// Gets and sets the property EphemeralStorage.
///
/// The size of the function's /tmp
directory in MB. The default value is
/// 512, but can be any whole number between 512 and 10,240 MB.
///
///
public EphemeralStorage EphemeralStorage
{
get { return this._ephemeralStorage; }
set { this._ephemeralStorage = value; }
}
// Check to see if EphemeralStorage property is set
internal bool IsSetEphemeralStorage()
{
return this._ephemeralStorage != null;
}
///
/// Gets and sets the property FileSystemConfigs.
///
/// Connection settings for an Amazon EFS file system.
///
///
[AWSProperty(Max=1)]
public List FileSystemConfigs
{
get { return this._fileSystemConfigs; }
set { this._fileSystemConfigs = value; }
}
///
/// This property is set to true if the property
/// is set; false otherwise.
/// This property can be used to determine if the related property
/// was returned by a service response or if the related property
/// should be sent to the service during a service call.
///
///
/// True if the related property was set or will be sent to a service; false otherwise.
///
public bool IsFileSystemConfigsSet
{
get
{
return Amazon.Util.Internal.InternalSDKUtils.GetIsSet(this._fileSystemConfigs);
}
set
{
Amazon.Util.Internal.InternalSDKUtils.SetIsSet(value, ref this._fileSystemConfigs);
}
}
// Check to see if FileSystemConfigs property is set
internal bool IsSetFileSystemConfigs()
{
return this.IsFileSystemConfigsSet;
}
///
/// Gets and sets the property FunctionName.
///
/// The name of the Lambda function.
///
/// Name formats
///
///
-
///
/// Function name –
my-function
.
///
/// -
///
/// Function ARN –
arn:aws:lambda:us-west-2:123456789012:function:my-function
.
///
/// -
///
/// Partial ARN –
123456789012:function:my-function
.
///
///
///
/// 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 Handler.
///
/// The name of the method within your code that Lambda calls to run your function. Handler
/// is required if the deployment package is a .zip file archive. The format includes
/// the file name. It can also include namespaces and other qualifiers, depending on the
/// runtime. For more information, see Lambda
/// programming model.
///
///
[AWSProperty(Max=128)]
public string Handler
{
get { return this._handler; }
set { this._handler = value; }
}
// Check to see if Handler property is set
internal bool IsSetHandler()
{
return this._handler != null;
}
///
/// Gets and sets the property ImageConfig.
///
/// Container
/// image configuration values that override the values in the container image Docker
/// file.
///
///
public ImageConfig ImageConfig
{
get { return this._imageConfig; }
set { this._imageConfig = value; }
}
// Check to see if ImageConfig property is set
internal bool IsSetImageConfig()
{
return this._imageConfig != null;
}
///
/// Gets and sets the property KMSKeyArn.
///
/// The ARN of the Key Management Service (KMS) customer managed key that's used to encrypt
/// your function's environment
/// variables. When Lambda
/// SnapStart is activated, Lambda also uses this key is to encrypt your function's
/// snapshot. If you deploy your function using a container image, Lambda also uses this
/// key to encrypt your function when it's deployed. Note that this is not the same key
/// that's used to protect your container image in the Amazon Elastic Container Registry
/// (Amazon ECR). If you don't provide a customer managed key, Lambda uses a default service
/// key.
///
///
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 Layers.
///
/// A list of function
/// layers to add to the function's execution environment. Specify each layer by its
/// ARN, including the version.
///
///
public List Layers
{
get { return this._layers; }
set { this._layers = value; }
}
///
/// This property is set to true if the property
/// is set; false otherwise.
/// This property can be used to determine if the related property
/// was returned by a service response or if the related property
/// should be sent to the service during a service call.
///
///
/// True if the related property was set or will be sent to a service; false otherwise.
///
public bool IsLayersSet
{
get
{
return Amazon.Util.Internal.InternalSDKUtils.GetIsSet(this._layers);
}
set
{
Amazon.Util.Internal.InternalSDKUtils.SetIsSet(value, ref this._layers);
}
}
// Check to see if Layers property is set
internal bool IsSetLayers()
{
return this.IsLayersSet;
}
///
/// Gets and sets the property MemorySize.
///
/// The amount of memory
/// available to the function at runtime. Increasing the function memory also increases
/// its CPU allocation. The default value is 128 MB. The value can be any multiple of
/// 1 MB.
///
///
[AWSProperty(Min=128, Max=10240)]
public int MemorySize
{
get { return this._memorySize.GetValueOrDefault(); }
set { this._memorySize = value; }
}
// Check to see if MemorySize property is set
internal bool IsSetMemorySize()
{
return this._memorySize.HasValue;
}
///
/// Gets and sets the property RevisionId.
///
/// Update the function only if the revision ID matches the ID that's specified. Use this
/// option to avoid modifying a function that has changed since you last read it.
///
///
public string RevisionId
{
get { return this._revisionId; }
set { this._revisionId = value; }
}
// Check to see if RevisionId property is set
internal bool IsSetRevisionId()
{
return this._revisionId != null;
}
///
/// Gets and sets the property Role.
///
/// The Amazon Resource Name (ARN) of the function's execution role.
///
///
public string Role
{
get { return this._role; }
set { this._role = value; }
}
// Check to see if Role property is set
internal bool IsSetRole()
{
return this._role != null;
}
///
/// Gets and sets the property Runtime.
///
/// The identifier of the function's runtime.
/// Runtime is required if the deployment package is a .zip file archive.
///
///
///
/// The following list includes deprecated runtimes. For more information, see Runtime
/// deprecation policy.
///
///
public Runtime Runtime
{
get { return this._runtime; }
set { this._runtime = value; }
}
// Check to see if Runtime property is set
internal bool IsSetRuntime()
{
return this._runtime != null;
}
///
/// Gets and sets the property SnapStart.
///
/// The function's SnapStart
/// setting.
///
///
public SnapStart SnapStart
{
get { return this._snapStart; }
set { this._snapStart = value; }
}
// Check to see if SnapStart property is set
internal bool IsSetSnapStart()
{
return this._snapStart != null;
}
///
/// Gets and sets the property Timeout.
///
/// The amount of time (in seconds) that Lambda allows a function to run before stopping
/// it. The default is 3 seconds. The maximum allowed value is 900 seconds. For more information,
/// see Lambda
/// execution environment.
///
///
[AWSProperty(Min=1)]
public int Timeout
{
get { return this._timeout.GetValueOrDefault(); }
set { this._timeout = value; }
}
// Check to see if Timeout property is set
internal bool IsSetTimeout()
{
return this._timeout.HasValue;
}
///
/// Gets and sets the property TracingConfig.
///
/// Set Mode
to Active
to sample and trace a subset of incoming
/// requests with X-Ray.
///
///
public TracingConfig TracingConfig
{
get { return this._tracingConfig; }
set { this._tracingConfig = value; }
}
// Check to see if TracingConfig property is set
internal bool IsSetTracingConfig()
{
return this._tracingConfig != null;
}
///
/// Gets and sets the property VpcConfig.
///
/// For network connectivity to Amazon Web Services resources in a VPC, specify a list
/// of security groups and subnets in the VPC. When you connect a function to a VPC, it
/// can access resources and the internet only through that VPC. For more information,
/// see Configuring
/// a Lambda function to access resources in a VPC.
///
///
public VpcConfig VpcConfig
{
get { return this._vpcConfig; }
set { this._vpcConfig = value; }
}
// Check to see if VpcConfig property is set
internal bool IsSetVpcConfig()
{
return this._vpcConfig != null;
}
}
}