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

Contains information about one of the following:

  • The initial * validation of each domain name that occurs as a result of the * RequestCertificate request

  • The validation of each * domain name in the certificate, as it pertains to Certificate Manager managed * renewal

See Also:

AWS * API Reference

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

A fully qualified domain name (FQDN) in the certificate.

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

A fully qualified domain name (FQDN) in the certificate.

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

A fully qualified domain name (FQDN) in the certificate.

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

A fully qualified domain name (FQDN) in the certificate.

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

A fully qualified domain name (FQDN) in the certificate.

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

A fully qualified domain name (FQDN) in the certificate.

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

A fully qualified domain name (FQDN) in the certificate.

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

A fully qualified domain name (FQDN) in the certificate.

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

The CNAME record that is added to the DNS database for domain validation.

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

The CNAME record that is added to the DNS database for domain validation.

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

The CNAME record that is added to the DNS database for domain validation.

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

The CNAME record that is added to the DNS database for domain validation.

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

The CNAME record that is added to the DNS database for domain validation.

*/ inline AwsCertificateManagerCertificateDomainValidationOption& WithResourceRecord(const AwsCertificateManagerCertificateResourceRecord& value) { SetResourceRecord(value); return *this;} /** *

The CNAME record that is added to the DNS database for domain validation.

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

The domain name that Certificate Manager uses to send domain validation * emails.

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

The domain name that Certificate Manager uses to send domain validation * emails.

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

The domain name that Certificate Manager uses to send domain validation * emails.

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

The domain name that Certificate Manager uses to send domain validation * emails.

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

The domain name that Certificate Manager uses to send domain validation * emails.

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

The domain name that Certificate Manager uses to send domain validation * emails.

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

The domain name that Certificate Manager uses to send domain validation * emails.

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

The domain name that Certificate Manager uses to send domain validation * emails.

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

A list of email addresses that Certificate Manager uses to send domain * validation emails.

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

A list of email addresses that Certificate Manager uses to send domain * validation emails.

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

A list of email addresses that Certificate Manager uses to send domain * validation emails.

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

A list of email addresses that Certificate Manager uses 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 Certificate Manager uses to send domain * validation emails.

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

A list of email addresses that Certificate Manager uses to send domain * validation emails.

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

A list of email addresses that Certificate Manager uses to send domain * validation emails.

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

A list of email addresses that Certificate Manager uses to send domain * validation emails.

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

A list of email addresses that Certificate Manager uses to send domain * validation emails.

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

The method used to validate the domain name.

*/ inline const Aws::String& GetValidationMethod() const{ return m_validationMethod; } /** *

The method used to validate the domain name.

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

The method used to validate the domain name.

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

The method used to validate the domain name.

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

The method used to validate the domain name.

*/ inline void SetValidationMethod(const char* value) { m_validationMethodHasBeenSet = true; m_validationMethod.assign(value); } /** *

The method used to validate the domain name.

*/ inline AwsCertificateManagerCertificateDomainValidationOption& WithValidationMethod(const Aws::String& value) { SetValidationMethod(value); return *this;} /** *

The method used to validate the domain name.

*/ inline AwsCertificateManagerCertificateDomainValidationOption& WithValidationMethod(Aws::String&& value) { SetValidationMethod(std::move(value)); return *this;} /** *

The method used to validate the domain name.

*/ inline AwsCertificateManagerCertificateDomainValidationOption& WithValidationMethod(const char* value) { SetValidationMethod(value); return *this;} /** *

The validation status of the domain name.

*/ inline const Aws::String& GetValidationStatus() const{ return m_validationStatus; } /** *

The validation status of the domain name.

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

The validation status of the domain name.

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

The validation status of the domain name.

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

The validation status of the domain name.

*/ inline void SetValidationStatus(const char* value) { m_validationStatusHasBeenSet = true; m_validationStatus.assign(value); } /** *

The validation status of the domain name.

*/ inline AwsCertificateManagerCertificateDomainValidationOption& WithValidationStatus(const Aws::String& value) { SetValidationStatus(value); return *this;} /** *

The validation status of the domain name.

*/ inline AwsCertificateManagerCertificateDomainValidationOption& WithValidationStatus(Aws::String&& value) { SetValidationStatus(std::move(value)); return *this;} /** *

The validation status of the domain name.

*/ inline AwsCertificateManagerCertificateDomainValidationOption& WithValidationStatus(const char* value) { SetValidationStatus(value); return *this;} private: Aws::String m_domainName; bool m_domainNameHasBeenSet = false; AwsCertificateManagerCertificateResourceRecord m_resourceRecord; bool m_resourceRecordHasBeenSet = false; Aws::String m_validationDomain; bool m_validationDomainHasBeenSet = false; Aws::Vector m_validationEmails; bool m_validationEmailsHasBeenSet = false; Aws::String m_validationMethod; bool m_validationMethodHasBeenSet = false; Aws::String m_validationStatus; bool m_validationStatusHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws