1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub use crate::operation::restore_from_snapshot::_restore_from_snapshot_input::RestoreFromSnapshotInputBuilder;
pub use crate::operation::restore_from_snapshot::_restore_from_snapshot_output::RestoreFromSnapshotOutputBuilder;
impl crate::operation::restore_from_snapshot::builders::RestoreFromSnapshotInputBuilder {
/// Sends a request with this input using the given client.
pub async fn send_with(
self,
client: &crate::Client,
) -> ::std::result::Result<
crate::operation::restore_from_snapshot::RestoreFromSnapshotOutput,
::aws_smithy_runtime_api::client::result::SdkError<
crate::operation::restore_from_snapshot::RestoreFromSnapshotError,
::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
>,
> {
let mut fluent_builder = client.restore_from_snapshot();
fluent_builder.inner = self;
fluent_builder.send().await
}
}
/// Fluent builder constructing a request to `RestoreFromSnapshot`.
///
/// <p>Restores a namespace from a snapshot.</p>
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
pub struct RestoreFromSnapshotFluentBuilder {
handle: ::std::sync::Arc<crate::client::Handle>,
inner: crate::operation::restore_from_snapshot::builders::RestoreFromSnapshotInputBuilder,
config_override: ::std::option::Option<crate::config::Builder>,
}
impl
crate::client::customize::internal::CustomizableSend<
crate::operation::restore_from_snapshot::RestoreFromSnapshotOutput,
crate::operation::restore_from_snapshot::RestoreFromSnapshotError,
> for RestoreFromSnapshotFluentBuilder
{
fn send(
self,
config_override: crate::config::Builder,
) -> crate::client::customize::internal::BoxFuture<
crate::client::customize::internal::SendResult<
crate::operation::restore_from_snapshot::RestoreFromSnapshotOutput,
crate::operation::restore_from_snapshot::RestoreFromSnapshotError,
>,
> {
::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
}
}
impl RestoreFromSnapshotFluentBuilder {
/// Creates a new `RestoreFromSnapshotFluentBuilder`.
pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
Self {
handle,
inner: ::std::default::Default::default(),
config_override: ::std::option::Option::None,
}
}
/// Access the RestoreFromSnapshot as a reference.
pub fn as_input(&self) -> &crate::operation::restore_from_snapshot::builders::RestoreFromSnapshotInputBuilder {
&self.inner
}
/// Sends the request and returns the response.
///
/// If an error occurs, an `SdkError` will be returned with additional details that
/// can be matched against.
///
/// By default, any retryable failures will be retried twice. Retry behavior
/// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
/// set when configuring the client.
pub async fn send(
self,
) -> ::std::result::Result<
crate::operation::restore_from_snapshot::RestoreFromSnapshotOutput,
::aws_smithy_runtime_api::client::result::SdkError<
crate::operation::restore_from_snapshot::RestoreFromSnapshotError,
::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
>,
> {
let input = self
.inner
.build()
.map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
let runtime_plugins = crate::operation::restore_from_snapshot::RestoreFromSnapshot::operation_runtime_plugins(
self.handle.runtime_plugins.clone(),
&self.handle.conf,
self.config_override,
);
crate::operation::restore_from_snapshot::RestoreFromSnapshot::orchestrate(&runtime_plugins, input).await
}
/// Consumes this builder, creating a customizable operation that can be modified before being sent.
pub fn customize(
self,
) -> crate::client::customize::CustomizableOperation<
crate::operation::restore_from_snapshot::RestoreFromSnapshotOutput,
crate::operation::restore_from_snapshot::RestoreFromSnapshotError,
Self,
> {
crate::client::customize::CustomizableOperation::new(self)
}
pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
self.set_config_override(::std::option::Option::Some(config_override.into()));
self
}
pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
self.config_override = config_override;
self
}
/// <p>The name of the namespace to restore the snapshot to.</p>
pub fn namespace_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.namespace_name(input.into());
self
}
/// <p>The name of the namespace to restore the snapshot to.</p>
pub fn set_namespace_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_namespace_name(input);
self
}
/// <p>The name of the namespace to restore the snapshot to.</p>
pub fn get_namespace_name(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_namespace_name()
}
/// <p>The name of the workgroup used to restore the snapshot.</p>
pub fn workgroup_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.workgroup_name(input.into());
self
}
/// <p>The name of the workgroup used to restore the snapshot.</p>
pub fn set_workgroup_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_workgroup_name(input);
self
}
/// <p>The name of the workgroup used to restore the snapshot.</p>
pub fn get_workgroup_name(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_workgroup_name()
}
/// <p>The name of the snapshot to restore from. Must not be specified at the same time as <code>snapshotArn</code>.</p>
pub fn snapshot_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.snapshot_name(input.into());
self
}
/// <p>The name of the snapshot to restore from. Must not be specified at the same time as <code>snapshotArn</code>.</p>
pub fn set_snapshot_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_snapshot_name(input);
self
}
/// <p>The name of the snapshot to restore from. Must not be specified at the same time as <code>snapshotArn</code>.</p>
pub fn get_snapshot_name(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_snapshot_name()
}
/// <p>The Amazon Resource Name (ARN) of the snapshot to restore from. Required if restoring from a provisioned cluster to Amazon Redshift Serverless. Must not be specified at the same time as <code>snapshotName</code>.</p>
/// <p>The format of the ARN is arn:aws:redshift:<region>:<account_id>:snapshot:<cluster_identifier>/<snapshot_identifier>.</p>
pub fn snapshot_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.snapshot_arn(input.into());
self
}
/// <p>The Amazon Resource Name (ARN) of the snapshot to restore from. Required if restoring from a provisioned cluster to Amazon Redshift Serverless. Must not be specified at the same time as <code>snapshotName</code>.</p>
/// <p>The format of the ARN is arn:aws:redshift:<region>:<account_id>:snapshot:<cluster_identifier>/<snapshot_identifier>.</p>
pub fn set_snapshot_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_snapshot_arn(input);
self
}
/// <p>The Amazon Resource Name (ARN) of the snapshot to restore from. Required if restoring from a provisioned cluster to Amazon Redshift Serverless. Must not be specified at the same time as <code>snapshotName</code>.</p>
/// <p>The format of the ARN is arn:aws:redshift:<region>:<account_id>:snapshot:<cluster_identifier>/<snapshot_identifier>.</p>
pub fn get_snapshot_arn(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_snapshot_arn()
}
/// <p>The Amazon Web Services account that owns the snapshot.</p>
pub fn owner_account(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.owner_account(input.into());
self
}
/// <p>The Amazon Web Services account that owns the snapshot.</p>
pub fn set_owner_account(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_owner_account(input);
self
}
/// <p>The Amazon Web Services account that owns the snapshot.</p>
pub fn get_owner_account(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_owner_account()
}
/// <p>If <code>true</code>, Amazon Redshift uses Secrets Manager to manage the restored snapshot's admin credentials. If <code>MmanageAdminPassword</code> is false or not set, Amazon Redshift uses the admin credentials that the namespace or cluster had at the time the snapshot was taken.</p>
pub fn manage_admin_password(mut self, input: bool) -> Self {
self.inner = self.inner.manage_admin_password(input);
self
}
/// <p>If <code>true</code>, Amazon Redshift uses Secrets Manager to manage the restored snapshot's admin credentials. If <code>MmanageAdminPassword</code> is false or not set, Amazon Redshift uses the admin credentials that the namespace or cluster had at the time the snapshot was taken.</p>
pub fn set_manage_admin_password(mut self, input: ::std::option::Option<bool>) -> Self {
self.inner = self.inner.set_manage_admin_password(input);
self
}
/// <p>If <code>true</code>, Amazon Redshift uses Secrets Manager to manage the restored snapshot's admin credentials. If <code>MmanageAdminPassword</code> is false or not set, Amazon Redshift uses the admin credentials that the namespace or cluster had at the time the snapshot was taken.</p>
pub fn get_manage_admin_password(&self) -> &::std::option::Option<bool> {
self.inner.get_manage_admin_password()
}
/// <p>The ID of the Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret.</p>
pub fn admin_password_secret_kms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.admin_password_secret_kms_key_id(input.into());
self
}
/// <p>The ID of the Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret.</p>
pub fn set_admin_password_secret_kms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_admin_password_secret_kms_key_id(input);
self
}
/// <p>The ID of the Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret.</p>
pub fn get_admin_password_secret_kms_key_id(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_admin_password_secret_kms_key_id()
}
/// <p>If <code>true</code>, maintain existing data sharing, zero-ETL and S3 event integrations when restoring. Otherwise, integrations will not be maintained after the restore operation. Integrations are only maintained when restored to the same serverless namespace.</p>
/// <p>Default: true</p>
pub fn maintain_integration(mut self, input: bool) -> Self {
self.inner = self.inner.maintain_integration(input);
self
}
/// <p>If <code>true</code>, maintain existing data sharing, zero-ETL and S3 event integrations when restoring. Otherwise, integrations will not be maintained after the restore operation. Integrations are only maintained when restored to the same serverless namespace.</p>
/// <p>Default: true</p>
pub fn set_maintain_integration(mut self, input: ::std::option::Option<bool>) -> Self {
self.inner = self.inner.set_maintain_integration(input);
self
}
/// <p>If <code>true</code>, maintain existing data sharing, zero-ETL and S3 event integrations when restoring. Otherwise, integrations will not be maintained after the restore operation. Integrations are only maintained when restored to the same serverless namespace.</p>
/// <p>Default: true</p>
pub fn get_maintain_integration(&self) -> &::std::option::Option<bool> {
self.inner.get_maintain_integration()
}
}