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

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

/*
 * Copyright 2014-2019 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.services.secretsmanager.model.*;

/**
 * Interface for accessing AWS Secrets Manager asynchronously. Each asynchronous method will return a Java Future object
 * representing the asynchronous operation; overloads which accept an {@code AsyncHandler} can be used to receive
 * notification when an asynchronous operation completes.
 * 

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

*

* AWS Secrets Manager API Reference *

* AWS Secrets Manager is a web service that enables 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 * AWS 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 directly, you can use one of the AWS 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 AWS Secrets Manager. For example, the SDKs take care of * cryptographically signing requests, managing errors, and retrying requests automatically. For more information about * the AWS SDKs, including how to download and install them, see Tools for Amazon * Web Services. *

*
*

* We recommend that you use the AWS 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 AWS Secrets Manager User Guide. *

*

* Secrets Manager supports GET and POST requests for all actions. That is, the API 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 AWS Secrets Manager *

*

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

*

* How examples are presented *

*

* The JSON that AWS Secrets Manager expects as your request parameters and that the service returns as a response to * HTTP query requests are single, long strings without line breaks or white space formatting. The JSON shown in the * examples is formatted with both line breaks and white space to improve readability. When example input parameters * would also result in long strings that extend beyond the screen, we insert line breaks to enhance readability. You * should always submit the input as a single JSON text string. *

*

* Logging API Requests *

*

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

*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public interface AWSSecretsManagerAsync extends AWSSecretsManager { /** *

* Disables automatic scheduled rotation and cancels the rotation of a secret if one is currently in progress. *

*

* To re-enable scheduled rotation, call RotateSecret with AutomaticallyRotateAfterDays set to a * value greater than 0. This will immediately rotate your secret and then enable the automatic schedule. *

* *

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

*
*

* To successfully start a rotation, the staging label AWSPENDING must be in one of the following * states: *

*
    *
  • *

    * Not be attached to any version at all *

    *
  • *
  • *

    * Attached to the same version as the staging label AWSCURRENT *

    *
  • *
*

* If the staging label AWSPENDING is attached to a different version than the version with * AWSCURRENT then the attempt to rotate fails. *

*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:CancelRotateSecret *

    *
  • *
*

* Related operations *

*
    *
  • *

    * To configure rotation for a secret or to manually trigger a rotation, use RotateSecret. *

    *
  • *
  • *

    * To get the rotation configuration details for a secret, use DescribeSecret. *

    *
  • *
  • *

    * To list all of the currently available secrets, use ListSecrets. *

    *
  • *
  • *

    * To list all of the versions currently associated with a secret, use ListSecretVersionIds. *

    *
  • *
* * @param cancelRotateSecretRequest * @return A Java Future containing the result of the CancelRotateSecret operation returned by the service. * @sample AWSSecretsManagerAsync.CancelRotateSecret * @see AWS API Documentation */ java.util.concurrent.Future cancelRotateSecretAsync(CancelRotateSecretRequest cancelRotateSecretRequest); /** *

* Disables automatic scheduled rotation and cancels the rotation of a secret if one is currently in progress. *

*

* To re-enable scheduled rotation, call RotateSecret with AutomaticallyRotateAfterDays set to a * value greater than 0. This will immediately rotate your secret and then enable the automatic schedule. *

* *

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

*
*

* To successfully start a rotation, the staging label AWSPENDING must be in one of the following * states: *

*
    *
  • *

    * Not be attached to any version at all *

    *
  • *
  • *

    * Attached to the same version as the staging label AWSCURRENT *

    *
  • *
*

* If the staging label AWSPENDING is attached to a different version than the version with * AWSCURRENT then the attempt to rotate fails. *

*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:CancelRotateSecret *

    *
  • *
*

* Related operations *

*
    *
  • *

    * To configure rotation for a secret or to manually trigger a rotation, use RotateSecret. *

    *
  • *
  • *

    * To get the rotation configuration details for a secret, use DescribeSecret. *

    *
  • *
  • *

    * To list all of the currently available secrets, use ListSecrets. *

    *
  • *
  • *

    * To list all of the versions currently associated with a secret, use ListSecretVersionIds. *

    *
  • *
* * @param cancelRotateSecretRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the CancelRotateSecret operation returned by the service. * @sample AWSSecretsManagerAsyncHandler.CancelRotateSecret * @see AWS API Documentation */ java.util.concurrent.Future cancelRotateSecretAsync(CancelRotateSecretRequest cancelRotateSecretRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Creates a new secret. A secret in Secrets Manager consists of both the protected secret data and the important * information needed to manage the secret. *

*

* Secrets Manager stores the encrypted secret data in one of a collection of "versions" associated with the secret. * Each version contains a copy of the encrypted secret data. Each version is associated with one or more * "staging labels" that identify where the version is in the rotation cycle. The * SecretVersionsToStages field of the secret contains the mapping of staging labels to the active * versions of the secret. Versions without a staging label are considered deprecated and are not included in the * list. *

*

* You provide the secret data to be encrypted by putting text in either the SecretString parameter or * binary data in the SecretBinary parameter, but not both. If you include SecretString or * SecretBinary then Secrets Manager also creates an initial secret version and automatically attaches * the staging label AWSCURRENT to the new version. *

* *
    *
  • *

    * If you call an operation that needs to encrypt or decrypt the SecretString or * SecretBinary for a secret in the same account as the calling user and that secret doesn't specify a * AWS KMS encryption key, Secrets Manager uses the account's default AWS managed customer master key (CMK) with the * alias 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 same AWS account automatically have access to use * the default CMK. Note that if an Secrets Manager API call results in AWS having to create the account's * AWS-managed CMK, it can result in a one-time significant delay in returning the result. *

    *
  • *
  • *

    * If the secret is in a different AWS account from the credentials calling an API that requires encryption or * decryption of the secret value then you must create and use a custom AWS KMS CMK because you can't access the * default CMK for the account using credentials from a different AWS account. Store the ARN of the CMK in the * secret when you create the secret or when you update it by including it in the KMSKeyId. If you call * an API that must encrypt or decrypt SecretString or SecretBinary using credentials from * a different account then the AWS KMS key policy must grant cross-account access to that other account's user or * role for both the kms:GenerateDataKey and kms:Decrypt operations. *

    *
  • *
*
*

*

*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:CreateSecret *

    *
  • *
  • *

    * kms:GenerateDataKey - needed only if you use a customer-managed AWS KMS key to encrypt the secret. You do not * need this permission to use the account's default AWS managed CMK for Secrets Manager. *

    *
  • *
  • *

    * kms:Decrypt - needed only if you use a customer-managed AWS KMS key to encrypt the secret. You do not need this * permission to use the account's default AWS managed CMK for Secrets Manager. *

    *
  • *
  • *

    * secretsmanager:TagResource - needed only if you include the Tags parameter. *

    *
  • *
*

* Related operations *

*
    *
  • *

    * To delete a secret, use DeleteSecret. *

    *
  • *
  • *

    * To modify an existing secret, use UpdateSecret. *

    *
  • *
  • *

    * To create a new version of a secret, use PutSecretValue. *

    *
  • *
  • *

    * To retrieve the encrypted secure string and secure binary values, use GetSecretValue. *

    *
  • *
  • *

    * To retrieve all other details for a secret, use DescribeSecret. This does not include the encrypted secure * string and secure binary values. *

    *
  • *
  • *

    * To retrieve the list of secret versions associated with the current secret, use DescribeSecret and examine * the SecretVersionsToStages response value. *

    *
  • *
* * @param createSecretRequest * @return A Java Future containing the result of the CreateSecret operation returned by the service. * @sample AWSSecretsManagerAsync.CreateSecret * @see AWS * API Documentation */ java.util.concurrent.Future createSecretAsync(CreateSecretRequest createSecretRequest); /** *

* Creates a new secret. A secret in Secrets Manager consists of both the protected secret data and the important * information needed to manage the secret. *

*

* Secrets Manager stores the encrypted secret data in one of a collection of "versions" associated with the secret. * Each version contains a copy of the encrypted secret data. Each version is associated with one or more * "staging labels" that identify where the version is in the rotation cycle. The * SecretVersionsToStages field of the secret contains the mapping of staging labels to the active * versions of the secret. Versions without a staging label are considered deprecated and are not included in the * list. *

*

* You provide the secret data to be encrypted by putting text in either the SecretString parameter or * binary data in the SecretBinary parameter, but not both. If you include SecretString or * SecretBinary then Secrets Manager also creates an initial secret version and automatically attaches * the staging label AWSCURRENT to the new version. *

* *
    *
  • *

    * If you call an operation that needs to encrypt or decrypt the SecretString or * SecretBinary for a secret in the same account as the calling user and that secret doesn't specify a * AWS KMS encryption key, Secrets Manager uses the account's default AWS managed customer master key (CMK) with the * alias 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 same AWS account automatically have access to use * the default CMK. Note that if an Secrets Manager API call results in AWS having to create the account's * AWS-managed CMK, it can result in a one-time significant delay in returning the result. *

    *
  • *
  • *

    * If the secret is in a different AWS account from the credentials calling an API that requires encryption or * decryption of the secret value then you must create and use a custom AWS KMS CMK because you can't access the * default CMK for the account using credentials from a different AWS account. Store the ARN of the CMK in the * secret when you create the secret or when you update it by including it in the KMSKeyId. If you call * an API that must encrypt or decrypt SecretString or SecretBinary using credentials from * a different account then the AWS KMS key policy must grant cross-account access to that other account's user or * role for both the kms:GenerateDataKey and kms:Decrypt operations. *

    *
  • *
*
*

*

*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:CreateSecret *

    *
  • *
  • *

    * kms:GenerateDataKey - needed only if you use a customer-managed AWS KMS key to encrypt the secret. You do not * need this permission to use the account's default AWS managed CMK for Secrets Manager. *

    *
  • *
  • *

    * kms:Decrypt - needed only if you use a customer-managed AWS KMS key to encrypt the secret. You do not need this * permission to use the account's default AWS managed CMK for Secrets Manager. *

    *
  • *
  • *

    * secretsmanager:TagResource - needed only if you include the Tags parameter. *

    *
  • *
*

* Related operations *

*
    *
  • *

    * To delete a secret, use DeleteSecret. *

    *
  • *
  • *

    * To modify an existing secret, use UpdateSecret. *

    *
  • *
  • *

    * To create a new version of a secret, use PutSecretValue. *

    *
  • *
  • *

    * To retrieve the encrypted secure string and secure binary values, use GetSecretValue. *

    *
  • *
  • *

    * To retrieve all other details for a secret, use DescribeSecret. This does not include the encrypted secure * string and secure binary values. *

    *
  • *
  • *

    * To retrieve the list of secret versions associated with the current secret, use DescribeSecret and examine * the SecretVersionsToStages response value. *

    *
  • *
* * @param createSecretRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the CreateSecret operation returned by the service. * @sample AWSSecretsManagerAsyncHandler.CreateSecret * @see AWS * API Documentation */ java.util.concurrent.Future createSecretAsync(CreateSecretRequest createSecretRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Deletes the resource-based permission policy that's attached to the secret. *

*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:DeleteResourcePolicy *

    *
  • *
*

* Related operations *

*
    *
  • *

    * To attach a resource policy to a secret, use PutResourcePolicy. *

    *
  • *
  • *

    * To retrieve the current resource-based policy that's attached to a secret, use GetResourcePolicy. *

    *
  • *
  • *

    * To list all of the currently available secrets, use ListSecrets. *

    *
  • *
* * @param deleteResourcePolicyRequest * @return A Java Future containing the result of the DeleteResourcePolicy operation returned by the service. * @sample AWSSecretsManagerAsync.DeleteResourcePolicy * @see AWS API Documentation */ java.util.concurrent.Future deleteResourcePolicyAsync(DeleteResourcePolicyRequest deleteResourcePolicyRequest); /** *

* Deletes the resource-based permission policy that's attached to the secret. *

*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:DeleteResourcePolicy *

    *
  • *
*

* Related operations *

*
    *
  • *

    * To attach a resource policy to a secret, use PutResourcePolicy. *

    *
  • *
  • *

    * To retrieve the current resource-based policy that's attached to a secret, use GetResourcePolicy. *

    *
  • *
  • *

    * To list all of the currently available secrets, use ListSecrets. *

    *
  • *
* * @param deleteResourcePolicyRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the DeleteResourcePolicy operation returned by the service. * @sample AWSSecretsManagerAsyncHandler.DeleteResourcePolicy * @see AWS API Documentation */ java.util.concurrent.Future deleteResourcePolicyAsync(DeleteResourcePolicyRequest deleteResourcePolicyRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Deletes an entire secret and all of its versions. You can optionally include a recovery window during which you * can restore the secret. If you don't specify a recovery window value, the operation defaults to 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. *

*

* At any time before recovery window ends, you can use RestoreSecret to remove the DeletionDate * and cancel the deletion of the secret. *

*

* You cannot access the encrypted secret information in any secret that is scheduled for deletion. If you need to * access that information, you must cancel the deletion with RestoreSecret and then retrieve the * information. *

* *
    *
  • *

    * There is no explicit operation to delete a version of a secret. Instead, remove all staging labels from the * VersionStage field of a version. That marks the version as deprecated and allows Secrets Manager to * delete it as needed. Versions that do not have any staging labels do not show up in ListSecretVersionIds * unless you specify IncludeDeprecated. *

    *
  • *
  • *

    * The permanent secret deletion at the end of the waiting period is performed as a background task with low * priority. There is no guarantee of a specific time after the recovery window for the actual delete operation to * occur. *

    *
  • *
*
*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:DeleteSecret *

    *
  • *
*

* Related operations *

*
    *
  • *

    * To create a secret, use CreateSecret. *

    *
  • *
  • *

    * To cancel deletion of a version of a secret before the recovery window has expired, use RestoreSecret. *

    *
  • *
* * @param deleteSecretRequest * @return A Java Future containing the result of the DeleteSecret operation returned by the service. * @sample AWSSecretsManagerAsync.DeleteSecret * @see AWS * API Documentation */ java.util.concurrent.Future deleteSecretAsync(DeleteSecretRequest deleteSecretRequest); /** *

* Deletes an entire secret and all of its versions. You can optionally include a recovery window during which you * can restore the secret. If you don't specify a recovery window value, the operation defaults to 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. *

*

* At any time before recovery window ends, you can use RestoreSecret to remove the DeletionDate * and cancel the deletion of the secret. *

*

* You cannot access the encrypted secret information in any secret that is scheduled for deletion. If you need to * access that information, you must cancel the deletion with RestoreSecret and then retrieve the * information. *

* *
    *
  • *

    * There is no explicit operation to delete a version of a secret. Instead, remove all staging labels from the * VersionStage field of a version. That marks the version as deprecated and allows Secrets Manager to * delete it as needed. Versions that do not have any staging labels do not show up in ListSecretVersionIds * unless you specify IncludeDeprecated. *

    *
  • *
  • *

    * The permanent secret deletion at the end of the waiting period is performed as a background task with low * priority. There is no guarantee of a specific time after the recovery window for the actual delete operation to * occur. *

    *
  • *
*
*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:DeleteSecret *

    *
  • *
*

* Related operations *

*
    *
  • *

    * To create a secret, use CreateSecret. *

    *
  • *
  • *

    * To cancel deletion of a version of a secret before the recovery window has expired, use RestoreSecret. *

    *
  • *
* * @param deleteSecretRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the DeleteSecret operation returned by the service. * @sample AWSSecretsManagerAsyncHandler.DeleteSecret * @see AWS * API Documentation */ java.util.concurrent.Future deleteSecretAsync(DeleteSecretRequest deleteSecretRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Retrieves the details of a secret. It does not include the encrypted fields. Only those fields that are populated * with a value are returned in the response. *

*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:DescribeSecret *

    *
  • *
*

* Related operations *

*
    *
  • *

    * To create a secret, use CreateSecret. *

    *
  • *
  • *

    * To modify a secret, use UpdateSecret. *

    *
  • *
  • *

    * To retrieve the encrypted secret information in a version of the secret, use GetSecretValue. *

    *
  • *
  • *

    * To list all of the secrets in the AWS account, use ListSecrets. *

    *
  • *
* * @param describeSecretRequest * @return A Java Future containing the result of the DescribeSecret operation returned by the service. * @sample AWSSecretsManagerAsync.DescribeSecret * @see AWS * API Documentation */ java.util.concurrent.Future describeSecretAsync(DescribeSecretRequest describeSecretRequest); /** *

* Retrieves the details of a secret. It does not include the encrypted fields. Only those fields that are populated * with a value are returned in the response. *

*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:DescribeSecret *

    *
  • *
*

* Related operations *

*
    *
  • *

    * To create a secret, use CreateSecret. *

    *
  • *
  • *

    * To modify a secret, use UpdateSecret. *

    *
  • *
  • *

    * To retrieve the encrypted secret information in a version of the secret, use GetSecretValue. *

    *
  • *
  • *

    * To list all of the secrets in the AWS account, use ListSecrets. *

    *
  • *
* * @param describeSecretRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the DescribeSecret operation returned by the service. * @sample AWSSecretsManagerAsyncHandler.DescribeSecret * @see AWS * API Documentation */ java.util.concurrent.Future describeSecretAsync(DescribeSecretRequest describeSecretRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Generates a random password of the specified complexity. This operation is intended for use in the Lambda * rotation function. Per best practice, we recommend that you specify the maximum length and include every * character type that the system you are generating a password for can support. *

*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:GetRandomPassword *

    *
  • *
* * @param getRandomPasswordRequest * @return A Java Future containing the result of the GetRandomPassword operation returned by the service. * @sample AWSSecretsManagerAsync.GetRandomPassword * @see AWS API Documentation */ java.util.concurrent.Future getRandomPasswordAsync(GetRandomPasswordRequest getRandomPasswordRequest); /** *

* Generates a random password of the specified complexity. This operation is intended for use in the Lambda * rotation function. Per best practice, we recommend that you specify the maximum length and include every * character type that the system you are generating a password for can support. *

*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:GetRandomPassword *

    *
  • *
* * @param getRandomPasswordRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the GetRandomPassword operation returned by the service. * @sample AWSSecretsManagerAsyncHandler.GetRandomPassword * @see AWS API Documentation */ java.util.concurrent.Future getRandomPasswordAsync(GetRandomPasswordRequest getRandomPasswordRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Retrieves the JSON text of the resource-based policy document that's attached to the specified secret. The JSON * request string input and response output are shown formatted with white space and line breaks for better * readability. Submit your input as a single line JSON string. *

*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:GetResourcePolicy *

    *
  • *
*

* Related operations *

*
    *
  • *

    * To attach a resource policy to a secret, use PutResourcePolicy. *

    *
  • *
  • *

    * To delete the resource-based policy that's attached to a secret, use DeleteResourcePolicy. *

    *
  • *
  • *

    * To list all of the currently available secrets, use ListSecrets. *

    *
  • *
* * @param getResourcePolicyRequest * @return A Java Future containing the result of the GetResourcePolicy operation returned by the service. * @sample AWSSecretsManagerAsync.GetResourcePolicy * @see AWS API Documentation */ java.util.concurrent.Future getResourcePolicyAsync(GetResourcePolicyRequest getResourcePolicyRequest); /** *

* Retrieves the JSON text of the resource-based policy document that's attached to the specified secret. The JSON * request string input and response output are shown formatted with white space and line breaks for better * readability. Submit your input as a single line JSON string. *

*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:GetResourcePolicy *

    *
  • *
*

* Related operations *

*
    *
  • *

    * To attach a resource policy to a secret, use PutResourcePolicy. *

    *
  • *
  • *

    * To delete the resource-based policy that's attached to a secret, use DeleteResourcePolicy. *

    *
  • *
  • *

    * To list all of the currently available secrets, use ListSecrets. *

    *
  • *
* * @param getResourcePolicyRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the GetResourcePolicy operation returned by the service. * @sample AWSSecretsManagerAsyncHandler.GetResourcePolicy * @see AWS API Documentation */ java.util.concurrent.Future getResourcePolicyAsync(GetResourcePolicyRequest getResourcePolicyRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

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

*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:GetSecretValue *

    *
  • *
  • *

    * kms:Decrypt - required only if you use a customer-managed AWS KMS key to encrypt the secret. You do not need this * permission to use the account's default AWS managed CMK for Secrets Manager. *

    *
  • *
*

* Related operations *

*
    *
  • *

    * To create a new version of the secret with different encrypted information, use PutSecretValue. *

    *
  • *
  • *

    * To retrieve the non-encrypted details for the secret, use DescribeSecret. *

    *
  • *
* * @param getSecretValueRequest * @return A Java Future containing the result of the GetSecretValue operation returned by the service. * @sample AWSSecretsManagerAsync.GetSecretValue * @see AWS * API Documentation */ java.util.concurrent.Future getSecretValueAsync(GetSecretValueRequest getSecretValueRequest); /** *

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

*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:GetSecretValue *

    *
  • *
  • *

    * kms:Decrypt - required only if you use a customer-managed AWS KMS key to encrypt the secret. You do not need this * permission to use the account's default AWS managed CMK for Secrets Manager. *

    *
  • *
*

* Related operations *

*
    *
  • *

    * To create a new version of the secret with different encrypted information, use PutSecretValue. *

    *
  • *
  • *

    * To retrieve the non-encrypted details for the secret, use DescribeSecret. *

    *
  • *
* * @param getSecretValueRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the GetSecretValue operation returned by the service. * @sample AWSSecretsManagerAsyncHandler.GetSecretValue * @see AWS * API Documentation */ java.util.concurrent.Future getSecretValueAsync(GetSecretValueRequest getSecretValueRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Lists all of the versions attached to the specified secret. The output does not include the * SecretString or SecretBinary fields. By default, the list includes only versions that * have at least one staging label in VersionStage attached. *

* *

* Always check the NextToken response parameter when calling any of the List* operations. * These operations can occasionally return an empty or shorter than expected list of results even when there are * more results available. When this happens, the NextToken response parameter contains a value to pass * to the next call to the same API to request the next part of the list. *

*
*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:ListSecretVersionIds *

    *
  • *
*

* Related operations *

*
    *
  • *

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

    *
  • *
* * @param listSecretVersionIdsRequest * @return A Java Future containing the result of the ListSecretVersionIds operation returned by the service. * @sample AWSSecretsManagerAsync.ListSecretVersionIds * @see AWS API Documentation */ java.util.concurrent.Future listSecretVersionIdsAsync(ListSecretVersionIdsRequest listSecretVersionIdsRequest); /** *

* Lists all of the versions attached to the specified secret. The output does not include the * SecretString or SecretBinary fields. By default, the list includes only versions that * have at least one staging label in VersionStage attached. *

* *

* Always check the NextToken response parameter when calling any of the List* operations. * These operations can occasionally return an empty or shorter than expected list of results even when there are * more results available. When this happens, the NextToken response parameter contains a value to pass * to the next call to the same API to request the next part of the list. *

*
*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:ListSecretVersionIds *

    *
  • *
*

* Related operations *

*
    *
  • *

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

    *
  • *
* * @param listSecretVersionIdsRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the ListSecretVersionIds operation returned by the service. * @sample AWSSecretsManagerAsyncHandler.ListSecretVersionIds * @see AWS API Documentation */ java.util.concurrent.Future listSecretVersionIdsAsync(ListSecretVersionIdsRequest listSecretVersionIdsRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Lists all of the secrets that are stored by Secrets Manager in the AWS account. To list the versions currently * stored for a specific secret, use ListSecretVersionIds. The encrypted fields SecretString and * SecretBinary are not included in the output. To get that information, call the GetSecretValue * operation. *

* *

* Always check the NextToken response parameter when calling any of the List* operations. * These operations can occasionally return an empty or shorter than expected list of results even when there are * more results available. When this happens, the NextToken response parameter contains a value to pass * to the next call to the same API to request the next part of the list. *

*
*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:ListSecrets *

    *
  • *
*

* Related operations *

* * * @param listSecretsRequest * @return A Java Future containing the result of the ListSecrets operation returned by the service. * @sample AWSSecretsManagerAsync.ListSecrets * @see AWS API * Documentation */ java.util.concurrent.Future listSecretsAsync(ListSecretsRequest listSecretsRequest); /** *

* Lists all of the secrets that are stored by Secrets Manager in the AWS account. To list the versions currently * stored for a specific secret, use ListSecretVersionIds. The encrypted fields SecretString and * SecretBinary are not included in the output. To get that information, call the GetSecretValue * operation. *

* *

* Always check the NextToken response parameter when calling any of the List* operations. * These operations can occasionally return an empty or shorter than expected list of results even when there are * more results available. When this happens, the NextToken response parameter contains a value to pass * to the next call to the same API to request the next part of the list. *

*
*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:ListSecrets *

    *
  • *
*

* Related operations *

* * * @param listSecretsRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the ListSecrets operation returned by the service. * @sample AWSSecretsManagerAsyncHandler.ListSecrets * @see AWS API * Documentation */ java.util.concurrent.Future listSecretsAsync(ListSecretsRequest listSecretsRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Attaches the contents of the specified resource-based permission policy to a secret. A resource-based policy is * optional. Alternatively, you can use IAM identity-based policies that specify the secret's Amazon Resource Name * (ARN) in the policy statement's Resources element. You can also use a combination of both * identity-based and resource-based policies. The affected users and roles receive the permissions that are * permitted by all of the relevant policies. For more information, see Using Resource-Based Policies for AWS Secrets Manager. For the complete description of the AWS policy syntax * and grammar, see IAM JSON * Policy Reference in the IAM User Guide. *

*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:PutResourcePolicy *

    *
  • *
*

* Related operations *

*
    *
  • *

    * To retrieve the resource policy that's attached to a secret, use GetResourcePolicy. *

    *
  • *
  • *

    * To delete the resource-based policy that's attached to a secret, use DeleteResourcePolicy. *

    *
  • *
  • *

    * To list all of the currently available secrets, use ListSecrets. *

    *
  • *
* * @param putResourcePolicyRequest * @return A Java Future containing the result of the PutResourcePolicy operation returned by the service. * @sample AWSSecretsManagerAsync.PutResourcePolicy * @see AWS API Documentation */ java.util.concurrent.Future putResourcePolicyAsync(PutResourcePolicyRequest putResourcePolicyRequest); /** *

* Attaches the contents of the specified resource-based permission policy to a secret. A resource-based policy is * optional. Alternatively, you can use IAM identity-based policies that specify the secret's Amazon Resource Name * (ARN) in the policy statement's Resources element. You can also use a combination of both * identity-based and resource-based policies. The affected users and roles receive the permissions that are * permitted by all of the relevant policies. For more information, see Using Resource-Based Policies for AWS Secrets Manager. For the complete description of the AWS policy syntax * and grammar, see IAM JSON * Policy Reference in the IAM User Guide. *

*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:PutResourcePolicy *

    *
  • *
*

* Related operations *

*
    *
  • *

    * To retrieve the resource policy that's attached to a secret, use GetResourcePolicy. *

    *
  • *
  • *

    * To delete the resource-based policy that's attached to a secret, use DeleteResourcePolicy. *

    *
  • *
  • *

    * To list all of the currently available secrets, use ListSecrets. *

    *
  • *
* * @param putResourcePolicyRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the PutResourcePolicy operation returned by the service. * @sample AWSSecretsManagerAsyncHandler.PutResourcePolicy * @see AWS API Documentation */ java.util.concurrent.Future putResourcePolicyAsync(PutResourcePolicyRequest putResourcePolicyRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Stores a new encrypted secret value in the specified secret. To do this, the operation creates a new version and * attaches it to the secret. The version can contain a new SecretString value or a new * SecretBinary value. You can also specify the staging labels that are initially attached to the new * version. *

* *

* The Secrets Manager console uses only the SecretString field. To add binary data to a secret with * the SecretBinary field you must use the AWS CLI or one of the AWS SDKs. *

*
*
    *
  • *

    * If this operation creates the first version for the secret then Secrets Manager automatically attaches the * staging label AWSCURRENT to the new version. *

    *
  • *
  • *

    * If another version of this secret already exists, then this operation does not automatically move any staging * labels other than those that you explicitly specify in the VersionStages parameter. *

    *
  • *
  • *

    * If this operation moves the staging label AWSCURRENT from another version to this version (because * you included it in the StagingLabels parameter) 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 cannot * modify an existing version; you can only create new ones. *

    *
  • *
* *
    *
  • *

    * If you call an operation that needs to encrypt or decrypt the SecretString or * SecretBinary for a secret in the same account as the calling user and that secret doesn't specify a * AWS KMS encryption key, Secrets Manager uses the account's default AWS managed customer master key (CMK) with the * alias 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 same AWS account automatically have access to use * the default CMK. Note that if an Secrets Manager API call results in AWS having to create the account's * AWS-managed CMK, it can result in a one-time significant delay in returning the result. *

    *
  • *
  • *

    * If the secret is in a different AWS account from the credentials calling an API that requires encryption or * decryption of the secret value then you must create and use a custom AWS KMS CMK because you can't access the * default CMK for the account using credentials from a different AWS account. Store the ARN of the CMK in the * secret when you create the secret or when you update it by including it in the KMSKeyId. If you call * an API that must encrypt or decrypt SecretString or SecretBinary using credentials from * a different account then the AWS KMS key policy must grant cross-account access to that other account's user or * role for both the kms:GenerateDataKey and kms:Decrypt operations. *

    *
  • *
*
*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:PutSecretValue *

    *
  • *
  • *

    * kms:GenerateDataKey - needed only if you use a customer-managed AWS KMS key to encrypt the secret. You do not * need this permission to use the account's default AWS managed CMK for Secrets Manager. *

    *
  • *
*

* Related operations *

* * * @param putSecretValueRequest * @return A Java Future containing the result of the PutSecretValue operation returned by the service. * @sample AWSSecretsManagerAsync.PutSecretValue * @see AWS * API Documentation */ java.util.concurrent.Future putSecretValueAsync(PutSecretValueRequest putSecretValueRequest); /** *

* Stores a new encrypted secret value in the specified secret. To do this, the operation creates a new version and * attaches it to the secret. The version can contain a new SecretString value or a new * SecretBinary value. You can also specify the staging labels that are initially attached to the new * version. *

* *

* The Secrets Manager console uses only the SecretString field. To add binary data to a secret with * the SecretBinary field you must use the AWS CLI or one of the AWS SDKs. *

*
*
    *
  • *

    * If this operation creates the first version for the secret then Secrets Manager automatically attaches the * staging label AWSCURRENT to the new version. *

    *
  • *
  • *

    * If another version of this secret already exists, then this operation does not automatically move any staging * labels other than those that you explicitly specify in the VersionStages parameter. *

    *
  • *
  • *

    * If this operation moves the staging label AWSCURRENT from another version to this version (because * you included it in the StagingLabels parameter) 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 cannot * modify an existing version; you can only create new ones. *

    *
  • *
* *
    *
  • *

    * If you call an operation that needs to encrypt or decrypt the SecretString or * SecretBinary for a secret in the same account as the calling user and that secret doesn't specify a * AWS KMS encryption key, Secrets Manager uses the account's default AWS managed customer master key (CMK) with the * alias 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 same AWS account automatically have access to use * the default CMK. Note that if an Secrets Manager API call results in AWS having to create the account's * AWS-managed CMK, it can result in a one-time significant delay in returning the result. *

    *
  • *
  • *

    * If the secret is in a different AWS account from the credentials calling an API that requires encryption or * decryption of the secret value then you must create and use a custom AWS KMS CMK because you can't access the * default CMK for the account using credentials from a different AWS account. Store the ARN of the CMK in the * secret when you create the secret or when you update it by including it in the KMSKeyId. If you call * an API that must encrypt or decrypt SecretString or SecretBinary using credentials from * a different account then the AWS KMS key policy must grant cross-account access to that other account's user or * role for both the kms:GenerateDataKey and kms:Decrypt operations. *

    *
  • *
*
*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:PutSecretValue *

    *
  • *
  • *

    * kms:GenerateDataKey - needed only if you use a customer-managed AWS KMS key to encrypt the secret. You do not * need this permission to use the account's default AWS managed CMK for Secrets Manager. *

    *
  • *
*

* Related operations *

* * * @param putSecretValueRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the PutSecretValue operation returned by the service. * @sample AWSSecretsManagerAsyncHandler.PutSecretValue * @see AWS * API Documentation */ java.util.concurrent.Future putSecretValueAsync(PutSecretValueRequest putSecretValueRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Cancels the scheduled deletion of a secret by removing the DeletedDate time stamp. This makes the * secret accessible to query once again. *

*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:RestoreSecret *

    *
  • *
*

* Related operations *

* * * @param restoreSecretRequest * @return A Java Future containing the result of the RestoreSecret operation returned by the service. * @sample AWSSecretsManagerAsync.RestoreSecret * @see AWS * API Documentation */ java.util.concurrent.Future restoreSecretAsync(RestoreSecretRequest restoreSecretRequest); /** *

* Cancels the scheduled deletion of a secret by removing the DeletedDate time stamp. This makes the * secret accessible to query once again. *

*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:RestoreSecret *

    *
  • *
*

* Related operations *

* * * @param restoreSecretRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the RestoreSecret operation returned by the service. * @sample AWSSecretsManagerAsyncHandler.RestoreSecret * @see AWS * API Documentation */ java.util.concurrent.Future restoreSecretAsync(RestoreSecretRequest restoreSecretRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Configures and starts the asynchronous process of rotating this secret. If you include the configuration * parameters, the operation sets those values for the secret and then immediately starts a rotation. If you do not * include the configuration parameters, the operation starts a rotation with the values already stored in the * secret. After the rotation completes, the protected service and its clients all use the new version of the * secret. *

*

* This required configuration information includes the ARN of an AWS Lambda function and the time between scheduled * rotations. The Lambda rotation function creates a new version of the secret and creates or updates the * credentials on the protected service to match. After testing the new credentials, the function marks the new * secret with the staging label AWSCURRENT so that your clients all immediately begin to use the new * version. For more information about rotating secrets and how to configure a Lambda function to rotate the secrets * for your protected service, see Rotating Secrets in AWS * Secrets Manager in the AWS Secrets Manager User Guide. *

*

* Secrets Manager schedules the next rotation when the previous one is complete. Secrets Manager schedules the date * by adding the rotation interval (number of days) to the actual date of the last rotation. The service chooses the * hour within that 24-hour date window randomly. The minute is also chosen somewhat randomly, but weighted towards * the top of the hour and influenced by a variety of factors that help distribute load. *

*

* The rotation function must end with the versions of the secret in one of two states: *

*
    *
  • *

    * The AWSPENDING and AWSCURRENT staging labels are attached to the same version of the * secret, or *

    *
  • *
  • *

    * The AWSPENDING staging label is not attached to any version of the secret. *

    *
  • *
*

* If instead the AWSPENDING staging label is present but is 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. *

*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:RotateSecret *

    *
  • *
  • *

    * lambda:InvokeFunction (on the function specified in the secret's metadata) *

    *
  • *
*

* Related operations *

*
    *
  • *

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

    *
  • *
  • *

    * To get the details for a version of a secret, use DescribeSecret. *

    *
  • *
  • *

    * To create a new version of a secret, use CreateSecret. *

    *
  • *
  • *

    * To attach staging labels to or remove staging labels from a version of a secret, use * UpdateSecretVersionStage. *

    *
  • *
* * @param rotateSecretRequest * @return A Java Future containing the result of the RotateSecret operation returned by the service. * @sample AWSSecretsManagerAsync.RotateSecret * @see AWS * API Documentation */ java.util.concurrent.Future rotateSecretAsync(RotateSecretRequest rotateSecretRequest); /** *

* Configures and starts the asynchronous process of rotating this secret. If you include the configuration * parameters, the operation sets those values for the secret and then immediately starts a rotation. If you do not * include the configuration parameters, the operation starts a rotation with the values already stored in the * secret. After the rotation completes, the protected service and its clients all use the new version of the * secret. *

*

* This required configuration information includes the ARN of an AWS Lambda function and the time between scheduled * rotations. The Lambda rotation function creates a new version of the secret and creates or updates the * credentials on the protected service to match. After testing the new credentials, the function marks the new * secret with the staging label AWSCURRENT so that your clients all immediately begin to use the new * version. For more information about rotating secrets and how to configure a Lambda function to rotate the secrets * for your protected service, see Rotating Secrets in AWS * Secrets Manager in the AWS Secrets Manager User Guide. *

*

* Secrets Manager schedules the next rotation when the previous one is complete. Secrets Manager schedules the date * by adding the rotation interval (number of days) to the actual date of the last rotation. The service chooses the * hour within that 24-hour date window randomly. The minute is also chosen somewhat randomly, but weighted towards * the top of the hour and influenced by a variety of factors that help distribute load. *

*

* The rotation function must end with the versions of the secret in one of two states: *

*
    *
  • *

    * The AWSPENDING and AWSCURRENT staging labels are attached to the same version of the * secret, or *

    *
  • *
  • *

    * The AWSPENDING staging label is not attached to any version of the secret. *

    *
  • *
*

* If instead the AWSPENDING staging label is present but is 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. *

*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:RotateSecret *

    *
  • *
  • *

    * lambda:InvokeFunction (on the function specified in the secret's metadata) *

    *
  • *
*

* Related operations *

*
    *
  • *

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

    *
  • *
  • *

    * To get the details for a version of a secret, use DescribeSecret. *

    *
  • *
  • *

    * To create a new version of a secret, use CreateSecret. *

    *
  • *
  • *

    * To attach staging labels to or remove staging labels from a version of a secret, use * UpdateSecretVersionStage. *

    *
  • *
* * @param rotateSecretRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the RotateSecret operation returned by the service. * @sample AWSSecretsManagerAsyncHandler.RotateSecret * @see AWS * API Documentation */ java.util.concurrent.Future rotateSecretAsync(RotateSecretRequest rotateSecretRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Attaches one or more tags, each consisting of a key name and a value, to the specified secret. Tags are part of * the secret's overall metadata, and are not associated with any specific version of the secret. This operation * only appends tags to the existing list of tags. To remove tags, you must use UntagResource. *

*

* The following basic 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 it is reserved for AWS 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 your tagging schema will be used across multiple services and resources, remember that other services might * have restrictions on allowed characters. Generally allowed characters are: 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. *

*
*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:TagResource *

    *
  • *
*

* Related operations *

*
    *
  • *

    * To remove one or more tags from the collection attached to a secret, use UntagResource. *

    *
  • *
  • *

    * To view the list of tags attached to a secret, use DescribeSecret. *

    *
  • *
* * @param tagResourceRequest * @return A Java Future containing the result of the TagResource operation returned by the service. * @sample AWSSecretsManagerAsync.TagResource * @see AWS API * Documentation */ java.util.concurrent.Future tagResourceAsync(TagResourceRequest tagResourceRequest); /** *

* Attaches one or more tags, each consisting of a key name and a value, to the specified secret. Tags are part of * the secret's overall metadata, and are not associated with any specific version of the secret. This operation * only appends tags to the existing list of tags. To remove tags, you must use UntagResource. *

*

* The following basic 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 it is reserved for AWS 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 your tagging schema will be used across multiple services and resources, remember that other services might * have restrictions on allowed characters. Generally allowed characters are: 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. *

*
*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:TagResource *

    *
  • *
*

* Related operations *

*
    *
  • *

    * To remove one or more tags from the collection attached to a secret, use UntagResource. *

    *
  • *
  • *

    * To view the list of tags attached to a secret, use DescribeSecret. *

    *
  • *
* * @param tagResourceRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the TagResource operation returned by the service. * @sample AWSSecretsManagerAsyncHandler.TagResource * @see AWS API * Documentation */ java.util.concurrent.Future tagResourceAsync(TagResourceRequest tagResourceRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Removes one or more tags from the specified 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. *

*
*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:UntagResource *

    *
  • *
*

* Related operations *

*
    *
  • *

    * To add one or more tags to the collection attached to a secret, use TagResource. *

    *
  • *
  • *

    * To view the list of tags attached to a secret, use DescribeSecret. *

    *
  • *
* * @param untagResourceRequest * @return A Java Future containing the result of the UntagResource operation returned by the service. * @sample AWSSecretsManagerAsync.UntagResource * @see AWS * API Documentation */ java.util.concurrent.Future untagResourceAsync(UntagResourceRequest untagResourceRequest); /** *

* Removes one or more tags from the specified 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. *

*
*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:UntagResource *

    *
  • *
*

* Related operations *

*
    *
  • *

    * To add one or more tags to the collection attached to a secret, use TagResource. *

    *
  • *
  • *

    * To view the list of tags attached to a secret, use DescribeSecret. *

    *
  • *
* * @param untagResourceRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the UntagResource operation returned by the service. * @sample AWSSecretsManagerAsyncHandler.UntagResource * @see AWS * API Documentation */ java.util.concurrent.Future untagResourceAsync(UntagResourceRequest untagResourceRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Modifies many of the details of the specified secret. If you include a ClientRequestToken and * either SecretString or SecretBinary then it also creates a new version attached * to the secret. *

*

* To modify the rotation configuration of a secret, use RotateSecret instead. *

* *

* The Secrets Manager console uses only the SecretString parameter and therefore limits you to * encrypting and storing only a text string. To encrypt and store binary data as part of the version of a secret, * you must use either the AWS CLI or one of the AWS SDKs. *

*
*
    *
  • *

    * If a version with a VersionId with the same value as the ClientRequestToken parameter * already exists, the operation results in an error. You cannot modify an existing version, you can only create a * new version. *

    *
  • *
  • *

    * 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 an operation that needs to encrypt or decrypt the SecretString or * SecretBinary for a secret in the same account as the calling user and that secret doesn't specify a * AWS KMS encryption key, Secrets Manager uses the account's default AWS managed customer master key (CMK) with the * alias 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 same AWS account automatically have access to use * the default CMK. Note that if an Secrets Manager API call results in AWS having to create the account's * AWS-managed CMK, it can result in a one-time significant delay in returning the result. *

    *
  • *
  • *

    * If the secret is in a different AWS account from the credentials calling an API that requires encryption or * decryption of the secret value then you must create and use a custom AWS KMS CMK because you can't access the * default CMK for the account using credentials from a different AWS account. Store the ARN of the CMK in the * secret when you create the secret or when you update it by including it in the KMSKeyId. If you call * an API that must encrypt or decrypt SecretString or SecretBinary using credentials from * a different account then the AWS KMS key policy must grant cross-account access to that other account's user or * role for both the kms:GenerateDataKey and kms:Decrypt operations. *

    *
  • *
*
*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:UpdateSecret *

    *
  • *
  • *

    * kms:GenerateDataKey - needed only if you use a custom AWS KMS key to encrypt the secret. You do not need this * permission to use the account's AWS managed CMK for Secrets Manager. *

    *
  • *
  • *

    * kms:Decrypt - needed only if you use a custom AWS KMS key to encrypt the secret. You do not need this permission * to use the account's AWS managed CMK for Secrets Manager. *

    *
  • *
*

* Related operations *

* * * @param updateSecretRequest * @return A Java Future containing the result of the UpdateSecret operation returned by the service. * @sample AWSSecretsManagerAsync.UpdateSecret * @see AWS * API Documentation */ java.util.concurrent.Future updateSecretAsync(UpdateSecretRequest updateSecretRequest); /** *

* Modifies many of the details of the specified secret. If you include a ClientRequestToken and * either SecretString or SecretBinary then it also creates a new version attached * to the secret. *

*

* To modify the rotation configuration of a secret, use RotateSecret instead. *

* *

* The Secrets Manager console uses only the SecretString parameter and therefore limits you to * encrypting and storing only a text string. To encrypt and store binary data as part of the version of a secret, * you must use either the AWS CLI or one of the AWS SDKs. *

*
*
    *
  • *

    * If a version with a VersionId with the same value as the ClientRequestToken parameter * already exists, the operation results in an error. You cannot modify an existing version, you can only create a * new version. *

    *
  • *
  • *

    * 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 an operation that needs to encrypt or decrypt the SecretString or * SecretBinary for a secret in the same account as the calling user and that secret doesn't specify a * AWS KMS encryption key, Secrets Manager uses the account's default AWS managed customer master key (CMK) with the * alias 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 same AWS account automatically have access to use * the default CMK. Note that if an Secrets Manager API call results in AWS having to create the account's * AWS-managed CMK, it can result in a one-time significant delay in returning the result. *

    *
  • *
  • *

    * If the secret is in a different AWS account from the credentials calling an API that requires encryption or * decryption of the secret value then you must create and use a custom AWS KMS CMK because you can't access the * default CMK for the account using credentials from a different AWS account. Store the ARN of the CMK in the * secret when you create the secret or when you update it by including it in the KMSKeyId. If you call * an API that must encrypt or decrypt SecretString or SecretBinary using credentials from * a different account then the AWS KMS key policy must grant cross-account access to that other account's user or * role for both the kms:GenerateDataKey and kms:Decrypt operations. *

    *
  • *
*
*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:UpdateSecret *

    *
  • *
  • *

    * kms:GenerateDataKey - needed only if you use a custom AWS KMS key to encrypt the secret. You do not need this * permission to use the account's AWS managed CMK for Secrets Manager. *

    *
  • *
  • *

    * kms:Decrypt - needed only if you use a custom AWS KMS key to encrypt the secret. You do not need this permission * to use the account's AWS managed CMK for Secrets Manager. *

    *
  • *
*

* Related operations *

* * * @param updateSecretRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the UpdateSecret operation returned by the service. * @sample AWSSecretsManagerAsyncHandler.UpdateSecret * @see AWS * API Documentation */ java.util.concurrent.Future updateSecretAsync(UpdateSecretRequest updateSecretRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Modifies the staging labels attached to a version of a secret. Staging labels are used to track a version as it * progresses through the secret rotation process. You can attach a staging label to only one version of a secret at * a time. If a staging label to be added is already attached to another version, then it is moved--removed from the * other version first and then attached to this one. For more information about staging labels, see Staging * Labels in the AWS Secrets Manager User Guide. *

*

* The staging labels that you specify in the VersionStage parameter are added to the existing list of * staging labels--they don't replace it. *

*

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

*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:UpdateSecretVersionStage *

    *
  • *
*

* Related operations *

*
    *
  • *

    * To get the list of staging labels that are currently associated with a version of a secret, use * DescribeSecret and examine the SecretVersionsToStages response value. *

    *
  • *
* * @param updateSecretVersionStageRequest * @return A Java Future containing the result of the UpdateSecretVersionStage operation returned by the service. * @sample AWSSecretsManagerAsync.UpdateSecretVersionStage * @see AWS API Documentation */ java.util.concurrent.Future updateSecretVersionStageAsync(UpdateSecretVersionStageRequest updateSecretVersionStageRequest); /** *

* Modifies the staging labels attached to a version of a secret. Staging labels are used to track a version as it * progresses through the secret rotation process. You can attach a staging label to only one version of a secret at * a time. If a staging label to be added is already attached to another version, then it is moved--removed from the * other version first and then attached to this one. For more information about staging labels, see Staging * Labels in the AWS Secrets Manager User Guide. *

*

* The staging labels that you specify in the VersionStage parameter are added to the existing list of * staging labels--they don't replace it. *

*

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

*

* Minimum permissions *

*

* To run this command, you must have the following permissions: *

*
    *
  • *

    * secretsmanager:UpdateSecretVersionStage *

    *
  • *
*

* Related operations *

*
    *
  • *

    * To get the list of staging labels that are currently associated with a version of a secret, use * DescribeSecret and examine the SecretVersionsToStages response value. *

    *
  • *
* * @param updateSecretVersionStageRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the UpdateSecretVersionStage operation returned by the service. * @sample AWSSecretsManagerAsyncHandler.UpdateSecretVersionStage * @see AWS API Documentation */ java.util.concurrent.Future updateSecretVersionStageAsync(UpdateSecretVersionStageRequest updateSecretVersionStageRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy