/* * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ package com.amazonaws.services.simpleemail.model; import java.io.Serializable; /** * <p> * Represents the DKIM attributes of a verified email address or a domain. * </p> */ public class IdentityDkimAttributes implements Serializable { /** * <p> * True if DKIM signing is enabled for email sent from the identity; false * otherwise. * </p> */ private Boolean dkimEnabled; /** * <p> * Describes whether Amazon SES has successfully verified the DKIM DNS * records (tokens) published in the domain name's DNS. (This only applies * to domain identities, not email address identities.) * </p> * <p> * <b>Constraints:</b><br/> * <b>Allowed Values: </b>Pending, Success, Failed, TemporaryFailure, * NotStarted */ private String dkimVerificationStatus; /** * <p> * A set of character strings that represent the domain's identity. Using * these tokens, you will need to create DNS CNAME records that point to * DKIM public keys hosted by Amazon SES. Amazon Web Services will * eventually detect that you have updated your DNS records; this detection * process may take up to 72 hours. Upon successful detection, Amazon SES * will be able to DKIM-sign email originating from that domain. (This only * applies to domain identities, not email address identities.) * </p> * <p> * For more information about creating DNS records using DKIM tokens, go to * the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim-dns-records.html" * >Amazon SES Developer Guide</a>. * </p> */ private java.util.List<String> dkimTokens = new java.util.ArrayList<String>(); /** * <p> * True if DKIM signing is enabled for email sent from the identity; false * otherwise. * </p> * * @return <p> * True if DKIM signing is enabled for email sent from the identity; * false otherwise. * </p> */ public Boolean isDkimEnabled() { return dkimEnabled; } /** * <p> * True if DKIM signing is enabled for email sent from the identity; false * otherwise. * </p> * * @return <p> * True if DKIM signing is enabled for email sent from the identity; * false otherwise. * </p> */ public Boolean getDkimEnabled() { return dkimEnabled; } /** * <p> * True if DKIM signing is enabled for email sent from the identity; false * otherwise. * </p> * * @param dkimEnabled <p> * True if DKIM signing is enabled for email sent from the * identity; false otherwise. * </p> */ public void setDkimEnabled(Boolean dkimEnabled) { this.dkimEnabled = dkimEnabled; } /** * <p> * True if DKIM signing is enabled for email sent from the identity; false * otherwise. * </p> * <p> * Returns a reference to this object so that method calls can be chained * together. * * @param dkimEnabled <p> * True if DKIM signing is enabled for email sent from the * identity; false otherwise. * </p> * @return A reference to this updated object so that method calls can be * chained together. */ public IdentityDkimAttributes withDkimEnabled(Boolean dkimEnabled) { this.dkimEnabled = dkimEnabled; return this; } /** * <p> * Describes whether Amazon SES has successfully verified the DKIM DNS * records (tokens) published in the domain name's DNS. (This only applies * to domain identities, not email address identities.) * </p> * <p> * <b>Constraints:</b><br/> * <b>Allowed Values: </b>Pending, Success, Failed, TemporaryFailure, * NotStarted * * @return <p> * Describes whether Amazon SES has successfully verified the DKIM * DNS records (tokens) published in the domain name's DNS. (This * only applies to domain identities, not email address identities.) * </p> * @see VerificationStatus */ public String getDkimVerificationStatus() { return dkimVerificationStatus; } /** * <p> * Describes whether Amazon SES has successfully verified the DKIM DNS * records (tokens) published in the domain name's DNS. (This only applies * to domain identities, not email address identities.) * </p> * <p> * <b>Constraints:</b><br/> * <b>Allowed Values: </b>Pending, Success, Failed, TemporaryFailure, * NotStarted * * @param dkimVerificationStatus <p> * Describes whether Amazon SES has successfully verified the * DKIM DNS records (tokens) published in the domain name's DNS. * (This only applies to domain identities, not email address * identities.) * </p> * @see VerificationStatus */ public void setDkimVerificationStatus(String dkimVerificationStatus) { this.dkimVerificationStatus = dkimVerificationStatus; } /** * <p> * Describes whether Amazon SES has successfully verified the DKIM DNS * records (tokens) published in the domain name's DNS. (This only applies * to domain identities, not email address identities.) * </p> * <p> * Returns a reference to this object so that method calls can be chained * together. * <p> * <b>Constraints:</b><br/> * <b>Allowed Values: </b>Pending, Success, Failed, TemporaryFailure, * NotStarted * * @param dkimVerificationStatus <p> * Describes whether Amazon SES has successfully verified the * DKIM DNS records (tokens) published in the domain name's DNS. * (This only applies to domain identities, not email address * identities.) * </p> * @return A reference to this updated object so that method calls can be * chained together. * @see VerificationStatus */ public IdentityDkimAttributes withDkimVerificationStatus(String dkimVerificationStatus) { this.dkimVerificationStatus = dkimVerificationStatus; return this; } /** * <p> * Describes whether Amazon SES has successfully verified the DKIM DNS * records (tokens) published in the domain name's DNS. (This only applies * to domain identities, not email address identities.) * </p> * <p> * <b>Constraints:</b><br/> * <b>Allowed Values: </b>Pending, Success, Failed, TemporaryFailure, * NotStarted * * @param dkimVerificationStatus <p> * Describes whether Amazon SES has successfully verified the * DKIM DNS records (tokens) published in the domain name's DNS. * (This only applies to domain identities, not email address * identities.) * </p> * @see VerificationStatus */ public void setDkimVerificationStatus(VerificationStatus dkimVerificationStatus) { this.dkimVerificationStatus = dkimVerificationStatus.toString(); } /** * <p> * Describes whether Amazon SES has successfully verified the DKIM DNS * records (tokens) published in the domain name's DNS. (This only applies * to domain identities, not email address identities.) * </p> * <p> * Returns a reference to this object so that method calls can be chained * together. * <p> * <b>Constraints:</b><br/> * <b>Allowed Values: </b>Pending, Success, Failed, TemporaryFailure, * NotStarted * * @param dkimVerificationStatus <p> * Describes whether Amazon SES has successfully verified the * DKIM DNS records (tokens) published in the domain name's DNS. * (This only applies to domain identities, not email address * identities.) * </p> * @return A reference to this updated object so that method calls can be * chained together. * @see VerificationStatus */ public IdentityDkimAttributes withDkimVerificationStatus( VerificationStatus dkimVerificationStatus) { this.dkimVerificationStatus = dkimVerificationStatus.toString(); return this; } /** * <p> * A set of character strings that represent the domain's identity. Using * these tokens, you will need to create DNS CNAME records that point to * DKIM public keys hosted by Amazon SES. Amazon Web Services will * eventually detect that you have updated your DNS records; this detection * process may take up to 72 hours. Upon successful detection, Amazon SES * will be able to DKIM-sign email originating from that domain. (This only * applies to domain identities, not email address identities.) * </p> * <p> * For more information about creating DNS records using DKIM tokens, go to * the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim-dns-records.html" * >Amazon SES Developer Guide</a>. * </p> * * @return <p> * A set of character strings that represent the domain's identity. * Using these tokens, you will need to create DNS CNAME records * that point to DKIM public keys hosted by Amazon SES. Amazon Web * Services will eventually detect that you have updated your DNS * records; this detection process may take up to 72 hours. Upon * successful detection, Amazon SES will be able to DKIM-sign email * originating from that domain. (This only applies to domain * identities, not email address identities.) * </p> * <p> * For more information about creating DNS records using DKIM * tokens, go to the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim-dns-records.html" * >Amazon SES Developer Guide</a>. * </p> */ public java.util.List<String> getDkimTokens() { return dkimTokens; } /** * <p> * A set of character strings that represent the domain's identity. Using * these tokens, you will need to create DNS CNAME records that point to * DKIM public keys hosted by Amazon SES. Amazon Web Services will * eventually detect that you have updated your DNS records; this detection * process may take up to 72 hours. Upon successful detection, Amazon SES * will be able to DKIM-sign email originating from that domain. (This only * applies to domain identities, not email address identities.) * </p> * <p> * For more information about creating DNS records using DKIM tokens, go to * the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim-dns-records.html" * >Amazon SES Developer Guide</a>. * </p> * * @param dkimTokens <p> * A set of character strings that represent the domain's * identity. Using these tokens, you will need to create DNS * CNAME records that point to DKIM public keys hosted by Amazon * SES. Amazon Web Services will eventually detect that you have * updated your DNS records; this detection process may take up * to 72 hours. Upon successful detection, Amazon SES will be * able to DKIM-sign email originating from that domain. (This * only applies to domain identities, not email address * identities.) * </p> * <p> * For more information about creating DNS records using DKIM * tokens, go to the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim-dns-records.html" * >Amazon SES Developer Guide</a>. * </p> */ public void setDkimTokens(java.util.Collection<String> dkimTokens) { if (dkimTokens == null) { this.dkimTokens = null; return; } this.dkimTokens = new java.util.ArrayList<String>(dkimTokens); } /** * <p> * A set of character strings that represent the domain's identity. Using * these tokens, you will need to create DNS CNAME records that point to * DKIM public keys hosted by Amazon SES. Amazon Web Services will * eventually detect that you have updated your DNS records; this detection * process may take up to 72 hours. Upon successful detection, Amazon SES * will be able to DKIM-sign email originating from that domain. (This only * applies to domain identities, not email address identities.) * </p> * <p> * For more information about creating DNS records using DKIM tokens, go to * the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim-dns-records.html" * >Amazon SES Developer Guide</a>. * </p> * <p> * Returns a reference to this object so that method calls can be chained * together. * * @param dkimTokens <p> * A set of character strings that represent the domain's * identity. Using these tokens, you will need to create DNS * CNAME records that point to DKIM public keys hosted by Amazon * SES. Amazon Web Services will eventually detect that you have * updated your DNS records; this detection process may take up * to 72 hours. Upon successful detection, Amazon SES will be * able to DKIM-sign email originating from that domain. (This * only applies to domain identities, not email address * identities.) * </p> * <p> * For more information about creating DNS records using DKIM * tokens, go to the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim-dns-records.html" * >Amazon SES Developer Guide</a>. * </p> * @return A reference to this updated object so that method calls can be * chained together. */ public IdentityDkimAttributes withDkimTokens(String... dkimTokens) { if (getDkimTokens() == null) { this.dkimTokens = new java.util.ArrayList<String>(dkimTokens.length); } for (String value : dkimTokens) { this.dkimTokens.add(value); } return this; } /** * <p> * A set of character strings that represent the domain's identity. Using * these tokens, you will need to create DNS CNAME records that point to * DKIM public keys hosted by Amazon SES. Amazon Web Services will * eventually detect that you have updated your DNS records; this detection * process may take up to 72 hours. Upon successful detection, Amazon SES * will be able to DKIM-sign email originating from that domain. (This only * applies to domain identities, not email address identities.) * </p> * <p> * For more information about creating DNS records using DKIM tokens, go to * the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim-dns-records.html" * >Amazon SES Developer Guide</a>. * </p> * <p> * Returns a reference to this object so that method calls can be chained * together. * * @param dkimTokens <p> * A set of character strings that represent the domain's * identity. Using these tokens, you will need to create DNS * CNAME records that point to DKIM public keys hosted by Amazon * SES. Amazon Web Services will eventually detect that you have * updated your DNS records; this detection process may take up * to 72 hours. Upon successful detection, Amazon SES will be * able to DKIM-sign email originating from that domain. (This * only applies to domain identities, not email address * identities.) * </p> * <p> * For more information about creating DNS records using DKIM * tokens, go to the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim-dns-records.html" * >Amazon SES Developer Guide</a>. * </p> * @return A reference to this updated object so that method calls can be * chained together. */ public IdentityDkimAttributes withDkimTokens(java.util.Collection<String> dkimTokens) { setDkimTokens(dkimTokens); return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getDkimEnabled() != null) sb.append("DkimEnabled: " + getDkimEnabled() + ","); if (getDkimVerificationStatus() != null) sb.append("DkimVerificationStatus: " + getDkimVerificationStatus() + ","); if (getDkimTokens() != null) sb.append("DkimTokens: " + getDkimTokens()); sb.append("}"); return sb.toString(); } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getDkimEnabled() == null) ? 0 : getDkimEnabled().hashCode()); hashCode = prime * hashCode + ((getDkimVerificationStatus() == null) ? 0 : getDkimVerificationStatus() .hashCode()); hashCode = prime * hashCode + ((getDkimTokens() == null) ? 0 : getDkimTokens().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof IdentityDkimAttributes == false) return false; IdentityDkimAttributes other = (IdentityDkimAttributes) obj; if (other.getDkimEnabled() == null ^ this.getDkimEnabled() == null) return false; if (other.getDkimEnabled() != null && other.getDkimEnabled().equals(this.getDkimEnabled()) == false) return false; if (other.getDkimVerificationStatus() == null ^ this.getDkimVerificationStatus() == null) return false; if (other.getDkimVerificationStatus() != null && other.getDkimVerificationStatus().equals(this.getDkimVerificationStatus()) == false) return false; if (other.getDkimTokens() == null ^ this.getDkimTokens() == null) return false; if (other.getDkimTokens() != null && other.getDkimTokens().equals(this.getDkimTokens()) == false) return false; return true; } }