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}