aws_sdk_mq/operation/create_user/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_user::_create_user_output::CreateUserOutputBuilder;
3
4pub use crate::operation::create_user::_create_user_input::CreateUserInputBuilder;
5
6impl crate::operation::create_user::builders::CreateUserInputBuilder {
7    /// Sends a request with this input using the given client.
8    pub async fn send_with(
9        self,
10        client: &crate::Client,
11    ) -> ::std::result::Result<
12        crate::operation::create_user::CreateUserOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::create_user::CreateUserError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.create_user();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `CreateUser`.
24///
25/// <p>Creates an ActiveMQ user.</p><important>
26/// <p>Do not add personally identifiable information (PII) or other confidential or sensitive information in broker usernames. Broker usernames are accessible to other Amazon Web Services services, including CloudWatch Logs. Broker usernames are not intended to be used for private or sensitive data.</p>
27/// </important>
28#[derive(::std::clone::Clone, ::std::fmt::Debug)]
29pub struct CreateUserFluentBuilder {
30    handle: ::std::sync::Arc<crate::client::Handle>,
31    inner: crate::operation::create_user::builders::CreateUserInputBuilder,
32    config_override: ::std::option::Option<crate::config::Builder>,
33}
34impl
35    crate::client::customize::internal::CustomizableSend<
36        crate::operation::create_user::CreateUserOutput,
37        crate::operation::create_user::CreateUserError,
38    > for CreateUserFluentBuilder
39{
40    fn send(
41        self,
42        config_override: crate::config::Builder,
43    ) -> crate::client::customize::internal::BoxFuture<
44        crate::client::customize::internal::SendResult<
45            crate::operation::create_user::CreateUserOutput,
46            crate::operation::create_user::CreateUserError,
47        >,
48    > {
49        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
50    }
51}
52impl CreateUserFluentBuilder {
53    /// Creates a new `CreateUserFluentBuilder`.
54    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
55        Self {
56            handle,
57            inner: ::std::default::Default::default(),
58            config_override: ::std::option::Option::None,
59        }
60    }
61    /// Access the CreateUser as a reference.
62    pub fn as_input(&self) -> &crate::operation::create_user::builders::CreateUserInputBuilder {
63        &self.inner
64    }
65    /// Sends the request and returns the response.
66    ///
67    /// If an error occurs, an `SdkError` will be returned with additional details that
68    /// can be matched against.
69    ///
70    /// By default, any retryable failures will be retried twice. Retry behavior
71    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
72    /// set when configuring the client.
73    pub async fn send(
74        self,
75    ) -> ::std::result::Result<
76        crate::operation::create_user::CreateUserOutput,
77        ::aws_smithy_runtime_api::client::result::SdkError<
78            crate::operation::create_user::CreateUserError,
79            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
80        >,
81    > {
82        let input = self
83            .inner
84            .build()
85            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
86        let runtime_plugins = crate::operation::create_user::CreateUser::operation_runtime_plugins(
87            self.handle.runtime_plugins.clone(),
88            &self.handle.conf,
89            self.config_override,
90        );
91        crate::operation::create_user::CreateUser::orchestrate(&runtime_plugins, input).await
92    }
93
94    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
95    pub fn customize(
96        self,
97    ) -> crate::client::customize::CustomizableOperation<
98        crate::operation::create_user::CreateUserOutput,
99        crate::operation::create_user::CreateUserError,
100        Self,
101    > {
102        crate::client::customize::CustomizableOperation::new(self)
103    }
104    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
105        self.set_config_override(::std::option::Option::Some(config_override.into()));
106        self
107    }
108
109    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
110        self.config_override = config_override;
111        self
112    }
113    /// <p>The unique ID that Amazon MQ generates for the broker.</p>
114    pub fn broker_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
115        self.inner = self.inner.broker_id(input.into());
116        self
117    }
118    /// <p>The unique ID that Amazon MQ generates for the broker.</p>
119    pub fn set_broker_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
120        self.inner = self.inner.set_broker_id(input);
121        self
122    }
123    /// <p>The unique ID that Amazon MQ generates for the broker.</p>
124    pub fn get_broker_id(&self) -> &::std::option::Option<::std::string::String> {
125        self.inner.get_broker_id()
126    }
127    /// <p>Enables access to the ActiveMQ Web Console for the ActiveMQ user.</p>
128    pub fn console_access(mut self, input: bool) -> Self {
129        self.inner = self.inner.console_access(input);
130        self
131    }
132    /// <p>Enables access to the ActiveMQ Web Console for the ActiveMQ user.</p>
133    pub fn set_console_access(mut self, input: ::std::option::Option<bool>) -> Self {
134        self.inner = self.inner.set_console_access(input);
135        self
136    }
137    /// <p>Enables access to the ActiveMQ Web Console for the ActiveMQ user.</p>
138    pub fn get_console_access(&self) -> &::std::option::Option<bool> {
139        self.inner.get_console_access()
140    }
141    ///
142    /// Appends an item to `Groups`.
143    ///
144    /// To override the contents of this collection use [`set_groups`](Self::set_groups).
145    ///
146    /// <p>The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long.</p>
147    pub fn groups(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
148        self.inner = self.inner.groups(input.into());
149        self
150    }
151    /// <p>The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long.</p>
152    pub fn set_groups(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
153        self.inner = self.inner.set_groups(input);
154        self
155    }
156    /// <p>The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long.</p>
157    pub fn get_groups(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
158        self.inner.get_groups()
159    }
160    /// <p>Required. The password of the user. This value must be at least 12 characters long, must contain at least 4 unique characters, and must not contain commas, colons, or equal signs (,:=).</p>
161    pub fn password(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
162        self.inner = self.inner.password(input.into());
163        self
164    }
165    /// <p>Required. The password of the user. This value must be at least 12 characters long, must contain at least 4 unique characters, and must not contain commas, colons, or equal signs (,:=).</p>
166    pub fn set_password(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
167        self.inner = self.inner.set_password(input);
168        self
169    }
170    /// <p>Required. The password of the user. This value must be at least 12 characters long, must contain at least 4 unique characters, and must not contain commas, colons, or equal signs (,:=).</p>
171    pub fn get_password(&self) -> &::std::option::Option<::std::string::String> {
172        self.inner.get_password()
173    }
174    /// <p>The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long.</p>
175    pub fn username(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
176        self.inner = self.inner.username(input.into());
177        self
178    }
179    /// <p>The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long.</p>
180    pub fn set_username(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
181        self.inner = self.inner.set_username(input);
182        self
183    }
184    /// <p>The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long.</p>
185    pub fn get_username(&self) -> &::std::option::Option<::std::string::String> {
186        self.inner.get_username()
187    }
188    /// <p>Defines if this user is intended for CRDR replication purposes.</p>
189    pub fn replication_user(mut self, input: bool) -> Self {
190        self.inner = self.inner.replication_user(input);
191        self
192    }
193    /// <p>Defines if this user is intended for CRDR replication purposes.</p>
194    pub fn set_replication_user(mut self, input: ::std::option::Option<bool>) -> Self {
195        self.inner = self.inner.set_replication_user(input);
196        self
197    }
198    /// <p>Defines if this user is intended for CRDR replication purposes.</p>
199    pub fn get_replication_user(&self) -> &::std::option::Option<bool> {
200        self.inner.get_replication_user()
201    }
202}