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

com.amazonaws.services.identitymanagement.model.User 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;

/**
 * 

* Contains information about an IAM user entity. *

*

* This data type is used as a response element in the following operations: *

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

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

*

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

*/ private String path; /** *

* The friendly name identifying the user. *

*/ private String userName; /** *

* The stable and unique string identifying the user. For more information about IDs, see IAM identifiers in the IAM * User Guide. *

*/ private String userId; /** *

* The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and how to use ARNs in * policies, see IAM * Identifiers in the IAM User Guide. *

*/ private String arn; /** *

* The date and time, in ISO 8601 date-time format, when the user was * created. *

*/ private java.util.Date createDate; /** *

* The date and time, in ISO 8601 date-time format, when the user's * password was last used to sign in to an Amazon Web Services website. For a list of Amazon Web Services websites * that capture a user's last sign-in time, see the Credential reports topic in * the IAM User Guide. If a password is used more than once in a five-minute span, only the first use is * returned in this field. If the field is null (no value), then it indicates that they never signed in with a * password. This can be because: *

*
    *
  • *

    * The user never had a password. *

    *
  • *
  • *

    * A password exists but has not been used since IAM started tracking this information on October 20, 2014. *

    *
  • *
*

* A null value does not mean that the user never had a password. Also, if the user does not currently have a * password but had one in the past, then this field contains the date and time the most recent password was used. *

*

* This value is returned only in the GetUser and ListUsers operations. *

*/ private java.util.Date passwordLastUsed; /** *

* For more information about permissions boundaries, see Permissions boundaries * for IAM identities in the IAM User Guide. *

*/ private AttachedPermissionsBoundary permissionsBoundary; /** *

* A list of tags that are associated with the user. For more information about tagging, see Tagging IAM resources in the IAM User * Guide. *

*/ private com.amazonaws.internal.SdkInternalList tags; /** * Default constructor for User object. Callers should use the setter or fluent setter (with...) methods to * initialize the object after creating it. */ public User() { } /** * Constructs a new User object. Callers should use the setter or fluent setter (with...) methods to initialize any * additional object members. * * @param path * The path to the user. For more information about paths, see IAM identifiers in the * IAM User Guide.

*

* The ARN of the policy used to set the permissions boundary for the user. * @param userName * The friendly name identifying the user. * @param userId * The stable and unique string identifying the user. For more information about IDs, see IAM identifiers in the * IAM User Guide. * @param arn * The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and how to use * ARNs in policies, see IAM Identifiers in the * IAM User Guide. * @param createDate * The date and time, in ISO 8601 date-time format, when the * user was created. */ public User(String path, String userName, String userId, String arn, java.util.Date createDate) { setPath(path); setUserName(userName); setUserId(userId); setArn(arn); setCreateDate(createDate); } /** *

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

*

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

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

*

* The ARN of the policy used to set the permissions boundary for the user. */ public void setPath(String path) { this.path = path; } /** *

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

*

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

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

*

* The ARN of the policy used to set the permissions boundary for the user. */ public String getPath() { return this.path; } /** *

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

*

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

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

*

* The ARN of the policy used to set the permissions boundary for the user. * @return Returns a reference to this object so that method calls can be chained together. */ public User withPath(String path) { setPath(path); return this; } /** *

* The friendly name identifying the user. *

* * @param userName * The friendly name identifying the user. */ public void setUserName(String userName) { this.userName = userName; } /** *

* The friendly name identifying the user. *

* * @return The friendly name identifying the user. */ public String getUserName() { return this.userName; } /** *

* The friendly name identifying the user. *

* * @param userName * The friendly name identifying the user. * @return Returns a reference to this object so that method calls can be chained together. */ public User withUserName(String userName) { setUserName(userName); return this; } /** *

* The stable and unique string identifying the user. For more information about IDs, see IAM identifiers in the IAM * User Guide. *

* * @param userId * The stable and unique string identifying the user. For more information about IDs, see IAM identifiers in the * IAM User Guide. */ public void setUserId(String userId) { this.userId = userId; } /** *

* The stable and unique string identifying the user. For more information about IDs, see IAM identifiers in the IAM * User Guide. *

* * @return The stable and unique string identifying the user. For more information about IDs, see IAM identifiers in the * IAM User Guide. */ public String getUserId() { return this.userId; } /** *

* The stable and unique string identifying the user. For more information about IDs, see IAM identifiers in the IAM * User Guide. *

* * @param userId * The stable and unique string identifying the user. For more information about IDs, see IAM identifiers in the * IAM User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public User withUserId(String userId) { setUserId(userId); return this; } /** *

* The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and how to use ARNs in * policies, see IAM * Identifiers in the IAM User Guide. *

* * @param arn * The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and how to use * ARNs in policies, see IAM Identifiers in the * IAM User Guide. */ public void setArn(String arn) { this.arn = arn; } /** *

* The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and how to use ARNs in * policies, see IAM * Identifiers in the IAM User Guide. *

* * @return The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and how to use * ARNs in policies, see IAM Identifiers in the * IAM User Guide. */ public String getArn() { return this.arn; } /** *

* The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and how to use ARNs in * policies, see IAM * Identifiers in the IAM User Guide. *

* * @param arn * The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and how to use * ARNs in policies, see IAM Identifiers in the * IAM User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public User withArn(String arn) { setArn(arn); return this; } /** *

* The date and time, in ISO 8601 date-time format, when the user was * created. *

* * @param createDate * The date and time, in ISO 8601 date-time format, when the * user was created. */ public void setCreateDate(java.util.Date createDate) { this.createDate = createDate; } /** *

* The date and time, in ISO 8601 date-time format, when the user was * created. *

* * @return The date and time, in ISO 8601 date-time format, when the * user was created. */ public java.util.Date getCreateDate() { return this.createDate; } /** *

* The date and time, in ISO 8601 date-time format, when the user was * created. *

* * @param createDate * The date and time, in ISO 8601 date-time format, when the * user was created. * @return Returns a reference to this object so that method calls can be chained together. */ public User withCreateDate(java.util.Date createDate) { setCreateDate(createDate); return this; } /** *

* The date and time, in ISO 8601 date-time format, when the user's * password was last used to sign in to an Amazon Web Services website. For a list of Amazon Web Services websites * that capture a user's last sign-in time, see the Credential reports topic in * the IAM User Guide. If a password is used more than once in a five-minute span, only the first use is * returned in this field. If the field is null (no value), then it indicates that they never signed in with a * password. This can be because: *

*
    *
  • *

    * The user never had a password. *

    *
  • *
  • *

    * A password exists but has not been used since IAM started tracking this information on October 20, 2014. *

    *
  • *
*

* A null value does not mean that the user never had a password. Also, if the user does not currently have a * password but had one in the past, then this field contains the date and time the most recent password was used. *

*

* This value is returned only in the GetUser and ListUsers operations. *

* * @param passwordLastUsed * The date and time, in ISO 8601 date-time format, when the * user's password was last used to sign in to an Amazon Web Services website. For a list of Amazon Web * Services websites that capture a user's last sign-in time, see the Credential reports * topic in the IAM User Guide. If a password is used more than once in a five-minute span, only the * first use is returned in this field. If the field is null (no value), then it indicates that they never * signed in with a password. This can be because:

*
    *
  • *

    * The user never had a password. *

    *
  • *
  • *

    * A password exists but has not been used since IAM started tracking this information on October 20, 2014. *

    *
  • *
*

* A null value does not mean that the user never had a password. Also, if the user does not currently * have a password but had one in the past, then this field contains the date and time the most recent * password was used. *

*

* This value is returned only in the GetUser and ListUsers operations. */ public void setPasswordLastUsed(java.util.Date passwordLastUsed) { this.passwordLastUsed = passwordLastUsed; } /** *

* The date and time, in ISO 8601 date-time format, when the user's * password was last used to sign in to an Amazon Web Services website. For a list of Amazon Web Services websites * that capture a user's last sign-in time, see the Credential reports topic in * the IAM User Guide. If a password is used more than once in a five-minute span, only the first use is * returned in this field. If the field is null (no value), then it indicates that they never signed in with a * password. This can be because: *

*
    *
  • *

    * The user never had a password. *

    *
  • *
  • *

    * A password exists but has not been used since IAM started tracking this information on October 20, 2014. *

    *
  • *
*

* A null value does not mean that the user never had a password. Also, if the user does not currently have a * password but had one in the past, then this field contains the date and time the most recent password was used. *

*

* This value is returned only in the GetUser and ListUsers operations. *

* * @return The date and time, in ISO 8601 date-time format, when the * user's password was last used to sign in to an Amazon Web Services website. For a list of Amazon Web * Services websites that capture a user's last sign-in time, see the Credential reports * topic in the IAM User Guide. If a password is used more than once in a five-minute span, only the * first use is returned in this field. If the field is null (no value), then it indicates that they never * signed in with a password. This can be because:

*
    *
  • *

    * The user never had a password. *

    *
  • *
  • *

    * A password exists but has not been used since IAM started tracking this information on October 20, 2014. *

    *
  • *
*

* A null value does not mean that the user never had a password. Also, if the user does not * currently have a password but had one in the past, then this field contains the date and time the most * recent password was used. *

*

* This value is returned only in the GetUser and ListUsers operations. */ public java.util.Date getPasswordLastUsed() { return this.passwordLastUsed; } /** *

* The date and time, in ISO 8601 date-time format, when the user's * password was last used to sign in to an Amazon Web Services website. For a list of Amazon Web Services websites * that capture a user's last sign-in time, see the Credential reports topic in * the IAM User Guide. If a password is used more than once in a five-minute span, only the first use is * returned in this field. If the field is null (no value), then it indicates that they never signed in with a * password. This can be because: *

*
    *
  • *

    * The user never had a password. *

    *
  • *
  • *

    * A password exists but has not been used since IAM started tracking this information on October 20, 2014. *

    *
  • *
*

* A null value does not mean that the user never had a password. Also, if the user does not currently have a * password but had one in the past, then this field contains the date and time the most recent password was used. *

*

* This value is returned only in the GetUser and ListUsers operations. *

* * @param passwordLastUsed * The date and time, in ISO 8601 date-time format, when the * user's password was last used to sign in to an Amazon Web Services website. For a list of Amazon Web * Services websites that capture a user's last sign-in time, see the Credential reports * topic in the IAM User Guide. If a password is used more than once in a five-minute span, only the * first use is returned in this field. If the field is null (no value), then it indicates that they never * signed in with a password. This can be because:

*
    *
  • *

    * The user never had a password. *

    *
  • *
  • *

    * A password exists but has not been used since IAM started tracking this information on October 20, 2014. *

    *
  • *
*

* A null value does not mean that the user never had a password. Also, if the user does not currently * have a password but had one in the past, then this field contains the date and time the most recent * password was used. *

*

* This value is returned only in the GetUser and ListUsers operations. * @return Returns a reference to this object so that method calls can be chained together. */ public User withPasswordLastUsed(java.util.Date passwordLastUsed) { setPasswordLastUsed(passwordLastUsed); return this; } /** *

* For more information about permissions boundaries, see Permissions boundaries * for IAM identities in the IAM User Guide. *

* * @param permissionsBoundary * For more information about permissions boundaries, see Permissions * boundaries for IAM identities in the IAM User Guide. */ public void setPermissionsBoundary(AttachedPermissionsBoundary permissionsBoundary) { this.permissionsBoundary = permissionsBoundary; } /** *

* For more information about permissions boundaries, see Permissions boundaries * for IAM identities in the IAM User Guide. *

* * @return For more information about permissions boundaries, see Permissions * boundaries for IAM identities in the IAM User Guide. */ public AttachedPermissionsBoundary getPermissionsBoundary() { return this.permissionsBoundary; } /** *

* For more information about permissions boundaries, see Permissions boundaries * for IAM identities in the IAM User Guide. *

* * @param permissionsBoundary * For more information about permissions boundaries, see Permissions * boundaries for IAM identities in the IAM User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public User withPermissionsBoundary(AttachedPermissionsBoundary permissionsBoundary) { setPermissionsBoundary(permissionsBoundary); return this; } /** *

* A list of tags that are associated with the user. For more information about tagging, see Tagging IAM resources in the IAM User * Guide. *

* * @return A list of tags that are associated with the user. For more information about tagging, see Tagging IAM resources in the * IAM User Guide. */ public java.util.List getTags() { if (tags == null) { tags = new com.amazonaws.internal.SdkInternalList(); } return tags; } /** *

* A list of tags that are associated with the user. For more information about tagging, see Tagging IAM resources in the IAM User * Guide. *

* * @param tags * A list of tags that are associated with the user. For more information about tagging, see Tagging IAM resources in the * IAM User Guide. */ 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 are associated with the user. For more information about tagging, see Tagging IAM resources in the IAM User * Guide. *

