Skip to content

Secrets Manager  >  Operations  >  get_secret_value

get_secret_value

Operation

get_secret_value async

get_secret_value(input: GetSecretValueInput, plugins: list[Plugin] | None = None) -> GetSecretValueOutput

Retrieves the contents of the encrypted fields SecretString or SecretBinary from the specified version of a secret, whichever contains content.

To retrieve the values for a group of secrets, call BatchGetSecretValue.

We recommend that you cache your secret values by using client-side caching. Caching secrets improves speed and reduces your costs. For more information, see Cache secrets for your applications.

To retrieve the previous version of a secret, use VersionStage and specify AWSPREVIOUS. To revert to the previous version of a secret, call UpdateSecretVersionStage.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:GetSecretValue. If the secret is encrypted using a customer-managed key instead of the Amazon Web Services managed key aws/secretsmanager, then you also need kms:Decrypt permissions for that key. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

Parameters:

Name Type Description Default
input GetSecretValueInput

An instance of GetSecretValueInput.

required
plugins list[Plugin] | None

A list of callables that modify the configuration dynamically. Changes made by these plugins only apply for the duration of the operation execution and will not affect any other operation invocations.

None

Returns:

Type Description
GetSecretValueOutput

An instance of GetSecretValueOutput.

Input

GetSecretValueInput dataclass

Dataclass for GetSecretValueInput structure.

Attributes

secret_id class-attribute instance-attribute
secret_id: str | None = None

The ARN or name of the secret to retrieve. To retrieve a secret from another account, you must use an ARN.

For an ARN, we recommend that you specify a complete ARN rather than a partial ARN. See Finding a secret from a partial ARN.

version_id class-attribute instance-attribute
version_id: str | None = None

The unique identifier of the version of the secret to retrieve. If you include both this parameter and VersionStage, the two parameters must refer to the same secret version. If you don't specify either a VersionStage or VersionId, then Secrets Manager returns the AWSCURRENT version.

This value is typically a UUID-type value with 32 hexadecimal digits.

version_stage class-attribute instance-attribute
version_stage: str | None = None

The staging label of the version of the secret to retrieve.

Secrets Manager uses staging labels to keep track of different versions during the rotation process. If you include both this parameter and VersionId, the two parameters must refer to the same secret version. If you don't specify either a VersionStage or VersionId, Secrets Manager returns the AWSCURRENT version.

Output

GetSecretValueOutput dataclass

Dataclass for GetSecretValueOutput structure.

Attributes

arn class-attribute instance-attribute
arn: str | None = None

The ARN of the secret.

created_date class-attribute instance-attribute
created_date: datetime | None = None

The date and time that this version of the secret was created. If you don't specify which version in VersionId or VersionStage, then Secrets Manager uses the AWSCURRENT version.

name class-attribute instance-attribute
name: str | None = None

The friendly name of the secret.

secret_binary class-attribute instance-attribute
secret_binary: bytes | None = field(repr=False, default=None)

The decrypted secret value, if the secret value was originally provided as binary data in the form of a byte array. When you retrieve a SecretBinary using the HTTP API, the Python SDK, or the Amazon Web Services CLI, the value is Base64-encoded. Otherwise, it is not encoded.

If the secret was created by using the Secrets Manager console, or if the secret value was originally provided as a string, then this field is omitted. The secret value appears in SecretString instead.

Sensitive: This field contains sensitive information, so the service does not include it in CloudTrail log entries. If you create your own log entries, you must also avoid logging the information in this field.

secret_string class-attribute instance-attribute
secret_string: str | None = field(repr=False, default=None)

The decrypted secret value, if the secret value was originally provided as a string or through the Secrets Manager console.

If this secret was created by using the console, then Secrets Manager stores the information as a JSON structure of key/value pairs.

Sensitive: This field contains sensitive information, so the service does not include it in CloudTrail log entries. If you create your own log entries, you must also avoid logging the information in this field.

version_id class-attribute instance-attribute
version_id: str | None = None

The unique identifier of this version of the secret.

version_stages class-attribute instance-attribute
version_stages: list[str] | None = None

A list of all of the staging labels currently attached to this version of the secret.