Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2010-2015 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.elasticmapreduce.model;
 

The detailed description of the cluster.

 
 public class Cluster implements SerializableCloneable {

    
The unique identifier for the cluster.
 
     private String id;

    
The name of the cluster.
 
     private String name;

    
The current status details about the cluster.
 
     private ClusterStatus status;

    
Provides information about the EC2 instances in a cluster grouped by category. For example, key name, subnet ID, IAM instance profile, and so on.
 
     private Ec2InstanceAttributes ec2InstanceAttributes;

    
The path to the Amazon S3 location where logs for this cluster are stored.
 
     private String logUri;

    
The AMI version requested for this cluster.
 
     private String requestedAmiVersion;

    
The AMI version running on this cluster. This differs from the requested version only if the requested version is a meta version, such as "latest".
 
     private String runningAmiVersion;

    
Specifies whether the cluster should terminate after completing all steps.
 
     private Boolean autoTerminate;

    
Indicates whether Amazon EMR will lock the cluster to prevent the EC2 instances from being terminated by an API call or user intervention, or in the event of a cluster error.
 
     private Boolean terminationProtected;

    
Indicates whether the job flow is visible to all IAM users of the AWS account associated with the job flow. If this value is set to true, all IAM users of that AWS account can view and manage the job flow if they have the proper policy permissions set. If this value is false, only the IAM user that created the cluster can view and manage it. This value can be changed using the SetVisibleToAllUsers action.
 
     private Boolean visibleToAllUsers;

    
The applications installed on this cluster.
 
A list of tags associated with a cluster.
 
The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.
    private String serviceRole;

    
An approximation of the cost of the job flow, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.
    private Integer normalizedInstanceHours;

    
The public DNS name of the master Ec2 instance.
    private String masterPublicDnsName;

    
The unique identifier for the cluster.

Returns:
The unique identifier for the cluster.
    public String getId() {
        return ;
    }
    
    
The unique identifier for the cluster.

Parameters:
id The unique identifier for the cluster.
    public void setId(String id) {
        this. = id;
    }
    
    
The unique identifier for the cluster.

Returns a reference to this object so that method calls can be chained together.

Parameters:
id The unique identifier for the cluster.
Returns:
A reference to this updated object so that method calls can be chained together.
    public Cluster withId(String id) {
        this. = id;
        return this;
    }

    
The name of the cluster.

Returns:
The name of the cluster.
    public String getName() {
        return ;
    }
    
    
The name of the cluster.

Parameters:
name The name of the cluster.
    public void setName(String name) {
        this. = name;
    }
    
    
The name of the cluster.

Returns a reference to this object so that method calls can be chained together.

Parameters:
name The name of the cluster.
Returns:
A reference to this updated object so that method calls can be chained together.
    public Cluster withName(String name) {
        this. = name;
        return this;
    }

    
The current status details about the cluster.

Returns:
The current status details about the cluster.
    public ClusterStatus getStatus() {
        return ;
    }
    
    
The current status details about the cluster.

Parameters:
status The current status details about the cluster.
    public void setStatus(ClusterStatus status) {
        this. = status;
    }
    
    
The current status details about the cluster.

Returns a reference to this object so that method calls can be chained together.

Parameters:
status The current status details about the cluster.
Returns:
A reference to this updated object so that method calls can be chained together.
    public Cluster withStatus(ClusterStatus status) {
        this. = status;
        return this;
    }

    
Provides information about the EC2 instances in a cluster grouped by category. For example, key name, subnet ID, IAM instance profile, and so on.

Returns:
Provides information about the EC2 instances in a cluster grouped by category. For example, key name, subnet ID, IAM instance profile, and so on.
        return ;
    }
    
    
Provides information about the EC2 instances in a cluster grouped by category. For example, key name, subnet ID, IAM instance profile, and so on.

Parameters:
ec2InstanceAttributes Provides information about the EC2 instances in a cluster grouped by category. For example, key name, subnet ID, IAM instance profile, and so on.
    public void setEc2InstanceAttributes(Ec2InstanceAttributes ec2InstanceAttributes) {
        this. = ec2InstanceAttributes;
    }
    
    
Provides information about the EC2 instances in a cluster grouped by category. For example, key name, subnet ID, IAM instance profile, and so on.

Returns a reference to this object so that method calls can be chained together.

