Class: Aws::SecretsManager::Client
- Inherits:
-
Seahorse::Client::Base
- Object
- Seahorse::Client::Base
- Aws::SecretsManager::Client
- Includes:
- ClientStubs
- Defined in:
- gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client.rb
Overview
An API client for SecretsManager. To construct a client, you need to configure a :region and :credentials.
client = Aws::SecretsManager::Client.new(
region: region_name,
credentials: credentials,
# ...
)
For details on configuring region and credentials see the developer guide.
See #initialize for a full list of supported configuration options.
Instance Attribute Summary
Attributes inherited from Seahorse::Client::Base
API Operations collapse
-
#associate_cross_account_replica(params = {}) ⇒ Types::AssociateCrossAccountReplicaResponse
Links a primary secret in your account to a replica secret in a different Amazon Web Services account and starts replication to this replica.
-
#batch_get_secret_value(params = {}) ⇒ Types::BatchGetSecretValueResponse
Retrieves the contents of the encrypted fields
SecretStringorSecretBinaryfor up to 20 secrets. -
#cancel_rotate_secret(params = {}) ⇒ Types::CancelRotateSecretResponse
Turns off automatic rotation, and if a rotation is currently in progress, cancels the rotation.
-
#create_secret(params = {}) ⇒ Types::CreateSecretResponse
Creates a new secret.
-
#delete_resource_policy(params = {}) ⇒ Types::DeleteResourcePolicyResponse
Deletes the resource-based permission policy attached to the secret.
-
#delete_secret(params = {}) ⇒ Types::DeleteSecretResponse
Deletes a secret and all of its versions.
-
#describe_secret(params = {}) ⇒ Types::DescribeSecretResponse
Retrieves the details of a secret.
-
#disassociate_cross_account_replica(params = {}) ⇒ Types::DisassociateCrossAccountReplicaResponse
Removes the link between a primary secret in your account and a cross-account replica secret, and stops replication to the replica secret.
-
#get_random_password(params = {}) ⇒ Types::GetRandomPasswordResponse
Generates a random password.
-
#get_resource_policy(params = {}) ⇒ Types::GetResourcePolicyResponse
Retrieves the JSON text of the resource-based policy document attached to the secret.
-
#get_secret_value(params = {}) ⇒ Types::GetSecretValueResponse
Retrieves the contents of the encrypted fields
SecretStringorSecretBinaryfrom the specified version of a secret, whichever contains content. -
#list_resource_policies(params = {}) ⇒ Types::ListResourcePoliciesResponse
Lists the resource-based policies attached to a secret.
-
#list_secret_version_ids(params = {}) ⇒ Types::ListSecretVersionIdsResponse
Lists the versions of a secret.
-
#list_secrets(params = {}) ⇒ Types::ListSecretsResponse
Lists the secrets that are stored by Secrets Manager in the Amazon Web Services account, not including secrets that are marked for deletion.
-
#put_resource_policy(params = {}) ⇒ Types::PutResourcePolicyResponse
Attaches a resource-based permission policy to a secret.
-
#put_secret_value(params = {}) ⇒ Types::PutSecretValueResponse
Creates a new version of your secret by creating a new encrypted value and attaching it to the secret.
-
#remove_regions_from_replication(params = {}) ⇒ Types::RemoveRegionsFromReplicationResponse
For a secret that is replicated to other Regions, deletes the secret replicas from the Regions you specify.
-
#replicate_secret_to_regions(params = {}) ⇒ Types::ReplicateSecretToRegionsResponse
Replicates the secret to a new Regions.
-
#restore_secret(params = {}) ⇒ Types::RestoreSecretResponse
Cancels the scheduled deletion of a secret by removing the
DeletedDatetime stamp. -
#rotate_secret(params = {}) ⇒ Types::RotateSecretResponse
Configures and starts the asynchronous process of rotating the secret.
-
#stop_replication_to_replica(params = {}) ⇒ Types::StopReplicationToReplicaResponse
Removes the link between a replica secret and its primary secret, and stops replication to the replica.
-
#tag_resource(params = {}) ⇒ Struct
Attaches tags to a secret.
-
#untag_resource(params = {}) ⇒ Struct
Removes specific tags from a secret.
-
#update_secret(params = {}) ⇒ Types::UpdateSecretResponse
Modifies the details of a secret, including metadata and the secret value.
-
#update_secret_version_stage(params = {}) ⇒ Types::UpdateSecretVersionStageResponse
Modifies the staging labels attached to a version of a secret.
-
#validate_resource_policy(params = {}) ⇒ Types::ValidateResourcePolicyResponse
Validates that a resource policy does not grant a wide range of principals access to your secret.
Instance Method Summary collapse
-
#initialize(options) ⇒ Client
constructor
A new instance of Client.
Methods included from ClientStubs
#api_requests, #stub_data, #stub_responses
Methods inherited from Seahorse::Client::Base
add_plugin, api, clear_plugins, define, new, #operation_names, plugins, remove_plugin, set_api, set_plugins
Methods included from Seahorse::Client::HandlerBuilder
#handle, #handle_request, #handle_response
Constructor Details
#initialize(options) ⇒ Client
Returns a new instance of Client.
486 487 488 |
# File 'gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client.rb', line 486 def initialize(*args) super end |
Instance Method Details
#associate_cross_account_replica(params = {}) ⇒ Types::AssociateCrossAccountReplicaResponse
Links a primary secret in your account to a replica secret in a
different Amazon Web Services account and starts replication to this
replica. The replica secret must already exist in the other Amazon Web
Services account. Create the replica with CreateSecret and set its
CrossAccountPrimaryARN field set to this primary secret's ARN. When
you call AssociateCrossAccountReplica, Secrets Manager calls
AcceptCrossAccountReplication on the replica secret on your behalf.
The primary and replica secrets must be in the same Amazon Web Services Region and partition, and you must call this operation from the account that owns the primary secret. A primary secret can have at most one cross-account replica. This operation is idempotent, so you can call it again for the same replica to repair replication. If the association fails, Secrets Manager does not modify either the primary or replica secret.
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:AssociateCrossAccountReplica,
secretsmanager:GetSecretValue on the primary secret, and
secretsmanager:AcceptCrossAccountReplication on the replica secret.
You must also have kms:Decrypt permission for the Key Management
Service (KMS) key that encrypts the primary secret, and kms:Encrypt
permission for the Amazon Web Services KMS key that encrypts the
replica secret. If you supply ReplicationRoleARN, you also need
iam:PassRole for that role. For more information, see IAM policy
actions for Secrets Manager and Authentication and access control
in Secrets Manager.
613 614 615 616 |
# File 'gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client.rb', line 613 def associate_cross_account_replica(params = {}, = {}) req = build_request(:associate_cross_account_replica, params) req.send_request() end |
#batch_get_secret_value(params = {}) ⇒ Types::BatchGetSecretValueResponse
Retrieves the contents of the encrypted fields SecretString or
SecretBinary for up to 20 secrets. To retrieve a single secret, call
GetSecretValue.
To choose which secrets to retrieve, you can specify a list of secrets
by name or ARN, or you can use filters. If Secrets Manager encounters
errors such as AccessDeniedException while attempting to retrieve
any of the secrets, you can see the errors in Errors in the
response.
Secrets Manager generates CloudTrail GetSecretValue log entries for
each secret you request 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:BatchGetSecretValue,
and you must have secretsmanager:GetSecretValue for each secret. If
you use filters, you must also have secretsmanager:ListSecrets. If
the secrets are encrypted using customer-managed keys instead of the
Amazon Web Services managed key aws/secretsmanager, then you also
need kms:Decrypt permissions for the keys. For more information, see
IAM policy actions for Secrets Manager and Authentication and
access control in Secrets Manager.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
764 765 766 767 |
# File 'gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client.rb', line 764 def batch_get_secret_value(params = {}, = {}) req = build_request(:batch_get_secret_value, params) req.send_request() end |
#cancel_rotate_secret(params = {}) ⇒ Types::CancelRotateSecretResponse
Turns off automatic rotation, and if a rotation is currently in progress, cancels the rotation.
If you cancel a rotation in progress, it can leave the VersionStage
labels in an unexpected state. You might need to remove the staging
label AWSPENDING from the partially created version. You also need
to determine whether to roll back to the previous version of the
secret by moving the staging label AWSCURRENT to the version that
has AWSPENDING. To determine which version has a specific staging
label, call DescribeSecret. Then use UpdateSecretVersionStage to
change staging labels. For more information, see How rotation
works.
To turn on automatic rotation again, call RotateSecret.
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:CancelRotateSecret. For
more information, see IAM policy actions for Secrets Manager and
Authentication and access control in Secrets Manager.
849 850 851 852 |
# File 'gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client.rb', line 849 def cancel_rotate_secret(params = {}, = {}) req = build_request(:cancel_rotate_secret, params) req.send_request() end |
#create_secret(params = {}) ⇒ Types::CreateSecretResponse
Creates a new secret. A secret can be a password, a set of credentials such as a user name and password, an OAuth token, or other secret information that you store in an encrypted form in Secrets Manager. The secret also includes the connection information to access a database or other service. Secrets Manager does not encrypt this connection information. A secret in Secrets Manager consists of both the encrypted secret versions and the metadata that Secrets Manager uses to manage the secret.
For secrets that use managed rotation, you need to create the secret through the managing service. For more information, see Secrets Manager secrets managed by other Amazon Web Services services.
For information about creating a secret in the console, see Create a secret.
To create a secret, you can provide the secret value to be encrypted
in either the SecretString parameter or the SecretBinary
parameter, but not both. If you include SecretString or
SecretBinary, then Secrets Manager creates an initial secret version
and automatically attaches the staging label AWSCURRENT to it.
For database credentials you want to rotate, for Secrets Manager to be
able to rotate the secret, you must make sure the JSON you store in
the SecretString matches the JSON structure of a database
secret.
If you don't specify an KMS encryption key, Secrets Manager uses the
Amazon Web Services managed key aws/secretsmanager. If this key
doesn't already exist in your account, then Secrets Manager creates
it for you automatically. All users and roles in the Amazon Web
Services account automatically have access to use
aws/secretsmanager. Creating aws/secretsmanager can result in a
one-time delay to complete the secret creation.
If the secret is in a different Amazon Web Services account from the
credentials calling the API, then you can't use aws/secretsmanager
to encrypt the secret, and you must create and use a customer managed
KMS key.
To create a cross-account replica secret, include
CrossAccountPrimaryARN. The replica must use a customer managed KMS
key, and can't include AddReplicaRegions, Description,
SecretBinary, SecretString, or Type.
Secrets Manager generates a CloudTrail log entry when you call this
action. Do not include sensitive information in request parameters
except SecretBinary or SecretString because it might be logged.
For more information, see Logging Secrets Manager events with
CloudTrail.
Required permissions: secretsmanager:CreateSecret. If you
include tags in the secret, you also need
secretsmanager:TagResource. To add replica Regions, you must also
have secretsmanager:ReplicateSecretToRegions. To create a
cross-account replica secret, you must also have
secretsmanager:PutResourcePolicy permissions. For more information,
see IAM policy actions for Secrets Manager and Authentication
and access control in Secrets Manager.
To encrypt the secret with a KMS key other than aws/secretsmanager,
you need kms:GenerateDataKey and kms:Decrypt permission to the
key.
When you enter commands in a command shell, there is a risk of the command history being accessed or utilities having access to your command parameters. This is a concern if the command includes the value of a secret. Learn how to Mitigate the risks of using command-line tools to store Secrets Manager secrets.
1195 1196 1197 1198 |
# File 'gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client.rb', line 1195 def create_secret(params = {}, = {}) req = build_request(:create_secret, params) req.send_request() end |
#delete_resource_policy(params = {}) ⇒ Types::DeleteResourcePolicyResponse
Deletes the resource-based permission policy attached to the secret. To attach a policy to a secret, use PutResourcePolicy.
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:DeleteResourcePolicy.
For more information, see IAM policy actions for Secrets Manager
and Authentication and access control in Secrets Manager.
1274 1275 1276 1277 |
# File 'gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client.rb', line 1274 def delete_resource_policy(params = {}, = {}) req = build_request(:delete_resource_policy, params) req.send_request() end |
#delete_secret(params = {}) ⇒ Types::DeleteSecretResponse
Deletes a secret and all of its versions. You can specify a recovery
window during which you can restore the secret. The minimum recovery
window is 7 days. The default recovery window is 30 days. Secrets
Manager attaches a DeletionDate stamp to the secret that specifies
the end of the recovery window. At the end of the recovery window,
Secrets Manager deletes the secret permanently.
You can't delete a primary secret that is replicated to other Regions. You must first delete the replicas using RemoveRegionsFromReplication, and then delete the primary secret. When you delete a replica, it is deleted immediately.
You can't delete a cross-account primary secret that is associated with a cross-account replica secret. You must first disassociate each of the replicas using DisassociateCrossAccountReplica, before deleting the primary secret. Similarly, you can't delete a cross-account replica secret without first stopping replication. Call StopReplicationToReplica to stop replication, and then you can delete the secret.
You can't directly delete a version of a secret. Instead, you remove all staging labels from the version using UpdateSecretVersionStage. This marks the version as deprecated, and then Secrets Manager can automatically delete the version in the background.
To determine whether an application still uses a secret, you can create an Amazon CloudWatch alarm to alert you to any attempts to access a secret during the recovery window. For more information, see Monitor secrets scheduled for deletion.
Secrets Manager performs the permanent secret deletion at the end of the waiting period as a background task with low priority. There is no guarantee of a specific time after the recovery window for the permanent delete to occur.
At any time before recovery window ends, you can use RestoreSecret to
remove the DeletionDate and cancel the deletion of the secret.
When a secret is scheduled for deletion, you cannot retrieve the secret value. You must first cancel the deletion with RestoreSecret and then you can retrieve the secret.
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:DeleteSecret. For more
information, see IAM policy actions for Secrets Manager and
Authentication and access control in Secrets Manager.
1418 1419 1420 1421 |
# File 'gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client.rb', line 1418 def delete_secret(params = {}, = {}) req = build_request(:delete_secret, params) req.send_request() end |
#describe_secret(params = {}) ⇒ Types::DescribeSecretResponse
Retrieves the details of a secret. It does not include the encrypted secret value. Secrets Manager only returns fields that have a value in the response.
VersionIdsToStages field in the response includes every version
ID that has a staging label attached, even if that version doesn't
contain a secret value. In contrast, ListSecretVersionIds only
returns versions that contain a secret value. To check whether a
secret version contains a value, call GetSecretValue.
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:DescribeSecret. For
more information, see IAM policy actions for Secrets Manager and
Authentication and access control in Secrets Manager.
1587 1588 1589 1590 |
# File 'gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client.rb', line 1587 def describe_secret(params = {}, = {}) req = build_request(:describe_secret, params) req.send_request() end |
#disassociate_cross_account_replica(params = {}) ⇒ Types::DisassociateCrossAccountReplicaResponse
Removes the link between a primary secret in your account and a cross-account replica secret, and stops replication to the replica secret. Call this operation on the primary secret. This action removes the replica association created by AssociateCrossAccountReplica.
Disassociating the replica from the primary does not delete the
replica secret or convert the replica secret to a standalone secret.
The replica secret remains in the other account and its replication
status changes to Detached. Secrets Manager no longer sends updates
from the primary secret to the replica secret after disassociation. To
convert a detached replica into a standalone secret, call
StopReplicationToReplica on the replica secret.
You must disassociate a cross-account replica before you call DeleteSecret for the primary secret. The DeleteSecret call fails if any replicas are still associated with the primary secret.
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:DisassociateCrossAccountReplica. For more
information, see IAM policy actions for Secrets Manager and
Authentication and access control in Secrets Manager.
1678 1679 1680 1681 |
# File 'gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client.rb', line 1678 def disassociate_cross_account_replica(params = {}, = {}) req = build_request(:disassociate_cross_account_replica, params) req.send_request() end |
#get_random_password(params = {}) ⇒ Types::GetRandomPasswordResponse
Generates a random password. We recommend that you specify the maximum
length and include every character type that the system you are
generating a password for can support. By default, Secrets Manager
uses uppercase and lowercase letters, numbers, and the following
characters in passwords: !"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~
Secrets Manager generates a CloudTrail log entry when you call this action.
Required permissions: secretsmanager:GetRandomPassword. For
more information, see IAM policy actions for Secrets Manager and
Authentication and access control in Secrets Manager.
1779 1780 1781 1782 |
# File 'gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client.rb', line 1779 def get_random_password(params = {}, = {}) req = build_request(:get_random_password, params) req.send_request() end |
#get_resource_policy(params = {}) ⇒ Types::GetResourcePolicyResponse
Retrieves the JSON text of the resource-based policy document attached to the secret. For more information about permissions policies attached to a secret, see Permissions policies attached to a secret.
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:GetResourcePolicy. For
more information, see IAM policy actions for Secrets Manager and
Authentication and access control in Secrets Manager.
1864 1865 1866 1867 |
# File 'gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client.rb', line 1864 def get_resource_policy(params = {}, = {}) req = build_request(:get_resource_policy, params) req.send_request() end |
#get_secret_value(params = {}) ⇒ Types::GetSecretValueResponse
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.
1992 1993 1994 1995 |
# File 'gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client.rb', line 1992 def get_secret_value(params = {}, = {}) req = build_request(:get_secret_value, params) req.send_request() end |
#list_resource_policies(params = {}) ⇒ Types::ListResourcePoliciesResponse
Lists the resource-based policies attached to a secret. The response
contains only the names of the policies, not their contents. Secrets
Manager lists default first, followed by any other policies in
alphabetical order. To get the contents of a policy, use
GetResourcePolicy. You can modify only the default policy.
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:ListResourcePolicies.
For more information, see IAM policy actions for Secrets Manager
and Authentication and access control in Secrets Manager.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
2084 2085 2086 2087 |
# File 'gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client.rb', line 2084 def list_resource_policies(params = {}, = {}) req = build_request(:list_resource_policies, params) req.send_request() end |
#list_secret_version_ids(params = {}) ⇒ Types::ListSecretVersionIdsResponse
Lists the versions of a secret. Secrets Manager uses staging labels to indicate the different versions of a secret. For more information, see Secrets Manager concepts: Versions.
To list the secrets in the account, use ListSecrets.
ListSecretVersionIds only returns versions that contain a secret
value. To see all version IDs that have staging labels attached,
including ones without a secret value, call DescribeSecret and check
VersionIdsToStages.
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:ListSecretVersionIds.
For more information, see IAM policy actions for Secrets Manager
and Authentication and access control in Secrets Manager.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
2219 2220 2221 2222 |
# File 'gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client.rb', line 2219 def list_secret_version_ids(params = {}, = {}) req = build_request(:list_secret_version_ids, params) req.send_request() end |
#list_secrets(params = {}) ⇒ Types::ListSecretsResponse
Lists the secrets that are stored by Secrets Manager in the Amazon Web Services account, not including secrets that are marked for deletion. To see secrets marked for deletion, use the Secrets Manager console.
All Secrets Manager operations are eventually consistent. ListSecrets might not reflect changes from the last five minutes. You can get more recent information for a specific secret by calling DescribeSecret.
To list the versions of a secret, use ListSecretVersionIds.
To retrieve the values for the secrets, call BatchGetSecretValue or GetSecretValue.
For information about finding secrets in the console, see Find secrets in Secrets Manager.
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:ListSecrets. For more
information, see IAM policy actions for Secrets Manager and
Authentication and access control in Secrets Manager.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
2377 2378 2379 2380 |
# File 'gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client.rb', line 2377 def list_secrets(params = {}, = {}) req = build_request(:list_secrets, params) req.send_request() end |
#put_resource_policy(params = {}) ⇒ Types::PutResourcePolicyResponse
Attaches a resource-based permission policy to a secret. A resource-based policy is optional. For more information, see Authentication and access control for Secrets Manager
For information about attaching a policy in the console, see Attach a permissions policy to a secret.
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:PutResourcePolicy. For
more information, see IAM policy actions for Secrets Manager and
Authentication and access control in Secrets Manager.
2495 2496 2497 2498 |
# File 'gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client.rb', line 2495 def put_resource_policy(params = {}, = {}) req = build_request(:put_resource_policy, params) req.send_request() end |
#put_secret_value(params = {}) ⇒ Types::PutSecretValueResponse
Creates a new version of your secret by creating a new encrypted value
and attaching it to the secret. version can contain a new
SecretString value or a new SecretBinary value.
Do not call PutSecretValue at a sustained rate of more than once
every 10 minutes. When you update the secret value, Secrets Manager
creates a new version of the secret. Secrets Manager keeps 100 of the
most recent versions, but it keeps all secret versions created in
the last 24 hours. If you call PutSecretValue more than once every
10 minutes, you will create more versions than Secrets Manager
removes, and you will reach the quota for secret versions.
You can specify the staging labels to attach to the new version in
VersionStages. If you don't include VersionStages, then Secrets
Manager automatically moves the staging label AWSCURRENT to this
version. If this operation creates the first version for the secret,
then Secrets Manager automatically attaches the staging label
AWSCURRENT to it. If this operation moves the staging label
AWSCURRENT from another version to this version, then Secrets
Manager also automatically moves the staging label AWSPREVIOUS to
the version that AWSCURRENT was removed from.
This operation is idempotent. If you call this operation with a
ClientRequestToken that matches an existing version's VersionId,
and you specify the same secret data, the operation succeeds but does
nothing. However, if the secret data is different, then the operation
fails because you can't modify an existing version; you can only
create new ones.
Secrets Manager generates a CloudTrail log entry when you call this
action. Do not include sensitive information in request parameters
except SecretBinary, SecretString, or RotationToken because it
might be logged. For more information, see Logging Secrets Manager
events with CloudTrail.
Required permissions: secretsmanager:PutSecretValue. For
more information, see IAM policy actions for Secrets Manager and
Authentication and access control in Secrets Manager.
When you enter commands in a command shell, there is a risk of the command history being accessed or utilities having access to your command parameters. This is a concern if the command includes the value of a secret. Learn how to Mitigate the risks of using command-line tools to store Secrets Manager secrets.
2721 2722 2723 2724 |
# File 'gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client.rb', line 2721 def put_secret_value(params = {}, = {}) req = build_request(:put_secret_value, params) req.send_request() end |
#remove_regions_from_replication(params = {}) ⇒ Types::RemoveRegionsFromReplicationResponse
For a secret that is replicated to other Regions, deletes the secret replicas from the Regions you specify.
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:RemoveRegionsFromReplication. For more information,
see IAM policy actions for Secrets Manager and Authentication
and access control in Secrets Manager.
2777 2778 2779 2780 |
# File 'gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client.rb', line 2777 def remove_regions_from_replication(params = {}, = {}) req = build_request(:remove_regions_from_replication, params) req.send_request() end |
#replicate_secret_to_regions(params = {}) ⇒ Types::ReplicateSecretToRegionsResponse
Replicates the secret to a new Regions. See Multi-Region secrets.
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:ReplicateSecretToRegions. If the primary secret is
encrypted with a KMS key other than aws/secretsmanager, you also
need kms:Decrypt permission to the key. To encrypt the replicated
secret with a KMS key other than aws/secretsmanager, you need
kms:GenerateDataKey and kms:Encrypt to the key. For more
information, see IAM policy actions for Secrets Manager and
Authentication and access control in Secrets Manager.
2875 2876 2877 2878 |
# File 'gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client.rb', line 2875 def replicate_secret_to_regions(params = {}, = {}) req = build_request(:replicate_secret_to_regions, params) req.send_request() end |
#restore_secret(params = {}) ⇒ Types::RestoreSecretResponse
Cancels the scheduled deletion of a secret by removing the
DeletedDate time stamp. You can access a secret again after it has
been restored.
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:RestoreSecret. For more
information, see IAM policy actions for Secrets Manager and
Authentication and access control in Secrets Manager.
2944 2945 2946 2947 |
# File 'gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client.rb', line 2944 def restore_secret(params = {}, = {}) req = build_request(:restore_secret, params) req.send_request() end |
#rotate_secret(params = {}) ⇒ Types::RotateSecretResponse
Configures and starts the asynchronous process of rotating the secret. For information about rotation, see Rotate secrets in the Secrets Manager User Guide. If you include the configuration parameters, the operation sets the values for the secret and then immediately starts a rotation. If you don't include the configuration parameters, the operation starts a rotation with the values already stored in the secret.
When rotation is successful, the AWSPENDING staging label might be
attached to the same version as the AWSCURRENT version, or it might
not be attached to any version. If the AWSPENDING staging label is
present but not attached to the same version as AWSCURRENT, then any
later invocation of RotateSecret assumes that a previous rotation
request is still in progress and returns an error. When rotation is
unsuccessful, the AWSPENDING staging label might be attached to an
empty secret version. For more information, see Troubleshoot
rotation in the Secrets Manager User Guide.
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:RotateSecret. For more
information, see IAM policy actions for Secrets Manager and
Authentication and access control in Secrets Manager. You also
need lambda:InvokeFunction permissions on the rotation function. For
more information, see Permissions for rotation.
3175 3176 3177 3178 |
# File 'gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client.rb', line 3175 def rotate_secret(params = {}, = {}) req = build_request(:rotate_secret, params) req.send_request() end |
#stop_replication_to_replica(params = {}) ⇒ Types::StopReplicationToReplicaResponse
Removes the link between a replica secret and its primary secret, and stops replication to the replica. You call this operation from the replica account or Region. Depending on the type of replica, the behavior is:
Cross-Region replica: promotes the replica to a standalone primary secret in the replica Region.
Cross-account replica: promotes the replica in your account to a standalone secret and stops replication from its primary secret in the other account. Secrets Manager updates the primary secret's replication status to
Detachedfor this replica.
To stop cross-account replication from the primary account instead, use DisassociateCrossAccountReplica.
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:StopReplicationToReplica. For cross-account replica
secrets, you must also have secretsmanager:DeleteResourcePolicy
permissions. For more information, see IAM policy actions for
Secrets Manager and Authentication and access control in Secrets
Manager.
3255 3256 3257 3258 |
# File 'gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client.rb', line 3255 def stop_replication_to_replica(params = {}, = {}) req = build_request(:stop_replication_to_replica, params) req.send_request() end |
#tag_resource(params = {}) ⇒ Struct
Attaches tags to a secret. Tags consist of a key name and a value. Tags are part of the secret's metadata. They are not associated with specific versions of the secret. This operation appends tags to the existing list of tags.
For tag quotas and naming restrictions, see Service quotas for Tagging in the Amazon Web Services General Reference guide.
If you use tags as part of your security strategy, then adding or removing a tag can change permissions. If successfully completing this operation would result in you losing your permissions for this secret, then the operation is blocked and returns an Access Denied error.
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:TagResource. For more
information, see IAM policy actions for Secrets Manager and
Authentication and access control in Secrets Manager.
3352 3353 3354 3355 |
# File 'gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client.rb', line 3352 def tag_resource(params = {}, = {}) req = build_request(:tag_resource, params) req.send_request() end |
#untag_resource(params = {}) ⇒ Struct
Removes specific tags from a secret.
This operation is idempotent. If a requested tag is not attached to the secret, no error is returned and the secret metadata is unchanged.
If you use tags as part of your security strategy, then removing a tag can change permissions. If successfully completing this operation would result in you losing your permissions for this secret, then the operation is blocked and returns an Access Denied error.
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:UntagResource. For more
information, see IAM policy actions for Secrets Manager and
Authentication and access control in Secrets Manager.
3434 3435 3436 3437 |
# File 'gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client.rb', line 3434 def untag_resource(params = {}, = {}) req = build_request(:untag_resource, params) req.send_request() end |
#update_secret(params = {}) ⇒ Types::UpdateSecretResponse
Modifies the details of a secret, including metadata and the secret value. To change the secret value, you can also use PutSecretValue.
To change the rotation configuration of a secret, use RotateSecret instead.
To change a secret so that it is managed by another service, you need to recreate the secret in that service. See Secrets Manager secrets managed by other Amazon Web Services services.
We recommend you avoid calling UpdateSecret at a sustained rate of
more than once every 10 minutes. When you call UpdateSecret to
update the secret value, Secrets Manager creates a new version of the
secret. Secrets Manager removes outdated versions when there are more
than 100, but it does not remove versions created less than 24 hours
ago. If you update the secret value more than once every 10 minutes,
you create more versions than Secrets Manager removes, and you will
reach the quota for secret versions.
If you include SecretString or SecretBinary to create a new secret
version, Secrets Manager automatically moves the staging label
AWSCURRENT to the new version. Then it attaches the label
AWSPREVIOUS to the version that AWSCURRENT was removed from.
If you call this operation with a ClientRequestToken that matches an
existing version's VersionId, the operation results in an error.
You can't modify an existing version, you can only create a new
version. To remove a version, remove all staging labels from it. See
UpdateSecretVersionStage.
Secrets Manager generates a CloudTrail log entry when you call this
action. Do not include sensitive information in request parameters
except SecretBinary or SecretString because it might be logged.
For more information, see Logging Secrets Manager events with
CloudTrail.
Required permissions: secretsmanager:UpdateSecret. For more
information, see IAM policy actions for Secrets Manager and
Authentication and access control in Secrets Manager. If you use
a customer managed key, you must also have kms:GenerateDataKey,
kms:Encrypt, and kms:Decrypt permissions on the key. If you change
the KMS key and you don't have kms:Encrypt permission to the new
key, Secrets Manager does not re-encrypt existing secret versions with
the new key. For more information, see Secret encryption and
decryption.
When you enter commands in a command shell, there is a risk of the command history being accessed or utilities having access to your command parameters. This is a concern if the command includes the value of a secret. Learn how to Mitigate the risks of using command-line tools to store Secrets Manager secrets.
3691 3692 3693 3694 |
# File 'gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client.rb', line 3691 def update_secret(params = {}, = {}) req = build_request(:update_secret, params) req.send_request() end |
#update_secret_version_stage(params = {}) ⇒ Types::UpdateSecretVersionStageResponse
Modifies the staging labels attached to a version of a secret. Secrets Manager uses staging labels to track a version as it progresses through the secret rotation process. Each staging label can be attached to only one version at a time. To add a staging label to a version when it is already attached to another version, Secrets Manager first removes it from the other version first and then attaches it to this one. For more information about versions and staging labels, see Concepts: Version.
The staging labels that you specify in the VersionStage parameter
are added to the existing list of staging labels for the version.
You can move the AWSCURRENT staging label to this version by
including it in this call.
AWSCURRENT, Secrets Manager automatically moves
the label AWSPREVIOUS to the version that AWSCURRENT was removed
from.
If this action results in the last label being removed from a version, then the version is considered to be 'deprecated' and can be deleted by Secrets Manager.
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:UpdateSecretVersionStage. For more information, see
IAM policy actions for Secrets Manager and Authentication and
access control in Secrets Manager.
3846 3847 3848 3849 |
# File 'gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client.rb', line 3846 def update_secret_version_stage(params = {}, = {}) req = build_request(:update_secret_version_stage, params) req.send_request() end |
#validate_resource_policy(params = {}) ⇒ Types::ValidateResourcePolicyResponse
Validates that a resource policy does not grant a wide range of principals access to your secret. A resource-based policy is optional for secrets.
The API performs three checks when validating the policy:
Sends a call to Zelkova, an automated reasoning engine, to ensure your resource policy does not allow broad access to your secret, for example policies that use a wildcard for the principal.
Checks for correct syntax in a policy.
Verifies the policy does not lock out a caller.
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:ValidateResourcePolicy
and secretsmanager:PutResourcePolicy. For more information, see
IAM policy actions for Secrets Manager and Authentication and
access control in Secrets Manager.
3936 3937 3938 3939 |
# File 'gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client.rb', line 3936 def validate_resource_policy(params = {}, = {}) req = build_request(:validate_resource_policy, params) req.send_request() end |