/** * 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 SSM { namespace Model { /** *

An Amazon Web Services Systems Manager parameter in Parameter * Store.

See Also:

AWS API * Reference

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

The name of the parameter.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the parameter.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the parameter.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the parameter.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the parameter.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the parameter.

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

The name of the parameter.

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

The name of the parameter.

*/ inline Parameter& WithName(const char* value) { SetName(value); return *this;} /** *

The type of parameter. Valid values include the following: * String, StringList, and SecureString.

*

If type is StringList, the system returns a * comma-separated string with no spaces between commas in the Value * field.

*/ inline const ParameterType& GetType() const{ return m_type; } /** *

The type of parameter. Valid values include the following: * String, StringList, and SecureString.

*

If type is StringList, the system returns a * comma-separated string with no spaces between commas in the Value * field.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of parameter. Valid values include the following: * String, StringList, and SecureString.

*

If type is StringList, the system returns a * comma-separated string with no spaces between commas in the Value * field.

*/ inline void SetType(const ParameterType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of parameter. Valid values include the following: * String, StringList, and SecureString.

*

If type is StringList, the system returns a * comma-separated string with no spaces between commas in the Value * field.

*/ inline void SetType(ParameterType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of parameter. Valid values include the following: * String, StringList, and SecureString.

*

If type is StringList, the system returns a * comma-separated string with no spaces between commas in the Value * field.

*/ inline Parameter& WithType(const ParameterType& value) { SetType(value); return *this;} /** *

The type of parameter. Valid values include the following: * String, StringList, and SecureString.

*

If type is StringList, the system returns a * comma-separated string with no spaces between commas in the Value * field.

*/ inline Parameter& WithType(ParameterType&& value) { SetType(std::move(value)); return *this;} /** *

The parameter value.

If type is StringList, the * system returns a comma-separated string with no spaces between commas in the * Value field.

*/ inline const Aws::String& GetValue() const{ return m_value; } /** *

The parameter value.

If type is StringList, the * system returns a comma-separated string with no spaces between commas in the * Value field.

*/ inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } /** *

The parameter value.

If type is StringList, the * system returns a comma-separated string with no spaces between commas in the * Value field.

*/ inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; } /** *

The parameter value.

If type is StringList, the * system returns a comma-separated string with no spaces between commas in the * Value field.

*/ inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } /** *

The parameter value.

If type is StringList, the * system returns a comma-separated string with no spaces between commas in the * Value field.

*/ inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); } /** *

The parameter value.

If type is StringList, the * system returns a comma-separated string with no spaces between commas in the * Value field.

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

The parameter value.

If type is StringList, the * system returns a comma-separated string with no spaces between commas in the * Value field.

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

The parameter value.

If type is StringList, the * system returns a comma-separated string with no spaces between commas in the * Value field.

*/ inline Parameter& WithValue(const char* value) { SetValue(value); return *this;} /** *

The parameter version.

*/ inline long long GetVersion() const{ return m_version; } /** *

The parameter version.

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

The parameter version.

*/ inline void SetVersion(long long value) { m_versionHasBeenSet = true; m_version = value; } /** *

The parameter version.

*/ inline Parameter& WithVersion(long long value) { SetVersion(value); return *this;} /** *

Either the version number or the label used to retrieve the parameter value. * Specify selectors by using one of the following formats:

*

parameter_name:version

parameter_name:label

*/ inline const Aws::String& GetSelector() const{ return m_selector; } /** *

Either the version number or the label used to retrieve the parameter value. * Specify selectors by using one of the following formats:

*

parameter_name:version

parameter_name:label

*/ inline bool SelectorHasBeenSet() const { return m_selectorHasBeenSet; } /** *

Either the version number or the label used to retrieve the parameter value. * Specify selectors by using one of the following formats:

*

parameter_name:version

parameter_name:label

*/ inline void SetSelector(const Aws::String& value) { m_selectorHasBeenSet = true; m_selector = value; } /** *

Either the version number or the label used to retrieve the parameter value. * Specify selectors by using one of the following formats:

*

parameter_name:version

parameter_name:label

*/ inline void SetSelector(Aws::String&& value) { m_selectorHasBeenSet = true; m_selector = std::move(value); } /** *

Either the version number or the label used to retrieve the parameter value. * Specify selectors by using one of the following formats:

*

parameter_name:version

parameter_name:label

*/ inline void SetSelector(const char* value) { m_selectorHasBeenSet = true; m_selector.assign(value); } /** *

Either the version number or the label used to retrieve the parameter value. * Specify selectors by using one of the following formats:

*

parameter_name:version

parameter_name:label

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

Either the version number or the label used to retrieve the parameter value. * Specify selectors by using one of the following formats:

*

parameter_name:version

parameter_name:label

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

Either the version number or the label used to retrieve the parameter value. * Specify selectors by using one of the following formats:

*

parameter_name:version

parameter_name:label

*/ inline Parameter& WithSelector(const char* value) { SetSelector(value); return *this;} /** *

Applies to parameters that reference information in other Amazon Web Services * services. SourceResult is the raw result or response from the * source.

*/ inline const Aws::String& GetSourceResult() const{ return m_sourceResult; } /** *

Applies to parameters that reference information in other Amazon Web Services * services. SourceResult is the raw result or response from the * source.

*/ inline bool SourceResultHasBeenSet() const { return m_sourceResultHasBeenSet; } /** *

Applies to parameters that reference information in other Amazon Web Services * services. SourceResult is the raw result or response from the * source.

*/ inline void SetSourceResult(const Aws::String& value) { m_sourceResultHasBeenSet = true; m_sourceResult = value; } /** *

Applies to parameters that reference information in other Amazon Web Services * services. SourceResult is the raw result or response from the * source.

*/ inline void SetSourceResult(Aws::String&& value) { m_sourceResultHasBeenSet = true; m_sourceResult = std::move(value); } /** *

Applies to parameters that reference information in other Amazon Web Services * services. SourceResult is the raw result or response from the * source.

*/ inline void SetSourceResult(const char* value) { m_sourceResultHasBeenSet = true; m_sourceResult.assign(value); } /** *

Applies to parameters that reference information in other Amazon Web Services * services. SourceResult is the raw result or response from the * source.

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

Applies to parameters that reference information in other Amazon Web Services * services. SourceResult is the raw result or response from the * source.

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

Applies to parameters that reference information in other Amazon Web Services * services. SourceResult is the raw result or response from the * source.

*/ inline Parameter& WithSourceResult(const char* value) { SetSourceResult(value); return *this;} /** *

Date the parameter was last changed or updated and the parameter version was * created.

*/ inline const Aws::Utils::DateTime& GetLastModifiedDate() const{ return m_lastModifiedDate; } /** *

Date the parameter was last changed or updated and the parameter version was * created.

*/ inline bool LastModifiedDateHasBeenSet() const { return m_lastModifiedDateHasBeenSet; } /** *

Date the parameter was last changed or updated and the parameter version was * created.

*/ inline void SetLastModifiedDate(const Aws::Utils::DateTime& value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate = value; } /** *

Date the parameter was last changed or updated and the parameter version was * created.

*/ inline void SetLastModifiedDate(Aws::Utils::DateTime&& value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate = std::move(value); } /** *

Date the parameter was last changed or updated and the parameter version was * created.

*/ inline Parameter& WithLastModifiedDate(const Aws::Utils::DateTime& value) { SetLastModifiedDate(value); return *this;} /** *

Date the parameter was last changed or updated and the parameter version was * created.

*/ inline Parameter& WithLastModifiedDate(Aws::Utils::DateTime&& value) { SetLastModifiedDate(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the parameter.

*/ inline const Aws::String& GetARN() const{ return m_aRN; } /** *

The Amazon Resource Name (ARN) of the parameter.

*/ inline bool ARNHasBeenSet() const { return m_aRNHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the parameter.

*/ inline void SetARN(const Aws::String& value) { m_aRNHasBeenSet = true; m_aRN = value; } /** *

The Amazon Resource Name (ARN) of the parameter.

*/ inline void SetARN(Aws::String&& value) { m_aRNHasBeenSet = true; m_aRN = std::move(value); } /** *

The Amazon Resource Name (ARN) of the parameter.

*/ inline void SetARN(const char* value) { m_aRNHasBeenSet = true; m_aRN.assign(value); } /** *

The Amazon Resource Name (ARN) of the parameter.

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

The Amazon Resource Name (ARN) of the parameter.

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

The Amazon Resource Name (ARN) of the parameter.

*/ inline Parameter& WithARN(const char* value) { SetARN(value); return *this;} /** *

The data type of the parameter, such as text or * aws:ec2:image. The default is text.

*/ inline const Aws::String& GetDataType() const{ return m_dataType; } /** *

The data type of the parameter, such as text or * aws:ec2:image. The default is text.

*/ inline bool DataTypeHasBeenSet() const { return m_dataTypeHasBeenSet; } /** *

The data type of the parameter, such as text or * aws:ec2:image. The default is text.

*/ inline void SetDataType(const Aws::String& value) { m_dataTypeHasBeenSet = true; m_dataType = value; } /** *

The data type of the parameter, such as text or * aws:ec2:image. The default is text.

*/ inline void SetDataType(Aws::String&& value) { m_dataTypeHasBeenSet = true; m_dataType = std::move(value); } /** *

The data type of the parameter, such as text or * aws:ec2:image. The default is text.

*/ inline void SetDataType(const char* value) { m_dataTypeHasBeenSet = true; m_dataType.assign(value); } /** *

The data type of the parameter, such as text or * aws:ec2:image. The default is text.

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

The data type of the parameter, such as text or * aws:ec2:image. The default is text.

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

The data type of the parameter, such as text or * aws:ec2:image. The default is text.

*/ inline Parameter& WithDataType(const char* value) { SetDataType(value); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; ParameterType m_type; bool m_typeHasBeenSet = false; Aws::String m_value; bool m_valueHasBeenSet = false; long long m_version; bool m_versionHasBeenSet = false; Aws::String m_selector; bool m_selectorHasBeenSet = false; Aws::String m_sourceResult; bool m_sourceResultHasBeenSet = false; Aws::Utils::DateTime m_lastModifiedDate; bool m_lastModifiedDateHasBeenSet = false; Aws::String m_aRN; bool m_aRNHasBeenSet = false; Aws::String m_dataType; bool m_dataTypeHasBeenSet = false; }; } // namespace Model } // namespace SSM } // namespace Aws