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

Metadata includes information like the ARN of the last user and the date/time * the parameter was last used.

See Also:

AWS * API Reference

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

The parameter name.

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

The parameter name.

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

The parameter name.

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

The parameter name.

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

The parameter name.

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

The parameter name.

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

The parameter name.

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

The parameter name.

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

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

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

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

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

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

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

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

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

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

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

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

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

The ID of the query key used for this parameter.

*/ inline const Aws::String& GetKeyId() const{ return m_keyId; } /** *

The ID of the query key used for this parameter.

*/ inline bool KeyIdHasBeenSet() const { return m_keyIdHasBeenSet; } /** *

The ID of the query key used for this parameter.

*/ inline void SetKeyId(const Aws::String& value) { m_keyIdHasBeenSet = true; m_keyId = value; } /** *

The ID of the query key used for this parameter.

*/ inline void SetKeyId(Aws::String&& value) { m_keyIdHasBeenSet = true; m_keyId = std::move(value); } /** *

The ID of the query key used for this parameter.

*/ inline void SetKeyId(const char* value) { m_keyIdHasBeenSet = true; m_keyId.assign(value); } /** *

The ID of the query key used for this parameter.

*/ inline ParameterMetadata& WithKeyId(const Aws::String& value) { SetKeyId(value); return *this;} /** *

The ID of the query key used for this parameter.

*/ inline ParameterMetadata& WithKeyId(Aws::String&& value) { SetKeyId(std::move(value)); return *this;} /** *

The ID of the query key used for this parameter.

*/ inline ParameterMetadata& WithKeyId(const char* value) { SetKeyId(value); return *this;} /** *

Date the parameter was last changed or updated.

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

Date the parameter was last changed or updated.

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

Date the parameter was last changed or updated.

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

Date the parameter was last changed or updated.

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

Date the parameter was last changed or updated.

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

Date the parameter was last changed or updated.

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

Amazon Resource Name (ARN) of the Amazon Web Services user who last changed * the parameter.

*/ inline const Aws::String& GetLastModifiedUser() const{ return m_lastModifiedUser; } /** *

Amazon Resource Name (ARN) of the Amazon Web Services user who last changed * the parameter.

*/ inline bool LastModifiedUserHasBeenSet() const { return m_lastModifiedUserHasBeenSet; } /** *

Amazon Resource Name (ARN) of the Amazon Web Services user who last changed * the parameter.

*/ inline void SetLastModifiedUser(const Aws::String& value) { m_lastModifiedUserHasBeenSet = true; m_lastModifiedUser = value; } /** *

Amazon Resource Name (ARN) of the Amazon Web Services user who last changed * the parameter.

*/ inline void SetLastModifiedUser(Aws::String&& value) { m_lastModifiedUserHasBeenSet = true; m_lastModifiedUser = std::move(value); } /** *

Amazon Resource Name (ARN) of the Amazon Web Services user who last changed * the parameter.

*/ inline void SetLastModifiedUser(const char* value) { m_lastModifiedUserHasBeenSet = true; m_lastModifiedUser.assign(value); } /** *

Amazon Resource Name (ARN) of the Amazon Web Services user who last changed * the parameter.

*/ inline ParameterMetadata& WithLastModifiedUser(const Aws::String& value) { SetLastModifiedUser(value); return *this;} /** *

Amazon Resource Name (ARN) of the Amazon Web Services user who last changed * the parameter.

*/ inline ParameterMetadata& WithLastModifiedUser(Aws::String&& value) { SetLastModifiedUser(std::move(value)); return *this;} /** *

Amazon Resource Name (ARN) of the Amazon Web Services user who last changed * the parameter.

*/ inline ParameterMetadata& WithLastModifiedUser(const char* value) { SetLastModifiedUser(value); return *this;} /** *

Description of the parameter actions.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

Description of the parameter actions.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

Description of the parameter actions.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

Description of the parameter actions.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

Description of the parameter actions.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

Description of the parameter actions.

*/ inline ParameterMetadata& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

Description of the parameter actions.

*/ inline ParameterMetadata& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

Description of the parameter actions.

*/ inline ParameterMetadata& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

A parameter name can include only the following letters and symbols.

*

a-zA-Z0-9_.-

