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

        if (obj instanceof ESInstanceDetails == false)
            return false;
        ESInstanceDetails other = (ESInstanceDetails) obj;
        if (other.getInstanceClass() == null ^ this.getInstanceClass() == null)
            return false;
        if (other.getInstanceClass() != null && other.getInstanceClass().equals(this.getInstanceClass()) == false)
            return false;
        if (other.getInstanceSize() == null ^ this.getInstanceSize() == null)
            return false;
        if (other.getInstanceSize() != null && other.getInstanceSize().equals(this.getInstanceSize()) == false)
            return false;
        if (other.getRegion() == null ^ this.getRegion() == null)
            return false;
        if (other.getRegion() != null && other.getRegion().equals(this.getRegion()) == false)
            return false;
        if (other.getCurrentGeneration() == null ^ this.getCurrentGeneration() == null)
            return false;
        if (other.getCurrentGeneration() != null && other.getCurrentGeneration().equals(this.getCurrentGeneration()) == false)
            return false;
        if (other.getSizeFlexEligible() == null ^ this.getSizeFlexEligible() == null)
            return false;
        if (other.getSizeFlexEligible() != null && other.getSizeFlexEligible().equals(this.getSizeFlexEligible()) == 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-costexplorer/src/main/java/com/amazonaws/services/costexplorer/model/ESInstanceDetails.java