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

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

Go to download

The AWS SDK for Java with support for OSGi. The AWS SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

There is a newer version: 1.11.60
Show newest version
/*
 * Copyright 2011-2016 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;

/**
 * 

* Contains information about an IAM role, including all of the role's policies. *

*

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

*/ public class RoleDetail implements Serializable, Cloneable { /** *

* The path to the role. For more information about paths, see IAM Identifiers in the Using IAM guide. *

*/ private String path; /** *

* The friendly name that identifies the role. *

*/ private String roleName; /** *

* The stable and unique string identifying the role. For more information * about IDs, see IAM Identifiers in the Using IAM guide. *

*/ private String roleId; private String arn; /** *

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

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

* The trust policy that grants permission to assume the role. *

*/ private String assumeRolePolicyDocument; private com.amazonaws.internal.SdkInternalList instanceProfileList; /** *

* A list of inline policies embedded in the role. These policies are the * role's access (permissions) policies. *

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

* A list of managed policies attached to the role. These policies are the * role's access (permissions) policies. *

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

* The path to the role. For more information about paths, see IAM Identifiers in the Using IAM guide. *

* * @param path * The path to the role. For more information about paths, see IAM Identifiers in the Using IAM guide. */ public void setPath(String path) { this.path = path; } /** *

* The path to the role. For more information about paths, see IAM Identifiers in the Using IAM guide. *

* * @return The path to the role. For more information about paths, see IAM Identifiers in the Using IAM guide. */ public String getPath() { return this.path; } /** *

* The path to the role. For more information about paths, see IAM Identifiers in the Using IAM guide. *

* * @param path * The path to the role. For more information about paths, see IAM Identifiers in the Using IAM guide. * @return Returns a reference to this object so that method calls can be * chained together. */ public RoleDetail withPath(String path) { setPath(path); return this; } /** *

* The friendly name that identifies the role. *

* * @param roleName * The friendly name that identifies the role. */ public void setRoleName(String roleName) { this.roleName = roleName; } /** *

* The friendly name that identifies the role. *

* * @return The friendly name that identifies the role. */ public String getRoleName() { return this.roleName; } /** *

* The friendly name that identifies the role. *

* * @param roleName * The friendly name that identifies the role. * @return Returns a reference to this object so that method calls can be * chained together. */ public RoleDetail withRoleName(String roleName) { setRoleName(roleName); return this; } /** *

* The stable and unique string identifying the role. For more information * about IDs, see IAM Identifiers in the Using IAM guide. *

* * @param roleId * The stable and unique string identifying the role. For more * information about IDs, see IAM Identifiers in the Using IAM guide. */ public void setRoleId(String roleId) { this.roleId = roleId; } /** *

* The stable and unique string identifying the role. For more information * about IDs, see IAM Identifiers in the Using IAM guide. *

* * @return The stable and unique string identifying the role. For more * information about IDs, see IAM Identifiers in the Using IAM guide. */ public String getRoleId() { return this.roleId; } /** *

* The stable and unique string identifying the role. For more information * about IDs, see IAM Identifiers in the Using IAM guide. *

* * @param roleId * The stable and unique string identifying the role. For more * information about IDs, see IAM Identifiers in the Using IAM guide. * @return Returns a reference to this object so that method calls can be * chained together. */ public RoleDetail withRoleId(String roleId) { setRoleId(roleId); 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 RoleDetail withArn(String arn) { setArn(arn); return this; } /** *

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

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

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

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

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

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

* The trust policy that grants permission to assume the role. *

* * @param assumeRolePolicyDocument * The trust policy that grants permission to assume the role. */ public void setAssumeRolePolicyDocument(String assumeRolePolicyDocument) { this.assumeRolePolicyDocument = assumeRolePolicyDocument; } /** *

* The trust policy that grants permission to assume the role. *

* * @return The trust policy that grants permission to assume the role. */ public String getAssumeRolePolicyDocument() { return this.assumeRolePolicyDocument; } /** *

* The trust policy that grants permission to assume the role. *

* * @param assumeRolePolicyDocument * The trust policy that grants permission to assume the role. * @return Returns a reference to this object so that method calls can be * chained together. */ public RoleDetail withAssumeRolePolicyDocument( String assumeRolePolicyDocument) { setAssumeRolePolicyDocument(assumeRolePolicyDocument); return this; } /** * @return */ public java.util.List getInstanceProfileList() { if (instanceProfileList == null) { instanceProfileList = new com.amazonaws.internal.SdkInternalList(); } return instanceProfileList; } /** * @param instanceProfileList */ public void setInstanceProfileList( java.util.Collection instanceProfileList) { if (instanceProfileList == null) { this.instanceProfileList = null; return; } this.instanceProfileList = new com.amazonaws.internal.SdkInternalList( instanceProfileList); } /** *

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

* * @param instanceProfileList * @return Returns a reference to this object so that method calls can be * chained together. */ public RoleDetail withInstanceProfileList( InstanceProfile... instanceProfileList) { if (this.instanceProfileList == null) { setInstanceProfileList(new com.amazonaws.internal.SdkInternalList( instanceProfileList.length)); } for (InstanceProfile ele : instanceProfileList) { this.instanceProfileList.add(ele); } return this; } /** * @param instanceProfileList * @return Returns a reference to this object so that method calls can be * chained together. */ public RoleDetail withInstanceProfileList( java.util.Collection instanceProfileList) { setInstanceProfileList(instanceProfileList); return this; } /** *

* A list of inline policies embedded in the role. These policies are the * role's access (permissions) policies. *

* * @return A list of inline policies embedded in the role. These policies * are the role's access (permissions) policies. */ public java.util.List getRolePolicyList() { if (rolePolicyList == null) { rolePolicyList = new com.amazonaws.internal.SdkInternalList(); } return rolePolicyList; } /** *

* A list of inline policies embedded in the role. These policies are the * role's access (permissions) policies. *

* * @param rolePolicyList * A list of inline policies embedded in the role. These policies are * the role's access (permissions) policies. */ public void setRolePolicyList( java.util.Collection rolePolicyList) { if (rolePolicyList == null) { this.rolePolicyList = null; return; } this.rolePolicyList = new com.amazonaws.internal.SdkInternalList( rolePolicyList); } /** *

* A list of inline policies embedded in the role. These policies are the * role's access (permissions) policies. *

*

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

* * @param rolePolicyList * A list of inline policies embedded in the role. These policies are * the role's access (permissions) policies. * @return Returns a reference to this object so that method calls can be * chained together. */ public RoleDetail withRolePolicyList(PolicyDetail... rolePolicyList) { if (this.rolePolicyList == null) { setRolePolicyList(new com.amazonaws.internal.SdkInternalList( rolePolicyList.length)); } for (PolicyDetail ele : rolePolicyList) { this.rolePolicyList.add(ele); } return this; } /** *

* A list of inline policies embedded in the role. These policies are the * role's access (permissions) policies. *

* * @param rolePolicyList * A list of inline policies embedded in the role. These policies are * the role's access (permissions) policies. * @return Returns a reference to this object so that method calls can be * chained together. */ public RoleDetail withRolePolicyList( java.util.Collection rolePolicyList) { setRolePolicyList(rolePolicyList); return this; } /** *

* A list of managed policies attached to the role. These policies are the * role's access (permissions) policies. *

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

* A list of managed policies attached to the role. These policies are the * role's access (permissions) policies. *

* * @param attachedManagedPolicies * A list of managed policies attached to the role. These policies * are the role's access (permissions) policies. */ 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 managed policies attached to the role. These policies are the * role's access (permissions) policies. *

*

* 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 managed policies attached to the role. These policies * are the role's access (permissions) policies. * @return Returns a reference to this object so that method calls can be * chained together. */ public RoleDetail 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 managed policies attached to the role. These policies are the * role's access (permissions) policies. *

* * @param attachedManagedPolicies * A list of managed policies attached to the role. These policies * are the role's access (permissions) policies. * @return Returns a reference to this object so that method calls can be * chained together. */ public RoleDetail withAttachedManagedPolicies( java.util.Collection attachedManagedPolicies) { setAttachedManagedPolicies(attachedManagedPolicies); return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @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: " + getPath() + ","); if (getRoleName() != null) sb.append("RoleName: " + getRoleName() + ","); if (getRoleId() != null) sb.append("RoleId: " + getRoleId() + ","); if (getArn() != null) sb.append("Arn: " + getArn() + ","); if (getCreateDate() != null) sb.append("CreateDate: " + getCreateDate() + ","); if (getAssumeRolePolicyDocument() != null) sb.append("AssumeRolePolicyDocument: " + getAssumeRolePolicyDocument() + ","); if (getInstanceProfileList() != null) sb.append("InstanceProfileList: " + getInstanceProfileList() + ","); if (getRolePolicyList() != null) sb.append("RolePolicyList: " + getRolePolicyList() + ","); if (getAttachedManagedPolicies() != null) sb.append("AttachedManagedPolicies: " + getAttachedManagedPolicies()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof RoleDetail == false) return false; RoleDetail other = (RoleDetail) obj; if (other.getPath() == null ^ this.getPath() == null) return false; if (other.getPath() != null && other.getPath().equals(this.getPath()) == false) return false; if (other.getRoleName() == null ^ this.getRoleName() == null) return false; if (other.getRoleName() != null && other.getRoleName().equals(this.getRoleName()) == false) return false; if (other.getRoleId() == null ^ this.getRoleId() == null) return false; if (other.getRoleId() != null && other.getRoleId().equals(this.getRoleId()) == 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.getAssumeRolePolicyDocument() == null ^ this.getAssumeRolePolicyDocument() == null) return false; if (other.getAssumeRolePolicyDocument() != null && other.getAssumeRolePolicyDocument().equals( this.getAssumeRolePolicyDocument()) == false) return false; if (other.getInstanceProfileList() == null ^ this.getInstanceProfileList() == null) return false; if (other.getInstanceProfileList() != null && other.getInstanceProfileList().equals( this.getInstanceProfileList()) == false) return false; if (other.getRolePolicyList() == null ^ this.getRolePolicyList() == null) return false; if (other.getRolePolicyList() != null && other.getRolePolicyList().equals(this.getRolePolicyList()) == false) return false; if (other.getAttachedManagedPolicies() == null ^ this.getAttachedManagedPolicies() == null) return false; if (other.getAttachedManagedPolicies() != null && other.getAttachedManagedPolicies().equals( this.getAttachedManagedPolicies()) == 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 + ((getRoleName() == null) ? 0 : getRoleName().hashCode()); hashCode = prime * hashCode + ((getRoleId() == null) ? 0 : getRoleId().hashCode()); hashCode = prime * hashCode + ((getArn() == null) ? 0 : getArn().hashCode()); hashCode = prime * hashCode + ((getCreateDate() == null) ? 0 : getCreateDate().hashCode()); hashCode = prime * hashCode + ((getAssumeRolePolicyDocument() == null) ? 0 : getAssumeRolePolicyDocument().hashCode()); hashCode = prime * hashCode + ((getInstanceProfileList() == null) ? 0 : getInstanceProfileList().hashCode()); hashCode = prime * hashCode + ((getRolePolicyList() == null) ? 0 : getRolePolicyList() .hashCode()); hashCode = prime * hashCode + ((getAttachedManagedPolicies() == null) ? 0 : getAttachedManagedPolicies().hashCode()); return hashCode; } @Override public RoleDetail clone() { try { return (RoleDetail) 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