All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.secretsmanager.AWSSecretsManager Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS Secrets Manager module holds the client classes that are used for communicating with AWS Secrets Manager Service

There is a newer version: 1.12.780
Show newest version
/*
 * Copyright 2017-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */
package com.amazonaws.services.secretsmanager;

import javax.annotation.Generated;

import com.amazonaws.*;
import com.amazonaws.regions.*;

import com.amazonaws.services.secretsmanager.model.*;

/**
 * Interface for accessing AWS Secrets Manager.
 * 

* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from * {@link com.amazonaws.services.secretsmanager.AbstractAWSSecretsManager} instead. *

*

* Amazon Web Services Secrets Manager *

* Amazon Web Services Secrets Manager provides a service to enable you to store, manage, and retrieve, secrets. *

*

* This guide provides descriptions of the Secrets Manager API. For more information about using this service, see the * Amazon Web Services Secrets * Manager User Guide. *

*

* API Version *

*

* This version of the Secrets Manager API Reference documents the Secrets Manager API version 2017-10-17. *

* *

* As an alternative to using the API, you can use one of the Amazon Web Services SDKs, which consist of libraries and * sample code for various programming languages and platforms such as Java, Ruby, .NET, iOS, and Android. The SDKs * provide a convenient way to create programmatic access to Amazon Web Services Secrets Manager. For example, the SDKs * provide cryptographically signing requests, managing errors, and retrying requests automatically. For more * information about the Amazon Web Services SDKs, including downloading and installing them, see Tools for Amazon Web Services. *

*
*

* We recommend you use the Amazon Web Services SDKs to make programmatic API calls to Secrets Manager. However, you * also can use the Secrets Manager HTTP Query API to make direct calls to the Secrets Manager web service. To learn * more about the Secrets Manager HTTP Query API, see Making Query Requests in * the Amazon Web Services Secrets Manager User Guide. *

*

* Secrets Manager API supports GET and POST requests for all actions, and doesn't require you to use GET for some * actions and POST for others. However, GET requests are subject to the limitation size of a URL. Therefore, for * operations that require larger sizes, use a POST request. *

*

* Support and Feedback for Amazon Web Services Secrets Manager *

*

* We welcome your feedback. Send your comments to [email protected], or post your feedback * and questions in the Amazon Web Services Secrets * Manager Discussion Forum. For more information about the Amazon Web Services Discussion Forums, see Forums Help. *

*

* How examples are presented *

*

* The JSON that Amazon Web Services Secrets Manager expects as your request parameters and the service returns as a * response to HTTP query requests contain single, long strings without line breaks or white space formatting. The JSON * shown in the examples displays the code formatted with both line breaks and white space to improve readability. When * example input parameters can also cause long strings extending beyond the screen, you can insert line breaks to * enhance readability. You should always submit the input as a single JSON text string. *

*

* Logging API Requests *

*

* Amazon Web Services Secrets Manager supports Amazon Web Services CloudTrail, a service that records Amazon Web * Services API calls for your Amazon Web Services account and delivers log files to an Amazon S3 bucket. By using * information that's collected by Amazon Web Services CloudTrail, you can determine the requests successfully made to * Secrets Manager, who made the request, when it was made, and so on. For more about Amazon Web Services Secrets * Manager and support for Amazon Web Services CloudTrail, see Logging * Amazon Web Services Secrets Manager Events with Amazon Web Services CloudTrail in the Amazon Web Services * Secrets Manager User Guide. To learn more about CloudTrail, including enabling it and find your log files, see * the Amazon * Web Services CloudTrail User Guide. *

*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public interface AWSSecretsManager { /** * The region metadata service name for computing region endpoints. You can use this value to retrieve metadata * (such as supported regions) of the service. * * @see RegionUtils#getRegionsForService(String) */ String ENDPOINT_PREFIX = "secretsmanager"; /** *

* Turns off automatic rotation, and if a rotation is currently in progress, cancels the rotation. *

*

* To turn on automatic rotation again, call RotateSecret. *

* *

* If you cancel a rotation in progress, it can leave the VersionStage labels in an unexpected state. * Depending on the step of the rotation in progress, you might need to remove the staging label * AWSPENDING from the partially created version, specified by the VersionId response * value. We recommend you also evaluate the partially rotated new version to see if it should be deleted. You can * delete a version by removing all staging labels from it. *

*
* * @param cancelRotateSecretRequest * @return Result of the CancelRotateSecret operation returned by the service. * @throws ResourceNotFoundException * Secrets Manager can't find the resource that you asked for. * @throws InvalidParameterException * The parameter name is invalid value. * @throws InternalServiceErrorException * An error occurred on the server side. * @throws InvalidRequestException * A parameter value is not valid for the current state of the resource.

*

* Possible causes: *

*
    *
  • *

    * The secret is scheduled for deletion. *

    *
  • *
  • *

    * You tried to enable rotation on a secret that doesn't already have a Lambda function ARN configured and * you didn't include such an ARN as a parameter in this call. *

    *
  • * @sample AWSSecretsManager.CancelRotateSecret * @see AWS API Documentation */ CancelRotateSecretResult cancelRotateSecret(CancelRotateSecretRequest cancelRotateSecretRequest); /** *

    * Creates a new secret. A secret is a set of credentials, such as a user name and password, that you store * in an encrypted form in Secrets Manager. The secret also includes the connection information to access a database * or other service, which Secrets Manager doesn't encrypt. A secret in Secrets Manager consists of both the * protected secret data and the important information needed to manage the secret. *

    *

    * 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. *

    *

    * 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 significant * delay in returning the result. *

    *

    * 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. *

    * * @param createSecretRequest * @return Result of the CreateSecret operation returned by the service. * @throws InvalidParameterException * The parameter name is invalid value. * @throws InvalidRequestException * A parameter value is not valid for the current state of the resource.

    *

    * Possible causes: *

    *
      *
    • *

      * The secret is scheduled for deletion. *

      *
    • *
    • *

      * You tried to enable rotation on a secret that doesn't already have a Lambda function ARN configured and * you didn't include such an ARN as a parameter in this call. *

      *
    • * @throws LimitExceededException * The request failed because it would exceed one of the Secrets Manager quotas. * @throws EncryptionFailureException * Secrets Manager can't encrypt the protected secret text using the provided KMS key. Check that the KMS * key is available, enabled, and not in an invalid state. For more information, see Key state: Effect on your KMS * key. * @throws ResourceExistsException * A resource with the ID you requested already exists. * @throws ResourceNotFoundException * Secrets Manager can't find the resource that you asked for. * @throws MalformedPolicyDocumentException * The resource policy has syntax errors. * @throws InternalServiceErrorException * An error occurred on the server side. * @throws PreconditionNotMetException * The request failed because you did not complete all the prerequisite steps. * @sample AWSSecretsManager.CreateSecret * @see AWS * API Documentation */ CreateSecretResult createSecret(CreateSecretRequest createSecretRequest); /** *

      * Deletes the resource-based permission policy attached to the secret. To attach a policy to a secret, use * PutResourcePolicy. *

      * * @param deleteResourcePolicyRequest * @return Result of the DeleteResourcePolicy operation returned by the service. * @throws ResourceNotFoundException * Secrets Manager can't find the resource that you asked for. * @throws InternalServiceErrorException * An error occurred on the server side. * @throws InvalidRequestException * A parameter value is not valid for the current state of the resource.

      *

      * Possible causes: *

      *
        *
      • *

        * The secret is scheduled for deletion. *

        *
      • *
      • *

        * You tried to enable rotation on a secret that doesn't already have a Lambda function ARN configured and * you didn't include such an ARN as a parameter in this call. *

        *
      • * @throws InvalidParameterException * The parameter name is invalid value. * @sample AWSSecretsManager.DeleteResourcePolicy * @see AWS API Documentation */ DeleteResourcePolicyResult deleteResourcePolicy(DeleteResourcePolicyRequest deleteResourcePolicyRequest); /** *

        * 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. *

        *

        * For information about deleting a secret in the console, see https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_delete-secret.html. *

        *

        * 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. *

        *

        * In a secret scheduled for deletion, you cannot access the encrypted secret value. To access that information, * first cancel the deletion with RestoreSecret and then retrieve the information. *

        * * @param deleteSecretRequest * @return Result of the DeleteSecret operation returned by the service. * @throws ResourceNotFoundException * Secrets Manager can't find the resource that you asked for. * @throws InvalidParameterException * The parameter name is invalid value. * @throws InvalidRequestException * A parameter value is not valid for the current state of the resource.

        *

        * Possible causes: *

        *
          *
        • *

          * The secret is scheduled for deletion. *

          *
        • *
        • *

          * You tried to enable rotation on a secret that doesn't already have a Lambda function ARN configured and * you didn't include such an ARN as a parameter in this call. *

          *
        • * @throws InternalServiceErrorException * An error occurred on the server side. * @sample AWSSecretsManager.DeleteSecret * @see AWS * API Documentation */ DeleteSecretResult deleteSecret(DeleteSecretRequest deleteSecretRequest); /** *

          * 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. *

          * * @param describeSecretRequest * @return Result of the DescribeSecret operation returned by the service. * @throws ResourceNotFoundException * Secrets Manager can't find the resource that you asked for. * @throws InternalServiceErrorException * An error occurred on the server side. * @throws InvalidParameterException * The parameter name is invalid value. * @sample AWSSecretsManager.DescribeSecret * @see AWS * API Documentation */ DescribeSecretResult describeSecret(DescribeSecretRequest describeSecretRequest); /** *

          * 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. *

          * * @param getRandomPasswordRequest * @return Result of the GetRandomPassword operation returned by the service. * @throws InvalidParameterException * The parameter name is invalid value. * @throws InvalidRequestException * A parameter value is not valid for the current state of the resource.

          *

          * Possible causes: *

          *
            *
          • *

            * The secret is scheduled for deletion. *

            *
          • *
          • *

            * You tried to enable rotation on a secret that doesn't already have a Lambda function ARN configured and * you didn't include such an ARN as a parameter in this call. *

            *
          • * @throws InternalServiceErrorException * An error occurred on the server side. * @sample AWSSecretsManager.GetRandomPassword * @see AWS API Documentation */ GetRandomPasswordResult getRandomPassword(GetRandomPasswordRequest getRandomPasswordRequest); /** *

            * 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. *

            * * @param getResourcePolicyRequest * @return Result of the GetResourcePolicy operation returned by the service. * @throws ResourceNotFoundException * Secrets Manager can't find the resource that you asked for. * @throws InternalServiceErrorException * An error occurred on the server side. * @throws InvalidRequestException * A parameter value is not valid for the current state of the resource.

            *

            * Possible causes: *

            *
              *
            • *

              * The secret is scheduled for deletion. *

              *
            • *
            • *

              * You tried to enable rotation on a secret that doesn't already have a Lambda function ARN configured and * you didn't include such an ARN as a parameter in this call. *

              *
            • * @throws InvalidParameterException * The parameter name is invalid value. * @sample AWSSecretsManager.GetResourcePolicy * @see AWS API Documentation */ GetResourcePolicyResult getResourcePolicy(GetResourcePolicyRequest getResourcePolicyRequest); /** *

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

              *

              * For information about retrieving the secret value in the console, see Retrieve secrets. *

              *

              * To run this command, you must have secretsmanager:GetSecretValue permissions. 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. *

              * * @param getSecretValueRequest * @return Result of the GetSecretValue operation returned by the service. * @throws ResourceNotFoundException * Secrets Manager can't find the resource that you asked for. * @throws InvalidParameterException * The parameter name is invalid value. * @throws InvalidRequestException * A parameter value is not valid for the current state of the resource.

              *

              * Possible causes: *

              *
                *
              • *

                * The secret is scheduled for deletion. *

                *
              • *
              • *

                * You tried to enable rotation on a secret that doesn't already have a Lambda function ARN configured and * you didn't include such an ARN as a parameter in this call. *

                *
              • * @throws DecryptionFailureException * Secrets Manager can't decrypt the protected secret text using the provided KMS key. * @throws InternalServiceErrorException * An error occurred on the server side. * @sample AWSSecretsManager.GetSecretValue * @see AWS * API Documentation */ GetSecretValueResult getSecretValue(GetSecretValueRequest getSecretValueRequest); /** *

                * Lists the versions for a secret. *

                *

                * To list the secrets in the account, use ListSecrets. *

                *

                * To get the secret value from SecretString or SecretBinary, call GetSecretValue. *

                *

                * Minimum permissions *

                *

                * To run this command, you must have secretsmanager:ListSecretVersionIds permissions. *

                * * @param listSecretVersionIdsRequest * @return Result of the ListSecretVersionIds operation returned by the service. * @throws InvalidNextTokenException * The NextToken value is invalid. * @throws ResourceNotFoundException * Secrets Manager can't find the resource that you asked for. * @throws InternalServiceErrorException * An error occurred on the server side. * @throws InvalidParameterException * The parameter name is invalid value. * @sample AWSSecretsManager.ListSecretVersionIds * @see AWS API Documentation */ ListSecretVersionIdsResult listSecretVersionIds(ListSecretVersionIdsRequest listSecretVersionIdsRequest); /** *

                * Lists the secrets that are stored by Secrets Manager in the Amazon Web Services account. *

                *

                * To list the versions of a secret, use ListSecretVersionIds. *

                *

                * To get the secret value from SecretString or SecretBinary, call GetSecretValue. *

                *

                * For information about finding secrets in the console, see Enhanced search * capabilities for secrets in Secrets Manager. *

                *

                * Minimum permissions *

                *

                * To run this command, you must have secretsmanager:ListSecrets permissions. *

                * * @param listSecretsRequest * @return Result of the ListSecrets operation returned by the service. * @throws InvalidParameterException * The parameter name is invalid value. * @throws InvalidNextTokenException * The NextToken value is invalid. * @throws InternalServiceErrorException * An error occurred on the server side. * @sample AWSSecretsManager.ListSecrets * @see AWS API * Documentation */ ListSecretsResult listSecrets(ListSecretsRequest listSecretsRequest); /** *

                * 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. *

                * * @param putResourcePolicyRequest * @return Result of the PutResourcePolicy operation returned by the service. * @throws MalformedPolicyDocumentException * The resource policy has syntax errors. * @throws ResourceNotFoundException * Secrets Manager can't find the resource that you asked for. * @throws InvalidParameterException * The parameter name is invalid value. * @throws InternalServiceErrorException * An error occurred on the server side. * @throws InvalidRequestException * A parameter value is not valid for the current state of the resource.

                *

                * Possible causes: *

                *
                  *
                • *

                  * The secret is scheduled for deletion. *

                  *
                • *
                • *

                  * You tried to enable rotation on a secret that doesn't already have a Lambda function ARN configured and * you didn't include such an ARN as a parameter in this call. *

                  *
                • * @throws PublicPolicyException * The BlockPublicPolicy parameter is set to true, and the resource policy did not prevent * broad access to the secret. * @sample AWSSecretsManager.PutResourcePolicy * @see AWS API Documentation */ PutResourcePolicyResult putResourcePolicy(PutResourcePolicyRequest putResourcePolicyRequest); /** *

                  * Creates a new version with a new encrypted secret value and attaches it to the secret. The version can contain a * new SecretString value or a new SecretBinary value. *

                  *

                  * We recommend you avoid calling 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 * removes outdated versions when there are more than 100, but it does not remove versions created less than 24 * hours ago. If you call PutSecretValue more than once every 10 minutes, you 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 a version with a VersionId with the same value as the * ClientRequestToken parameter already exists, 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. *

                  * * @param putSecretValueRequest * @return Result of the PutSecretValue operation returned by the service. * @throws InvalidParameterException * The parameter name is invalid value. * @throws InvalidRequestException * A parameter value is not valid for the current state of the resource.

                  *

                  * Possible causes: *

                  *
                    *
                  • *

                    * The secret is scheduled for deletion. *

                    *
                  • *
                  • *

                    * You tried to enable rotation on a secret that doesn't already have a Lambda function ARN configured and * you didn't include such an ARN as a parameter in this call. *

                    *
                  • * @throws LimitExceededException * The request failed because it would exceed one of the Secrets Manager quotas. * @throws EncryptionFailureException * Secrets Manager can't encrypt the protected secret text using the provided KMS key. Check that the KMS * key is available, enabled, and not in an invalid state. For more information, see Key state: Effect on your KMS * key. * @throws ResourceExistsException * A resource with the ID you requested already exists. * @throws ResourceNotFoundException * Secrets Manager can't find the resource that you asked for. * @throws InternalServiceErrorException * An error occurred on the server side. * @sample AWSSecretsManager.PutSecretValue * @see AWS * API Documentation */ PutSecretValueResult putSecretValue(PutSecretValueRequest putSecretValueRequest); /** *

                    * For a secret that is replicated to other Regions, deletes the secret replicas from the Regions you specify. *

                    * * @param removeRegionsFromReplicationRequest * @return Result of the RemoveRegionsFromReplication operation returned by the service. * @throws ResourceNotFoundException * Secrets Manager can't find the resource that you asked for. * @throws InvalidRequestException * A parameter value is not valid for the current state of the resource.

                    *

                    * Possible causes: *

                    *
                      *
                    • *

                      * The secret is scheduled for deletion. *

                      *
                    • *
                    • *

                      * You tried to enable rotation on a secret that doesn't already have a Lambda function ARN configured and * you didn't include such an ARN as a parameter in this call. *

                      *
                    • * @throws InvalidParameterException * The parameter name is invalid value. * @throws InternalServiceErrorException * An error occurred on the server side. * @sample AWSSecretsManager.RemoveRegionsFromReplication * @see AWS API Documentation */ RemoveRegionsFromReplicationResult removeRegionsFromReplication(RemoveRegionsFromReplicationRequest removeRegionsFromReplicationRequest); /** *

                      * Replicates the secret to a new Regions. See Multi-Region secrets. *

                      * * @param replicateSecretToRegionsRequest * @return Result of the ReplicateSecretToRegions operation returned by the service. * @throws ResourceNotFoundException * Secrets Manager can't find the resource that you asked for. * @throws InvalidRequestException * A parameter value is not valid for the current state of the resource.

                      *

                      * Possible causes: *

                      *
                        *
                      • *

                        * The secret is scheduled for deletion. *

                        *
                      • *
                      • *

                        * You tried to enable rotation on a secret that doesn't already have a Lambda function ARN configured and * you didn't include such an ARN as a parameter in this call. *

                        *
                      • * @throws InvalidParameterException * The parameter name is invalid value. * @throws InternalServiceErrorException * An error occurred on the server side. * @sample AWSSecretsManager.ReplicateSecretToRegions * @see AWS API Documentation */ ReplicateSecretToRegionsResult replicateSecretToRegions(ReplicateSecretToRegionsRequest replicateSecretToRegionsRequest); /** *

                        * Cancels the scheduled deletion of a secret by removing the DeletedDate time stamp. You can access a * secret again after it has been restored. *

                        * * @param restoreSecretRequest * @return Result of the RestoreSecret operation returned by the service. * @throws ResourceNotFoundException * Secrets Manager can't find the resource that you asked for. * @throws InvalidParameterException * The parameter name is invalid value. * @throws InvalidRequestException * A parameter value is not valid for the current state of the resource.

                        *

                        * Possible causes: *

                        *
                          *
                        • *

                          * The secret is scheduled for deletion. *

                          *
                        • *
                        • *

                          * You tried to enable rotation on a secret that doesn't already have a Lambda function ARN configured and * you didn't include such an ARN as a parameter in this call. *

                          *
                        • * @throws InternalServiceErrorException * An error occurred on the server side. * @sample AWSSecretsManager.RestoreSecret * @see AWS * API Documentation */ RestoreSecretResult restoreSecret(RestoreSecretRequest restoreSecretRequest); /** *

                          * Configures and starts the asynchronous process of rotating the secret. *

                          *

                          * 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. For more information about rotation, see Rotate secrets. *

                          *

                          * To configure rotation, you include the ARN of an Amazon Web Services Lambda function and the schedule for the * rotation. The Lambda rotation function creates a new version of the secret and creates or updates the credentials * on the database or service to match. After testing the new credentials, the function marks the new secret version * with the staging label AWSCURRENT. Then anyone who retrieves the secret gets the new version. For * more information, see How rotation * works. *

                          *

                          * 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. *

                          *

                          * To run this command, you must have secretsmanager:RotateSecret permissions and * lambda:InvokeFunction permissions on the function specified in the secret's metadata. *

                          * * @param rotateSecretRequest * @return Result of the RotateSecret operation returned by the service. * @throws ResourceNotFoundException * Secrets Manager can't find the resource that you asked for. * @throws InvalidParameterException * The parameter name is invalid value. * @throws InternalServiceErrorException * An error occurred on the server side. * @throws InvalidRequestException * A parameter value is not valid for the current state of the resource.

                          *

                          * Possible causes: *

                          *
                            *
                          • *

                            * The secret is scheduled for deletion. *

                            *
                          • *
                          • *

                            * You tried to enable rotation on a secret that doesn't already have a Lambda function ARN configured and * you didn't include such an ARN as a parameter in this call. *

                            *
                          • * @sample AWSSecretsManager.RotateSecret * @see AWS * API Documentation */ RotateSecretResult rotateSecret(RotateSecretRequest rotateSecretRequest); /** *

                            * Removes the link between the replica secret and the primary secret and promotes the replica to a primary secret * in the replica Region. *

                            *

                            * You must call this operation from the Region in which you want to promote the replica to a primary secret. *

                            * * @param stopReplicationToReplicaRequest * @return Result of the StopReplicationToReplica operation returned by the service. * @throws ResourceNotFoundException * Secrets Manager can't find the resource that you asked for. * @throws InvalidRequestException * A parameter value is not valid for the current state of the resource.

                            *

                            * Possible causes: *

                            *
                              *
                            • *

                              * The secret is scheduled for deletion. *

                              *
                            • *
                            • *

                              * You tried to enable rotation on a secret that doesn't already have a Lambda function ARN configured and * you didn't include such an ARN as a parameter in this call. *

                              *
                            • * @throws InvalidParameterException * The parameter name is invalid value. * @throws InternalServiceErrorException * An error occurred on the server side. * @sample AWSSecretsManager.StopReplicationToReplica * @see AWS API Documentation */ StopReplicationToReplicaResult stopReplicationToReplica(StopReplicationToReplicaRequest stopReplicationToReplicaRequest); /** *

                              * 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. *

                              *

                              * The following restrictions apply to tags: *

                              *
                                *
                              • *

                                * Maximum number of tags per secret: 50 *

                                *
                              • *
                              • *

                                * Maximum key length: 127 Unicode characters in UTF-8 *

                                *
                              • *
                              • *

                                * Maximum value length: 255 Unicode characters in UTF-8 *

                                *
                              • *
                              • *

                                * Tag keys and values are case sensitive. *

                                *
                              • *
                              • *

                                * Do not use the aws: prefix in your tag names or values because Amazon Web Services reserves it for * Amazon Web Services use. You can't edit or delete tag names or values with this prefix. Tags with this prefix do * not count against your tags per secret limit. *

                                *
                              • *
                              • *

                                * If you use your tagging schema across multiple services and resources, other services might have restrictions on * allowed characters. Generally allowed characters: letters, spaces, and numbers representable in UTF-8, plus the * following special characters: + - = . _ : / @. *

                                *
                              • *
                              * *

                              * 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. *

                              *
                              * * @param tagResourceRequest * @return Result of the TagResource operation returned by the service. * @throws ResourceNotFoundException * Secrets Manager can't find the resource that you asked for. * @throws InvalidRequestException * A parameter value is not valid for the current state of the resource.

                              *

                              * Possible causes: *

                              *
                                *
                              • *

                                * The secret is scheduled for deletion. *

                                *
                              • *
                              • *

                                * You tried to enable rotation on a secret that doesn't already have a Lambda function ARN configured and * you didn't include such an ARN as a parameter in this call. *

                                *
                              • * @throws InvalidParameterException * The parameter name is invalid value. * @throws InternalServiceErrorException * An error occurred on the server side. * @sample AWSSecretsManager.TagResource * @see AWS API * Documentation */ TagResourceResult tagResource(TagResourceRequest tagResourceRequest); /** *

                                * 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. *

                                *
                                * * @param untagResourceRequest * @return Result of the UntagResource operation returned by the service. * @throws ResourceNotFoundException * Secrets Manager can't find the resource that you asked for. * @throws InvalidRequestException * A parameter value is not valid for the current state of the resource.

                                *

                                * Possible causes: *

                                *
                                  *
                                • *

                                  * The secret is scheduled for deletion. *

                                  *
                                • *
                                • *

                                  * You tried to enable rotation on a secret that doesn't already have a Lambda function ARN configured and * you didn't include such an ARN as a parameter in this call. *

                                  *
                                • * @throws InvalidParameterException * The parameter name is invalid value. * @throws InternalServiceErrorException * An error occurred on the server side. * @sample AWSSecretsManager.UntagResource * @see AWS * API Documentation */ UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest); /** *

                                  * 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. *

                                  *

                                  * 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 attaches the staging label AWSCURRENT to the new version. *

                                  *

                                  * If you call this operation with a VersionId that matches an existing version's * ClientRequestToken, 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. *

                                  *

                                  * 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 significant * delay in returning the result. *

                                  *

                                  * 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 key. *

                                  *

                                  * To run this command, you must have secretsmanager:UpdateSecret permissions. If you use a customer * managed key, you must also have kms:GenerateDataKey and kms:Decrypt permissions . *

                                  * * @param updateSecretRequest * @return Result of the UpdateSecret operation returned by the service. * @throws InvalidParameterException * The parameter name is invalid value. * @throws InvalidRequestException * A parameter value is not valid for the current state of the resource.

                                  *

                                  * Possible causes: *

                                  *
                                    *
                                  • *

                                    * The secret is scheduled for deletion. *

                                    *
                                  • *
                                  • *

                                    * You tried to enable rotation on a secret that doesn't already have a Lambda function ARN configured and * you didn't include such an ARN as a parameter in this call. *

                                    *
                                  • * @throws LimitExceededException * The request failed because it would exceed one of the Secrets Manager quotas. * @throws EncryptionFailureException * Secrets Manager can't encrypt the protected secret text using the provided KMS key. Check that the KMS * key is available, enabled, and not in an invalid state. For more information, see Key state: Effect on your KMS * key. * @throws ResourceExistsException * A resource with the ID you requested already exists. * @throws ResourceNotFoundException * Secrets Manager can't find the resource that you asked for. * @throws MalformedPolicyDocumentException * The resource policy has syntax errors. * @throws InternalServiceErrorException * An error occurred on the server side. * @throws PreconditionNotMetException * The request failed because you did not complete all the prerequisite steps. * @sample AWSSecretsManager.UpdateSecret * @see AWS * API Documentation */ UpdateSecretResult updateSecret(UpdateSecretRequest updateSecretRequest); /** *

                                    * 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. *

                                    * *

                                    * Whenever you move 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. *

                                    * * @param updateSecretVersionStageRequest * @return Result of the UpdateSecretVersionStage operation returned by the service. * @throws ResourceNotFoundException * Secrets Manager can't find the resource that you asked for. * @throws InvalidParameterException * The parameter name is invalid value. * @throws InvalidRequestException * A parameter value is not valid for the current state of the resource.

                                    *

                                    * Possible causes: *

                                    *
                                      *
                                    • *

                                      * The secret is scheduled for deletion. *

                                      *
                                    • *
                                    • *

                                      * You tried to enable rotation on a secret that doesn't already have a Lambda function ARN configured and * you didn't include such an ARN as a parameter in this call. *

                                      *
                                    • * @throws LimitExceededException * The request failed because it would exceed one of the Secrets Manager quotas. * @throws InternalServiceErrorException * An error occurred on the server side. * @sample AWSSecretsManager.UpdateSecretVersionStage * @see AWS API Documentation */ UpdateSecretVersionStageResult updateSecretVersionStage(UpdateSecretVersionStageRequest updateSecretVersionStageRequest); /** *

                                      * 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. *

                                        *
                                      • *
                                      * * @param validateResourcePolicyRequest * @return Result of the ValidateResourcePolicy operation returned by the service. * @throws MalformedPolicyDocumentException * The resource policy has syntax errors. * @throws ResourceNotFoundException * Secrets Manager can't find the resource that you asked for. * @throws InvalidParameterException * The parameter name is invalid value. * @throws InternalServiceErrorException * An error occurred on the server side. * @throws InvalidRequestException * A parameter value is not valid for the current state of the resource.

                                      *

                                      * Possible causes: *

                                      *
                                        *
                                      • *

                                        * The secret is scheduled for deletion. *

                                        *
                                      • *
                                      • *

                                        * You tried to enable rotation on a secret that doesn't already have a Lambda function ARN configured and * you didn't include such an ARN as a parameter in this call. *

                                        *
                                      • * @sample AWSSecretsManager.ValidateResourcePolicy * @see AWS API Documentation */ ValidateResourcePolicyResult validateResourcePolicy(ValidateResourcePolicyRequest validateResourcePolicyRequest); /** * Shuts down this client object, releasing any resources that might be held open. This is an optional method, and * callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client * has been shutdown, it should not be used to make any more requests. */ void shutdown(); /** * Returns additional metadata for a previously executed successful request, typically used for debugging issues * where a service isn't acting as expected. This data isn't considered part of the result data returned by an * operation, so it's available through this separate, diagnostic interface. *

                                        * Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic * information for an executed request, you should use this method to retrieve it as soon as possible after * executing a request. * * @param request * The originally executed request. * * @return The response metadata for the specified request, or null if none is available. */ ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy