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

The Parameter data type.

See Also:

AWS * API Reference

*/ class Parameter { public: AWS_CLOUDFORMATION_API Parameter(); AWS_CLOUDFORMATION_API Parameter(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDFORMATION_API Parameter& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDFORMATION_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_CLOUDFORMATION_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The key associated with the parameter. If you don't specify a key and value * for a particular parameter, CloudFormation uses the default value that's * specified in your template.

*/ inline const Aws::String& GetParameterKey() const{ return m_parameterKey; } /** *

The key associated with the parameter. If you don't specify a key and value * for a particular parameter, CloudFormation uses the default value that's * specified in your template.

*/ inline bool ParameterKeyHasBeenSet() const { return m_parameterKeyHasBeenSet; } /** *

The key associated with the parameter. If you don't specify a key and value * for a particular parameter, CloudFormation uses the default value that's * specified in your template.

*/ inline void SetParameterKey(const Aws::String& value) { m_parameterKeyHasBeenSet = true; m_parameterKey = value; } /** *

The key associated with the parameter. If you don't specify a key and value * for a particular parameter, CloudFormation uses the default value that's * specified in your template.

*/ inline void SetParameterKey(Aws::String&& value) { m_parameterKeyHasBeenSet = true; m_parameterKey = std::move(value); } /** *

The key associated with the parameter. If you don't specify a key and value * for a particular parameter, CloudFormation uses the default value that's * specified in your template.

*/ inline void SetParameterKey(const char* value) { m_parameterKeyHasBeenSet = true; m_parameterKey.assign(value); } /** *

The key associated with the parameter. If you don't specify a key and value * for a particular parameter, CloudFormation uses the default value that's * specified in your template.

*/ inline Parameter& WithParameterKey(const Aws::String& value) { SetParameterKey(value); return *this;} /** *

The key associated with the parameter. If you don't specify a key and value * for a particular parameter, CloudFormation uses the default value that's * specified in your template.

*/ inline Parameter& WithParameterKey(Aws::String&& value) { SetParameterKey(std::move(value)); return *this;} /** *

The key associated with the parameter. If you don't specify a key and value * for a particular parameter, CloudFormation uses the default value that's * specified in your template.

*/ inline Parameter& WithParameterKey(const char* value) { SetParameterKey(value); return *this;} /** *

The input value associated with the parameter.

*/ inline const Aws::String& GetParameterValue() const{ return m_parameterValue; } /** *

The input value associated with the parameter.

*/ inline bool ParameterValueHasBeenSet() const { return m_parameterValueHasBeenSet; } /** *

The input value associated with the parameter.

*/ inline void SetParameterValue(const Aws::String& value) { m_parameterValueHasBeenSet = true; m_parameterValue = value; } /** *

The input value associated with the parameter.

*/ inline void SetParameterValue(Aws::String&& value) { m_parameterValueHasBeenSet = true; m_parameterValue = std::move(value); } /** *

The input value associated with the parameter.

*/ inline void SetParameterValue(const char* value) { m_parameterValueHasBeenSet = true; m_parameterValue.assign(value); } /** *

The input value associated with the parameter.

*/ inline Parameter& WithParameterValue(const Aws::String& value) { SetParameterValue(value); return *this;} /** *

The input value associated with the parameter.

*/ inline Parameter& WithParameterValue(Aws::String&& value) { SetParameterValue(std::move(value)); return *this;} /** *

The input value associated with the parameter.

*/ inline Parameter& WithParameterValue(const char* value) { SetParameterValue(value); return *this;} /** *

During a stack update, use the existing parameter value that the stack is * using for a given parameter key. If you specify true, do not * specify a parameter value.

*/ inline bool GetUsePreviousValue() const{ return m_usePreviousValue; } /** *

During a stack update, use the existing parameter value that the stack is * using for a given parameter key. If you specify true, do not * specify a parameter value.

*/ inline bool UsePreviousValueHasBeenSet() const { return m_usePreviousValueHasBeenSet; } /** *

During a stack update, use the existing parameter value that the stack is * using for a given parameter key. If you specify true, do not * specify a parameter value.

*/ inline void SetUsePreviousValue(bool value) { m_usePreviousValueHasBeenSet = true; m_usePreviousValue = value; } /** *

During a stack update, use the existing parameter value that the stack is * using for a given parameter key. If you specify true, do not * specify a parameter value.

*/ inline Parameter& WithUsePreviousValue(bool value) { SetUsePreviousValue(value); return *this;} /** *

Read-only. The value that corresponds to a SSM parameter key. This field is * returned only for * SSM parameter types in the template.

*/ inline const Aws::String& GetResolvedValue() const{ return m_resolvedValue; } /** *

Read-only. The value that corresponds to a SSM parameter key. This field is * returned only for * SSM parameter types in the template.

*/ inline bool ResolvedValueHasBeenSet() const { return m_resolvedValueHasBeenSet; } /** *

Read-only. The value that corresponds to a SSM parameter key. This field is * returned only for * SSM parameter types in the template.

*/ inline void SetResolvedValue(const Aws::String& value) { m_resolvedValueHasBeenSet = true; m_resolvedValue = value; } /** *

Read-only. The value that corresponds to a SSM parameter key. This field is * returned only for * SSM parameter types in the template.

*/ inline void SetResolvedValue(Aws::String&& value) { m_resolvedValueHasBeenSet = true; m_resolvedValue = std::move(value); } /** *

Read-only. The value that corresponds to a SSM parameter key. This field is * returned only for * SSM parameter types in the template.

*/ inline void SetResolvedValue(const char* value) { m_resolvedValueHasBeenSet = true; m_resolvedValue.assign(value); } /** *

Read-only. The value that corresponds to a SSM parameter key. This field is * returned only for * SSM parameter types in the template.

*/ inline Parameter& WithResolvedValue(const Aws::String& value) { SetResolvedValue(value); return *this;} /** *

Read-only. The value that corresponds to a SSM parameter key. This field is * returned only for * SSM parameter types in the template.

*/ inline Parameter& WithResolvedValue(Aws::String&& value) { SetResolvedValue(std::move(value)); return *this;} /** *

Read-only. The value that corresponds to a SSM parameter key. This field is * returned only for * SSM parameter types in the template.

*/ inline Parameter& WithResolvedValue(const char* value) { SetResolvedValue(value); return *this;} private: Aws::String m_parameterKey; bool m_parameterKeyHasBeenSet = false; Aws::String m_parameterValue; bool m_parameterValueHasBeenSet = false; bool m_usePreviousValue; bool m_usePreviousValueHasBeenSet = false; Aws::String m_resolvedValue; bool m_resolvedValueHasBeenSet = false; }; } // namespace Model } // namespace CloudFormation } // namespace Aws