aws_sdk_securityhub/types/
_aws_rds_db_cluster_details.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// <p>Information about an Amazon RDS DB cluster.</p>
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct AwsRdsDbClusterDetails {
7    /// <p>For all database engines except Aurora, specifies the allocated storage size in gibibytes (GiB).</p>
8    pub allocated_storage: ::std::option::Option<i32>,
9    /// <p>A list of Availability Zones (AZs) where instances in the DB cluster can be created.</p>
10    pub availability_zones: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
11    /// <p>The number of days for which automated backups are retained.</p>
12    pub backup_retention_period: ::std::option::Option<i32>,
13    /// <p>The name of the database.</p>
14    pub database_name: ::std::option::Option<::std::string::String>,
15    /// <p>The current status of this DB cluster.</p>
16    pub status: ::std::option::Option<::std::string::String>,
17    /// <p>The connection endpoint for the primary instance of the DB cluster.</p>
18    pub endpoint: ::std::option::Option<::std::string::String>,
19    /// <p>The reader endpoint for the DB cluster.</p>
20    pub reader_endpoint: ::std::option::Option<::std::string::String>,
21    /// <p>A list of custom endpoints for the DB cluster.</p>
22    pub custom_endpoints: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
23    /// <p>Whether the DB cluster has instances in multiple Availability Zones.</p>
24    pub multi_az: ::std::option::Option<bool>,
25    /// <p>The name of the database engine to use for this DB cluster. Valid values are as follows:</p>
26    /// <ul>
27    /// <li>
28    /// <p><code>aurora</code></p></li>
29    /// <li>
30    /// <p><code>aurora-mysql</code></p></li>
31    /// <li>
32    /// <p><code>aurora-postgresql</code></p></li>
33    /// </ul>
34    pub engine: ::std::option::Option<::std::string::String>,
35    /// <p>The version number of the database engine to use.</p>
36    pub engine_version: ::std::option::Option<::std::string::String>,
37    /// <p>The port number on which the DB instances in the DB cluster accept connections.</p>
38    pub port: ::std::option::Option<i32>,
39    /// <p>The name of the master user for the DB cluster.</p>
40    pub master_username: ::std::option::Option<::std::string::String>,
41    /// <p>The range of time each day when automated backups are created, if automated backups are enabled.</p>
42    /// <p>Uses the format <code>HH:MM-HH:MM</code>. For example, <code>04:52-05:22</code>.</p>
43    pub preferred_backup_window: ::std::option::Option<::std::string::String>,
44    /// <p>The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).</p>
45    /// <p>Uses the format <code><day>
46    /// :HH:MM-
47    /// <day>
48    /// :HH:MM
49    /// </day>
50    /// </day></code>.</p>
51    /// <p>For the day values, use <code>mon</code>|<code>tue</code>|<code>wed</code>|<code>thu</code>|<code>fri</code>|<code>sat</code>|<code>sun</code>.</p>
52    /// <p>For example, <code>sun:09:32-sun:10:02</code>.</p>
53    pub preferred_maintenance_window: ::std::option::Option<::std::string::String>,
54    /// <p>The identifiers of the read replicas that are associated with this DB cluster.</p>
55    pub read_replica_identifiers: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
56    /// <p>A list of VPC security groups that the DB cluster belongs to.</p>
57    pub vpc_security_groups: ::std::option::Option<::std::vec::Vec<crate::types::AwsRdsDbInstanceVpcSecurityGroup>>,
58    /// <p>Specifies the identifier that Amazon Route 53 assigns when you create a hosted zone.</p>
59    pub hosted_zone_id: ::std::option::Option<::std::string::String>,
60    /// <p>Whether the DB cluster is encrypted.</p>
61    pub storage_encrypted: ::std::option::Option<bool>,
62    /// <p>The ARN of the KMS master key that is used to encrypt the database instances in the DB cluster.</p>
63    pub kms_key_id: ::std::option::Option<::std::string::String>,
64    /// <p>The identifier of the DB cluster. The identifier must be unique within each Amazon Web Services Region and is immutable.</p>
65    pub db_cluster_resource_id: ::std::option::Option<::std::string::String>,
66    /// <p>A list of the IAM roles that are associated with the DB cluster.</p>
67    pub associated_roles: ::std::option::Option<::std::vec::Vec<crate::types::AwsRdsDbClusterAssociatedRole>>,
68    /// <p>Indicates when the DB cluster was created, in Universal Coordinated Time (UTC).</p>
69    /// <p>For more information about the validation and formatting of timestamp fields in Security Hub, see <a href="https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps">Timestamps</a>.</p>
70    pub cluster_create_time: ::std::option::Option<::std::string::String>,
71    /// <p>A list of log types that this DB cluster is configured to export to CloudWatch Logs.</p>
72    pub enabled_cloud_watch_logs_exports: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
73    /// <p>The database engine mode of the DB cluster.Valid values are as follows:</p>
74    /// <ul>
75    /// <li>
76    /// <p><code>global</code></p></li>
77    /// <li>
78    /// <p><code>multimaster</code></p></li>
79    /// <li>
80    /// <p><code>parallelquery</code></p></li>
81    /// <li>
82    /// <p><code>provisioned</code></p></li>
83    /// <li>
84    /// <p><code>serverless</code></p></li>
85    /// </ul>
86    pub engine_mode: ::std::option::Option<::std::string::String>,
87    /// <p>Whether the DB cluster has deletion protection enabled.</p>
88    pub deletion_protection: ::std::option::Option<bool>,
89    /// <p>Whether the HTTP endpoint for an Aurora Serverless DB cluster is enabled.</p>
90    pub http_endpoint_enabled: ::std::option::Option<bool>,
91    /// <p>The status of the database activity stream. Valid values are as follows:</p>
92    /// <ul>
93    /// <li>
94    /// <p><code>started</code></p></li>
95    /// <li>
96    /// <p><code>starting</code></p></li>
97    /// <li>
98    /// <p><code>stopped</code></p></li>
99    /// <li>
100    /// <p><code>stopping</code></p></li>
101    /// </ul>
102    pub activity_stream_status: ::std::option::Option<::std::string::String>,
103    /// <p>Whether tags are copied from the DB cluster to snapshots of the DB cluster.</p>
104    pub copy_tags_to_snapshot: ::std::option::Option<bool>,
105    /// <p>Whether the DB cluster is a clone of a DB cluster owned by a different Amazon Web Services account.</p>
106    pub cross_account_clone: ::std::option::Option<bool>,
107    /// <p>The Active Directory domain membership records that are associated with the DB cluster.</p>
108    pub domain_memberships: ::std::option::Option<::std::vec::Vec<crate::types::AwsRdsDbDomainMembership>>,
109    /// <p>The name of the DB cluster parameter group for the DB cluster.</p>
110    pub db_cluster_parameter_group: ::std::option::Option<::std::string::String>,
111    /// <p>The subnet group that is associated with the DB cluster, including the name, description, and subnets in the subnet group.</p>
112    pub db_subnet_group: ::std::option::Option<::std::string::String>,
113    /// <p>The list of option group memberships for this DB cluster.</p>
114    pub db_cluster_option_group_memberships: ::std::option::Option<::std::vec::Vec<crate::types::AwsRdsDbClusterOptionGroupMembership>>,
115    /// <p>The DB cluster identifier that the user assigned to the cluster. This identifier is the unique key that identifies a DB cluster.</p>
116    pub db_cluster_identifier: ::std::option::Option<::std::string::String>,
117    /// <p>The list of instances that make up the DB cluster.</p>
118    pub db_cluster_members: ::std::option::Option<::std::vec::Vec<crate::types::AwsRdsDbClusterMember>>,
119    /// <p>Whether the mapping of IAM accounts to database accounts is enabled.</p>
120    pub iam_database_authentication_enabled: ::std::option::Option<bool>,
121    /// <p>Indicates if minor version upgrades are automatically applied to the cluster.</p>
122    pub auto_minor_version_upgrade: ::std::option::Option<bool>,
123}
124impl AwsRdsDbClusterDetails {
125    /// <p>For all database engines except Aurora, specifies the allocated storage size in gibibytes (GiB).</p>
126    pub fn allocated_storage(&self) -> ::std::option::Option<i32> {
127        self.allocated_storage
128    }
129    /// <p>A list of Availability Zones (AZs) where instances in the DB cluster can be created.</p>
130    ///
131    /// 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()`.
132    pub fn availability_zones(&self) -> &[::std::string::String] {
133        self.availability_zones.as_deref().unwrap_or_default()
134    }
135    /// <p>The number of days for which automated backups are retained.</p>
136    pub fn backup_retention_period(&self) -> ::std::option::Option<i32> {
137        self.backup_retention_period
138    }
139    /// <p>The name of the database.</p>
140    pub fn database_name(&self) -> ::std::option::Option<&str> {
141        self.database_name.as_deref()
142    }
143    /// <p>The current status of this DB cluster.</p>
144    pub fn status(&self) -> ::std::option::Option<&str> {
145        self.status.as_deref()
146    }
147    /// <p>The connection endpoint for the primary instance of the DB cluster.</p>
148    pub fn endpoint(&self) -> ::std::option::Option<&str> {
149        self.endpoint.as_deref()
150    }
151    /// <p>The reader endpoint for the DB cluster.</p>
152    pub fn reader_endpoint(&self) -> ::std::option::Option<&str> {
153        self.reader_endpoint.as_deref()
154    }
155    /// <p>A list of custom endpoints for the DB cluster.</p>
156    ///
157    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.custom_endpoints.is_none()`.
158    pub fn custom_endpoints(&self) -> &[::std::string::String] {
159        self.custom_endpoints.as_deref().unwrap_or_default()
160    }
161    /// <p>Whether the DB cluster has instances in multiple Availability Zones.</p>
162    pub fn multi_az(&self) -> ::std::option::Option<bool> {
163        self.multi_az
164    }
165    /// <p>The name of the database engine to use for this DB cluster. Valid values are as follows:</p>
166    /// <ul>
167    /// <li>
168    /// <p><code>aurora</code></p></li>
169    /// <li>
170    /// <p><code>aurora-mysql</code></p></li>
171    /// <li>
172    /// <p><code>aurora-postgresql</code></p></li>
173    /// </ul>
174    pub fn engine(&self) -> ::std::option::Option<&str> {
175        self.engine.as_deref()
176    }
177    /// <p>The version number of the database engine to use.</p>
178    pub fn engine_version(&self) -> ::std::option::Option<&str> {
179        self.engine_version.as_deref()
180    }
181    /// <p>The port number on which the DB instances in the DB cluster accept connections.</p>
182    pub fn port(&self) -> ::std::option::Option<i32> {
183        self.port
184    }
185    /// <p>The name of the master user for the DB cluster.</p>
186    pub fn master_username(&self) -> ::std::option::Option<&str> {
187        self.master_username.as_deref()
188    }
189    /// <p>The range of time each day when automated backups are created, if automated backups are enabled.</p>
190    /// <p>Uses the format <code>HH:MM-HH:MM</code>. For example, <code>04:52-05:22</code>.</p>
191    pub fn preferred_backup_window(&self) -> ::std::option::Option<&str> {
192        self.preferred_backup_window.as_deref()
193    }
194    /// <p>The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).</p>
195    /// <p>Uses the format <code><day>
196    /// :HH:MM-
197    /// <day>
198    /// :HH:MM
199    /// </day>
200    /// </day></code>.</p>
201    /// <p>For the day values, use <code>mon</code>|<code>tue</code>|<code>wed</code>|<code>thu</code>|<code>fri</code>|<code>sat</code>|<code>sun</code>.</p>
202    /// <p>For example, <code>sun:09:32-sun:10:02</code>.</p>
203    pub fn preferred_maintenance_window(&self) -> ::std::option::Option<&str> {
204        self.preferred_maintenance_window.as_deref()
205    }
206    /// <p>The identifiers of the read replicas that are associated with this DB cluster.</p>
207    ///
208    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.read_replica_identifiers.is_none()`.
209    pub fn read_replica_identifiers(&self) -> &[::std::string::String] {
210        self.read_replica_identifiers.as_deref().unwrap_or_default()
211    }
212    /// <p>A list of VPC security groups that the DB cluster belongs to.</p>
213    ///
214    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.vpc_security_groups.is_none()`.
215    pub fn vpc_security_groups(&self) -> &[crate::types::AwsRdsDbInstanceVpcSecurityGroup] {
216        self.vpc_security_groups.as_deref().unwrap_or_default()
217    }
218    /// <p>Specifies the identifier that Amazon Route 53 assigns when you create a hosted zone.</p>
219    pub fn hosted_zone_id(&self) -> ::std::option::Option<&str> {
220        self.hosted_zone_id.as_deref()
221    }
222    /// <p>Whether the DB cluster is encrypted.</p>
223    pub fn storage_encrypted(&self) -> ::std::option::Option<bool> {
224        self.storage_encrypted
225    }
226    /// <p>The ARN of the KMS master key that is used to encrypt the database instances in the DB cluster.</p>
227    pub fn kms_key_id(&self) -> ::std::option::Option<&str> {
228        self.kms_key_id.as_deref()
229    }
230    /// <p>The identifier of the DB cluster. The identifier must be unique within each Amazon Web Services Region and is immutable.</p>
231    pub fn db_cluster_resource_id(&self) -> ::std::option::Option<&str> {
232        self.db_cluster_resource_id.as_deref()
233    }
234    /// <p>A list of the IAM roles that are associated with the DB cluster.</p>
235    ///
236    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.associated_roles.is_none()`.
237    pub fn associated_roles(&self) -> &[crate::types::AwsRdsDbClusterAssociatedRole] {
238        self.associated_roles.as_deref().unwrap_or_default()
239    }
240    /// <p>Indicates when the DB cluster was created, in Universal Coordinated Time (UTC).</p>
241    /// <p>For more information about the validation and formatting of timestamp fields in Security Hub, see <a href="https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps">Timestamps</a>.</p>
242    pub fn cluster_create_time(&self) -> ::std::option::Option<&str> {
243        self.cluster_create_time.as_deref()
244    }
245    /// <p>A list of log types that this DB cluster is configured to export to CloudWatch Logs.</p>
246    ///
247    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.enabled_cloud_watch_logs_exports.is_none()`.
248    pub fn enabled_cloud_watch_logs_exports(&self) -> &[::std::string::String] {
249        self.enabled_cloud_watch_logs_exports.as_deref().unwrap_or_default()
250    }
251    /// <p>The database engine mode of the DB cluster.Valid values are as follows:</p>
252    /// <ul>
253    /// <li>
254    /// <p><code>global</code></p></li>
255    /// <li>
256    /// <p><code>multimaster</code></p></li>
257    /// <li>
258    /// <p><code>parallelquery</code></p></li>
259    /// <li>
260    /// <p><code>provisioned</code></p></li>
261    /// <li>
262    /// <p><code>serverless</code></p></li>
263    /// </ul>
264    pub fn engine_mode(&self) -> ::std::option::Option<&str> {
265        self.engine_mode.as_deref()
266    }
267    /// <p>Whether the DB cluster has deletion protection enabled.</p>
268    pub fn deletion_protection(&self) -> ::std::option::Option<bool> {
269        self.deletion_protection
270    }
271    /// <p>Whether the HTTP endpoint for an Aurora Serverless DB cluster is enabled.</p>
272    pub fn http_endpoint_enabled(&self) -> ::std::option::Option<bool> {
273        self.http_endpoint_enabled
274    }
275    /// <p>The status of the database activity stream. Valid values are as follows:</p>
276    /// <ul>
277    /// <li>
278    /// <p><code>started</code></p></li>
279    /// <li>
280    /// <p><code>starting</code></p></li>
281    /// <li>
282    /// <p><code>stopped</code></p></li>
283    /// <li>
284    /// <p><code>stopping</code></p></li>
285    /// </ul>
286    pub fn activity_stream_status(&self) -> ::std::option::Option<&str> {
287        self.activity_stream_status.as_deref()
288    }
289    /// <p>Whether tags are copied from the DB cluster to snapshots of the DB cluster.</p>
290    pub fn copy_tags_to_snapshot(&self) -> ::std::option::Option<bool> {
291        self.copy_tags_to_snapshot
292    }
293    /// <p>Whether the DB cluster is a clone of a DB cluster owned by a different Amazon Web Services account.</p>
294    pub fn cross_account_clone(&self) -> ::std::option::Option<bool> {
295        self.cross_account_clone
296    }
297    /// <p>The Active Directory domain membership records that are associated with the DB cluster.</p>
298    ///
299    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.domain_memberships.is_none()`.
300    pub fn domain_memberships(&self) -> &[crate::types::AwsRdsDbDomainMembership] {
301        self.domain_memberships.as_deref().unwrap_or_default()
302    }
303    /// <p>The name of the DB cluster parameter group for the DB cluster.</p>
304    pub fn db_cluster_parameter_group(&self) -> ::std::option::Option<&str> {
305        self.db_cluster_parameter_group.as_deref()
306    }
307    /// <p>The subnet group that is associated with the DB cluster, including the name, description, and subnets in the subnet group.</p>
308    pub fn db_subnet_group(&self) -> ::std::option::Option<&str> {
309        self.db_subnet_group.as_deref()
310    }
311    /// <p>The list of option group memberships for this DB cluster.</p>
312    ///
313    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.db_cluster_option_group_memberships.is_none()`.
314    pub fn db_cluster_option_group_memberships(&self) -> &[crate::types::AwsRdsDbClusterOptionGroupMembership] {
315        self.db_cluster_option_group_memberships.as_deref().unwrap_or_default()
316    }
317    /// <p>The DB cluster identifier that the user assigned to the cluster. This identifier is the unique key that identifies a DB cluster.</p>
318    pub fn db_cluster_identifier(&self) -> ::std::option::Option<&str> {
319        self.db_cluster_identifier.as_deref()
320    }
321    /// <p>The list of instances that make up the DB cluster.</p>
322    ///
323    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.db_cluster_members.is_none()`.
324    pub fn db_cluster_members(&self) -> &[crate::types::AwsRdsDbClusterMember] {
325        self.db_cluster_members.as_deref().unwrap_or_default()
326    }
327    /// <p>Whether the mapping of IAM accounts to database accounts is enabled.</p>
328    pub fn iam_database_authentication_enabled(&self) -> ::std::option::Option<bool> {
329        self.iam_database_authentication_enabled
330    }
331    /// <p>Indicates if minor version upgrades are automatically applied to the cluster.</p>
332    pub fn auto_minor_version_upgrade(&self) -> ::std::option::Option<bool> {
333        self.auto_minor_version_upgrade
334    }
335}
336impl AwsRdsDbClusterDetails {
337    /// Creates a new builder-style object to manufacture [`AwsRdsDbClusterDetails`](crate::types::AwsRdsDbClusterDetails).
338    pub fn builder() -> crate::types::builders::AwsRdsDbClusterDetailsBuilder {
339        crate::types::builders::AwsRdsDbClusterDetailsBuilder::default()
340    }
341}
342
343/// A builder for [`AwsRdsDbClusterDetails`](crate::types::AwsRdsDbClusterDetails).
344#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
345#[non_exhaustive]
346pub struct AwsRdsDbClusterDetailsBuilder {
347    pub(crate) allocated_storage: ::std::option::Option<i32>,
348    pub(crate) availability_zones: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
349    pub(crate) backup_retention_period: ::std::option::Option<i32>,
350    pub(crate) database_name: ::std::option::Option<::std::string::String>,
351    pub(crate) status: ::std::option::Option<::std::string::String>,
352    pub(crate) endpoint: ::std::option::Option<::std::string::String>,
353    pub(crate) reader_endpoint: ::std::option::Option<::std::string::String>,
354    pub(crate) custom_endpoints: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
355    pub(crate) multi_az: ::std::option::Option<bool>,
356    pub(crate) engine: ::std::option::Option<::std::string::String>,
357    pub(crate) engine_version: ::std::option::Option<::std::string::String>,
358    pub(crate) port: ::std::option::Option<i32>,
359    pub(crate) master_username: ::std::option::Option<::std::string::String>,
360    pub(crate) preferred_backup_window: ::std::option::Option<::std::string::String>,
361    pub(crate) preferred_maintenance_window: ::std::option::Option<::std::string::String>,
362    pub(crate) read_replica_identifiers: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
363    pub(crate) vpc_security_groups: ::std::option::Option<::std::vec::Vec<crate::types::AwsRdsDbInstanceVpcSecurityGroup>>,
364    pub(crate) hosted_zone_id: ::std::option::Option<::std::string::String>,
365    pub(crate) storage_encrypted: ::std::option::Option<bool>,
366    pub(crate) kms_key_id: ::std::option::Option<::std::string::String>,
367    pub(crate) db_cluster_resource_id: ::std::option::Option<::std::string::String>,
368    pub(crate) associated_roles: ::std::option::Option<::std::vec::Vec<crate::types::AwsRdsDbClusterAssociatedRole>>,
369    pub(crate) cluster_create_time: ::std::option::Option<::std::string::String>,
370    pub(crate) enabled_cloud_watch_logs_exports: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
371    pub(crate) engine_mode: ::std::option::Option<::std::string::String>,
372    pub(crate) deletion_protection: ::std::option::Option<bool>,
373    pub(crate) http_endpoint_enabled: ::std::option::Option<bool>,
374    pub(crate) activity_stream_status: ::std::option::Option<::std::string::String>,
375    pub(crate) copy_tags_to_snapshot: ::std::option::Option<bool>,
376    pub(crate) cross_account_clone: ::std::option::Option<bool>,
377    pub(crate) domain_memberships: ::std::option::Option<::std::vec::Vec<crate::types::AwsRdsDbDomainMembership>>,
378    pub(crate) db_cluster_parameter_group: ::std::option::Option<::std::string::String>,
379    pub(crate) db_subnet_group: ::std::option::Option<::std::string::String>,
380    pub(crate) db_cluster_option_group_memberships: ::std::option::Option<::std::vec::Vec<crate::types::AwsRdsDbClusterOptionGroupMembership>>,
381    pub(crate) db_cluster_identifier: ::std::option::Option<::std::string::String>,
382    pub(crate) db_cluster_members: ::std::option::Option<::std::vec::Vec<crate::types::AwsRdsDbClusterMember>>,
383    pub(crate) iam_database_authentication_enabled: ::std::option::Option<bool>,
384    pub(crate) auto_minor_version_upgrade: ::std::option::Option<bool>,
385}
386impl AwsRdsDbClusterDetailsBuilder {
387    /// <p>For all database engines except Aurora, specifies the allocated storage size in gibibytes (GiB).</p>
388    pub fn allocated_storage(mut self, input: i32) -> Self {
389        self.allocated_storage = ::std::option::Option::Some(input);
390        self
391    }
392    /// <p>For all database engines except Aurora, specifies the allocated storage size in gibibytes (GiB).</p>
393    pub fn set_allocated_storage(mut self, input: ::std::option::Option<i32>) -> Self {
394        self.allocated_storage = input;
395        self
396    }
397    /// <p>For all database engines except Aurora, specifies the allocated storage size in gibibytes (GiB).</p>
398    pub fn get_allocated_storage(&self) -> &::std::option::Option<i32> {
399        &self.allocated_storage
400    }
401    /// Appends an item to `availability_zones`.
402    ///
403    /// To override the contents of this collection use [`set_availability_zones`](Self::set_availability_zones).
404    ///
405    /// <p>A list of Availability Zones (AZs) where instances in the DB cluster can be created.</p>
406    pub fn availability_zones(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
407        let mut v = self.availability_zones.unwrap_or_default();
408        v.push(input.into());
409        self.availability_zones = ::std::option::Option::Some(v);
410        self
411    }
412    /// <p>A list of Availability Zones (AZs) where instances in the DB cluster can be created.</p>
413    pub fn set_availability_zones(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
414        self.availability_zones = input;
415        self
416    }
417    /// <p>A list of Availability Zones (AZs) where instances in the DB cluster can be created.</p>
418    pub fn get_availability_zones(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
419        &self.availability_zones
420    }
421    /// <p>The number of days for which automated backups are retained.</p>
422    pub fn backup_retention_period(mut self, input: i32) -> Self {
423        self.backup_retention_period = ::std::option::Option::Some(input);
424        self
425    }
426    /// <p>The number of days for which automated backups are retained.</p>
427    pub fn set_backup_retention_period(mut self, input: ::std::option::Option<i32>) -> Self {
428        self.backup_retention_period = input;
429        self
430    }
431    /// <p>The number of days for which automated backups are retained.</p>
432    pub fn get_backup_retention_period(&self) -> &::std::option::Option<i32> {
433        &self.backup_retention_period
434    }
435    /// <p>The name of the database.</p>
436    pub fn database_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
437        self.database_name = ::std::option::Option::Some(input.into());
438        self
439    }
440    /// <p>The name of the database.</p>
441    pub fn set_database_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
442        self.database_name = input;
443        self
444    }
445    /// <p>The name of the database.</p>
446    pub fn get_database_name(&self) -> &::std::option::Option<::std::string::String> {
447        &self.database_name
448    }
449    /// <p>The current status of this DB cluster.</p>
450    pub fn status(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
451        self.status = ::std::option::Option::Some(input.into());
452        self
453    }
454    /// <p>The current status of this DB cluster.</p>
455    pub fn set_status(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
456        self.status = input;
457        self
458    }
459    /// <p>The current status of this DB cluster.</p>
460    pub fn get_status(&self) -> &::std::option::Option<::std::string::String> {
461        &self.status
462    }
463    /// <p>The connection endpoint for the primary instance of the DB cluster.</p>
464    pub fn endpoint(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
465        self.endpoint = ::std::option::Option::Some(input.into());
466        self
467    }
468    /// <p>The connection endpoint for the primary instance of the DB cluster.</p>
469    pub fn set_endpoint(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
470        self.endpoint = input;
471        self
472    }
473    /// <p>The connection endpoint for the primary instance of the DB cluster.</p>
474    pub fn get_endpoint(&self) -> &::std::option::Option<::std::string::String> {
475        &self.endpoint
476    }
477    /// <p>The reader endpoint for the DB cluster.</p>
478    pub fn reader_endpoint(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
479        self.reader_endpoint = ::std::option::Option::Some(input.into());
480        self
481    }
482    /// <p>The reader endpoint for the DB cluster.</p>
483    pub fn set_reader_endpoint(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
484        self.reader_endpoint = input;
485        self
486    }
487    /// <p>The reader endpoint for the DB cluster.</p>
488    pub fn get_reader_endpoint(&self) -> &::std::option::Option<::std::string::String> {
489        &self.reader_endpoint
490    }
491    /// Appends an item to `custom_endpoints`.
492    ///
493    /// To override the contents of this collection use [`set_custom_endpoints`](Self::set_custom_endpoints).
494    ///
495    /// <p>A list of custom endpoints for the DB cluster.</p>
496    pub fn custom_endpoints(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
497        let mut v = self.custom_endpoints.unwrap_or_default();
498        v.push(input.into());
499        self.custom_endpoints = ::std::option::Option::Some(v);
500        self
501    }
502    /// <p>A list of custom endpoints for the DB cluster.</p>
503    pub fn set_custom_endpoints(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
504        self.custom_endpoints = input;
505        self
506    }
507    /// <p>A list of custom endpoints for the DB cluster.</p>
508    pub fn get_custom_endpoints(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
509        &self.custom_endpoints
510    }
511    /// <p>Whether the DB cluster has instances in multiple Availability Zones.</p>
512    pub fn multi_az(mut self, input: bool) -> Self {
513        self.multi_az = ::std::option::Option::Some(input);
514        self
515    }
516    /// <p>Whether the DB cluster has instances in multiple Availability Zones.</p>
517    pub fn set_multi_az(mut self, input: ::std::option::Option<bool>) -> Self {
518        self.multi_az = input;
519        self
520    }
521    /// <p>Whether the DB cluster has instances in multiple Availability Zones.</p>
522    pub fn get_multi_az(&self) -> &::std::option::Option<bool> {
523        &self.multi_az
524    }
525    /// <p>The name of the database engine to use for this DB cluster. Valid values are as follows:</p>
526    /// <ul>
527    /// <li>
528    /// <p><code>aurora</code></p></li>
529    /// <li>
530    /// <p><code>aurora-mysql</code></p></li>
531    /// <li>
532    /// <p><code>aurora-postgresql</code></p></li>
533    /// </ul>
534    pub fn engine(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
535        self.engine = ::std::option::Option::Some(input.into());
536        self
537    }
538    /// <p>The name of the database engine to use for this DB cluster. Valid values are as follows:</p>
539    /// <ul>
540    /// <li>
541    /// <p><code>aurora</code></p></li>
542    /// <li>
543    /// <p><code>aurora-mysql</code></p></li>
544    /// <li>
545    /// <p><code>aurora-postgresql</code></p></li>
546    /// </ul>
547    pub fn set_engine(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
548        self.engine = input;
549        self
550    }
551    /// <p>The name of the database engine to use for this DB cluster. Valid values are as follows:</p>
552    /// <ul>
553    /// <li>
554    /// <p><code>aurora</code></p></li>
555    /// <li>
556    /// <p><code>aurora-mysql</code></p></li>
557    /// <li>
558    /// <p><code>aurora-postgresql</code></p></li>
559    /// </ul>
560    pub fn get_engine(&self) -> &::std::option::Option<::std::string::String> {
561        &self.engine
562    }
563    /// <p>The version number of the database engine to use.</p>
564    pub fn engine_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
565        self.engine_version = ::std::option::Option::Some(input.into());
566        self
567    }
568    /// <p>The version number of the database engine to use.</p>
569    pub fn set_engine_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
570        self.engine_version = input;
571        self
572    }
573    /// <p>The version number of the database engine to use.</p>
574    pub fn get_engine_version(&self) -> &::std::option::Option<::std::string::String> {
575        &self.engine_version
576    }
577    /// <p>The port number on which the DB instances in the DB cluster accept connections.</p>
578    pub fn port(mut self, input: i32) -> Self {
579        self.port = ::std::option::Option::Some(input);
580        self
581    }
582    /// <p>The port number on which the DB instances in the DB cluster accept connections.</p>
583    pub fn set_port(mut self, input: ::std::option::Option<i32>) -> Self {
584        self.port = input;
585        self
586    }
587    /// <p>The port number on which the DB instances in the DB cluster accept connections.</p>
588    pub fn get_port(&self) -> &::std::option::Option<i32> {
589        &self.port
590    }
591    /// <p>The name of the master user for the DB cluster.</p>
592    pub fn master_username(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
593        self.master_username = ::std::option::Option::Some(input.into());
594        self
595    }
596    /// <p>The name of the master user for the DB cluster.</p>
597    pub fn set_master_username(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
598        self.master_username = input;
599        self
600    }
601    /// <p>The name of the master user for the DB cluster.</p>
602    pub fn get_master_username(&self) -> &::std::option::Option<::std::string::String> {
603        &self.master_username
604    }
605    /// <p>The range of time each day when automated backups are created, if automated backups are enabled.</p>
606    /// <p>Uses the format <code>HH:MM-HH:MM</code>. For example, <code>04:52-05:22</code>.</p>
607    pub fn preferred_backup_window(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
608        self.preferred_backup_window = ::std::option::Option::Some(input.into());
609        self
610    }
611    /// <p>The range of time each day when automated backups are created, if automated backups are enabled.</p>
612    /// <p>Uses the format <code>HH:MM-HH:MM</code>. For example, <code>04:52-05:22</code>.</p>
613    pub fn set_preferred_backup_window(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
614        self.preferred_backup_window = input;
615        self
616    }
617    /// <p>The range of time each day when automated backups are created, if automated backups are enabled.</p>
618    /// <p>Uses the format <code>HH:MM-HH:MM</code>. For example, <code>04:52-05:22</code>.</p>
619    pub fn get_preferred_backup_window(&self) -> &::std::option::Option<::std::string::String> {
620        &self.preferred_backup_window
621    }
622    /// <p>The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).</p>
623    /// <p>Uses the format <code><day>
624    /// :HH:MM-
625    /// <day>
626    /// :HH:MM
627    /// </day>
628    /// </day></code>.</p>
629    /// <p>For the day values, use <code>mon</code>|<code>tue</code>|<code>wed</code>|<code>thu</code>|<code>fri</code>|<code>sat</code>|<code>sun</code>.</p>
630    /// <p>For example, <code>sun:09:32-sun:10:02</code>.</p>
631    pub fn preferred_maintenance_window(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
632        self.preferred_maintenance_window = ::std::option::Option::Some(input.into());
633        self
634    }
635    /// <p>The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).</p>
636    /// <p>Uses the format <code><day>
637    /// :HH:MM-
638    /// <day>
639    /// :HH:MM
640    /// </day>
641    /// </day></code>.</p>
642    /// <p>For the day values, use <code>mon</code>|<code>tue</code>|<code>wed</code>|<code>thu</code>|<code>fri</code>|<code>sat</code>|<code>sun</code>.</p>
643    /// <p>For example, <code>sun:09:32-sun:10:02</code>.</p>
644    pub fn set_preferred_maintenance_window(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
645        self.preferred_maintenance_window = input;
646        self
647    }
648    /// <p>The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).</p>
649    /// <p>Uses the format <code><day>
650    /// :HH:MM-
651    /// <day>
652    /// :HH:MM
653    /// </day>
654    /// </day></code>.</p>
655    /// <p>For the day values, use <code>mon</code>|<code>tue</code>|<code>wed</code>|<code>thu</code>|<code>fri</code>|<code>sat</code>|<code>sun</code>.</p>
656    /// <p>For example, <code>sun:09:32-sun:10:02</code>.</p>
657    pub fn get_preferred_maintenance_window(&self) -> &::std::option::Option<::std::string::String> {
658        &self.preferred_maintenance_window
659    }
660    /// Appends an item to `read_replica_identifiers`.
661    ///
662    /// To override the contents of this collection use [`set_read_replica_identifiers`](Self::set_read_replica_identifiers).
663    ///
664    /// <p>The identifiers of the read replicas that are associated with this DB cluster.</p>
665    pub fn read_replica_identifiers(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
666        let mut v = self.read_replica_identifiers.unwrap_or_default();
667        v.push(input.into());
668        self.read_replica_identifiers = ::std::option::Option::Some(v);
669        self
670    }
671    /// <p>The identifiers of the read replicas that are associated with this DB cluster.</p>
672    pub fn set_read_replica_identifiers(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
673        self.read_replica_identifiers = input;
674        self
675    }
676    /// <p>The identifiers of the read replicas that are associated with this DB cluster.</p>
677    pub fn get_read_replica_identifiers(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
678        &self.read_replica_identifiers
679    }
680    /// Appends an item to `vpc_security_groups`.
681    ///
682    /// To override the contents of this collection use [`set_vpc_security_groups`](Self::set_vpc_security_groups).
683    ///
684    /// <p>A list of VPC security groups that the DB cluster belongs to.</p>
685    pub fn vpc_security_groups(mut self, input: crate::types::AwsRdsDbInstanceVpcSecurityGroup) -> Self {
686        let mut v = self.vpc_security_groups.unwrap_or_default();
687        v.push(input);
688        self.vpc_security_groups = ::std::option::Option::Some(v);
689        self
690    }
691    /// <p>A list of VPC security groups that the DB cluster belongs to.</p>
692    pub fn set_vpc_security_groups(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::AwsRdsDbInstanceVpcSecurityGroup>>) -> Self {
693        self.vpc_security_groups = input;
694        self
695    }
696    /// <p>A list of VPC security groups that the DB cluster belongs to.</p>
697    pub fn get_vpc_security_groups(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::AwsRdsDbInstanceVpcSecurityGroup>> {
698        &self.vpc_security_groups
699    }
700    /// <p>Specifies the identifier that Amazon Route 53 assigns when you create a hosted zone.</p>
701    pub fn hosted_zone_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
702        self.hosted_zone_id = ::std::option::Option::Some(input.into());
703        self
704    }
705    /// <p>Specifies the identifier that Amazon Route 53 assigns when you create a hosted zone.</p>
706    pub fn set_hosted_zone_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
707        self.hosted_zone_id = input;
708        self
709    }
710    /// <p>Specifies the identifier that Amazon Route 53 assigns when you create a hosted zone.</p>
711    pub fn get_hosted_zone_id(&self) -> &::std::option::Option<::std::string::String> {
712        &self.hosted_zone_id
713    }
714    /// <p>Whether the DB cluster is encrypted.</p>
715    pub fn storage_encrypted(mut self, input: bool) -> Self {
716        self.storage_encrypted = ::std::option::Option::Some(input);
717        self
718    }
719    /// <p>Whether the DB cluster is encrypted.</p>
720    pub fn set_storage_encrypted(mut self, input: ::std::option::Option<bool>) -> Self {
721        self.storage_encrypted = input;
722        self
723    }
724    /// <p>Whether the DB cluster is encrypted.</p>
725    pub fn get_storage_encrypted(&self) -> &::std::option::Option<bool> {
726        &self.storage_encrypted
727    }
728    /// <p>The ARN of the KMS master key that is used to encrypt the database instances in the DB cluster.</p>
729    pub fn kms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
730        self.kms_key_id = ::std::option::Option::Some(input.into());
731        self
732    }
733    /// <p>The ARN of the KMS master key that is used to encrypt the database instances in the DB cluster.</p>
734    pub fn set_kms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
735        self.kms_key_id = input;
736        self
737    }
738    /// <p>The ARN of the KMS master key that is used to encrypt the database instances in the DB cluster.</p>
739    pub fn get_kms_key_id(&self) -> &::std::option::Option<::std::string::String> {
740        &self.kms_key_id
741    }
742    /// <p>The identifier of the DB cluster. The identifier must be unique within each Amazon Web Services Region and is immutable.</p>
743    pub fn db_cluster_resource_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
744        self.db_cluster_resource_id = ::std::option::Option::Some(input.into());
745        self
746    }
747    /// <p>The identifier of the DB cluster. The identifier must be unique within each Amazon Web Services Region and is immutable.</p>
748    pub fn set_db_cluster_resource_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
749        self.db_cluster_resource_id = input;
750        self
751    }
752    /// <p>The identifier of the DB cluster. The identifier must be unique within each Amazon Web Services Region and is immutable.</p>
753    pub fn get_db_cluster_resource_id(&self) -> &::std::option::Option<::std::string::String> {
754        &self.db_cluster_resource_id
755    }
756    /// Appends an item to `associated_roles`.
757    ///
758    /// To override the contents of this collection use [`set_associated_roles`](Self::set_associated_roles).
759    ///
760    /// <p>A list of the IAM roles that are associated with the DB cluster.</p>
761    pub fn associated_roles(mut self, input: crate::types::AwsRdsDbClusterAssociatedRole) -> Self {
762        let mut v = self.associated_roles.unwrap_or_default();
763        v.push(input);
764        self.associated_roles = ::std::option::Option::Some(v);
765        self
766    }
767    /// <p>A list of the IAM roles that are associated with the DB cluster.</p>
768    pub fn set_associated_roles(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::AwsRdsDbClusterAssociatedRole>>) -> Self {
769        self.associated_roles = input;
770        self
771    }
772    /// <p>A list of the IAM roles that are associated with the DB cluster.</p>
773    pub fn get_associated_roles(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::AwsRdsDbClusterAssociatedRole>> {
774        &self.associated_roles
775    }
776    /// <p>Indicates when the DB cluster was created, in Universal Coordinated Time (UTC).</p>
777    /// <p>For more information about the validation and formatting of timestamp fields in Security Hub, see <a href="https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps">Timestamps</a>.</p>
778    pub fn cluster_create_time(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
779        self.cluster_create_time = ::std::option::Option::Some(input.into());
780        self
781    }
782    /// <p>Indicates when the DB cluster was created, in Universal Coordinated Time (UTC).</p>
783    /// <p>For more information about the validation and formatting of timestamp fields in Security Hub, see <a href="https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps">Timestamps</a>.</p>
784    pub fn set_cluster_create_time(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
785        self.cluster_create_time = input;
786        self
787    }
788    /// <p>Indicates when the DB cluster was created, in Universal Coordinated Time (UTC).</p>
789    /// <p>For more information about the validation and formatting of timestamp fields in Security Hub, see <a href="https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps">Timestamps</a>.</p>
790    pub fn get_cluster_create_time(&self) -> &::std::option::Option<::std::string::String> {
791        &self.cluster_create_time
792    }
793    /// Appends an item to `enabled_cloud_watch_logs_exports`.
794    ///
795    /// To override the contents of this collection use [`set_enabled_cloud_watch_logs_exports`](Self::set_enabled_cloud_watch_logs_exports).
796    ///
797    /// <p>A list of log types that this DB cluster is configured to export to CloudWatch Logs.</p>
798    pub fn enabled_cloud_watch_logs_exports(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
799        let mut v = self.enabled_cloud_watch_logs_exports.unwrap_or_default();
800        v.push(input.into());
801        self.enabled_cloud_watch_logs_exports = ::std::option::Option::Some(v);
802        self
803    }
804    /// <p>A list of log types that this DB cluster is configured to export to CloudWatch Logs.</p>
805    pub fn set_enabled_cloud_watch_logs_exports(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
806        self.enabled_cloud_watch_logs_exports = input;
807        self
808    }
809    /// <p>A list of log types that this DB cluster is configured to export to CloudWatch Logs.</p>
810    pub fn get_enabled_cloud_watch_logs_exports(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
811        &self.enabled_cloud_watch_logs_exports
812    }
813    /// <p>The database engine mode of the DB cluster.Valid values are as follows:</p>
814    /// <ul>
815    /// <li>
816    /// <p><code>global</code></p></li>
817    /// <li>
818    /// <p><code>multimaster</code></p></li>
819    /// <li>
820    /// <p><code>parallelquery</code></p></li>
821    /// <li>
822    /// <p><code>provisioned</code></p></li>
823    /// <li>
824    /// <p><code>serverless</code></p></li>
825    /// </ul>
826    pub fn engine_mode(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
827        self.engine_mode = ::std::option::Option::Some(input.into());
828        self
829    }
830    /// <p>The database engine mode of the DB cluster.Valid values are as follows:</p>
831    /// <ul>
832    /// <li>
833    /// <p><code>global</code></p></li>
834    /// <li>
835    /// <p><code>multimaster</code></p></li>
836    /// <li>
837    /// <p><code>parallelquery</code></p></li>
838    /// <li>
839    /// <p><code>provisioned</code></p></li>
840    /// <li>
841    /// <p><code>serverless</code></p></li>
842    /// </ul>
843    pub fn set_engine_mode(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
844        self.engine_mode = input;
845        self
846    }
847    /// <p>The database engine mode of the DB cluster.Valid values are as follows:</p>
848    /// <ul>
849    /// <li>
850    /// <p><code>global</code></p></li>
851    /// <li>
852    /// <p><code>multimaster</code></p></li>
853    /// <li>
854    /// <p><code>parallelquery</code></p></li>
855    /// <li>
856    /// <p><code>provisioned</code></p></li>
857    /// <li>
858    /// <p><code>serverless</code></p></li>
859    /// </ul>
860    pub fn get_engine_mode(&self) -> &::std::option::Option<::std::string::String> {
861        &self.engine_mode
862    }
863    /// <p>Whether the DB cluster has deletion protection enabled.</p>
864    pub fn deletion_protection(mut self, input: bool) -> Self {
865        self.deletion_protection = ::std::option::Option::Some(input);
866        self
867    }
868    /// <p>Whether the DB cluster has deletion protection enabled.</p>
869    pub fn set_deletion_protection(mut self, input: ::std::option::Option<bool>) -> Self {
870        self.deletion_protection = input;
871        self
872    }
873    /// <p>Whether the DB cluster has deletion protection enabled.</p>
874    pub fn get_deletion_protection(&self) -> &::std::option::Option<bool> {
875        &self.deletion_protection
876    }
877    /// <p>Whether the HTTP endpoint for an Aurora Serverless DB cluster is enabled.</p>
878    pub fn http_endpoint_enabled(mut self, input: bool) -> Self {
879        self.http_endpoint_enabled = ::std::option::Option::Some(input);
880        self
881    }
882    /// <p>Whether the HTTP endpoint for an Aurora Serverless DB cluster is enabled.</p>
883    pub fn set_http_endpoint_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
884        self.http_endpoint_enabled = input;
885        self
886    }
887    /// <p>Whether the HTTP endpoint for an Aurora Serverless DB cluster is enabled.</p>
888    pub fn get_http_endpoint_enabled(&self) -> &::std::option::Option<bool> {
889        &self.http_endpoint_enabled
890    }
891    /// <p>The status of the database activity stream. Valid values are as follows:</p>
892    /// <ul>
893    /// <li>
894    /// <p><code>started</code></p></li>
895    /// <li>
896    /// <p><code>starting</code></p></li>
897    /// <li>
898    /// <p><code>stopped</code></p></li>
899    /// <li>
900    /// <p><code>stopping</code></p></li>
901    /// </ul>
902    pub fn activity_stream_status(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
903        self.activity_stream_status = ::std::option::Option::Some(input.into());
904        self
905    }
906    /// <p>The status of the database activity stream. Valid values are as follows:</p>
907    /// <ul>
908    /// <li>
909    /// <p><code>started</code></p></li>
910    /// <li>
911    /// <p><code>starting</code></p></li>
912    /// <li>
913    /// <p><code>stopped</code></p></li>
914    /// <li>
915    /// <p><code>stopping</code></p></li>
916    /// </ul>
917    pub fn set_activity_stream_status(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
918        self.activity_stream_status = input;
919        self
920    }
921    /// <p>The status of the database activity stream. Valid values are as follows:</p>
922    /// <ul>
923    /// <li>
924    /// <p><code>started</code></p></li>
925    /// <li>
926    /// <p><code>starting</code></p></li>
927    /// <li>
928    /// <p><code>stopped</code></p></li>
929    /// <li>
930    /// <p><code>stopping</code></p></li>
931    /// </ul>
932    pub fn get_activity_stream_status(&self) -> &::std::option::Option<::std::string::String> {
933        &self.activity_stream_status
934    }
935    /// <p>Whether tags are copied from the DB cluster to snapshots of the DB cluster.</p>
936    pub fn copy_tags_to_snapshot(mut self, input: bool) -> Self {
937        self.copy_tags_to_snapshot = ::std::option::Option::Some(input);
938        self
939    }
940    /// <p>Whether tags are copied from the DB cluster to snapshots of the DB cluster.</p>
941    pub fn set_copy_tags_to_snapshot(mut self, input: ::std::option::Option<bool>) -> Self {
942        self.copy_tags_to_snapshot = input;
943        self
944    }
945    /// <p>Whether tags are copied from the DB cluster to snapshots of the DB cluster.</p>
946    pub fn get_copy_tags_to_snapshot(&self) -> &::std::option::Option<bool> {
947        &self.copy_tags_to_snapshot
948    }
949    /// <p>Whether the DB cluster is a clone of a DB cluster owned by a different Amazon Web Services account.</p>
950    pub fn cross_account_clone(mut self, input: bool) -> Self {
951        self.cross_account_clone = ::std::option::Option::Some(input);
952        self
953    }
954    /// <p>Whether the DB cluster is a clone of a DB cluster owned by a different Amazon Web Services account.</p>
955    pub fn set_cross_account_clone(mut self, input: ::std::option::Option<bool>) -> Self {
956        self.cross_account_clone = input;
957        self
958    }
959    /// <p>Whether the DB cluster is a clone of a DB cluster owned by a different Amazon Web Services account.</p>
960    pub fn get_cross_account_clone(&self) -> &::std::option::Option<bool> {
961        &self.cross_account_clone
962    }
963    /// Appends an item to `domain_memberships`.
964    ///
965    /// To override the contents of this collection use [`set_domain_memberships`](Self::set_domain_memberships).
966    ///
967    /// <p>The Active Directory domain membership records that are associated with the DB cluster.</p>
968    pub fn domain_memberships(mut self, input: crate::types::AwsRdsDbDomainMembership) -> Self {
969        let mut v = self.domain_memberships.unwrap_or_default();
970        v.push(input);
971        self.domain_memberships = ::std::option::Option::Some(v);
972        self
973    }
974    /// <p>The Active Directory domain membership records that are associated with the DB cluster.</p>
975    pub fn set_domain_memberships(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::AwsRdsDbDomainMembership>>) -> Self {
976        self.domain_memberships = input;
977        self
978    }
979    /// <p>The Active Directory domain membership records that are associated with the DB cluster.</p>
980    pub fn get_domain_memberships(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::AwsRdsDbDomainMembership>> {
981        &self.domain_memberships
982    }
983    /// <p>The name of the DB cluster parameter group for the DB cluster.</p>
984    pub fn db_cluster_parameter_group(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
985        self.db_cluster_parameter_group = ::std::option::Option::Some(input.into());
986        self
987    }
988    /// <p>The name of the DB cluster parameter group for the DB cluster.</p>
989    pub fn set_db_cluster_parameter_group(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
990        self.db_cluster_parameter_group = input;
991        self
992    }
993    /// <p>The name of the DB cluster parameter group for the DB cluster.</p>
994    pub fn get_db_cluster_parameter_group(&self) -> &::std::option::Option<::std::string::String> {
995        &self.db_cluster_parameter_group
996    }
997    /// <p>The subnet group that is associated with the DB cluster, including the name, description, and subnets in the subnet group.</p>
998    pub fn db_subnet_group(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
999        self.db_subnet_group = ::std::option::Option::Some(input.into());
1000        self
1001    }
1002    /// <p>The subnet group that is associated with the DB cluster, including the name, description, and subnets in the subnet group.</p>
1003    pub fn set_db_subnet_group(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
1004        self.db_subnet_group = input;
1005        self
1006    }
1007    /// <p>The subnet group that is associated with the DB cluster, including the name, description, and subnets in the subnet group.</p>
1008    pub fn get_db_subnet_group(&self) -> &::std::option::Option<::std::string::String> {
1009        &self.db_subnet_group
1010    }
1011    /// Appends an item to `db_cluster_option_group_memberships`.
1012    ///
1013    /// To override the contents of this collection use [`set_db_cluster_option_group_memberships`](Self::set_db_cluster_option_group_memberships).
1014    ///
1015    /// <p>The list of option group memberships for this DB cluster.</p>
1016    pub fn db_cluster_option_group_memberships(mut self, input: crate::types::AwsRdsDbClusterOptionGroupMembership) -> Self {
1017        let mut v = self.db_cluster_option_group_memberships.unwrap_or_default();
1018        v.push(input);
1019        self.db_cluster_option_group_memberships = ::std::option::Option::Some(v);
1020        self
1021    }
1022    /// <p>The list of option group memberships for this DB cluster.</p>
1023    pub fn set_db_cluster_option_group_memberships(
1024        mut self,
1025        input: ::std::option::Option<::std::vec::Vec<crate::types::AwsRdsDbClusterOptionGroupMembership>>,
1026    ) -> Self {
1027        self.db_cluster_option_group_memberships = input;
1028        self
1029    }
1030    /// <p>The list of option group memberships for this DB cluster.</p>
1031    pub fn get_db_cluster_option_group_memberships(
1032        &self,
1033    ) -> &::std::option::Option<::std::vec::Vec<crate::types::AwsRdsDbClusterOptionGroupMembership>> {
1034        &self.db_cluster_option_group_memberships
1035    }
1036    /// <p>The DB cluster identifier that the user assigned to the cluster. This identifier is the unique key that identifies a DB cluster.</p>
1037    pub fn db_cluster_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
1038        self.db_cluster_identifier = ::std::option::Option::Some(input.into());
1039        self
1040    }
1041    /// <p>The DB cluster identifier that the user assigned to the cluster. This identifier is the unique key that identifies a DB cluster.</p>
1042    pub fn set_db_cluster_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
1043        self.db_cluster_identifier = input;
1044        self
1045    }
1046    /// <p>The DB cluster identifier that the user assigned to the cluster. This identifier is the unique key that identifies a DB cluster.</p>
1047    pub fn get_db_cluster_identifier(&self) -> &::std::option::Option<::std::string::String> {
1048        &self.db_cluster_identifier
1049    }
1050    /// Appends an item to `db_cluster_members`.
1051    ///
1052    /// To override the contents of this collection use [`set_db_cluster_members`](Self::set_db_cluster_members).
1053    ///
1054    /// <p>The list of instances that make up the DB cluster.</p>
1055    pub fn db_cluster_members(mut self, input: crate::types::AwsRdsDbClusterMember) -> Self {
1056        let mut v = self.db_cluster_members.unwrap_or_default();
1057        v.push(input);
1058        self.db_cluster_members = ::std::option::Option::Some(v);
1059        self
1060    }
1061    /// <p>The list of instances that make up the DB cluster.</p>
1062    pub fn set_db_cluster_members(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::AwsRdsDbClusterMember>>) -> Self {
1063        self.db_cluster_members = input;
1064        self
1065    }
1066    /// <p>The list of instances that make up the DB cluster.</p>
1067    pub fn get_db_cluster_members(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::AwsRdsDbClusterMember>> {
1068        &self.db_cluster_members
1069    }
1070    /// <p>Whether the mapping of IAM accounts to database accounts is enabled.</p>
1071    pub fn iam_database_authentication_enabled(mut self, input: bool) -> Self {
1072        self.iam_database_authentication_enabled = ::std::option::Option::Some(input);
1073        self
1074    }
1075    /// <p>Whether the mapping of IAM accounts to database accounts is enabled.</p>
1076    pub fn set_iam_database_authentication_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
1077        self.iam_database_authentication_enabled = input;
1078        self
1079    }
1080    /// <p>Whether the mapping of IAM accounts to database accounts is enabled.</p>
1081    pub fn get_iam_database_authentication_enabled(&self) -> &::std::option::Option<bool> {
1082        &self.iam_database_authentication_enabled
1083    }
1084    /// <p>Indicates if minor version upgrades are automatically applied to the cluster.</p>
1085    pub fn auto_minor_version_upgrade(mut self, input: bool) -> Self {
1086        self.auto_minor_version_upgrade = ::std::option::Option::Some(input);
1087        self
1088    }
1089    /// <p>Indicates if minor version upgrades are automatically applied to the cluster.</p>
1090    pub fn set_auto_minor_version_upgrade(mut self, input: ::std::option::Option<bool>) -> Self {
1091        self.auto_minor_version_upgrade = input;
1092        self
1093    }
1094    /// <p>Indicates if minor version upgrades are automatically applied to the cluster.</p>
1095    pub fn get_auto_minor_version_upgrade(&self) -> &::std::option::Option<bool> {
1096        &self.auto_minor_version_upgrade
1097    }
1098    /// Consumes the builder and constructs a [`AwsRdsDbClusterDetails`](crate::types::AwsRdsDbClusterDetails).
1099    pub fn build(self) -> crate::types::AwsRdsDbClusterDetails {
1100        crate::types::AwsRdsDbClusterDetails {
1101            allocated_storage: self.allocated_storage,
1102            availability_zones: self.availability_zones,
1103            backup_retention_period: self.backup_retention_period,
1104            database_name: self.database_name,
1105            status: self.status,
1106            endpoint: self.endpoint,
1107            reader_endpoint: self.reader_endpoint,
1108            custom_endpoints: self.custom_endpoints,
1109            multi_az: self.multi_az,
1110            engine: self.engine,
1111            engine_version: self.engine_version,
1112            port: self.port,
1113            master_username: self.master_username,
1114            preferred_backup_window: self.preferred_backup_window,
1115            preferred_maintenance_window: self.preferred_maintenance_window,
1116            read_replica_identifiers: self.read_replica_identifiers,
1117            vpc_security_groups: self.vpc_security_groups,
1118            hosted_zone_id: self.hosted_zone_id,
1119            storage_encrypted: self.storage_encrypted,
1120            kms_key_id: self.kms_key_id,
1121            db_cluster_resource_id: self.db_cluster_resource_id,
1122            associated_roles: self.associated_roles,
1123            cluster_create_time: self.cluster_create_time,
1124            enabled_cloud_watch_logs_exports: self.enabled_cloud_watch_logs_exports,
1125            engine_mode: self.engine_mode,
1126            deletion_protection: self.deletion_protection,
1127            http_endpoint_enabled: self.http_endpoint_enabled,
1128            activity_stream_status: self.activity_stream_status,
1129            copy_tags_to_snapshot: self.copy_tags_to_snapshot,
1130            cross_account_clone: self.cross_account_clone,
1131            domain_memberships: self.domain_memberships,
1132            db_cluster_parameter_group: self.db_cluster_parameter_group,
1133            db_subnet_group: self.db_subnet_group,
1134            db_cluster_option_group_memberships: self.db_cluster_option_group_memberships,
1135            db_cluster_identifier: self.db_cluster_identifier,
1136            db_cluster_members: self.db_cluster_members,
1137            iam_database_authentication_enabled: self.iam_database_authentication_enabled,
1138            auto_minor_version_upgrade: self.auto_minor_version_upgrade,
1139        }
1140    }
1141}