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

com.amazonaws.services.identitymanagement.model.InstanceProfile 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 instance profile. *

*

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

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

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

*/ private String path; /** *

* The name identifying the instance profile. *

*/ private String instanceProfileName; /** *

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

*/ private String instanceProfileId; /** *

* The Amazon Resource Name (ARN) specifying the instance profile. For more * information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide. *

*/ private String arn; /** *

* The date when the instance profile was created. *

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

* The role associated with the instance profile. *

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

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

* * @param path * The path to the instance profile. 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 instance profile. For more information about paths, see * IAM Identifiers in the Using IAM guide. *

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

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

* * @param path * The path to the instance profile. 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 InstanceProfile withPath(String path) { setPath(path); return this; } /** *

* The name identifying the instance profile. *

* * @param instanceProfileName * The name identifying the instance profile. */ public void setInstanceProfileName(String instanceProfileName) { this.instanceProfileName = instanceProfileName; } /** *

* The name identifying the instance profile. *

* * @return The name identifying the instance profile. */ public String getInstanceProfileName() { return this.instanceProfileName; } /** *

* The name identifying the instance profile. *

* * @param instanceProfileName * The name identifying the instance profile. * @return Returns a reference to this object so that method calls can be * chained together. */ public InstanceProfile withInstanceProfileName(String instanceProfileName) { setInstanceProfileName(instanceProfileName); return this; } /** *

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

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

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

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

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

* * @param instanceProfileId * The stable and unique string identifying the instance profile. 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 InstanceProfile withInstanceProfileId(String instanceProfileId) { setInstanceProfileId(instanceProfileId); return this; } /** *

* The Amazon Resource Name (ARN) specifying the instance profile. For more * information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide. *

* * @param arn * The Amazon Resource Name (ARN) specifying the instance profile. * For more information about ARNs and how to use them in policies, * see IAM Identifiers in the Using IAM guide. */ public void setArn(String arn) { this.arn = arn; } /** *

* The Amazon Resource Name (ARN) specifying the instance profile. For more * information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide. *

* * @return The Amazon Resource Name (ARN) specifying the instance profile. * For more information about ARNs and how to use them in policies, * see IAM Identifiers in the Using IAM guide. */ public String getArn() { return this.arn; } /** *

* The Amazon Resource Name (ARN) specifying the instance profile. For more * information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide. *

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

* The date when the instance profile was created. *

* * @param createDate * The date when the instance profile was created. */ public void setCreateDate(java.util.Date createDate) { this.createDate = createDate; } /** *

* The date when the instance profile was created. *

* * @return The date when the instance profile was created. */ public java.util.Date getCreateDate() { return this.createDate; } /** *

* The date when the instance profile was created. *

* * @param createDate * The date when the instance profile was created. * @return Returns a reference to this object so that method calls can be * chained together. */ public InstanceProfile withCreateDate(java.util.Date createDate) { setCreateDate(createDate); return this; } /** *

* The role associated with the instance profile. *

* * @return The role associated with the instance profile. */ public java.util.List getRoles() { if (roles == null) { roles = new com.amazonaws.internal.SdkInternalList(); } return roles; } /** *

* The role associated with the instance profile. *

* * @param roles * The role associated with the instance profile. */ public void setRoles(java.util.Collection roles) { if (roles == null) { this.roles = null; return; } this.roles = new com.amazonaws.internal.SdkInternalList(roles); } /** *

* The role associated with the instance profile. *

*

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

* * @param roles * The role associated with the instance profile. * @return Returns a reference to this object so that method calls can be * chained together. */ public InstanceProfile withRoles(Role... roles) { if (this.roles == null) { setRoles(new com.amazonaws.internal.SdkInternalList( roles.length)); } for (Role ele : roles) { this.roles.add(ele); } return this; } /** *

* The role associated with the instance profile. *

* * @param roles * The role associated with the instance profile. * @return Returns a reference to this object so that method calls can be * chained together. */ public InstanceProfile withRoles(java.util.Collection roles) { setRoles(roles); 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 (getInstanceProfileName() != null) sb.append("InstanceProfileName: " + getInstanceProfileName() + ","); if (getInstanceProfileId() != null) sb.append("InstanceProfileId: " + getInstanceProfileId() + ","); if (getArn() != null) sb.append("Arn: " + getArn() + ","); if (getCreateDate() != null) sb.append("CreateDate: " + getCreateDate() + ","); if (getRoles() != null) sb.append("Roles: " + getRoles()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof InstanceProfile == false) return false; InstanceProfile other = (InstanceProfile) obj; if (other.getPath() == null ^ this.getPath() == null) return false; if (other.getPath() != null && other.getPath().equals(this.getPath()) == false) return false; if (other.getInstanceProfileName() == null ^ this.getInstanceProfileName() == null) return false; if (other.getInstanceProfileName() != null && other.getInstanceProfileName().equals( this.getInstanceProfileName()) == false) return false; if (other.getInstanceProfileId() == null ^ this.getInstanceProfileId() == null) return false; if (other.getInstanceProfileId() != null && other.getInstanceProfileId().equals( this.getInstanceProfileId()) == 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.getRoles() == null ^ this.getRoles() == null) return false; if (other.getRoles() != null && other.getRoles().equals(this.getRoles()) == 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 + ((getInstanceProfileName() == null) ? 0 : getInstanceProfileName().hashCode()); hashCode = prime * hashCode + ((getInstanceProfileId() == null) ? 0 : getInstanceProfileId().hashCode()); hashCode = prime * hashCode + ((getArn() == null) ? 0 : getArn().hashCode()); hashCode = prime * hashCode + ((getCreateDate() == null) ? 0 : getCreateDate().hashCode()); hashCode = prime * hashCode + ((getRoles() == null) ? 0 : getRoles().hashCode()); return hashCode; } @Override public InstanceProfile clone() { try { return (InstanceProfile) 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