1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/servicediscovery/ServiceDiscovery_EXPORTS.h> 8 #include <aws/servicediscovery/model/SOA.h> 9 #include <utility> 10 11 namespace Aws 12 { 13 namespace Utils 14 { 15 namespace Json 16 { 17 class JsonValue; 18 class JsonView; 19 } // namespace Json 20 } // namespace Utils 21 namespace ServiceDiscovery 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>DNS properties for the public DNS namespace.</p><p><h3>See Also:</h3> <a 28 * href="http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/PublicDnsPropertiesMutable">AWS 29 * API Reference</a></p> 30 */ 31 class AWS_SERVICEDISCOVERY_API PublicDnsPropertiesMutable 32 { 33 public: 34 PublicDnsPropertiesMutable(); 35 PublicDnsPropertiesMutable(Aws::Utils::Json::JsonView jsonValue); 36 PublicDnsPropertiesMutable& operator=(Aws::Utils::Json::JsonView jsonValue); 37 Aws::Utils::Json::JsonValue Jsonize() const; 38 39 40 /** 41 * <p>Start of Authority (SOA) record for the hosted zone for the public DNS 42 * namespace.</p> 43 */ GetSOA()44 inline const SOA& GetSOA() const{ return m_sOA; } 45 46 /** 47 * <p>Start of Authority (SOA) record for the hosted zone for the public DNS 48 * namespace.</p> 49 */ SOAHasBeenSet()50 inline bool SOAHasBeenSet() const { return m_sOAHasBeenSet; } 51 52 /** 53 * <p>Start of Authority (SOA) record for the hosted zone for the public DNS 54 * namespace.</p> 55 */ SetSOA(const SOA & value)56 inline void SetSOA(const SOA& value) { m_sOAHasBeenSet = true; m_sOA = value; } 57 58 /** 59 * <p>Start of Authority (SOA) record for the hosted zone for the public DNS 60 * namespace.</p> 61 */ SetSOA(SOA && value)62 inline void SetSOA(SOA&& value) { m_sOAHasBeenSet = true; m_sOA = std::move(value); } 63 64 /** 65 * <p>Start of Authority (SOA) record for the hosted zone for the public DNS 66 * namespace.</p> 67 */ WithSOA(const SOA & value)68 inline PublicDnsPropertiesMutable& WithSOA(const SOA& value) { SetSOA(value); return *this;} 69 70 /** 71 * <p>Start of Authority (SOA) record for the hosted zone for the public DNS 72 * namespace.</p> 73 */ WithSOA(SOA && value)74 inline PublicDnsPropertiesMutable& WithSOA(SOA&& value) { SetSOA(std::move(value)); return *this;} 75 76 private: 77 78 SOA m_sOA; 79 bool m_sOAHasBeenSet; 80 }; 81 82 } // namespace Model 83 } // namespace ServiceDiscovery 84 } // namespace Aws 85