AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
VpcEndpointConnection.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/ec2/EC2_EXPORTS.h>
12#include <aws/ec2/model/DnsEntry.h>
13#include <aws/ec2/model/IpAddressType.h>
14#include <aws/ec2/model/State.h>
15#include <aws/ec2/model/Tag.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Utils {
21namespace Xml {
22class XmlNode;
23} // namespace Xml
24} // namespace Utils
25namespace EC2 {
26namespace Model {
27
35 public:
36 AWS_EC2_API VpcEndpointConnection() = default;
39
40 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
41 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
42
44
47 inline const Aws::String& GetServiceId() const { return m_serviceId; }
48 inline bool ServiceIdHasBeenSet() const { return m_serviceIdHasBeenSet; }
49 template <typename ServiceIdT = Aws::String>
50 void SetServiceId(ServiceIdT&& value) {
51 m_serviceIdHasBeenSet = true;
52 m_serviceId = std::forward<ServiceIdT>(value);
53 }
54 template <typename ServiceIdT = Aws::String>
55 VpcEndpointConnection& WithServiceId(ServiceIdT&& value) {
56 SetServiceId(std::forward<ServiceIdT>(value));
57 return *this;
58 }
60
62
65 inline const Aws::String& GetVpcEndpointId() const { return m_vpcEndpointId; }
66 inline bool VpcEndpointIdHasBeenSet() const { return m_vpcEndpointIdHasBeenSet; }
67 template <typename VpcEndpointIdT = Aws::String>
68 void SetVpcEndpointId(VpcEndpointIdT&& value) {
69 m_vpcEndpointIdHasBeenSet = true;
70 m_vpcEndpointId = std::forward<VpcEndpointIdT>(value);
71 }
72 template <typename VpcEndpointIdT = Aws::String>
73 VpcEndpointConnection& WithVpcEndpointId(VpcEndpointIdT&& value) {
74 SetVpcEndpointId(std::forward<VpcEndpointIdT>(value));
75 return *this;
76 }
78
80
83 inline const Aws::String& GetVpcEndpointOwner() const { return m_vpcEndpointOwner; }
84 inline bool VpcEndpointOwnerHasBeenSet() const { return m_vpcEndpointOwnerHasBeenSet; }
85 template <typename VpcEndpointOwnerT = Aws::String>
86 void SetVpcEndpointOwner(VpcEndpointOwnerT&& value) {
87 m_vpcEndpointOwnerHasBeenSet = true;
88 m_vpcEndpointOwner = std::forward<VpcEndpointOwnerT>(value);
89 }
90 template <typename VpcEndpointOwnerT = Aws::String>
91 VpcEndpointConnection& WithVpcEndpointOwner(VpcEndpointOwnerT&& value) {
92 SetVpcEndpointOwner(std::forward<VpcEndpointOwnerT>(value));
93 return *this;
94 }
96
98
101 inline State GetVpcEndpointState() const { return m_vpcEndpointState; }
102 inline bool VpcEndpointStateHasBeenSet() const { return m_vpcEndpointStateHasBeenSet; }
103 inline void SetVpcEndpointState(State value) {
104 m_vpcEndpointStateHasBeenSet = true;
105 m_vpcEndpointState = value;
106 }
108 SetVpcEndpointState(value);
109 return *this;
110 }
112
114
117 inline const Aws::Utils::DateTime& GetCreationTimestamp() const { return m_creationTimestamp; }
118 inline bool CreationTimestampHasBeenSet() const { return m_creationTimestampHasBeenSet; }
119 template <typename CreationTimestampT = Aws::Utils::DateTime>
120 void SetCreationTimestamp(CreationTimestampT&& value) {
121 m_creationTimestampHasBeenSet = true;
122 m_creationTimestamp = std::forward<CreationTimestampT>(value);
123 }
124 template <typename CreationTimestampT = Aws::Utils::DateTime>
125 VpcEndpointConnection& WithCreationTimestamp(CreationTimestampT&& value) {
126 SetCreationTimestamp(std::forward<CreationTimestampT>(value));
127 return *this;
128 }
130
132
135 inline const Aws::Vector<DnsEntry>& GetDnsEntries() const { return m_dnsEntries; }
136 inline bool DnsEntriesHasBeenSet() const { return m_dnsEntriesHasBeenSet; }
137 template <typename DnsEntriesT = Aws::Vector<DnsEntry>>
138 void SetDnsEntries(DnsEntriesT&& value) {
139 m_dnsEntriesHasBeenSet = true;
140 m_dnsEntries = std::forward<DnsEntriesT>(value);
141 }
142 template <typename DnsEntriesT = Aws::Vector<DnsEntry>>
143 VpcEndpointConnection& WithDnsEntries(DnsEntriesT&& value) {
144 SetDnsEntries(std::forward<DnsEntriesT>(value));
145 return *this;
146 }
147 template <typename DnsEntriesT = DnsEntry>
148 VpcEndpointConnection& AddDnsEntries(DnsEntriesT&& value) {
149 m_dnsEntriesHasBeenSet = true;
150 m_dnsEntries.emplace_back(std::forward<DnsEntriesT>(value));
151 return *this;
152 }
154
156
160 inline const Aws::Vector<Aws::String>& GetNetworkLoadBalancerArns() const { return m_networkLoadBalancerArns; }
161 inline bool NetworkLoadBalancerArnsHasBeenSet() const { return m_networkLoadBalancerArnsHasBeenSet; }
162 template <typename NetworkLoadBalancerArnsT = Aws::Vector<Aws::String>>
163 void SetNetworkLoadBalancerArns(NetworkLoadBalancerArnsT&& value) {
164 m_networkLoadBalancerArnsHasBeenSet = true;
165 m_networkLoadBalancerArns = std::forward<NetworkLoadBalancerArnsT>(value);
166 }
167 template <typename NetworkLoadBalancerArnsT = Aws::Vector<Aws::String>>
168 VpcEndpointConnection& WithNetworkLoadBalancerArns(NetworkLoadBalancerArnsT&& value) {
169 SetNetworkLoadBalancerArns(std::forward<NetworkLoadBalancerArnsT>(value));
170 return *this;
171 }
172 template <typename NetworkLoadBalancerArnsT = Aws::String>
173 VpcEndpointConnection& AddNetworkLoadBalancerArns(NetworkLoadBalancerArnsT&& value) {
174 m_networkLoadBalancerArnsHasBeenSet = true;
175 m_networkLoadBalancerArns.emplace_back(std::forward<NetworkLoadBalancerArnsT>(value));
176 return *this;
177 }
179
181
185 inline const Aws::Vector<Aws::String>& GetGatewayLoadBalancerArns() const { return m_gatewayLoadBalancerArns; }
186 inline bool GatewayLoadBalancerArnsHasBeenSet() const { return m_gatewayLoadBalancerArnsHasBeenSet; }
187 template <typename GatewayLoadBalancerArnsT = Aws::Vector<Aws::String>>
188 void SetGatewayLoadBalancerArns(GatewayLoadBalancerArnsT&& value) {
189 m_gatewayLoadBalancerArnsHasBeenSet = true;
190 m_gatewayLoadBalancerArns = std::forward<GatewayLoadBalancerArnsT>(value);
191 }
192 template <typename GatewayLoadBalancerArnsT = Aws::Vector<Aws::String>>
193 VpcEndpointConnection& WithGatewayLoadBalancerArns(GatewayLoadBalancerArnsT&& value) {
194 SetGatewayLoadBalancerArns(std::forward<GatewayLoadBalancerArnsT>(value));
195 return *this;
196 }
197 template <typename GatewayLoadBalancerArnsT = Aws::String>
198 VpcEndpointConnection& AddGatewayLoadBalancerArns(GatewayLoadBalancerArnsT&& value) {
199 m_gatewayLoadBalancerArnsHasBeenSet = true;
200 m_gatewayLoadBalancerArns.emplace_back(std::forward<GatewayLoadBalancerArnsT>(value));
201 return *this;
202 }
204
206
209 inline IpAddressType GetIpAddressType() const { return m_ipAddressType; }
210 inline bool IpAddressTypeHasBeenSet() const { return m_ipAddressTypeHasBeenSet; }
211 inline void SetIpAddressType(IpAddressType value) {
212 m_ipAddressTypeHasBeenSet = true;
213 m_ipAddressType = value;
214 }
216 SetIpAddressType(value);
217 return *this;
218 }
220
222
225 inline const Aws::String& GetVpcEndpointConnectionId() const { return m_vpcEndpointConnectionId; }
226 inline bool VpcEndpointConnectionIdHasBeenSet() const { return m_vpcEndpointConnectionIdHasBeenSet; }
227 template <typename VpcEndpointConnectionIdT = Aws::String>
228 void SetVpcEndpointConnectionId(VpcEndpointConnectionIdT&& value) {
229 m_vpcEndpointConnectionIdHasBeenSet = true;
230 m_vpcEndpointConnectionId = std::forward<VpcEndpointConnectionIdT>(value);
231 }
232 template <typename VpcEndpointConnectionIdT = Aws::String>
233 VpcEndpointConnection& WithVpcEndpointConnectionId(VpcEndpointConnectionIdT&& value) {
234 SetVpcEndpointConnectionId(std::forward<VpcEndpointConnectionIdT>(value));
235 return *this;
236 }
238
240
243 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
244 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
245 template <typename TagsT = Aws::Vector<Tag>>
246 void SetTags(TagsT&& value) {
247 m_tagsHasBeenSet = true;
248 m_tags = std::forward<TagsT>(value);
249 }
250 template <typename TagsT = Aws::Vector<Tag>>
252 SetTags(std::forward<TagsT>(value));
253 return *this;
254 }
255 template <typename TagsT = Tag>
257 m_tagsHasBeenSet = true;
258 m_tags.emplace_back(std::forward<TagsT>(value));
259 return *this;
260 }
262
264
267 inline const Aws::String& GetVpcEndpointRegion() const { return m_vpcEndpointRegion; }
268 inline bool VpcEndpointRegionHasBeenSet() const { return m_vpcEndpointRegionHasBeenSet; }
269 template <typename VpcEndpointRegionT = Aws::String>
270 void SetVpcEndpointRegion(VpcEndpointRegionT&& value) {
271 m_vpcEndpointRegionHasBeenSet = true;
272 m_vpcEndpointRegion = std::forward<VpcEndpointRegionT>(value);
273 }
274 template <typename VpcEndpointRegionT = Aws::String>
275 VpcEndpointConnection& WithVpcEndpointRegion(VpcEndpointRegionT&& value) {
276 SetVpcEndpointRegion(std::forward<VpcEndpointRegionT>(value));
277 return *this;
278 }
280 private:
281 Aws::String m_serviceId;
282
283 Aws::String m_vpcEndpointId;
284
285 Aws::String m_vpcEndpointOwner;
286
287 State m_vpcEndpointState{State::NOT_SET};
288
289 Aws::Utils::DateTime m_creationTimestamp{};
290
291 Aws::Vector<DnsEntry> m_dnsEntries;
292
293 Aws::Vector<Aws::String> m_networkLoadBalancerArns;
294
295 Aws::Vector<Aws::String> m_gatewayLoadBalancerArns;
296
297 IpAddressType m_ipAddressType{IpAddressType::NOT_SET};
298
299 Aws::String m_vpcEndpointConnectionId;
300
301 Aws::Vector<Tag> m_tags;
302
303 Aws::String m_vpcEndpointRegion;
304 bool m_serviceIdHasBeenSet = false;
305 bool m_vpcEndpointIdHasBeenSet = false;
306 bool m_vpcEndpointOwnerHasBeenSet = false;
307 bool m_vpcEndpointStateHasBeenSet = false;
308 bool m_creationTimestampHasBeenSet = false;
309 bool m_dnsEntriesHasBeenSet = false;
310 bool m_networkLoadBalancerArnsHasBeenSet = false;
311 bool m_gatewayLoadBalancerArnsHasBeenSet = false;
312 bool m_ipAddressTypeHasBeenSet = false;
313 bool m_vpcEndpointConnectionIdHasBeenSet = false;
314 bool m_tagsHasBeenSet = false;
315 bool m_vpcEndpointRegionHasBeenSet = false;
316};
317
318} // namespace Model
319} // namespace EC2
320} // namespace Aws
VpcEndpointConnection & AddGatewayLoadBalancerArns(GatewayLoadBalancerArnsT &&value)
VpcEndpointConnection & WithDnsEntries(DnsEntriesT &&value)
VpcEndpointConnection & WithTags(TagsT &&value)
void SetVpcEndpointRegion(VpcEndpointRegionT &&value)
AWS_EC2_API VpcEndpointConnection & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::String & GetVpcEndpointOwner() const
void SetVpcEndpointConnectionId(VpcEndpointConnectionIdT &&value)
AWS_EC2_API VpcEndpointConnection()=default
const Aws::Vector< Tag > & GetTags() const
VpcEndpointConnection & AddTags(TagsT &&value)
VpcEndpointConnection & WithVpcEndpointConnectionId(VpcEndpointConnectionIdT &&value)
VpcEndpointConnection & AddNetworkLoadBalancerArns(NetworkLoadBalancerArnsT &&value)
VpcEndpointConnection & WithVpcEndpointId(VpcEndpointIdT &&value)
void SetNetworkLoadBalancerArns(NetworkLoadBalancerArnsT &&value)
const Aws::Vector< Aws::String > & GetNetworkLoadBalancerArns() const
const Aws::Vector< Aws::String > & GetGatewayLoadBalancerArns() const
VpcEndpointConnection & AddDnsEntries(DnsEntriesT &&value)
VpcEndpointConnection & WithVpcEndpointState(State value)
const Aws::String & GetVpcEndpointConnectionId() const
VpcEndpointConnection & WithServiceId(ServiceIdT &&value)
AWS_EC2_API VpcEndpointConnection(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::String & GetVpcEndpointRegion() const
VpcEndpointConnection & WithCreationTimestamp(CreationTimestampT &&value)
void SetVpcEndpointOwner(VpcEndpointOwnerT &&value)
void SetVpcEndpointId(VpcEndpointIdT &&value)
void SetCreationTimestamp(CreationTimestampT &&value)
const Aws::String & GetVpcEndpointId() const
VpcEndpointConnection & WithGatewayLoadBalancerArns(GatewayLoadBalancerArnsT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
VpcEndpointConnection & WithVpcEndpointOwner(VpcEndpointOwnerT &&value)
void SetGatewayLoadBalancerArns(GatewayLoadBalancerArnsT &&value)
VpcEndpointConnection & WithIpAddressType(IpAddressType value)
VpcEndpointConnection & WithVpcEndpointRegion(VpcEndpointRegionT &&value)
VpcEndpointConnection & WithNetworkLoadBalancerArns(NetworkLoadBalancerArnsT &&value)
const Aws::Vector< DnsEntry > & GetDnsEntries() const
const Aws::Utils::DateTime & GetCreationTimestamp() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
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