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

        if (obj instanceof DescribeStackDriftDetectionStatusResult == false)
            return false;
        DescribeStackDriftDetectionStatusResult other = (DescribeStackDriftDetectionStatusResult) obj;
        if (other.getStackId() == null ^ this.getStackId() == null)
            return false;
        if (other.getStackId() != null && other.getStackId().equals(this.getStackId()) == false)
            return false;
        if (other.getStackDriftDetectionId() == null ^ this.getStackDriftDetectionId() == null)
            return false;
        if (other.getStackDriftDetectionId() != null && other.getStackDriftDetectionId().equals(this.getStackDriftDetectionId()) == false)
            return false;
        if (other.getStackDriftStatus() == null ^ this.getStackDriftStatus() == null)
            return false;
        if (other.getStackDriftStatus() != null && other.getStackDriftStatus().equals(this.getStackDriftStatus()) == false)
            return false;
        if (other.getDetectionStatus() == null ^ this.getDetectionStatus() == null)
            return false;
        if (other.getDetectionStatus() != null && other.getDetectionStatus().equals(this.getDetectionStatus()) == false)
            return false;
        if (other.getDetectionStatusReason() == null ^ this.getDetectionStatusReason() == null)
            return false;
        if (other.getDetectionStatusReason() != null && other.getDetectionStatusReason().equals(this.getDetectionStatusReason()) == false)
            return false;
        if (other.getDriftedStackResourceCount() == null ^ this.getDriftedStackResourceCount() == null)
            return false;
        if (other.getDriftedStackResourceCount() != null && other.getDriftedStackResourceCount().equals(this.getDriftedStackResourceCount()) == false)
            return false;
        if (other.getTimestamp() == null ^ this.getTimestamp() == null)
            return false;
        if (other.getTimestamp() != null && other.getTimestamp().equals(this.getTimestamp()) == 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-cloudformation/src/main/java/com/amazonaws/services/cloudformation/model/DescribeStackDriftDetectionStatusResult.java