/** * 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 #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace SecretsManager { namespace Model { class DescribeSecretResult { public: AWS_SECRETSMANAGER_API DescribeSecretResult(); AWS_SECRETSMANAGER_API DescribeSecretResult(const Aws::AmazonWebServiceResult& result); AWS_SECRETSMANAGER_API DescribeSecretResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The ARN of the secret.

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

The ARN of the secret.

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

The ARN of the secret.

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

The ARN of the secret.

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

The ARN of the secret.

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

The ARN of the secret.

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

The ARN of the secret.

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

The name of the secret.

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

The name of the secret.

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

The name of the secret.

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

The name of the secret.

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

The name of the secret.

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

The name of the secret.

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

The name of the secret.

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

The description of the secret.

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

The description of the secret.

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

The description of the secret.

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

The description of the secret.

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

The description of the secret.

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

The description of the secret.

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

The description of the secret.

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

The key ID or alias ARN of the KMS key that Secrets Manager uses to encrypt * the secret value. If the secret is encrypted with the Amazon Web Services * managed key aws/secretsmanager, this field is omitted. Secrets * created using the console use an KMS key ID.

*/ inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } /** *

The key ID or alias ARN of the KMS key that Secrets Manager uses to encrypt * the secret value. If the secret is encrypted with the Amazon Web Services * managed key aws/secretsmanager, this field is omitted. Secrets * created using the console use an KMS key ID.

*/ inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyId = value; } /** *

The key ID or alias ARN of the KMS key that Secrets Manager uses to encrypt * the secret value. If the secret is encrypted with the Amazon Web Services * managed key aws/secretsmanager, this field is omitted. Secrets * created using the console use an KMS key ID.

*/ inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyId = std::move(value); } /** *

The key ID or alias ARN of the KMS key that Secrets Manager uses to encrypt * the secret value. If the secret is encrypted with the Amazon Web Services * managed key aws/secretsmanager, this field is omitted. Secrets * created using the console use an KMS key ID.

*/ inline void SetKmsKeyId(const char* value) { m_kmsKeyId.assign(value); } /** *

The key ID or alias ARN of the KMS key that Secrets Manager uses to encrypt * the secret value. If the secret is encrypted with the Amazon Web Services * managed key aws/secretsmanager, this field is omitted. Secrets * created using the console use an KMS key ID.

*/ inline DescribeSecretResult& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} /** *

The key ID or alias ARN of the KMS key that Secrets Manager uses to encrypt * the secret value. If the secret is encrypted with the Amazon Web Services * managed key aws/secretsmanager, this field is omitted. Secrets * created using the console use an KMS key ID.

*/ inline DescribeSecretResult& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} /** *

The key ID or alias ARN of the KMS key that Secrets Manager uses to encrypt * the secret value. If the secret is encrypted with the Amazon Web Services * managed key aws/secretsmanager, this field is omitted. Secrets * created using the console use an KMS key ID.

*/ inline DescribeSecretResult& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} /** *

Specifies whether automatic rotation is turned on for this secret.

To * turn on rotation, use RotateSecret. To turn off rotation, use * CancelRotateSecret.

*/ inline bool GetRotationEnabled() const{ return m_rotationEnabled; } /** *

Specifies whether automatic rotation is turned on for this secret.

To * turn on rotation, use RotateSecret. To turn off rotation, use * CancelRotateSecret.

*/ inline void SetRotationEnabled(bool value) { m_rotationEnabled = value; } /** *

Specifies whether automatic rotation is turned on for this secret.

To * turn on rotation, use RotateSecret. To turn off rotation, use * CancelRotateSecret.

*/ inline DescribeSecretResult& WithRotationEnabled(bool value) { SetRotationEnabled(value); return *this;} /** *

The ARN of the Lambda function that Secrets Manager invokes to rotate the * secret.

*/ inline const Aws::String& GetRotationLambdaARN() const{ return m_rotationLambdaARN; } /** *

The ARN of the Lambda function that Secrets Manager invokes to rotate the * secret.

*/ inline void SetRotationLambdaARN(const Aws::String& value) { m_rotationLambdaARN = value; } /** *

The ARN of the Lambda function that Secrets Manager invokes to rotate the * secret.

*/ inline void SetRotationLambdaARN(Aws::String&& value) { m_rotationLambdaARN = std::move(value); } /** *

The ARN of the Lambda function that Secrets Manager invokes to rotate the * secret.

*/ inline void SetRotationLambdaARN(const char* value) { m_rotationLambdaARN.assign(value); } /** *

The ARN of the Lambda function that Secrets Manager invokes to rotate the * secret.

*/ inline DescribeSecretResult& WithRotationLambdaARN(const Aws::String& value) { SetRotationLambdaARN(value); return *this;} /** *

The ARN of the Lambda function that Secrets Manager invokes to rotate the * secret.

*/ inline DescribeSecretResult& WithRotationLambdaARN(Aws::String&& value) { SetRotationLambdaARN(std::move(value)); return *this;} /** *

The ARN of the Lambda function that Secrets Manager invokes to rotate the * secret.

*/ inline DescribeSecretResult& WithRotationLambdaARN(const char* value) { SetRotationLambdaARN(value); return *this;} /** *

The rotation schedule and Lambda function for this secret. If the secret * previously had rotation turned on, but it is now turned off, this field shows * the previous rotation schedule and rotation function. If the secret never had * rotation turned on, this field is omitted.

*/ inline const RotationRulesType& GetRotationRules() const{ return m_rotationRules; } /** *

The rotation schedule and Lambda function for this secret. If the secret * previously had rotation turned on, but it is now turned off, this field shows * the previous rotation schedule and rotation function. If the secret never had * rotation turned on, this field is omitted.

*/ inline void SetRotationRules(const RotationRulesType& value) { m_rotationRules = value; } /** *

The rotation schedule and Lambda function for this secret. If the secret * previously had rotation turned on, but it is now turned off, this field shows * the previous rotation schedule and rotation function. If the secret never had * rotation turned on, this field is omitted.

*/ inline void SetRotationRules(RotationRulesType&& value) { m_rotationRules = std::move(value); } /** *

The rotation schedule and Lambda function for this secret. If the secret * previously had rotation turned on, but it is now turned off, this field shows * the previous rotation schedule and rotation function. If the secret never had * rotation turned on, this field is omitted.

*/ inline DescribeSecretResult& WithRotationRules(const RotationRulesType& value) { SetRotationRules(value); return *this;} /** *

The rotation schedule and Lambda function for this secret. If the secret * previously had rotation turned on, but it is now turned off, this field shows * the previous rotation schedule and rotation function. If the secret never had * rotation turned on, this field is omitted.

*/ inline DescribeSecretResult& WithRotationRules(RotationRulesType&& value) { SetRotationRules(std::move(value)); return *this;} /** *

The last date and time that Secrets Manager rotated the secret. If the secret * isn't configured for rotation, Secrets Manager returns null.

*/ inline const Aws::Utils::DateTime& GetLastRotatedDate() const{ return m_lastRotatedDate; } /** *

The last date and time that Secrets Manager rotated the secret. If the secret * isn't configured for rotation, Secrets Manager returns null.

*/ inline void SetLastRotatedDate(const Aws::Utils::DateTime& value) { m_lastRotatedDate = value; } /** *

The last date and time that Secrets Manager rotated the secret. If the secret * isn't configured for rotation, Secrets Manager returns null.

*/ inline void SetLastRotatedDate(Aws::Utils::DateTime&& value) { m_lastRotatedDate = std::move(value); } /** *

The last date and time that Secrets Manager rotated the secret. If the secret * isn't configured for rotation, Secrets Manager returns null.

*/ inline DescribeSecretResult& WithLastRotatedDate(const Aws::Utils::DateTime& value) { SetLastRotatedDate(value); return *this;} /** *

The last date and time that Secrets Manager rotated the secret. If the secret * isn't configured for rotation, Secrets Manager returns null.

*/ inline DescribeSecretResult& WithLastRotatedDate(Aws::Utils::DateTime&& value) { SetLastRotatedDate(std::move(value)); return *this;} /** *

The last date and time that this secret was modified in any way.

*/ inline const Aws::Utils::DateTime& GetLastChangedDate() const{ return m_lastChangedDate; } /** *

The last date and time that this secret was modified in any way.

*/ inline void SetLastChangedDate(const Aws::Utils::DateTime& value) { m_lastChangedDate = value; } /** *

The last date and time that this secret was modified in any way.

*/ inline void SetLastChangedDate(Aws::Utils::DateTime&& value) { m_lastChangedDate = std::move(value); } /** *

The last date and time that this secret was modified in any way.

*/ inline DescribeSecretResult& WithLastChangedDate(const Aws::Utils::DateTime& value) { SetLastChangedDate(value); return *this;} /** *

The last date and time that this secret was modified in any way.

*/ inline DescribeSecretResult& WithLastChangedDate(Aws::Utils::DateTime&& value) { SetLastChangedDate(std::move(value)); return *this;} /** *

The date that the secret was last accessed in the Region. This field is * omitted if the secret has never been retrieved in the Region.

*/ inline const Aws::Utils::DateTime& GetLastAccessedDate() const{ return m_lastAccessedDate; } /** *

The date that the secret was last accessed in the Region. This field is * omitted if the secret has never been retrieved in the Region.

*/ inline void SetLastAccessedDate(const Aws::Utils::DateTime& value) { m_lastAccessedDate = value; } /** *

The date that the secret was last accessed in the Region. This field is * omitted if the secret has never been retrieved in the Region.

*/ inline void SetLastAccessedDate(Aws::Utils::DateTime&& value) { m_lastAccessedDate = std::move(value); } /** *

The date that the secret was last accessed in the Region. This field is * omitted if the secret has never been retrieved in the Region.

*/ inline DescribeSecretResult& WithLastAccessedDate(const Aws::Utils::DateTime& value) { SetLastAccessedDate(value); return *this;} /** *

The date that the secret was last accessed in the Region. This field is * omitted if the secret has never been retrieved in the Region.

*/ inline DescribeSecretResult& WithLastAccessedDate(Aws::Utils::DateTime&& value) { SetLastAccessedDate(std::move(value)); return *this;} /** *

The date the secret is scheduled for deletion. If it is not scheduled for * deletion, this field is omitted. When you delete a secret, Secrets Manager * requires a recovery window of at least 7 days before deleting the secret. Some * time after the deleted date, Secrets Manager deletes the secret, including all * of its versions.

If a secret is scheduled for deletion, then its details, * including the encrypted secret value, is not accessible. To cancel a scheduled * deletion and restore access to the secret, use RestoreSecret.

*/ inline const Aws::Utils::DateTime& GetDeletedDate() const{ return m_deletedDate; } /** *

The date the secret is scheduled for deletion. If it is not scheduled for * deletion, this field is omitted. When you delete a secret, Secrets Manager * requires a recovery window of at least 7 days before deleting the secret. Some * time after the deleted date, Secrets Manager deletes the secret, including all * of its versions.

If a secret is scheduled for deletion, then its details, * including the encrypted secret value, is not accessible. To cancel a scheduled * deletion and restore access to the secret, use RestoreSecret.

*/ inline void SetDeletedDate(const Aws::Utils::DateTime& value) { m_deletedDate = value; } /** *

The date the secret is scheduled for deletion. If it is not scheduled for * deletion, this field is omitted. When you delete a secret, Secrets Manager * requires a recovery window of at least 7 days before deleting the secret. Some * time after the deleted date, Secrets Manager deletes the secret, including all * of its versions.

If a secret is scheduled for deletion, then its details, * including the encrypted secret value, is not accessible. To cancel a scheduled * deletion and restore access to the secret, use RestoreSecret.

*/ inline void SetDeletedDate(Aws::Utils::DateTime&& value) { m_deletedDate = std::move(value); } /** *

The date the secret is scheduled for deletion. If it is not scheduled for * deletion, this field is omitted. When you delete a secret, Secrets Manager * requires a recovery window of at least 7 days before deleting the secret. Some * time after the deleted date, Secrets Manager deletes the secret, including all * of its versions.

If a secret is scheduled for deletion, then its details, * including the encrypted secret value, is not accessible. To cancel a scheduled * deletion and restore access to the secret, use RestoreSecret.

*/ inline DescribeSecretResult& WithDeletedDate(const Aws::Utils::DateTime& value) { SetDeletedDate(value); return *this;} /** *

The date the secret is scheduled for deletion. If it is not scheduled for * deletion, this field is omitted. When you delete a secret, Secrets Manager * requires a recovery window of at least 7 days before deleting the secret. Some * time after the deleted date, Secrets Manager deletes the secret, including all * of its versions.

If a secret is scheduled for deletion, then its details, * including the encrypted secret value, is not accessible. To cancel a scheduled * deletion and restore access to the secret, use RestoreSecret.

*/ inline DescribeSecretResult& WithDeletedDate(Aws::Utils::DateTime&& value) { SetDeletedDate(std::move(value)); return *this;} /** *

The next rotation is scheduled to occur on or before this date. If the secret * isn't configured for rotation, Secrets Manager returns null.

*/ inline const Aws::Utils::DateTime& GetNextRotationDate() const{ return m_nextRotationDate; } /** *

The next rotation is scheduled to occur on or before this date. If the secret * isn't configured for rotation, Secrets Manager returns null.

*/ inline void SetNextRotationDate(const Aws::Utils::DateTime& value) { m_nextRotationDate = value; } /** *

The next rotation is scheduled to occur on or before this date. If the secret * isn't configured for rotation, Secrets Manager returns null.

*/ inline void SetNextRotationDate(Aws::Utils::DateTime&& value) { m_nextRotationDate = std::move(value); } /** *

The next rotation is scheduled to occur on or before this date. If the secret * isn't configured for rotation, Secrets Manager returns null.

*/ inline DescribeSecretResult& WithNextRotationDate(const Aws::Utils::DateTime& value) { SetNextRotationDate(value); return *this;} /** *

The next rotation is scheduled to occur on or before this date. If the secret * isn't configured for rotation, Secrets Manager returns null.

*/ inline DescribeSecretResult& WithNextRotationDate(Aws::Utils::DateTime&& value) { SetNextRotationDate(std::move(value)); return *this;} /** *

The list of tags attached to the secret. To add tags to a secret, use * TagResource. To remove tags, use UntagResource.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

The list of tags attached to the secret. To add tags to a secret, use * TagResource. To remove tags, use UntagResource.

*/ inline void SetTags(const Aws::Vector& value) { m_tags = value; } /** *

The list of tags attached to the secret. To add tags to a secret, use * TagResource. To remove tags, use UntagResource.

*/ inline void SetTags(Aws::Vector&& value) { m_tags = std::move(value); } /** *

The list of tags attached to the secret. To add tags to a secret, use * TagResource. To remove tags, use UntagResource.

*/ inline DescribeSecretResult& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