Parameters:
ec2InstanceAttributes Provides information about the EC2 instances in a cluster grouped by category. For example, key name, subnet ID, IAM instance profile, and so on.
Returns:
A reference to this updated object so that method calls can be chained together.
    public Cluster withEc2InstanceAttributes(Ec2InstanceAttributes ec2InstanceAttributes) {
        this. = ec2InstanceAttributes;
        return this;
    }

    
The path to the Amazon S3 location where logs for this cluster are stored.

Returns:
The path to the Amazon S3 location where logs for this cluster are stored.
    public String getLogUri() {
        return ;
    }
    
    
The path to the Amazon S3 location where logs for this cluster are stored.

Parameters:
logUri The path to the Amazon S3 location where logs for this cluster are stored.
    public void setLogUri(String logUri) {
        this. = logUri;
    }
    
    
The path to the Amazon S3 location where logs for this cluster are stored.

Returns a reference to this object so that method calls can be chained together.

Parameters:
logUri The path to the Amazon S3 location where logs for this cluster are stored.
Returns:
A reference to this updated object so that method calls can be chained together.
    public Cluster withLogUri(String logUri) {
        this. = logUri;
        return this;
    }

    
The AMI version requested for this cluster.

Returns:
The AMI version requested for this cluster.
    public String getRequestedAmiVersion() {
        return ;
    }
    
    
The AMI version requested for this cluster.

Parameters:
requestedAmiVersion The AMI version requested for this cluster.
    public void setRequestedAmiVersion(String requestedAmiVersion) {
        this. = requestedAmiVersion;
    }
    
    
The AMI version requested for this cluster.

Returns a reference to this object so that method calls can be chained together.

Parameters:
requestedAmiVersion The AMI version requested for this cluster.
Returns:
A reference to this updated object so that method calls can be chained together.
    public Cluster withRequestedAmiVersion(String requestedAmiVersion) {
        this. = requestedAmiVersion;
        return this;
    }

    
The AMI version running on this cluster. This differs from the requested version only if the requested version is a meta version, such as "latest".

Returns:
The AMI version running on this cluster. This differs from the requested version only if the requested version is a meta version, such as "latest".
    public String getRunningAmiVersion() {
        return ;
    }
    
    
The AMI version running on this cluster. This differs from the requested version only if the requested version is a meta version, such as "latest".

Parameters:
runningAmiVersion The AMI version running on this cluster. This differs from the requested version only if the requested version is a meta version, such as "latest".
    public void setRunningAmiVersion(String runningAmiVersion) {
        this. = runningAmiVersion;
    }
    
    
The AMI version running on this cluster. This differs from the requested version only if the requested version is a meta version, such as "latest".

Returns a reference to this object so that method calls can be chained together.

Parameters:
runningAmiVersion The AMI version running on this cluster. This differs from the requested version only if the requested version is a meta version, such as "latest".
Returns:
A reference to this updated object so that method calls can be chained together.
    public Cluster withRunningAmiVersion(String runningAmiVersion) {
        this. = runningAmiVersion;
        return this;
    }

    
Specifies whether the cluster should terminate after completing all steps.

Returns:
Specifies whether the cluster should terminate after completing all steps.
    public Boolean isAutoTerminate() {
        return ;
    }
    
    
Specifies whether the cluster should terminate after completing all steps.

Parameters:
autoTerminate Specifies whether the cluster should terminate after completing all steps.
    public void setAutoTerminate(Boolean autoTerminate) {
        this. = autoTerminate;
    }
    
    
Specifies whether the cluster should terminate after completing all steps.

Returns a reference to this object so that method calls can be chained together.

Parameters:
autoTerminate Specifies whether the cluster should terminate after completing all steps.
Returns:
A reference to this updated object so that method calls can be chained together.
    public Cluster withAutoTerminate(Boolean autoTerminate) {
        this. = autoTerminate;
        return this;
    }

    
Specifies whether the cluster should terminate after completing all steps.

Returns:
Specifies whether the cluster should terminate after completing all steps.
    public Boolean getAutoTerminate() {
        return ;
    }

    
Indicates whether Amazon EMR will lock the cluster to prevent the EC2 instances from being terminated by an API call or user intervention, or in the event of a cluster error.

Returns:
Indicates whether Amazon EMR will lock the cluster to prevent the EC2 instances from being terminated by an API call or user intervention, or in the event of a cluster error.
    public Boolean isTerminationProtected() {
        return ;
    }
    
    
