aws_sdk_secretsmanager/operation/delete_secret/
_delete_secret_input.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct DeleteSecretInput {
6    /// <p>The ARN or name of the secret to delete.</p>
7    /// <p>For an ARN, we recommend that you specify a complete ARN rather than a partial ARN. See <a href="https://docs.aws.amazon.com/secretsmanager/latest/userguide/troubleshoot.html#ARN_secretnamehyphen">Finding a secret from a partial ARN</a>.</p>
8    pub secret_id: ::std::option::Option<::std::string::String>,
9    /// <p>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 <code>ForceDeleteWithoutRecovery</code> in the same call. If you don't use either, then by default Secrets Manager uses a 30 day recovery window.</p>
10    pub recovery_window_in_days: ::std::option::Option<i64>,
11    /// <p>Specifies whether to delete the secret without any recovery window. You can't use both this parameter and <code>RecoveryWindowInDays</code> in the same call. If you don't use either, then by default Secrets Manager uses a 30 day recovery window.</p>
12    /// <p>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.</p>
13    /// <p>If you forcibly delete an already deleted or nonexistent secret, the operation does not return <code>ResourceNotFoundException</code>.</p><important>
14    /// <p>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 <code>RecoveryWindowInDays</code> parameter. If you delete a secret with the <code>ForceDeleteWithoutRecovery</code> parameter, then you have no opportunity to recover the secret. You lose the secret permanently.</p>
15    /// </important>
16    pub force_delete_without_recovery: ::std::option::Option<bool>,
17}
18impl DeleteSecretInput {
19    /// <p>The ARN or name of the secret to delete.</p>
20    /// <p>For an ARN, we recommend that you specify a complete ARN rather than a partial ARN. See <a href="https://docs.aws.amazon.com/secretsmanager/latest/userguide/troubleshoot.html#ARN_secretnamehyphen">Finding a secret from a partial ARN</a>.</p>
21    pub fn secret_id(&self) -> ::std::option::Option<&str> {
22        self.secret_id.as_deref()
23    }
24    /// <p>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 <code>ForceDeleteWithoutRecovery</code> in the same call. If you don't use either, then by default Secrets Manager uses a 30 day recovery window.</p>
25    pub fn recovery_window_in_days(&self) -> ::std::option::Option<i64> {
26        self.recovery_window_in_days
27    }
28    /// <p>Specifies whether to delete the secret without any recovery window. You can't use both this parameter and <code>RecoveryWindowInDays</code> in the same call. If you don't use either, then by default Secrets Manager uses a 30 day recovery window.</p>
29    /// <p>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.</p>
30    /// <p>If you forcibly delete an already deleted or nonexistent secret, the operation does not return <code>ResourceNotFoundException</code>.</p><important>
31    /// <p>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 <code>RecoveryWindowInDays</code> parameter. If you delete a secret with the <code>ForceDeleteWithoutRecovery</code> parameter, then you have no opportunity to recover the secret. You lose the secret permanently.</p>
32    /// </important>
33    pub fn force_delete_without_recovery(&self) -> ::std::option::Option<bool> {
34        self.force_delete_without_recovery
35    }
36}
37impl DeleteSecretInput {
38    /// Creates a new builder-style object to manufacture [`DeleteSecretInput`](crate::operation::delete_secret::DeleteSecretInput).
39    pub fn builder() -> crate::operation::delete_secret::builders::DeleteSecretInputBuilder {
40        crate::operation::delete_secret::builders::DeleteSecretInputBuilder::default()
41    }
42}
43
44/// A builder for [`DeleteSecretInput`](crate::operation::delete_secret::DeleteSecretInput).
45#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
46#[non_exhaustive]
47pub struct DeleteSecretInputBuilder {
48    pub(crate) secret_id: ::std::option::Option<::std::string::String>,
49    pub(crate) recovery_window_in_days: ::std::option::Option<i64>,
50    pub(crate) force_delete_without_recovery: ::std::option::Option<bool>,
51}
52impl DeleteSecretInputBuilder {
53    /// <p>The ARN or name of the secret to delete.</p>
54    /// <p>For an ARN, we recommend that you specify a complete ARN rather than a partial ARN. See <a href="https://docs.aws.amazon.com/secretsmanager/latest/userguide/troubleshoot.html#ARN_secretnamehyphen">Finding a secret from a partial ARN</a>.</p>
55    /// This field is required.
56    pub fn secret_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
57        self.secret_id = ::std::option::Option::Some(input.into());
58        self
59    }
60    /// <p>The ARN or name of the secret to delete.</p>
61    /// <p>For an ARN, we recommend that you specify a complete ARN rather than a partial ARN. See <a href="https://docs.aws.amazon.com/secretsmanager/latest/userguide/troubleshoot.html#ARN_secretnamehyphen">Finding a secret from a partial ARN</a>.</p>
62    pub fn set_secret_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
63        self.secret_id = input;
64        self
65    }
66    /// <p>The ARN or name of the secret to delete.</p>
67    /// <p>For an ARN, we recommend that you specify a complete ARN rather than a partial ARN. See <a href="https://docs.aws.amazon.com/secretsmanager/latest/userguide/troubleshoot.html#ARN_secretnamehyphen">Finding a secret from a partial ARN</a>.</p>
68    pub fn get_secret_id(&self) -> &::std::option::Option<::std::string::String> {
69        &self.secret_id
70    }
71    /// <p>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 <code>ForceDeleteWithoutRecovery</code> in the same call. If you don't use either, then by default Secrets Manager uses a 30 day recovery window.</p>
72    pub fn recovery_window_in_days(mut self, input: i64) -> Self {
73        self.recovery_window_in_days = ::std::option::Option::Some(input);
74        self
75    }
76    /// <p>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 <code>ForceDeleteWithoutRecovery</code> in the same call. If you don't use either, then by default Secrets Manager uses a 30 day recovery window.</p>
77    pub fn set_recovery_window_in_days(mut self, input: ::std::option::Option<i64>) -> Self {
78        self.recovery_window_in_days = input;
79        self
80    }
81    /// <p>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 <code>ForceDeleteWithoutRecovery</code> in the same call. If you don't use either, then by default Secrets Manager uses a 30 day recovery window.</p>
82    pub fn get_recovery_window_in_days(&self) -> &::std::option::Option<i64> {
83        &self.recovery_window_in_days
84    }
85    /// <p>Specifies whether to delete the secret without any recovery window. You can't use both this parameter and <code>RecoveryWindowInDays</code> in the same call. If you don't use either, then by default Secrets Manager uses a 30 day recovery window.</p>
86    /// <p>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.</p>
87    /// <p>If you forcibly delete an already deleted or nonexistent secret, the operation does not return <code>ResourceNotFoundException</code>.</p><important>
88    /// <p>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 <code>RecoveryWindowInDays</code> parameter. If you delete a secret with the <code>ForceDeleteWithoutRecovery</code> parameter, then you have no opportunity to recover the secret. You lose the secret permanently.</p>
89    /// </important>
90    pub fn force_delete_without_recovery(mut self, input: bool) -> Self {
91        self.force_delete_without_recovery = ::std::option::Option::Some(input);
92        self
93    }
94    /// <p>Specifies whether to delete the secret without any recovery window. You can't use both this parameter and <code>RecoveryWindowInDays</code> in the same call. If you don't use either, then by default Secrets Manager uses a 30 day recovery window.</p>
95    /// <p>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.</p>
96    /// <p>If you forcibly delete an already deleted or nonexistent secret, the operation does not return <code>ResourceNotFoundException</code>.</p><important>
97    /// <p>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 <code>RecoveryWindowInDays</code> parameter. If you delete a secret with the <code>ForceDeleteWithoutRecovery</code> parameter, then you have no opportunity to recover the secret. You lose the secret permanently.</p>
98    /// </important>
99    pub fn set_force_delete_without_recovery(mut self, input: ::std::option::Option<bool>) -> Self {
100        self.force_delete_without_recovery = input;
101        self
102    }
103    /// <p>Specifies whether to delete the secret without any recovery window. You can't use both this parameter and <code>RecoveryWindowInDays</code> in the same call. If you don't use either, then by default Secrets Manager uses a 30 day recovery window.</p>
104    /// <p>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.</p>
105    /// <p>If you forcibly delete an already deleted or nonexistent secret, the operation does not return <code>ResourceNotFoundException</code>.</p><important>
106    /// <p>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 <code>RecoveryWindowInDays</code> parameter. If you delete a secret with the <code>ForceDeleteWithoutRecovery</code> parameter, then you have no opportunity to recover the secret. You lose the secret permanently.</p>
107    /// </important>
108    pub fn get_force_delete_without_recovery(&self) -> &::std::option::Option<bool> {
109        &self.force_delete_without_recovery
110    }
111    /// Consumes the builder and constructs a [`DeleteSecretInput`](crate::operation::delete_secret::DeleteSecretInput).
112    pub fn build(
113        self,
114    ) -> ::std::result::Result<crate::operation::delete_secret::DeleteSecretInput, ::aws_smithy_types::error::operation::BuildError> {
115        ::std::result::Result::Ok(crate::operation::delete_secret::DeleteSecretInput {
116            secret_id: self.secret_id,
117            recovery_window_in_days: self.recovery_window_in_days,
118            force_delete_without_recovery: self.force_delete_without_recovery,
119        })
120    }
121}