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

Information about a Lambda function specified in a deployment. *

See Also:

AWS * API Reference

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

The name of a Lambda function.

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

The name of a Lambda function.

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

The name of a Lambda function.

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

The name of a Lambda function.

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

The name of a Lambda function.

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

The name of a Lambda function.

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

The name of a Lambda function.

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

The name of a Lambda function.

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

The alias of a Lambda function. For more information, see Lambda * Function Aliases in the Lambda Developer Guide.

*/ inline const Aws::String& GetFunctionAlias() const{ return m_functionAlias; } /** *

The alias of a Lambda function. For more information, see Lambda * Function Aliases in the Lambda Developer Guide.

*/ inline bool FunctionAliasHasBeenSet() const { return m_functionAliasHasBeenSet; } /** *

The alias of a Lambda function. For more information, see Lambda * Function Aliases in the Lambda Developer Guide.

*/ inline void SetFunctionAlias(const Aws::String& value) { m_functionAliasHasBeenSet = true; m_functionAlias = value; } /** *

The alias of a Lambda function. For more information, see Lambda * Function Aliases in the Lambda Developer Guide.

*/ inline void SetFunctionAlias(Aws::String&& value) { m_functionAliasHasBeenSet = true; m_functionAlias = std::move(value); } /** *

The alias of a Lambda function. For more information, see Lambda * Function Aliases in the Lambda Developer Guide.

*/ inline void SetFunctionAlias(const char* value) { m_functionAliasHasBeenSet = true; m_functionAlias.assign(value); } /** *

The alias of a Lambda function. For more information, see Lambda * Function Aliases in the Lambda Developer Guide.

*/ inline LambdaFunctionInfo& WithFunctionAlias(const Aws::String& value) { SetFunctionAlias(value); return *this;} /** *

The alias of a Lambda function. For more information, see Lambda * Function Aliases in the Lambda Developer Guide.

*/ inline LambdaFunctionInfo& WithFunctionAlias(Aws::String&& value) { SetFunctionAlias(std::move(value)); return *this;} /** *

The alias of a Lambda function. For more information, see Lambda * Function Aliases in the Lambda Developer Guide.

*/ inline LambdaFunctionInfo& WithFunctionAlias(const char* value) { SetFunctionAlias(value); return *this;} /** *

The version of a Lambda function that production traffic points to.

*/ inline const Aws::String& GetCurrentVersion() const{ return m_currentVersion; } /** *

The version of a Lambda function that production traffic points to.

*/ inline bool CurrentVersionHasBeenSet() const { return m_currentVersionHasBeenSet; } /** *

The version of a Lambda function that production traffic points to.

*/ inline void SetCurrentVersion(const Aws::String& value) { m_currentVersionHasBeenSet = true; m_currentVersion = value; } /** *

The version of a Lambda function that production traffic points to.

*/ inline void SetCurrentVersion(Aws::String&& value) { m_currentVersionHasBeenSet = true; m_currentVersion = std::move(value); } /** *

The version of a Lambda function that production traffic points to.

*/ inline void SetCurrentVersion(const char* value) { m_currentVersionHasBeenSet = true; m_currentVersion.assign(value); } /** *

The version of a Lambda function that production traffic points to.

*/ inline LambdaFunctionInfo& WithCurrentVersion(const Aws::String& value) { SetCurrentVersion(value); return *this;} /** *

The version of a Lambda function that production traffic points to.

*/ inline LambdaFunctionInfo& WithCurrentVersion(Aws::String&& value) { SetCurrentVersion(std::move(value)); return *this;} /** *

The version of a Lambda function that production traffic points to.

*/ inline LambdaFunctionInfo& WithCurrentVersion(const char* value) { SetCurrentVersion(value); return *this;} /** *

The version of a Lambda function that production traffic points to after the * Lambda function is deployed.

*/ inline const Aws::String& GetTargetVersion() const{ return m_targetVersion; } /** *

The version of a Lambda function that production traffic points to after the * Lambda function is deployed.

*/ inline bool TargetVersionHasBeenSet() const { return m_targetVersionHasBeenSet; } /** *

The version of a Lambda function that production traffic points to after the * Lambda function is deployed.

*/ inline void SetTargetVersion(const Aws::String& value) { m_targetVersionHasBeenSet = true; m_targetVersion = value; } /** *

The version of a Lambda function that production traffic points to after the * Lambda function is deployed.

*/ inline void SetTargetVersion(Aws::String&& value) { m_targetVersionHasBeenSet = true; m_targetVersion = std::move(value); } /** *

The version of a Lambda function that production traffic points to after the * Lambda function is deployed.

*/ inline void SetTargetVersion(const char* value) { m_targetVersionHasBeenSet = true; m_targetVersion.assign(value); } /** *

The version of a Lambda function that production traffic points to after the * Lambda function is deployed.

*/ inline LambdaFunctionInfo& WithTargetVersion(const Aws::String& value) { SetTargetVersion(value); return *this;} /** *

The version of a Lambda function that production traffic points to after the * Lambda function is deployed.

*/ inline LambdaFunctionInfo& WithTargetVersion(Aws::String&& value) { SetTargetVersion(std::move(value)); return *this;} /** *

The version of a Lambda function that production traffic points to after the * Lambda function is deployed.

*/ inline LambdaFunctionInfo& WithTargetVersion(const char* value) { SetTargetVersion(value); return *this;} /** *

The percentage of production traffic that the target version of a Lambda * function receives.

*/ inline double GetTargetVersionWeight() const{ return m_targetVersionWeight; } /** *

The percentage of production traffic that the target version of a Lambda * function receives.

*/ inline bool TargetVersionWeightHasBeenSet() const { return m_targetVersionWeightHasBeenSet; } /** *

The percentage of production traffic that the target version of a Lambda * function receives.

*/ inline void SetTargetVersionWeight(double value) { m_targetVersionWeightHasBeenSet = true; m_targetVersionWeight = value; } /** *

The percentage of production traffic that the target version of a Lambda * function receives.

*/ inline LambdaFunctionInfo& WithTargetVersionWeight(double value) { SetTargetVersionWeight(value); return *this;} private: Aws::String m_functionName; bool m_functionNameHasBeenSet = false; Aws::String m_functionAlias; bool m_functionAliasHasBeenSet = false; Aws::String m_currentVersion; bool m_currentVersionHasBeenSet = false; Aws::String m_targetVersion; bool m_targetVersionHasBeenSet = false; double m_targetVersionWeight; bool m_targetVersionWeightHasBeenSet = false; }; } // namespace Model } // namespace CodeDeploy } // namespace Aws