Indicates whether Amazon EMR will lock the cluster to prevent the EC2 instances from being terminated by an API call or user intervention, or in the event of a cluster error.

Parameters:
terminationProtected Indicates whether Amazon EMR will lock the cluster to prevent the EC2 instances from being terminated by an API call or user intervention, or in the event of a cluster error.
    public void setTerminationProtected(Boolean terminationProtected) {
        this. = terminationProtected;
    }
    
    
Indicates whether Amazon EMR will lock the cluster to prevent the EC2 instances from being terminated by an API call or user intervention, or in the event of a cluster error.

Returns a reference to this object so that method calls can be chained together.

Parameters:
terminationProtected Indicates whether Amazon EMR will lock the cluster to prevent the EC2 instances from being terminated by an API call or user intervention, or in the event of a cluster error.
Returns:
A reference to this updated object so that method calls can be chained together.
    public Cluster withTerminationProtected(Boolean terminationProtected) {
        this. = terminationProtected;
        return this;
    }

    
Indicates whether Amazon EMR will lock the cluster to prevent the EC2 instances from being terminated by an API call or user intervention, or in the event of a cluster error.

Returns:
Indicates whether Amazon EMR will lock the cluster to prevent the EC2 instances from being terminated by an API call or user intervention, or in the event of a cluster error.
    public Boolean getTerminationProtected() {
        return ;
    }

    
Indicates whether the job flow is visible to all IAM users of the AWS account associated with the job flow. If this value is set to true, all IAM users of that AWS account can view and manage the job flow if they have the proper policy permissions set. If this value is false, only the IAM user that created the cluster can view and manage it. This value can be changed using the SetVisibleToAllUsers action.

Returns:
Indicates whether the job flow is visible to all IAM users of the AWS account associated with the job flow. If this value is set to true, all IAM users of that AWS account can view and manage the job flow if they have the proper policy permissions set. If this value is false, only the IAM user that created the cluster can view and manage it. This value can be changed using the SetVisibleToAllUsers action.
    public Boolean isVisibleToAllUsers() {
        return ;
    }
    
    
Indicates whether the job flow is visible to all IAM users of the AWS account associated with the job flow. If this value is set to true, all IAM users of that AWS account can view and manage the job flow if they have the proper policy permissions set. If this value is false, only the IAM user that created the cluster can view and manage it. This value can be changed using the SetVisibleToAllUsers action.

Parameters:
visibleToAllUsers Indicates whether the job flow is visible to all IAM users of the AWS account associated with the job flow. If this value is set to true, all IAM users of that AWS account can view and manage the job flow if they have the proper policy permissions set. If this value is false, only the IAM user that created the cluster can view and manage it. This value can be changed using the SetVisibleToAllUsers action.
    public void setVisibleToAllUsers(Boolean visibleToAllUsers) {
        this. = visibleToAllUsers;
    }
    
    
Indicates whether the job flow is visible to all IAM users of the AWS account associated with the job flow. If this value is set to true, all IAM users of that AWS account can view and manage the job flow if they have the proper policy permissions set. If this value is false, only the IAM user that created the cluster can view and manage it. This value can be changed using the SetVisibleToAllUsers action.

Returns a reference to this object so that method calls can be chained together.

Parameters:
visibleToAllUsers Indicates whether the job flow is visible to all IAM users of the AWS account associated with the job flow. If this value is set to true, all IAM users of that AWS account can view and manage the job flow if they have the proper policy permissions set. If this value is false, only the IAM user that created the cluster can view and manage it. This value can be changed using the SetVisibleToAllUsers action.
Returns:
A reference to this updated object so that method calls can be chained together.
    public Cluster withVisibleToAllUsers(Boolean visibleToAllUsers) {
        this. = visibleToAllUsers;
        return this;
    }

    
Indicates whether the job flow is visible to all IAM users of the AWS account associated with the job flow. If this value is set to true, all IAM users of that AWS account can view and manage the job flow if they have the proper policy permissions set. If this value is false, only the IAM user that created the cluster can view and manage it. This value can be changed using the SetVisibleToAllUsers action.

