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

        if (obj instanceof Definition == false)
            return false;
        Definition other = (Definition) obj;
        if (other.getIamActionDefinition() == null ^ this.getIamActionDefinition() == null)
            return false;
        if (other.getIamActionDefinition() != null && other.getIamActionDefinition().equals(this.getIamActionDefinition()) == false)
            return false;
        if (other.getScpActionDefinition() == null ^ this.getScpActionDefinition() == null)
            return false;
        if (other.getScpActionDefinition() != null && other.getScpActionDefinition().equals(this.getScpActionDefinition()) == false)
            return false;
        if (other.getSsmActionDefinition() == null ^ this.getSsmActionDefinition() == null)
            return false;
        if (other.getSsmActionDefinition() != null && other.getSsmActionDefinition().equals(this.getSsmActionDefinition()) == 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-budgets/src/main/java/com/amazonaws/services/budgets/model/Definition.java