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

        if (obj instanceof ScalingInstruction == false)
            return false;
        ScalingInstruction other = (ScalingInstruction) obj;
        if (other.getServiceNamespace() == null ^ this.getServiceNamespace() == null)
            return false;
        if (other.getServiceNamespace() != null && other.getServiceNamespace().equals(this.getServiceNamespace()) == 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.getScalableDimension() == null ^ this.getScalableDimension() == null)
            return false;
        if (other.getScalableDimension() != null && other.getScalableDimension().equals(this.getScalableDimension()) == false)
            return false;
        if (other.getMinCapacity() == null ^ this.getMinCapacity() == null)
            return false;
        if (other.getMinCapacity() != null && other.getMinCapacity().equals(this.getMinCapacity()) == false)
            return false;
        if (other.getMaxCapacity() == null ^ this.getMaxCapacity() == null)
            return false;
        if (other.getMaxCapacity() != null && other.getMaxCapacity().equals(this.getMaxCapacity()) == false)
            return false;
        if (other.getTargetTrackingConfigurations() == null ^ this.getTargetTrackingConfigurations() == null)
            return false;
        if (other.getTargetTrackingConfigurations() != null && other.getTargetTrackingConfigurations().equals(this.getTargetTrackingConfigurations()) == false)
            return false;
        if (other.getPredefinedLoadMetricSpecification() == null ^ this.getPredefinedLoadMetricSpecification() == null)
            return false;
        if (other.getPredefinedLoadMetricSpecification() != null
                && other.getPredefinedLoadMetricSpecification().equals(this.getPredefinedLoadMetricSpecification()) == false)
            return false;
        if (other.getCustomizedLoadMetricSpecification() == null ^ this.getCustomizedLoadMetricSpecification() == null)
            return false;
        if (other.getCustomizedLoadMetricSpecification() != null
                && other.getCustomizedLoadMetricSpecification().equals(this.getCustomizedLoadMetricSpecification()) == false)
            return false;
        if (other.getScheduledActionBufferTime() == null ^ this.getScheduledActionBufferTime() == null)
            return false;
        if (other.getScheduledActionBufferTime() != null && other.getScheduledActionBufferTime().equals(this.getScheduledActionBufferTime()) == false)
            return false;
        if (other.getPredictiveScalingMaxCapacityBehavior() == null ^ this.getPredictiveScalingMaxCapacityBehavior() == null)
            return false;
        if (other.getPredictiveScalingMaxCapacityBehavior() != null
                && other.getPredictiveScalingMaxCapacityBehavior().equals(this.getPredictiveScalingMaxCapacityBehavior()) == false)
            return false;
        if (other.getPredictiveScalingMaxCapacityBuffer() == null ^ this.getPredictiveScalingMaxCapacityBuffer() == null)
            return false;
        if (other.getPredictiveScalingMaxCapacityBuffer() != null
                && other.getPredictiveScalingMaxCapacityBuffer().equals(this.getPredictiveScalingMaxCapacityBuffer()) == false)
            return false;
        if (other.getPredictiveScalingMode() == null ^ this.getPredictiveScalingMode() == null)
            return false;
        if (other.getPredictiveScalingMode() != null && other.getPredictiveScalingMode().equals(this.getPredictiveScalingMode()) == false)
            return false;
        if (other.getScalingPolicyUpdateBehavior() == null ^ this.getScalingPolicyUpdateBehavior() == null)
            return false;
        if (other.getScalingPolicyUpdateBehavior() != null && other.getScalingPolicyUpdateBehavior().equals(this.getScalingPolicyUpdateBehavior()) == false)
            return false;
        if (other.getDisableDynamicScaling() == null ^ this.getDisableDynamicScaling() == null)
            return false;
        if (other.getDisableDynamicScaling() != null && other.getDisableDynamicScaling().equals(this.getDisableDynamicScaling()) == 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-autoscalingplans/src/main/java/com/amazonaws/services/autoscalingplans/model/ScalingInstruction.java