@Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;

        if (obj instanceof NetAppONTAPCluster == false)
            return false;
        NetAppONTAPCluster other = (NetAppONTAPCluster) obj;
        if (other.getCifsShareCount() == null ^ this.getCifsShareCount() == null)
            return false;
        if (other.getCifsShareCount() != null && other.getCifsShareCount().equals(this.getCifsShareCount()) == false)
            return false;
        if (other.getNfsExportedVolumes() == null ^ this.getNfsExportedVolumes() == null)
            return false;
        if (other.getNfsExportedVolumes() != null && other.getNfsExportedVolumes().equals(this.getNfsExportedVolumes()) == false)
            return false;
        if (other.getResourceId() == null ^ this.getResourceId() == null)
            return false;
        if (other.getResourceId() != null && other.getResourceId().equals(this.getResourceId()) == false)
            return false;
        if (other.getClusterName() == null ^ this.getClusterName() == null)
            return false;
        if (other.getClusterName() != null && other.getClusterName().equals(this.getClusterName()) == false)
            return false;
        if (other.getMaxP95Performance() == null ^ this.getMaxP95Performance() == null)
            return false;
        if (other.getMaxP95Performance() != null && other.getMaxP95Performance().equals(this.getMaxP95Performance()) == false)
            return false;
        if (other.getClusterBlockStorageSize() == null ^ this.getClusterBlockStorageSize() == null)
            return false;
        if (other.getClusterBlockStorageSize() != null && other.getClusterBlockStorageSize().equals(this.getClusterBlockStorageSize()) == false)
            return false;
        if (other.getClusterBlockStorageUsed() == null ^ this.getClusterBlockStorageUsed() == null)
            return false;
        if (other.getClusterBlockStorageUsed() != null && other.getClusterBlockStorageUsed().equals(this.getClusterBlockStorageUsed()) == false)
            return false;
        if (other.getClusterBlockStorageLogicalUsed() == null ^ this.getClusterBlockStorageLogicalUsed() == null)
            return false;
        if (other.getClusterBlockStorageLogicalUsed() != null
                && other.getClusterBlockStorageLogicalUsed().equals(this.getClusterBlockStorageLogicalUsed()) == false)
            return false;
        if (other.getRecommendations() == null ^ this.getRecommendations() == null)
            return false;
        if (other.getRecommendations() != null && other.getRecommendations().equals(this.getRecommendations()) == false)
            return false;
        if (other.getRecommendationStatus() == null ^ this.getRecommendationStatus() == null)
            return false;
        if (other.getRecommendationStatus() != null && other.getRecommendationStatus().equals(this.getRecommendationStatus()) == false)
            return false;
        if (other.getLunCount() == null ^ this.getLunCount() == null)
            return false;
        if (other.getLunCount() != null && other.getLunCount().equals(this.getLunCount()) == false)
            return false;
        if (other.getClusterCloudStorageUsed() == null ^ this.getClusterCloudStorageUsed() == null)
            return false;
        if (other.getClusterCloudStorageUsed() != null && other.getClusterCloudStorageUsed().equals(this.getClusterCloudStorageUsed()) == false)
            return false;
        return true;
    }
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()
aws-java-sdk-datasync/src/main/java/com/amazonaws/services/datasync/model/NetAppONTAPCluster.java