/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SESV2 { namespace Model { /** *

An object that contains information about the DKIM authentication status for * an email identity.

Amazon SES determines the authentication status by * searching for specific records in the DNS configuration for the domain. If you * used Easy * DKIM to set up DKIM authentication, Amazon SES tries to find three unique * CNAME records in the DNS configuration for your domain. If you provided a public * key to perform DKIM authentication, Amazon SES tries to find a TXT record that * uses the selector that you specified. The value of the TXT record must be a * public key that's paired with the private key that you specified in the process * of creating the identity

See Also:

AWS * API Reference

*/ class DkimAttributes { public: AWS_SESV2_API DkimAttributes(); AWS_SESV2_API DkimAttributes(Aws::Utils::Json::JsonView jsonValue); AWS_SESV2_API DkimAttributes& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SESV2_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

If the value is true, then the messages that you send from the * identity are signed using DKIM. If the value is false, then the * messages that you send from the identity aren't DKIM-signed.

*/ inline bool GetSigningEnabled() const{ return m_signingEnabled; } /** *

If the value is true, then the messages that you send from the * identity are signed using DKIM. If the value is false, then the * messages that you send from the identity aren't DKIM-signed.

*/ inline bool SigningEnabledHasBeenSet() const { return m_signingEnabledHasBeenSet; } /** *

If the value is true, then the messages that you send from the * identity are signed using DKIM. If the value is false, then the * messages that you send from the identity aren't DKIM-signed.

*/ inline void SetSigningEnabled(bool value) { m_signingEnabledHasBeenSet = true; m_signingEnabled = value; } /** *

If the value is true, then the messages that you send from the * identity are signed using DKIM. If the value is false, then the * messages that you send from the identity aren't DKIM-signed.

*/ inline DkimAttributes& WithSigningEnabled(bool value) { SetSigningEnabled(value); return *this;} /** *

Describes whether or not Amazon SES has successfully located the DKIM records * in the DNS records for the domain. The status can be one of the following:

*
  • PENDING – The verification process was initiated, but * Amazon SES hasn't yet detected the DKIM records in the DNS configuration for the * domain.

  • SUCCESS – The verification process * completed successfully.

  • FAILED – The * verification process failed. This typically occurs when Amazon SES fails to find * the DKIM records in the DNS configuration of the domain.

  • * TEMPORARY_FAILURE – A temporary issue is preventing Amazon SES from * determining the DKIM authentication status of the domain.

  • * NOT_STARTED – The DKIM verification process hasn't been initiated * for the domain.

*/ inline const DkimStatus& GetStatus() const{ return m_status; } /** *

Describes whether or not Amazon SES has successfully located the DKIM records * in the DNS records for the domain. The status can be one of the following:

*
  • PENDING – The verification process was initiated, but * Amazon SES hasn't yet detected the DKIM records in the DNS configuration for the * domain.

  • SUCCESS – The verification process * completed successfully.

  • FAILED – The * verification process failed. This typically occurs when Amazon SES fails to find * the DKIM records in the DNS configuration of the domain.

  • * TEMPORARY_FAILURE – A temporary issue is preventing Amazon SES from * determining the DKIM authentication status of the domain.

  • * NOT_STARTED – The DKIM verification process hasn't been initiated * for the domain.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

Describes whether or not Amazon SES has successfully located the DKIM records * in the DNS records for the domain. The status can be one of the following:

*
  • PENDING – The verification process was initiated, but * Amazon SES hasn't yet detected the DKIM records in the DNS configuration for the * domain.

  • SUCCESS – The verification process * completed successfully.

  • FAILED – The * verification process failed. This typically occurs when Amazon SES fails to find * the DKIM records in the DNS configuration of the domain.

  • * TEMPORARY_FAILURE – A temporary issue is preventing Amazon SES from * determining the DKIM authentication status of the domain.

  • * NOT_STARTED – The DKIM verification process hasn't been initiated * for the domain.

*/ inline void SetStatus(const DkimStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

Describes whether or not Amazon SES has successfully located the DKIM records * in the DNS records for the domain. The status can be one of the following:

*
  • PENDING – The verification process was initiated, but * Amazon SES hasn't yet detected the DKIM records in the DNS configuration for the * domain.

  • SUCCESS – The verification process * completed successfully.

  • FAILED – The * verification process failed. This typically occurs when Amazon SES fails to find * the DKIM records in the DNS configuration of the domain.

  • * TEMPORARY_FAILURE – A temporary issue is preventing Amazon SES from * determining the DKIM authentication status of the domain.

  • * NOT_STARTED – The DKIM verification process hasn't been initiated * for the domain.

*/ inline void SetStatus(DkimStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

Describes whether or not Amazon SES has successfully located the DKIM records * in the DNS records for the domain. The status can be one of the following:

*
  • PENDING – The verification process was initiated, but * Amazon SES hasn't yet detected the DKIM records in the DNS configuration for the * domain.

  • SUCCESS – The verification process * completed successfully.

  • FAILED – The * verification process failed. This typically occurs when Amazon SES fails to find * the DKIM records in the DNS configuration of the domain.

  • * TEMPORARY_FAILURE – A temporary issue is preventing Amazon SES from * determining the DKIM authentication status of the domain.

  • * NOT_STARTED – The DKIM verification process hasn't been initiated * for the domain.

*/ inline DkimAttributes& WithStatus(const DkimStatus& value) { SetStatus(value); return *this;} /** *

Describes whether or not Amazon SES has successfully located the DKIM records * in the DNS records for the domain. The status can be one of the following:

*
  • PENDING – The verification process was initiated, but * Amazon SES hasn't yet detected the DKIM records in the DNS configuration for the * domain.

  • SUCCESS – The verification process * completed successfully.

  • FAILED – The * verification process failed. This typically occurs when Amazon SES fails to find * the DKIM records in the DNS configuration of the domain.

  • * TEMPORARY_FAILURE – A temporary issue is preventing Amazon SES from * determining the DKIM authentication status of the domain.

  • * NOT_STARTED – The DKIM verification process hasn't been initiated * for the domain.

*/ inline DkimAttributes& WithStatus(DkimStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

If you used Easy * DKIM to configure DKIM authentication for the domain, then this object * contains a set of unique strings that you use to create a set of CNAME records * that you add to the DNS configuration for your domain. When Amazon SES detects * these records in the DNS configuration for your domain, the DKIM authentication * process is complete.

If you configured DKIM authentication for the domain * by providing your own public-private key pair, then this object contains the * selector for the public key.

Regardless of the DKIM authentication method * you use, Amazon SES searches for the appropriate records in the DNS * configuration of the domain for up to 72 hours.

*/ inline const Aws::Vector& GetTokens() const{ return m_tokens; } /** *

If you used Easy * DKIM to configure DKIM authentication for the domain, then this object * contains a set of unique strings that you use to create a set of CNAME records * that you add to the DNS configuration for your domain. When Amazon SES detects * these records in the DNS configuration for your domain, the DKIM authentication * process is complete.

If you configured DKIM authentication for the domain * by providing your own public-private key pair, then this object contains the * selector for the public key.

Regardless of the DKIM authentication method * you use, Amazon SES searches for the appropriate records in the DNS * configuration of the domain for up to 72 hours.

*/ inline bool TokensHasBeenSet() const { return m_tokensHasBeenSet; } /** *

If you used Easy * DKIM to configure DKIM authentication for the domain, then this object * contains a set of unique strings that you use to create a set of CNAME records * that you add to the DNS configuration for your domain. When Amazon SES detects * these records in the DNS configuration for your domain, the DKIM authentication * process is complete.

If you configured DKIM authentication for the domain * by providing your own public-private key pair, then this object contains the * selector for the public key.

Regardless of the DKIM authentication method * you use, Amazon SES searches for the appropriate records in the DNS * configuration of the domain for up to 72 hours.

*/ inline void SetTokens(const Aws::Vector& value) { m_tokensHasBeenSet = true; m_tokens = value; } /** *

If you used Easy * DKIM to configure DKIM authentication for the domain, then this object * contains a set of unique strings that you use to create a set of CNAME records * that you add to the DNS configuration for your domain. When Amazon SES detects * these records in the DNS configuration for your domain, the DKIM authentication * process is complete.

If you configured DKIM authentication for the domain * by providing your own public-private key pair, then this object contains the * selector for the public key.

Regardless of the DKIM authentication method * you use, Amazon SES searches for the appropriate records in the DNS * configuration of the domain for up to 72 hours.

*/ inline void SetTokens(Aws::Vector&& value) { m_tokensHasBeenSet = true; m_tokens = std::move(value); } /** *

If you used Easy * DKIM to configure DKIM authentication for the domain, then this object * contains a set of unique strings that you use to create a set of CNAME records * that you add to the DNS configuration for your domain. When Amazon SES detects * these records in the DNS configuration for your domain, the DKIM authentication * process is complete.

If you configured DKIM authentication for the domain * by providing your own public-private key pair, then this object contains the * selector for the public key.

Regardless of the DKIM authentication method * you use, Amazon SES searches for the appropriate records in the DNS * configuration of the domain for up to 72 hours.

*/ inline DkimAttributes& WithTokens(const Aws::Vector& value) { SetTokens(value); return *this;} /** *

If you used Easy * DKIM to configure DKIM authentication for the domain, then this object * contains a set of unique strings that you use to create a set of CNAME records * that you add to the DNS configuration for your domain. When Amazon SES detects * these records in the DNS configuration for your domain, the DKIM authentication * process is complete.

If you configured DKIM authentication for the domain * by providing your own public-private key pair, then this object contains the * selector for the public key.

Regardless of the DKIM authentication method * you use, Amazon SES searches for the appropriate records in the DNS * configuration of the domain for up to 72 hours.

*/ inline DkimAttributes& WithTokens(Aws::Vector&& value) { SetTokens(std::move(value)); return *this;} /** *

If you used Easy * DKIM to configure DKIM authentication for the domain, then this object * contains a set of unique strings that you use to create a set of CNAME records * that you add to the DNS configuration for your domain. When Amazon SES detects * these records in the DNS configuration for your domain, the DKIM authentication * process is complete.

If you configured DKIM authentication for the domain * by providing your own public-private key pair, then this object contains the * selector for the public key.

Regardless of the DKIM authentication method * you use, Amazon SES searches for the appropriate records in the DNS * configuration of the domain for up to 72 hours.

*/ inline DkimAttributes& AddTokens(const Aws::String& value) { m_tokensHasBeenSet = true; m_tokens.push_back(value); return *this; } /** *

If you used Easy * DKIM to configure DKIM authentication for the domain, then this object * contains a set of unique strings that you use to create a set of CNAME records * that you add to the DNS configuration for your domain. When Amazon SES detects * these records in the DNS configuration for your domain, the DKIM authentication * process is complete.

If you configured DKIM authentication for the domain * by providing your own public-private key pair, then this object contains the * selector for the public key.

Regardless of the DKIM authentication method * you use, Amazon SES searches for the appropriate records in the DNS * configuration of the domain for up to 72 hours.

*/ inline DkimAttributes& AddTokens(Aws::String&& value) { m_tokensHasBeenSet = true; m_tokens.push_back(std::move(value)); return *this; } /** *

If you used Easy * DKIM to configure DKIM authentication for the domain, then this object * contains a set of unique strings that you use to create a set of CNAME records * that you add to the DNS configuration for your domain. When Amazon SES detects * these records in the DNS configuration for your domain, the DKIM authentication * process is complete.

If you configured DKIM authentication for the domain * by providing your own public-private key pair, then this object contains the * selector for the public key.

Regardless of the DKIM authentication method * you use, Amazon SES searches for the appropriate records in the DNS * configuration of the domain for up to 72 hours.

*/ inline DkimAttributes& AddTokens(const char* value) { m_tokensHasBeenSet = true; m_tokens.push_back(value); return *this; } /** *

A string that indicates how DKIM was configured for the identity. These are * the possible values:

  • AWS_SES – Indicates that * DKIM was configured for the identity by using Easy * DKIM.

  • EXTERNAL – Indicates that DKIM was * configured for the identity by using Bring Your Own DKIM (BYODKIM).

  • *
*/ inline const DkimSigningAttributesOrigin& GetSigningAttributesOrigin() const{ return m_signingAttributesOrigin; } /** *

A string that indicates how DKIM was configured for the identity. These are * the possible values:

  • AWS_SES – Indicates that * DKIM was configured for the identity by using Easy * DKIM.

  • EXTERNAL – Indicates that DKIM was * configured for the identity by using Bring Your Own DKIM (BYODKIM).

  • *
*/ inline bool SigningAttributesOriginHasBeenSet() const { return m_signingAttributesOriginHasBeenSet; } /** *

A string that indicates how DKIM was configured for the identity. These are * the possible values:

  • AWS_SES – Indicates that * DKIM was configured for the identity by using Easy * DKIM.

  • EXTERNAL – Indicates that DKIM was * configured for the identity by using Bring Your Own DKIM (BYODKIM).

  • *
*/ inline void SetSigningAttributesOrigin(const DkimSigningAttributesOrigin& value) { m_signingAttributesOriginHasBeenSet = true; m_signingAttributesOrigin = value; } /** *

A string that indicates how DKIM was configured for the identity. These are * the possible values:

  • AWS_SES – Indicates that * DKIM was configured for the identity by using Easy * DKIM.

  • EXTERNAL – Indicates that DKIM was * configured for the identity by using Bring Your Own DKIM (BYODKIM).

  • *
*/ inline void SetSigningAttributesOrigin(DkimSigningAttributesOrigin&& value) { m_signingAttributesOriginHasBeenSet = true; m_signingAttributesOrigin = std::move(value); } /** *

A string that indicates how DKIM was configured for the identity. These are * the possible values:

  • AWS_SES – Indicates that * DKIM was configured for the identity by using Easy * DKIM.

  • EXTERNAL – Indicates that DKIM was * configured for the identity by using Bring Your Own DKIM (BYODKIM).

  • *
*/ inline DkimAttributes& WithSigningAttributesOrigin(const DkimSigningAttributesOrigin& value) { SetSigningAttributesOrigin(value); return *this;} /** *

A string that indicates how DKIM was configured for the identity. These are * the possible values:

  • AWS_SES – Indicates that * DKIM was configured for the identity by using Easy * DKIM.

  • EXTERNAL – Indicates that DKIM was * configured for the identity by using Bring Your Own DKIM (BYODKIM).

  • *
*/ inline DkimAttributes& WithSigningAttributesOrigin(DkimSigningAttributesOrigin&& value) { SetSigningAttributesOrigin(std::move(value)); return *this;} /** *

[Easy DKIM] The key length of the future DKIM key pair to be generated. This * can be changed at most once per day.

*/ inline const DkimSigningKeyLength& GetNextSigningKeyLength() const{ return m_nextSigningKeyLength; } /** *

[Easy DKIM] The key length of the future DKIM key pair to be generated. This * can be changed at most once per day.

*/ inline bool NextSigningKeyLengthHasBeenSet() const { return m_nextSigningKeyLengthHasBeenSet; } /** *

[Easy DKIM] The key length of the future DKIM key pair to be generated. This * can be changed at most once per day.

*/ inline void SetNextSigningKeyLength(const DkimSigningKeyLength& value) { m_nextSigningKeyLengthHasBeenSet = true; m_nextSigningKeyLength = value; } /** *

[Easy DKIM] The key length of the future DKIM key pair to be generated. This * can be changed at most once per day.

*/ inline void SetNextSigningKeyLength(DkimSigningKeyLength&& value) { m_nextSigningKeyLengthHasBeenSet = true; m_nextSigningKeyLength = std::move(value); } /** *

[Easy DKIM] The key length of the future DKIM key pair to be generated. This * can be changed at most once per day.

*/ inline DkimAttributes& WithNextSigningKeyLength(const DkimSigningKeyLength& value) { SetNextSigningKeyLength(value); return *this;} /** *

[Easy DKIM] The key length of the future DKIM key pair to be generated. This * can be changed at most once per day.

*/ inline DkimAttributes& WithNextSigningKeyLength(DkimSigningKeyLength&& value) { SetNextSigningKeyLength(std::move(value)); return *this;} /** *

[Easy DKIM] The key length of the DKIM key pair in use.

*/ inline const DkimSigningKeyLength& GetCurrentSigningKeyLength() const{ return m_currentSigningKeyLength; } /** *

[Easy DKIM] The key length of the DKIM key pair in use.

*/ inline bool CurrentSigningKeyLengthHasBeenSet() const { return m_currentSigningKeyLengthHasBeenSet; } /** *

[Easy DKIM] The key length of the DKIM key pair in use.

*/ inline void SetCurrentSigningKeyLength(const DkimSigningKeyLength& value) { m_currentSigningKeyLengthHasBeenSet = true; m_currentSigningKeyLength = value; } /** *

[Easy DKIM] The key length of the DKIM key pair in use.

*/ inline void SetCurrentSigningKeyLength(DkimSigningKeyLength&& value) { m_currentSigningKeyLengthHasBeenSet = true; m_currentSigningKeyLength = std::move(value); } /** *

[Easy DKIM] The key length of the DKIM key pair in use.

*/ inline DkimAttributes& WithCurrentSigningKeyLength(const DkimSigningKeyLength& value) { SetCurrentSigningKeyLength(value); return *this;} /** *

[Easy DKIM] The key length of the DKIM key pair in use.

*/ inline DkimAttributes& WithCurrentSigningKeyLength(DkimSigningKeyLength&& value) { SetCurrentSigningKeyLength(std::move(value)); return *this;} /** *

[Easy DKIM] The last time a key pair was generated for this identity.

*/ inline const Aws::Utils::DateTime& GetLastKeyGenerationTimestamp() const{ return m_lastKeyGenerationTimestamp; } /** *

[Easy DKIM] The last time a key pair was generated for this identity.

*/ inline bool LastKeyGenerationTimestampHasBeenSet() const { return m_lastKeyGenerationTimestampHasBeenSet; } /** *

[Easy DKIM] The last time a key pair was generated for this identity.

*/ inline void SetLastKeyGenerationTimestamp(const Aws::Utils::DateTime& value) { m_lastKeyGenerationTimestampHasBeenSet = true; m_lastKeyGenerationTimestamp = value; } /** *

[Easy DKIM] The last time a key pair was generated for this identity.

*/ inline void SetLastKeyGenerationTimestamp(Aws::Utils::DateTime&& value) { m_lastKeyGenerationTimestampHasBeenSet = true; m_lastKeyGenerationTimestamp = std::move(value); } /** *

[Easy DKIM] The last time a key pair was generated for this identity.

*/ inline DkimAttributes& WithLastKeyGenerationTimestamp(const Aws::Utils::DateTime& value) { SetLastKeyGenerationTimestamp(value); return *this;} /** *

[Easy DKIM] The last time a key pair was generated for this identity.

*/ inline DkimAttributes& WithLastKeyGenerationTimestamp(Aws::Utils::DateTime&& value) { SetLastKeyGenerationTimestamp(std::move(value)); return *this;} private: bool m_signingEnabled; bool m_signingEnabledHasBeenSet = false; DkimStatus m_status; bool m_statusHasBeenSet = false; Aws::Vector m_tokens; bool m_tokensHasBeenSet = false; DkimSigningAttributesOrigin m_signingAttributesOrigin; bool m_signingAttributesOriginHasBeenSet = false; DkimSigningKeyLength m_nextSigningKeyLength; bool m_nextSigningKeyLengthHasBeenSet = false; DkimSigningKeyLength m_currentSigningKeyLength; bool m_currentSigningKeyLengthHasBeenSet = false; Aws::Utils::DateTime m_lastKeyGenerationTimestamp; bool m_lastKeyGenerationTimestampHasBeenSet = false; }; } // namespace Model } // namespace SESV2 } // namespace Aws