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/SOAChange.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>Updated DNS properties for the private DNS namespace.</p><p><h3>See 28 * Also:</h3> <a 29 * href="http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/PrivateDnsPropertiesMutableChange">AWS 30 * API Reference</a></p> 31 */ 32 class AWS_SERVICEDISCOVERY_API PrivateDnsPropertiesMutableChange 33 { 34 public: 35 PrivateDnsPropertiesMutableChange(); 36 PrivateDnsPropertiesMutableChange(Aws::Utils::Json::JsonView jsonValue); 37 PrivateDnsPropertiesMutableChange& operator=(Aws::Utils::Json::JsonView jsonValue); 38 Aws::Utils::Json::JsonValue Jsonize() const; 39 40 41 /** 42 * <p>Updated fields for the Start of Authority (SOA) record for the hosted zone 43 * for the private DNS namespace.</p> 44 */ GetSOA()45 inline const SOAChange& GetSOA() const{ return m_sOA; } 46 47 /** 48 * <p>Updated fields for the Start of Authority (SOA) record for the hosted zone 49 * for the private DNS namespace.</p> 50 */ SOAHasBeenSet()51 inline bool SOAHasBeenSet() const { return m_sOAHasBeenSet; } 52 53 /** 54 * <p>Updated fields for the Start of Authority (SOA) record for the hosted zone 55 * for the private DNS namespace.</p> 56 */ SetSOA(const SOAChange & value)57 inline void SetSOA(const SOAChange& value) { m_sOAHasBeenSet = true; m_sOA = value; } 58 59 /** 60 * <p>Updated fields for the Start of Authority (SOA) record for the hosted zone 61 * for the private DNS namespace.</p> 62 */ SetSOA(SOAChange && value)63 inline void SetSOA(SOAChange&& value) { m_sOAHasBeenSet = true; m_sOA = std::move(value); } 64 65 /** 66 * <p>Updated fields for the Start of Authority (SOA) record for the hosted zone 67 * for the private DNS namespace.</p> 68 */ WithSOA(const SOAChange & value)69 inline PrivateDnsPropertiesMutableChange& WithSOA(const SOAChange& value) { SetSOA(value); return *this;} 70 71 /** 72 * <p>Updated fields for the Start of Authority (SOA) record for the hosted zone 73 * for the private DNS namespace.</p> 74 */ WithSOA(SOAChange && value)75 inline PrivateDnsPropertiesMutableChange& WithSOA(SOAChange&& value) { SetSOA(std::move(value)); return *this;} 76 77 private: 78 79 SOAChange m_sOA; 80 bool m_sOAHasBeenSet; 81 }; 82 83 } // namespace Model 84 } // namespace ServiceDiscovery 85 } // namespace Aws 86