/** * 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 #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace IoT { namespace Model { class DescribeDomainConfigurationResult { public: AWS_IOT_API DescribeDomainConfigurationResult(); AWS_IOT_API DescribeDomainConfigurationResult(const Aws::AmazonWebServiceResult& result); AWS_IOT_API DescribeDomainConfigurationResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The name of the domain configuration.

*/ inline const Aws::String& GetDomainConfigurationName() const{ return m_domainConfigurationName; } /** *

The name of the domain configuration.

*/ inline void SetDomainConfigurationName(const Aws::String& value) { m_domainConfigurationName = value; } /** *

The name of the domain configuration.

*/ inline void SetDomainConfigurationName(Aws::String&& value) { m_domainConfigurationName = std::move(value); } /** *

The name of the domain configuration.

*/ inline void SetDomainConfigurationName(const char* value) { m_domainConfigurationName.assign(value); } /** *

The name of the domain configuration.

*/ inline DescribeDomainConfigurationResult& WithDomainConfigurationName(const Aws::String& value) { SetDomainConfigurationName(value); return *this;} /** *

The name of the domain configuration.

*/ inline DescribeDomainConfigurationResult& WithDomainConfigurationName(Aws::String&& value) { SetDomainConfigurationName(std::move(value)); return *this;} /** *

The name of the domain configuration.

*/ inline DescribeDomainConfigurationResult& WithDomainConfigurationName(const char* value) { SetDomainConfigurationName(value); return *this;} /** *

The ARN of the domain configuration.

*/ inline const Aws::String& GetDomainConfigurationArn() const{ return m_domainConfigurationArn; } /** *

The ARN of the domain configuration.

*/ inline void SetDomainConfigurationArn(const Aws::String& value) { m_domainConfigurationArn = value; } /** *

The ARN of the domain configuration.

*/ inline void SetDomainConfigurationArn(Aws::String&& value) { m_domainConfigurationArn = std::move(value); } /** *

The ARN of the domain configuration.

*/ inline void SetDomainConfigurationArn(const char* value) { m_domainConfigurationArn.assign(value); } /** *

The ARN of the domain configuration.

*/ inline DescribeDomainConfigurationResult& WithDomainConfigurationArn(const Aws::String& value) { SetDomainConfigurationArn(value); return *this;} /** *

The ARN of the domain configuration.

*/ inline DescribeDomainConfigurationResult& WithDomainConfigurationArn(Aws::String&& value) { SetDomainConfigurationArn(std::move(value)); return *this;} /** *

The ARN of the domain configuration.

*/ inline DescribeDomainConfigurationResult& WithDomainConfigurationArn(const char* value) { SetDomainConfigurationArn(value); return *this;} /** *

The name of the domain.

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

The name of the domain.

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

The name of the domain.

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

The name of the domain.

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

The name of the domain.

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

The name of the domain.

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

The name of the domain.

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

A list containing summary information about the server certificate included * in the domain configuration.

*/ inline const Aws::Vector& GetServerCertificates() const{ return m_serverCertificates; } /** *

A list containing summary information about the server certificate included * in the domain configuration.

*/ inline void SetServerCertificates(const Aws::Vector& value) { m_serverCertificates = value; } /** *

A list containing summary information about the server certificate included * in the domain configuration.

*/ inline void SetServerCertificates(Aws::Vector&& value) { m_serverCertificates = std::move(value); } /** *

A list containing summary information about the server certificate included * in the domain configuration.

*/ inline DescribeDomainConfigurationResult& WithServerCertificates(const Aws::Vector& value) { SetServerCertificates(value); return *this;} /** *

A list containing summary information about the server certificate included * in the domain configuration.

*/ inline DescribeDomainConfigurationResult& WithServerCertificates(Aws::Vector&& value) { SetServerCertificates(std::move(value)); return *this;} /** *

A list containing summary information about the server certificate included * in the domain configuration.

*/ inline DescribeDomainConfigurationResult& AddServerCertificates(const ServerCertificateSummary& value) { m_serverCertificates.push_back(value); return *this; } /** *

A list containing summary information about the server certificate included * in the domain configuration.

*/ inline DescribeDomainConfigurationResult& AddServerCertificates(ServerCertificateSummary&& value) { m_serverCertificates.push_back(std::move(value)); return *this; } /** *

An object that specifies the authorization service for a domain.

*/ inline const AuthorizerConfig& GetAuthorizerConfig() const{ return m_authorizerConfig; } /** *

An object that specifies the authorization service for a domain.

*/ inline void SetAuthorizerConfig(const AuthorizerConfig& value) { m_authorizerConfig = value; } /** *

An object that specifies the authorization service for a domain.

*/ inline void SetAuthorizerConfig(AuthorizerConfig&& value) { m_authorizerConfig = std::move(value); } /** *

An object that specifies the authorization service for a domain.

*/ inline DescribeDomainConfigurationResult& WithAuthorizerConfig(const AuthorizerConfig& value) { SetAuthorizerConfig(value); return *this;} /** *

An object that specifies the authorization service for a domain.

*/ inline DescribeDomainConfigurationResult& WithAuthorizerConfig(AuthorizerConfig&& value) { SetAuthorizerConfig(std::move(value)); return *this;} /** *

A Boolean value that specifies the current state of the domain * configuration.

*/ inline const DomainConfigurationStatus& GetDomainConfigurationStatus() const{ return m_domainConfigurationStatus; } /** *

A Boolean value that specifies the current state of the domain * configuration.

*/ inline void SetDomainConfigurationStatus(const DomainConfigurationStatus& value) { m_domainConfigurationStatus = value; } /** *

A Boolean value that specifies the current state of the domain * configuration.

*/ inline void SetDomainConfigurationStatus(DomainConfigurationStatus&& value) { m_domainConfigurationStatus = std::move(value); } /** *

A Boolean value that specifies the current state of the domain * configuration.

*/ inline DescribeDomainConfigurationResult& WithDomainConfigurationStatus(const DomainConfigurationStatus& value) { SetDomainConfigurationStatus(value); return *this;} /** *

A Boolean value that specifies the current state of the domain * configuration.

*/ inline DescribeDomainConfigurationResult& WithDomainConfigurationStatus(DomainConfigurationStatus&& value) { SetDomainConfigurationStatus(std::move(value)); return *this;} /** *

The type of service delivered by the endpoint.

*/ inline const ServiceType& GetServiceType() const{ return m_serviceType; } /** *

The type of service delivered by the endpoint.

*/ inline void SetServiceType(const ServiceType& value) { m_serviceType = value; } /** *

The type of service delivered by the endpoint.

*/ inline void SetServiceType(ServiceType&& value) { m_serviceType = std::move(value); } /** *

The type of service delivered by the endpoint.

*/ inline DescribeDomainConfigurationResult& WithServiceType(const ServiceType& value) { SetServiceType(value); return *this;} /** *

The type of service delivered by the endpoint.

*/ inline DescribeDomainConfigurationResult& WithServiceType(ServiceType&& value) { SetServiceType(std::move(value)); return *this;} /** *

The type of the domain.

*/ inline const DomainType& GetDomainType() const{ return m_domainType; } /** *

The type of the domain.

*/ inline void SetDomainType(const DomainType& value) { m_domainType = value; } /** *

The type of the domain.

*/ inline void SetDomainType(DomainType&& value) { m_domainType = std::move(value); } /** *

The type of the domain.

*/ inline DescribeDomainConfigurationResult& WithDomainType(const DomainType& value) { SetDomainType(value); return *this;} /** *

The type of the domain.

*/ inline DescribeDomainConfigurationResult& WithDomainType(DomainType&& value) { SetDomainType(std::move(value)); return *this;} /** *

The date and time the domain configuration's status was last changed.

*/ inline const Aws::Utils::DateTime& GetLastStatusChangeDate() const{ return m_lastStatusChangeDate; } /** *

The date and time the domain configuration's status was last changed.

*/ inline void SetLastStatusChangeDate(const Aws::Utils::DateTime& value) { m_lastStatusChangeDate = value; } /** *

The date and time the domain configuration's status was last changed.

*/ inline void SetLastStatusChangeDate(Aws::Utils::DateTime&& value) { m_lastStatusChangeDate = std::move(value); } /** *

The date and time the domain configuration's status was last changed.

*/ inline DescribeDomainConfigurationResult& WithLastStatusChangeDate(const Aws::Utils::DateTime& value) { SetLastStatusChangeDate(value); return *this;} /** *

The date and time the domain configuration's status was last changed.

*/ inline DescribeDomainConfigurationResult& WithLastStatusChangeDate(Aws::Utils::DateTime&& value) { SetLastStatusChangeDate(std::move(value)); return *this;} /** *

An object that specifies the TLS configuration for a domain.

*/ inline const TlsConfig& GetTlsConfig() const{ return m_tlsConfig; } /** *

An object that specifies the TLS configuration for a domain.

*/ inline void SetTlsConfig(const TlsConfig& value) { m_tlsConfig = value; } /** *

An object that specifies the TLS configuration for a domain.

*/ inline void SetTlsConfig(TlsConfig&& value) { m_tlsConfig = std::move(value); } /** *

An object that specifies the TLS configuration for a domain.

*/ inline DescribeDomainConfigurationResult& WithTlsConfig(const TlsConfig& value) { SetTlsConfig(value); return *this;} /** *

An object that specifies the TLS configuration for a domain.

*/ inline DescribeDomainConfigurationResult& WithTlsConfig(TlsConfig&& value) { SetTlsConfig(std::move(value)); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline DescribeDomainConfigurationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline DescribeDomainConfigurationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline DescribeDomainConfigurationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_domainConfigurationName; Aws::String m_domainConfigurationArn; Aws::String m_domainName; Aws::Vector m_serverCertificates; AuthorizerConfig m_authorizerConfig; DomainConfigurationStatus m_domainConfigurationStatus; ServiceType m_serviceType; DomainType m_domainType; Aws::Utils::DateTime m_lastStatusChangeDate; TlsConfig m_tlsConfig; Aws::String m_requestId; }; } // namespace Model } // namespace IoT } // namespace Aws