aws_sdk_iam/client/create_user.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3 /// Constructs a fluent builder for the [`CreateUser`](crate::operation::create_user::builders::CreateUserFluentBuilder) operation.
4 ///
5 /// - The fluent builder is configurable:
6 /// - [`path(impl Into<String>)`](crate::operation::create_user::builders::CreateUserFluentBuilder::path) / [`set_path(Option<String>)`](crate::operation::create_user::builders::CreateUserFluentBuilder::set_path):<br>required: **false**<br><p>The path for the user name. For more information about paths, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html">IAM identifiers</a> in the <i>IAM User Guide</i>.</p> <p>This parameter is optional. If it is not included, it defaults to a slash (/).</p> <p>This parameter allows (through its <a href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (<code>\u0021</code>) through the DEL character (<code>\u007F</code>), including most punctuation characters, digits, and upper and lowercased letters.</p><br>
7 /// - [`user_name(impl Into<String>)`](crate::operation::create_user::builders::CreateUserFluentBuilder::user_name) / [`set_user_name(Option<String>)`](crate::operation::create_user::builders::CreateUserFluentBuilder::set_user_name):<br>required: **true**<br><p>The name of the user to create.</p> <p>IAM user, group, role, and policy names must be unique within the account. Names are not distinguished by case. For example, you cannot create resources named both "MyResource" and "myresource".</p><br>
8 /// - [`permissions_boundary(impl Into<String>)`](crate::operation::create_user::builders::CreateUserFluentBuilder::permissions_boundary) / [`set_permissions_boundary(Option<String>)`](crate::operation::create_user::builders::CreateUserFluentBuilder::set_permissions_boundary):<br>required: **false**<br><p>The ARN of the managed policy that is used to set the permissions boundary for the user.</p> <p>A permissions boundary policy defines the maximum permissions that identity-based policies can grant to an entity, but does not grant permissions. Permissions boundaries do not define the maximum permissions that a resource-based policy can grant to an entity. To learn more, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html">Permissions boundaries for IAM entities</a> in the <i>IAM User Guide</i>.</p> <p>For more information about policy types, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policy-types">Policy types </a> in the <i>IAM User Guide</i>.</p><br>
9 /// - [`tags(Tag)`](crate::operation::create_user::builders::CreateUserFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_user::builders::CreateUserFluentBuilder::set_tags):<br>required: **false**<br><p>A list of tags that you want to attach to the new user. Each tag consists of a key name and an associated value. For more information about tagging, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html">Tagging IAM resources</a> in the <i>IAM User Guide</i>.</p><note> <p>If any one of the tags is invalid or if you exceed the allowed maximum number of tags, then the entire request fails and the resource is not created.</p> </note><br>
10 /// - On success, responds with [`CreateUserOutput`](crate::operation::create_user::CreateUserOutput) with field(s):
11 /// - [`user(Option<User>)`](crate::operation::create_user::CreateUserOutput::user): <p>A structure with details about the new IAM user.</p>
12 /// - On failure, responds with [`SdkError<CreateUserError>`](crate::operation::create_user::CreateUserError)
13 pub fn create_user(&self) -> crate::operation::create_user::builders::CreateUserFluentBuilder {
14 crate::operation::create_user::builders::CreateUserFluentBuilder::new(self.handle.clone())
15 }
16}