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

A complex type that contains information that's specific to the namespace * type.

See Also:

AWS * API Reference

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

A complex type that contains the ID for the Route 53 hosted zone that Cloud * Map creates when you create a namespace.

*/ inline const DnsProperties& GetDnsProperties() const{ return m_dnsProperties; } /** *

A complex type that contains the ID for the Route 53 hosted zone that Cloud * Map creates when you create a namespace.

*/ inline bool DnsPropertiesHasBeenSet() const { return m_dnsPropertiesHasBeenSet; } /** *

A complex type that contains the ID for the Route 53 hosted zone that Cloud * Map creates when you create a namespace.

*/ inline void SetDnsProperties(const DnsProperties& value) { m_dnsPropertiesHasBeenSet = true; m_dnsProperties = value; } /** *

A complex type that contains the ID for the Route 53 hosted zone that Cloud * Map creates when you create a namespace.

*/ inline void SetDnsProperties(DnsProperties&& value) { m_dnsPropertiesHasBeenSet = true; m_dnsProperties = std::move(value); } /** *

A complex type that contains the ID for the Route 53 hosted zone that Cloud * Map creates when you create a namespace.

*/ inline NamespaceProperties& WithDnsProperties(const DnsProperties& value) { SetDnsProperties(value); return *this;} /** *

A complex type that contains the ID for the Route 53 hosted zone that Cloud * Map creates when you create a namespace.

*/ inline NamespaceProperties& WithDnsProperties(DnsProperties&& value) { SetDnsProperties(std::move(value)); return *this;} /** *

A complex type that contains the name of an HTTP namespace.

*/ inline const HttpProperties& GetHttpProperties() const{ return m_httpProperties; } /** *

A complex type that contains the name of an HTTP namespace.

*/ inline bool HttpPropertiesHasBeenSet() const { return m_httpPropertiesHasBeenSet; } /** *

A complex type that contains the name of an HTTP namespace.

*/ inline void SetHttpProperties(const HttpProperties& value) { m_httpPropertiesHasBeenSet = true; m_httpProperties = value; } /** *

A complex type that contains the name of an HTTP namespace.

*/ inline void SetHttpProperties(HttpProperties&& value) { m_httpPropertiesHasBeenSet = true; m_httpProperties = std::move(value); } /** *

A complex type that contains the name of an HTTP namespace.

*/ inline NamespaceProperties& WithHttpProperties(const HttpProperties& value) { SetHttpProperties(value); return *this;} /** *

A complex type that contains the name of an HTTP namespace.

*/ inline NamespaceProperties& WithHttpProperties(HttpProperties&& value) { SetHttpProperties(std::move(value)); return *this;} private: DnsProperties m_dnsProperties; bool m_dnsPropertiesHasBeenSet = false; HttpProperties m_httpProperties; bool m_httpPropertiesHasBeenSet = false; }; } // namespace Model } // namespace ServiceDiscovery } // namespace Aws