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

        if (obj instanceof ConfigRuleEvaluationStatus == false)
            return false;
        ConfigRuleEvaluationStatus other = (ConfigRuleEvaluationStatus) obj;
        if (other.getConfigRuleName() == null ^ this.getConfigRuleName() == null)
            return false;
        if (other.getConfigRuleName() != null && other.getConfigRuleName().equals(this.getConfigRuleName()) == false)
            return false;
        if (other.getConfigRuleArn() == null ^ this.getConfigRuleArn() == null)
            return false;
        if (other.getConfigRuleArn() != null && other.getConfigRuleArn().equals(this.getConfigRuleArn()) == false)
            return false;
        if (other.getConfigRuleId() == null ^ this.getConfigRuleId() == null)
            return false;
        if (other.getConfigRuleId() != null && other.getConfigRuleId().equals(this.getConfigRuleId()) == false)
            return false;
        if (other.getLastSuccessfulInvocationTime() == null ^ this.getLastSuccessfulInvocationTime() == null)
            return false;
        if (other.getLastSuccessfulInvocationTime() != null && other.getLastSuccessfulInvocationTime().equals(this.getLastSuccessfulInvocationTime()) == false)
            return false;
        if (other.getLastFailedInvocationTime() == null ^ this.getLastFailedInvocationTime() == null)
            return false;
        if (other.getLastFailedInvocationTime() != null && other.getLastFailedInvocationTime().equals(this.getLastFailedInvocationTime()) == false)
            return false;
        if (other.getLastSuccessfulEvaluationTime() == null ^ this.getLastSuccessfulEvaluationTime() == null)
            return false;
        if (other.getLastSuccessfulEvaluationTime() != null && other.getLastSuccessfulEvaluationTime().equals(this.getLastSuccessfulEvaluationTime()) == false)
            return false;
        if (other.getLastFailedEvaluationTime() == null ^ this.getLastFailedEvaluationTime() == null)
            return false;
        if (other.getLastFailedEvaluationTime() != null && other.getLastFailedEvaluationTime().equals(this.getLastFailedEvaluationTime()) == false)
            return false;
        if (other.getFirstActivatedTime() == null ^ this.getFirstActivatedTime() == null)
            return false;
        if (other.getFirstActivatedTime() != null && other.getFirstActivatedTime().equals(this.getFirstActivatedTime()) == false)
            return false;
        if (other.getLastDeactivatedTime() == null ^ this.getLastDeactivatedTime() == null)
            return false;
        if (other.getLastDeactivatedTime() != null && other.getLastDeactivatedTime().equals(this.getLastDeactivatedTime()) == false)
            return false;
        if (other.getLastErrorCode() == null ^ this.getLastErrorCode() == null)
            return false;
        if (other.getLastErrorCode() != null && other.getLastErrorCode().equals(this.getLastErrorCode()) == false)
            return false;
        if (other.getLastErrorMessage() == null ^ this.getLastErrorMessage() == null)
            return false;
        if (other.getLastErrorMessage() != null && other.getLastErrorMessage().equals(this.getLastErrorMessage()) == false)
            return false;
        if (other.getFirstEvaluationStarted() == null ^ this.getFirstEvaluationStarted() == null)
            return false;
        if (other.getFirstEvaluationStarted() != null && other.getFirstEvaluationStarted().equals(this.getFirstEvaluationStarted()) == false)
            return false;
        if (other.getLastDebugLogDeliveryStatus() == null ^ this.getLastDebugLogDeliveryStatus() == null)
            return false;
        if (other.getLastDebugLogDeliveryStatus() != null && other.getLastDebugLogDeliveryStatus().equals(this.getLastDebugLogDeliveryStatus()) == false)
            return false;
        if (other.getLastDebugLogDeliveryStatusReason() == null ^ this.getLastDebugLogDeliveryStatusReason() == null)
            return false;
        if (other.getLastDebugLogDeliveryStatusReason() != null
                && other.getLastDebugLogDeliveryStatusReason().equals(this.getLastDebugLogDeliveryStatusReason()) == false)
            return false;
        if (other.getLastDebugLogDeliveryTime() == null ^ this.getLastDebugLogDeliveryTime() == null)
            return false;
        if (other.getLastDebugLogDeliveryTime() != null && other.getLastDebugLogDeliveryTime().equals(this.getLastDebugLogDeliveryTime()) == 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-config/src/main/java/com/amazonaws/services/config/model/ConfigRuleEvaluationStatus.java