The list of tags attached to the secret. To add tags to a secret, use * TagResource. To remove tags, use UntagResource.

*/ inline DescribeSecretResult& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

The list of tags attached to the secret. To add tags to a secret, use * TagResource. To remove tags, use UntagResource.

*/ inline DescribeSecretResult& AddTags(const Tag& value) { m_tags.push_back(value); return *this; } /** *

The list of tags attached to the secret. To add tags to a secret, use * TagResource. To remove tags, use UntagResource.

*/ inline DescribeSecretResult& AddTags(Tag&& value) { m_tags.push_back(std::move(value)); return *this; } /** *

A list of the versions of the secret that have staging labels attached. * Versions that don't have staging labels are considered deprecated and Secrets * Manager can delete them.

Secrets Manager uses staging labels to indicate * the status of a secret version during rotation. The three staging labels for * rotation are:

  • AWSCURRENT, which indicates the * current version of the secret.

  • AWSPENDING, which * indicates the version of the secret that contains new secret information that * will become the next current version when rotation finishes.

    During * rotation, Secrets Manager creates an AWSPENDING version ID before * creating the new secret version. To check if a secret version exists, call * GetSecretValue.

  • AWSPREVIOUS, which * indicates the previous current version of the secret. You can use this as the * last known good version.

For more information about * rotation and staging labels, see How * rotation works.

*/ inline const Aws::Map>& GetVersionIdsToStages() const{ return m_versionIdsToStages; } /** *

A list of the versions of the secret that have staging labels attached. * Versions that don't have staging labels are considered deprecated and Secrets * Manager can delete them.

Secrets Manager uses staging labels to indicate * the status of a secret version during rotation. The three staging labels for * rotation are:

  • AWSCURRENT, which indicates the * current version of the secret.

  • AWSPENDING, which * indicates the version of the secret that contains new secret information that * will become the next current version when rotation finishes.

    During * rotation, Secrets Manager creates an AWSPENDING version ID before * creating the new secret version. To check if a secret version exists, call * GetSecretValue.

  • AWSPREVIOUS, which * indicates the previous current version of the secret. You can use this as the * last known good version.

For more information about * rotation and staging labels, see How * rotation works.

*/ inline void SetVersionIdsToStages(const Aws::Map>& value) { m_versionIdsToStages = value; } /** *

A list of the versions of the secret that have staging labels attached. * Versions that don't have staging labels are considered deprecated and Secrets * Manager can delete them.

Secrets Manager uses staging labels to indicate * the status of a secret version during rotation. The three staging labels for * rotation are:

  • AWSCURRENT, which indicates the * current version of the secret.

  • AWSPENDING, which * indicates the version of the secret that contains new secret information that * will become the next current version when rotation finishes.

    During * rotation, Secrets Manager creates an AWSPENDING version ID before * creating the new secret version. To check if a secret version exists, call * GetSecretValue.

  • AWSPREVIOUS, which * indicates the previous current version of the secret. You can use this as the * last known good version.

For more information about * rotation and staging labels, see How * rotation works.

*/ inline void SetVersionIdsToStages(Aws::Map>&& value) { m_versionIdsToStages = std::move(value); } /** *

A list of the versions of the secret that have staging labels attached. * Versions that don't have staging labels are considered deprecated and Secrets * Manager can delete them.

Secrets Manager uses staging labels to indicate * the status of a secret version during rotation. The three staging labels for * rotation are:

  • AWSCURRENT, which indicates the * current version of the secret.

  • AWSPENDING, which * indicates the version of the secret that contains new secret information that * will become the next current version when rotation finishes.

    During * rotation, Secrets Manager creates an AWSPENDING version ID before * creating the new secret version. To check if a secret version exists, call * GetSecretValue.

  • AWSPREVIOUS, which * indicates the previous current version of the secret. You can use this as the * last known good version.

For more information about * rotation and staging labels, see How * rotation works.

*/ inline DescribeSecretResult& WithVersionIdsToStages(const Aws::Map>& value) { SetVersionIdsToStages(value); return *this;} /** *

A list of the versions of the secret that have staging labels attached. * Versions that don't have staging labels are considered deprecated and Secrets * Manager can delete them.

Secrets Manager uses staging labels to indicate * the status of a secret version during rotation. The three staging labels for * rotation are:

  • AWSCURRENT, which indicates the * current version of the secret.

  • AWSPENDING, which * indicates the version of the secret that contains new secret information that * will become the next current version when rotation finishes.

    During * rotation, Secrets Manager creates an AWSPENDING version ID before * creating the new secret version. To check if a secret version exists, call * GetSecretValue.

  • AWSPREVIOUS, which * indicates the previous current version of the secret. You can use this as the * last known good version.

For more information about * rotation and staging labels, see How * rotation works.

*/ inline DescribeSecretResult& WithVersionIdsToStages(Aws::Map>&& value) { SetVersionIdsToStages(std::move(value)); return *this;} /** *

A list of the versions of the secret that have staging labels attached. * Versions that don't have staging labels are considered deprecated and Secrets * Manager can delete them.

Secrets Manager uses staging labels to indicate * the status of a secret version during rotation. The three staging labels for * rotation are:

  • AWSCURRENT, which indicates the * current version of the secret.

  • AWSPENDING, which * indicates the version of the secret that contains new secret information that * will become the next current version when rotation finishes.

    During * rotation, Secrets Manager creates an AWSPENDING version ID before * creating the new secret version. To check if a secret version exists, call * GetSecretValue.

  • AWSPREVIOUS, which * indicates the previous current version of the secret. You can use this as the * last known good version.

For more information about * rotation and staging labels, see How * rotation works.

*/ inline DescribeSecretResult& AddVersionIdsToStages(const Aws::String& key, const Aws::Vector& value) { m_versionIdsToStages.emplace(key, value); return *this; } /** *

A list of the versions of the secret that have staging labels attached. * Versions that don't have staging labels are considered deprecated and Secrets * Manager can delete them.

Secrets Manager uses staging labels to indicate * the status of a secret version during rotation. The three staging labels for * rotation are:

  • AWSCURRENT, which indicates the * current version of the secret.

  • AWSPENDING, which * indicates the version of the secret that contains new secret information that * will become the next current version when rotation finishes.

    During * rotation, Secrets Manager creates an AWSPENDING version ID before * creating the new secret version. To check if a secret version exists, call * GetSecretValue.

  • AWSPREVIOUS, which * indicates the previous current version of the secret. You can use this as the * last known good version.

For more information about * rotation and staging labels, see How * rotation works.

*/ inline DescribeSecretResult& AddVersionIdsToStages(Aws::String&& key, const Aws::Vector& value) { m_versionIdsToStages.emplace(std::move(key), value); return *this; } /** *

A list of the versions of the secret that have staging labels attached. * Versions that don't have staging labels are considered deprecated and Secrets * Manager can delete them.

Secrets Manager uses staging labels to indicate * the status of a secret version during rotation. The three staging labels for * rotation are:

  • AWSCURRENT, which indicates the * current version of the secret.

  • AWSPENDING, which * indicates the version of the secret that contains new secret information that * will become the next current version when rotation finishes.

    During * rotation, Secrets Manager creates an AWSPENDING version ID before * creating the new secret version. To check if a secret version exists, call * GetSecretValue.

  • AWSPREVIOUS, which * indicates the previous current version of the secret. You can use this as the * last known good version.

For more information about * rotation and staging labels, see How * rotation works.

*/ inline DescribeSecretResult& AddVersionIdsToStages(const Aws::String& key, Aws::Vector&& value) { m_versionIdsToStages.emplace(key, std::move(value)); return *this; } /** *

A list of the versions of the secret that have staging labels attached. * Versions that don't have staging labels are considered deprecated and Secrets * Manager can delete them.

Secrets Manager uses staging labels to indicate * the status of a secret version during rotation. The three staging labels for * rotation are:

  • AWSCURRENT, which indicates the * current version of the secret.

  • AWSPENDING, which * indicates the version of the secret that contains new secret information that * will become the next current version when rotation finishes.

    During * rotation, Secrets Manager creates an AWSPENDING version ID before * creating the new secret version. To check if a secret version exists, call * GetSecretValue.

  • AWSPREVIOUS, which * indicates the previous current version of the secret. You can use this as the * last known good version.

For more information about * rotation and staging labels, see How * rotation works.

*/ inline DescribeSecretResult& AddVersionIdsToStages(Aws::String&& key, Aws::Vector&& value) { m_versionIdsToStages.emplace(std::move(key), std::move(value)); return *this; } /** *

A list of the versions of the secret that have staging labels attached. * Versions that don't have staging labels are considered deprecated and Secrets * Manager can delete them.

Secrets Manager uses staging labels to indicate * the status of a secret version during rotation. The three staging labels for * rotation are:

  • AWSCURRENT, which indicates the * current version of the secret.

  • AWSPENDING, which * indicates the version of the secret that contains new secret information that * will become the next current version when rotation finishes.

    During * rotation, Secrets Manager creates an AWSPENDING version ID before * creating the new secret version. To check if a secret version exists, call * GetSecretValue.

  • AWSPREVIOUS, which * indicates the previous current version of the secret. You can use this as the * last known good version.

For more information about * rotation and staging labels, see How * rotation works.

*/ inline DescribeSecretResult& AddVersionIdsToStages(const char* key, Aws::Vector&& value) { m_versionIdsToStages.emplace(key, std::move(value)); return *this; } /** *

A list of the versions of the secret that have staging labels attached. * Versions that don't have staging labels are considered deprecated and Secrets * Manager can delete them.

Secrets Manager uses staging labels to indicate * the status of a secret version during rotation. The three staging labels for * rotation are:

  • AWSCURRENT, which indicates the * current version of the secret.

  • AWSPENDING, which * indicates the version of the secret that contains new secret information that * will become the next current version when rotation finishes.

    During * rotation, Secrets Manager creates an AWSPENDING version ID before * creating the new secret version. To check if a secret version exists, call * GetSecretValue.

  • AWSPREVIOUS, which * indicates the previous current version of the secret. You can use this as the * last known good version.

For more information about * rotation and staging labels, see How * rotation works.

*/ inline DescribeSecretResult& AddVersionIdsToStages(const char* key, const Aws::Vector& value) { m_versionIdsToStages.emplace(key, value); return *this; } /** *

The ID of the service that created this secret. For more information, see Secrets * managed by other Amazon Web Services services.

*/ inline const Aws::String& GetOwningService() const{ return m_owningService; } /** *

The ID of the service that created this secret. For more information, see Secrets * managed by other Amazon Web Services services.

*/ inline void SetOwningService(const Aws::String& value) { m_owningService = value; } /** *

The ID of the service that created this secret. For more information, see Secrets * managed by other Amazon Web Services services.

*/ inline void SetOwningService(Aws::String&& value) { m_owningService = std::move(value); } /** *

The ID of the service that created this secret. For more information, see Secrets * managed by other Amazon Web Services services.

*/ inline void SetOwningService(const char* value) { m_owningService.assign(value); } /** *

The ID of the service that created this secret. For more information, see Secrets * managed by other Amazon Web Services services.

*/ inline DescribeSecretResult& WithOwningService(const Aws::String& value) { SetOwningService(value); return *this;} /** *

The ID of the service that created this secret. For more information, see Secrets * managed by other Amazon Web Services services.

*/ inline DescribeSecretResult& WithOwningService(Aws::String&& value) { SetOwningService(std::move(value)); return *this;} /** *

The ID of the service that created this secret. For more information, see Secrets * managed by other Amazon Web Services services.

*/ inline DescribeSecretResult& WithOwningService(const char* value) { SetOwningService(value); return *this;} /** *

The date the secret was created.

*/ inline const Aws::Utils::DateTime& GetCreatedDate() const{ return m_createdDate; } /** *

The date the secret was created.

*/ inline void SetCreatedDate(const Aws::Utils::DateTime& value) { m_createdDate = value; } /** *

The date the secret was created.

*/ inline void SetCreatedDate(Aws::Utils::DateTime&& value) { m_createdDate = std::move(value); } /** *

The date the secret was created.

*/ inline DescribeSecretResult& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;} /** *

The date the secret was created.

*/ inline DescribeSecretResult& WithCreatedDate(Aws::Utils::DateTime&& value) { SetCreatedDate(std::move(value)); return *this;} /** *

The Region the secret is in. If a secret is replicated to other Regions, the * replicas are listed in ReplicationStatus.

*/ inline const Aws::String& GetPrimaryRegion() const{ return m_primaryRegion; } /** *

The Region the secret is in. If a secret is replicated to other Regions, the * replicas are listed in ReplicationStatus.

*/ inline void SetPrimaryRegion(const Aws::String& value) { m_primaryRegion = value; } /** *

The Region the secret is in. If a secret is replicated to other Regions, the * replicas are listed in ReplicationStatus.

*/ inline void SetPrimaryRegion(Aws::String&& value) { m_primaryRegion = std::move(value); } /** *

The Region the secret is in. If a secret is replicated to other Regions, the * replicas are listed in ReplicationStatus.

*/ inline void SetPrimaryRegion(const char* value) { m_primaryRegion.assign(value); } /** *

The Region the secret is in. If a secret is replicated to other Regions, the * replicas are listed in ReplicationStatus.

*/ inline DescribeSecretResult& WithPrimaryRegion(const Aws::String& value) { SetPrimaryRegion(value); return *this;} /** *

The Region the secret is in. If a secret is replicated to other Regions, the * replicas are listed in ReplicationStatus.

*/ inline DescribeSecretResult& WithPrimaryRegion(Aws::String&& value) { SetPrimaryRegion(std::move(value)); return *this;} /** *

The Region the secret is in. If a secret is replicated to other Regions, the * replicas are listed in ReplicationStatus.

*/ inline DescribeSecretResult& WithPrimaryRegion(const char* value) { SetPrimaryRegion(value); return *this;} /** *

A list of the replicas of this secret and their status:

  • * Failed, which indicates that the replica was not created.

  • *
  • InProgress, which indicates that Secrets Manager is in the * process of creating the replica.

  • InSync, which * indicates that the replica was created.

*/ inline const Aws::Vector& GetReplicationStatus() const{ return m_replicationStatus; } /** *

A list of the replicas of this secret and their status:

  • * Failed, which indicates that the replica was not created.

  • *
  • InProgress, which indicates that Secrets Manager is in the * process of creating the replica.

  • InSync, which * indicates that the replica was created.

*/ inline void SetReplicationStatus(const Aws::Vector& value) { m_replicationStatus = value; } /** *

A list of the replicas of this secret and their status:

  • * Failed, which indicates that the replica was not created.

  • *
  • InProgress, which indicates that Secrets Manager is in the * process of creating the replica.

  • InSync, which * indicates that the replica was created.

*/ inline void SetReplicationStatus(Aws::Vector&& value) { m_replicationStatus = std::move(value); } /** *

A list of the replicas of this secret and their status:

  • * Failed, which indicates that the replica was not created.

  • *
  • InProgress, which indicates that Secrets Manager is in the * process of creating the replica.

  • InSync, which * indicates that the replica was created.

*/ inline DescribeSecretResult& WithReplicationStatus(const Aws::Vector& value) { SetReplicationStatus(value); return *this;} /** *

A list of the replicas of this secret and their status:

  • * Failed, which indicates that the replica was not created.

  • *
  • InProgress, which indicates that Secrets Manager is in the * process of creating the replica.

  • InSync, which * indicates that the replica was created.

*/ inline DescribeSecretResult& WithReplicationStatus(Aws::Vector&& value) { SetReplicationStatus(std::move(value)); return *this;} /** *

A list of the replicas of this secret and their status:

  • * Failed, which indicates that the replica was not created.

  • *
  • InProgress, which indicates that Secrets Manager is in the * process of creating the replica.

  • InSync, which * indicates that the replica was created.

*/ inline DescribeSecretResult& AddReplicationStatus(const ReplicationStatusType& value) { m_replicationStatus.push_back(value); return *this; } /** *

A list of the replicas of this secret and their status:

  • * Failed, which indicates that the replica was not created.

  • *
  • InProgress, which indicates that Secrets Manager is in the * process of creating the replica.

  • InSync, which * indicates that the replica was created.

*/ inline DescribeSecretResult& AddReplicationStatus(ReplicationStatusType&& value) { m_replicationStatus.push_back(std::move(value)); return *this; } inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline DescribeSecretResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline DescribeSecretResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline DescribeSecretResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_aRN; Aws::String m_name; Aws::String m_description; Aws::String m_kmsKeyId; bool m_rotationEnabled; Aws::String m_rotationLambdaARN; RotationRulesType m_rotationRules; Aws::Utils::DateTime m_lastRotatedDate; Aws::Utils::DateTime m_lastChangedDate; Aws::Utils::DateTime m_lastAccessedDate; Aws::Utils::DateTime m_deletedDate; Aws::Utils::DateTime m_nextRotationDate; Aws::Vector m_tags; Aws::Map> m_versionIdsToStages; Aws::String m_owningService; Aws::Utils::DateTime m_createdDate; Aws::String m_primaryRegion; Aws::Vector m_replicationStatus; Aws::String m_requestId; }; } // namespace Model } // namespace SecretsManager } // namespace Aws