/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Lambda { namespace Model { /** */ class AWS_LAMBDA_API CreateFunctionRequest : public LambdaRequest { public: CreateFunctionRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateFunction"; } Aws::String SerializePayload() const override; /** *

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.

*/ inline const Aws::String& GetFunctionName() const{ return m_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.

*/ inline bool FunctionNameHasBeenSet() const { return m_functionNameHasBeenSet; } /** *

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.

*/ inline void SetFunctionName(const Aws::String& value) { m_functionNameHasBeenSet = true; m_functionName = value; } /** *

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.

*/ inline void SetFunctionName(Aws::String&& value) { m_functionNameHasBeenSet = true; m_functionName = std::move(value); } /** *

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.

*/ inline void SetFunctionName(const char* value) { m_functionNameHasBeenSet = true; m_functionName.assign(value); } /** *

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.

*/ inline CreateFunctionRequest& WithFunctionName(const Aws::String& value) { SetFunctionName(value); return *this;} /** *

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.

*/ inline CreateFunctionRequest& WithFunctionName(Aws::String&& value) { SetFunctionName(std::move(value)); return *this;} /** *

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.

*/ inline CreateFunctionRequest& WithFunctionName(const char* value) { SetFunctionName(value); return *this;} /** *

The identifier of the function's runtime.

*/ inline const Runtime& GetRuntime() const{ return m_runtime; } /** *

The identifier of the function's runtime.

*/ inline bool RuntimeHasBeenSet() const { return m_runtimeHasBeenSet; } /** *

The identifier of the function's runtime.

*/ inline void SetRuntime(const Runtime& value) { m_runtimeHasBeenSet = true; m_runtime = value; } /** *

The identifier of the function's runtime.

*/ inline void SetRuntime(Runtime&& value) { m_runtimeHasBeenSet = true; m_runtime = std::move(value); } /** *

The identifier of the function's runtime.

*/ inline CreateFunctionRequest& WithRuntime(const Runtime& value) { SetRuntime(value); return *this;} /** *

The identifier of the function's runtime.

*/ inline CreateFunctionRequest& WithRuntime(Runtime&& value) { SetRuntime(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the function's execution role.

*/ inline const Aws::String& GetRole() const{ return m_role; } /** *

The Amazon Resource Name (ARN) of the function's execution role.

*/ inline bool RoleHasBeenSet() const { return m_roleHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the function's execution role.

*/ inline void SetRole(const Aws::String& value) { m_roleHasBeenSet = true; m_role = value; } /** *

The Amazon Resource Name (ARN) of the function's execution role.

*/ inline void SetRole(Aws::String&& value) { m_roleHasBeenSet = true; m_role = std::move(value); } /** *

The Amazon Resource Name (ARN) of the function's execution role.

*/ inline void SetRole(const char* value) { m_roleHasBeenSet = true; m_role.assign(value); } /** *

The Amazon Resource Name (ARN) of the function's execution role.

*/ inline CreateFunctionRequest& WithRole(const Aws::String& value) { SetRole(value); return *this;} /** *

The Amazon Resource Name (ARN) of the function's execution role.

*/ inline CreateFunctionRequest& WithRole(Aws::String&& value) { SetRole(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the function's execution role.

*/ inline CreateFunctionRequest& WithRole(const char* value) { SetRole(value); return *this;} /** *

The name of the method within your code that Lambda calls to execute your * function. The format includes the file name. It can also include namespaces and * other qualifiers, depending on the runtime. For more information, see Programming * Model.

*/ inline const Aws::String& GetHandler() const{ return m_handler; } /** *

The name of the method within your code that Lambda calls to execute your * function. The format includes the file name. It can also include namespaces and * other qualifiers, depending on the runtime. For more information, see Programming * Model.

*/ inline bool HandlerHasBeenSet() const { return m_handlerHasBeenSet; } /** *

The name of the method within your code that Lambda calls to execute your * function. The format includes the file name. It can also include namespaces and * other qualifiers, depending on the runtime. For more information, see Programming * Model.

*/ inline void SetHandler(const Aws::String& value) { m_handlerHasBeenSet = true; m_handler = value; } /** *

The name of the method within your code that Lambda calls to execute your * function. The format includes the file name. It can also include namespaces and * other qualifiers, depending on the runtime. For more information, see Programming * Model.

*/ inline void SetHandler(Aws::String&& value) { m_handlerHasBeenSet = true; m_handler = std::move(value); } /** *

The name of the method within your code that Lambda calls to execute your * function. The format includes the file name. It can also include namespaces and * other qualifiers, depending on the runtime. For more information, see Programming * Model.

*/ inline void SetHandler(const char* value) { m_handlerHasBeenSet = true; m_handler.assign(value); } /** *

The name of the method within your code that Lambda calls to execute your * function. The format includes the file name. It can also include namespaces and * other qualifiers, depending on the runtime. For more information, see Programming * Model.

*/ inline CreateFunctionRequest& WithHandler(const Aws::String& value) { SetHandler(value); return *this;} /** *

The name of the method within your code that Lambda calls to execute your * function. The format includes the file name. It can also include namespaces and * other qualifiers, depending on the runtime. For more information, see Programming * Model.

*/ inline CreateFunctionRequest& WithHandler(Aws::String&& value) { SetHandler(std::move(value)); return *this;} /** *

The name of the method within your code that Lambda calls to execute your * function. The format includes the file name. It can also include namespaces and * other qualifiers, depending on the runtime. For more information, see Programming * Model.

*/ inline CreateFunctionRequest& WithHandler(const char* value) { SetHandler(value); return *this;} /** *

The code for the function.

*/ inline const FunctionCode& GetCode() const{ return m_code; } /** *

The code for the function.

*/ inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; } /** *

The code for the function.

*/ inline void SetCode(const FunctionCode& value) { m_codeHasBeenSet = true; m_code = value; } /** *

The code for the function.

*/ inline void SetCode(FunctionCode&& value) { m_codeHasBeenSet = true; m_code = std::move(value); } /** *

The code for the function.

*/ inline CreateFunctionRequest& WithCode(const FunctionCode& value) { SetCode(value); return *this;} /** *

The code for the function.

*/ inline CreateFunctionRequest& WithCode(FunctionCode&& value) { SetCode(std::move(value)); return *this;} /** *

A description of the function.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

A description of the function.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

A description of the function.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

A description of the function.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

A description of the function.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

A description of the function.

*/ inline CreateFunctionRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

A description of the function.

*/ inline CreateFunctionRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

A description of the function.

*/ inline CreateFunctionRequest& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The amount of time that Lambda allows a function to run before stopping it. * The default is 3 seconds. The maximum allowed value is 900 seconds.

*/ inline int GetTimeout() const{ return m_timeout; } /** *

The amount of time that Lambda allows a function to run before stopping it. * The default is 3 seconds. The maximum allowed value is 900 seconds.

*/ inline bool TimeoutHasBeenSet() const { return m_timeoutHasBeenSet; } /** *

The amount of time that Lambda allows a function to run before stopping it. * The default is 3 seconds. The maximum allowed value is 900 seconds.

*/ inline void SetTimeout(int value) { m_timeoutHasBeenSet = true; m_timeout = value; } /** *

The amount of time that Lambda allows a function to run before stopping it. * The default is 3 seconds. The maximum allowed value is 900 seconds.

*/ inline CreateFunctionRequest& WithTimeout(int value) { SetTimeout(value); return *this;} /** *

The amount of memory that your function has access to. Increasing the * function's memory also increases its CPU allocation. The default value is 128 * MB. The value must be a multiple of 64 MB.

*/ inline int GetMemorySize() const{ return m_memorySize; } /** *

The amount of memory that your function has access to. Increasing the * function's memory also increases its CPU allocation. The default value is 128 * MB. The value must be a multiple of 64 MB.

*/ inline bool MemorySizeHasBeenSet() const { return m_memorySizeHasBeenSet; } /** *

The amount of memory that your function has access to. Increasing the * function's memory also increases its CPU allocation. The default value is 128 * MB. The value must be a multiple of 64 MB.

*/ inline void SetMemorySize(int value) { m_memorySizeHasBeenSet = true; m_memorySize = value; } /** *

The amount of memory that your function has access to. Increasing the * function's memory also increases its CPU allocation. The default value is 128 * MB. The value must be a multiple of 64 MB.

*/ inline CreateFunctionRequest& WithMemorySize(int value) { SetMemorySize(value); return *this;} /** *

Set to true to publish the first version of the function during creation.

*/ inline bool GetPublish() const{ return m_publish; } /** *

Set to true to publish the first version of the function during creation.

*/ inline bool PublishHasBeenSet() const { return m_publishHasBeenSet; } /** *

Set to true to publish the first version of the function during creation.

*/ inline void SetPublish(bool value) { m_publishHasBeenSet = true; m_publish = value; } /** *

Set to true to publish the first version of the function during creation.

*/ inline CreateFunctionRequest& WithPublish(bool value) { SetPublish(value); return *this;} /** *

For network connectivity to AWS 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 only access resources and the internet through that VPC. For more * information, see VPC * Settings.

*/ inline const VpcConfig& GetVpcConfig() const{ return m_vpcConfig; } /** *

For network connectivity to AWS 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 only access resources and the internet through that VPC. For more * information, see VPC * Settings.

*/ inline bool VpcConfigHasBeenSet() const { return m_vpcConfigHasBeenSet; } /** *

For network connectivity to AWS 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 only access resources and the internet through that VPC. For more * information, see VPC * Settings.

*/ inline void SetVpcConfig(const VpcConfig& value) { m_vpcConfigHasBeenSet = true; m_vpcConfig = value; } /** *

For network connectivity to AWS 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 only access resources and the internet through that VPC. For more * information, see VPC * Settings.

*/ inline void SetVpcConfig(VpcConfig&& value) { m_vpcConfigHasBeenSet = true; m_vpcConfig = std::move(value); } /** *

For network connectivity to AWS 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 only access resources and the internet through that VPC. For more * information, see VPC * Settings.

*/ inline CreateFunctionRequest& WithVpcConfig(const VpcConfig& value) { SetVpcConfig(value); return *this;} /** *

For network connectivity to AWS 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 only access resources and the internet through that VPC. For more * information, see VPC * Settings.

*/ inline CreateFunctionRequest& WithVpcConfig(VpcConfig&& value) { SetVpcConfig(std::move(value)); return *this;} /** *

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.

*/ inline const DeadLetterConfig& GetDeadLetterConfig() const{ return m_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.

*/ inline bool DeadLetterConfigHasBeenSet() const { return m_deadLetterConfigHasBeenSet; } /** *

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.

*/ inline void SetDeadLetterConfig(const DeadLetterConfig& value) { m_deadLetterConfigHasBeenSet = true; m_deadLetterConfig = value; } /** *

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.

*/ inline void SetDeadLetterConfig(DeadLetterConfig&& value) { m_deadLetterConfigHasBeenSet = true; m_deadLetterConfig = std::move(value); } /** *

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.

*/ inline CreateFunctionRequest& WithDeadLetterConfig(const DeadLetterConfig& value) { SetDeadLetterConfig(value); return *this;} /** *

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.

*/ inline CreateFunctionRequest& WithDeadLetterConfig(DeadLetterConfig&& value) { SetDeadLetterConfig(std::move(value)); return *this;} /** *

Environment variables that are accessible from function code during * execution.

*/ inline const Environment& GetEnvironment() const{ return m_environment; } /** *

Environment variables that are accessible from function code during * execution.

*/ inline bool EnvironmentHasBeenSet() const { return m_environmentHasBeenSet; } /** *

Environment variables that are accessible from function code during * execution.

*/ inline void SetEnvironment(const Environment& value) { m_environmentHasBeenSet = true; m_environment = value; } /** *

Environment variables that are accessible from function code during * execution.

*/ inline void SetEnvironment(Environment&& value) { m_environmentHasBeenSet = true; m_environment = std::move(value); } /** *

Environment variables that are accessible from function code during * execution.

*/ inline CreateFunctionRequest& WithEnvironment(const Environment& value) { SetEnvironment(value); return *this;} /** *

Environment variables that are accessible from function code during * execution.

*/ inline CreateFunctionRequest& WithEnvironment(Environment&& value) { SetEnvironment(std::move(value)); return *this;} /** *

The ARN of the AWS Key Management Service (AWS KMS) key that's used to * encrypt your function's environment variables. If it's not provided, AWS Lambda * uses a default service key.

*/ inline const Aws::String& GetKMSKeyArn() const{ return m_kMSKeyArn; } /** *

The ARN of the AWS Key Management Service (AWS KMS) key that's used to * encrypt your function's environment variables. If it's not provided, AWS Lambda * uses a default service key.

*/ inline bool KMSKeyArnHasBeenSet() const { return m_kMSKeyArnHasBeenSet; } /** *

The ARN of the AWS Key Management Service (AWS KMS) key that's used to * encrypt your function's environment variables. If it's not provided, AWS Lambda * uses a default service key.

*/ inline void SetKMSKeyArn(const Aws::String& value) { m_kMSKeyArnHasBeenSet = true; m_kMSKeyArn = value; } /** *

The ARN of the AWS Key Management Service (AWS KMS) key that's used to * encrypt your function's environment variables. If it's not provided, AWS Lambda * uses a default service key.

*/ inline void SetKMSKeyArn(Aws::String&& value) { m_kMSKeyArnHasBeenSet = true; m_kMSKeyArn = std::move(value); } /** *

The ARN of the AWS Key Management Service (AWS KMS) key that's used to * encrypt your function's environment variables. If it's not provided, AWS Lambda * uses a default service key.

*/ inline void SetKMSKeyArn(const char* value) { m_kMSKeyArnHasBeenSet = true; m_kMSKeyArn.assign(value); } /** *

The ARN of the AWS Key Management Service (AWS KMS) key that's used to * encrypt your function's environment variables. If it's not provided, AWS Lambda * uses a default service key.

*/ inline CreateFunctionRequest& WithKMSKeyArn(const Aws::String& value) { SetKMSKeyArn(value); return *this;} /** *

The ARN of the AWS Key Management Service (AWS KMS) key that's used to * encrypt your function's environment variables. If it's not provided, AWS Lambda * uses a default service key.

*/ inline CreateFunctionRequest& WithKMSKeyArn(Aws::String&& value) { SetKMSKeyArn(std::move(value)); return *this;} /** *

The ARN of the AWS Key Management Service (AWS KMS) key that's used to * encrypt your function's environment variables. If it's not provided, AWS Lambda * uses a default service key.

*/ inline CreateFunctionRequest& WithKMSKeyArn(const char* value) { SetKMSKeyArn(value); return *this;} /** *

Set Mode to Active to sample and trace a subset of * incoming requests with AWS X-Ray.

*/ inline const TracingConfig& GetTracingConfig() const{ return m_tracingConfig; } /** *

Set Mode to Active to sample and trace a subset of * incoming requests with AWS X-Ray.

*/ inline bool TracingConfigHasBeenSet() const { return m_tracingConfigHasBeenSet; } /** *

Set Mode to Active to sample and trace a subset of * incoming requests with AWS X-Ray.

*/ inline void SetTracingConfig(const TracingConfig& value) { m_tracingConfigHasBeenSet = true; m_tracingConfig = value; } /** *

Set Mode to Active to sample and trace a subset of * incoming requests with AWS X-Ray.

*/ inline void SetTracingConfig(TracingConfig&& value) { m_tracingConfigHasBeenSet = true; m_tracingConfig = std::move(value); } /** *

Set Mode to Active to sample and trace a subset of * incoming requests with AWS X-Ray.

*/ inline CreateFunctionRequest& WithTracingConfig(const TracingConfig& value) { SetTracingConfig(value); return *this;} /** *

Set Mode to Active to sample and trace a subset of * incoming requests with AWS X-Ray.

*/ inline CreateFunctionRequest& WithTracingConfig(TracingConfig&& value) { SetTracingConfig(std::move(value)); return *this;} /** *

A list of tags to * apply to the function.

*/ inline const Aws::Map& GetTags() const{ return m_tags; } /** *

A list of tags to * apply to the function.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

A list of tags to * apply to the function.

*/ inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

A list of tags to * apply to the function.

*/ inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

A list of tags to * apply to the function.

*/ inline CreateFunctionRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} /** *

A list of tags to * apply to the function.

*/ inline CreateFunctionRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} /** *

A list of tags to * apply to the function.

*/ inline CreateFunctionRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

A list of tags to * apply to the function.

*/ inline CreateFunctionRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

A list of tags to * apply to the function.

*/ inline CreateFunctionRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

A list of tags to * apply to the function.

*/ inline CreateFunctionRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

A list of tags to * apply to the function.

*/ inline CreateFunctionRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

A list of tags to * apply to the function.

*/ inline CreateFunctionRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

A list of tags to * apply to the function.

*/ inline CreateFunctionRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

A list of function * layers to add to the function's execution environment. Specify each layer by * its ARN, including the version.

*/ inline const Aws::Vector& GetLayers() const{ return m_layers; } /** *

A list of function * layers to add to the function's execution environment. Specify each layer by * its ARN, including the version.

*/ inline bool LayersHasBeenSet() const { return m_layersHasBeenSet; } /** *

A list of function * layers to add to the function's execution environment. Specify each layer by * its ARN, including the version.

*/ inline void SetLayers(const Aws::Vector& value) { m_layersHasBeenSet = true; m_layers = value; } /** *

A list of function * layers to add to the function's execution environment. Specify each layer by * its ARN, including the version.

*/ inline void SetLayers(Aws::Vector&& value) { m_layersHasBeenSet = true; m_layers = std::move(value); } /** *

A list of function * layers to add to the function's execution environment. Specify each layer by * its ARN, including the version.

*/ inline CreateFunctionRequest& WithLayers(const Aws::Vector& value) { SetLayers(value); return *this;} /** *

A list of function * layers to add to the function's execution environment. Specify each layer by * its ARN, including the version.

*/ inline CreateFunctionRequest& WithLayers(Aws::Vector&& value) { SetLayers(std::move(value)); return *this;} /** *

A list of function * layers to add to the function's execution environment. Specify each layer by * its ARN, including the version.

*/ inline CreateFunctionRequest& AddLayers(const Aws::String& value) { m_layersHasBeenSet = true; m_layers.push_back(value); return *this; } /** *

A list of function * layers to add to the function's execution environment. Specify each layer by * its ARN, including the version.

*/ inline CreateFunctionRequest& AddLayers(Aws::String&& value) { m_layersHasBeenSet = true; m_layers.push_back(std::move(value)); return *this; } /** *

A list of function * layers to add to the function's execution environment. Specify each layer by * its ARN, including the version.

*/ inline CreateFunctionRequest& AddLayers(const char* value) { m_layersHasBeenSet = true; m_layers.push_back(value); return *this; } /** *

Connection settings for an Amazon EFS file system.

*/ inline const Aws::Vector& GetFileSystemConfigs() const{ return m_fileSystemConfigs; } /** *

Connection settings for an Amazon EFS file system.

*/ inline bool FileSystemConfigsHasBeenSet() const { return m_fileSystemConfigsHasBeenSet; } /** *

Connection settings for an Amazon EFS file system.

*/ inline void SetFileSystemConfigs(const Aws::Vector& value) { m_fileSystemConfigsHasBeenSet = true; m_fileSystemConfigs = value; } /** *

Connection settings for an Amazon EFS file system.

*/ inline void SetFileSystemConfigs(Aws::Vector&& value) { m_fileSystemConfigsHasBeenSet = true; m_fileSystemConfigs = std::move(value); } /** *

Connection settings for an Amazon EFS file system.

*/ inline CreateFunctionRequest& WithFileSystemConfigs(const Aws::Vector& value) { SetFileSystemConfigs(value); return *this;} /** *

Connection settings for an Amazon EFS file system.

*/ inline CreateFunctionRequest& WithFileSystemConfigs(Aws::Vector&& value) { SetFileSystemConfigs(std::move(value)); return *this;} /** *

Connection settings for an Amazon EFS file system.

*/ inline CreateFunctionRequest& AddFileSystemConfigs(const FileSystemConfig& value) { m_fileSystemConfigsHasBeenSet = true; m_fileSystemConfigs.push_back(value); return *this; } /** *

Connection settings for an Amazon EFS file system.

*/ inline CreateFunctionRequest& AddFileSystemConfigs(FileSystemConfig&& value) { m_fileSystemConfigsHasBeenSet = true; m_fileSystemConfigs.push_back(std::move(value)); return *this; } private: Aws::String m_functionName; bool m_functionNameHasBeenSet; Runtime m_runtime; bool m_runtimeHasBeenSet; Aws::String m_role; bool m_roleHasBeenSet; Aws::String m_handler; bool m_handlerHasBeenSet; FunctionCode m_code; bool m_codeHasBeenSet; Aws::String m_description; bool m_descriptionHasBeenSet; int m_timeout; bool m_timeoutHasBeenSet; int m_memorySize; bool m_memorySizeHasBeenSet; bool m_publish; bool m_publishHasBeenSet; VpcConfig m_vpcConfig; bool m_vpcConfigHasBeenSet; DeadLetterConfig m_deadLetterConfig; bool m_deadLetterConfigHasBeenSet; Environment m_environment; bool m_environmentHasBeenSet; Aws::String m_kMSKeyArn; bool m_kMSKeyArnHasBeenSet; TracingConfig m_tracingConfig; bool m_tracingConfigHasBeenSet; Aws::Map m_tags; bool m_tagsHasBeenSet; Aws::Vector m_layers; bool m_layersHasBeenSet; Aws::Vector m_fileSystemConfigs; bool m_fileSystemConfigsHasBeenSet; }; } // namespace Model } // namespace Lambda } // namespace Aws