/* * Copyright 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. */ /* * Do not modify this file. This file is generated from the secretsmanager-2017-10-17.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.SecretsManager.Model { /// /// Container for the parameters to the DeleteSecret operation. /// 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. /// /// public partial class DeleteSecretRequest : AmazonSecretsManagerRequest { private bool? _forceDeleteWithoutRecovery; private long? _recoveryWindowInDays; private string _secretId; /// /// Gets and sets the property ForceDeleteWithoutRecovery. /// /// Specifies whether to delete the secret without any recovery window. You can't use /// both this parameter and RecoveryWindowInDays in the same call. If you /// don't use either, then by default Secrets Manager uses a 30 day recovery window. /// /// /// /// Secrets Manager performs the actual deletion with an asynchronous background process, /// so there might be a short delay before the secret is permanently deleted. If you delete /// a secret and then immediately create a secret with the same name, use appropriate /// back off and retry logic. /// /// /// /// If you forcibly delete an already deleted or nonexistent secret, the operation does /// not return ResourceNotFoundException. /// /// /// /// Use this parameter with caution. This parameter causes the operation to skip the normal /// recovery window before the permanent deletion that Secrets Manager would normally /// impose with the RecoveryWindowInDays parameter. If you delete a secret /// with the ForceDeleteWithoutRecovery parameter, then you have no opportunity /// to recover the secret. You lose the secret permanently. /// /// /// public bool ForceDeleteWithoutRecovery { get { return this._forceDeleteWithoutRecovery.GetValueOrDefault(); } set { this._forceDeleteWithoutRecovery = value; } } // Check to see if ForceDeleteWithoutRecovery property is set internal bool IsSetForceDeleteWithoutRecovery() { return this._forceDeleteWithoutRecovery.HasValue; } /// /// Gets and sets the property RecoveryWindowInDays. /// /// The number of days from 7 to 30 that Secrets Manager waits before permanently deleting /// the secret. You can't use both this parameter and ForceDeleteWithoutRecovery /// in the same call. If you don't use either, then by default Secrets Manager uses a /// 30 day recovery window. /// /// public long RecoveryWindowInDays { get { return this._recoveryWindowInDays.GetValueOrDefault(); } set { this._recoveryWindowInDays = value; } } // Check to see if RecoveryWindowInDays property is set internal bool IsSetRecoveryWindowInDays() { return this._recoveryWindowInDays.HasValue; } /// /// Gets and sets the property SecretId. /// /// The ARN or name of the secret to delete. /// /// /// /// For an ARN, we recommend that you specify a complete ARN rather than a partial ARN. /// See Finding /// a secret from a partial ARN. /// /// [AWSProperty(Required=true, Min=1, Max=2048)] public string SecretId { get { return this._secretId; } set { this._secretId = value; } } // Check to see if SecretId property is set internal bool IsSetSecretId() { return this._secretId != null; } } }