/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Inspector2 { namespace Model { /** *

The AWS Lambda function metadata.

See Also:

AWS * API Reference

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

The name of a function.

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

The name of a function.

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

The name of a function.

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

The name of a function.

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

The name of a function.

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

The name of a function.

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

The name of a function.

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

The name of a function.

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

The resource tags on an AWS Lambda function.

*/ inline const Aws::Map& GetFunctionTags() const{ return m_functionTags; } /** *

The resource tags on an AWS Lambda function.

*/ inline bool FunctionTagsHasBeenSet() const { return m_functionTagsHasBeenSet; } /** *

The resource tags on an AWS Lambda function.

*/ inline void SetFunctionTags(const Aws::Map& value) { m_functionTagsHasBeenSet = true; m_functionTags = value; } /** *

The resource tags on an AWS Lambda function.

*/ inline void SetFunctionTags(Aws::Map&& value) { m_functionTagsHasBeenSet = true; m_functionTags = std::move(value); } /** *

The resource tags on an AWS Lambda function.

*/ inline LambdaFunctionMetadata& WithFunctionTags(const Aws::Map& value) { SetFunctionTags(value); return *this;} /** *

The resource tags on an AWS Lambda function.

*/ inline LambdaFunctionMetadata& WithFunctionTags(Aws::Map&& value) { SetFunctionTags(std::move(value)); return *this;} /** *

The resource tags on an AWS Lambda function.

*/ inline LambdaFunctionMetadata& AddFunctionTags(const Aws::String& key, const Aws::String& value) { m_functionTagsHasBeenSet = true; m_functionTags.emplace(key, value); return *this; } /** *

The resource tags on an AWS Lambda function.

*/ inline LambdaFunctionMetadata& AddFunctionTags(Aws::String&& key, const Aws::String& value) { m_functionTagsHasBeenSet = true; m_functionTags.emplace(std::move(key), value); return *this; } /** *

The resource tags on an AWS Lambda function.

*/ inline LambdaFunctionMetadata& AddFunctionTags(const Aws::String& key, Aws::String&& value) { m_functionTagsHasBeenSet = true; m_functionTags.emplace(key, std::move(value)); return *this; } /** *

The resource tags on an AWS Lambda function.

*/ inline LambdaFunctionMetadata& AddFunctionTags(Aws::String&& key, Aws::String&& value) { m_functionTagsHasBeenSet = true; m_functionTags.emplace(std::move(key), std::move(value)); return *this; } /** *

The resource tags on an AWS Lambda function.

*/ inline LambdaFunctionMetadata& AddFunctionTags(const char* key, Aws::String&& value) { m_functionTagsHasBeenSet = true; m_functionTags.emplace(key, std::move(value)); return *this; } /** *

The resource tags on an AWS Lambda function.

*/ inline LambdaFunctionMetadata& AddFunctionTags(Aws::String&& key, const char* value) { m_functionTagsHasBeenSet = true; m_functionTags.emplace(std::move(key), value); return *this; } /** *

The resource tags on an AWS Lambda function.

*/ inline LambdaFunctionMetadata& AddFunctionTags(const char* key, const char* value) { m_functionTagsHasBeenSet = true; m_functionTags.emplace(key, value); return *this; } /** *

The layers for an AWS Lambda function. A Lambda function can have up to five * layers.

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

The layers for an AWS Lambda function. A Lambda function can have up to five * layers.

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

The layers for an AWS Lambda function. A Lambda function can have up to five * layers.

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

The layers for an AWS Lambda function. A Lambda function can have up to five * layers.

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

The layers for an AWS Lambda function. A Lambda function can have up to five * layers.

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

The layers for an AWS Lambda function. A Lambda function can have up to five * layers.

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

The layers for an AWS Lambda function. A Lambda function can have up to five * layers.

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

The layers for an AWS Lambda function. A Lambda function can have up to five * layers.

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

The layers for an AWS Lambda function. A Lambda function can have up to five * layers.

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

An AWS Lambda function's runtime.

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

An AWS Lambda function's runtime.

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

An AWS Lambda function's runtime.

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

An AWS Lambda function's runtime.

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

An AWS Lambda function's runtime.

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

An AWS Lambda function's runtime.

*/ inline LambdaFunctionMetadata& WithRuntime(Runtime&& value) { SetRuntime(std::move(value)); return *this;} private: Aws::String m_functionName; bool m_functionNameHasBeenSet = false; Aws::Map m_functionTags; bool m_functionTagsHasBeenSet = false; Aws::Vector m_layers; bool m_layersHasBeenSet = false; Runtime m_runtime; bool m_runtimeHasBeenSet = false; }; } // namespace Model } // namespace Inspector2 } // namespace Aws