aws_sdk_redshift/operation/restore_from_cluster_snapshot/builders.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::restore_from_cluster_snapshot::_restore_from_cluster_snapshot_output::RestoreFromClusterSnapshotOutputBuilder;
3
4pub use crate::operation::restore_from_cluster_snapshot::_restore_from_cluster_snapshot_input::RestoreFromClusterSnapshotInputBuilder;
5
6impl crate::operation::restore_from_cluster_snapshot::builders::RestoreFromClusterSnapshotInputBuilder {
7 /// Sends a request with this input using the given client.
8 pub async fn send_with(
9 self,
10 client: &crate::Client,
11 ) -> ::std::result::Result<
12 crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotOutput,
13 ::aws_smithy_runtime_api::client::result::SdkError<
14 crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError,
15 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16 >,
17 > {
18 let mut fluent_builder = client.restore_from_cluster_snapshot();
19 fluent_builder.inner = self;
20 fluent_builder.send().await
21 }
22}
23/// Fluent builder constructing a request to `RestoreFromClusterSnapshot`.
24///
25/// <p>Creates a new cluster from a snapshot. By default, Amazon Redshift creates the resulting cluster with the same configuration as the original cluster from which the snapshot was created, except that the new cluster is created with the default cluster security and parameter groups. After Amazon Redshift creates the cluster, you can use the <code>ModifyCluster</code> API to associate a different security group and different parameter group with the restored cluster. If you are using a DS node type, you can also choose to change to another DS node type of the same size during restore.</p>
26/// <p>If you restore a cluster into a VPC, you must provide a cluster subnet group where you want the cluster restored.</p>
27/// <p>VPC Block Public Access (BPA) enables you to block resources in VPCs and subnets that you own in a Region from reaching or being reached from the internet through internet gateways and egress-only internet gateways. If a subnet group for a provisioned cluster is in an account with VPC BPA turned on, the following capabilities are blocked:</p>
28/// <ul>
29/// <li>
30/// <p>Creating a public cluster</p></li>
31/// <li>
32/// <p>Restoring a public cluster</p></li>
33/// <li>
34/// <p>Modifying a private cluster to be public</p></li>
35/// <li>
36/// <p>Adding a subnet with VPC BPA turned on to the subnet group when there's at least one public cluster within the group</p></li>
37/// </ul>
38/// <p>For more information about VPC BPA, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/security-vpc-bpa.html">Block public access to VPCs and subnets</a> in the <i>Amazon VPC User Guide</i>.</p>
39/// <p>For more information about working with snapshots, go to <a href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html">Amazon Redshift Snapshots</a> in the <i>Amazon Redshift Cluster Management Guide</i>.</p>
40#[derive(::std::clone::Clone, ::std::fmt::Debug)]
41pub struct RestoreFromClusterSnapshotFluentBuilder {
42 handle: ::std::sync::Arc<crate::client::Handle>,
43 inner: crate::operation::restore_from_cluster_snapshot::builders::RestoreFromClusterSnapshotInputBuilder,
44 config_override: ::std::option::Option<crate::config::Builder>,
45}
46impl
47 crate::client::customize::internal::CustomizableSend<
48 crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotOutput,
49 crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError,
50 > for RestoreFromClusterSnapshotFluentBuilder
51{
52 fn send(
53 self,
54 config_override: crate::config::Builder,
55 ) -> crate::client::customize::internal::BoxFuture<
56 crate::client::customize::internal::SendResult<
57 crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotOutput,
58 crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError,
59 >,
60 > {
61 ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
62 }
63}
64impl RestoreFromClusterSnapshotFluentBuilder {
65 /// Creates a new `RestoreFromClusterSnapshotFluentBuilder`.
66 pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
67 Self {
68 handle,
69 inner: ::std::default::Default::default(),
70 config_override: ::std::option::Option::None,
71 }
72 }
73 /// Access the RestoreFromClusterSnapshot as a reference.
74 pub fn as_input(&self) -> &crate::operation::restore_from_cluster_snapshot::builders::RestoreFromClusterSnapshotInputBuilder {
75 &self.inner
76 }
77 /// Sends the request and returns the response.
78 ///
79 /// If an error occurs, an `SdkError` will be returned with additional details that
80 /// can be matched against.
81 ///
82 /// By default, any retryable failures will be retried twice. Retry behavior
83 /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
84 /// set when configuring the client.
85 pub async fn send(
86 self,
87 ) -> ::std::result::Result<
88 crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotOutput,
89 ::aws_smithy_runtime_api::client::result::SdkError<
90 crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError,
91 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
92 >,
93 > {
94 let input = self
95 .inner
96 .build()
97 .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
98 let runtime_plugins = crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshot::operation_runtime_plugins(
99 self.handle.runtime_plugins.clone(),
100 &self.handle.conf,
101 self.config_override,
102 );
103 crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshot::orchestrate(&runtime_plugins, input).await
104 }
105
106 /// Consumes this builder, creating a customizable operation that can be modified before being sent.
107 pub fn customize(
108 self,
109 ) -> crate::client::customize::CustomizableOperation<
110 crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotOutput,
111 crate::operation::restore_from_cluster_snapshot::RestoreFromClusterSnapshotError,
112 Self,
113 > {
114 crate::client::customize::CustomizableOperation::new(self)
115 }
116 pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
117 self.set_config_override(::std::option::Option::Some(config_override.into()));
118 self
119 }
120
121 pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
122 self.config_override = config_override;
123 self
124 }
125 /// <p>The identifier of the cluster that will be created from restoring the snapshot.</p>
126 /// <p>Constraints:</p>
127 /// <ul>
128 /// <li>
129 /// <p>Must contain from 1 to 63 alphanumeric characters or hyphens.</p></li>
130 /// <li>
131 /// <p>Alphabetic characters must be lowercase.</p></li>
132 /// <li>
133 /// <p>First character must be a letter.</p></li>
134 /// <li>
135 /// <p>Cannot end with a hyphen or contain two consecutive hyphens.</p></li>
136 /// <li>
137 /// <p>Must be unique for all clusters within an Amazon Web Services account.</p></li>
138 /// </ul>
139 pub fn cluster_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
140 self.inner = self.inner.cluster_identifier(input.into());
141 self
142 }
143 /// <p>The identifier of the cluster that will be created from restoring the snapshot.</p>
144 /// <p>Constraints:</p>
145 /// <ul>
146 /// <li>
147 /// <p>Must contain from 1 to 63 alphanumeric characters or hyphens.</p></li>
148 /// <li>
149 /// <p>Alphabetic characters must be lowercase.</p></li>
150 /// <li>
151 /// <p>First character must be a letter.</p></li>
152 /// <li>
153 /// <p>Cannot end with a hyphen or contain two consecutive hyphens.</p></li>
154 /// <li>
155 /// <p>Must be unique for all clusters within an Amazon Web Services account.</p></li>
156 /// </ul>
157 pub fn set_cluster_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
158 self.inner = self.inner.set_cluster_identifier(input);
159 self
160 }
161 /// <p>The identifier of the cluster that will be created from restoring the snapshot.</p>
162 /// <p>Constraints:</p>
163 /// <ul>
164 /// <li>
165 /// <p>Must contain from 1 to 63 alphanumeric characters or hyphens.</p></li>
166 /// <li>
167 /// <p>Alphabetic characters must be lowercase.</p></li>
168 /// <li>
169 /// <p>First character must be a letter.</p></li>
170 /// <li>
171 /// <p>Cannot end with a hyphen or contain two consecutive hyphens.</p></li>
172 /// <li>
173 /// <p>Must be unique for all clusters within an Amazon Web Services account.</p></li>
174 /// </ul>
175 pub fn get_cluster_identifier(&self) -> &::std::option::Option<::std::string::String> {
176 self.inner.get_cluster_identifier()
177 }
178 /// <p>The name of the snapshot from which to create the new cluster. This parameter isn't case sensitive. You must specify this parameter or <code>snapshotArn</code>, but not both.</p>
179 /// <p>Example: <code>my-snapshot-id</code></p>
180 pub fn snapshot_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
181 self.inner = self.inner.snapshot_identifier(input.into());
182 self
183 }
184 /// <p>The name of the snapshot from which to create the new cluster. This parameter isn't case sensitive. You must specify this parameter or <code>snapshotArn</code>, but not both.</p>
185 /// <p>Example: <code>my-snapshot-id</code></p>
186 pub fn set_snapshot_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
187 self.inner = self.inner.set_snapshot_identifier(input);
188 self
189 }
190 /// <p>The name of the snapshot from which to create the new cluster. This parameter isn't case sensitive. You must specify this parameter or <code>snapshotArn</code>, but not both.</p>
191 /// <p>Example: <code>my-snapshot-id</code></p>
192 pub fn get_snapshot_identifier(&self) -> &::std::option::Option<::std::string::String> {
193 self.inner.get_snapshot_identifier()
194 }
195 /// <p>The Amazon Resource Name (ARN) of the snapshot associated with the message to restore from a cluster. You must specify this parameter or <code>snapshotIdentifier</code>, but not both.</p>
196 pub fn snapshot_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
197 self.inner = self.inner.snapshot_arn(input.into());
198 self
199 }
200 /// <p>The Amazon Resource Name (ARN) of the snapshot associated with the message to restore from a cluster. You must specify this parameter or <code>snapshotIdentifier</code>, but not both.</p>
201 pub fn set_snapshot_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
202 self.inner = self.inner.set_snapshot_arn(input);
203 self
204 }
205 /// <p>The Amazon Resource Name (ARN) of the snapshot associated with the message to restore from a cluster. You must specify this parameter or <code>snapshotIdentifier</code>, but not both.</p>
206 pub fn get_snapshot_arn(&self) -> &::std::option::Option<::std::string::String> {
207 self.inner.get_snapshot_arn()
208 }
209 /// <p>The name of the cluster the source snapshot was created from. This parameter is required if your IAM user has a policy containing a snapshot resource element that specifies anything other than * for the cluster name.</p>
210 pub fn snapshot_cluster_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
211 self.inner = self.inner.snapshot_cluster_identifier(input.into());
212 self
213 }
214 /// <p>The name of the cluster the source snapshot was created from. This parameter is required if your IAM user has a policy containing a snapshot resource element that specifies anything other than * for the cluster name.</p>
215 pub fn set_snapshot_cluster_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
216 self.inner = self.inner.set_snapshot_cluster_identifier(input);
217 self
218 }
219 /// <p>The name of the cluster the source snapshot was created from. This parameter is required if your IAM user has a policy containing a snapshot resource element that specifies anything other than * for the cluster name.</p>
220 pub fn get_snapshot_cluster_identifier(&self) -> &::std::option::Option<::std::string::String> {
221 self.inner.get_snapshot_cluster_identifier()
222 }
223 /// <p>The port number on which the cluster accepts connections.</p>
224 /// <p>Default: The same port as the original cluster.</p>
225 /// <p>Valid values: For clusters with DC2 nodes, must be within the range <code>1150</code>-<code>65535</code>. For clusters with ra3 nodes, must be within the ranges <code>5431</code>-<code>5455</code> or <code>8191</code>-<code>8215</code>.</p>
226 pub fn port(mut self, input: i32) -> Self {
227 self.inner = self.inner.port(input);
228 self
229 }
230 /// <p>The port number on which the cluster accepts connections.</p>
231 /// <p>Default: The same port as the original cluster.</p>
232 /// <p>Valid values: For clusters with DC2 nodes, must be within the range <code>1150</code>-<code>65535</code>. For clusters with ra3 nodes, must be within the ranges <code>5431</code>-<code>5455</code> or <code>8191</code>-<code>8215</code>.</p>
233 pub fn set_port(mut self, input: ::std::option::Option<i32>) -> Self {
234 self.inner = self.inner.set_port(input);
235 self
236 }
237 /// <p>The port number on which the cluster accepts connections.</p>
238 /// <p>Default: The same port as the original cluster.</p>
239 /// <p>Valid values: For clusters with DC2 nodes, must be within the range <code>1150</code>-<code>65535</code>. For clusters with ra3 nodes, must be within the ranges <code>5431</code>-<code>5455</code> or <code>8191</code>-<code>8215</code>.</p>
240 pub fn get_port(&self) -> &::std::option::Option<i32> {
241 self.inner.get_port()
242 }
243 /// <p>The Amazon EC2 Availability Zone in which to restore the cluster.</p>
244 /// <p>Default: A random, system-chosen Availability Zone.</p>
245 /// <p>Example: <code>us-east-2a</code></p>
246 pub fn availability_zone(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
247 self.inner = self.inner.availability_zone(input.into());
248 self
249 }
250 /// <p>The Amazon EC2 Availability Zone in which to restore the cluster.</p>
251 /// <p>Default: A random, system-chosen Availability Zone.</p>
252 /// <p>Example: <code>us-east-2a</code></p>
253 pub fn set_availability_zone(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
254 self.inner = self.inner.set_availability_zone(input);
255 self
256 }
257 /// <p>The Amazon EC2 Availability Zone in which to restore the cluster.</p>
258 /// <p>Default: A random, system-chosen Availability Zone.</p>
259 /// <p>Example: <code>us-east-2a</code></p>
260 pub fn get_availability_zone(&self) -> &::std::option::Option<::std::string::String> {
261 self.inner.get_availability_zone()
262 }
263 /// <p>If <code>true</code>, major version upgrades can be applied during the maintenance window to the Amazon Redshift engine that is running on the cluster.</p>
264 /// <p>Default: <code>true</code></p>
265 pub fn allow_version_upgrade(mut self, input: bool) -> Self {
266 self.inner = self.inner.allow_version_upgrade(input);
267 self
268 }
269 /// <p>If <code>true</code>, major version upgrades can be applied during the maintenance window to the Amazon Redshift engine that is running on the cluster.</p>
270 /// <p>Default: <code>true</code></p>
271 pub fn set_allow_version_upgrade(mut self, input: ::std::option::Option<bool>) -> Self {
272 self.inner = self.inner.set_allow_version_upgrade(input);
273 self
274 }
275 /// <p>If <code>true</code>, major version upgrades can be applied during the maintenance window to the Amazon Redshift engine that is running on the cluster.</p>
276 /// <p>Default: <code>true</code></p>
277 pub fn get_allow_version_upgrade(&self) -> &::std::option::Option<bool> {
278 self.inner.get_allow_version_upgrade()
279 }
280 /// <p>The name of the subnet group where you want to cluster restored.</p>
281 /// <p>A snapshot of cluster in VPC can be restored only in VPC. Therefore, you must provide subnet group name where you want the cluster restored.</p>
282 pub fn cluster_subnet_group_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
283 self.inner = self.inner.cluster_subnet_group_name(input.into());
284 self
285 }
286 /// <p>The name of the subnet group where you want to cluster restored.</p>
287 /// <p>A snapshot of cluster in VPC can be restored only in VPC. Therefore, you must provide subnet group name where you want the cluster restored.</p>
288 pub fn set_cluster_subnet_group_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
289 self.inner = self.inner.set_cluster_subnet_group_name(input);
290 self
291 }
292 /// <p>The name of the subnet group where you want to cluster restored.</p>
293 /// <p>A snapshot of cluster in VPC can be restored only in VPC. Therefore, you must provide subnet group name where you want the cluster restored.</p>
294 pub fn get_cluster_subnet_group_name(&self) -> &::std::option::Option<::std::string::String> {
295 self.inner.get_cluster_subnet_group_name()
296 }
297 /// <p>If <code>true</code>, the cluster can be accessed from a public network.</p>
298 /// <p>Default: false</p>
299 pub fn publicly_accessible(mut self, input: bool) -> Self {
300 self.inner = self.inner.publicly_accessible(input);
301 self
302 }
303 /// <p>If <code>true</code>, the cluster can be accessed from a public network.</p>
304 /// <p>Default: false</p>
305 pub fn set_publicly_accessible(mut self, input: ::std::option::Option<bool>) -> Self {
306 self.inner = self.inner.set_publicly_accessible(input);
307 self
308 }
309 /// <p>If <code>true</code>, the cluster can be accessed from a public network.</p>
310 /// <p>Default: false</p>
311 pub fn get_publicly_accessible(&self) -> &::std::option::Option<bool> {
312 self.inner.get_publicly_accessible()
313 }
314 /// <p>The Amazon Web Services account used to create or copy the snapshot. Required if you are restoring a snapshot you do not own, optional if you own the snapshot.</p>
315 pub fn owner_account(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
316 self.inner = self.inner.owner_account(input.into());
317 self
318 }
319 /// <p>The Amazon Web Services account used to create or copy the snapshot. Required if you are restoring a snapshot you do not own, optional if you own the snapshot.</p>
320 pub fn set_owner_account(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
321 self.inner = self.inner.set_owner_account(input);
322 self
323 }
324 /// <p>The Amazon Web Services account used to create or copy the snapshot. Required if you are restoring a snapshot you do not own, optional if you own the snapshot.</p>
325 pub fn get_owner_account(&self) -> &::std::option::Option<::std::string::String> {
326 self.inner.get_owner_account()
327 }
328 /// <p>Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to retrieve the data encryption keys stored in an HSM.</p>
329 pub fn hsm_client_certificate_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
330 self.inner = self.inner.hsm_client_certificate_identifier(input.into());
331 self
332 }
333 /// <p>Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to retrieve the data encryption keys stored in an HSM.</p>
334 pub fn set_hsm_client_certificate_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
335 self.inner = self.inner.set_hsm_client_certificate_identifier(input);
336 self
337 }
338 /// <p>Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to retrieve the data encryption keys stored in an HSM.</p>
339 pub fn get_hsm_client_certificate_identifier(&self) -> &::std::option::Option<::std::string::String> {
340 self.inner.get_hsm_client_certificate_identifier()
341 }
342 /// <p>Specifies the name of the HSM configuration that contains the information the Amazon Redshift cluster can use to retrieve and store keys in an HSM.</p>
343 pub fn hsm_configuration_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
344 self.inner = self.inner.hsm_configuration_identifier(input.into());
345 self
346 }
347 /// <p>Specifies the name of the HSM configuration that contains the information the Amazon Redshift cluster can use to retrieve and store keys in an HSM.</p>
348 pub fn set_hsm_configuration_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
349 self.inner = self.inner.set_hsm_configuration_identifier(input);
350 self
351 }
352 /// <p>Specifies the name of the HSM configuration that contains the information the Amazon Redshift cluster can use to retrieve and store keys in an HSM.</p>
353 pub fn get_hsm_configuration_identifier(&self) -> &::std::option::Option<::std::string::String> {
354 self.inner.get_hsm_configuration_identifier()
355 }
356 /// <p>The Elastic IP (EIP) address for the cluster. Don't specify the Elastic IP address for a publicly accessible cluster with availability zone relocation turned on.</p>
357 pub fn elastic_ip(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
358 self.inner = self.inner.elastic_ip(input.into());
359 self
360 }
361 /// <p>The Elastic IP (EIP) address for the cluster. Don't specify the Elastic IP address for a publicly accessible cluster with availability zone relocation turned on.</p>
362 pub fn set_elastic_ip(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
363 self.inner = self.inner.set_elastic_ip(input);
364 self
365 }
366 /// <p>The Elastic IP (EIP) address for the cluster. Don't specify the Elastic IP address for a publicly accessible cluster with availability zone relocation turned on.</p>
367 pub fn get_elastic_ip(&self) -> &::std::option::Option<::std::string::String> {
368 self.inner.get_elastic_ip()
369 }
370 /// <p>The name of the parameter group to be associated with this cluster.</p>
371 /// <p>Default: The default Amazon Redshift cluster parameter group. For information about the default parameter group, go to <a href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html">Working with Amazon Redshift Parameter Groups</a>.</p>
372 /// <p>Constraints:</p>
373 /// <ul>
374 /// <li>
375 /// <p>Must be 1 to 255 alphanumeric characters or hyphens.</p></li>
376 /// <li>
377 /// <p>First character must be a letter.</p></li>
378 /// <li>
379 /// <p>Cannot end with a hyphen or contain two consecutive hyphens.</p></li>
380 /// </ul>
381 pub fn cluster_parameter_group_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
382 self.inner = self.inner.cluster_parameter_group_name(input.into());
383 self
384 }
385 /// <p>The name of the parameter group to be associated with this cluster.</p>
386 /// <p>Default: The default Amazon Redshift cluster parameter group. For information about the default parameter group, go to <a href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html">Working with Amazon Redshift Parameter Groups</a>.</p>
387 /// <p>Constraints:</p>
388 /// <ul>
389 /// <li>
390 /// <p>Must be 1 to 255 alphanumeric characters or hyphens.</p></li>
391 /// <li>
392 /// <p>First character must be a letter.</p></li>
393 /// <li>
394 /// <p>Cannot end with a hyphen or contain two consecutive hyphens.</p></li>
395 /// </ul>
396 pub fn set_cluster_parameter_group_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
397 self.inner = self.inner.set_cluster_parameter_group_name(input);
398 self
399 }
400 /// <p>The name of the parameter group to be associated with this cluster.</p>
401 /// <p>Default: The default Amazon Redshift cluster parameter group. For information about the default parameter group, go to <a href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html">Working with Amazon Redshift Parameter Groups</a>.</p>
402 /// <p>Constraints:</p>
403 /// <ul>
404 /// <li>
405 /// <p>Must be 1 to 255 alphanumeric characters or hyphens.</p></li>
406 /// <li>
407 /// <p>First character must be a letter.</p></li>
408 /// <li>
409 /// <p>Cannot end with a hyphen or contain two consecutive hyphens.</p></li>
410 /// </ul>
411 pub fn get_cluster_parameter_group_name(&self) -> &::std::option::Option<::std::string::String> {
412 self.inner.get_cluster_parameter_group_name()
413 }
414 ///
415 /// Appends an item to `ClusterSecurityGroups`.
416 ///
417 /// To override the contents of this collection use [`set_cluster_security_groups`](Self::set_cluster_security_groups).
418 ///
419 /// <p>A list of security groups to be associated with this cluster.</p>
420 /// <p>Default: The default cluster security group for Amazon Redshift.</p>
421 /// <p>Cluster security groups only apply to clusters outside of VPCs.</p>
422 pub fn cluster_security_groups(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
423 self.inner = self.inner.cluster_security_groups(input.into());
424 self
425 }
426 /// <p>A list of security groups to be associated with this cluster.</p>
427 /// <p>Default: The default cluster security group for Amazon Redshift.</p>
428 /// <p>Cluster security groups only apply to clusters outside of VPCs.</p>
429 pub fn set_cluster_security_groups(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
430 self.inner = self.inner.set_cluster_security_groups(input);
431 self
432 }
433 /// <p>A list of security groups to be associated with this cluster.</p>
434 /// <p>Default: The default cluster security group for Amazon Redshift.</p>
435 /// <p>Cluster security groups only apply to clusters outside of VPCs.</p>
436 pub fn get_cluster_security_groups(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
437 self.inner.get_cluster_security_groups()
438 }
439 ///
440 /// Appends an item to `VpcSecurityGroupIds`.
441 ///
442 /// To override the contents of this collection use [`set_vpc_security_group_ids`](Self::set_vpc_security_group_ids).
443 ///
444 /// <p>A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster.</p>
445 /// <p>Default: The default VPC security group is associated with the cluster.</p>
446 /// <p>VPC security groups only apply to clusters in VPCs.</p>
447 pub fn vpc_security_group_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
448 self.inner = self.inner.vpc_security_group_ids(input.into());
449 self
450 }
451 /// <p>A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster.</p>
452 /// <p>Default: The default VPC security group is associated with the cluster.</p>
453 /// <p>VPC security groups only apply to clusters in VPCs.</p>
454 pub fn set_vpc_security_group_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
455 self.inner = self.inner.set_vpc_security_group_ids(input);
456 self
457 }
458 /// <p>A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster.</p>
459 /// <p>Default: The default VPC security group is associated with the cluster.</p>
460 /// <p>VPC security groups only apply to clusters in VPCs.</p>
461 pub fn get_vpc_security_group_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
462 self.inner.get_vpc_security_group_ids()
463 }
464 /// <p>The weekly time range (in UTC) during which automated cluster maintenance can occur.</p>
465 /// <p>Format: <code>ddd:hh24:mi-ddd:hh24:mi</code></p>
466 /// <p>Default: The value selected for the cluster from which the snapshot was taken. For more information about the time blocks for each region, see <a href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-maintenance-windows">Maintenance Windows</a> in Amazon Redshift Cluster Management Guide.</p>
467 /// <p>Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun</p>
468 /// <p>Constraints: Minimum 30-minute window.</p>
469 pub fn preferred_maintenance_window(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
470 self.inner = self.inner.preferred_maintenance_window(input.into());
471 self
472 }
473 /// <p>The weekly time range (in UTC) during which automated cluster maintenance can occur.</p>
474 /// <p>Format: <code>ddd:hh24:mi-ddd:hh24:mi</code></p>
475 /// <p>Default: The value selected for the cluster from which the snapshot was taken. For more information about the time blocks for each region, see <a href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-maintenance-windows">Maintenance Windows</a> in Amazon Redshift Cluster Management Guide.</p>
476 /// <p>Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun</p>
477 /// <p>Constraints: Minimum 30-minute window.</p>
478 pub fn set_preferred_maintenance_window(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
479 self.inner = self.inner.set_preferred_maintenance_window(input);
480 self
481 }
482 /// <p>The weekly time range (in UTC) during which automated cluster maintenance can occur.</p>
483 /// <p>Format: <code>ddd:hh24:mi-ddd:hh24:mi</code></p>
484 /// <p>Default: The value selected for the cluster from which the snapshot was taken. For more information about the time blocks for each region, see <a href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-maintenance-windows">Maintenance Windows</a> in Amazon Redshift Cluster Management Guide.</p>
485 /// <p>Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun</p>
486 /// <p>Constraints: Minimum 30-minute window.</p>
487 pub fn get_preferred_maintenance_window(&self) -> &::std::option::Option<::std::string::String> {
488 self.inner.get_preferred_maintenance_window()
489 }
490 /// <p>The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with <code>CreateClusterSnapshot</code>.</p>
491 /// <p>You can't disable automated snapshots for RA3 node types. Set the automated retention period from 1-35 days.</p>
492 /// <p>Default: The value selected for the cluster from which the snapshot was taken.</p>
493 /// <p>Constraints: Must be a value from 0 to 35.</p>
494 pub fn automated_snapshot_retention_period(mut self, input: i32) -> Self {
495 self.inner = self.inner.automated_snapshot_retention_period(input);
496 self
497 }
498 /// <p>The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with <code>CreateClusterSnapshot</code>.</p>
499 /// <p>You can't disable automated snapshots for RA3 node types. Set the automated retention period from 1-35 days.</p>
500 /// <p>Default: The value selected for the cluster from which the snapshot was taken.</p>
501 /// <p>Constraints: Must be a value from 0 to 35.</p>
502 pub fn set_automated_snapshot_retention_period(mut self, input: ::std::option::Option<i32>) -> Self {
503 self.inner = self.inner.set_automated_snapshot_retention_period(input);
504 self
505 }
506 /// <p>The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with <code>CreateClusterSnapshot</code>.</p>
507 /// <p>You can't disable automated snapshots for RA3 node types. Set the automated retention period from 1-35 days.</p>
508 /// <p>Default: The value selected for the cluster from which the snapshot was taken.</p>
509 /// <p>Constraints: Must be a value from 0 to 35.</p>
510 pub fn get_automated_snapshot_retention_period(&self) -> &::std::option::Option<i32> {
511 self.inner.get_automated_snapshot_retention_period()
512 }
513 /// <p>The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots.</p>
514 /// <p>The value must be either -1 or an integer between 1 and 3,653.</p>
515 pub fn manual_snapshot_retention_period(mut self, input: i32) -> Self {
516 self.inner = self.inner.manual_snapshot_retention_period(input);
517 self
518 }
519 /// <p>The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots.</p>
520 /// <p>The value must be either -1 or an integer between 1 and 3,653.</p>
521 pub fn set_manual_snapshot_retention_period(mut self, input: ::std::option::Option<i32>) -> Self {
522 self.inner = self.inner.set_manual_snapshot_retention_period(input);
523 self
524 }
525 /// <p>The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots.</p>
526 /// <p>The value must be either -1 or an integer between 1 and 3,653.</p>
527 pub fn get_manual_snapshot_retention_period(&self) -> &::std::option::Option<i32> {
528 self.inner.get_manual_snapshot_retention_period()
529 }
530 /// <p>The Key Management Service (KMS) key ID of the encryption key that encrypts data in the cluster restored from a shared snapshot. You can also provide the key ID when you restore from an unencrypted snapshot to an encrypted cluster in the same account. Additionally, you can specify a new KMS key ID when you restore from an encrypted snapshot in the same account in order to change it. In that case, the restored cluster is encrypted with the new KMS key ID.</p>
531 pub fn kms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
532 self.inner = self.inner.kms_key_id(input.into());
533 self
534 }
535 /// <p>The Key Management Service (KMS) key ID of the encryption key that encrypts data in the cluster restored from a shared snapshot. You can also provide the key ID when you restore from an unencrypted snapshot to an encrypted cluster in the same account. Additionally, you can specify a new KMS key ID when you restore from an encrypted snapshot in the same account in order to change it. In that case, the restored cluster is encrypted with the new KMS key ID.</p>
536 pub fn set_kms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
537 self.inner = self.inner.set_kms_key_id(input);
538 self
539 }
540 /// <p>The Key Management Service (KMS) key ID of the encryption key that encrypts data in the cluster restored from a shared snapshot. You can also provide the key ID when you restore from an unencrypted snapshot to an encrypted cluster in the same account. Additionally, you can specify a new KMS key ID when you restore from an encrypted snapshot in the same account in order to change it. In that case, the restored cluster is encrypted with the new KMS key ID.</p>
541 pub fn get_kms_key_id(&self) -> &::std::option::Option<::std::string::String> {
542 self.inner.get_kms_key_id()
543 }
544 /// <p>The node type that the restored cluster will be provisioned with.</p>
545 /// <p>If you have a DC instance type, you must restore into that same instance type and size. In other words, you can only restore a dc2.large node type into another dc2 type. For more information about node types, see <a href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-about-clusters-and-nodes"> About Clusters and Nodes</a> in the <i>Amazon Redshift Cluster Management Guide</i>.</p>
546 pub fn node_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
547 self.inner = self.inner.node_type(input.into());
548 self
549 }
550 /// <p>The node type that the restored cluster will be provisioned with.</p>
551 /// <p>If you have a DC instance type, you must restore into that same instance type and size. In other words, you can only restore a dc2.large node type into another dc2 type. For more information about node types, see <a href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-about-clusters-and-nodes"> About Clusters and Nodes</a> in the <i>Amazon Redshift Cluster Management Guide</i>.</p>
552 pub fn set_node_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
553 self.inner = self.inner.set_node_type(input);
554 self
555 }
556 /// <p>The node type that the restored cluster will be provisioned with.</p>
557 /// <p>If you have a DC instance type, you must restore into that same instance type and size. In other words, you can only restore a dc2.large node type into another dc2 type. For more information about node types, see <a href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-about-clusters-and-nodes"> About Clusters and Nodes</a> in the <i>Amazon Redshift Cluster Management Guide</i>.</p>
558 pub fn get_node_type(&self) -> &::std::option::Option<::std::string::String> {
559 self.inner.get_node_type()
560 }
561 /// <p>An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see <a href="https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html">Enhanced VPC Routing</a> in the Amazon Redshift Cluster Management Guide.</p>
562 /// <p>If this option is <code>true</code>, enhanced VPC routing is enabled.</p>
563 /// <p>Default: false</p>
564 pub fn enhanced_vpc_routing(mut self, input: bool) -> Self {
565 self.inner = self.inner.enhanced_vpc_routing(input);
566 self
567 }
568 /// <p>An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see <a href="https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html">Enhanced VPC Routing</a> in the Amazon Redshift Cluster Management Guide.</p>
569 /// <p>If this option is <code>true</code>, enhanced VPC routing is enabled.</p>
570 /// <p>Default: false</p>
571 pub fn set_enhanced_vpc_routing(mut self, input: ::std::option::Option<bool>) -> Self {
572 self.inner = self.inner.set_enhanced_vpc_routing(input);
573 self
574 }
575 /// <p>An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see <a href="https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html">Enhanced VPC Routing</a> in the Amazon Redshift Cluster Management Guide.</p>
576 /// <p>If this option is <code>true</code>, enhanced VPC routing is enabled.</p>
577 /// <p>Default: false</p>
578 pub fn get_enhanced_vpc_routing(&self) -> &::std::option::Option<bool> {
579 self.inner.get_enhanced_vpc_routing()
580 }
581 /// <p>Reserved.</p>
582 pub fn additional_info(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
583 self.inner = self.inner.additional_info(input.into());
584 self
585 }
586 /// <p>Reserved.</p>
587 pub fn set_additional_info(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
588 self.inner = self.inner.set_additional_info(input);
589 self
590 }
591 /// <p>Reserved.</p>
592 pub fn get_additional_info(&self) -> &::std::option::Option<::std::string::String> {
593 self.inner.get_additional_info()
594 }
595 ///
596 /// Appends an item to `IamRoles`.
597 ///
598 /// To override the contents of this collection use [`set_iam_roles`](Self::set_iam_roles).
599 ///
600 /// <p>A list of Identity and Access Management (IAM) roles that can be used by the cluster to access other Amazon Web Services services. You must supply the IAM roles in their Amazon Resource Name (ARN) format.</p>
601 /// <p>The maximum number of IAM roles that you can associate is subject to a quota. For more information, go to <a href="https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html">Quotas and limits</a> in the <i>Amazon Redshift Cluster Management Guide</i>.</p>
602 pub fn iam_roles(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
603 self.inner = self.inner.iam_roles(input.into());
604 self
605 }
606 /// <p>A list of Identity and Access Management (IAM) roles that can be used by the cluster to access other Amazon Web Services services. You must supply the IAM roles in their Amazon Resource Name (ARN) format.</p>
607 /// <p>The maximum number of IAM roles that you can associate is subject to a quota. For more information, go to <a href="https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html">Quotas and limits</a> in the <i>Amazon Redshift Cluster Management Guide</i>.</p>
608 pub fn set_iam_roles(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
609 self.inner = self.inner.set_iam_roles(input);
610 self
611 }
612 /// <p>A list of Identity and Access Management (IAM) roles that can be used by the cluster to access other Amazon Web Services services. You must supply the IAM roles in their Amazon Resource Name (ARN) format.</p>
613 /// <p>The maximum number of IAM roles that you can associate is subject to a quota. For more information, go to <a href="https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html">Quotas and limits</a> in the <i>Amazon Redshift Cluster Management Guide</i>.</p>
614 pub fn get_iam_roles(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
615 self.inner.get_iam_roles()
616 }
617 /// <p>The name of the maintenance track for the restored cluster. When you take a snapshot, the snapshot inherits the <code>MaintenanceTrack</code> value from the cluster. The snapshot might be on a different track than the cluster that was the source for the snapshot. For example, suppose that you take a snapshot of a cluster that is on the current track and then change the cluster to be on the trailing track. In this case, the snapshot and the source cluster are on different tracks.</p>
618 pub fn maintenance_track_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
619 self.inner = self.inner.maintenance_track_name(input.into());
620 self
621 }
622 /// <p>The name of the maintenance track for the restored cluster. When you take a snapshot, the snapshot inherits the <code>MaintenanceTrack</code> value from the cluster. The snapshot might be on a different track than the cluster that was the source for the snapshot. For example, suppose that you take a snapshot of a cluster that is on the current track and then change the cluster to be on the trailing track. In this case, the snapshot and the source cluster are on different tracks.</p>
623 pub fn set_maintenance_track_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
624 self.inner = self.inner.set_maintenance_track_name(input);
625 self
626 }
627 /// <p>The name of the maintenance track for the restored cluster. When you take a snapshot, the snapshot inherits the <code>MaintenanceTrack</code> value from the cluster. The snapshot might be on a different track than the cluster that was the source for the snapshot. For example, suppose that you take a snapshot of a cluster that is on the current track and then change the cluster to be on the trailing track. In this case, the snapshot and the source cluster are on different tracks.</p>
628 pub fn get_maintenance_track_name(&self) -> &::std::option::Option<::std::string::String> {
629 self.inner.get_maintenance_track_name()
630 }
631 /// <p>A unique identifier for the snapshot schedule.</p>
632 pub fn snapshot_schedule_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
633 self.inner = self.inner.snapshot_schedule_identifier(input.into());
634 self
635 }
636 /// <p>A unique identifier for the snapshot schedule.</p>
637 pub fn set_snapshot_schedule_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
638 self.inner = self.inner.set_snapshot_schedule_identifier(input);
639 self
640 }
641 /// <p>A unique identifier for the snapshot schedule.</p>
642 pub fn get_snapshot_schedule_identifier(&self) -> &::std::option::Option<::std::string::String> {
643 self.inner.get_snapshot_schedule_identifier()
644 }
645 /// <p>The number of nodes specified when provisioning the restored cluster.</p>
646 pub fn number_of_nodes(mut self, input: i32) -> Self {
647 self.inner = self.inner.number_of_nodes(input);
648 self
649 }
650 /// <p>The number of nodes specified when provisioning the restored cluster.</p>
651 pub fn set_number_of_nodes(mut self, input: ::std::option::Option<i32>) -> Self {
652 self.inner = self.inner.set_number_of_nodes(input);
653 self
654 }
655 /// <p>The number of nodes specified when provisioning the restored cluster.</p>
656 pub fn get_number_of_nodes(&self) -> &::std::option::Option<i32> {
657 self.inner.get_number_of_nodes()
658 }
659 /// <p>The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster is restored.</p>
660 pub fn availability_zone_relocation(mut self, input: bool) -> Self {
661 self.inner = self.inner.availability_zone_relocation(input);
662 self
663 }
664 /// <p>The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster is restored.</p>
665 pub fn set_availability_zone_relocation(mut self, input: ::std::option::Option<bool>) -> Self {
666 self.inner = self.inner.set_availability_zone_relocation(input);
667 self
668 }
669 /// <p>The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster is restored.</p>
670 pub fn get_availability_zone_relocation(&self) -> &::std::option::Option<bool> {
671 self.inner.get_availability_zone_relocation()
672 }
673 /// <p>This parameter is retired. It does not set the AQUA configuration status. Amazon Redshift automatically determines whether to use AQUA (Advanced Query Accelerator).</p>
674 pub fn aqua_configuration_status(mut self, input: crate::types::AquaConfigurationStatus) -> Self {
675 self.inner = self.inner.aqua_configuration_status(input);
676 self
677 }
678 /// <p>This parameter is retired. It does not set the AQUA configuration status. Amazon Redshift automatically determines whether to use AQUA (Advanced Query Accelerator).</p>
679 pub fn set_aqua_configuration_status(mut self, input: ::std::option::Option<crate::types::AquaConfigurationStatus>) -> Self {
680 self.inner = self.inner.set_aqua_configuration_status(input);
681 self
682 }
683 /// <p>This parameter is retired. It does not set the AQUA configuration status. Amazon Redshift automatically determines whether to use AQUA (Advanced Query Accelerator).</p>
684 pub fn get_aqua_configuration_status(&self) -> &::std::option::Option<crate::types::AquaConfigurationStatus> {
685 self.inner.get_aqua_configuration_status()
686 }
687 /// <p>The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster was last modified while it was restored from a snapshot.</p>
688 pub fn default_iam_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
689 self.inner = self.inner.default_iam_role_arn(input.into());
690 self
691 }
692 /// <p>The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster was last modified while it was restored from a snapshot.</p>
693 pub fn set_default_iam_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
694 self.inner = self.inner.set_default_iam_role_arn(input);
695 self
696 }
697 /// <p>The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster was last modified while it was restored from a snapshot.</p>
698 pub fn get_default_iam_role_arn(&self) -> &::std::option::Option<::std::string::String> {
699 self.inner.get_default_iam_role_arn()
700 }
701 /// <p>The identifier of the target reserved node offering.</p>
702 pub fn reserved_node_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
703 self.inner = self.inner.reserved_node_id(input.into());
704 self
705 }
706 /// <p>The identifier of the target reserved node offering.</p>
707 pub fn set_reserved_node_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
708 self.inner = self.inner.set_reserved_node_id(input);
709 self
710 }
711 /// <p>The identifier of the target reserved node offering.</p>
712 pub fn get_reserved_node_id(&self) -> &::std::option::Option<::std::string::String> {
713 self.inner.get_reserved_node_id()
714 }
715 /// <p>The identifier of the target reserved node offering.</p>
716 pub fn target_reserved_node_offering_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
717 self.inner = self.inner.target_reserved_node_offering_id(input.into());
718 self
719 }
720 /// <p>The identifier of the target reserved node offering.</p>
721 pub fn set_target_reserved_node_offering_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
722 self.inner = self.inner.set_target_reserved_node_offering_id(input);
723 self
724 }
725 /// <p>The identifier of the target reserved node offering.</p>
726 pub fn get_target_reserved_node_offering_id(&self) -> &::std::option::Option<::std::string::String> {
727 self.inner.get_target_reserved_node_offering_id()
728 }
729 /// <p>Enables support for restoring an unencrypted snapshot to a cluster encrypted with Key Management Service (KMS) and a customer managed key.</p>
730 pub fn encrypted(mut self, input: bool) -> Self {
731 self.inner = self.inner.encrypted(input);
732 self
733 }
734 /// <p>Enables support for restoring an unencrypted snapshot to a cluster encrypted with Key Management Service (KMS) and a customer managed key.</p>
735 pub fn set_encrypted(mut self, input: ::std::option::Option<bool>) -> Self {
736 self.inner = self.inner.set_encrypted(input);
737 self
738 }
739 /// <p>Enables support for restoring an unencrypted snapshot to a cluster encrypted with Key Management Service (KMS) and a customer managed key.</p>
740 pub fn get_encrypted(&self) -> &::std::option::Option<bool> {
741 self.inner.get_encrypted()
742 }
743 /// <p>If <code>true</code>, Amazon Redshift uses Secrets Manager to manage the restored cluster's admin credentials. If <code>ManageMasterPassword</code> is false or not set, Amazon Redshift uses the admin credentials the cluster had at the time the snapshot was taken.</p>
744 pub fn manage_master_password(mut self, input: bool) -> Self {
745 self.inner = self.inner.manage_master_password(input);
746 self
747 }
748 /// <p>If <code>true</code>, Amazon Redshift uses Secrets Manager to manage the restored cluster's admin credentials. If <code>ManageMasterPassword</code> is false or not set, Amazon Redshift uses the admin credentials the cluster had at the time the snapshot was taken.</p>
749 pub fn set_manage_master_password(mut self, input: ::std::option::Option<bool>) -> Self {
750 self.inner = self.inner.set_manage_master_password(input);
751 self
752 }
753 /// <p>If <code>true</code>, Amazon Redshift uses Secrets Manager to manage the restored cluster's admin credentials. If <code>ManageMasterPassword</code> is false or not set, Amazon Redshift uses the admin credentials the cluster had at the time the snapshot was taken.</p>
754 pub fn get_manage_master_password(&self) -> &::std::option::Option<bool> {
755 self.inner.get_manage_master_password()
756 }
757 /// <p>The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials secret. You can only use this parameter if <code>ManageMasterPassword</code> is true.</p>
758 pub fn master_password_secret_kms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
759 self.inner = self.inner.master_password_secret_kms_key_id(input.into());
760 self
761 }
762 /// <p>The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials secret. You can only use this parameter if <code>ManageMasterPassword</code> is true.</p>
763 pub fn set_master_password_secret_kms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
764 self.inner = self.inner.set_master_password_secret_kms_key_id(input);
765 self
766 }
767 /// <p>The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials secret. You can only use this parameter if <code>ManageMasterPassword</code> is true.</p>
768 pub fn get_master_password_secret_kms_key_id(&self) -> &::std::option::Option<::std::string::String> {
769 self.inner.get_master_password_secret_kms_key_id()
770 }
771 /// <p>The IP address type for the cluster. Possible values are <code>ipv4</code> and <code>dualstack</code>.</p>
772 pub fn ip_address_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
773 self.inner = self.inner.ip_address_type(input.into());
774 self
775 }
776 /// <p>The IP address type for the cluster. Possible values are <code>ipv4</code> and <code>dualstack</code>.</p>
777 pub fn set_ip_address_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
778 self.inner = self.inner.set_ip_address_type(input);
779 self
780 }
781 /// <p>The IP address type for the cluster. Possible values are <code>ipv4</code> and <code>dualstack</code>.</p>
782 pub fn get_ip_address_type(&self) -> &::std::option::Option<::std::string::String> {
783 self.inner.get_ip_address_type()
784 }
785 /// <p>If true, the snapshot will be restored to a cluster deployed in two Availability Zones.</p>
786 pub fn multi_az(mut self, input: bool) -> Self {
787 self.inner = self.inner.multi_az(input);
788 self
789 }
790 /// <p>If true, the snapshot will be restored to a cluster deployed in two Availability Zones.</p>
791 pub fn set_multi_az(mut self, input: ::std::option::Option<bool>) -> Self {
792 self.inner = self.inner.set_multi_az(input);
793 self
794 }
795 /// <p>If true, the snapshot will be restored to a cluster deployed in two Availability Zones.</p>
796 pub fn get_multi_az(&self) -> &::std::option::Option<bool> {
797 self.inner.get_multi_az()
798 }
799}