/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Inspector2 { namespace Model { /** *

A summary of information about the AWS Lambda function.

See * Also:

AWS * API Reference

*/ class AwsLambdaFunctionDetails { public: AWS_INSPECTOR2_API AwsLambdaFunctionDetails(); AWS_INSPECTOR2_API AwsLambdaFunctionDetails(Aws::Utils::Json::JsonView jsonValue); AWS_INSPECTOR2_API AwsLambdaFunctionDetails& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_INSPECTOR2_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The instruction set architecture that the AWS Lambda function supports. * Architecture is a string array with one of the valid values. The default * architecture value is x86_64.

*/ inline const Aws::Vector& GetArchitectures() const{ return m_architectures; } /** *

The instruction set architecture that the AWS Lambda function supports. * Architecture is a string array with one of the valid values. The default * architecture value is x86_64.

*/ inline bool ArchitecturesHasBeenSet() const { return m_architecturesHasBeenSet; } /** *

The instruction set architecture that the AWS Lambda function supports. * Architecture is a string array with one of the valid values. The default * architecture value is x86_64.

*/ inline void SetArchitectures(const Aws::Vector& value) { m_architecturesHasBeenSet = true; m_architectures = value; } /** *

The instruction set architecture that the AWS Lambda function supports. * Architecture is a string array with one of the valid values. The default * architecture value is x86_64.

*/ inline void SetArchitectures(Aws::Vector&& value) { m_architecturesHasBeenSet = true; m_architectures = std::move(value); } /** *

The instruction set architecture that the AWS Lambda function supports. * Architecture is a string array with one of the valid values. The default * architecture value is x86_64.

*/ inline AwsLambdaFunctionDetails& WithArchitectures(const Aws::Vector& value) { SetArchitectures(value); return *this;} /** *

The instruction set architecture that the AWS Lambda function supports. * Architecture is a string array with one of the valid values. The default * architecture value is x86_64.

*/ inline AwsLambdaFunctionDetails& WithArchitectures(Aws::Vector&& value) { SetArchitectures(std::move(value)); return *this;} /** *

The instruction set architecture that the AWS Lambda function supports. * Architecture is a string array with one of the valid values. The default * architecture value is x86_64.

*/ inline AwsLambdaFunctionDetails& AddArchitectures(const Architecture& value) { m_architecturesHasBeenSet = true; m_architectures.push_back(value); return *this; } /** *

The instruction set architecture that the AWS Lambda function supports. * Architecture is a string array with one of the valid values. The default * architecture value is x86_64.

*/ inline AwsLambdaFunctionDetails& AddArchitectures(Architecture&& value) { m_architecturesHasBeenSet = true; m_architectures.push_back(std::move(value)); return *this; } /** *

The SHA256 hash of the AWS Lambda function's deployment package.

*/ inline const Aws::String& GetCodeSha256() const{ return m_codeSha256; } /** *

The SHA256 hash of the AWS Lambda function's deployment package.

*/ inline bool CodeSha256HasBeenSet() const { return m_codeSha256HasBeenSet; } /** *

The SHA256 hash of the AWS Lambda function's deployment package.

*/ inline void SetCodeSha256(const Aws::String& value) { m_codeSha256HasBeenSet = true; m_codeSha256 = value; } /** *

The SHA256 hash of the AWS Lambda function's deployment package.

*/ inline void SetCodeSha256(Aws::String&& value) { m_codeSha256HasBeenSet = true; m_codeSha256 = std::move(value); } /** *

The SHA256 hash of the AWS Lambda function's deployment package.

*/ inline void SetCodeSha256(const char* value) { m_codeSha256HasBeenSet = true; m_codeSha256.assign(value); } /** *

The SHA256 hash of the AWS Lambda function's deployment package.

*/ inline AwsLambdaFunctionDetails& WithCodeSha256(const Aws::String& value) { SetCodeSha256(value); return *this;} /** *

The SHA256 hash of the AWS Lambda function's deployment package.

*/ inline AwsLambdaFunctionDetails& WithCodeSha256(Aws::String&& value) { SetCodeSha256(std::move(value)); return *this;} /** *

The SHA256 hash of the AWS Lambda function's deployment package.

*/ inline AwsLambdaFunctionDetails& WithCodeSha256(const char* value) { SetCodeSha256(value); return *this;} /** *

The AWS Lambda function's execution role.

*/ inline const Aws::String& GetExecutionRoleArn() const{ return m_executionRoleArn; } /** *

The AWS Lambda function's execution role.

*/ inline bool ExecutionRoleArnHasBeenSet() const { return m_executionRoleArnHasBeenSet; } /** *

The AWS Lambda function's execution role.

*/ inline void SetExecutionRoleArn(const Aws::String& value) { m_executionRoleArnHasBeenSet = true; m_executionRoleArn = value; } /** *

The AWS Lambda function's execution role.

*/ inline void SetExecutionRoleArn(Aws::String&& value) { m_executionRoleArnHasBeenSet = true; m_executionRoleArn = std::move(value); } /** *

The AWS Lambda function's execution role.

*/ inline void SetExecutionRoleArn(const char* value) { m_executionRoleArnHasBeenSet = true; m_executionRoleArn.assign(value); } /** *

The AWS Lambda function's execution role.

*/ inline AwsLambdaFunctionDetails& WithExecutionRoleArn(const Aws::String& value) { SetExecutionRoleArn(value); return *this;} /** *

The AWS Lambda function's execution role.

*/ inline AwsLambdaFunctionDetails& WithExecutionRoleArn(Aws::String&& value) { SetExecutionRoleArn(std::move(value)); return *this;} /** *

The AWS Lambda function's execution role.

*/ inline AwsLambdaFunctionDetails& WithExecutionRoleArn(const char* value) { SetExecutionRoleArn(value); return *this;} /** *

The name of the AWS Lambda function.

*/ inline const Aws::String& GetFunctionName() const{ return m_functionName; } /** *

The name of the AWS Lambda function.

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

The name of the AWS Lambda function.

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

The name of the AWS Lambda function.

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

The name of the AWS Lambda function.

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

The name of the AWS Lambda function.

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

The name of the AWS Lambda function.

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

The name of the AWS Lambda function.

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

The date and time that a user last updated the configuration, in ISO 8601 * format

*/ inline const Aws::Utils::DateTime& GetLastModifiedAt() const{ return m_lastModifiedAt; } /** *

The date and time that a user last updated the configuration, in ISO 8601 * format

*/ inline bool LastModifiedAtHasBeenSet() const { return m_lastModifiedAtHasBeenSet; } /** *

The date and time that a user last updated the configuration, in ISO 8601 * format

*/ inline void SetLastModifiedAt(const Aws::Utils::DateTime& value) { m_lastModifiedAtHasBeenSet = true; m_lastModifiedAt = value; } /** *

The date and time that a user last updated the configuration, in ISO 8601 * format

*/ inline void SetLastModifiedAt(Aws::Utils::DateTime&& value) { m_lastModifiedAtHasBeenSet = true; m_lastModifiedAt = std::move(value); } /** *

The date and time that a user last updated the configuration, in ISO 8601 * format

*/ inline AwsLambdaFunctionDetails& WithLastModifiedAt(const Aws::Utils::DateTime& value) { SetLastModifiedAt(value); return *this;} /** *

The date and time that a user last updated the configuration, in ISO 8601 * format

*/ inline AwsLambdaFunctionDetails& WithLastModifiedAt(Aws::Utils::DateTime&& value) { SetLastModifiedAt(std::move(value)); return *this;} /** *

The AWS Lambda function's * layers. A Lambda function can have up to five layers.

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

The AWS Lambda function's * layers. A Lambda function can have up to five layers.

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

The AWS Lambda function's * layers. A Lambda function can have up to five layers.

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

The AWS Lambda function's * layers. A Lambda function can have up to five layers.

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

The AWS Lambda function's * layers. A Lambda function can have up to five layers.

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

The AWS Lambda function's * layers. A Lambda function can have up to five layers.

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

The AWS Lambda function's * layers. A Lambda function can have up to five layers.

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

The AWS Lambda function's * layers. A Lambda function can have up to five layers.

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

The AWS Lambda function's * layers. A Lambda function can have up to five layers.

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

The type of deployment package. Set to Image for container image * and set Zip for .zip file archive.

*/ inline const PackageType& GetPackageType() const{ return m_packageType; } /** *

The type of deployment package. Set to Image for container image * and set Zip for .zip file archive.

*/ inline bool PackageTypeHasBeenSet() const { return m_packageTypeHasBeenSet; } /** *

The type of deployment package. Set to Image for container image * and set Zip for .zip file archive.

*/ inline void SetPackageType(const PackageType& value) { m_packageTypeHasBeenSet = true; m_packageType = value; } /** *

The type of deployment package. Set to Image for container image * and set Zip for .zip file archive.

*/ inline void SetPackageType(PackageType&& value) { m_packageTypeHasBeenSet = true; m_packageType = std::move(value); } /** *

The type of deployment package. Set to Image for container image * and set Zip for .zip file archive.

*/ inline AwsLambdaFunctionDetails& WithPackageType(const PackageType& value) { SetPackageType(value); return *this;} /** *

The type of deployment package. Set to Image for container image * and set Zip for .zip file archive.

*/ inline AwsLambdaFunctionDetails& WithPackageType(PackageType&& value) { SetPackageType(std::move(value)); return *this;} /** *

The runtime environment for the AWS Lambda function.

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

The runtime environment for the AWS Lambda function.

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

The runtime environment for the AWS Lambda function.

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

The runtime environment for the AWS Lambda function.

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

The runtime environment for the AWS Lambda function.

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

The runtime environment for the AWS Lambda function.

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

The version of the AWS Lambda function.

*/ inline const Aws::String& GetVersion() const{ return m_version; } /** *

The version of the AWS Lambda function.

*/ inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; } /** *

The version of the AWS Lambda function.

*/ inline void SetVersion(const Aws::String& value) { m_versionHasBeenSet = true; m_version = value; } /** *

The version of the AWS Lambda function.

*/ inline void SetVersion(Aws::String&& value) { m_versionHasBeenSet = true; m_version = std::move(value); } /** *

The version of the AWS Lambda function.

*/ inline void SetVersion(const char* value) { m_versionHasBeenSet = true; m_version.assign(value); } /** *

The version of the AWS Lambda function.

*/ inline AwsLambdaFunctionDetails& WithVersion(const Aws::String& value) { SetVersion(value); return *this;} /** *

The version of the AWS Lambda function.

*/ inline AwsLambdaFunctionDetails& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;} /** *

The version of the AWS Lambda function.

*/ inline AwsLambdaFunctionDetails& WithVersion(const char* value) { SetVersion(value); return *this;} /** *

The AWS Lambda function's networking configuration.

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

The AWS Lambda function's networking configuration.

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

The AWS Lambda function's networking configuration.

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

The AWS Lambda function's networking configuration.

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

The AWS Lambda function's networking configuration.

*/ inline AwsLambdaFunctionDetails& WithVpcConfig(const LambdaVpcConfig& value) { SetVpcConfig(value); return *this;} /** *

The AWS Lambda function's networking configuration.

*/ inline AwsLambdaFunctionDetails& WithVpcConfig(LambdaVpcConfig&& value) { SetVpcConfig(std::move(value)); return *this;} private: Aws::Vector m_architectures; bool m_architecturesHasBeenSet = false; Aws::String m_codeSha256; bool m_codeSha256HasBeenSet = false; Aws::String m_executionRoleArn; bool m_executionRoleArnHasBeenSet = false; Aws::String m_functionName; bool m_functionNameHasBeenSet = false; Aws::Utils::DateTime m_lastModifiedAt; bool m_lastModifiedAtHasBeenSet = false; Aws::Vector m_layers; bool m_layersHasBeenSet = false; PackageType m_packageType; bool m_packageTypeHasBeenSet = false; Runtime m_runtime; bool m_runtimeHasBeenSet = false; Aws::String m_version; bool m_versionHasBeenSet = false; LambdaVpcConfig m_vpcConfig; bool m_vpcConfigHasBeenSet = false; }; } // namespace Model } // namespace Inspector2 } // namespace Aws