All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.identitymanagement.model.CreateUserRequest Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS IAM module holds the client classes that are used for communicating with AWS Identity and Access Management Service

The newest version!
/*
 * Copyright 2020-2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */
package com.amazonaws.services.identitymanagement.model;

import java.io.Serializable;
import javax.annotation.Generated;

import com.amazonaws.AmazonWebServiceRequest;

/**
 * 
 * @see AWS API
 *      Documentation
 */
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class CreateUserRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {

    /**
     * 

* The path for the user name. For more information about paths, see IAM identifiers in the IAM * User Guide. *

*

* This parameter is optional. If it is not included, it defaults to a slash (/). *

*

* This parameter allows (through its regex pattern) 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 ! (\u0021) through the DEL * character (\u007F), including most punctuation characters, digits, and upper and lowercased letters. *

*/ private String path; /** *

* The name of the user to create. *

*

* 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". *

*/ private String userName; /** *

* The ARN of the managed policy that is used to set the permissions boundary for the user. *

*

* 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 Permissions boundaries * for IAM entities in the IAM User Guide. *

*

* For more information about policy types, see Policy types * in the IAM User Guide. *

*/ private String permissionsBoundary; /** *

* 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 Tagging IAM resources in the IAM User * Guide. *

* *

* 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. *

*
*/ private com.amazonaws.internal.SdkInternalList tags; /** * Default constructor for CreateUserRequest object. Callers should use the setter or fluent setter (with...) * methods to initialize the object after creating it. */ public CreateUserRequest() { } /** * Constructs a new CreateUserRequest object. Callers should use the setter or fluent setter (with...) methods to * initialize any additional object members. * * @param userName * The name of the user to create.

*

* 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". */ public CreateUserRequest(String userName) { setUserName(userName); } /** *

* The path for the user name. For more information about paths, see IAM identifiers in the IAM * User Guide. *

*

* This parameter is optional. If it is not included, it defaults to a slash (/). *

*

* This parameter allows (through its regex pattern) 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 ! (\u0021) through the DEL * character (\u007F), including most punctuation characters, digits, and upper and lowercased letters. *

* * @param path * The path for the user name. For more information about paths, see IAM identifiers in the * IAM User Guide.

*

* This parameter is optional. If it is not included, it defaults to a slash (/). *

*

* This parameter allows (through its regex pattern) 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 ! (\u0021) through * the DEL character (\u007F), including most punctuation characters, digits, and upper and * lowercased letters. */ public void setPath(String path) { this.path = path; } /** *

* The path for the user name. For more information about paths, see IAM identifiers in the IAM * User Guide. *

*

* This parameter is optional. If it is not included, it defaults to a slash (/). *

*

* This parameter allows (through its regex pattern) 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 ! (\u0021) through the DEL * character (\u007F), including most punctuation characters, digits, and upper and lowercased letters. *

* * @return The path for the user name. For more information about paths, see IAM identifiers in the * IAM User Guide.

*

* This parameter is optional. If it is not included, it defaults to a slash (/). *

*

* This parameter allows (through its regex pattern) 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 ! (\u0021) through * the DEL character (\u007F), including most punctuation characters, digits, and upper and * lowercased letters. */ public String getPath() { return this.path; } /** *

* The path for the user name. For more information about paths, see IAM identifiers in the IAM * User Guide. *

*

* This parameter is optional. If it is not included, it defaults to a slash (/). *

*

* This parameter allows (through its regex pattern) 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 ! (\u0021) through the DEL * character (\u007F), including most punctuation characters, digits, and upper and lowercased letters. *

* * @param path * The path for the user name. For more information about paths, see IAM identifiers in the * IAM User Guide.

*

* This parameter is optional. If it is not included, it defaults to a slash (/). *

*

* This parameter allows (through its regex pattern) 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 ! (\u0021) through * the DEL character (\u007F), including most punctuation characters, digits, and upper and * lowercased letters. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateUserRequest withPath(String path) { setPath(path); return this; } /** *

* The name of the user to create. *

*

* 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". *

* * @param userName * The name of the user to create.

*

* 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". */ public void setUserName(String userName) { this.userName = userName; } /** *

* The name of the user to create. *

*

* 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". *

* * @return The name of the user to create.

*

* 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". */ public String getUserName() { return this.userName; } /** *

* The name of the user to create. *

*

* 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". *

* * @param userName * The name of the user to create.

*

* 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". * @return Returns a reference to this object so that method calls can be chained together. */ public CreateUserRequest withUserName(String userName) { setUserName(userName); return this; } /** *

* The ARN of the managed policy that is used to set the permissions boundary for the user. *

*

* 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 Permissions boundaries * for IAM entities in the IAM User Guide. *

*

* For more information about policy types, see Policy types * in the IAM User Guide. *

* * @param permissionsBoundary * The ARN of the managed policy that is used to set the permissions boundary for the user.

*

* 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 Permissions * boundaries for IAM entities in the IAM User Guide. *

*

* For more information about policy types, see Policy * types in the IAM User Guide. */ public void setPermissionsBoundary(String permissionsBoundary) { this.permissionsBoundary = permissionsBoundary; } /** *

* The ARN of the managed policy that is used to set the permissions boundary for the user. *

*

* 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 Permissions boundaries * for IAM entities in the IAM User Guide. *

*

* For more information about policy types, see Policy types * in the IAM User Guide. *

* * @return The ARN of the managed policy that is used to set the permissions boundary for the user.

*

* 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 Permissions * boundaries for IAM entities in the IAM User Guide. *

*

* For more information about policy types, see Policy * types in the IAM User Guide. */ public String getPermissionsBoundary() { return this.permissionsBoundary; } /** *

* The ARN of the managed policy that is used to set the permissions boundary for the user. *

*

* 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 Permissions boundaries * for IAM entities in the IAM User Guide. *

*

* For more information about policy types, see Policy types * in the IAM User Guide. *

* * @param permissionsBoundary * The ARN of the managed policy that is used to set the permissions boundary for the user.

*

* 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 Permissions * boundaries for IAM entities in the IAM User Guide. *

*

* For more information about policy types, see Policy * types in the IAM User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateUserRequest withPermissionsBoundary(String permissionsBoundary) { setPermissionsBoundary(permissionsBoundary); return this; } /** *

* 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 Tagging IAM resources in the IAM User * Guide. *

* *

* 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. *

*
* * @return 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 Tagging IAM resources in the * IAM User Guide.

*

* 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. *

*/ public java.util.List getTags() { if (tags == null) { tags = new com.amazonaws.internal.SdkInternalList(); } return tags; } /** *

* 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 Tagging IAM resources in the IAM User * Guide. *

* *

* 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. *

*
* * @param tags * 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 Tagging IAM resources in the * IAM User Guide.

*

* 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. *

*/ public void setTags(java.util.Collection tags) { if (tags == null) { this.tags = null; return; } this.tags = new com.amazonaws.internal.SdkInternalList(tags); } /** *

* 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 Tagging IAM resources in the IAM User * Guide. *

* *

* 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. *

*
*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setTags(java.util.Collection)} or {@link #withTags(java.util.Collection)} if you want to override the * existing values. *

* * @param tags * 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 Tagging IAM resources in the * IAM User Guide.

*

* 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. *

* @return Returns a reference to this object so that method calls can be chained together. */ public CreateUserRequest withTags(Tag... tags) { if (this.tags == null) { setTags(new com.amazonaws.internal.SdkInternalList(tags.length)); } for (Tag ele : tags) { this.tags.add(ele); } return this; } /** *

* 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 Tagging IAM resources in the IAM User * Guide. *

* *

* 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. *

*
* * @param tags * 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 Tagging IAM resources in the * IAM User Guide.

*

* 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. *

* @return Returns a reference to this object so that method calls can be chained together. */ public CreateUserRequest withTags(java.util.Collection tags) { setTags(tags); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getPath() != null) sb.append("Path: ").append(getPath()).append(","); if (getUserName() != null) sb.append("UserName: ").append(getUserName()).append(","); if (getPermissionsBoundary() != null) sb.append("PermissionsBoundary: ").append(getPermissionsBoundary()).append(","); if (getTags() != null) sb.append("Tags: ").append(getTags()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CreateUserRequest == false) return false; CreateUserRequest other = (CreateUserRequest) obj; if (other.getPath() == null ^ this.getPath() == null) return false; if (other.getPath() != null && other.getPath().equals(this.getPath()) == false) return false; if (other.getUserName() == null ^ this.getUserName() == null) return false; if (other.getUserName() != null && other.getUserName().equals(this.getUserName()) == false) return false; if (other.getPermissionsBoundary() == null ^ this.getPermissionsBoundary() == null) return false; if (other.getPermissionsBoundary() != null && other.getPermissionsBoundary().equals(this.getPermissionsBoundary()) == false) return false; if (other.getTags() == null ^ this.getTags() == null) return false; if (other.getTags() != null && other.getTags().equals(this.getTags()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getPath() == null) ? 0 : getPath().hashCode()); hashCode = prime * hashCode + ((getUserName() == null) ? 0 : getUserName().hashCode()); hashCode = prime * hashCode + ((getPermissionsBoundary() == null) ? 0 : getPermissionsBoundary().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); return hashCode; } @Override public CreateUserRequest clone() { return (CreateUserRequest) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy