aws_sdk_mq/operation/describe_broker/
_describe_broker_output.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct DescribeBrokerOutput {
6    /// <p>Actions required for a broker.</p>
7    pub actions_required: ::std::option::Option<::std::vec::Vec<crate::types::ActionRequired>>,
8    /// <p>The authentication strategy used to secure the broker. The default is SIMPLE.</p>
9    pub authentication_strategy: ::std::option::Option<crate::types::AuthenticationStrategy>,
10    /// <p>Enables automatic upgrades to new patch versions for brokers as new versions are released and supported by Amazon MQ. Automatic upgrades occur during the scheduled maintenance window or after a manual broker reboot.</p>
11    pub auto_minor_version_upgrade: ::std::option::Option<bool>,
12    /// <p>The broker's Amazon Resource Name (ARN).</p>
13    pub broker_arn: ::std::option::Option<::std::string::String>,
14    /// <p>The unique ID that Amazon MQ generates for the broker.</p>
15    pub broker_id: ::std::option::Option<::std::string::String>,
16    /// <p>A list of information about allocated brokers.</p>
17    pub broker_instances: ::std::option::Option<::std::vec::Vec<crate::types::BrokerInstance>>,
18    /// <p>The broker's name. This value must be unique in your Amazon Web Services account account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain white spaces, brackets, wildcard characters, or special characters.</p>
19    pub broker_name: ::std::option::Option<::std::string::String>,
20    /// <p>The broker's status.</p>
21    pub broker_state: ::std::option::Option<crate::types::BrokerState>,
22    /// <p>The list of all revisions for the specified configuration.</p>
23    pub configurations: ::std::option::Option<crate::types::Configurations>,
24    /// <p>The time when the broker was created.</p>
25    pub created: ::std::option::Option<::aws_smithy_types::DateTime>,
26    /// <p>The broker's deployment mode.</p>
27    pub deployment_mode: ::std::option::Option<crate::types::DeploymentMode>,
28    /// <p>Encryption options for the broker.</p>
29    pub encryption_options: ::std::option::Option<crate::types::EncryptionOptions>,
30    /// <p>The type of broker engine. Currently, Amazon MQ supports ACTIVEMQ and RABBITMQ.</p>
31    pub engine_type: ::std::option::Option<crate::types::EngineType>,
32    /// <p>The broker engine version. For more information, see the <a href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/activemq-version-management.html">ActiveMQ version management</a> and the <a href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/rabbitmq-version-management.html">RabbitMQ version management</a> sections in the Amazon MQ Developer Guide.</p>
33    pub engine_version: ::std::option::Option<::std::string::String>,
34    /// <p>The broker's instance type.</p>
35    pub host_instance_type: ::std::option::Option<::std::string::String>,
36    /// <p>The metadata of the LDAP server used to authenticate and authorize connections to the broker.</p>
37    pub ldap_server_metadata: ::std::option::Option<crate::types::LdapServerMetadataOutput>,
38    /// <p>The list of information about logs currently enabled and pending to be deployed for the specified broker.</p>
39    pub logs: ::std::option::Option<crate::types::LogsSummary>,
40    /// <p>The parameters that determine the WeeklyStartTime.</p>
41    pub maintenance_window_start_time: ::std::option::Option<crate::types::WeeklyStartTime>,
42    /// <p>The authentication strategy that will be applied when the broker is rebooted. The default is SIMPLE.</p>
43    pub pending_authentication_strategy: ::std::option::Option<crate::types::AuthenticationStrategy>,
44    /// <p>The broker engine version to upgrade to. For more information, see the <a href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/activemq-version-management.html">ActiveMQ version management</a> and the <a href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/rabbitmq-version-management.html">RabbitMQ version management</a> sections in the Amazon MQ Developer Guide.</p>
45    pub pending_engine_version: ::std::option::Option<::std::string::String>,
46    /// <p>The broker's host instance type to upgrade to. For a list of supported instance types, see <a href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/broker.html#broker-instance-types">Broker instance types</a>.</p>
47    pub pending_host_instance_type: ::std::option::Option<::std::string::String>,
48    /// <p>The metadata of the LDAP server that will be used to authenticate and authorize connections to the broker after it is rebooted.</p>
49    pub pending_ldap_server_metadata: ::std::option::Option<crate::types::LdapServerMetadataOutput>,
50    /// <p>The list of pending security groups to authorize connections to brokers.</p>
51    pub pending_security_groups: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
52    /// <p>Enables connections from applications outside of the VPC that hosts the broker's subnets.</p>
53    pub publicly_accessible: ::std::option::Option<bool>,
54    /// <p>The list of rules (1 minimum, 125 maximum) that authorize connections to brokers.</p>
55    pub security_groups: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
56    /// <p>The broker's storage type.</p>
57    pub storage_type: ::std::option::Option<crate::types::BrokerStorageType>,
58    /// <p>The list of groups that define which subnets and IP ranges the broker can use from different Availability Zones.</p>
59    pub subnet_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
60    /// <p>The list of all tags associated with this broker.</p>
61    pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
62    /// <p>The list of all broker usernames for the specified broker.</p>
63    pub users: ::std::option::Option<::std::vec::Vec<crate::types::UserSummary>>,
64    /// <p>The replication details of the data replication-enabled broker. Only returned if dataReplicationMode is set to CRDR.</p>
65    pub data_replication_metadata: ::std::option::Option<crate::types::DataReplicationMetadataOutput>,
66    /// <p>Describes whether this broker is a part of a data replication pair.</p>
67    pub data_replication_mode: ::std::option::Option<crate::types::DataReplicationMode>,
68    /// <p>The pending replication details of the data replication-enabled broker. Only returned if pendingDataReplicationMode is set to CRDR.</p>
69    pub pending_data_replication_metadata: ::std::option::Option<crate::types::DataReplicationMetadataOutput>,
70    /// <p>Describes whether this broker will be a part of a data replication pair after reboot.</p>
71    pub pending_data_replication_mode: ::std::option::Option<crate::types::DataReplicationMode>,
72    _request_id: Option<String>,
73}
74impl DescribeBrokerOutput {
75    /// <p>Actions required for a broker.</p>
76    ///
77    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.actions_required.is_none()`.
78    pub fn actions_required(&self) -> &[crate::types::ActionRequired] {
79        self.actions_required.as_deref().unwrap_or_default()
80    }
81    /// <p>The authentication strategy used to secure the broker. The default is SIMPLE.</p>
82    pub fn authentication_strategy(&self) -> ::std::option::Option<&crate::types::AuthenticationStrategy> {
83        self.authentication_strategy.as_ref()
84    }
85    /// <p>Enables automatic upgrades to new patch versions for brokers as new versions are released and supported by Amazon MQ. Automatic upgrades occur during the scheduled maintenance window or after a manual broker reboot.</p>
86    pub fn auto_minor_version_upgrade(&self) -> ::std::option::Option<bool> {
87        self.auto_minor_version_upgrade
88    }
89    /// <p>The broker's Amazon Resource Name (ARN).</p>
90    pub fn broker_arn(&self) -> ::std::option::Option<&str> {
91        self.broker_arn.as_deref()
92    }
93    /// <p>The unique ID that Amazon MQ generates for the broker.</p>
94    pub fn broker_id(&self) -> ::std::option::Option<&str> {
95        self.broker_id.as_deref()
96    }
97    /// <p>A list of information about allocated brokers.</p>
98    ///
99    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.broker_instances.is_none()`.
100    pub fn broker_instances(&self) -> &[crate::types::BrokerInstance] {
101        self.broker_instances.as_deref().unwrap_or_default()
102    }
103    /// <p>The broker's name. This value must be unique in your Amazon Web Services account account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain white spaces, brackets, wildcard characters, or special characters.</p>
104    pub fn broker_name(&self) -> ::std::option::Option<&str> {
105        self.broker_name.as_deref()
106    }
107    /// <p>The broker's status.</p>
108    pub fn broker_state(&self) -> ::std::option::Option<&crate::types::BrokerState> {
109        self.broker_state.as_ref()
110    }
111    /// <p>The list of all revisions for the specified configuration.</p>
112    pub fn configurations(&self) -> ::std::option::Option<&crate::types::Configurations> {
113        self.configurations.as_ref()
114    }
115    /// <p>The time when the broker was created.</p>
116    pub fn created(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
117        self.created.as_ref()
118    }
119    /// <p>The broker's deployment mode.</p>
120    pub fn deployment_mode(&self) -> ::std::option::Option<&crate::types::DeploymentMode> {
121        self.deployment_mode.as_ref()
122    }
123    /// <p>Encryption options for the broker.</p>
124    pub fn encryption_options(&self) -> ::std::option::Option<&crate::types::EncryptionOptions> {
125        self.encryption_options.as_ref()
126    }
127    /// <p>The type of broker engine. Currently, Amazon MQ supports ACTIVEMQ and RABBITMQ.</p>
128    pub fn engine_type(&self) -> ::std::option::Option<&crate::types::EngineType> {
129        self.engine_type.as_ref()
130    }
131    /// <p>The broker engine version. For more information, see the <a href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/activemq-version-management.html">ActiveMQ version management</a> and the <a href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/rabbitmq-version-management.html">RabbitMQ version management</a> sections in the Amazon MQ Developer Guide.</p>
132    pub fn engine_version(&self) -> ::std::option::Option<&str> {
133        self.engine_version.as_deref()
134    }
135    /// <p>The broker's instance type.</p>
136    pub fn host_instance_type(&self) -> ::std::option::Option<&str> {
137        self.host_instance_type.as_deref()
138    }
139    /// <p>The metadata of the LDAP server used to authenticate and authorize connections to the broker.</p>
140    pub fn ldap_server_metadata(&self) -> ::std::option::Option<&crate::types::LdapServerMetadataOutput> {
141        self.ldap_server_metadata.as_ref()
142    }
143    /// <p>The list of information about logs currently enabled and pending to be deployed for the specified broker.</p>
144    pub fn logs(&self) -> ::std::option::Option<&crate::types::LogsSummary> {
145        self.logs.as_ref()
146    }
147    /// <p>The parameters that determine the WeeklyStartTime.</p>
148    pub fn maintenance_window_start_time(&self) -> ::std::option::Option<&crate::types::WeeklyStartTime> {
149        self.maintenance_window_start_time.as_ref()
150    }
151    /// <p>The authentication strategy that will be applied when the broker is rebooted. The default is SIMPLE.</p>
152    pub fn pending_authentication_strategy(&self) -> ::std::option::Option<&crate::types::AuthenticationStrategy> {
153        self.pending_authentication_strategy.as_ref()
154    }
155    /// <p>The broker engine version to upgrade to. For more information, see the <a href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/activemq-version-management.html">ActiveMQ version management</a> and the <a href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/rabbitmq-version-management.html">RabbitMQ version management</a> sections in the Amazon MQ Developer Guide.</p>
156    pub fn pending_engine_version(&self) -> ::std::option::Option<&str> {
157        self.pending_engine_version.as_deref()
158    }
159    /// <p>The broker's host instance type to upgrade to. For a list of supported instance types, see <a href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/broker.html#broker-instance-types">Broker instance types</a>.</p>
160    pub fn pending_host_instance_type(&self) -> ::std::option::Option<&str> {
161        self.pending_host_instance_type.as_deref()
162    }
163    /// <p>The metadata of the LDAP server that will be used to authenticate and authorize connections to the broker after it is rebooted.</p>
164    pub fn pending_ldap_server_metadata(&self) -> ::std::option::Option<&crate::types::LdapServerMetadataOutput> {
165        self.pending_ldap_server_metadata.as_ref()
166    }
167    /// <p>The list of pending security groups to authorize connections to brokers.</p>
168    ///
169    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.pending_security_groups.is_none()`.
170    pub fn pending_security_groups(&self) -> &[::std::string::String] {
171        self.pending_security_groups.as_deref().unwrap_or_default()
172    }
173    /// <p>Enables connections from applications outside of the VPC that hosts the broker's subnets.</p>
174    pub fn publicly_accessible(&self) -> ::std::option::Option<bool> {
175        self.publicly_accessible
176    }
177    /// <p>The list of rules (1 minimum, 125 maximum) that authorize connections to brokers.</p>
178    ///
179    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.security_groups.is_none()`.
180    pub fn security_groups(&self) -> &[::std::string::String] {
181        self.security_groups.as_deref().unwrap_or_default()
182    }
183    /// <p>The broker's storage type.</p>
184    pub fn storage_type(&self) -> ::std::option::Option<&crate::types::BrokerStorageType> {
185        self.storage_type.as_ref()
186    }
187    /// <p>The list of groups that define which subnets and IP ranges the broker can use from different Availability Zones.</p>
188    ///
189    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.subnet_ids.is_none()`.
190    pub fn subnet_ids(&self) -> &[::std::string::String] {
191        self.subnet_ids.as_deref().unwrap_or_default()
192    }
193    /// <p>The list of all tags associated with this broker.</p>
194    pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
195        self.tags.as_ref()
196    }
197    /// <p>The list of all broker usernames for the specified broker.</p>
198    ///
199    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.users.is_none()`.
200    pub fn users(&self) -> &[crate::types::UserSummary] {
201        self.users.as_deref().unwrap_or_default()
202    }
203    /// <p>The replication details of the data replication-enabled broker. Only returned if dataReplicationMode is set to CRDR.</p>
204    pub fn data_replication_metadata(&self) -> ::std::option::Option<&crate::types::DataReplicationMetadataOutput> {
205        self.data_replication_metadata.as_ref()
206    }
207    /// <p>Describes whether this broker is a part of a data replication pair.</p>
208    pub fn data_replication_mode(&self) -> ::std::option::Option<&crate::types::DataReplicationMode> {
209        self.data_replication_mode.as_ref()
210    }
211    /// <p>The pending replication details of the data replication-enabled broker. Only returned if pendingDataReplicationMode is set to CRDR.</p>
212    pub fn pending_data_replication_metadata(&self) -> ::std::option::Option<&crate::types::DataReplicationMetadataOutput> {
213        self.pending_data_replication_metadata.as_ref()
214    }
215    /// <p>Describes whether this broker will be a part of a data replication pair after reboot.</p>
216    pub fn pending_data_replication_mode(&self) -> ::std::option::Option<&crate::types::DataReplicationMode> {
217        self.pending_data_replication_mode.as_ref()
218    }
219}
220impl ::aws_types::request_id::RequestId for DescribeBrokerOutput {
221    fn request_id(&self) -> Option<&str> {
222        self._request_id.as_deref()
223    }
224}
225impl DescribeBrokerOutput {
226    /// Creates a new builder-style object to manufacture [`DescribeBrokerOutput`](crate::operation::describe_broker::DescribeBrokerOutput).
227    pub fn builder() -> crate::operation::describe_broker::builders::DescribeBrokerOutputBuilder {
228        crate::operation::describe_broker::builders::DescribeBrokerOutputBuilder::default()
229    }
230}
231
232/// A builder for [`DescribeBrokerOutput`](crate::operation::describe_broker::DescribeBrokerOutput).
233#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
234#[non_exhaustive]
235pub struct DescribeBrokerOutputBuilder {
236    pub(crate) actions_required: ::std::option::Option<::std::vec::Vec<crate::types::ActionRequired>>,
237    pub(crate) authentication_strategy: ::std::option::Option<crate::types::AuthenticationStrategy>,
238    pub(crate) auto_minor_version_upgrade: ::std::option::Option<bool>,
239    pub(crate) broker_arn: ::std::option::Option<::std::string::String>,
240    pub(crate) broker_id: ::std::option::Option<::std::string::String>,
241    pub(crate) broker_instances: ::std::option::Option<::std::vec::Vec<crate::types::BrokerInstance>>,
242    pub(crate) broker_name: ::std::option::Option<::std::string::String>,
243    pub(crate) broker_state: ::std::option::Option<crate::types::BrokerState>,
244    pub(crate) configurations: ::std::option::Option<crate::types::Configurations>,
245    pub(crate) created: ::std::option::Option<::aws_smithy_types::DateTime>,
246    pub(crate) deployment_mode: ::std::option::Option<crate::types::DeploymentMode>,
247    pub(crate) encryption_options: ::std::option::Option<crate::types::EncryptionOptions>,
248    pub(crate) engine_type: ::std::option::Option<crate::types::EngineType>,
249    pub(crate) engine_version: ::std::option::Option<::std::string::String>,
250    pub(crate) host_instance_type: ::std::option::Option<::std::string::String>,
251    pub(crate) ldap_server_metadata: ::std::option::Option<crate::types::LdapServerMetadataOutput>,
252    pub(crate) logs: ::std::option::Option<crate::types::LogsSummary>,
253    pub(crate) maintenance_window_start_time: ::std::option::Option<crate::types::WeeklyStartTime>,
254    pub(crate) pending_authentication_strategy: ::std::option::Option<crate::types::AuthenticationStrategy>,
255    pub(crate) pending_engine_version: ::std::option::Option<::std::string::String>,
256    pub(crate) pending_host_instance_type: ::std::option::Option<::std::string::String>,
257    pub(crate) pending_ldap_server_metadata: ::std::option::Option<crate::types::LdapServerMetadataOutput>,
258    pub(crate) pending_security_groups: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
259    pub(crate) publicly_accessible: ::std::option::Option<bool>,
260    pub(crate) security_groups: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
261    pub(crate) storage_type: ::std::option::Option<crate::types::BrokerStorageType>,
262    pub(crate) subnet_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
263    pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
264    pub(crate) users: ::std::option::Option<::std::vec::Vec<crate::types::UserSummary>>,
265    pub(crate) data_replication_metadata: ::std::option::Option<crate::types::DataReplicationMetadataOutput>,
266    pub(crate) data_replication_mode: ::std::option::Option<crate::types::DataReplicationMode>,
267    pub(crate) pending_data_replication_metadata: ::std::option::Option<crate::types::DataReplicationMetadataOutput>,
268    pub(crate) pending_data_replication_mode: ::std::option::Option<crate::types::DataReplicationMode>,
269    _request_id: Option<String>,
270}
271impl DescribeBrokerOutputBuilder {
272    /// Appends an item to `actions_required`.
273    ///
274    /// To override the contents of this collection use [`set_actions_required`](Self::set_actions_required).
275    ///
276    /// <p>Actions required for a broker.</p>
277    pub fn actions_required(mut self, input: crate::types::ActionRequired) -> Self {
278        let mut v = self.actions_required.unwrap_or_default();
279        v.push(input);
280        self.actions_required = ::std::option::Option::Some(v);
281        self
282    }
283    /// <p>Actions required for a broker.</p>
284    pub fn set_actions_required(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ActionRequired>>) -> Self {
285        self.actions_required = input;
286        self
287    }
288    /// <p>Actions required for a broker.</p>
289    pub fn get_actions_required(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ActionRequired>> {
290        &self.actions_required
291    }
292    /// <p>The authentication strategy used to secure the broker. The default is SIMPLE.</p>
293    pub fn authentication_strategy(mut self, input: crate::types::AuthenticationStrategy) -> Self {
294        self.authentication_strategy = ::std::option::Option::Some(input);
295        self
296    }
297    /// <p>The authentication strategy used to secure the broker. The default is SIMPLE.</p>
298    pub fn set_authentication_strategy(mut self, input: ::std::option::Option<crate::types::AuthenticationStrategy>) -> Self {
299        self.authentication_strategy = input;
300        self
301    }
302    /// <p>The authentication strategy used to secure the broker. The default is SIMPLE.</p>
303    pub fn get_authentication_strategy(&self) -> &::std::option::Option<crate::types::AuthenticationStrategy> {
304        &self.authentication_strategy
305    }
306    /// <p>Enables automatic upgrades to new patch versions for brokers as new versions are released and supported by Amazon MQ. Automatic upgrades occur during the scheduled maintenance window or after a manual broker reboot.</p>
307    pub fn auto_minor_version_upgrade(mut self, input: bool) -> Self {
308        self.auto_minor_version_upgrade = ::std::option::Option::Some(input);
309        self
310    }
311    /// <p>Enables automatic upgrades to new patch versions for brokers as new versions are released and supported by Amazon MQ. Automatic upgrades occur during the scheduled maintenance window or after a manual broker reboot.</p>
312    pub fn set_auto_minor_version_upgrade(mut self, input: ::std::option::Option<bool>) -> Self {
313        self.auto_minor_version_upgrade = input;
314        self
315    }
316    /// <p>Enables automatic upgrades to new patch versions for brokers as new versions are released and supported by Amazon MQ. Automatic upgrades occur during the scheduled maintenance window or after a manual broker reboot.</p>
317    pub fn get_auto_minor_version_upgrade(&self) -> &::std::option::Option<bool> {
318        &self.auto_minor_version_upgrade
319    }
320    /// <p>The broker's Amazon Resource Name (ARN).</p>
321    pub fn broker_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
322        self.broker_arn = ::std::option::Option::Some(input.into());
323        self
324    }
325    /// <p>The broker's Amazon Resource Name (ARN).</p>
326    pub fn set_broker_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
327        self.broker_arn = input;
328        self
329    }
330    /// <p>The broker's Amazon Resource Name (ARN).</p>
331    pub fn get_broker_arn(&self) -> &::std::option::Option<::std::string::String> {
332        &self.broker_arn
333    }
334    /// <p>The unique ID that Amazon MQ generates for the broker.</p>
335    pub fn broker_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
336        self.broker_id = ::std::option::Option::Some(input.into());
337        self
338    }
339    /// <p>The unique ID that Amazon MQ generates for the broker.</p>
340    pub fn set_broker_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
341        self.broker_id = input;
342        self
343    }
344    /// <p>The unique ID that Amazon MQ generates for the broker.</p>
345    pub fn get_broker_id(&self) -> &::std::option::Option<::std::string::String> {
346        &self.broker_id
347    }
348    /// Appends an item to `broker_instances`.
349    ///
350    /// To override the contents of this collection use [`set_broker_instances`](Self::set_broker_instances).
351    ///
352    /// <p>A list of information about allocated brokers.</p>
353    pub fn broker_instances(mut self, input: crate::types::BrokerInstance) -> Self {
354        let mut v = self.broker_instances.unwrap_or_default();
355        v.push(input);
356        self.broker_instances = ::std::option::Option::Some(v);
357        self
358    }
359    /// <p>A list of information about allocated brokers.</p>
360    pub fn set_broker_instances(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::BrokerInstance>>) -> Self {
361        self.broker_instances = input;
362        self
363    }
364    /// <p>A list of information about allocated brokers.</p>
365    pub fn get_broker_instances(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::BrokerInstance>> {
366        &self.broker_instances
367    }
368    /// <p>The broker's name. This value must be unique in your Amazon Web Services account account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain white spaces, brackets, wildcard characters, or special characters.</p>
369    pub fn broker_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
370        self.broker_name = ::std::option::Option::Some(input.into());
371        self
372    }
373    /// <p>The broker's name. This value must be unique in your Amazon Web Services account account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain white spaces, brackets, wildcard characters, or special characters.</p>
374    pub fn set_broker_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
375        self.broker_name = input;
376        self
377    }
378    /// <p>The broker's name. This value must be unique in your Amazon Web Services account account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain white spaces, brackets, wildcard characters, or special characters.</p>
379    pub fn get_broker_name(&self) -> &::std::option::Option<::std::string::String> {
380        &self.broker_name
381    }
382    /// <p>The broker's status.</p>
383    pub fn broker_state(mut self, input: crate::types::BrokerState) -> Self {
384        self.broker_state = ::std::option::Option::Some(input);
385        self
386    }
387    /// <p>The broker's status.</p>
388    pub fn set_broker_state(mut self, input: ::std::option::Option<crate::types::BrokerState>) -> Self {
389        self.broker_state = input;
390        self
391    }
392    /// <p>The broker's status.</p>
393    pub fn get_broker_state(&self) -> &::std::option::Option<crate::types::BrokerState> {
394        &self.broker_state
395    }
396    /// <p>The list of all revisions for the specified configuration.</p>
397    pub fn configurations(mut self, input: crate::types::Configurations) -> Self {
398        self.configurations = ::std::option::Option::Some(input);
399        self
400    }
401    /// <p>The list of all revisions for the specified configuration.</p>
402    pub fn set_configurations(mut self, input: ::std::option::Option<crate::types::Configurations>) -> Self {
403        self.configurations = input;
404        self
405    }
406    /// <p>The list of all revisions for the specified configuration.</p>
407    pub fn get_configurations(&self) -> &::std::option::Option<crate::types::Configurations> {
408        &self.configurations
409    }
410    /// <p>The time when the broker was created.</p>
411    pub fn created(mut self, input: ::aws_smithy_types::DateTime) -> Self {
412        self.created = ::std::option::Option::Some(input);
413        self
414    }
415    /// <p>The time when the broker was created.</p>
416    pub fn set_created(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
417        self.created = input;
418        self
419    }
420    /// <p>The time when the broker was created.</p>
421    pub fn get_created(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
422        &self.created
423    }
424    /// <p>The broker's deployment mode.</p>
425    pub fn deployment_mode(mut self, input: crate::types::DeploymentMode) -> Self {
426        self.deployment_mode = ::std::option::Option::Some(input);
427        self
428    }
429    /// <p>The broker's deployment mode.</p>
430    pub fn set_deployment_mode(mut self, input: ::std::option::Option<crate::types::DeploymentMode>) -> Self {
431        self.deployment_mode = input;
432        self
433    }
434    /// <p>The broker's deployment mode.</p>
435    pub fn get_deployment_mode(&self) -> &::std::option::Option<crate::types::DeploymentMode> {
436        &self.deployment_mode
437    }
438    /// <p>Encryption options for the broker.</p>
439    pub fn encryption_options(mut self, input: crate::types::EncryptionOptions) -> Self {
440        self.encryption_options = ::std::option::Option::Some(input);
441        self
442    }
443    /// <p>Encryption options for the broker.</p>
444    pub fn set_encryption_options(mut self, input: ::std::option::Option<crate::types::EncryptionOptions>) -> Self {
445        self.encryption_options = input;
446        self
447    }
448    /// <p>Encryption options for the broker.</p>
449    pub fn get_encryption_options(&self) -> &::std::option::Option<crate::types::EncryptionOptions> {
450        &self.encryption_options
451    }
452    /// <p>The type of broker engine. Currently, Amazon MQ supports ACTIVEMQ and RABBITMQ.</p>
453    pub fn engine_type(mut self, input: crate::types::EngineType) -> Self {
454        self.engine_type = ::std::option::Option::Some(input);
455        self
456    }
457    /// <p>The type of broker engine. Currently, Amazon MQ supports ACTIVEMQ and RABBITMQ.</p>
458    pub fn set_engine_type(mut self, input: ::std::option::Option<crate::types::EngineType>) -> Self {
459        self.engine_type = input;
460        self
461    }
462    /// <p>The type of broker engine. Currently, Amazon MQ supports ACTIVEMQ and RABBITMQ.</p>
463    pub fn get_engine_type(&self) -> &::std::option::Option<crate::types::EngineType> {
464        &self.engine_type
465    }
466    /// <p>The broker engine version. For more information, see the <a href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/activemq-version-management.html">ActiveMQ version management</a> and the <a href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/rabbitmq-version-management.html">RabbitMQ version management</a> sections in the Amazon MQ Developer Guide.</p>
467    pub fn engine_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
468        self.engine_version = ::std::option::Option::Some(input.into());
469        self
470    }
471    /// <p>The broker engine version. For more information, see the <a href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/activemq-version-management.html">ActiveMQ version management</a> and the <a href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/rabbitmq-version-management.html">RabbitMQ version management</a> sections in the Amazon MQ Developer Guide.</p>
472    pub fn set_engine_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
473        self.engine_version = input;
474        self
475    }
476    /// <p>The broker engine version. For more information, see the <a href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/activemq-version-management.html">ActiveMQ version management</a> and the <a href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/rabbitmq-version-management.html">RabbitMQ version management</a> sections in the Amazon MQ Developer Guide.</p>
477    pub fn get_engine_version(&self) -> &::std::option::Option<::std::string::String> {
478        &self.engine_version
479    }
480    /// <p>The broker's instance type.</p>
481    pub fn host_instance_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
482        self.host_instance_type = ::std::option::Option::Some(input.into());
483        self
484    }
485    /// <p>The broker's instance type.</p>
486    pub fn set_host_instance_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
487        self.host_instance_type = input;
488        self
489    }
490    /// <p>The broker's instance type.</p>
491    pub fn get_host_instance_type(&self) -> &::std::option::Option<::std::string::String> {
492        &self.host_instance_type
493    }
494    /// <p>The metadata of the LDAP server used to authenticate and authorize connections to the broker.</p>
495    pub fn ldap_server_metadata(mut self, input: crate::types::LdapServerMetadataOutput) -> Self {
496        self.ldap_server_metadata = ::std::option::Option::Some(input);
497        self
498    }
499    /// <p>The metadata of the LDAP server used to authenticate and authorize connections to the broker.</p>
500    pub fn set_ldap_server_metadata(mut self, input: ::std::option::Option<crate::types::LdapServerMetadataOutput>) -> Self {
501        self.ldap_server_metadata = input;
502        self
503    }
504    /// <p>The metadata of the LDAP server used to authenticate and authorize connections to the broker.</p>
505    pub fn get_ldap_server_metadata(&self) -> &::std::option::Option<crate::types::LdapServerMetadataOutput> {
506        &self.ldap_server_metadata
507    }
508    /// <p>The list of information about logs currently enabled and pending to be deployed for the specified broker.</p>
509    pub fn logs(mut self, input: crate::types::LogsSummary) -> Self {
510        self.logs = ::std::option::Option::Some(input);
511        self
512    }
513    /// <p>The list of information about logs currently enabled and pending to be deployed for the specified broker.</p>
514    pub fn set_logs(mut self, input: ::std::option::Option<crate::types::LogsSummary>) -> Self {
515        self.logs = input;
516        self
517    }
518    /// <p>The list of information about logs currently enabled and pending to be deployed for the specified broker.</p>
519    pub fn get_logs(&self) -> &::std::option::Option<crate::types::LogsSummary> {
520        &self.logs
521    }
522    /// <p>The parameters that determine the WeeklyStartTime.</p>
523    pub fn maintenance_window_start_time(mut self, input: crate::types::WeeklyStartTime) -> Self {
524        self.maintenance_window_start_time = ::std::option::Option::Some(input);
525        self
526    }
527    /// <p>The parameters that determine the WeeklyStartTime.</p>
528    pub fn set_maintenance_window_start_time(mut self, input: ::std::option::Option<crate::types::WeeklyStartTime>) -> Self {
529        self.maintenance_window_start_time = input;
530        self
531    }
532    /// <p>The parameters that determine the WeeklyStartTime.</p>
533    pub fn get_maintenance_window_start_time(&self) -> &::std::option::Option<crate::types::WeeklyStartTime> {
534        &self.maintenance_window_start_time
535    }
536    /// <p>The authentication strategy that will be applied when the broker is rebooted. The default is SIMPLE.</p>
537    pub fn pending_authentication_strategy(mut self, input: crate::types::AuthenticationStrategy) -> Self {
538        self.pending_authentication_strategy = ::std::option::Option::Some(input);
539        self
540    }
541    /// <p>The authentication strategy that will be applied when the broker is rebooted. The default is SIMPLE.</p>
542    pub fn set_pending_authentication_strategy(mut self, input: ::std::option::Option<crate::types::AuthenticationStrategy>) -> Self {
543        self.pending_authentication_strategy = input;
544        self
545    }
546    /// <p>The authentication strategy that will be applied when the broker is rebooted. The default is SIMPLE.</p>
547    pub fn get_pending_authentication_strategy(&self) -> &::std::option::Option<crate::types::AuthenticationStrategy> {
548        &self.pending_authentication_strategy
549    }
550    /// <p>The broker engine version to upgrade to. For more information, see the <a href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/activemq-version-management.html">ActiveMQ version management</a> and the <a href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/rabbitmq-version-management.html">RabbitMQ version management</a> sections in the Amazon MQ Developer Guide.</p>
551    pub fn pending_engine_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
552        self.pending_engine_version = ::std::option::Option::Some(input.into());
553        self
554    }
555    /// <p>The broker engine version to upgrade to. For more information, see the <a href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/activemq-version-management.html">ActiveMQ version management</a> and the <a href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/rabbitmq-version-management.html">RabbitMQ version management</a> sections in the Amazon MQ Developer Guide.</p>
556    pub fn set_pending_engine_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
557        self.pending_engine_version = input;
558        self
559    }
560    /// <p>The broker engine version to upgrade to. For more information, see the <a href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/activemq-version-management.html">ActiveMQ version management</a> and the <a href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/rabbitmq-version-management.html">RabbitMQ version management</a> sections in the Amazon MQ Developer Guide.</p>
561    pub fn get_pending_engine_version(&self) -> &::std::option::Option<::std::string::String> {
562        &self.pending_engine_version
563    }
564    /// <p>The broker's host instance type to upgrade to. For a list of supported instance types, see <a href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/broker.html#broker-instance-types">Broker instance types</a>.</p>
565    pub fn pending_host_instance_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
566        self.pending_host_instance_type = ::std::option::Option::Some(input.into());
567        self
568    }
569    /// <p>The broker's host instance type to upgrade to. For a list of supported instance types, see <a href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/broker.html#broker-instance-types">Broker instance types</a>.</p>
570    pub fn set_pending_host_instance_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
571        self.pending_host_instance_type = input;
572        self
573    }
574    /// <p>The broker's host instance type to upgrade to. For a list of supported instance types, see <a href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/broker.html#broker-instance-types">Broker instance types</a>.</p>
575    pub fn get_pending_host_instance_type(&self) -> &::std::option::Option<::std::string::String> {
576        &self.pending_host_instance_type
577    }
578    /// <p>The metadata of the LDAP server that will be used to authenticate and authorize connections to the broker after it is rebooted.</p>
579    pub fn pending_ldap_server_metadata(mut self, input: crate::types::LdapServerMetadataOutput) -> Self {
580        self.pending_ldap_server_metadata = ::std::option::Option::Some(input);
581        self
582    }
583    /// <p>The metadata of the LDAP server that will be used to authenticate and authorize connections to the broker after it is rebooted.</p>
584    pub fn set_pending_ldap_server_metadata(mut self, input: ::std::option::Option<crate::types::LdapServerMetadataOutput>) -> Self {
585        self.pending_ldap_server_metadata = input;
586        self
587    }
588    /// <p>The metadata of the LDAP server that will be used to authenticate and authorize connections to the broker after it is rebooted.</p>
589    pub fn get_pending_ldap_server_metadata(&self) -> &::std::option::Option<crate::types::LdapServerMetadataOutput> {
590        &self.pending_ldap_server_metadata
591    }
592    /// Appends an item to `pending_security_groups`.
593    ///
594    /// To override the contents of this collection use [`set_pending_security_groups`](Self::set_pending_security_groups).
595    ///
596    /// <p>The list of pending security groups to authorize connections to brokers.</p>
597    pub fn pending_security_groups(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
598        let mut v = self.pending_security_groups.unwrap_or_default();
599        v.push(input.into());
600        self.pending_security_groups = ::std::option::Option::Some(v);
601        self
602    }
603    /// <p>The list of pending security groups to authorize connections to brokers.</p>
604    pub fn set_pending_security_groups(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
605        self.pending_security_groups = input;
606        self
607    }
608    /// <p>The list of pending security groups to authorize connections to brokers.</p>
609    pub fn get_pending_security_groups(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
610        &self.pending_security_groups
611    }
612    /// <p>Enables connections from applications outside of the VPC that hosts the broker's subnets.</p>
613    pub fn publicly_accessible(mut self, input: bool) -> Self {
614        self.publicly_accessible = ::std::option::Option::Some(input);
615        self
616    }
617    /// <p>Enables connections from applications outside of the VPC that hosts the broker's subnets.</p>
618    pub fn set_publicly_accessible(mut self, input: ::std::option::Option<bool>) -> Self {
619        self.publicly_accessible = input;
620        self
621    }
622    /// <p>Enables connections from applications outside of the VPC that hosts the broker's subnets.</p>
623    pub fn get_publicly_accessible(&self) -> &::std::option::Option<bool> {
624        &self.publicly_accessible
625    }
626    /// Appends an item to `security_groups`.
627    ///
628    /// To override the contents of this collection use [`set_security_groups`](Self::set_security_groups).
629    ///
630    /// <p>The list of rules (1 minimum, 125 maximum) that authorize connections to brokers.</p>
631    pub fn security_groups(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
632        let mut v = self.security_groups.unwrap_or_default();
633        v.push(input.into());
634        self.security_groups = ::std::option::Option::Some(v);
635        self
636    }
637    /// <p>The list of rules (1 minimum, 125 maximum) that authorize connections to brokers.</p>
638    pub fn set_security_groups(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
639        self.security_groups = input;
640        self
641    }
642    /// <p>The list of rules (1 minimum, 125 maximum) that authorize connections to brokers.</p>
643    pub fn get_security_groups(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
644        &self.security_groups
645    }
646    /// <p>The broker's storage type.</p>
647    pub fn storage_type(mut self, input: crate::types::BrokerStorageType) -> Self {
648        self.storage_type = ::std::option::Option::Some(input);
649        self
650    }
651    /// <p>The broker's storage type.</p>
652    pub fn set_storage_type(mut self, input: ::std::option::Option<crate::types::BrokerStorageType>) -> Self {
653        self.storage_type = input;
654        self
655    }
656    /// <p>The broker's storage type.</p>
657    pub fn get_storage_type(&self) -> &::std::option::Option<crate::types::BrokerStorageType> {
658        &self.storage_type
659    }
660    /// Appends an item to `subnet_ids`.
661    ///
662    /// To override the contents of this collection use [`set_subnet_ids`](Self::set_subnet_ids).
663    ///
664    /// <p>The list of groups that define which subnets and IP ranges the broker can use from different Availability Zones.</p>
665    pub fn subnet_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
666        let mut v = self.subnet_ids.unwrap_or_default();
667        v.push(input.into());
668        self.subnet_ids = ::std::option::Option::Some(v);
669        self
670    }
671    /// <p>The list of groups that define which subnets and IP ranges the broker can use from different Availability Zones.</p>
672    pub fn set_subnet_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
673        self.subnet_ids = input;
674        self
675    }
676    /// <p>The list of groups that define which subnets and IP ranges the broker can use from different Availability Zones.</p>
677    pub fn get_subnet_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
678        &self.subnet_ids
679    }
680    /// Adds a key-value pair to `tags`.
681    ///
682    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
683    ///
684    /// <p>The list of all tags associated with this broker.</p>
685    pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
686        let mut hash_map = self.tags.unwrap_or_default();
687        hash_map.insert(k.into(), v.into());
688        self.tags = ::std::option::Option::Some(hash_map);
689        self
690    }
691    /// <p>The list of all tags associated with this broker.</p>
692    pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
693        self.tags = input;
694        self
695    }
696    /// <p>The list of all tags associated with this broker.</p>
697    pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
698        &self.tags
699    }
700    /// Appends an item to `users`.
701    ///
702    /// To override the contents of this collection use [`set_users`](Self::set_users).
703    ///
704    /// <p>The list of all broker usernames for the specified broker.</p>
705    pub fn users(mut self, input: crate::types::UserSummary) -> Self {
706        let mut v = self.users.unwrap_or_default();
707        v.push(input);
708        self.users = ::std::option::Option::Some(v);
709        self
710    }
711    /// <p>The list of all broker usernames for the specified broker.</p>
712    pub fn set_users(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::UserSummary>>) -> Self {
713        self.users = input;
714        self
715    }
716    /// <p>The list of all broker usernames for the specified broker.</p>
717    pub fn get_users(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::UserSummary>> {
718        &self.users
719    }
720    /// <p>The replication details of the data replication-enabled broker. Only returned if dataReplicationMode is set to CRDR.</p>
721    pub fn data_replication_metadata(mut self, input: crate::types::DataReplicationMetadataOutput) -> Self {
722        self.data_replication_metadata = ::std::option::Option::Some(input);
723        self
724    }
725    /// <p>The replication details of the data replication-enabled broker. Only returned if dataReplicationMode is set to CRDR.</p>
726    pub fn set_data_replication_metadata(mut self, input: ::std::option::Option<crate::types::DataReplicationMetadataOutput>) -> Self {
727        self.data_replication_metadata = input;
728        self
729    }
730    /// <p>The replication details of the data replication-enabled broker. Only returned if dataReplicationMode is set to CRDR.</p>
731    pub fn get_data_replication_metadata(&self) -> &::std::option::Option<crate::types::DataReplicationMetadataOutput> {
732        &self.data_replication_metadata
733    }
734    /// <p>Describes whether this broker is a part of a data replication pair.</p>
735    pub fn data_replication_mode(mut self, input: crate::types::DataReplicationMode) -> Self {
736        self.data_replication_mode = ::std::option::Option::Some(input);
737        self
738    }
739    /// <p>Describes whether this broker is a part of a data replication pair.</p>
740    pub fn set_data_replication_mode(mut self, input: ::std::option::Option<crate::types::DataReplicationMode>) -> Self {
741        self.data_replication_mode = input;
742        self
743    }
744    /// <p>Describes whether this broker is a part of a data replication pair.</p>
745    pub fn get_data_replication_mode(&self) -> &::std::option::Option<crate::types::DataReplicationMode> {
746        &self.data_replication_mode
747    }
748    /// <p>The pending replication details of the data replication-enabled broker. Only returned if pendingDataReplicationMode is set to CRDR.</p>
749    pub fn pending_data_replication_metadata(mut self, input: crate::types::DataReplicationMetadataOutput) -> Self {
750        self.pending_data_replication_metadata = ::std::option::Option::Some(input);
751        self
752    }
753    /// <p>The pending replication details of the data replication-enabled broker. Only returned if pendingDataReplicationMode is set to CRDR.</p>
754    pub fn set_pending_data_replication_metadata(mut self, input: ::std::option::Option<crate::types::DataReplicationMetadataOutput>) -> Self {
755        self.pending_data_replication_metadata = input;
756        self
757    }
758    /// <p>The pending replication details of the data replication-enabled broker. Only returned if pendingDataReplicationMode is set to CRDR.</p>
759    pub fn get_pending_data_replication_metadata(&self) -> &::std::option::Option<crate::types::DataReplicationMetadataOutput> {
760        &self.pending_data_replication_metadata
761    }
762    /// <p>Describes whether this broker will be a part of a data replication pair after reboot.</p>
763    pub fn pending_data_replication_mode(mut self, input: crate::types::DataReplicationMode) -> Self {
764        self.pending_data_replication_mode = ::std::option::Option::Some(input);
765        self
766    }
767    /// <p>Describes whether this broker will be a part of a data replication pair after reboot.</p>
768    pub fn set_pending_data_replication_mode(mut self, input: ::std::option::Option<crate::types::DataReplicationMode>) -> Self {
769        self.pending_data_replication_mode = input;
770        self
771    }
772    /// <p>Describes whether this broker will be a part of a data replication pair after reboot.</p>
773    pub fn get_pending_data_replication_mode(&self) -> &::std::option::Option<crate::types::DataReplicationMode> {
774        &self.pending_data_replication_mode
775    }
776    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
777        self._request_id = Some(request_id.into());
778        self
779    }
780
781    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
782        self._request_id = request_id;
783        self
784    }
785    /// Consumes the builder and constructs a [`DescribeBrokerOutput`](crate::operation::describe_broker::DescribeBrokerOutput).
786    pub fn build(self) -> crate::operation::describe_broker::DescribeBrokerOutput {
787        crate::operation::describe_broker::DescribeBrokerOutput {
788            actions_required: self.actions_required,
789            authentication_strategy: self.authentication_strategy,
790            auto_minor_version_upgrade: self.auto_minor_version_upgrade,
791            broker_arn: self.broker_arn,
792            broker_id: self.broker_id,
793            broker_instances: self.broker_instances,
794            broker_name: self.broker_name,
795            broker_state: self.broker_state,
796            configurations: self.configurations,
797            created: self.created,
798            deployment_mode: self.deployment_mode,
799            encryption_options: self.encryption_options,
800            engine_type: self.engine_type,
801            engine_version: self.engine_version,
802            host_instance_type: self.host_instance_type,
803            ldap_server_metadata: self.ldap_server_metadata,
804            logs: self.logs,
805            maintenance_window_start_time: self.maintenance_window_start_time,
806            pending_authentication_strategy: self.pending_authentication_strategy,
807            pending_engine_version: self.pending_engine_version,
808            pending_host_instance_type: self.pending_host_instance_type,
809            pending_ldap_server_metadata: self.pending_ldap_server_metadata,
810            pending_security_groups: self.pending_security_groups,
811            publicly_accessible: self.publicly_accessible,
812            security_groups: self.security_groups,
813            storage_type: self.storage_type,
814            subnet_ids: self.subnet_ids,
815            tags: self.tags,
816            users: self.users,
817            data_replication_metadata: self.data_replication_metadata,
818            data_replication_mode: self.data_replication_mode,
819            pending_data_replication_metadata: self.pending_data_replication_metadata,
820            pending_data_replication_mode: self.pending_data_replication_mode,
821            _request_id: self._request_id,
822        }
823    }
824}