*

* 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 are associated with the user. For more information about tagging, see Tagging IAM resources in the * IAM User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public User 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 are associated with the user. For more information about tagging, see Tagging IAM resources in the IAM User * Guide. *

* * @param tags * A list of tags that are associated with the user. For more information about tagging, see Tagging IAM resources in the * IAM User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public User 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 (getUserId() != null) sb.append("UserId: ").append(getUserId()).append(","); if (getArn() != null) sb.append("Arn: ").append(getArn()).append(","); if (getCreateDate() != null) sb.append("CreateDate: ").append(getCreateDate()).append(","); if (getPasswordLastUsed() != null) sb.append("PasswordLastUsed: ").append(getPasswordLastUsed()).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 User == false) return false; User other = (User) 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.getUserId() == null ^ this.getUserId() == null) return false; if (other.getUserId() != null && other.getUserId().equals(this.getUserId()) == false) return false; if (other.getArn() == null ^ this.getArn() == null) return false; if (other.getArn() != null && other.getArn().equals(this.getArn()) == false) return false; if (other.getCreateDate() == null ^ this.getCreateDate() == null) return false; if (other.getCreateDate() != null && other.getCreateDate().equals(this.getCreateDate()) == false) return false; if (other.getPasswordLastUsed() == null ^ this.getPasswordLastUsed() == null) return false; if (other.getPasswordLastUsed() != null && other.getPasswordLastUsed().equals(this.getPasswordLastUsed()) == 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 + ((getUserId() == null) ? 0 : getUserId().hashCode()); hashCode = prime * hashCode + ((getArn() == null) ? 0 : getArn().hashCode()); hashCode = prime * hashCode + ((getCreateDate() == null) ? 0 : getCreateDate().hashCode()); hashCode = prime * hashCode + ((getPasswordLastUsed() == null) ? 0 : getPasswordLastUsed().hashCode()); hashCode = prime * hashCode + ((getPermissionsBoundary() == null) ? 0 : getPermissionsBoundary().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); return hashCode; } @Override public User clone() { try { return (User) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy