1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub use crate::operation::create_user::_create_user_output::CreateUserOutputBuilder;
pub use crate::operation::create_user::_create_user_input::CreateUserInputBuilder;
/// Fluent builder constructing a request to `CreateUser`.
///
/// <p>Creates a new user in the user pool.</p>
#[derive(std::clone::Clone, std::fmt::Debug)]
pub struct CreateUserFluentBuilder {
handle: std::sync::Arc<crate::client::Handle>,
inner: crate::operation::create_user::builders::CreateUserInputBuilder,
}
impl CreateUserFluentBuilder {
/// Creates a new `CreateUser`.
pub(crate) fn new(handle: std::sync::Arc<crate::client::Handle>) -> Self {
Self {
handle,
inner: Default::default(),
}
}
/// Consume this builder, creating a customizable operation that can be modified before being
/// sent. The operation's inner [http::Request] can be modified as well.
pub async fn customize(
self,
) -> std::result::Result<
crate::client::customize::CustomizableOperation<
crate::operation::create_user::CreateUser,
aws_http::retry::AwsResponseRetryClassifier,
>,
aws_smithy_http::result::SdkError<crate::operation::create_user::CreateUserError>,
> {
let handle = self.handle.clone();
let operation = self
.inner
.build()
.map_err(aws_smithy_http::result::SdkError::construction_failure)?
.make_operation(&handle.conf)
.await
.map_err(aws_smithy_http::result::SdkError::construction_failure)?;
Ok(crate::client::customize::CustomizableOperation { handle, operation })
}
/// Sends the request and returns the response.
///
/// If an error occurs, an `SdkError` will be returned with additional details that
/// can be matched against.
///
/// By default, any retryable failures will be retried twice. Retry behavior
/// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
/// set when configuring the client.
pub async fn send(
self,
) -> std::result::Result<
crate::operation::create_user::CreateUserOutput,
aws_smithy_http::result::SdkError<crate::operation::create_user::CreateUserError>,
> {
let op = self
.inner
.build()
.map_err(aws_smithy_http::result::SdkError::construction_failure)?
.make_operation(&self.handle.conf)
.await
.map_err(aws_smithy_http::result::SdkError::construction_failure)?;
self.handle.client.call(op).await
}
/// <p>The email address of the user.</p> <note>
/// <p>Users' email addresses are case-sensitive. During login, if they specify an email address that doesn't use the same capitalization as the email address specified when their user pool account was created, a "user does not exist" error message displays.</p>
/// </note>
pub fn user_name(mut self, input: impl Into<std::string::String>) -> Self {
self.inner = self.inner.user_name(input.into());
self
}
/// <p>The email address of the user.</p> <note>
/// <p>Users' email addresses are case-sensitive. During login, if they specify an email address that doesn't use the same capitalization as the email address specified when their user pool account was created, a "user does not exist" error message displays.</p>
/// </note>
pub fn set_user_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.inner = self.inner.set_user_name(input);
self
}
/// <p>The action to take for the welcome email that is sent to a user after the user is created in the user pool. If you specify SUPPRESS, no email is sent. If you specify RESEND, do not specify the first name or last name of the user. If the value is null, the email is sent. </p> <note>
/// <p>The temporary password in the welcome email is valid for only 7 days. If users don’t set their passwords within 7 days, you must send them a new welcome email.</p>
/// </note>
pub fn message_action(mut self, input: crate::types::MessageAction) -> Self {
self.inner = self.inner.message_action(input);
self
}
/// <p>The action to take for the welcome email that is sent to a user after the user is created in the user pool. If you specify SUPPRESS, no email is sent. If you specify RESEND, do not specify the first name or last name of the user. If the value is null, the email is sent. </p> <note>
/// <p>The temporary password in the welcome email is valid for only 7 days. If users don’t set their passwords within 7 days, you must send them a new welcome email.</p>
/// </note>
pub fn set_message_action(
mut self,
input: std::option::Option<crate::types::MessageAction>,
) -> Self {
self.inner = self.inner.set_message_action(input);
self
}
/// <p>The first name, or given name, of the user.</p>
pub fn first_name(mut self, input: impl Into<std::string::String>) -> Self {
self.inner = self.inner.first_name(input.into());
self
}
/// <p>The first name, or given name, of the user.</p>
pub fn set_first_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.inner = self.inner.set_first_name(input);
self
}
/// <p>The last name, or surname, of the user.</p>
pub fn last_name(mut self, input: impl Into<std::string::String>) -> Self {
self.inner = self.inner.last_name(input.into());
self
}
/// <p>The last name, or surname, of the user.</p>
pub fn set_last_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.inner = self.inner.set_last_name(input);
self
}
/// <p>The authentication type for the user. You must specify USERPOOL. </p>
pub fn authentication_type(mut self, input: crate::types::AuthenticationType) -> Self {
self.inner = self.inner.authentication_type(input);
self
}
/// <p>The authentication type for the user. You must specify USERPOOL. </p>
pub fn set_authentication_type(
mut self,
input: std::option::Option<crate::types::AuthenticationType>,
) -> Self {
self.inner = self.inner.set_authentication_type(input);
self
}
}