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

        if (obj instanceof CreateFirewallRuleRequest == false)
            return false;
        CreateFirewallRuleRequest other = (CreateFirewallRuleRequest) obj;
        if (other.getCreatorRequestId() == null ^ this.getCreatorRequestId() == null)
            return false;
        if (other.getCreatorRequestId() != null && other.getCreatorRequestId().equals(this.getCreatorRequestId()) == false)
            return false;
        if (other.getFirewallRuleGroupId() == null ^ this.getFirewallRuleGroupId() == null)
            return false;
        if (other.getFirewallRuleGroupId() != null && other.getFirewallRuleGroupId().equals(this.getFirewallRuleGroupId()) == false)
            return false;
        if (other.getFirewallDomainListId() == null ^ this.getFirewallDomainListId() == null)
            return false;
        if (other.getFirewallDomainListId() != null && other.getFirewallDomainListId().equals(this.getFirewallDomainListId()) == false)
            return false;
        if (other.getPriority() == null ^ this.getPriority() == null)
            return false;
        if (other.getPriority() != null && other.getPriority().equals(this.getPriority()) == false)
            return false;
        if (other.getAction() == null ^ this.getAction() == null)
            return false;
        if (other.getAction() != null && other.getAction().equals(this.getAction()) == false)
            return false;
        if (other.getBlockResponse() == null ^ this.getBlockResponse() == null)
            return false;
        if (other.getBlockResponse() != null && other.getBlockResponse().equals(this.getBlockResponse()) == false)
            return false;
        if (other.getBlockOverrideDomain() == null ^ this.getBlockOverrideDomain() == null)
            return false;
        if (other.getBlockOverrideDomain() != null && other.getBlockOverrideDomain().equals(this.getBlockOverrideDomain()) == false)
            return false;
        if (other.getBlockOverrideDnsType() == null ^ this.getBlockOverrideDnsType() == null)
            return false;
        if (other.getBlockOverrideDnsType() != null && other.getBlockOverrideDnsType().equals(this.getBlockOverrideDnsType()) == false)
            return false;
        if (other.getBlockOverrideTtl() == null ^ this.getBlockOverrideTtl() == null)
            return false;
        if (other.getBlockOverrideTtl() != null && other.getBlockOverrideTtl().equals(this.getBlockOverrideTtl()) == false)
            return false;
        if (other.getName() == null ^ this.getName() == null)
            return false;
        if (other.getName() != null && other.getName().equals(this.getName()) == false)
            return false;
        if (other.getFirewallDomainRedirectionAction() == null ^ this.getFirewallDomainRedirectionAction() == null)
            return false;
        if (other.getFirewallDomainRedirectionAction() != null
                && other.getFirewallDomainRedirectionAction().equals(this.getFirewallDomainRedirectionAction()) == false)
            return false;
        if (other.getQtype() == null ^ this.getQtype() == null)
            return false;
        if (other.getQtype() != null && other.getQtype().equals(this.getQtype()) == 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-route53resolver/src/main/java/com/amazonaws/services/route53resolver/model/CreateFirewallRuleRequest.java