aws_sdk_docdb/operation/restore_db_cluster_from_snapshot/builders.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::restore_db_cluster_from_snapshot::_restore_db_cluster_from_snapshot_output::RestoreDbClusterFromSnapshotOutputBuilder;
3
4pub use crate::operation::restore_db_cluster_from_snapshot::_restore_db_cluster_from_snapshot_input::RestoreDbClusterFromSnapshotInputBuilder;
5
6impl crate::operation::restore_db_cluster_from_snapshot::builders::RestoreDbClusterFromSnapshotInputBuilder {
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_db_cluster_from_snapshot::RestoreDbClusterFromSnapshotOutput,
13 ::aws_smithy_runtime_api::client::result::SdkError<
14 crate::operation::restore_db_cluster_from_snapshot::RestoreDBClusterFromSnapshotError,
15 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16 >,
17 > {
18 let mut fluent_builder = client.restore_db_cluster_from_snapshot();
19 fluent_builder.inner = self;
20 fluent_builder.send().await
21 }
22}
23/// Fluent builder constructing a request to `RestoreDBClusterFromSnapshot`.
24///
25/// <p>Creates a new cluster from a snapshot or cluster snapshot.</p>
26/// <p>If a snapshot is specified, the target cluster is created from the source DB snapshot with a default configuration and default security group.</p>
27/// <p>If a cluster snapshot is specified, the target cluster is created from the source cluster restore point with the same configuration as the original source DB cluster, except that the new cluster is created with the default security group.</p>
28#[derive(::std::clone::Clone, ::std::fmt::Debug)]
29pub struct RestoreDBClusterFromSnapshotFluentBuilder {
30 handle: ::std::sync::Arc<crate::client::Handle>,
31 inner: crate::operation::restore_db_cluster_from_snapshot::builders::RestoreDbClusterFromSnapshotInputBuilder,
32 config_override: ::std::option::Option<crate::config::Builder>,
33}
34impl
35 crate::client::customize::internal::CustomizableSend<
36 crate::operation::restore_db_cluster_from_snapshot::RestoreDbClusterFromSnapshotOutput,
37 crate::operation::restore_db_cluster_from_snapshot::RestoreDBClusterFromSnapshotError,
38 > for RestoreDBClusterFromSnapshotFluentBuilder
39{
40 fn send(
41 self,
42 config_override: crate::config::Builder,
43 ) -> crate::client::customize::internal::BoxFuture<
44 crate::client::customize::internal::SendResult<
45 crate::operation::restore_db_cluster_from_snapshot::RestoreDbClusterFromSnapshotOutput,
46 crate::operation::restore_db_cluster_from_snapshot::RestoreDBClusterFromSnapshotError,
47 >,
48 > {
49 ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
50 }
51}
52impl RestoreDBClusterFromSnapshotFluentBuilder {
53 /// Creates a new `RestoreDBClusterFromSnapshotFluentBuilder`.
54 pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
55 Self {
56 handle,
57 inner: ::std::default::Default::default(),
58 config_override: ::std::option::Option::None,
59 }
60 }
61 /// Access the RestoreDBClusterFromSnapshot as a reference.
62 pub fn as_input(&self) -> &crate::operation::restore_db_cluster_from_snapshot::builders::RestoreDbClusterFromSnapshotInputBuilder {
63 &self.inner
64 }
65 /// Sends the request and returns the response.
66 ///
67 /// If an error occurs, an `SdkError` will be returned with additional details that
68 /// can be matched against.
69 ///
70 /// By default, any retryable failures will be retried twice. Retry behavior
71 /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
72 /// set when configuring the client.
73 pub async fn send(
74 self,
75 ) -> ::std::result::Result<
76 crate::operation::restore_db_cluster_from_snapshot::RestoreDbClusterFromSnapshotOutput,
77 ::aws_smithy_runtime_api::client::result::SdkError<
78 crate::operation::restore_db_cluster_from_snapshot::RestoreDBClusterFromSnapshotError,
79 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
80 >,
81 > {
82 let input = self
83 .inner
84 .build()
85 .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
86 let runtime_plugins = crate::operation::restore_db_cluster_from_snapshot::RestoreDBClusterFromSnapshot::operation_runtime_plugins(
87 self.handle.runtime_plugins.clone(),
88 &self.handle.conf,
89 self.config_override,
90 );
91 crate::operation::restore_db_cluster_from_snapshot::RestoreDBClusterFromSnapshot::orchestrate(&runtime_plugins, input).await
92 }
93
94 /// Consumes this builder, creating a customizable operation that can be modified before being sent.
95 pub fn customize(
96 self,
97 ) -> crate::client::customize::CustomizableOperation<
98 crate::operation::restore_db_cluster_from_snapshot::RestoreDbClusterFromSnapshotOutput,
99 crate::operation::restore_db_cluster_from_snapshot::RestoreDBClusterFromSnapshotError,
100 Self,
101 > {
102 crate::client::customize::CustomizableOperation::new(self)
103 }
104 pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
105 self.set_config_override(::std::option::Option::Some(config_override.into()));
106 self
107 }
108
109 pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
110 self.config_override = config_override;
111 self
112 }
113 ///
114 /// Appends an item to `AvailabilityZones`.
115 ///
116 /// To override the contents of this collection use [`set_availability_zones`](Self::set_availability_zones).
117 ///
118 /// <p>Provides the list of Amazon EC2 Availability Zones that instances in the restored DB cluster can be created in.</p>
119 pub fn availability_zones(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
120 self.inner = self.inner.availability_zones(input.into());
121 self
122 }
123 /// <p>Provides the list of Amazon EC2 Availability Zones that instances in the restored DB cluster can be created in.</p>
124 pub fn set_availability_zones(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
125 self.inner = self.inner.set_availability_zones(input);
126 self
127 }
128 /// <p>Provides the list of Amazon EC2 Availability Zones that instances in the restored DB cluster can be created in.</p>
129 pub fn get_availability_zones(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
130 self.inner.get_availability_zones()
131 }
132 /// <p>The name of the cluster to create from the snapshot or cluster snapshot. This parameter isn't case sensitive.</p>
133 /// <p>Constraints:</p>
134 /// <ul>
135 /// <li>
136 /// <p>Must contain from 1 to 63 letters, numbers, or hyphens.</p></li>
137 /// <li>
138 /// <p>The first character must be a letter.</p></li>
139 /// <li>
140 /// <p>Cannot end with a hyphen or contain two consecutive hyphens.</p></li>
141 /// </ul>
142 /// <p>Example: <code>my-snapshot-id</code></p>
143 pub fn db_cluster_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
144 self.inner = self.inner.db_cluster_identifier(input.into());
145 self
146 }
147 /// <p>The name of the cluster to create from the snapshot or cluster snapshot. This parameter isn't case sensitive.</p>
148 /// <p>Constraints:</p>
149 /// <ul>
150 /// <li>
151 /// <p>Must contain from 1 to 63 letters, numbers, or hyphens.</p></li>
152 /// <li>
153 /// <p>The first character must be a letter.</p></li>
154 /// <li>
155 /// <p>Cannot end with a hyphen or contain two consecutive hyphens.</p></li>
156 /// </ul>
157 /// <p>Example: <code>my-snapshot-id</code></p>
158 pub fn set_db_cluster_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
159 self.inner = self.inner.set_db_cluster_identifier(input);
160 self
161 }
162 /// <p>The name of the cluster to create from the snapshot or cluster snapshot. This parameter isn't case sensitive.</p>
163 /// <p>Constraints:</p>
164 /// <ul>
165 /// <li>
166 /// <p>Must contain from 1 to 63 letters, numbers, or hyphens.</p></li>
167 /// <li>
168 /// <p>The first character must be a letter.</p></li>
169 /// <li>
170 /// <p>Cannot end with a hyphen or contain two consecutive hyphens.</p></li>
171 /// </ul>
172 /// <p>Example: <code>my-snapshot-id</code></p>
173 pub fn get_db_cluster_identifier(&self) -> &::std::option::Option<::std::string::String> {
174 self.inner.get_db_cluster_identifier()
175 }
176 /// <p>The identifier for the snapshot or cluster snapshot to restore from.</p>
177 /// <p>You can use either the name or the Amazon Resource Name (ARN) to specify a cluster snapshot. However, you can use only the ARN to specify a snapshot.</p>
178 /// <p>Constraints:</p>
179 /// <ul>
180 /// <li>
181 /// <p>Must match the identifier of an existing snapshot.</p></li>
182 /// </ul>
183 pub fn snapshot_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
184 self.inner = self.inner.snapshot_identifier(input.into());
185 self
186 }
187 /// <p>The identifier for the snapshot or cluster snapshot to restore from.</p>
188 /// <p>You can use either the name or the Amazon Resource Name (ARN) to specify a cluster snapshot. However, you can use only the ARN to specify a snapshot.</p>
189 /// <p>Constraints:</p>
190 /// <ul>
191 /// <li>
192 /// <p>Must match the identifier of an existing snapshot.</p></li>
193 /// </ul>
194 pub fn set_snapshot_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
195 self.inner = self.inner.set_snapshot_identifier(input);
196 self
197 }
198 /// <p>The identifier for the snapshot or cluster snapshot to restore from.</p>
199 /// <p>You can use either the name or the Amazon Resource Name (ARN) to specify a cluster snapshot. However, you can use only the ARN to specify a snapshot.</p>
200 /// <p>Constraints:</p>
201 /// <ul>
202 /// <li>
203 /// <p>Must match the identifier of an existing snapshot.</p></li>
204 /// </ul>
205 pub fn get_snapshot_identifier(&self) -> &::std::option::Option<::std::string::String> {
206 self.inner.get_snapshot_identifier()
207 }
208 /// <p>The database engine to use for the new cluster.</p>
209 /// <p>Default: The same as source.</p>
210 /// <p>Constraint: Must be compatible with the engine of the source.</p>
211 pub fn engine(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
212 self.inner = self.inner.engine(input.into());
213 self
214 }
215 /// <p>The database engine to use for the new cluster.</p>
216 /// <p>Default: The same as source.</p>
217 /// <p>Constraint: Must be compatible with the engine of the source.</p>
218 pub fn set_engine(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
219 self.inner = self.inner.set_engine(input);
220 self
221 }
222 /// <p>The database engine to use for the new cluster.</p>
223 /// <p>Default: The same as source.</p>
224 /// <p>Constraint: Must be compatible with the engine of the source.</p>
225 pub fn get_engine(&self) -> &::std::option::Option<::std::string::String> {
226 self.inner.get_engine()
227 }
228 /// <p>The version of the database engine to use for the new cluster.</p>
229 pub fn engine_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
230 self.inner = self.inner.engine_version(input.into());
231 self
232 }
233 /// <p>The version of the database engine to use for the new cluster.</p>
234 pub fn set_engine_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
235 self.inner = self.inner.set_engine_version(input);
236 self
237 }
238 /// <p>The version of the database engine to use for the new cluster.</p>
239 pub fn get_engine_version(&self) -> &::std::option::Option<::std::string::String> {
240 self.inner.get_engine_version()
241 }
242 /// <p>The port number on which the new cluster accepts connections.</p>
243 /// <p>Constraints: Must be a value from <code>1150</code> to <code>65535</code>.</p>
244 /// <p>Default: The same port as the original cluster.</p>
245 pub fn port(mut self, input: i32) -> Self {
246 self.inner = self.inner.port(input);
247 self
248 }
249 /// <p>The port number on which the new cluster accepts connections.</p>
250 /// <p>Constraints: Must be a value from <code>1150</code> to <code>65535</code>.</p>
251 /// <p>Default: The same port as the original cluster.</p>
252 pub fn set_port(mut self, input: ::std::option::Option<i32>) -> Self {
253 self.inner = self.inner.set_port(input);
254 self
255 }
256 /// <p>The port number on which the new cluster accepts connections.</p>
257 /// <p>Constraints: Must be a value from <code>1150</code> to <code>65535</code>.</p>
258 /// <p>Default: The same port as the original cluster.</p>
259 pub fn get_port(&self) -> &::std::option::Option<i32> {
260 self.inner.get_port()
261 }
262 /// <p>The name of the subnet group to use for the new cluster.</p>
263 /// <p>Constraints: If provided, must match the name of an existing <code>DBSubnetGroup</code>.</p>
264 /// <p>Example: <code>mySubnetgroup</code></p>
265 pub fn db_subnet_group_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
266 self.inner = self.inner.db_subnet_group_name(input.into());
267 self
268 }
269 /// <p>The name of the subnet group to use for the new cluster.</p>
270 /// <p>Constraints: If provided, must match the name of an existing <code>DBSubnetGroup</code>.</p>
271 /// <p>Example: <code>mySubnetgroup</code></p>
272 pub fn set_db_subnet_group_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
273 self.inner = self.inner.set_db_subnet_group_name(input);
274 self
275 }
276 /// <p>The name of the subnet group to use for the new cluster.</p>
277 /// <p>Constraints: If provided, must match the name of an existing <code>DBSubnetGroup</code>.</p>
278 /// <p>Example: <code>mySubnetgroup</code></p>
279 pub fn get_db_subnet_group_name(&self) -> &::std::option::Option<::std::string::String> {
280 self.inner.get_db_subnet_group_name()
281 }
282 ///
283 /// Appends an item to `VpcSecurityGroupIds`.
284 ///
285 /// To override the contents of this collection use [`set_vpc_security_group_ids`](Self::set_vpc_security_group_ids).
286 ///
287 /// <p>A list of virtual private cloud (VPC) security groups that the new cluster will belong to.</p>
288 pub fn vpc_security_group_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
289 self.inner = self.inner.vpc_security_group_ids(input.into());
290 self
291 }
292 /// <p>A list of virtual private cloud (VPC) security groups that the new cluster will belong to.</p>
293 pub fn set_vpc_security_group_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
294 self.inner = self.inner.set_vpc_security_group_ids(input);
295 self
296 }
297 /// <p>A list of virtual private cloud (VPC) security groups that the new cluster will belong to.</p>
298 pub fn get_vpc_security_group_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
299 self.inner.get_vpc_security_group_ids()
300 }
301 ///
302 /// Appends an item to `Tags`.
303 ///
304 /// To override the contents of this collection use [`set_tags`](Self::set_tags).
305 ///
306 /// <p>The tags to be assigned to the restored cluster.</p>
307 pub fn tags(mut self, input: crate::types::Tag) -> Self {
308 self.inner = self.inner.tags(input);
309 self
310 }
311 /// <p>The tags to be assigned to the restored cluster.</p>
312 pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
313 self.inner = self.inner.set_tags(input);
314 self
315 }
316 /// <p>The tags to be assigned to the restored cluster.</p>
317 pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
318 self.inner.get_tags()
319 }
320 /// <p>The KMS key identifier to use when restoring an encrypted cluster from a DB snapshot or cluster snapshot.</p>
321 /// <p>The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a cluster with the same Amazon Web Services account that owns the KMS encryption key used to encrypt the new cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.</p>
322 /// <p>If you do not specify a value for the <code>KmsKeyId</code> parameter, then the following occurs:</p>
323 /// <ul>
324 /// <li>
325 /// <p>If the snapshot or cluster snapshot in <code>SnapshotIdentifier</code> is encrypted, then the restored cluster is encrypted using the KMS key that was used to encrypt the snapshot or the cluster snapshot.</p></li>
326 /// <li>
327 /// <p>If the snapshot or the cluster snapshot in <code>SnapshotIdentifier</code> is not encrypted, then the restored DB cluster is not encrypted.</p></li>
328 /// </ul>
329 pub fn kms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
330 self.inner = self.inner.kms_key_id(input.into());
331 self
332 }
333 /// <p>The KMS key identifier to use when restoring an encrypted cluster from a DB snapshot or cluster snapshot.</p>
334 /// <p>The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a cluster with the same Amazon Web Services account that owns the KMS encryption key used to encrypt the new cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.</p>
335 /// <p>If you do not specify a value for the <code>KmsKeyId</code> parameter, then the following occurs:</p>
336 /// <ul>
337 /// <li>
338 /// <p>If the snapshot or cluster snapshot in <code>SnapshotIdentifier</code> is encrypted, then the restored cluster is encrypted using the KMS key that was used to encrypt the snapshot or the cluster snapshot.</p></li>
339 /// <li>
340 /// <p>If the snapshot or the cluster snapshot in <code>SnapshotIdentifier</code> is not encrypted, then the restored DB cluster is not encrypted.</p></li>
341 /// </ul>
342 pub fn set_kms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
343 self.inner = self.inner.set_kms_key_id(input);
344 self
345 }
346 /// <p>The KMS key identifier to use when restoring an encrypted cluster from a DB snapshot or cluster snapshot.</p>
347 /// <p>The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a cluster with the same Amazon Web Services account that owns the KMS encryption key used to encrypt the new cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.</p>
348 /// <p>If you do not specify a value for the <code>KmsKeyId</code> parameter, then the following occurs:</p>
349 /// <ul>
350 /// <li>
351 /// <p>If the snapshot or cluster snapshot in <code>SnapshotIdentifier</code> is encrypted, then the restored cluster is encrypted using the KMS key that was used to encrypt the snapshot or the cluster snapshot.</p></li>
352 /// <li>
353 /// <p>If the snapshot or the cluster snapshot in <code>SnapshotIdentifier</code> is not encrypted, then the restored DB cluster is not encrypted.</p></li>
354 /// </ul>
355 pub fn get_kms_key_id(&self) -> &::std::option::Option<::std::string::String> {
356 self.inner.get_kms_key_id()
357 }
358 ///
359 /// Appends an item to `EnableCloudwatchLogsExports`.
360 ///
361 /// To override the contents of this collection use [`set_enable_cloudwatch_logs_exports`](Self::set_enable_cloudwatch_logs_exports).
362 ///
363 /// <p>A list of log types that must be enabled for exporting to Amazon CloudWatch Logs.</p>
364 pub fn enable_cloudwatch_logs_exports(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
365 self.inner = self.inner.enable_cloudwatch_logs_exports(input.into());
366 self
367 }
368 /// <p>A list of log types that must be enabled for exporting to Amazon CloudWatch Logs.</p>
369 pub fn set_enable_cloudwatch_logs_exports(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
370 self.inner = self.inner.set_enable_cloudwatch_logs_exports(input);
371 self
372 }
373 /// <p>A list of log types that must be enabled for exporting to Amazon CloudWatch Logs.</p>
374 pub fn get_enable_cloudwatch_logs_exports(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
375 self.inner.get_enable_cloudwatch_logs_exports()
376 }
377 /// <p>Specifies whether this cluster can be deleted. If <code>DeletionProtection</code> is enabled, the cluster cannot be deleted unless it is modified and <code>DeletionProtection</code> is disabled. <code>DeletionProtection</code> protects clusters from being accidentally deleted.</p>
378 pub fn deletion_protection(mut self, input: bool) -> Self {
379 self.inner = self.inner.deletion_protection(input);
380 self
381 }
382 /// <p>Specifies whether this cluster can be deleted. If <code>DeletionProtection</code> is enabled, the cluster cannot be deleted unless it is modified and <code>DeletionProtection</code> is disabled. <code>DeletionProtection</code> protects clusters from being accidentally deleted.</p>
383 pub fn set_deletion_protection(mut self, input: ::std::option::Option<bool>) -> Self {
384 self.inner = self.inner.set_deletion_protection(input);
385 self
386 }
387 /// <p>Specifies whether this cluster can be deleted. If <code>DeletionProtection</code> is enabled, the cluster cannot be deleted unless it is modified and <code>DeletionProtection</code> is disabled. <code>DeletionProtection</code> protects clusters from being accidentally deleted.</p>
388 pub fn get_deletion_protection(&self) -> &::std::option::Option<bool> {
389 self.inner.get_deletion_protection()
390 }
391 /// <p>The name of the DB cluster parameter group to associate with this DB cluster.</p>
392 /// <p><i>Type:</i> String. <i>Required:</i> No.</p>
393 /// <p>If this argument is omitted, the default DB cluster parameter group is used. If supplied, must match the name of an existing default DB cluster parameter group. The string must consist of from 1 to 255 letters, numbers or hyphens. Its first character must be a letter, and it cannot end with a hyphen or contain two consecutive hyphens.</p>
394 pub fn db_cluster_parameter_group_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
395 self.inner = self.inner.db_cluster_parameter_group_name(input.into());
396 self
397 }
398 /// <p>The name of the DB cluster parameter group to associate with this DB cluster.</p>
399 /// <p><i>Type:</i> String. <i>Required:</i> No.</p>
400 /// <p>If this argument is omitted, the default DB cluster parameter group is used. If supplied, must match the name of an existing default DB cluster parameter group. The string must consist of from 1 to 255 letters, numbers or hyphens. Its first character must be a letter, and it cannot end with a hyphen or contain two consecutive hyphens.</p>
401 pub fn set_db_cluster_parameter_group_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
402 self.inner = self.inner.set_db_cluster_parameter_group_name(input);
403 self
404 }
405 /// <p>The name of the DB cluster parameter group to associate with this DB cluster.</p>
406 /// <p><i>Type:</i> String. <i>Required:</i> No.</p>
407 /// <p>If this argument is omitted, the default DB cluster parameter group is used. If supplied, must match the name of an existing default DB cluster parameter group. The string must consist of from 1 to 255 letters, numbers or hyphens. Its first character must be a letter, and it cannot end with a hyphen or contain two consecutive hyphens.</p>
408 pub fn get_db_cluster_parameter_group_name(&self) -> &::std::option::Option<::std::string::String> {
409 self.inner.get_db_cluster_parameter_group_name()
410 }
411 /// <p>Contains the scaling configuration of an Amazon DocumentDB Serverless cluster.</p>
412 pub fn serverless_v2_scaling_configuration(mut self, input: crate::types::ServerlessV2ScalingConfiguration) -> Self {
413 self.inner = self.inner.serverless_v2_scaling_configuration(input);
414 self
415 }
416 /// <p>Contains the scaling configuration of an Amazon DocumentDB Serverless cluster.</p>
417 pub fn set_serverless_v2_scaling_configuration(mut self, input: ::std::option::Option<crate::types::ServerlessV2ScalingConfiguration>) -> Self {
418 self.inner = self.inner.set_serverless_v2_scaling_configuration(input);
419 self
420 }
421 /// <p>Contains the scaling configuration of an Amazon DocumentDB Serverless cluster.</p>
422 pub fn get_serverless_v2_scaling_configuration(&self) -> &::std::option::Option<crate::types::ServerlessV2ScalingConfiguration> {
423 self.inner.get_serverless_v2_scaling_configuration()
424 }
425 /// <p>The storage type to associate with the DB cluster.</p>
426 /// <p>For information on storage types for Amazon DocumentDB clusters, see Cluster storage configurations in the <i>Amazon DocumentDB Developer Guide</i>.</p>
427 /// <p>Valid values for storage type - <code>standard | iopt1</code></p>
428 /// <p>Default value is <code>standard </code></p>
429 pub fn storage_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
430 self.inner = self.inner.storage_type(input.into());
431 self
432 }
433 /// <p>The storage type to associate with the DB cluster.</p>
434 /// <p>For information on storage types for Amazon DocumentDB clusters, see Cluster storage configurations in the <i>Amazon DocumentDB Developer Guide</i>.</p>
435 /// <p>Valid values for storage type - <code>standard | iopt1</code></p>
436 /// <p>Default value is <code>standard </code></p>
437 pub fn set_storage_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
438 self.inner = self.inner.set_storage_type(input);
439 self
440 }
441 /// <p>The storage type to associate with the DB cluster.</p>
442 /// <p>For information on storage types for Amazon DocumentDB clusters, see Cluster storage configurations in the <i>Amazon DocumentDB Developer Guide</i>.</p>
443 /// <p>Valid values for storage type - <code>standard | iopt1</code></p>
444 /// <p>Default value is <code>standard </code></p>
445 pub fn get_storage_type(&self) -> &::std::option::Option<::std::string::String> {
446 self.inner.get_storage_type()
447 }
448 /// <p>The network type of the cluster.</p>
449 /// <p>The network type is determined by the <code>DBSubnetGroup</code> specified for the cluster. A <code>DBSubnetGroup</code> can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (<code>DUAL</code>).</p>
450 /// <p>For more information, see <a href="https://docs.aws.amazon.com/documentdb/latest/developerguide/vpc-clusters.html">DocumentDB clusters in a VPC</a> in the Amazon DocumentDB Developer Guide.</p>
451 /// <p>Valid Values: <code>IPV4</code> | <code>DUAL</code></p>
452 pub fn network_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
453 self.inner = self.inner.network_type(input.into());
454 self
455 }
456 /// <p>The network type of the cluster.</p>
457 /// <p>The network type is determined by the <code>DBSubnetGroup</code> specified for the cluster. A <code>DBSubnetGroup</code> can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (<code>DUAL</code>).</p>
458 /// <p>For more information, see <a href="https://docs.aws.amazon.com/documentdb/latest/developerguide/vpc-clusters.html">DocumentDB clusters in a VPC</a> in the Amazon DocumentDB Developer Guide.</p>
459 /// <p>Valid Values: <code>IPV4</code> | <code>DUAL</code></p>
460 pub fn set_network_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
461 self.inner = self.inner.set_network_type(input);
462 self
463 }
464 /// <p>The network type of the cluster.</p>
465 /// <p>The network type is determined by the <code>DBSubnetGroup</code> specified for the cluster. A <code>DBSubnetGroup</code> can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (<code>DUAL</code>).</p>
466 /// <p>For more information, see <a href="https://docs.aws.amazon.com/documentdb/latest/developerguide/vpc-clusters.html">DocumentDB clusters in a VPC</a> in the Amazon DocumentDB Developer Guide.</p>
467 /// <p>Valid Values: <code>IPV4</code> | <code>DUAL</code></p>
468 pub fn get_network_type(&self) -> &::std::option::Option<::std::string::String> {
469 self.inner.get_network_type()
470 }
471}