/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include
#include
#include
#include
#include
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Greengrass
{
namespace Model
{
/**
* Information about a function definition version.See Also:
AWS
* API Reference
*/
class FunctionDefinitionVersion
{
public:
AWS_GREENGRASS_API FunctionDefinitionVersion();
AWS_GREENGRASS_API FunctionDefinitionVersion(Aws::Utils::Json::JsonView jsonValue);
AWS_GREENGRASS_API FunctionDefinitionVersion& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_GREENGRASS_API Aws::Utils::Json::JsonValue Jsonize() const;
/**
* The default configuration that applies to all Lambda functions in this function
* definition version. Individual Lambda functions can override these settings.
*/
inline const FunctionDefaultConfig& GetDefaultConfig() const{ return m_defaultConfig; }
/**
* The default configuration that applies to all Lambda functions in this function
* definition version. Individual Lambda functions can override these settings.
*/
inline bool DefaultConfigHasBeenSet() const { return m_defaultConfigHasBeenSet; }
/**
* The default configuration that applies to all Lambda functions in this function
* definition version. Individual Lambda functions can override these settings.
*/
inline void SetDefaultConfig(const FunctionDefaultConfig& value) { m_defaultConfigHasBeenSet = true; m_defaultConfig = value; }
/**
* The default configuration that applies to all Lambda functions in this function
* definition version. Individual Lambda functions can override these settings.
*/
inline void SetDefaultConfig(FunctionDefaultConfig&& value) { m_defaultConfigHasBeenSet = true; m_defaultConfig = std::move(value); }
/**
* The default configuration that applies to all Lambda functions in this function
* definition version. Individual Lambda functions can override these settings.
*/
inline FunctionDefinitionVersion& WithDefaultConfig(const FunctionDefaultConfig& value) { SetDefaultConfig(value); return *this;}
/**
* The default configuration that applies to all Lambda functions in this function
* definition version. Individual Lambda functions can override these settings.
*/
inline FunctionDefinitionVersion& WithDefaultConfig(FunctionDefaultConfig&& value) { SetDefaultConfig(std::move(value)); return *this;}
/**
* A list of Lambda functions in this function definition version.
*/
inline const Aws::Vector& GetFunctions() const{ return m_functions; }
/**
* A list of Lambda functions in this function definition version.
*/
inline bool FunctionsHasBeenSet() const { return m_functionsHasBeenSet; }
/**
* A list of Lambda functions in this function definition version.
*/
inline void SetFunctions(const Aws::Vector& value) { m_functionsHasBeenSet = true; m_functions = value; }
/**
* A list of Lambda functions in this function definition version.
*/
inline void SetFunctions(Aws::Vector&& value) { m_functionsHasBeenSet = true; m_functions = std::move(value); }
/**
* A list of Lambda functions in this function definition version.
*/
inline FunctionDefinitionVersion& WithFunctions(const Aws::Vector& value) { SetFunctions(value); return *this;}
/**
* A list of Lambda functions in this function definition version.
*/
inline FunctionDefinitionVersion& WithFunctions(Aws::Vector&& value) { SetFunctions(std::move(value)); return *this;}
/**
* A list of Lambda functions in this function definition version.
*/
inline FunctionDefinitionVersion& AddFunctions(const Function& value) { m_functionsHasBeenSet = true; m_functions.push_back(value); return *this; }
/**
* A list of Lambda functions in this function definition version.
*/
inline FunctionDefinitionVersion& AddFunctions(Function&& value) { m_functionsHasBeenSet = true; m_functions.push_back(std::move(value)); return *this; }
private:
FunctionDefaultConfig m_defaultConfig;
bool m_defaultConfigHasBeenSet = false;
Aws::Vector m_functions;
bool m_functionsHasBeenSet = false;
};
} // namespace Model
} // namespace Greengrass
} // namespace Aws