AWS SDK for C++

AWS SDK for C++ Version 1.11.783

Loading...
Searching...
No Matches
NetworkInfo.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/BandwidthWeightingType.h>
12#include <aws/ec2/model/DefaultConnectionTrackingConfiguration.h>
13#include <aws/ec2/model/EfaInfo.h>
14#include <aws/ec2/model/EnaSupport.h>
15#include <aws/ec2/model/FlexibleEnaQueuesSupport.h>
16#include <aws/ec2/model/NetworkCardInfo.h>
17
18#include <utility>
19
20namespace Aws {
21namespace Utils {
22namespace Xml {
23class XmlNode;
24} // namespace Xml
25} // namespace Utils
26namespace EC2 {
27namespace Model {
28
36 public:
37 AWS_EC2_API NetworkInfo() = default;
38 AWS_EC2_API NetworkInfo(const Aws::Utils::Xml::XmlNode& xmlNode);
39 AWS_EC2_API NetworkInfo& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
40
41 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
42 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
43
45
48 inline const Aws::String& GetNetworkPerformance() const { return m_networkPerformance; }
49 inline bool NetworkPerformanceHasBeenSet() const { return m_networkPerformanceHasBeenSet; }
50 template <typename NetworkPerformanceT = Aws::String>
51 void SetNetworkPerformance(NetworkPerformanceT&& value) {
52 m_networkPerformanceHasBeenSet = true;
53 m_networkPerformance = std::forward<NetworkPerformanceT>(value);
54 }
55 template <typename NetworkPerformanceT = Aws::String>
56 NetworkInfo& WithNetworkPerformance(NetworkPerformanceT&& value) {
57 SetNetworkPerformance(std::forward<NetworkPerformanceT>(value));
58 return *this;
59 }
61
63
66 inline int GetMaximumNetworkInterfaces() const { return m_maximumNetworkInterfaces; }
67 inline bool MaximumNetworkInterfacesHasBeenSet() const { return m_maximumNetworkInterfacesHasBeenSet; }
68 inline void SetMaximumNetworkInterfaces(int value) {
69 m_maximumNetworkInterfacesHasBeenSet = true;
70 m_maximumNetworkInterfaces = value;
71 }
74 return *this;
75 }
77
79
83 inline int GetMaximumNetworkCards() const { return m_maximumNetworkCards; }
84 inline bool MaximumNetworkCardsHasBeenSet() const { return m_maximumNetworkCardsHasBeenSet; }
85 inline void SetMaximumNetworkCards(int value) {
86 m_maximumNetworkCardsHasBeenSet = true;
87 m_maximumNetworkCards = value;
88 }
91 return *this;
92 }
94
96
99 inline int GetDefaultNetworkCardIndex() const { return m_defaultNetworkCardIndex; }
100 inline bool DefaultNetworkCardIndexHasBeenSet() const { return m_defaultNetworkCardIndexHasBeenSet; }
101 inline void SetDefaultNetworkCardIndex(int value) {
102 m_defaultNetworkCardIndexHasBeenSet = true;
103 m_defaultNetworkCardIndex = value;
104 }
107 return *this;
108 }
110
112
115 inline const Aws::Vector<NetworkCardInfo>& GetNetworkCards() const { return m_networkCards; }
116 inline bool NetworkCardsHasBeenSet() const { return m_networkCardsHasBeenSet; }
117 template <typename NetworkCardsT = Aws::Vector<NetworkCardInfo>>
118 void SetNetworkCards(NetworkCardsT&& value) {
119 m_networkCardsHasBeenSet = true;
120 m_networkCards = std::forward<NetworkCardsT>(value);
121 }
122 template <typename NetworkCardsT = Aws::Vector<NetworkCardInfo>>
123 NetworkInfo& WithNetworkCards(NetworkCardsT&& value) {
124 SetNetworkCards(std::forward<NetworkCardsT>(value));
125 return *this;
126 }
127 template <typename NetworkCardsT = NetworkCardInfo>
128 NetworkInfo& AddNetworkCards(NetworkCardsT&& value) {
129 m_networkCardsHasBeenSet = true;
130 m_networkCards.emplace_back(std::forward<NetworkCardsT>(value));
131 return *this;
132 }
134
136
139 inline int GetIpv4AddressesPerInterface() const { return m_ipv4AddressesPerInterface; }
140 inline bool Ipv4AddressesPerInterfaceHasBeenSet() const { return m_ipv4AddressesPerInterfaceHasBeenSet; }
141 inline void SetIpv4AddressesPerInterface(int value) {
142 m_ipv4AddressesPerInterfaceHasBeenSet = true;
143 m_ipv4AddressesPerInterface = value;
144 }
147 return *this;
148 }
150
152
155 inline int GetIpv6AddressesPerInterface() const { return m_ipv6AddressesPerInterface; }
156 inline bool Ipv6AddressesPerInterfaceHasBeenSet() const { return m_ipv6AddressesPerInterfaceHasBeenSet; }
157 inline void SetIpv6AddressesPerInterface(int value) {
158 m_ipv6AddressesPerInterfaceHasBeenSet = true;
159 m_ipv6AddressesPerInterface = value;
160 }
163 return *this;
164 }
166
168
171 inline bool GetIpv6Supported() const { return m_ipv6Supported; }
172 inline bool Ipv6SupportedHasBeenSet() const { return m_ipv6SupportedHasBeenSet; }
173 inline void SetIpv6Supported(bool value) {
174 m_ipv6SupportedHasBeenSet = true;
175 m_ipv6Supported = value;
176 }
177 inline NetworkInfo& WithIpv6Supported(bool value) {
178 SetIpv6Supported(value);
179 return *this;
180 }
182
184
187 inline EnaSupport GetEnaSupport() const { return m_enaSupport; }
188 inline bool EnaSupportHasBeenSet() const { return m_enaSupportHasBeenSet; }
189 inline void SetEnaSupport(EnaSupport value) {
190 m_enaSupportHasBeenSet = true;
191 m_enaSupport = value;
192 }
194 SetEnaSupport(value);
195 return *this;
196 }
198
200
203 inline bool GetEfaSupported() const { return m_efaSupported; }
204 inline bool EfaSupportedHasBeenSet() const { return m_efaSupportedHasBeenSet; }
205 inline void SetEfaSupported(bool value) {
206 m_efaSupportedHasBeenSet = true;
207 m_efaSupported = value;
208 }
209 inline NetworkInfo& WithEfaSupported(bool value) {
210 SetEfaSupported(value);
211 return *this;
212 }
214
216
219 inline const EfaInfo& GetEfaInfo() const { return m_efaInfo; }
220 inline bool EfaInfoHasBeenSet() const { return m_efaInfoHasBeenSet; }
221 template <typename EfaInfoT = EfaInfo>
222 void SetEfaInfo(EfaInfoT&& value) {
223 m_efaInfoHasBeenSet = true;
224 m_efaInfo = std::forward<EfaInfoT>(value);
225 }
226 template <typename EfaInfoT = EfaInfo>
227 NetworkInfo& WithEfaInfo(EfaInfoT&& value) {
228 SetEfaInfo(std::forward<EfaInfoT>(value));
229 return *this;
230 }
232
234
238 inline bool GetEncryptionInTransitSupported() const { return m_encryptionInTransitSupported; }
239 inline bool EncryptionInTransitSupportedHasBeenSet() const { return m_encryptionInTransitSupportedHasBeenSet; }
240 inline void SetEncryptionInTransitSupported(bool value) {
241 m_encryptionInTransitSupportedHasBeenSet = true;
242 m_encryptionInTransitSupported = value;
243 }
246 return *this;
247 }
249
251
257 inline bool GetEnaSrdSupported() const { return m_enaSrdSupported; }
258 inline bool EnaSrdSupportedHasBeenSet() const { return m_enaSrdSupportedHasBeenSet; }
259 inline void SetEnaSrdSupported(bool value) {
260 m_enaSrdSupportedHasBeenSet = true;
261 m_enaSrdSupported = value;
262 }
263 inline NetworkInfo& WithEnaSrdSupported(bool value) {
264 SetEnaSrdSupported(value);
265 return *this;
266 }
268
270
274 inline const Aws::Vector<BandwidthWeightingType>& GetBandwidthWeightings() const { return m_bandwidthWeightings; }
275 inline bool BandwidthWeightingsHasBeenSet() const { return m_bandwidthWeightingsHasBeenSet; }
276 template <typename BandwidthWeightingsT = Aws::Vector<BandwidthWeightingType>>
277 void SetBandwidthWeightings(BandwidthWeightingsT&& value) {
278 m_bandwidthWeightingsHasBeenSet = true;
279 m_bandwidthWeightings = std::forward<BandwidthWeightingsT>(value);
280 }
281 template <typename BandwidthWeightingsT = Aws::Vector<BandwidthWeightingType>>
282 NetworkInfo& WithBandwidthWeightings(BandwidthWeightingsT&& value) {
283 SetBandwidthWeightings(std::forward<BandwidthWeightingsT>(value));
284 return *this;
285 }
287 m_bandwidthWeightingsHasBeenSet = true;
288 m_bandwidthWeightings.push_back(value);
289 return *this;
290 }
292
294
297 inline FlexibleEnaQueuesSupport GetFlexibleEnaQueuesSupport() const { return m_flexibleEnaQueuesSupport; }
298 inline bool FlexibleEnaQueuesSupportHasBeenSet() const { return m_flexibleEnaQueuesSupportHasBeenSet; }
300 m_flexibleEnaQueuesSupportHasBeenSet = true;
301 m_flexibleEnaQueuesSupport = value;
302 }
305 return *this;
306 }
308
310
314 return m_connectionTrackingConfiguration;
315 }
316 inline bool ConnectionTrackingConfigurationHasBeenSet() const { return m_connectionTrackingConfigurationHasBeenSet; }
317 template <typename ConnectionTrackingConfigurationT = DefaultConnectionTrackingConfiguration>
318 void SetConnectionTrackingConfiguration(ConnectionTrackingConfigurationT&& value) {
319 m_connectionTrackingConfigurationHasBeenSet = true;
320 m_connectionTrackingConfiguration = std::forward<ConnectionTrackingConfigurationT>(value);
321 }
322 template <typename ConnectionTrackingConfigurationT = DefaultConnectionTrackingConfiguration>
323 NetworkInfo& WithConnectionTrackingConfiguration(ConnectionTrackingConfigurationT&& value) {
324 SetConnectionTrackingConfiguration(std::forward<ConnectionTrackingConfigurationT>(value));
325 return *this;
326 }
328
330
334 inline bool GetSecondaryNetworkSupported() const { return m_secondaryNetworkSupported; }
335 inline bool SecondaryNetworkSupportedHasBeenSet() const { return m_secondaryNetworkSupportedHasBeenSet; }
336 inline void SetSecondaryNetworkSupported(bool value) {
337 m_secondaryNetworkSupportedHasBeenSet = true;
338 m_secondaryNetworkSupported = value;
339 }
342 return *this;
343 }
345
347
350 inline int GetMaximumSecondaryNetworkInterfaces() const { return m_maximumSecondaryNetworkInterfaces; }
351 inline bool MaximumSecondaryNetworkInterfacesHasBeenSet() const { return m_maximumSecondaryNetworkInterfacesHasBeenSet; }
353 m_maximumSecondaryNetworkInterfacesHasBeenSet = true;
354 m_maximumSecondaryNetworkInterfaces = value;
355 }
358 return *this;
359 }
361
363
366 inline int GetIpv4AddressesPerSecondaryInterface() const { return m_ipv4AddressesPerSecondaryInterface; }
367 inline bool Ipv4AddressesPerSecondaryInterfaceHasBeenSet() const { return m_ipv4AddressesPerSecondaryInterfaceHasBeenSet; }
369 m_ipv4AddressesPerSecondaryInterfaceHasBeenSet = true;
370 m_ipv4AddressesPerSecondaryInterface = value;
371 }
374 return *this;
375 }
377 private:
378 Aws::String m_networkPerformance;
379
380 int m_maximumNetworkInterfaces{0};
381
382 int m_maximumNetworkCards{0};
383
384 int m_defaultNetworkCardIndex{0};
385
386 Aws::Vector<NetworkCardInfo> m_networkCards;
387
388 int m_ipv4AddressesPerInterface{0};
389
390 int m_ipv6AddressesPerInterface{0};
391
392 bool m_ipv6Supported{false};
393
394 EnaSupport m_enaSupport{EnaSupport::NOT_SET};
395
396 bool m_efaSupported{false};
397
398 EfaInfo m_efaInfo;
399
400 bool m_encryptionInTransitSupported{false};
401
402 bool m_enaSrdSupported{false};
403
404 Aws::Vector<BandwidthWeightingType> m_bandwidthWeightings;
405
407
408 DefaultConnectionTrackingConfiguration m_connectionTrackingConfiguration;
409
410 bool m_secondaryNetworkSupported{false};
411
412 int m_maximumSecondaryNetworkInterfaces{0};
413
414 int m_ipv4AddressesPerSecondaryInterface{0};
415 bool m_networkPerformanceHasBeenSet = false;
416 bool m_maximumNetworkInterfacesHasBeenSet = false;
417 bool m_maximumNetworkCardsHasBeenSet = false;
418 bool m_defaultNetworkCardIndexHasBeenSet = false;
419 bool m_networkCardsHasBeenSet = false;
420 bool m_ipv4AddressesPerInterfaceHasBeenSet = false;
421 bool m_ipv6AddressesPerInterfaceHasBeenSet = false;
422 bool m_ipv6SupportedHasBeenSet = false;
423 bool m_enaSupportHasBeenSet = false;
424 bool m_efaSupportedHasBeenSet = false;
425 bool m_efaInfoHasBeenSet = false;
426 bool m_encryptionInTransitSupportedHasBeenSet = false;
427 bool m_enaSrdSupportedHasBeenSet = false;
428 bool m_bandwidthWeightingsHasBeenSet = false;
429 bool m_flexibleEnaQueuesSupportHasBeenSet = false;
430 bool m_connectionTrackingConfigurationHasBeenSet = false;
431 bool m_secondaryNetworkSupportedHasBeenSet = false;
432 bool m_maximumSecondaryNetworkInterfacesHasBeenSet = false;
433 bool m_ipv4AddressesPerSecondaryInterfaceHasBeenSet = false;
434};
435
436} // namespace Model
437} // namespace EC2
438} // namespace Aws
NetworkInfo & WithIpv6AddressesPerInterface(int value)
int GetMaximumSecondaryNetworkInterfaces() const
bool ConnectionTrackingConfigurationHasBeenSet() const
NetworkInfo & WithIpv4AddressesPerSecondaryInterface(int value)
void SetBandwidthWeightings(BandwidthWeightingsT &&value)
NetworkInfo & WithEfaSupported(bool value)
void SetEfaSupported(bool value)
FlexibleEnaQueuesSupport GetFlexibleEnaQueuesSupport() const
bool MaximumNetworkInterfacesHasBeenSet() const
Definition NetworkInfo.h:67
void SetMaximumNetworkCards(int value)
Definition NetworkInfo.h:85
void SetFlexibleEnaQueuesSupport(FlexibleEnaQueuesSupport value)
void SetConnectionTrackingConfiguration(ConnectionTrackingConfigurationT &&value)
void SetSecondaryNetworkSupported(bool value)
bool MaximumNetworkCardsHasBeenSet() const
Definition NetworkInfo.h:84
int GetMaximumNetworkInterfaces() const
Definition NetworkInfo.h:66
bool EfaSupportedHasBeenSet() const
int GetDefaultNetworkCardIndex() const
Definition NetworkInfo.h:99
NetworkInfo & WithFlexibleEnaQueuesSupport(FlexibleEnaQueuesSupport value)
AWS_EC2_API NetworkInfo(const Aws::Utils::Xml::XmlNode &xmlNode)
bool NetworkPerformanceHasBeenSet() const
Definition NetworkInfo.h:49
NetworkInfo & WithNetworkPerformance(NetworkPerformanceT &&value)
Definition NetworkInfo.h:56
int GetIpv6AddressesPerInterface() const
NetworkInfo & WithIpv6Supported(bool value)
bool NetworkCardsHasBeenSet() const
NetworkInfo & WithEfaInfo(EfaInfoT &&value)
NetworkInfo & AddNetworkCards(NetworkCardsT &&value)
void SetEncryptionInTransitSupported(bool value)
bool Ipv4AddressesPerInterfaceHasBeenSet() const
bool Ipv6AddressesPerInterfaceHasBeenSet() const
bool MaximumSecondaryNetworkInterfacesHasBeenSet() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
void SetIpv4AddressesPerInterface(int value)
AWS_EC2_API NetworkInfo & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetEnaSupport(EnaSupport value)
NetworkInfo & WithMaximumNetworkInterfaces(int value)
Definition NetworkInfo.h:72
bool DefaultNetworkCardIndexHasBeenSet() const
NetworkInfo & WithMaximumNetworkCards(int value)
Definition NetworkInfo.h:89
void SetIpv6AddressesPerInterface(int value)
bool EncryptionInTransitSupportedHasBeenSet() const
NetworkInfo & WithMaximumSecondaryNetworkInterfaces(int value)
bool SecondaryNetworkSupportedHasBeenSet() const
NetworkInfo & WithEnaSrdSupported(bool value)
void SetMaximumNetworkInterfaces(int value)
Definition NetworkInfo.h:68
void SetMaximumSecondaryNetworkInterfaces(int value)
AWS_EC2_API NetworkInfo()=default
void SetIpv4AddressesPerSecondaryInterface(int value)
bool FlexibleEnaQueuesSupportHasBeenSet() const
NetworkInfo & AddBandwidthWeightings(BandwidthWeightingType value)
bool Ipv4AddressesPerSecondaryInterfaceHasBeenSet() const
NetworkInfo & WithConnectionTrackingConfiguration(ConnectionTrackingConfigurationT &&value)
NetworkInfo & WithNetworkCards(NetworkCardsT &&value)
bool GetEncryptionInTransitSupported() const
NetworkInfo & WithIpv4AddressesPerInterface(int value)
NetworkInfo & WithDefaultNetworkCardIndex(int value)
const Aws::Vector< BandwidthWeightingType > & GetBandwidthWeightings() const
int GetIpv4AddressesPerSecondaryInterface() const
void SetEnaSrdSupported(bool value)
bool Ipv6SupportedHasBeenSet() const
void SetEfaInfo(EfaInfoT &&value)
bool BandwidthWeightingsHasBeenSet() const
NetworkInfo & WithBandwidthWeightings(BandwidthWeightingsT &&value)
void SetNetworkCards(NetworkCardsT &&value)
EnaSupport GetEnaSupport() const
const EfaInfo & GetEfaInfo() const
const Aws::Vector< NetworkCardInfo > & GetNetworkCards() const
void SetDefaultNetworkCardIndex(int value)
bool EnaSrdSupportedHasBeenSet() const
NetworkInfo & WithEnaSupport(EnaSupport value)
const Aws::String & GetNetworkPerformance() const
Definition NetworkInfo.h:48
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
int GetIpv4AddressesPerInterface() const
const DefaultConnectionTrackingConfiguration & GetConnectionTrackingConfiguration() const
NetworkInfo & WithSecondaryNetworkSupported(bool value)
void SetIpv6Supported(bool value)
void SetNetworkPerformance(NetworkPerformanceT &&value)
Definition NetworkInfo.h:51
NetworkInfo & WithEncryptionInTransitSupported(bool value)
bool GetSecondaryNetworkSupported() 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