AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
DnsConfig.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/servicediscovery/ServiceDiscovery_EXPORTS.h>
9#include <aws/servicediscovery/model/DnsRecord.h>
10#include <aws/servicediscovery/model/RoutingPolicy.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace ServiceDiscovery {
22namespace Model {
23
31class DnsConfig {
32 public:
33 AWS_SERVICEDISCOVERY_API DnsConfig() = default;
34 AWS_SERVICEDISCOVERY_API DnsConfig(Aws::Utils::Json::JsonView jsonValue);
35 AWS_SERVICEDISCOVERY_API DnsConfig& operator=(Aws::Utils::Json::JsonView jsonValue);
36 AWS_SERVICEDISCOVERY_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
72 inline RoutingPolicy GetRoutingPolicy() const { return m_routingPolicy; }
73 inline bool RoutingPolicyHasBeenSet() const { return m_routingPolicyHasBeenSet; }
74 inline void SetRoutingPolicy(RoutingPolicy value) {
75 m_routingPolicyHasBeenSet = true;
76 m_routingPolicy = value;
77 }
79 SetRoutingPolicy(value);
80 return *this;
81 }
83
85
93 inline const Aws::Vector<DnsRecord>& GetDnsRecords() const { return m_dnsRecords; }
94 inline bool DnsRecordsHasBeenSet() const { return m_dnsRecordsHasBeenSet; }
95 template <typename DnsRecordsT = Aws::Vector<DnsRecord>>
96 void SetDnsRecords(DnsRecordsT&& value) {
97 m_dnsRecordsHasBeenSet = true;
98 m_dnsRecords = std::forward<DnsRecordsT>(value);
99 }
100 template <typename DnsRecordsT = Aws::Vector<DnsRecord>>
101 DnsConfig& WithDnsRecords(DnsRecordsT&& value) {
102 SetDnsRecords(std::forward<DnsRecordsT>(value));
103 return *this;
104 }
105 template <typename DnsRecordsT = DnsRecord>
106 DnsConfig& AddDnsRecords(DnsRecordsT&& value) {
107 m_dnsRecordsHasBeenSet = true;
108 m_dnsRecords.emplace_back(std::forward<DnsRecordsT>(value));
109 return *this;
110 }
112 private:
113 RoutingPolicy m_routingPolicy{RoutingPolicy::NOT_SET};
114
115 Aws::Vector<DnsRecord> m_dnsRecords;
116 bool m_routingPolicyHasBeenSet = false;
117 bool m_dnsRecordsHasBeenSet = false;
118};
119
120} // namespace Model
121} // namespace ServiceDiscovery
122} // namespace Aws
AWS_SERVICEDISCOVERY_API DnsConfig(Aws::Utils::Json::JsonView jsonValue)
DnsConfig & WithRoutingPolicy(RoutingPolicy value)
Definition DnsConfig.h:78
AWS_SERVICEDISCOVERY_API DnsConfig()=default
AWS_SERVICEDISCOVERY_API DnsConfig & operator=(Aws::Utils::Json::JsonView jsonValue)
DnsConfig & AddDnsRecords(DnsRecordsT &&value)
Definition DnsConfig.h:106
void SetRoutingPolicy(RoutingPolicy value)
Definition DnsConfig.h:74
DnsConfig & WithDnsRecords(DnsRecordsT &&value)
Definition DnsConfig.h:101
AWS_SERVICEDISCOVERY_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::Vector< DnsRecord > & GetDnsRecords() const
Definition DnsConfig.h:93
void SetDnsRecords(DnsRecordsT &&value)
Definition DnsConfig.h:96
RoutingPolicy GetRoutingPolicy() const
Definition DnsConfig.h:72
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue