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/core/utils/memory/stl/AWSVector.h> 9 #include <aws/servicediscovery/model/DnsRecord.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Json 17 { 18 class JsonValue; 19 class JsonView; 20 } // namespace Json 21 } // namespace Utils 22 namespace ServiceDiscovery 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>A complex type that contains information about changes to the Route 53 DNS 29 * records that Cloud Map creates when you register an instance.</p><p><h3>See 30 * Also:</h3> <a 31 * href="http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DnsConfigChange">AWS 32 * API Reference</a></p> 33 */ 34 class AWS_SERVICEDISCOVERY_API DnsConfigChange 35 { 36 public: 37 DnsConfigChange(); 38 DnsConfigChange(Aws::Utils::Json::JsonView jsonValue); 39 DnsConfigChange& operator=(Aws::Utils::Json::JsonView jsonValue); 40 Aws::Utils::Json::JsonValue Jsonize() const; 41 42 43 /** 44 * <p>An array that contains one <code>DnsRecord</code> object for each Route 53 45 * record that you want Cloud Map to create when you register an instance.</p> 46 */ GetDnsRecords()47 inline const Aws::Vector<DnsRecord>& GetDnsRecords() const{ return m_dnsRecords; } 48 49 /** 50 * <p>An array that contains one <code>DnsRecord</code> object for each Route 53 51 * record that you want Cloud Map to create when you register an instance.</p> 52 */ DnsRecordsHasBeenSet()53 inline bool DnsRecordsHasBeenSet() const { return m_dnsRecordsHasBeenSet; } 54 55 /** 56 * <p>An array that contains one <code>DnsRecord</code> object for each Route 53 57 * record that you want Cloud Map to create when you register an instance.</p> 58 */ SetDnsRecords(const Aws::Vector<DnsRecord> & value)59 inline void SetDnsRecords(const Aws::Vector<DnsRecord>& value) { m_dnsRecordsHasBeenSet = true; m_dnsRecords = value; } 60 61 /** 62 * <p>An array that contains one <code>DnsRecord</code> object for each Route 53 63 * record that you want Cloud Map to create when you register an instance.</p> 64 */ SetDnsRecords(Aws::Vector<DnsRecord> && value)65 inline void SetDnsRecords(Aws::Vector<DnsRecord>&& value) { m_dnsRecordsHasBeenSet = true; m_dnsRecords = std::move(value); } 66 67 /** 68 * <p>An array that contains one <code>DnsRecord</code> object for each Route 53 69 * record that you want Cloud Map to create when you register an instance.</p> 70 */ WithDnsRecords(const Aws::Vector<DnsRecord> & value)71 inline DnsConfigChange& WithDnsRecords(const Aws::Vector<DnsRecord>& value) { SetDnsRecords(value); return *this;} 72 73 /** 74 * <p>An array that contains one <code>DnsRecord</code> object for each Route 53 75 * record that you want Cloud Map to create when you register an instance.</p> 76 */ WithDnsRecords(Aws::Vector<DnsRecord> && value)77 inline DnsConfigChange& WithDnsRecords(Aws::Vector<DnsRecord>&& value) { SetDnsRecords(std::move(value)); return *this;} 78 79 /** 80 * <p>An array that contains one <code>DnsRecord</code> object for each Route 53 81 * record that you want Cloud Map to create when you register an instance.</p> 82 */ AddDnsRecords(const DnsRecord & value)83 inline DnsConfigChange& AddDnsRecords(const DnsRecord& value) { m_dnsRecordsHasBeenSet = true; m_dnsRecords.push_back(value); return *this; } 84 85 /** 86 * <p>An array that contains one <code>DnsRecord</code> object for each Route 53 87 * record that you want Cloud Map to create when you register an instance.</p> 88 */ AddDnsRecords(DnsRecord && value)89 inline DnsConfigChange& AddDnsRecords(DnsRecord&& value) { m_dnsRecordsHasBeenSet = true; m_dnsRecords.push_back(std::move(value)); return *this; } 90 91 private: 92 93 Aws::Vector<DnsRecord> m_dnsRecords; 94 bool m_dnsRecordsHasBeenSet; 95 }; 96 97 } // namespace Model 98 } // namespace ServiceDiscovery 99 } // namespace Aws 100