Lesson 35 - Get Compute Auth Token Working

This commit is contained in:
Norman Lansing
2026-02-28 12:32:28 -05:00
parent 1d477ee42a
commit 4fde462bce
7743 changed files with 1397833 additions and 18 deletions

View File

@@ -0,0 +1,515 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/lambda/Lambda_EXPORTS.h>
#include <aws/lambda/LambdaRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/lambda/model/Runtime.h>
#include <aws/lambda/model/FunctionCode.h>
#include <aws/lambda/model/VpcConfig.h>
#include <aws/lambda/model/PackageType.h>
#include <aws/lambda/model/DeadLetterConfig.h>
#include <aws/lambda/model/Environment.h>
#include <aws/lambda/model/TracingConfig.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/lambda/model/ImageConfig.h>
#include <aws/lambda/model/EphemeralStorage.h>
#include <aws/lambda/model/SnapStart.h>
#include <aws/lambda/model/LoggingConfig.h>
#include <aws/lambda/model/FileSystemConfig.h>
#include <aws/lambda/model/Architecture.h>
#include <utility>
namespace Aws
{
namespace Lambda
{
namespace Model
{
/**
*/
class CreateFunctionRequest : public LambdaRequest
{
public:
AWS_LAMBDA_API 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_LAMBDA_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The name or ARN of the Lambda function.</p> <p class="title"> <b>Name
* formats</b> </p> <ul> <li> <p> <b>Function name</b>
* <code>my-function</code>.</p> </li> <li> <p> <b>Function ARN</b>
* <code>arn:aws:lambda:us-west-2:123456789012:function:my-function</code>.</p>
* </li> <li> <p> <b>Partial ARN</b>
* <code>123456789012:function:my-function</code>.</p> </li> </ul> <p>The length
* constraint applies only to the full ARN. If you specify only the function name,
* it is limited to 64 characters in length.</p>
*/
inline const Aws::String& GetFunctionName() const{ return m_functionName; }
inline bool FunctionNameHasBeenSet() const { return m_functionNameHasBeenSet; }
inline void SetFunctionName(const Aws::String& value) { m_functionNameHasBeenSet = true; m_functionName = value; }
inline void SetFunctionName(Aws::String&& value) { m_functionNameHasBeenSet = true; m_functionName = std::move(value); }
inline void SetFunctionName(const char* value) { m_functionNameHasBeenSet = true; m_functionName.assign(value); }
inline CreateFunctionRequest& WithFunctionName(const Aws::String& value) { SetFunctionName(value); return *this;}
inline CreateFunctionRequest& WithFunctionName(Aws::String&& value) { SetFunctionName(std::move(value)); return *this;}
inline CreateFunctionRequest& WithFunctionName(const char* value) { SetFunctionName(value); return *this;}
///@}
///@{
/**
* <p>The identifier of the function's <a
* href="https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html">
* runtime</a>. Runtime is required if the deployment package is a .zip file
* archive. Specifying a runtime results in an error if you're deploying a function
* using a container image.</p> <p>The following list includes deprecated runtimes.
* Lambda blocks creating new functions and updating existing functions shortly
* after each runtime is deprecated. For more information, see <a
* href="https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels">Runtime
* use after deprecation</a>.</p> <p>For a list of all currently supported
* runtimes, see <a
* href="https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported">Supported
* runtimes</a>.</p>
*/
inline const Runtime& GetRuntime() const{ return m_runtime; }
inline bool RuntimeHasBeenSet() const { return m_runtimeHasBeenSet; }
inline void SetRuntime(const Runtime& value) { m_runtimeHasBeenSet = true; m_runtime = value; }
inline void SetRuntime(Runtime&& value) { m_runtimeHasBeenSet = true; m_runtime = std::move(value); }
inline CreateFunctionRequest& WithRuntime(const Runtime& value) { SetRuntime(value); return *this;}
inline CreateFunctionRequest& WithRuntime(Runtime&& value) { SetRuntime(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The Amazon Resource Name (ARN) of the function's execution role.</p>
*/
inline const Aws::String& GetRole() const{ return m_role; }
inline bool RoleHasBeenSet() const { return m_roleHasBeenSet; }
inline void SetRole(const Aws::String& value) { m_roleHasBeenSet = true; m_role = value; }
inline void SetRole(Aws::String&& value) { m_roleHasBeenSet = true; m_role = std::move(value); }
inline void SetRole(const char* value) { m_roleHasBeenSet = true; m_role.assign(value); }
inline CreateFunctionRequest& WithRole(const Aws::String& value) { SetRole(value); return *this;}
inline CreateFunctionRequest& WithRole(Aws::String&& value) { SetRole(std::move(value)); return *this;}
inline CreateFunctionRequest& WithRole(const char* value) { SetRole(value); return *this;}
///@}
///@{
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/lambda/latest/dg/foundation-progmodel.html">Lambda
* programming model</a>.</p>
*/
inline const Aws::String& GetHandler() const{ return m_handler; }
inline bool HandlerHasBeenSet() const { return m_handlerHasBeenSet; }
inline void SetHandler(const Aws::String& value) { m_handlerHasBeenSet = true; m_handler = value; }
inline void SetHandler(Aws::String&& value) { m_handlerHasBeenSet = true; m_handler = std::move(value); }
inline void SetHandler(const char* value) { m_handlerHasBeenSet = true; m_handler.assign(value); }
inline CreateFunctionRequest& WithHandler(const Aws::String& value) { SetHandler(value); return *this;}
inline CreateFunctionRequest& WithHandler(Aws::String&& value) { SetHandler(std::move(value)); return *this;}
inline CreateFunctionRequest& WithHandler(const char* value) { SetHandler(value); return *this;}
///@}
///@{
/**
* <p>The code for the function.</p>
*/
inline const FunctionCode& GetCode() const{ return m_code; }
inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; }
inline void SetCode(const FunctionCode& value) { m_codeHasBeenSet = true; m_code = value; }
inline void SetCode(FunctionCode&& value) { m_codeHasBeenSet = true; m_code = std::move(value); }
inline CreateFunctionRequest& WithCode(const FunctionCode& value) { SetCode(value); return *this;}
inline CreateFunctionRequest& WithCode(FunctionCode&& value) { SetCode(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A description of the function.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
inline CreateFunctionRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
inline CreateFunctionRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
inline CreateFunctionRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
///@}
///@{
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html">Lambda
* execution environment</a>.</p>
*/
inline int GetTimeout() const{ return m_timeout; }
inline bool TimeoutHasBeenSet() const { return m_timeoutHasBeenSet; }
inline void SetTimeout(int value) { m_timeoutHasBeenSet = true; m_timeout = value; }
inline CreateFunctionRequest& WithTimeout(int value) { SetTimeout(value); return *this;}
///@}
///@{
/**
* <p>The amount of <a
* href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-memory-console">memory
* available to the function</a> 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.</p>
*/
inline int GetMemorySize() const{ return m_memorySize; }
inline bool MemorySizeHasBeenSet() const { return m_memorySizeHasBeenSet; }
inline void SetMemorySize(int value) { m_memorySizeHasBeenSet = true; m_memorySize = value; }
inline CreateFunctionRequest& WithMemorySize(int value) { SetMemorySize(value); return *this;}
///@}
///@{
/**
* <p>Set to true to publish the first version of the function during creation.</p>
*/
inline bool GetPublish() const{ return m_publish; }
inline bool PublishHasBeenSet() const { return m_publishHasBeenSet; }
inline void SetPublish(bool value) { m_publishHasBeenSet = true; m_publish = value; }
inline CreateFunctionRequest& WithPublish(bool value) { SetPublish(value); return *this;}
///@}
///@{
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html">Configuring
* a Lambda function to access resources in a VPC</a>.</p>
*/
inline const VpcConfig& GetVpcConfig() const{ return m_vpcConfig; }
inline bool VpcConfigHasBeenSet() const { return m_vpcConfigHasBeenSet; }
inline void SetVpcConfig(const VpcConfig& value) { m_vpcConfigHasBeenSet = true; m_vpcConfig = value; }
inline void SetVpcConfig(VpcConfig&& value) { m_vpcConfigHasBeenSet = true; m_vpcConfig = std::move(value); }
inline CreateFunctionRequest& WithVpcConfig(const VpcConfig& value) { SetVpcConfig(value); return *this;}
inline CreateFunctionRequest& WithVpcConfig(VpcConfig&& value) { SetVpcConfig(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The type of deployment package. Set to <code>Image</code> for container image
* and set to <code>Zip</code> for .zip file archive.</p>
*/
inline const PackageType& GetPackageType() const{ return m_packageType; }
inline bool PackageTypeHasBeenSet() const { return m_packageTypeHasBeenSet; }
inline void SetPackageType(const PackageType& value) { m_packageTypeHasBeenSet = true; m_packageType = value; }
inline void SetPackageType(PackageType&& value) { m_packageTypeHasBeenSet = true; m_packageType = std::move(value); }
inline CreateFunctionRequest& WithPackageType(const PackageType& value) { SetPackageType(value); return *this;}
inline CreateFunctionRequest& WithPackageType(PackageType&& value) { SetPackageType(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A dead-letter queue configuration that specifies the queue or topic where
* Lambda sends asynchronous events when they fail processing. For more
* information, see <a
* href="https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq">Dead-letter
* queues</a>.</p>
*/
inline const DeadLetterConfig& GetDeadLetterConfig() const{ return m_deadLetterConfig; }
inline bool DeadLetterConfigHasBeenSet() const { return m_deadLetterConfigHasBeenSet; }
inline void SetDeadLetterConfig(const DeadLetterConfig& value) { m_deadLetterConfigHasBeenSet = true; m_deadLetterConfig = value; }
inline void SetDeadLetterConfig(DeadLetterConfig&& value) { m_deadLetterConfigHasBeenSet = true; m_deadLetterConfig = std::move(value); }
inline CreateFunctionRequest& WithDeadLetterConfig(const DeadLetterConfig& value) { SetDeadLetterConfig(value); return *this;}
inline CreateFunctionRequest& WithDeadLetterConfig(DeadLetterConfig&& value) { SetDeadLetterConfig(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Environment variables that are accessible from function code during
* execution.</p>
*/
inline const Environment& GetEnvironment() const{ return m_environment; }
inline bool EnvironmentHasBeenSet() const { return m_environmentHasBeenSet; }
inline void SetEnvironment(const Environment& value) { m_environmentHasBeenSet = true; m_environment = value; }
inline void SetEnvironment(Environment&& value) { m_environmentHasBeenSet = true; m_environment = std::move(value); }
inline CreateFunctionRequest& WithEnvironment(const Environment& value) { SetEnvironment(value); return *this;}
inline CreateFunctionRequest& WithEnvironment(Environment&& value) { SetEnvironment(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The ARN of the Key Management Service (KMS) customer managed key that's used
* to encrypt the following resources:</p> <ul> <li> <p>The function's <a
* href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption">environment
* variables</a>.</p> </li> <li> <p>The function's <a
* href="https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html">Lambda
* SnapStart</a> snapshots.</p> </li> <li> <p>When used with
* <code>SourceKMSKeyArn</code>, the unzipped version of the .zip deployment
* package that's used for function invocations. For more information, see <a
* href="https://docs.aws.amazon.com/lambda/latest/dg/encrypt-zip-package.html#enable-zip-custom-encryption">
* Specifying a customer managed key for Lambda</a>.</p> </li> <li> <p>The
* optimized version of the container image that's used for function invocations.
* Note that this is not the same key that's used to protect your container image
* in the Amazon Elastic Container Registry (Amazon ECR). For more information, see
* <a
* href="https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-lifecycle">Function
* lifecycle</a>.</p> </li> </ul> <p>If you don't provide a customer managed key,
* Lambda uses an <a
* href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk">Amazon
* Web Services owned key</a> or an <a
* href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon
* Web Services managed key</a>.</p>
*/
inline const Aws::String& GetKMSKeyArn() const{ return m_kMSKeyArn; }
inline bool KMSKeyArnHasBeenSet() const { return m_kMSKeyArnHasBeenSet; }
inline void SetKMSKeyArn(const Aws::String& value) { m_kMSKeyArnHasBeenSet = true; m_kMSKeyArn = value; }
inline void SetKMSKeyArn(Aws::String&& value) { m_kMSKeyArnHasBeenSet = true; m_kMSKeyArn = std::move(value); }
inline void SetKMSKeyArn(const char* value) { m_kMSKeyArnHasBeenSet = true; m_kMSKeyArn.assign(value); }
inline CreateFunctionRequest& WithKMSKeyArn(const Aws::String& value) { SetKMSKeyArn(value); return *this;}
inline CreateFunctionRequest& WithKMSKeyArn(Aws::String&& value) { SetKMSKeyArn(std::move(value)); return *this;}
inline CreateFunctionRequest& WithKMSKeyArn(const char* value) { SetKMSKeyArn(value); return *this;}
///@}
///@{
/**
* <p>Set <code>Mode</code> to <code>Active</code> to sample and trace a subset of
* incoming requests with <a
* href="https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html">X-Ray</a>.</p>
*/
inline const TracingConfig& GetTracingConfig() const{ return m_tracingConfig; }
inline bool TracingConfigHasBeenSet() const { return m_tracingConfigHasBeenSet; }
inline void SetTracingConfig(const TracingConfig& value) { m_tracingConfigHasBeenSet = true; m_tracingConfig = value; }
inline void SetTracingConfig(TracingConfig&& value) { m_tracingConfigHasBeenSet = true; m_tracingConfig = std::move(value); }
inline CreateFunctionRequest& WithTracingConfig(const TracingConfig& value) { SetTracingConfig(value); return *this;}
inline CreateFunctionRequest& WithTracingConfig(TracingConfig&& value) { SetTracingConfig(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A list of <a
* href="https://docs.aws.amazon.com/lambda/latest/dg/tagging.html">tags</a> to
* apply to the function.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; }
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tagsHasBeenSet = true; m_tags = value; }
inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
inline CreateFunctionRequest& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;}
inline CreateFunctionRequest& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;}
inline CreateFunctionRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
inline CreateFunctionRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
inline CreateFunctionRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
inline CreateFunctionRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; }
inline CreateFunctionRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
inline CreateFunctionRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
inline CreateFunctionRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
///@}
///@{
/**
* <p>A list of <a
* href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html">function
* layers</a> to add to the function's execution environment. Specify each layer by
* its ARN, including the version.</p>
*/
inline const Aws::Vector<Aws::String>& GetLayers() const{ return m_layers; }
inline bool LayersHasBeenSet() const { return m_layersHasBeenSet; }
inline void SetLayers(const Aws::Vector<Aws::String>& value) { m_layersHasBeenSet = true; m_layers = value; }
inline void SetLayers(Aws::Vector<Aws::String>&& value) { m_layersHasBeenSet = true; m_layers = std::move(value); }
inline CreateFunctionRequest& WithLayers(const Aws::Vector<Aws::String>& value) { SetLayers(value); return *this;}
inline CreateFunctionRequest& WithLayers(Aws::Vector<Aws::String>&& value) { SetLayers(std::move(value)); return *this;}
inline CreateFunctionRequest& AddLayers(const Aws::String& value) { m_layersHasBeenSet = true; m_layers.push_back(value); return *this; }
inline CreateFunctionRequest& AddLayers(Aws::String&& value) { m_layersHasBeenSet = true; m_layers.push_back(std::move(value)); return *this; }
inline CreateFunctionRequest& AddLayers(const char* value) { m_layersHasBeenSet = true; m_layers.push_back(value); return *this; }
///@}
///@{
/**
* <p>Connection settings for an Amazon EFS file system.</p>
*/
inline const Aws::Vector<FileSystemConfig>& GetFileSystemConfigs() const{ return m_fileSystemConfigs; }
inline bool FileSystemConfigsHasBeenSet() const { return m_fileSystemConfigsHasBeenSet; }
inline void SetFileSystemConfigs(const Aws::Vector<FileSystemConfig>& value) { m_fileSystemConfigsHasBeenSet = true; m_fileSystemConfigs = value; }
inline void SetFileSystemConfigs(Aws::Vector<FileSystemConfig>&& value) { m_fileSystemConfigsHasBeenSet = true; m_fileSystemConfigs = std::move(value); }
inline CreateFunctionRequest& WithFileSystemConfigs(const Aws::Vector<FileSystemConfig>& value) { SetFileSystemConfigs(value); return *this;}
inline CreateFunctionRequest& WithFileSystemConfigs(Aws::Vector<FileSystemConfig>&& value) { SetFileSystemConfigs(std::move(value)); return *this;}
inline CreateFunctionRequest& AddFileSystemConfigs(const FileSystemConfig& value) { m_fileSystemConfigsHasBeenSet = true; m_fileSystemConfigs.push_back(value); return *this; }
inline CreateFunctionRequest& AddFileSystemConfigs(FileSystemConfig&& value) { m_fileSystemConfigsHasBeenSet = true; m_fileSystemConfigs.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>Container image <a
* href="https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-parms">configuration
* values</a> that override the values in the container image Dockerfile.</p>
*/
inline const ImageConfig& GetImageConfig() const{ return m_imageConfig; }
inline bool ImageConfigHasBeenSet() const { return m_imageConfigHasBeenSet; }
inline void SetImageConfig(const ImageConfig& value) { m_imageConfigHasBeenSet = true; m_imageConfig = value; }
inline void SetImageConfig(ImageConfig&& value) { m_imageConfigHasBeenSet = true; m_imageConfig = std::move(value); }
inline CreateFunctionRequest& WithImageConfig(const ImageConfig& value) { SetImageConfig(value); return *this;}
inline CreateFunctionRequest& WithImageConfig(ImageConfig&& value) { SetImageConfig(std::move(value)); return *this;}
///@}
///@{
/**
* <p>To enable code signing for this function, specify the ARN of a code-signing
* configuration. A code-signing configuration includes a set of signing profiles,
* which define the trusted publishers for this function.</p>
*/
inline const Aws::String& GetCodeSigningConfigArn() const{ return m_codeSigningConfigArn; }
inline bool CodeSigningConfigArnHasBeenSet() const { return m_codeSigningConfigArnHasBeenSet; }
inline void SetCodeSigningConfigArn(const Aws::String& value) { m_codeSigningConfigArnHasBeenSet = true; m_codeSigningConfigArn = value; }
inline void SetCodeSigningConfigArn(Aws::String&& value) { m_codeSigningConfigArnHasBeenSet = true; m_codeSigningConfigArn = std::move(value); }
inline void SetCodeSigningConfigArn(const char* value) { m_codeSigningConfigArnHasBeenSet = true; m_codeSigningConfigArn.assign(value); }
inline CreateFunctionRequest& WithCodeSigningConfigArn(const Aws::String& value) { SetCodeSigningConfigArn(value); return *this;}
inline CreateFunctionRequest& WithCodeSigningConfigArn(Aws::String&& value) { SetCodeSigningConfigArn(std::move(value)); return *this;}
inline CreateFunctionRequest& WithCodeSigningConfigArn(const char* value) { SetCodeSigningConfigArn(value); return *this;}
///@}
///@{
/**
* <p>The instruction set architecture that the function supports. Enter a string
* array with one of the valid values (arm64 or x86_64). The default value is
* <code>x86_64</code>.</p>
*/
inline const Aws::Vector<Architecture>& GetArchitectures() const{ return m_architectures; }
inline bool ArchitecturesHasBeenSet() const { return m_architecturesHasBeenSet; }
inline void SetArchitectures(const Aws::Vector<Architecture>& value) { m_architecturesHasBeenSet = true; m_architectures = value; }
inline void SetArchitectures(Aws::Vector<Architecture>&& value) { m_architecturesHasBeenSet = true; m_architectures = std::move(value); }
inline CreateFunctionRequest& WithArchitectures(const Aws::Vector<Architecture>& value) { SetArchitectures(value); return *this;}
inline CreateFunctionRequest& WithArchitectures(Aws::Vector<Architecture>&& value) { SetArchitectures(std::move(value)); return *this;}
inline CreateFunctionRequest& AddArchitectures(const Architecture& value) { m_architecturesHasBeenSet = true; m_architectures.push_back(value); return *this; }
inline CreateFunctionRequest& AddArchitectures(Architecture&& value) { m_architecturesHasBeenSet = true; m_architectures.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>The size of the function's <code>/tmp</code> directory in MB. The default
* value is 512, but can be any whole number between 512 and 10,240 MB. For more
* information, see <a
* href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-ephemeral-storage">Configuring
* ephemeral storage (console)</a>.</p>
*/
inline const EphemeralStorage& GetEphemeralStorage() const{ return m_ephemeralStorage; }
inline bool EphemeralStorageHasBeenSet() const { return m_ephemeralStorageHasBeenSet; }
inline void SetEphemeralStorage(const EphemeralStorage& value) { m_ephemeralStorageHasBeenSet = true; m_ephemeralStorage = value; }
inline void SetEphemeralStorage(EphemeralStorage&& value) { m_ephemeralStorageHasBeenSet = true; m_ephemeralStorage = std::move(value); }
inline CreateFunctionRequest& WithEphemeralStorage(const EphemeralStorage& value) { SetEphemeralStorage(value); return *this;}
inline CreateFunctionRequest& WithEphemeralStorage(EphemeralStorage&& value) { SetEphemeralStorage(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The function's <a
* href="https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html">SnapStart</a>
* setting.</p>
*/
inline const SnapStart& GetSnapStart() const{ return m_snapStart; }
inline bool SnapStartHasBeenSet() const { return m_snapStartHasBeenSet; }
inline void SetSnapStart(const SnapStart& value) { m_snapStartHasBeenSet = true; m_snapStart = value; }
inline void SetSnapStart(SnapStart&& value) { m_snapStartHasBeenSet = true; m_snapStart = std::move(value); }
inline CreateFunctionRequest& WithSnapStart(const SnapStart& value) { SetSnapStart(value); return *this;}
inline CreateFunctionRequest& WithSnapStart(SnapStart&& value) { SetSnapStart(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The function's Amazon CloudWatch Logs configuration settings.</p>
*/
inline const LoggingConfig& GetLoggingConfig() const{ return m_loggingConfig; }
inline bool LoggingConfigHasBeenSet() const { return m_loggingConfigHasBeenSet; }
inline void SetLoggingConfig(const LoggingConfig& value) { m_loggingConfigHasBeenSet = true; m_loggingConfig = value; }
inline void SetLoggingConfig(LoggingConfig&& value) { m_loggingConfigHasBeenSet = true; m_loggingConfig = std::move(value); }
inline CreateFunctionRequest& WithLoggingConfig(const LoggingConfig& value) { SetLoggingConfig(value); return *this;}
inline CreateFunctionRequest& WithLoggingConfig(LoggingConfig&& value) { SetLoggingConfig(std::move(value)); return *this;}
///@}
private:
Aws::String m_functionName;
bool m_functionNameHasBeenSet = false;
Runtime m_runtime;
bool m_runtimeHasBeenSet = false;
Aws::String m_role;
bool m_roleHasBeenSet = false;
Aws::String m_handler;
bool m_handlerHasBeenSet = false;
FunctionCode m_code;
bool m_codeHasBeenSet = false;
Aws::String m_description;
bool m_descriptionHasBeenSet = false;
int m_timeout;
bool m_timeoutHasBeenSet = false;
int m_memorySize;
bool m_memorySizeHasBeenSet = false;
bool m_publish;
bool m_publishHasBeenSet = false;
VpcConfig m_vpcConfig;
bool m_vpcConfigHasBeenSet = false;
PackageType m_packageType;
bool m_packageTypeHasBeenSet = false;
DeadLetterConfig m_deadLetterConfig;
bool m_deadLetterConfigHasBeenSet = false;
Environment m_environment;
bool m_environmentHasBeenSet = false;
Aws::String m_kMSKeyArn;
bool m_kMSKeyArnHasBeenSet = false;
TracingConfig m_tracingConfig;
bool m_tracingConfigHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_tags;
bool m_tagsHasBeenSet = false;
Aws::Vector<Aws::String> m_layers;
bool m_layersHasBeenSet = false;
Aws::Vector<FileSystemConfig> m_fileSystemConfigs;
bool m_fileSystemConfigsHasBeenSet = false;
ImageConfig m_imageConfig;
bool m_imageConfigHasBeenSet = false;
Aws::String m_codeSigningConfigArn;
bool m_codeSigningConfigArnHasBeenSet = false;
Aws::Vector<Architecture> m_architectures;
bool m_architecturesHasBeenSet = false;
EphemeralStorage m_ephemeralStorage;
bool m_ephemeralStorageHasBeenSet = false;
SnapStart m_snapStart;
bool m_snapStartHasBeenSet = false;
LoggingConfig m_loggingConfig;
bool m_loggingConfigHasBeenSet = false;
};
} // namespace Model
} // namespace Lambda
} // namespace Aws