/** * 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 the ID for the Route 53 hosted zone that Cloud * Map creates when you create a namespace.

See Also:

AWS * API Reference

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

The ID for the Route 53 hosted zone that Cloud Map creates when you create a * namespace.

*/ inline const Aws::String& GetHostedZoneId() const{ return m_hostedZoneId; } /** *

The ID for the Route 53 hosted zone that Cloud Map creates when you create a * namespace.

*/ inline bool HostedZoneIdHasBeenSet() const { return m_hostedZoneIdHasBeenSet; } /** *

The ID for the Route 53 hosted zone that Cloud Map creates when you create a * namespace.

*/ inline void SetHostedZoneId(const Aws::String& value) { m_hostedZoneIdHasBeenSet = true; m_hostedZoneId = value; } /** *

The ID for the Route 53 hosted zone that Cloud Map creates when you create a * namespace.

*/ inline void SetHostedZoneId(Aws::String&& value) { m_hostedZoneIdHasBeenSet = true; m_hostedZoneId = std::move(value); } /** *

The ID for the Route 53 hosted zone that Cloud Map creates when you create a * namespace.

*/ inline void SetHostedZoneId(const char* value) { m_hostedZoneIdHasBeenSet = true; m_hostedZoneId.assign(value); } /** *

The ID for the Route 53 hosted zone that Cloud Map creates when you create a * namespace.

*/ inline DnsProperties& WithHostedZoneId(const Aws::String& value) { SetHostedZoneId(value); return *this;} /** *

The ID for the Route 53 hosted zone that Cloud Map creates when you create a * namespace.

*/ inline DnsProperties& WithHostedZoneId(Aws::String&& value) { SetHostedZoneId(std::move(value)); return *this;} /** *

The ID for the Route 53 hosted zone that Cloud Map creates when you create a * namespace.

*/ inline DnsProperties& WithHostedZoneId(const char* value) { SetHostedZoneId(value); return *this;} /** *

Start of Authority (SOA) record for the hosted zone.

*/ inline const SOA& GetSOA() const{ return m_sOA; } /** *

Start of Authority (SOA) record for the hosted zone.

*/ inline bool SOAHasBeenSet() const { return m_sOAHasBeenSet; } /** *

Start of Authority (SOA) record for the hosted zone.

*/ inline void SetSOA(const SOA& value) { m_sOAHasBeenSet = true; m_sOA = value; } /** *

Start of Authority (SOA) record for the hosted zone.

*/ inline void SetSOA(SOA&& value) { m_sOAHasBeenSet = true; m_sOA = std::move(value); } /** *

Start of Authority (SOA) record for the hosted zone.

*/ inline DnsProperties& WithSOA(const SOA& value) { SetSOA(value); return *this;} /** *

Start of Authority (SOA) record for the hosted zone.

*/ inline DnsProperties& WithSOA(SOA&& value) { SetSOA(std::move(value)); return *this;} private: Aws::String m_hostedZoneId; bool m_hostedZoneIdHasBeenSet = false; SOA m_sOA; bool m_sOAHasBeenSet = false; }; } // namespace Model } // namespace ServiceDiscovery } // namespace Aws