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

DNS properties for the public DNS namespace.

See Also:

AWS * API Reference

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

Start of Authority (SOA) record for the hosted zone for the public DNS * namespace.

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

Start of Authority (SOA) record for the hosted zone for the public DNS * namespace.

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

Start of Authority (SOA) record for the hosted zone for the public DNS * namespace.

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

Start of Authority (SOA) record for the hosted zone for the public DNS * namespace.

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

Start of Authority (SOA) record for the hosted zone for the public DNS * namespace.

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

Start of Authority (SOA) record for the hosted zone for the public DNS * namespace.

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