Skip to main content

aws_sdk_rds/types/
_db_cluster_automated_backup.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// <p>An automated backup of a DB cluster. It consists of system backups, transaction logs, and the database cluster properties that existed at the time you deleted the source cluster.</p>
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct DbClusterAutomatedBackup {
7    /// <p>The name of the database engine for this automated backup.</p>
8    pub engine: ::std::option::Option<::std::string::String>,
9    /// <p>The VPC ID associated with the DB cluster.</p>
10    pub vpc_id: ::std::option::Option<::std::string::String>,
11    /// <p>The Amazon Resource Name (ARN) for the automated backups.</p>
12    pub db_cluster_automated_backups_arn: ::std::option::Option<::std::string::String>,
13    /// <p>The identifier for the source DB cluster, which can't be changed and which is unique to an Amazon Web Services Region.</p>
14    pub db_cluster_identifier: ::std::option::Option<::std::string::String>,
15    /// <p>Earliest and latest time an instance can be restored to:</p>
16    pub restore_window: ::std::option::Option<crate::types::RestoreWindow>,
17    /// <p>The master user name of the automated backup.</p>
18    pub master_username: ::std::option::Option<::std::string::String>,
19    /// <p>The resource ID for the source DB cluster, which can't be changed and which is unique to an Amazon Web Services Region.</p>
20    pub db_cluster_resource_id: ::std::option::Option<::std::string::String>,
21    /// <p>The Amazon Web Services Region associated with the automated backup.</p>
22    pub region: ::std::option::Option<::std::string::String>,
23    /// <p>The license model information for this DB cluster automated backup.</p>
24    pub license_model: ::std::option::Option<::std::string::String>,
25    /// <p>A list of status information for an automated backup:</p>
26    /// <ul>
27    /// <li>
28    /// <p><code>retained</code> - Automated backups for deleted clusters.</p></li>
29    /// </ul>
30    pub status: ::std::option::Option<::std::string::String>,
31    /// <p>Indicates whether mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts is enabled.</p>
32    pub iam_database_authentication_enabled: ::std::option::Option<bool>,
33    /// <p>The time when the DB cluster was created, in Universal Coordinated Time (UTC).</p>
34    pub cluster_create_time: ::std::option::Option<::aws_smithy_types::DateTime>,
35    /// <p>Indicates whether the source DB cluster is encrypted.</p>
36    pub storage_encrypted: ::std::option::Option<bool>,
37    /// <p>The type of encryption used to protect data at rest in the automated backup. Possible values:</p>
38    /// <ul>
39    /// <li>
40    /// <p><code>none</code> - The automated backup is not encrypted.</p></li>
41    /// <li>
42    /// <p><code>sse-rds</code> - The automated backup is encrypted using an Amazon Web Services owned KMS key.</p></li>
43    /// <li>
44    /// <p><code>sse-kms</code> - The automated backup is encrypted using a customer managed KMS key or Amazon Web Services managed KMS key.</p></li>
45    /// </ul>
46    pub storage_encryption_type: ::std::option::Option<crate::types::StorageEncryptionType>,
47    /// <p>For all database engines except Amazon Aurora, <code>AllocatedStorage</code> specifies the allocated storage size in gibibytes (GiB). For Aurora, <code>AllocatedStorage</code> always returns 1, because Aurora DB cluster storage size isn't fixed, but instead automatically adjusts as needed.</p>
48    pub allocated_storage: ::std::option::Option<i32>,
49    /// <p>The version of the database engine for the automated backup.</p>
50    pub engine_version: ::std::option::Option<::std::string::String>,
51    /// <p>The Amazon Resource Name (ARN) for the source DB cluster.</p>
52    pub db_cluster_arn: ::std::option::Option<::std::string::String>,
53    /// <p>The retention period for the automated backups.</p>
54    pub backup_retention_period: ::std::option::Option<i32>,
55    /// <p>The daily time range during which automated backups are created if automated backups are enabled, as determined by the <code>BackupRetentionPeriod</code>.</p>
56    pub preferred_backup_window: ::std::option::Option<::std::string::String>,
57    /// <p>The engine mode of the database engine for the automated backup.</p>
58    pub engine_mode: ::std::option::Option<::std::string::String>,
59    /// <p>The Availability Zones where instances in the DB cluster can be created. For information on Amazon Web Services Regions and Availability Zones, see <a href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.RegionsAndAvailabilityZones.html">Regions and Availability Zones</a>.</p>
60    pub availability_zones: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
61    /// <p>The port number that the automated backup used for connections.</p>
62    /// <p>Default: Inherits from the source DB cluster</p>
63    /// <p>Valid Values: <code>1150-65535</code></p>
64    pub port: ::std::option::Option<i32>,
65    /// <p>The Amazon Web Services KMS key ID for an automated backup.</p>
66    /// <p>The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.</p>
67    pub kms_key_id: ::std::option::Option<::std::string::String>,
68    /// <p>The storage type associated with the DB cluster.</p>
69    /// <p>This setting is only for non-Aurora Multi-AZ DB clusters.</p>
70    pub storage_type: ::std::option::Option<::std::string::String>,
71    /// <p>The IOPS (I/O operations per second) value for the automated backup.</p>
72    /// <p>This setting is only for non-Aurora Multi-AZ DB clusters.</p>
73    pub iops: ::std::option::Option<i32>,
74    /// <p>The storage throughput for the automated backup. The throughput is automatically set based on the IOPS that you provision, and is not configurable.</p>
75    /// <p>This setting is only for non-Aurora Multi-AZ DB clusters.</p>
76    pub storage_throughput: ::std::option::Option<i32>,
77    /// <p>The Amazon Resource Name (ARN) of the recovery point in Amazon Web Services Backup.</p>
78    pub aws_backup_recovery_point_arn: ::std::option::Option<::std::string::String>,
79    /// <p>A list of tags.</p>
80    /// <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html">Tagging Amazon RDS resources</a> in the <i>Amazon RDS User Guide</i> or <a href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html">Tagging Amazon Aurora and Amazon RDS resources</a> in the <i>Amazon Aurora User Guide</i>.</p>
81    pub tag_list: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
82}
83impl DbClusterAutomatedBackup {
84    /// <p>The name of the database engine for this automated backup.</p>
85    pub fn engine(&self) -> ::std::option::Option<&str> {
86        self.engine.as_deref()
87    }
88    /// <p>The VPC ID associated with the DB cluster.</p>
89    pub fn vpc_id(&self) -> ::std::option::Option<&str> {
90        self.vpc_id.as_deref()
91    }
92    /// <p>The Amazon Resource Name (ARN) for the automated backups.</p>
93    pub fn db_cluster_automated_backups_arn(&self) -> ::std::option::Option<&str> {
94        self.db_cluster_automated_backups_arn.as_deref()
95    }
96    /// <p>The identifier for the source DB cluster, which can't be changed and which is unique to an Amazon Web Services Region.</p>
97    pub fn db_cluster_identifier(&self) -> ::std::option::Option<&str> {
98        self.db_cluster_identifier.as_deref()
99    }
100    /// <p>Earliest and latest time an instance can be restored to:</p>
101    pub fn restore_window(&self) -> ::std::option::Option<&crate::types::RestoreWindow> {
102        self.restore_window.as_ref()
103    }
104    /// <p>The master user name of the automated backup.</p>
105    pub fn master_username(&self) -> ::std::option::Option<&str> {
106        self.master_username.as_deref()
107    }
108    /// <p>The resource ID for the source DB cluster, which can't be changed and which is unique to an Amazon Web Services Region.</p>
109    pub fn db_cluster_resource_id(&self) -> ::std::option::Option<&str> {
110        self.db_cluster_resource_id.as_deref()
111    }
112    /// <p>The Amazon Web Services Region associated with the automated backup.</p>
113    pub fn region(&self) -> ::std::option::Option<&str> {
114        self.region.as_deref()
115    }
116    /// <p>The license model information for this DB cluster automated backup.</p>
117    pub fn license_model(&self) -> ::std::option::Option<&str> {
118        self.license_model.as_deref()
119    }
120    /// <p>A list of status information for an automated backup:</p>
121    /// <ul>
122    /// <li>
123    /// <p><code>retained</code> - Automated backups for deleted clusters.</p></li>
124    /// </ul>
125    pub fn status(&self) -> ::std::option::Option<&str> {
126        self.status.as_deref()
127    }
128    /// <p>Indicates whether mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts is enabled.</p>
129    pub fn iam_database_authentication_enabled(&self) -> ::std::option::Option<bool> {
130        self.iam_database_authentication_enabled
131    }
132    /// <p>The time when the DB cluster was created, in Universal Coordinated Time (UTC).</p>
133    pub fn cluster_create_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
134        self.cluster_create_time.as_ref()
135    }
136    /// <p>Indicates whether the source DB cluster is encrypted.</p>
137    pub fn storage_encrypted(&self) -> ::std::option::Option<bool> {
138        self.storage_encrypted
139    }
140    /// <p>The type of encryption used to protect data at rest in the automated backup. Possible values:</p>
141    /// <ul>
142    /// <li>
143    /// <p><code>none</code> - The automated backup is not encrypted.</p></li>
144    /// <li>
145    /// <p><code>sse-rds</code> - The automated backup is encrypted using an Amazon Web Services owned KMS key.</p></li>
146    /// <li>
147    /// <p><code>sse-kms</code> - The automated backup is encrypted using a customer managed KMS key or Amazon Web Services managed KMS key.</p></li>
148    /// </ul>
149    pub fn storage_encryption_type(&self) -> ::std::option::Option<&crate::types::StorageEncryptionType> {
150        self.storage_encryption_type.as_ref()
151    }
152    /// <p>For all database engines except Amazon Aurora, <code>AllocatedStorage</code> specifies the allocated storage size in gibibytes (GiB). For Aurora, <code>AllocatedStorage</code> always returns 1, because Aurora DB cluster storage size isn't fixed, but instead automatically adjusts as needed.</p>
153    pub fn allocated_storage(&self) -> ::std::option::Option<i32> {
154        self.allocated_storage
155    }
156    /// <p>The version of the database engine for the automated backup.</p>
157    pub fn engine_version(&self) -> ::std::option::Option<&str> {
158        self.engine_version.as_deref()
159    }
160    /// <p>The Amazon Resource Name (ARN) for the source DB cluster.</p>
161    pub fn db_cluster_arn(&self) -> ::std::option::Option<&str> {
162        self.db_cluster_arn.as_deref()
163    }
164    /// <p>The retention period for the automated backups.</p>
165    pub fn backup_retention_period(&self) -> ::std::option::Option<i32> {
166        self.backup_retention_period
167    }
168    /// <p>The daily time range during which automated backups are created if automated backups are enabled, as determined by the <code>BackupRetentionPeriod</code>.</p>
169    pub fn preferred_backup_window(&self) -> ::std::option::Option<&str> {
170        self.preferred_backup_window.as_deref()
171    }
172    /// <p>The engine mode of the database engine for the automated backup.</p>
173    pub fn engine_mode(&self) -> ::std::option::Option<&str> {
174        self.engine_mode.as_deref()
175    }
176    /// <p>The Availability Zones where instances in the DB cluster can be created. For information on Amazon Web Services Regions and Availability Zones, see <a href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.RegionsAndAvailabilityZones.html">Regions and Availability Zones</a>.</p>
177    ///
178    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.availability_zones.is_none()`.
179    pub fn availability_zones(&self) -> &[::std::string::String] {
180        self.availability_zones.as_deref().unwrap_or_default()
181    }
182    /// <p>The port number that the automated backup used for connections.</p>
183    /// <p>Default: Inherits from the source DB cluster</p>
184    /// <p>Valid Values: <code>1150-65535</code></p>
185    pub fn port(&self) -> ::std::option::Option<i32> {
186        self.port
187    }
188    /// <p>The Amazon Web Services KMS key ID for an automated backup.</p>
189    /// <p>The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.</p>
190    pub fn kms_key_id(&self) -> ::std::option::Option<&str> {
191        self.kms_key_id.as_deref()
192    }
193    /// <p>The storage type associated with the DB cluster.</p>
194    /// <p>This setting is only for non-Aurora Multi-AZ DB clusters.</p>
195    pub fn storage_type(&self) -> ::std::option::Option<&str> {
196        self.storage_type.as_deref()
197    }
198    /// <p>The IOPS (I/O operations per second) value for the automated backup.</p>
199    /// <p>This setting is only for non-Aurora Multi-AZ DB clusters.</p>
200    pub fn iops(&self) -> ::std::option::Option<i32> {
201        self.iops
202    }
203    /// <p>The storage throughput for the automated backup. The throughput is automatically set based on the IOPS that you provision, and is not configurable.</p>
204    /// <p>This setting is only for non-Aurora Multi-AZ DB clusters.</p>
205    pub fn storage_throughput(&self) -> ::std::option::Option<i32> {
206        self.storage_throughput
207    }
208    /// <p>The Amazon Resource Name (ARN) of the recovery point in Amazon Web Services Backup.</p>
209    pub fn aws_backup_recovery_point_arn(&self) -> ::std::option::Option<&str> {
210        self.aws_backup_recovery_point_arn.as_deref()
211    }
212    /// <p>A list of tags.</p>
213    /// <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html">Tagging Amazon RDS resources</a> in the <i>Amazon RDS User Guide</i> or <a href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html">Tagging Amazon Aurora and Amazon RDS resources</a> in the <i>Amazon Aurora User Guide</i>.</p>
214    ///
215    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.tag_list.is_none()`.
216    pub fn tag_list(&self) -> &[crate::types::Tag] {
217        self.tag_list.as_deref().unwrap_or_default()
218    }
219}
220impl DbClusterAutomatedBackup {
221    /// Creates a new builder-style object to manufacture [`DbClusterAutomatedBackup`](crate::types::DbClusterAutomatedBackup).
222    pub fn builder() -> crate::types::builders::DbClusterAutomatedBackupBuilder {
223        crate::types::builders::DbClusterAutomatedBackupBuilder::default()
224    }
225}
226
227/// A builder for [`DbClusterAutomatedBackup`](crate::types::DbClusterAutomatedBackup).
228#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
229#[non_exhaustive]
230pub struct DbClusterAutomatedBackupBuilder {
231    pub(crate) engine: ::std::option::Option<::std::string::String>,
232    pub(crate) vpc_id: ::std::option::Option<::std::string::String>,
233    pub(crate) db_cluster_automated_backups_arn: ::std::option::Option<::std::string::String>,
234    pub(crate) db_cluster_identifier: ::std::option::Option<::std::string::String>,
235    pub(crate) restore_window: ::std::option::Option<crate::types::RestoreWindow>,
236    pub(crate) master_username: ::std::option::Option<::std::string::String>,
237    pub(crate) db_cluster_resource_id: ::std::option::Option<::std::string::String>,
238    pub(crate) region: ::std::option::Option<::std::string::String>,
239    pub(crate) license_model: ::std::option::Option<::std::string::String>,
240    pub(crate) status: ::std::option::Option<::std::string::String>,
241    pub(crate) iam_database_authentication_enabled: ::std::option::Option<bool>,
242    pub(crate) cluster_create_time: ::std::option::Option<::aws_smithy_types::DateTime>,
243    pub(crate) storage_encrypted: ::std::option::Option<bool>,
244    pub(crate) storage_encryption_type: ::std::option::Option<crate::types::StorageEncryptionType>,
245    pub(crate) allocated_storage: ::std::option::Option<i32>,
246    pub(crate) engine_version: ::std::option::Option<::std::string::String>,
247    pub(crate) db_cluster_arn: ::std::option::Option<::std::string::String>,
248    pub(crate) backup_retention_period: ::std::option::Option<i32>,
249    pub(crate) preferred_backup_window: ::std::option::Option<::std::string::String>,
250    pub(crate) engine_mode: ::std::option::Option<::std::string::String>,
251    pub(crate) availability_zones: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
252    pub(crate) port: ::std::option::Option<i32>,
253    pub(crate) kms_key_id: ::std::option::Option<::std::string::String>,
254    pub(crate) storage_type: ::std::option::Option<::std::string::String>,
255    pub(crate) iops: ::std::option::Option<i32>,
256    pub(crate) storage_throughput: ::std::option::Option<i32>,
257    pub(crate) aws_backup_recovery_point_arn: ::std::option::Option<::std::string::String>,
258    pub(crate) tag_list: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
259}
260impl DbClusterAutomatedBackupBuilder {
261    /// <p>The name of the database engine for this automated backup.</p>
262    pub fn engine(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
263        self.engine = ::std::option::Option::Some(input.into());
264        self
265    }
266    /// <p>The name of the database engine for this automated backup.</p>
267    pub fn set_engine(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
268        self.engine = input;
269        self
270    }
271    /// <p>The name of the database engine for this automated backup.</p>
272    pub fn get_engine(&self) -> &::std::option::Option<::std::string::String> {
273        &self.engine
274    }
275    /// <p>The VPC ID associated with the DB cluster.</p>
276    pub fn vpc_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
277        self.vpc_id = ::std::option::Option::Some(input.into());
278        self
279    }
280    /// <p>The VPC ID associated with the DB cluster.</p>
281    pub fn set_vpc_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
282        self.vpc_id = input;
283        self
284    }
285    /// <p>The VPC ID associated with the DB cluster.</p>
286    pub fn get_vpc_id(&self) -> &::std::option::Option<::std::string::String> {
287        &self.vpc_id
288    }
289    /// <p>The Amazon Resource Name (ARN) for the automated backups.</p>
290    pub fn db_cluster_automated_backups_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
291        self.db_cluster_automated_backups_arn = ::std::option::Option::Some(input.into());
292        self
293    }
294    /// <p>The Amazon Resource Name (ARN) for the automated backups.</p>
295    pub fn set_db_cluster_automated_backups_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
296        self.db_cluster_automated_backups_arn = input;
297        self
298    }
299    /// <p>The Amazon Resource Name (ARN) for the automated backups.</p>
300    pub fn get_db_cluster_automated_backups_arn(&self) -> &::std::option::Option<::std::string::String> {
301        &self.db_cluster_automated_backups_arn
302    }
303    /// <p>The identifier for the source DB cluster, which can't be changed and which is unique to an Amazon Web Services Region.</p>
304    pub fn db_cluster_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
305        self.db_cluster_identifier = ::std::option::Option::Some(input.into());
306        self
307    }
308    /// <p>The identifier for the source DB cluster, which can't be changed and which is unique to an Amazon Web Services Region.</p>
309    pub fn set_db_cluster_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
310        self.db_cluster_identifier = input;
311        self
312    }
313    /// <p>The identifier for the source DB cluster, which can't be changed and which is unique to an Amazon Web Services Region.</p>
314    pub fn get_db_cluster_identifier(&self) -> &::std::option::Option<::std::string::String> {
315        &self.db_cluster_identifier
316    }
317    /// <p>Earliest and latest time an instance can be restored to:</p>
318    pub fn restore_window(mut self, input: crate::types::RestoreWindow) -> Self {
319        self.restore_window = ::std::option::Option::Some(input);
320        self
321    }
322    /// <p>Earliest and latest time an instance can be restored to:</p>
323    pub fn set_restore_window(mut self, input: ::std::option::Option<crate::types::RestoreWindow>) -> Self {
324        self.restore_window = input;
325        self
326    }
327    /// <p>Earliest and latest time an instance can be restored to:</p>
328    pub fn get_restore_window(&self) -> &::std::option::Option<crate::types::RestoreWindow> {
329        &self.restore_window
330    }
331    /// <p>The master user name of the automated backup.</p>
332    pub fn master_username(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
333        self.master_username = ::std::option::Option::Some(input.into());
334        self
335    }
336    /// <p>The master user name of the automated backup.</p>
337    pub fn set_master_username(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
338        self.master_username = input;
339        self
340    }
341    /// <p>The master user name of the automated backup.</p>
342    pub fn get_master_username(&self) -> &::std::option::Option<::std::string::String> {
343        &self.master_username
344    }
345    /// <p>The resource ID for the source DB cluster, which can't be changed and which is unique to an Amazon Web Services Region.</p>
346    pub fn db_cluster_resource_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
347        self.db_cluster_resource_id = ::std::option::Option::Some(input.into());
348        self
349    }
350    /// <p>The resource ID for the source DB cluster, which can't be changed and which is unique to an Amazon Web Services Region.</p>
351    pub fn set_db_cluster_resource_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
352        self.db_cluster_resource_id = input;
353        self
354    }
355    /// <p>The resource ID for the source DB cluster, which can't be changed and which is unique to an Amazon Web Services Region.</p>
356    pub fn get_db_cluster_resource_id(&self) -> &::std::option::Option<::std::string::String> {
357        &self.db_cluster_resource_id
358    }
359    /// <p>The Amazon Web Services Region associated with the automated backup.</p>
360    pub fn region(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
361        self.region = ::std::option::Option::Some(input.into());
362        self
363    }
364    /// <p>The Amazon Web Services Region associated with the automated backup.</p>
365    pub fn set_region(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
366        self.region = input;
367        self
368    }
369    /// <p>The Amazon Web Services Region associated with the automated backup.</p>
370    pub fn get_region(&self) -> &::std::option::Option<::std::string::String> {
371        &self.region
372    }
373    /// <p>The license model information for this DB cluster automated backup.</p>
374    pub fn license_model(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
375        self.license_model = ::std::option::Option::Some(input.into());
376        self
377    }
378    /// <p>The license model information for this DB cluster automated backup.</p>
379    pub fn set_license_model(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
380        self.license_model = input;
381        self
382    }
383    /// <p>The license model information for this DB cluster automated backup.</p>
384    pub fn get_license_model(&self) -> &::std::option::Option<::std::string::String> {
385        &self.license_model
386    }
387    /// <p>A list of status information for an automated backup:</p>
388    /// <ul>
389    /// <li>
390    /// <p><code>retained</code> - Automated backups for deleted clusters.</p></li>
391    /// </ul>
392    pub fn status(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
393        self.status = ::std::option::Option::Some(input.into());
394        self
395    }
396    /// <p>A list of status information for an automated backup:</p>
397    /// <ul>
398    /// <li>
399    /// <p><code>retained</code> - Automated backups for deleted clusters.</p></li>
400    /// </ul>
401    pub fn set_status(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
402        self.status = input;
403        self
404    }
405    /// <p>A list of status information for an automated backup:</p>
406    /// <ul>
407    /// <li>
408    /// <p><code>retained</code> - Automated backups for deleted clusters.</p></li>
409    /// </ul>
410    pub fn get_status(&self) -> &::std::option::Option<::std::string::String> {
411        &self.status
412    }
413    /// <p>Indicates whether mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts is enabled.</p>
414    pub fn iam_database_authentication_enabled(mut self, input: bool) -> Self {
415        self.iam_database_authentication_enabled = ::std::option::Option::Some(input);
416        self
417    }
418    /// <p>Indicates whether mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts is enabled.</p>
419    pub fn set_iam_database_authentication_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
420        self.iam_database_authentication_enabled = input;
421        self
422    }
423    /// <p>Indicates whether mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts is enabled.</p>
424    pub fn get_iam_database_authentication_enabled(&self) -> &::std::option::Option<bool> {
425        &self.iam_database_authentication_enabled
426    }
427    /// <p>The time when the DB cluster was created, in Universal Coordinated Time (UTC).</p>
428    pub fn cluster_create_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
429        self.cluster_create_time = ::std::option::Option::Some(input);
430        self
431    }
432    /// <p>The time when the DB cluster was created, in Universal Coordinated Time (UTC).</p>
433    pub fn set_cluster_create_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
434        self.cluster_create_time = input;
435        self
436    }
437    /// <p>The time when the DB cluster was created, in Universal Coordinated Time (UTC).</p>
438    pub fn get_cluster_create_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
439        &self.cluster_create_time
440    }
441    /// <p>Indicates whether the source DB cluster is encrypted.</p>
442    pub fn storage_encrypted(mut self, input: bool) -> Self {
443        self.storage_encrypted = ::std::option::Option::Some(input);
444        self
445    }
446    /// <p>Indicates whether the source DB cluster is encrypted.</p>
447    pub fn set_storage_encrypted(mut self, input: ::std::option::Option<bool>) -> Self {
448        self.storage_encrypted = input;
449        self
450    }
451    /// <p>Indicates whether the source DB cluster is encrypted.</p>
452    pub fn get_storage_encrypted(&self) -> &::std::option::Option<bool> {
453        &self.storage_encrypted
454    }
455    /// <p>The type of encryption used to protect data at rest in the automated backup. Possible values:</p>
456    /// <ul>
457    /// <li>
458    /// <p><code>none</code> - The automated backup is not encrypted.</p></li>
459    /// <li>
460    /// <p><code>sse-rds</code> - The automated backup is encrypted using an Amazon Web Services owned KMS key.</p></li>
461    /// <li>
462    /// <p><code>sse-kms</code> - The automated backup is encrypted using a customer managed KMS key or Amazon Web Services managed KMS key.</p></li>
463    /// </ul>
464    pub fn storage_encryption_type(mut self, input: crate::types::StorageEncryptionType) -> Self {
465        self.storage_encryption_type = ::std::option::Option::Some(input);
466        self
467    }
468    /// <p>The type of encryption used to protect data at rest in the automated backup. Possible values:</p>
469    /// <ul>
470    /// <li>
471    /// <p><code>none</code> - The automated backup is not encrypted.</p></li>
472    /// <li>
473    /// <p><code>sse-rds</code> - The automated backup is encrypted using an Amazon Web Services owned KMS key.</p></li>
474    /// <li>
475    /// <p><code>sse-kms</code> - The automated backup is encrypted using a customer managed KMS key or Amazon Web Services managed KMS key.</p></li>
476    /// </ul>
477    pub fn set_storage_encryption_type(mut self, input: ::std::option::Option<crate::types::StorageEncryptionType>) -> Self {
478        self.storage_encryption_type = input;
479        self
480    }
481    /// <p>The type of encryption used to protect data at rest in the automated backup. Possible values:</p>
482    /// <ul>
483    /// <li>
484    /// <p><code>none</code> - The automated backup is not encrypted.</p></li>
485    /// <li>
486    /// <p><code>sse-rds</code> - The automated backup is encrypted using an Amazon Web Services owned KMS key.</p></li>
487    /// <li>
488    /// <p><code>sse-kms</code> - The automated backup is encrypted using a customer managed KMS key or Amazon Web Services managed KMS key.</p></li>
489    /// </ul>
490    pub fn get_storage_encryption_type(&self) -> &::std::option::Option<crate::types::StorageEncryptionType> {
491        &self.storage_encryption_type
492    }
493    /// <p>For all database engines except Amazon Aurora, <code>AllocatedStorage</code> specifies the allocated storage size in gibibytes (GiB). For Aurora, <code>AllocatedStorage</code> always returns 1, because Aurora DB cluster storage size isn't fixed, but instead automatically adjusts as needed.</p>
494    pub fn allocated_storage(mut self, input: i32) -> Self {
495        self.allocated_storage = ::std::option::Option::Some(input);
496        self
497    }
498    /// <p>For all database engines except Amazon Aurora, <code>AllocatedStorage</code> specifies the allocated storage size in gibibytes (GiB). For Aurora, <code>AllocatedStorage</code> always returns 1, because Aurora DB cluster storage size isn't fixed, but instead automatically adjusts as needed.</p>
499    pub fn set_allocated_storage(mut self, input: ::std::option::Option<i32>) -> Self {
500        self.allocated_storage = input;
501        self
502    }
503    /// <p>For all database engines except Amazon Aurora, <code>AllocatedStorage</code> specifies the allocated storage size in gibibytes (GiB). For Aurora, <code>AllocatedStorage</code> always returns 1, because Aurora DB cluster storage size isn't fixed, but instead automatically adjusts as needed.</p>
504    pub fn get_allocated_storage(&self) -> &::std::option::Option<i32> {
505        &self.allocated_storage
506    }
507    /// <p>The version of the database engine for the automated backup.</p>
508    pub fn engine_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
509        self.engine_version = ::std::option::Option::Some(input.into());
510        self
511    }
512    /// <p>The version of the database engine for the automated backup.</p>
513    pub fn set_engine_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
514        self.engine_version = input;
515        self
516    }
517    /// <p>The version of the database engine for the automated backup.</p>
518    pub fn get_engine_version(&self) -> &::std::option::Option<::std::string::String> {
519        &self.engine_version
520    }
521    /// <p>The Amazon Resource Name (ARN) for the source DB cluster.</p>
522    pub fn db_cluster_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
523        self.db_cluster_arn = ::std::option::Option::Some(input.into());
524        self
525    }
526    /// <p>The Amazon Resource Name (ARN) for the source DB cluster.</p>
527    pub fn set_db_cluster_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
528        self.db_cluster_arn = input;
529        self
530    }
531    /// <p>The Amazon Resource Name (ARN) for the source DB cluster.</p>
532    pub fn get_db_cluster_arn(&self) -> &::std::option::Option<::std::string::String> {
533        &self.db_cluster_arn
534    }
535    /// <p>The retention period for the automated backups.</p>
536    pub fn backup_retention_period(mut self, input: i32) -> Self {
537        self.backup_retention_period = ::std::option::Option::Some(input);
538        self
539    }
540    /// <p>The retention period for the automated backups.</p>
541    pub fn set_backup_retention_period(mut self, input: ::std::option::Option<i32>) -> Self {
542        self.backup_retention_period = input;
543        self
544    }
545    /// <p>The retention period for the automated backups.</p>
546    pub fn get_backup_retention_period(&self) -> &::std::option::Option<i32> {
547        &self.backup_retention_period
548    }
549    /// <p>The daily time range during which automated backups are created if automated backups are enabled, as determined by the <code>BackupRetentionPeriod</code>.</p>
550    pub fn preferred_backup_window(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
551        self.preferred_backup_window = ::std::option::Option::Some(input.into());
552        self
553    }
554    /// <p>The daily time range during which automated backups are created if automated backups are enabled, as determined by the <code>BackupRetentionPeriod</code>.</p>
555    pub fn set_preferred_backup_window(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
556        self.preferred_backup_window = input;
557        self
558    }
559    /// <p>The daily time range during which automated backups are created if automated backups are enabled, as determined by the <code>BackupRetentionPeriod</code>.</p>
560    pub fn get_preferred_backup_window(&self) -> &::std::option::Option<::std::string::String> {
561        &self.preferred_backup_window
562    }
563    /// <p>The engine mode of the database engine for the automated backup.</p>
564    pub fn engine_mode(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
565        self.engine_mode = ::std::option::Option::Some(input.into());
566        self
567    }
568    /// <p>The engine mode of the database engine for the automated backup.</p>
569    pub fn set_engine_mode(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
570        self.engine_mode = input;
571        self
572    }
573    /// <p>The engine mode of the database engine for the automated backup.</p>
574    pub fn get_engine_mode(&self) -> &::std::option::Option<::std::string::String> {
575        &self.engine_mode
576    }
577    /// Appends an item to `availability_zones`.
578    ///
579    /// To override the contents of this collection use [`set_availability_zones`](Self::set_availability_zones).
580    ///
581    /// <p>The Availability Zones where instances in the DB cluster can be created. For information on Amazon Web Services Regions and Availability Zones, see <a href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.RegionsAndAvailabilityZones.html">Regions and Availability Zones</a>.</p>
582    pub fn availability_zones(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
583        let mut v = self.availability_zones.unwrap_or_default();
584        v.push(input.into());
585        self.availability_zones = ::std::option::Option::Some(v);
586        self
587    }
588    /// <p>The Availability Zones where instances in the DB cluster can be created. For information on Amazon Web Services Regions and Availability Zones, see <a href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.RegionsAndAvailabilityZones.html">Regions and Availability Zones</a>.</p>
589    pub fn set_availability_zones(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
590        self.availability_zones = input;
591        self
592    }
593    /// <p>The Availability Zones where instances in the DB cluster can be created. For information on Amazon Web Services Regions and Availability Zones, see <a href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.RegionsAndAvailabilityZones.html">Regions and Availability Zones</a>.</p>
594    pub fn get_availability_zones(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
595        &self.availability_zones
596    }
597    /// <p>The port number that the automated backup used for connections.</p>
598    /// <p>Default: Inherits from the source DB cluster</p>
599    /// <p>Valid Values: <code>1150-65535</code></p>
600    pub fn port(mut self, input: i32) -> Self {
601        self.port = ::std::option::Option::Some(input);
602        self
603    }
604    /// <p>The port number that the automated backup used for connections.</p>
605    /// <p>Default: Inherits from the source DB cluster</p>
606    /// <p>Valid Values: <code>1150-65535</code></p>
607    pub fn set_port(mut self, input: ::std::option::Option<i32>) -> Self {
608        self.port = input;
609        self
610    }
611    /// <p>The port number that the automated backup used for connections.</p>
612    /// <p>Default: Inherits from the source DB cluster</p>
613    /// <p>Valid Values: <code>1150-65535</code></p>
614    pub fn get_port(&self) -> &::std::option::Option<i32> {
615        &self.port
616    }
617    /// <p>The Amazon Web Services KMS key ID for an automated backup.</p>
618    /// <p>The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.</p>
619    pub fn kms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
620        self.kms_key_id = ::std::option::Option::Some(input.into());
621        self
622    }
623    /// <p>The Amazon Web Services KMS key ID for an automated backup.</p>
624    /// <p>The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.</p>
625    pub fn set_kms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
626        self.kms_key_id = input;
627        self
628    }
629    /// <p>The Amazon Web Services KMS key ID for an automated backup.</p>
630    /// <p>The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.</p>
631    pub fn get_kms_key_id(&self) -> &::std::option::Option<::std::string::String> {
632        &self.kms_key_id
633    }
634    /// <p>The storage type associated with the DB cluster.</p>
635    /// <p>This setting is only for non-Aurora Multi-AZ DB clusters.</p>
636    pub fn storage_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
637        self.storage_type = ::std::option::Option::Some(input.into());
638        self
639    }
640    /// <p>The storage type associated with the DB cluster.</p>
641    /// <p>This setting is only for non-Aurora Multi-AZ DB clusters.</p>
642    pub fn set_storage_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
643        self.storage_type = input;
644        self
645    }
646    /// <p>The storage type associated with the DB cluster.</p>
647    /// <p>This setting is only for non-Aurora Multi-AZ DB clusters.</p>
648    pub fn get_storage_type(&self) -> &::std::option::Option<::std::string::String> {
649        &self.storage_type
650    }
651    /// <p>The IOPS (I/O operations per second) value for the automated backup.</p>
652    /// <p>This setting is only for non-Aurora Multi-AZ DB clusters.</p>
653    pub fn iops(mut self, input: i32) -> Self {
654        self.iops = ::std::option::Option::Some(input);
655        self
656    }
657    /// <p>The IOPS (I/O operations per second) value for the automated backup.</p>
658    /// <p>This setting is only for non-Aurora Multi-AZ DB clusters.</p>
659    pub fn set_iops(mut self, input: ::std::option::Option<i32>) -> Self {
660        self.iops = input;
661        self
662    }
663    /// <p>The IOPS (I/O operations per second) value for the automated backup.</p>
664    /// <p>This setting is only for non-Aurora Multi-AZ DB clusters.</p>
665    pub fn get_iops(&self) -> &::std::option::Option<i32> {
666        &self.iops
667    }
668    /// <p>The storage throughput for the automated backup. The throughput is automatically set based on the IOPS that you provision, and is not configurable.</p>
669    /// <p>This setting is only for non-Aurora Multi-AZ DB clusters.</p>
670    pub fn storage_throughput(mut self, input: i32) -> Self {
671        self.storage_throughput = ::std::option::Option::Some(input);
672        self
673    }
674    /// <p>The storage throughput for the automated backup. The throughput is automatically set based on the IOPS that you provision, and is not configurable.</p>
675    /// <p>This setting is only for non-Aurora Multi-AZ DB clusters.</p>
676    pub fn set_storage_throughput(mut self, input: ::std::option::Option<i32>) -> Self {
677        self.storage_throughput = input;
678        self
679    }
680    /// <p>The storage throughput for the automated backup. The throughput is automatically set based on the IOPS that you provision, and is not configurable.</p>
681    /// <p>This setting is only for non-Aurora Multi-AZ DB clusters.</p>
682    pub fn get_storage_throughput(&self) -> &::std::option::Option<i32> {
683        &self.storage_throughput
684    }
685    /// <p>The Amazon Resource Name (ARN) of the recovery point in Amazon Web Services Backup.</p>
686    pub fn aws_backup_recovery_point_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
687        self.aws_backup_recovery_point_arn = ::std::option::Option::Some(input.into());
688        self
689    }
690    /// <p>The Amazon Resource Name (ARN) of the recovery point in Amazon Web Services Backup.</p>
691    pub fn set_aws_backup_recovery_point_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
692        self.aws_backup_recovery_point_arn = input;
693        self
694    }
695    /// <p>The Amazon Resource Name (ARN) of the recovery point in Amazon Web Services Backup.</p>
696    pub fn get_aws_backup_recovery_point_arn(&self) -> &::std::option::Option<::std::string::String> {
697        &self.aws_backup_recovery_point_arn
698    }
699    /// Appends an item to `tag_list`.
700    ///
701    /// To override the contents of this collection use [`set_tag_list`](Self::set_tag_list).
702    ///
703    /// <p>A list of tags.</p>
704    /// <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html">Tagging Amazon RDS resources</a> in the <i>Amazon RDS User Guide</i> or <a href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html">Tagging Amazon Aurora and Amazon RDS resources</a> in the <i>Amazon Aurora User Guide</i>.</p>
705    pub fn tag_list(mut self, input: crate::types::Tag) -> Self {
706        let mut v = self.tag_list.unwrap_or_default();
707        v.push(input);
708        self.tag_list = ::std::option::Option::Some(v);
709        self
710    }
711    /// <p>A list of tags.</p>
712    /// <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html">Tagging Amazon RDS resources</a> in the <i>Amazon RDS User Guide</i> or <a href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html">Tagging Amazon Aurora and Amazon RDS resources</a> in the <i>Amazon Aurora User Guide</i>.</p>
713    pub fn set_tag_list(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
714        self.tag_list = input;
715        self
716    }
717    /// <p>A list of tags.</p>
718    /// <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html">Tagging Amazon RDS resources</a> in the <i>Amazon RDS User Guide</i> or <a href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html">Tagging Amazon Aurora and Amazon RDS resources</a> in the <i>Amazon Aurora User Guide</i>.</p>
719    pub fn get_tag_list(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
720        &self.tag_list
721    }
722    /// Consumes the builder and constructs a [`DbClusterAutomatedBackup`](crate::types::DbClusterAutomatedBackup).
723    pub fn build(self) -> crate::types::DbClusterAutomatedBackup {
724        crate::types::DbClusterAutomatedBackup {
725            engine: self.engine,
726            vpc_id: self.vpc_id,
727            db_cluster_automated_backups_arn: self.db_cluster_automated_backups_arn,
728            db_cluster_identifier: self.db_cluster_identifier,
729            restore_window: self.restore_window,
730            master_username: self.master_username,
731            db_cluster_resource_id: self.db_cluster_resource_id,
732            region: self.region,
733            license_model: self.license_model,
734            status: self.status,
735            iam_database_authentication_enabled: self.iam_database_authentication_enabled,
736            cluster_create_time: self.cluster_create_time,
737            storage_encrypted: self.storage_encrypted,
738            storage_encryption_type: self.storage_encryption_type,
739            allocated_storage: self.allocated_storage,
740            engine_version: self.engine_version,
741            db_cluster_arn: self.db_cluster_arn,
742            backup_retention_period: self.backup_retention_period,
743            preferred_backup_window: self.preferred_backup_window,
744            engine_mode: self.engine_mode,
745            availability_zones: self.availability_zones,
746            port: self.port,
747            kms_key_id: self.kms_key_id,
748            storage_type: self.storage_type,
749            iops: self.iops,
750            storage_throughput: self.storage_throughput,
751            aws_backup_recovery_point_arn: self.aws_backup_recovery_point_arn,
752            tag_list: self.tag_list,
753        }
754    }
755}