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

Describes a custom domain that's associated with an App Runner * service.

See Also:

AWS * API Reference

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

An associated custom domain endpoint. It can be a root domain (for example, * example.com), a subdomain (for example, * login.example.com or admin.login.example.com), or a * wildcard (for example, *.example.com).

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

An associated custom domain endpoint. It can be a root domain (for example, * example.com), a subdomain (for example, * login.example.com or admin.login.example.com), or a * wildcard (for example, *.example.com).

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

An associated custom domain endpoint. It can be a root domain (for example, * example.com), a subdomain (for example, * login.example.com or admin.login.example.com), or a * wildcard (for example, *.example.com).

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

An associated custom domain endpoint. It can be a root domain (for example, * example.com), a subdomain (for example, * login.example.com or admin.login.example.com), or a * wildcard (for example, *.example.com).

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

An associated custom domain endpoint. It can be a root domain (for example, * example.com), a subdomain (for example, * login.example.com or admin.login.example.com), or a * wildcard (for example, *.example.com).

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

An associated custom domain endpoint. It can be a root domain (for example, * example.com), a subdomain (for example, * login.example.com or admin.login.example.com), or a * wildcard (for example, *.example.com).

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

An associated custom domain endpoint. It can be a root domain (for example, * example.com), a subdomain (for example, * login.example.com or admin.login.example.com), or a * wildcard (for example, *.example.com).

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

An associated custom domain endpoint. It can be a root domain (for example, * example.com), a subdomain (for example, * login.example.com or admin.login.example.com), or a * wildcard (for example, *.example.com).

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

When true, the subdomain www.DomainName is * associated with the App Runner service in addition to the base domain.

*/ inline bool GetEnableWWWSubdomain() const{ return m_enableWWWSubdomain; } /** *

When true, the subdomain www.DomainName is * associated with the App Runner service in addition to the base domain.

*/ inline bool EnableWWWSubdomainHasBeenSet() const { return m_enableWWWSubdomainHasBeenSet; } /** *

When true, the subdomain www.DomainName is * associated with the App Runner service in addition to the base domain.

*/ inline void SetEnableWWWSubdomain(bool value) { m_enableWWWSubdomainHasBeenSet = true; m_enableWWWSubdomain = value; } /** *

When true, the subdomain www.DomainName is * associated with the App Runner service in addition to the base domain.

*/ inline CustomDomain& WithEnableWWWSubdomain(bool value) { SetEnableWWWSubdomain(value); return *this;} /** *

A list of certificate CNAME records that's used for this domain name.

*/ inline const Aws::Vector& GetCertificateValidationRecords() const{ return m_certificateValidationRecords; } /** *

A list of certificate CNAME records that's used for this domain name.

*/ inline bool CertificateValidationRecordsHasBeenSet() const { return m_certificateValidationRecordsHasBeenSet; } /** *

A list of certificate CNAME records that's used for this domain name.

*/ inline void SetCertificateValidationRecords(const Aws::Vector& value) { m_certificateValidationRecordsHasBeenSet = true; m_certificateValidationRecords = value; } /** *

A list of certificate CNAME records that's used for this domain name.

*/ inline void SetCertificateValidationRecords(Aws::Vector&& value) { m_certificateValidationRecordsHasBeenSet = true; m_certificateValidationRecords = std::move(value); } /** *

A list of certificate CNAME records that's used for this domain name.

*/ inline CustomDomain& WithCertificateValidationRecords(const Aws::Vector& value) { SetCertificateValidationRecords(value); return *this;} /** *

A list of certificate CNAME records that's used for this domain name.

*/ inline CustomDomain& WithCertificateValidationRecords(Aws::Vector&& value) { SetCertificateValidationRecords(std::move(value)); return *this;} /** *

A list of certificate CNAME records that's used for this domain name.

*/ inline CustomDomain& AddCertificateValidationRecords(const CertificateValidationRecord& value) { m_certificateValidationRecordsHasBeenSet = true; m_certificateValidationRecords.push_back(value); return *this; } /** *

A list of certificate CNAME records that's used for this domain name.

*/ inline CustomDomain& AddCertificateValidationRecords(CertificateValidationRecord&& value) { m_certificateValidationRecordsHasBeenSet = true; m_certificateValidationRecords.push_back(std::move(value)); return *this; } /** *

The current state of the domain name association.

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

The current state of the domain name association.

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

The current state of the domain name association.

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

The current state of the domain name association.

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

The current state of the domain name association.

*/ inline CustomDomain& WithStatus(const CustomDomainAssociationStatus& value) { SetStatus(value); return *this;} /** *

The current state of the domain name association.

*/ inline CustomDomain& WithStatus(CustomDomainAssociationStatus&& value) { SetStatus(std::move(value)); return *this;} private: Aws::String m_domainName; bool m_domainNameHasBeenSet = false; bool m_enableWWWSubdomain; bool m_enableWWWSubdomainHasBeenSet = false; Aws::Vector m_certificateValidationRecords; bool m_certificateValidationRecordsHasBeenSet = false; CustomDomainAssociationStatus m_status; bool m_statusHasBeenSet = false; }; } // namespace Model } // namespace AppRunner } // namespace Aws