AWS SDK Version 3 for .NET
API Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Deletes a secret and all of its versions. You can specify a recovery window during which you can restore the secret. The minimum recovery window is 7 days. The default recovery window is 30 days. Secrets Manager attaches a DeletionDate stamp to the secret that specifies the end of the recovery window. At the end of the recovery window, Secrets Manager deletes the secret permanently.

You can't delete a primary secret that is replicated to other Regions. You must first delete the replicas using RemoveRegionsFromReplication, and then delete the primary secret. When you delete a replica, it is deleted immediately.

You can't directly delete a version of a secret. Instead, you remove all staging labels from the version using UpdateSecretVersionStage. This marks the version as deprecated, and then Secrets Manager can automatically delete the version in the background.

To determine whether an application still uses a secret, you can create an Amazon CloudWatch alarm to alert you to any attempts to access a secret during the recovery window. For more information, see Monitor secrets scheduled for deletion.

Secrets Manager performs the permanent secret deletion at the end of the waiting period as a background task with low priority. There is no guarantee of a specific time after the recovery window for the permanent delete to occur.

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

When a secret is scheduled for deletion, you cannot retrieve the secret value. You must first cancel the deletion with RestoreSecret and then you can retrieve the secret.

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

Required permissions: secretsmanager:DeleteSecret. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

Note:

For .NET Core this operation is only available in asynchronous form. Please refer to DeleteSecretAsync.

Namespace: Amazon.SecretsManager
Assembly: AWSSDK.SecretsManager.dll
Version: 3.x.y.z

Syntax

C#
public virtual DeleteSecretResponse DeleteSecret(
         DeleteSecretRequest request
)

Parameters

request
Type: Amazon.SecretsManager.Model.DeleteSecretRequest

Container for the necessary parameters to execute the DeleteSecret service method.

Return Value


The response from the DeleteSecret service method, as returned by SecretsManager.

Exceptions

ExceptionCondition
InternalServiceErrorException An error occurred on the server side.
InvalidParameterException The parameter name or value is invalid.
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. The secret is managed by another service, and you must use that service to update it. For more information, see Secrets managed by other Amazon Web Services services.
ResourceNotFoundException Secrets Manager can't find the resource that you asked for.

Examples

The following example shows how to delete a secret. The secret stays in your account in a deprecated and inaccessible state until the recovery window ends. After the date and time in the DeletionDate response field has passed, you can no longer recover this secret with restore-secret.

To delete a secret


var client = new AmazonSecretsManagerClient();
var response = client.DeleteSecret(new DeleteSecretRequest 
{
    RecoveryWindowInDays = 7,
    SecretId = "MyTestDatabaseSecret1"
});

string arn = response.ARN;
DateTime deletionDate = response.DeletionDate;
string name = response.Name;

            

Version Information

.NET Framework:
Supported in: 4.5, 4.0, 3.5

See Also