AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
DnsOptionsSpecification.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 DnsOptionsSpecification() = default;
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
62 inline bool GetPrivateDnsOnlyForInboundResolverEndpoint() const { return m_privateDnsOnlyForInboundResolverEndpoint; }
63 inline bool PrivateDnsOnlyForInboundResolverEndpointHasBeenSet() const { return m_privateDnsOnlyForInboundResolverEndpointHasBeenSet; }
65 m_privateDnsOnlyForInboundResolverEndpointHasBeenSet = true;
66 m_privateDnsOnlyForInboundResolverEndpoint = value;
67 }
70 return *this;
71 }
73
75
92 inline const Aws::String& GetPrivateDnsPreference() const { return m_privateDnsPreference; }
93 inline bool PrivateDnsPreferenceHasBeenSet() const { return m_privateDnsPreferenceHasBeenSet; }
94 template <typename PrivateDnsPreferenceT = Aws::String>
95 void SetPrivateDnsPreference(PrivateDnsPreferenceT&& value) {
96 m_privateDnsPreferenceHasBeenSet = true;
97 m_privateDnsPreference = std::forward<PrivateDnsPreferenceT>(value);
98 }
99 template <typename PrivateDnsPreferenceT = Aws::String>
100 DnsOptionsSpecification& WithPrivateDnsPreference(PrivateDnsPreferenceT&& value) {
101 SetPrivateDnsPreference(std::forward<PrivateDnsPreferenceT>(value));
102 return *this;
103 }
105
107
113 inline const Aws::Vector<Aws::String>& GetPrivateDnsSpecifiedDomains() const { return m_privateDnsSpecifiedDomains; }
114 inline bool PrivateDnsSpecifiedDomainsHasBeenSet() const { return m_privateDnsSpecifiedDomainsHasBeenSet; }
115 template <typename PrivateDnsSpecifiedDomainsT = Aws::Vector<Aws::String>>
116 void SetPrivateDnsSpecifiedDomains(PrivateDnsSpecifiedDomainsT&& value) {
117 m_privateDnsSpecifiedDomainsHasBeenSet = true;
118 m_privateDnsSpecifiedDomains = std::forward<PrivateDnsSpecifiedDomainsT>(value);
119 }
120 template <typename PrivateDnsSpecifiedDomainsT = Aws::Vector<Aws::String>>
121 DnsOptionsSpecification& WithPrivateDnsSpecifiedDomains(PrivateDnsSpecifiedDomainsT&& value) {
122 SetPrivateDnsSpecifiedDomains(std::forward<PrivateDnsSpecifiedDomainsT>(value));
123 return *this;
124 }
125 template <typename PrivateDnsSpecifiedDomainsT = Aws::String>
126 DnsOptionsSpecification& AddPrivateDnsSpecifiedDomains(PrivateDnsSpecifiedDomainsT&& value) {
127 m_privateDnsSpecifiedDomainsHasBeenSet = true;
128 m_privateDnsSpecifiedDomains.emplace_back(std::forward<PrivateDnsSpecifiedDomainsT>(value));
129 return *this;
130 }
132 private:
133 DnsRecordIpType m_dnsRecordIpType{DnsRecordIpType::NOT_SET};
134
135 bool m_privateDnsOnlyForInboundResolverEndpoint{false};
136
137 Aws::String m_privateDnsPreference;
138
139 Aws::Vector<Aws::String> m_privateDnsSpecifiedDomains;
140 bool m_dnsRecordIpTypeHasBeenSet = false;
141 bool m_privateDnsOnlyForInboundResolverEndpointHasBeenSet = false;
142 bool m_privateDnsPreferenceHasBeenSet = false;
143 bool m_privateDnsSpecifiedDomainsHasBeenSet = false;
144};
145
146} // namespace Model
147} // namespace EC2
148} // namespace Aws
DnsOptionsSpecification & WithDnsRecordIpType(DnsRecordIpType value)
const Aws::Vector< Aws::String > & GetPrivateDnsSpecifiedDomains() const
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
DnsOptionsSpecification & WithPrivateDnsOnlyForInboundResolverEndpoint(bool value)
void SetPrivateDnsSpecifiedDomains(PrivateDnsSpecifiedDomainsT &&value)
DnsOptionsSpecification & WithPrivateDnsSpecifiedDomains(PrivateDnsSpecifiedDomainsT &&value)
AWS_EC2_API DnsOptionsSpecification(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_EC2_API DnsOptionsSpecification & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_EC2_API DnsOptionsSpecification()=default
const Aws::String & GetPrivateDnsPreference() const
void SetPrivateDnsPreference(PrivateDnsPreferenceT &&value)
DnsOptionsSpecification & WithPrivateDnsPreference(PrivateDnsPreferenceT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
DnsOptionsSpecification & AddPrivateDnsSpecifiedDomains(PrivateDnsSpecifiedDomainsT &&value)
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