*/ inline const Aws::String& GetAllowedPattern() const{ return m_allowedPattern; } /** *

A parameter name can include only the following letters and symbols.

*

a-zA-Z0-9_.-

*/ inline bool AllowedPatternHasBeenSet() const { return m_allowedPatternHasBeenSet; } /** *

A parameter name can include only the following letters and symbols.

*

a-zA-Z0-9_.-

*/ inline void SetAllowedPattern(const Aws::String& value) { m_allowedPatternHasBeenSet = true; m_allowedPattern = value; } /** *

A parameter name can include only the following letters and symbols.

*

a-zA-Z0-9_.-

*/ inline void SetAllowedPattern(Aws::String&& value) { m_allowedPatternHasBeenSet = true; m_allowedPattern = std::move(value); } /** *

A parameter name can include only the following letters and symbols.

*

a-zA-Z0-9_.-

*/ inline void SetAllowedPattern(const char* value) { m_allowedPatternHasBeenSet = true; m_allowedPattern.assign(value); } /** *

A parameter name can include only the following letters and symbols.

*

a-zA-Z0-9_.-

*/ inline ParameterMetadata& WithAllowedPattern(const Aws::String& value) { SetAllowedPattern(value); return *this;} /** *

A parameter name can include only the following letters and symbols.

*

a-zA-Z0-9_.-

*/ inline ParameterMetadata& WithAllowedPattern(Aws::String&& value) { SetAllowedPattern(std::move(value)); return *this;} /** *

A parameter name can include only the following letters and symbols.

*

a-zA-Z0-9_.-

*/ inline ParameterMetadata& WithAllowedPattern(const char* value) { SetAllowedPattern(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 ParameterMetadata& WithVersion(long long value) { SetVersion(value); return *this;} /** *

The parameter tier.

*/ inline const ParameterTier& GetTier() const{ return m_tier; } /** *

The parameter tier.

*/ inline bool TierHasBeenSet() const { return m_tierHasBeenSet; } /** *

The parameter tier.

*/ inline void SetTier(const ParameterTier& value) { m_tierHasBeenSet = true; m_tier = value; } /** *

The parameter tier.

*/ inline void SetTier(ParameterTier&& value) { m_tierHasBeenSet = true; m_tier = std::move(value); } /** *

The parameter tier.

*/ inline ParameterMetadata& WithTier(const ParameterTier& value) { SetTier(value); return *this;} /** *

The parameter tier.

*/ inline ParameterMetadata& WithTier(ParameterTier&& value) { SetTier(std::move(value)); return *this;} /** *

A list of policies associated with a parameter.

*/ inline const Aws::Vector& GetPolicies() const{ return m_policies; } /** *

A list of policies associated with a parameter.

*/ inline bool PoliciesHasBeenSet() const { return m_policiesHasBeenSet; } /** *

A list of policies associated with a parameter.

*/ inline void SetPolicies(const Aws::Vector& value) { m_policiesHasBeenSet = true; m_policies = value; } /** *

A list of policies associated with a parameter.

*/ inline void SetPolicies(Aws::Vector&& value) { m_policiesHasBeenSet = true; m_policies = std::move(value); } /** *

A list of policies associated with a parameter.

*/ inline ParameterMetadata& WithPolicies(const Aws::Vector& value) { SetPolicies(value); return *this;} /** *

A list of policies associated with a parameter.

*/ inline ParameterMetadata& WithPolicies(Aws::Vector&& value) { SetPolicies(std::move(value)); return *this;} /** *

A list of policies associated with a parameter.

*/ inline ParameterMetadata& AddPolicies(const ParameterInlinePolicy& value) { m_policiesHasBeenSet = true; m_policies.push_back(value); return *this; } /** *

A list of policies associated with a parameter.

*/ inline ParameterMetadata& AddPolicies(ParameterInlinePolicy&& value) { m_policiesHasBeenSet = true; m_policies.push_back(std::move(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 ParameterMetadata& 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 ParameterMetadata& 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 ParameterMetadata& 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_keyId; bool m_keyIdHasBeenSet = false; Aws::Utils::DateTime m_lastModifiedDate; bool m_lastModifiedDateHasBeenSet = false; Aws::String m_lastModifiedUser; bool m_lastModifiedUserHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_allowedPattern; bool m_allowedPatternHasBeenSet = false; long long m_version; bool m_versionHasBeenSet = false; ParameterTier m_tier; bool m_tierHasBeenSet = false; Aws::Vector m_policies; bool m_policiesHasBeenSet = false; Aws::String m_dataType; bool m_dataTypeHasBeenSet = false; }; } // namespace Model } // namespace SSM } // namespace Aws