Returns:
Indicates whether the job flow is visible to all IAM users of the AWS account associated with the job flow. If this value is set to true, all IAM users of that AWS account can view and manage the job flow if they have the proper policy permissions set. If this value is false, only the IAM user that created the cluster can view and manage it. This value can be changed using the SetVisibleToAllUsers action.
    public Boolean getVisibleToAllUsers() {
        return ;
    }

    
The applications installed on this cluster.

Returns:
The applications installed on this cluster.
        if ( == null) {
              .setAutoConstruct(true);
        }
        return ;
    }
    
    
The applications installed on this cluster.

Parameters:
applications The applications installed on this cluster.
    public void setApplications(java.util.Collection<Applicationapplications) {
        if (applications == null) {
            this. = null;
            return;
        }
        applicationsCopy.addAll(applications);
        this. = applicationsCopy;
    }
    
    
The applications installed on this cluster.

NOTE: This method appends the values to the existing list (if any). Use setApplications(java.util.Collection) or withApplications(java.util.Collection) if you want to override the existing values.

Returns a reference to this object so that method calls can be chained together.

Parameters:
applications The applications installed on this cluster.
Returns:
A reference to this updated object so that method calls can be chained together.
    public Cluster withApplications(Application... applications) {
        if (getApplications() == nullsetApplications(new java.util.ArrayList<Application>(applications.length));
        for (Application value : applications) {
            getApplications().add(value);
        }
        return this;
    }
    
    
The applications installed on this cluster.

Returns a reference to this object so that method calls can be chained together.

Parameters:
applications The applications installed on this cluster.
Returns:
A reference to this updated object so that method calls can be chained together.
    public Cluster withApplications(java.util.Collection<Applicationapplications) {
        if (applications == null) {
            this. = null;
        } else {
            com.amazonaws.internal.ListWithAutoConstructFlag<ApplicationapplicationsCopy = new com.amazonaws.internal.ListWithAutoConstructFlag<Application>(applications.size());
            applicationsCopy.addAll(applications);
            this. = applicationsCopy;
        }
        return this;
    }

    
A list of tags associated with a cluster.

Returns:
A list of tags associated with a cluster.
    public java.util.List<TaggetTags() {
        if ( == null) {
               = new com.amazonaws.internal.ListWithAutoConstructFlag<Tag>();
              .setAutoConstruct(true);
        }
        return ;
    }
    
    
A list of tags associated with a cluster.

Parameters:
tags A list of tags associated with a cluster.
    public void setTags(java.util.Collection<Tagtags) {
        if (tags == null) {
            this. = null;
            return;
        }
        tagsCopy.addAll(tags);
        this. = tagsCopy;
    }
    
    
A list of tags associated with a cluster.

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

Returns a reference to this object so that method calls can be chained together.

Parameters:
tags A list of tags associated with a cluster.
Returns:
A reference to this updated object so that method calls can be chained together.
    public Cluster withTags(Tag... tags) {
        if (getTags() == nullsetTags(new java.util.ArrayList<Tag>(tags.length));
        for (Tag value : tags) {
            getTags().add(value);
        }
        return this;
    }
    
    
A list of tags associated with a cluster.

Returns a reference to this object so that method calls can be chained together.

Parameters:
tags A list of tags associated with a cluster.
Returns:
A reference to this updated object so that method calls can be chained together.
    public Cluster withTags(java.util.Collection<Tagtags) {
        if (tags == null) {
            this. = null;
        } else {
            tagsCopy.addAll(tags);
            this. = tagsCopy;
        }
        return this;
    }

    
The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.

Returns:
The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.
    public String getServiceRole() {
        return ;
    }
    
    
The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.

Parameters:
serviceRole The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.
    public void setServiceRole(String serviceRole) {
        this. = serviceRole;
    }
    
    
The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.

Returns a reference to this object so that method calls can be chained together.

Parameters:
serviceRole The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.
Returns:
A reference to this updated object so that method calls can be chained together.
    public Cluster withServiceRole(String serviceRole) {
        this. = serviceRole;
        return this;
    }

    
An approximation of the cost of the job flow, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

Returns:
An approximation of the cost of the job flow, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.
        return ;
    }
    
    
An approximation of the cost of the job flow, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

Parameters:
normalizedInstanceHours An approximation of the cost of the job flow, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.
    public void setNormalizedInstanceHours(Integer normalizedInstanceHours) {
        this. = normalizedInstanceHours;
    }
    
    
An approximation of the cost of the job flow, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

Returns a reference to this object so that method calls can be chained together.

Parameters:
normalizedInstanceHours An approximation of the cost of the job flow, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.
Returns:
A reference to this updated object so that method calls can be chained together.
    public Cluster withNormalizedInstanceHours(Integer normalizedInstanceHours) {
        this. = normalizedInstanceHours;
        return this;
    }

    
The public DNS name of the master Ec2 instance.

Returns:
The public DNS name of the master Ec2 instance.
    public String getMasterPublicDnsName() {
        return ;
    }
    
    
The public DNS name of the master Ec2 instance.

Parameters:
masterPublicDnsName The public DNS name of the master Ec2 instance.
    public void setMasterPublicDnsName(String masterPublicDnsName) {
        this. = masterPublicDnsName;
    }
    
    
The public DNS name of the master Ec2 instance.

Returns a reference to this object so that method calls can be chained together.

Parameters:
masterPublicDnsName The public DNS name of the master Ec2 instance.
Returns:
A reference to this updated object so that method calls can be chained together.
    public Cluster withMasterPublicDnsName(String masterPublicDnsName) {
        this. = masterPublicDnsName;
        return this;
    }

    
Returns a string representation of this object; useful for testing and debugging.

Returns:
A string representation of this object.
See also:
java.lang.Object.toString()
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append("{");
        if (getId() != nullsb.append("Id: " + getId() + ",");
        if (getName() != nullsb.append("Name: " + getName() + ",");
        if (getStatus() != nullsb.append("Status: " + getStatus() + ",");
        if (getEc2InstanceAttributes() != nullsb.append("Ec2InstanceAttributes: " + getEc2InstanceAttributes() + ",");
        if (getLogUri() != nullsb.append("LogUri: " + getLogUri() + ",");
        if (getRequestedAmiVersion() != nullsb.append("RequestedAmiVersion: " + getRequestedAmiVersion() + ",");
        if (getRunningAmiVersion() != nullsb.append("RunningAmiVersion: " + getRunningAmiVersion() + ",");
        if (isAutoTerminate() != nullsb.append("AutoTerminate: " + isAutoTerminate() + ",");
        if (isTerminationProtected() != nullsb.append("TerminationProtected: " + isTerminationProtected() + ",");
        if (isVisibleToAllUsers() != nullsb.append("VisibleToAllUsers: " + isVisibleToAllUsers() + ",");
        if (getApplications() != nullsb.append("Applications: " + getApplications() + ",");
        if (getTags() != nullsb.append("Tags: " + getTags() + ",");
        if (getServiceRole() != nullsb.append("ServiceRole: " + getServiceRole() + ",");
        if (getNormalizedInstanceHours() != nullsb.append("NormalizedInstanceHours: " + getNormalizedInstanceHours() + ",");
        if (getMasterPublicDnsName() != nullsb.append("MasterPublicDnsName: " + getMasterPublicDnsName() );
        sb.append("}");
        return sb.toString();
    }
    
    @Override
    public int hashCode() {
        final int prime = 31;
        int hashCode = 1;
        
        hashCode = prime * hashCode + ((getId() == null) ? 0 : getId().hashCode()); 
        hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode()); 
        hashCode = prime * hashCode + ((getStatus() == null) ? 0 : getStatus().hashCode()); 
        hashCode = prime * hashCode + ((getEc2InstanceAttributes() == null) ? 0 : getEc2InstanceAttributes().hashCode()); 
        hashCode = prime * hashCode + ((getLogUri() == null) ? 0 : getLogUri().hashCode()); 
        hashCode = prime * hashCode + ((getRequestedAmiVersion() == null) ? 0 : getRequestedAmiVersion().hashCode()); 
        hashCode = prime * hashCode + ((getRunningAmiVersion() == null) ? 0 : getRunningAmiVersion().hashCode()); 
        hashCode = prime * hashCode + ((isAutoTerminate() == null) ? 0 : isAutoTerminate().hashCode()); 
        hashCode = prime * hashCode + ((isTerminationProtected() == null) ? 0 : isTerminationProtected().hashCode()); 
        hashCode = prime * hashCode + ((isVisibleToAllUsers() == null) ? 0 : isVisibleToAllUsers().hashCode()); 
        hashCode = prime * hashCode + ((getApplications() == null) ? 0 : getApplications().hashCode()); 
        hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); 
        hashCode = prime * hashCode + ((getServiceRole() == null) ? 0 : getServiceRole().hashCode()); 
        hashCode = prime * hashCode + ((getNormalizedInstanceHours() == null) ? 0 : getNormalizedInstanceHours().hashCode()); 
        hashCode = prime * hashCode + ((getMasterPublicDnsName() == null) ? 0 : getMasterPublicDnsName().hashCode()); 
        return hashCode;
    }
    
    @Override
    public boolean equals(Object obj) {
        if (this == objreturn true;
        if (obj == nullreturn false;
        if (obj instanceof Cluster == falsereturn false;
        Cluster other = (Cluster)obj;
        
        if (other.getId() == null ^ this.getId() == nullreturn false;
        if (other.getId() != null && other.getId().equals(this.getId()) == falsereturn false
        if (other.getName() == null ^ this.getName() == nullreturn false;
        if (other.getName() != null && other.getName().equals(this.getName()) == falsereturn false
        if (other.getStatus() == null ^ this.getStatus() == nullreturn false;
        if (other.getStatus() != null && other.getStatus().equals(this.getStatus()) == falsereturn false
        if (other.getEc2InstanceAttributes() == null ^ this.getEc2InstanceAttributes() == nullreturn false;
        if (other.getEc2InstanceAttributes() != null && other.getEc2InstanceAttributes().equals(this.getEc2InstanceAttributes()) == falsereturn false
        if (other.getLogUri() == null ^ this.getLogUri() == nullreturn false;
        if (other.getLogUri() != null && other.getLogUri().equals(this.getLogUri()) == falsereturn false
        if (other.getRequestedAmiVersion() == null ^ this.getRequestedAmiVersion() == nullreturn false;
        if (other.getRequestedAmiVersion() != null && other.getRequestedAmiVersion().equals(this.getRequestedAmiVersion()) == falsereturn false
        if (other.getRunningAmiVersion() == null ^ this.getRunningAmiVersion() == nullreturn false;
        if (other.getRunningAmiVersion() != null && other.getRunningAmiVersion().equals(this.getRunningAmiVersion()) == falsereturn false
        if (other.isAutoTerminate() == null ^ this.isAutoTerminate() == nullreturn false;
        if (other.isAutoTerminate() != null && other.isAutoTerminate().equals(this.isAutoTerminate()) == falsereturn false
        if (other.isTerminationProtected() == null ^ this.isTerminationProtected() == nullreturn false;
        if (other.isTerminationProtected() != null && other.isTerminationProtected().equals(this.isTerminationProtected()) == falsereturn false
        if (other.isVisibleToAllUsers() == null ^ this.isVisibleToAllUsers() == nullreturn false;
        if (other.isVisibleToAllUsers() != null && other.isVisibleToAllUsers().equals(this.isVisibleToAllUsers()) == falsereturn false
        if (other.getApplications() == null ^ this.getApplications() == nullreturn false;
        if (other.getApplications() != null && other.getApplications().equals(this.getApplications()) == falsereturn false
        if (other.getTags() == null ^ this.getTags() == nullreturn false;
        if (other.getTags() != null && other.getTags().equals(this.getTags()) == falsereturn false
        if (other.getServiceRole() == null ^ this.getServiceRole() == nullreturn false;
        if (other.getServiceRole() != null && other.getServiceRole().equals(this.getServiceRole()) == falsereturn false
        if (other.getNormalizedInstanceHours() == null ^ this.getNormalizedInstanceHours() == nullreturn false;
        if (other.getNormalizedInstanceHours() != null && other.getNormalizedInstanceHours().equals(this.getNormalizedInstanceHours()) == falsereturn false
        if (other.getMasterPublicDnsName() == null ^ this.getMasterPublicDnsName() == nullreturn false;
        if (other.getMasterPublicDnsName() != null && other.getMasterPublicDnsName().equals(this.getMasterPublicDnsName()) == falsereturn false
        return true;
    }
    
    @Override
    public Cluster clone() {
        try {
            return (Clustersuper.clone();
        
        } catch (CloneNotSupportedException e) {
            throw new IllegalStateException(
                    "Got a CloneNotSupportedException from Object.clone() "
                    + "even though we're Cloneable!",
                    e);
        }
        
    }
}
    
New to GrepCode? Check out our FAQ X