/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ACM { namespace Model { /** *

Contains information about the validation of each domain name in the * certificate.

See Also:

AWS * API Reference

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

A fully qualified domain name (FQDN) in the certificate. For example, * www.example.com or example.com.

*/ inline const Aws::String& GetDomainName() const{ return m_domainName; } /** *

A fully qualified domain name (FQDN) in the certificate. For example, * www.example.com or example.com.

*/ inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; } /** *

A fully qualified domain name (FQDN) in the certificate. For example, * www.example.com or example.com.

*/ inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; } /** *

A fully qualified domain name (FQDN) in the certificate. For example, * www.example.com or example.com.

*/ inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); } /** *

A fully qualified domain name (FQDN) in the certificate. For example, * www.example.com or example.com.

*/ inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); } /** *

A fully qualified domain name (FQDN) in the certificate. For example, * www.example.com or example.com.

*/ inline DomainValidation& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;} /** *

A fully qualified domain name (FQDN) in the certificate. For example, * www.example.com or example.com.

*/ inline DomainValidation& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;} /** *

A fully qualified domain name (FQDN) in the certificate. For example, * www.example.com or example.com.

*/ inline DomainValidation& WithDomainName(const char* value) { SetDomainName(value); return *this;} /** *

A list of email addresses that ACM used to send domain validation emails.

*/ inline const Aws::Vector& GetValidationEmails() const{ return m_validationEmails; } /** *

A list of email addresses that ACM used to send domain validation emails.

*/ inline bool ValidationEmailsHasBeenSet() const { return m_validationEmailsHasBeenSet; } /** *

A list of email addresses that ACM used to send domain validation emails.

*/ inline void SetValidationEmails(const Aws::Vector& value) { m_validationEmailsHasBeenSet = true; m_validationEmails = value; } /** *

A list of email addresses that ACM used to send domain validation emails.

*/ inline void SetValidationEmails(Aws::Vector&& value) { m_validationEmailsHasBeenSet = true; m_validationEmails = std::move(value); } /** *

A list of email addresses that ACM used to send domain validation emails.

*/ inline DomainValidation& WithValidationEmails(const Aws::Vector& value) { SetValidationEmails(value); return *this;} /** *

A list of email addresses that ACM used to send domain validation emails.

*/ inline DomainValidation& WithValidationEmails(Aws::Vector&& value) { SetValidationEmails(std::move(value)); return *this;} /** *

A list of email addresses that ACM used to send domain validation emails.

*/ inline DomainValidation& AddValidationEmails(const Aws::String& value) { m_validationEmailsHasBeenSet = true; m_validationEmails.push_back(value); return *this; } /** *

A list of email addresses that ACM used to send domain validation emails.

*/ inline DomainValidation& AddValidationEmails(Aws::String&& value) { m_validationEmailsHasBeenSet = true; m_validationEmails.push_back(std::move(value)); return *this; } /** *

A list of email addresses that ACM used to send domain validation emails.

*/ inline DomainValidation& AddValidationEmails(const char* value) { m_validationEmailsHasBeenSet = true; m_validationEmails.push_back(value); return *this; } /** *

The domain name that ACM used to send domain validation emails.

*/ inline const Aws::String& GetValidationDomain() const{ return m_validationDomain; } /** *

The domain name that ACM used to send domain validation emails.

*/ inline bool ValidationDomainHasBeenSet() const { return m_validationDomainHasBeenSet; } /** *

The domain name that ACM used to send domain validation emails.

*/ inline void SetValidationDomain(const Aws::String& value) { m_validationDomainHasBeenSet = true; m_validationDomain = value; } /** *

The domain name that ACM used to send domain validation emails.

*/ inline void SetValidationDomain(Aws::String&& value) { m_validationDomainHasBeenSet = true; m_validationDomain = std::move(value); } /** *

The domain name that ACM used to send domain validation emails.

*/ inline void SetValidationDomain(const char* value) { m_validationDomainHasBeenSet = true; m_validationDomain.assign(value); } /** *

The domain name that ACM used to send domain validation emails.

*/ inline DomainValidation& WithValidationDomain(const Aws::String& value) { SetValidationDomain(value); return *this;} /** *

The domain name that ACM used to send domain validation emails.

*/ inline DomainValidation& WithValidationDomain(Aws::String&& value) { SetValidationDomain(std::move(value)); return *this;} /** *

The domain name that ACM used to send domain validation emails.

*/ inline DomainValidation& WithValidationDomain(const char* value) { SetValidationDomain(value); return *this;} /** *

The validation status of the domain name. This can be one of the following * values:

  • PENDING_VALIDATION

  • * SUCCESS

  • FAILED

*/ inline const DomainStatus& GetValidationStatus() const{ return m_validationStatus; } /** *

The validation status of the domain name. This can be one of the following * values:

  • PENDING_VALIDATION

  • * SUCCESS

  • FAILED

*/ inline bool ValidationStatusHasBeenSet() const { return m_validationStatusHasBeenSet; } /** *

The validation status of the domain name. This can be one of the following * values:

  • PENDING_VALIDATION

  • * SUCCESS

  • FAILED

*/ inline void SetValidationStatus(const DomainStatus& value) { m_validationStatusHasBeenSet = true; m_validationStatus = value; } /** *

The validation status of the domain name. This can be one of the following * values:

  • PENDING_VALIDATION

  • * SUCCESS

  • FAILED

*/ inline void SetValidationStatus(DomainStatus&& value) { m_validationStatusHasBeenSet = true; m_validationStatus = std::move(value); } /** *

The validation status of the domain name. This can be one of the following * values:

  • PENDING_VALIDATION

  • * SUCCESS

  • FAILED

*/ inline DomainValidation& WithValidationStatus(const DomainStatus& value) { SetValidationStatus(value); return *this;} /** *

The validation status of the domain name. This can be one of the following * values:

  • PENDING_VALIDATION

  • * SUCCESS

  • FAILED

*/ inline DomainValidation& WithValidationStatus(DomainStatus&& value) { SetValidationStatus(std::move(value)); return *this;} /** *

Contains the CNAME record that you add to your DNS database for domain * validation. For more information, see Use * DNS to Validate Domain Ownership.

Note: The CNAME information that * you need does not include the name of your domain. If you include
 your * domain name in the DNS database CNAME record, validation fails.
 For * example, if the name is "_a79865eb4cd1a6ab990a45779b4e0b96.yourdomain.com", only * "_a79865eb4cd1a6ab990a45779b4e0b96" must be used.

*/ inline const ResourceRecord& GetResourceRecord() const{ return m_resourceRecord; } /** *

Contains the CNAME record that you add to your DNS database for domain * validation. For more information, see Use * DNS to Validate Domain Ownership.

Note: The CNAME information that * you need does not include the name of your domain. If you include
 your * domain name in the DNS database CNAME record, validation fails.
 For * example, if the name is "_a79865eb4cd1a6ab990a45779b4e0b96.yourdomain.com", only * "_a79865eb4cd1a6ab990a45779b4e0b96" must be used.

*/ inline bool ResourceRecordHasBeenSet() const { return m_resourceRecordHasBeenSet; } /** *

Contains the CNAME record that you add to your DNS database for domain * validation. For more information, see Use * DNS to Validate Domain Ownership.

Note: The CNAME information that * you need does not include the name of your domain. If you include
 your * domain name in the DNS database CNAME record, validation fails.
 For * example, if the name is "_a79865eb4cd1a6ab990a45779b4e0b96.yourdomain.com", only * "_a79865eb4cd1a6ab990a45779b4e0b96" must be used.

*/ inline void SetResourceRecord(const ResourceRecord& value) { m_resourceRecordHasBeenSet = true; m_resourceRecord = value; } /** *

Contains the CNAME record that you add to your DNS database for domain * validation. For more information, see Use * DNS to Validate Domain Ownership.

Note: The CNAME information that * you need does not include the name of your domain. If you include
 your * domain name in the DNS database CNAME record, validation fails.
 For * example, if the name is "_a79865eb4cd1a6ab990a45779b4e0b96.yourdomain.com", only * "_a79865eb4cd1a6ab990a45779b4e0b96" must be used.

*/ inline void SetResourceRecord(ResourceRecord&& value) { m_resourceRecordHasBeenSet = true; m_resourceRecord = std::move(value); } /** *

Contains the CNAME record that you add to your DNS database for domain * validation. For more information, see Use * DNS to Validate Domain Ownership.

Note: The CNAME information that * you need does not include the name of your domain. If you include
 your * domain name in the DNS database CNAME record, validation fails.
 For * example, if the name is "_a79865eb4cd1a6ab990a45779b4e0b96.yourdomain.com", only * "_a79865eb4cd1a6ab990a45779b4e0b96" must be used.

*/ inline DomainValidation& WithResourceRecord(const ResourceRecord& value) { SetResourceRecord(value); return *this;} /** *

Contains the CNAME record that you add to your DNS database for domain * validation. For more information, see Use * DNS to Validate Domain Ownership.

Note: The CNAME information that * you need does not include the name of your domain. If you include
 your * domain name in the DNS database CNAME record, validation fails.
 For * example, if the name is "_a79865eb4cd1a6ab990a45779b4e0b96.yourdomain.com", only * "_a79865eb4cd1a6ab990a45779b4e0b96" must be used.

*/ inline DomainValidation& WithResourceRecord(ResourceRecord&& value) { SetResourceRecord(std::move(value)); return *this;} /** *

Specifies the domain validation method.

*/ inline const ValidationMethod& GetValidationMethod() const{ return m_validationMethod; } /** *

Specifies the domain validation method.

*/ inline bool ValidationMethodHasBeenSet() const { return m_validationMethodHasBeenSet; } /** *

Specifies the domain validation method.

*/ inline void SetValidationMethod(const ValidationMethod& value) { m_validationMethodHasBeenSet = true; m_validationMethod = value; } /** *

Specifies the domain validation method.

*/ inline void SetValidationMethod(ValidationMethod&& value) { m_validationMethodHasBeenSet = true; m_validationMethod = std::move(value); } /** *

Specifies the domain validation method.

*/ inline DomainValidation& WithValidationMethod(const ValidationMethod& value) { SetValidationMethod(value); return *this;} /** *

Specifies the domain validation method.

*/ inline DomainValidation& WithValidationMethod(ValidationMethod&& value) { SetValidationMethod(std::move(value)); return *this;} private: Aws::String m_domainName; bool m_domainNameHasBeenSet = false; Aws::Vector m_validationEmails; bool m_validationEmailsHasBeenSet = false; Aws::String m_validationDomain; bool m_validationDomainHasBeenSet = false; DomainStatus m_validationStatus; bool m_validationStatusHasBeenSet = false; ResourceRecord m_resourceRecord; bool m_resourceRecordHasBeenSet = false; ValidationMethod m_validationMethod; bool m_validationMethodHasBeenSet = false; }; } // namespace Model } // namespace ACM } // namespace Aws