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}