AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
DnsOptions.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/ec2/EC2_EXPORTS.h>
11#include <aws/ec2/model/DnsRecordIpType.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Xml {
18class XmlNode;
19} // namespace Xml
20} // namespace Utils
21namespace EC2 {
22namespace Model {
23
30 public:
31 AWS_EC2_API DnsOptions() = default;
32 AWS_EC2_API DnsOptions(const Aws::Utils::Xml::XmlNode& xmlNode);
33 AWS_EC2_API DnsOptions& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
34
35 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
36 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
37
39
42 inline DnsRecordIpType GetDnsRecordIpType() const { return m_dnsRecordIpType; }
43 inline bool DnsRecordIpTypeHasBeenSet() const { return m_dnsRecordIpTypeHasBeenSet; }
45 m_dnsRecordIpTypeHasBeenSet = true;
46 m_dnsRecordIpType = value;
47 }
49 SetDnsRecordIpType(value);
50 return *this;
51 }
53
55
58 inline bool GetPrivateDnsOnlyForInboundResolverEndpoint() const { return m_privateDnsOnlyForInboundResolverEndpoint; }
59 inline bool PrivateDnsOnlyForInboundResolverEndpointHasBeenSet() const { return m_privateDnsOnlyForInboundResolverEndpointHasBeenSet; }
61 m_privateDnsOnlyForInboundResolverEndpointHasBeenSet = true;
62 m_privateDnsOnlyForInboundResolverEndpoint = value;
63 }
66 return *this;
67 }
69
71
88 inline const Aws::String& GetPrivateDnsPreference() const { return m_privateDnsPreference; }
89 inline bool PrivateDnsPreferenceHasBeenSet() const { return m_privateDnsPreferenceHasBeenSet; }
90 template <typename PrivateDnsPreferenceT = Aws::String>
91 void SetPrivateDnsPreference(PrivateDnsPreferenceT&& value) {
92 m_privateDnsPreferenceHasBeenSet = true;
93 m_privateDnsPreference = std::forward<PrivateDnsPreferenceT>(value);
94 }
95 template <typename PrivateDnsPreferenceT = Aws::String>
96 DnsOptions& WithPrivateDnsPreference(PrivateDnsPreferenceT&& value) {
97 SetPrivateDnsPreference(std::forward<PrivateDnsPreferenceT>(value));
98 return *this;
99 }
101
103
110 inline const Aws::Vector<Aws::String>& GetPrivateDnsSpecifiedDomains() const { return m_privateDnsSpecifiedDomains; }
111 inline bool PrivateDnsSpecifiedDomainsHasBeenSet() const { return m_privateDnsSpecifiedDomainsHasBeenSet; }
112 template <typename PrivateDnsSpecifiedDomainsT = Aws::Vector<Aws::String>>
113 void SetPrivateDnsSpecifiedDomains(PrivateDnsSpecifiedDomainsT&& value) {
114 m_privateDnsSpecifiedDomainsHasBeenSet = true;
115 m_privateDnsSpecifiedDomains = std::forward<PrivateDnsSpecifiedDomainsT>(value);
116 }
117 template <typename PrivateDnsSpecifiedDomainsT = Aws::Vector<Aws::String>>
118 DnsOptions& WithPrivateDnsSpecifiedDomains(PrivateDnsSpecifiedDomainsT&& value) {
119 SetPrivateDnsSpecifiedDomains(std::forward<PrivateDnsSpecifiedDomainsT>(value));
120 return *this;
121 }
122 template <typename PrivateDnsSpecifiedDomainsT = Aws::String>
123 DnsOptions& AddPrivateDnsSpecifiedDomains(PrivateDnsSpecifiedDomainsT&& value) {
124 m_privateDnsSpecifiedDomainsHasBeenSet = true;
125 m_privateDnsSpecifiedDomains.emplace_back(std::forward<PrivateDnsSpecifiedDomainsT>(value));
126 return *this;
127 }
129 private:
130 DnsRecordIpType m_dnsRecordIpType{DnsRecordIpType::NOT_SET};
131
132 bool m_privateDnsOnlyForInboundResolverEndpoint{false};
133
134 Aws::String m_privateDnsPreference;
135
136 Aws::Vector<Aws::String> m_privateDnsSpecifiedDomains;
137 bool m_dnsRecordIpTypeHasBeenSet = false;
138 bool m_privateDnsOnlyForInboundResolverEndpointHasBeenSet = false;
139 bool m_privateDnsPreferenceHasBeenSet = false;
140 bool m_privateDnsSpecifiedDomainsHasBeenSet = false;
141};
142
143} // namespace Model
144} // namespace EC2
145} // namespace Aws
void SetPrivateDnsSpecifiedDomains(PrivateDnsSpecifiedDomainsT &&value)
Definition DnsOptions.h:113
DnsOptions & WithDnsRecordIpType(DnsRecordIpType value)
Definition DnsOptions.h:48
AWS_EC2_API DnsOptions(const Aws::Utils::Xml::XmlNode &xmlNode)
bool DnsRecordIpTypeHasBeenSet() const
Definition DnsOptions.h:43
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
bool PrivateDnsSpecifiedDomainsHasBeenSet() const
Definition DnsOptions.h:111
const Aws::Vector< Aws::String > & GetPrivateDnsSpecifiedDomains() const
Definition DnsOptions.h:110
void SetDnsRecordIpType(DnsRecordIpType value)
Definition DnsOptions.h:44
AWS_EC2_API DnsOptions()=default
void SetPrivateDnsOnlyForInboundResolverEndpoint(bool value)
Definition DnsOptions.h:60
bool PrivateDnsOnlyForInboundResolverEndpointHasBeenSet() const
Definition DnsOptions.h:59
DnsOptions & WithPrivateDnsSpecifiedDomains(PrivateDnsSpecifiedDomainsT &&value)
Definition DnsOptions.h:118
DnsRecordIpType GetDnsRecordIpType() const
Definition DnsOptions.h:42
const Aws::String & GetPrivateDnsPreference() const
Definition DnsOptions.h:88
DnsOptions & WithPrivateDnsPreference(PrivateDnsPreferenceT &&value)
Definition DnsOptions.h:96
DnsOptions & AddPrivateDnsSpecifiedDomains(PrivateDnsSpecifiedDomainsT &&value)
Definition DnsOptions.h:123
void SetPrivateDnsPreference(PrivateDnsPreferenceT &&value)
Definition DnsOptions.h:91
bool GetPrivateDnsOnlyForInboundResolverEndpoint() const
Definition DnsOptions.h:58
bool PrivateDnsPreferenceHasBeenSet() const
Definition DnsOptions.h:89
DnsOptions & WithPrivateDnsOnlyForInboundResolverEndpoint(bool value)
Definition DnsOptions.h:64
AWS_EC2_API DnsOptions & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream