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

com.amazonaws.services.identitymanagement.model.UserDetail 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, including all the user's policies and all the IAM groups the user is in. *

*

* This data type is used as a response element in the GetAccountAuthorizationDetails operation. *

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

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

*/ 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; private String arn; /** *

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

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

* A list of the inline policies embedded in the user. *

*/ private com.amazonaws.internal.SdkInternalList userPolicyList; /** *

* A list of IAM groups that the user is in. *

*/ private com.amazonaws.internal.SdkInternalList groupList; /** *

* A list of the managed policies attached to the user. *

*/ private com.amazonaws.internal.SdkInternalList attachedManagedPolicies; /** *

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

*

* 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; /** *

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

* * @param path * The path to the user. For more information about paths, see IAM identifiers in the * IAM User Guide. */ 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. *

* * @return The path to the user. For more information about paths, see IAM identifiers in the * IAM User Guide. */ public String getPath() { return this.path; } /** *

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

* * @param path * The path to the user. For more information about paths, see IAM identifiers in the * IAM User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public UserDetail 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 UserDetail 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 UserDetail withUserId(String userId) { setUserId(userId); return this; } /** * @param arn */ public void setArn(String arn) { this.arn = arn; } /** * @return */ public String getArn() { return this.arn; } /** * @param arn * @return Returns a reference to this object so that method calls can be chained together. */ public UserDetail 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 UserDetail withCreateDate(java.util.Date createDate) { setCreateDate(createDate); return this; } /** *

* A list of the inline policies embedded in the user. *

* * @return A list of the inline policies embedded in the user. */ public java.util.List getUserPolicyList() { if (userPolicyList == null) { userPolicyList = new com.amazonaws.internal.SdkInternalList(); } return userPolicyList; } /** *

* A list of the inline policies embedded in the user. *

* * @param userPolicyList * A list of the inline policies embedded in the user. */ public void setUserPolicyList(java.util.Collection userPolicyList) { if (userPolicyList == null) { this.userPolicyList = null; return; } this.userPolicyList = new com.amazonaws.internal.SdkInternalList(userPolicyList); } /** *

* A list of the inline policies embedded in the user. *

*

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

* * @param userPolicyList * A list of the inline policies embedded in the user. * @return Returns a reference to this object so that method calls can be chained together. */ public UserDetail withUserPolicyList(PolicyDetail... userPolicyList) { if (this.userPolicyList == null) { setUserPolicyList(new com.amazonaws.internal.SdkInternalList(userPolicyList.length)); } for (PolicyDetail ele : userPolicyList) { this.userPolicyList.add(ele); } return this; } /** *

* A list of the inline policies embedded in the user. *

* * @param userPolicyList * A list of the inline policies embedded in the user. * @return Returns a reference to this object so that method calls can be chained together. */ public UserDetail withUserPolicyList(java.util.Collection userPolicyList) { setUserPolicyList(userPolicyList); return this; } /** *

* A list of IAM groups that the user is in. *

* * @return A list of IAM groups that the user is in. */ public java.util.List getGroupList() { if (groupList == null) { groupList = new com.amazonaws.internal.SdkInternalList(); } return groupList; } /** *

* A list of IAM groups that the user is in. *

* * @param groupList * A list of IAM groups that the user is in. */ public void setGroupList(java.util.Collection groupList) { if (groupList == null) { this.groupList = null; return; } this.groupList = new com.amazonaws.internal.SdkInternalList(groupList); } /** *

* A list of IAM groups that the user is in. *

*

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

* * @param groupList * A list of IAM groups that the user is in. * @return Returns a reference to this object so that method calls can be chained together. */ public UserDetail withGroupList(String... groupList) { if (this.groupList == null) { setGroupList(new com.amazonaws.internal.SdkInternalList(groupList.length)); } for (String ele : groupList) { this.groupList.add(ele); } return this; } /** *

* A list of IAM groups that the user is in. *

* * @param groupList * A list of IAM groups that the user is in. * @return Returns a reference to this object so that method calls can be chained together. */ public UserDetail withGroupList(java.util.Collection groupList) { setGroupList(groupList); return this; } /** *

* A list of the managed policies attached to the user. *

* * @return A list of the managed policies attached to the user. */ public java.util.List getAttachedManagedPolicies() { if (attachedManagedPolicies == null) { attachedManagedPolicies = new com.amazonaws.internal.SdkInternalList(); } return attachedManagedPolicies; } /** *

* A list of the managed policies attached to the user. *

* * @param attachedManagedPolicies * A list of the managed policies attached to the user. */ public void setAttachedManagedPolicies(java.util.Collection attachedManagedPolicies) { if (attachedManagedPolicies == null) { this.attachedManagedPolicies = null; return; } this.attachedManagedPolicies = new com.amazonaws.internal.SdkInternalList(attachedManagedPolicies); } /** *

* A list of the managed policies attached to the user. *

*

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

* * @param attachedManagedPolicies * A list of the managed policies attached to the user. * @return Returns a reference to this object so that method calls can be chained together. */ public UserDetail withAttachedManagedPolicies(AttachedPolicy... attachedManagedPolicies) { if (this.attachedManagedPolicies == null) { setAttachedManagedPolicies(new com.amazonaws.internal.SdkInternalList(attachedManagedPolicies.length)); } for (AttachedPolicy ele : attachedManagedPolicies) { this.attachedManagedPolicies.add(ele); } return this; } /** *

* A list of the managed policies attached to the user. *

* * @param attachedManagedPolicies * A list of the managed policies attached to the user. * @return Returns a reference to this object so that method calls can be chained together. */ public UserDetail withAttachedManagedPolicies(java.util.Collection attachedManagedPolicies) { setAttachedManagedPolicies(attachedManagedPolicies); return this; } /** *

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

*

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

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

*

* 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; } /** *

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

*

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

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

*

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

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

*

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

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

*

* 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 UserDetail 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 UserDetail 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 UserDetail 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 (getUserPolicyList() != null) sb.append("UserPolicyList: ").append(getUserPolicyList()).append(","); if (getGroupList() != null) sb.append("GroupList: ").append(getGroupList()).append(","); if (getAttachedManagedPolicies() != null) sb.append("AttachedManagedPolicies: ").append(getAttachedManagedPolicies()).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 UserDetail == false) return false; UserDetail other = (UserDetail) 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.getUserPolicyList() == null ^ this.getUserPolicyList() == null) return false; if (other.getUserPolicyList() != null && other.getUserPolicyList().equals(this.getUserPolicyList()) == false) return false; if (other.getGroupList() == null ^ this.getGroupList() == null) return false; if (other.getGroupList() != null && other.getGroupList().equals(this.getGroupList()) == false) return false; if (other.getAttachedManagedPolicies() == null ^ this.getAttachedManagedPolicies() == null) return false; if (other.getAttachedManagedPolicies() != null && other.getAttachedManagedPolicies().equals(this.getAttachedManagedPolicies()) == 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 + ((getUserPolicyList() == null) ? 0 : getUserPolicyList().hashCode()); hashCode = prime * hashCode + ((getGroupList() == null) ? 0 : getGroupList().hashCode()); hashCode = prime * hashCode + ((getAttachedManagedPolicies() == null) ? 0 : getAttachedManagedPolicies().hashCode()); hashCode = prime * hashCode + ((getPermissionsBoundary() == null) ? 0 : getPermissionsBoundary().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); return hashCode; } @Override public UserDetail clone() { try { return (UserDetail) 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