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/AWSString.h> 9 #include <aws/servicediscovery/model/SOA.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 the ID for the Route 53 hosted zone that Cloud 29 * Map creates when you create a namespace.</p><p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DnsProperties">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_SERVICEDISCOVERY_API DnsProperties 34 { 35 public: 36 DnsProperties(); 37 DnsProperties(Aws::Utils::Json::JsonView jsonValue); 38 DnsProperties& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>The ID for the Route 53 hosted zone that Cloud Map creates when you create a 44 * namespace.</p> 45 */ GetHostedZoneId()46 inline const Aws::String& GetHostedZoneId() const{ return m_hostedZoneId; } 47 48 /** 49 * <p>The ID for the Route 53 hosted zone that Cloud Map creates when you create a 50 * namespace.</p> 51 */ HostedZoneIdHasBeenSet()52 inline bool HostedZoneIdHasBeenSet() const { return m_hostedZoneIdHasBeenSet; } 53 54 /** 55 * <p>The ID for the Route 53 hosted zone that Cloud Map creates when you create a 56 * namespace.</p> 57 */ SetHostedZoneId(const Aws::String & value)58 inline void SetHostedZoneId(const Aws::String& value) { m_hostedZoneIdHasBeenSet = true; m_hostedZoneId = value; } 59 60 /** 61 * <p>The ID for the Route 53 hosted zone that Cloud Map creates when you create a 62 * namespace.</p> 63 */ SetHostedZoneId(Aws::String && value)64 inline void SetHostedZoneId(Aws::String&& value) { m_hostedZoneIdHasBeenSet = true; m_hostedZoneId = std::move(value); } 65 66 /** 67 * <p>The ID for the Route 53 hosted zone that Cloud Map creates when you create a 68 * namespace.</p> 69 */ SetHostedZoneId(const char * value)70 inline void SetHostedZoneId(const char* value) { m_hostedZoneIdHasBeenSet = true; m_hostedZoneId.assign(value); } 71 72 /** 73 * <p>The ID for the Route 53 hosted zone that Cloud Map creates when you create a 74 * namespace.</p> 75 */ WithHostedZoneId(const Aws::String & value)76 inline DnsProperties& WithHostedZoneId(const Aws::String& value) { SetHostedZoneId(value); return *this;} 77 78 /** 79 * <p>The ID for the Route 53 hosted zone that Cloud Map creates when you create a 80 * namespace.</p> 81 */ WithHostedZoneId(Aws::String && value)82 inline DnsProperties& WithHostedZoneId(Aws::String&& value) { SetHostedZoneId(std::move(value)); return *this;} 83 84 /** 85 * <p>The ID for the Route 53 hosted zone that Cloud Map creates when you create a 86 * namespace.</p> 87 */ WithHostedZoneId(const char * value)88 inline DnsProperties& WithHostedZoneId(const char* value) { SetHostedZoneId(value); return *this;} 89 90 91 /** 92 * <p>Start of Authority (SOA) record for the hosted zone.</p> 93 */ GetSOA()94 inline const SOA& GetSOA() const{ return m_sOA; } 95 96 /** 97 * <p>Start of Authority (SOA) record for the hosted zone.</p> 98 */ SOAHasBeenSet()99 inline bool SOAHasBeenSet() const { return m_sOAHasBeenSet; } 100 101 /** 102 * <p>Start of Authority (SOA) record for the hosted zone.</p> 103 */ SetSOA(const SOA & value)104 inline void SetSOA(const SOA& value) { m_sOAHasBeenSet = true; m_sOA = value; } 105 106 /** 107 * <p>Start of Authority (SOA) record for the hosted zone.</p> 108 */ SetSOA(SOA && value)109 inline void SetSOA(SOA&& value) { m_sOAHasBeenSet = true; m_sOA = std::move(value); } 110 111 /** 112 * <p>Start of Authority (SOA) record for the hosted zone.</p> 113 */ WithSOA(const SOA & value)114 inline DnsProperties& WithSOA(const SOA& value) { SetSOA(value); return *this;} 115 116 /** 117 * <p>Start of Authority (SOA) record for the hosted zone.</p> 118 */ WithSOA(SOA && value)119 inline DnsProperties& WithSOA(SOA&& value) { SetSOA(std::move(value)); return *this;} 120 121 private: 122 123 Aws::String m_hostedZoneId; 124 bool m_hostedZoneIdHasBeenSet; 125 126 SOA m_sOA; 127 bool m_sOAHasBeenSet; 128 }; 129 130 } // namespace Model 131 } // namespace ServiceDiscovery 132 } // namespace Aws 133