AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
InstanceNetworkInterfaceSpecification.h
1
6#pragma once
7#include <aws/workspaces-instances/WorkspacesInstances_EXPORTS.h>
8#include <aws/workspaces-instances/model/ConnectionTrackingSpecificationRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/workspaces-instances/model/EnaSrdSpecificationRequest.h>
11#include <aws/workspaces-instances/model/InterfaceTypeEnum.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/workspaces-instances/model/Ipv4PrefixSpecificationRequest.h>
14#include <aws/workspaces-instances/model/InstanceIpv6Address.h>
15#include <aws/workspaces-instances/model/Ipv6PrefixSpecificationRequest.h>
16#include <aws/workspaces-instances/model/PrivateIpAddressSpecification.h>
17#include <utility>
18
19namespace Aws
20{
21namespace Utils
22{
23namespace Json
24{
25 class JsonValue;
26 class JsonView;
27} // namespace Json
28} // namespace Utils
29namespace WorkspacesInstances
30{
31namespace Model
32{
33
41 {
42 public:
43 AWS_WORKSPACESINSTANCES_API InstanceNetworkInterfaceSpecification() = default;
46 AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const;
47
48
50
53 inline bool GetAssociateCarrierIpAddress() const { return m_associateCarrierIpAddress; }
54 inline bool AssociateCarrierIpAddressHasBeenSet() const { return m_associateCarrierIpAddressHasBeenSet; }
55 inline void SetAssociateCarrierIpAddress(bool value) { m_associateCarrierIpAddressHasBeenSet = true; m_associateCarrierIpAddress = value; }
58
60
63 inline bool GetAssociatePublicIpAddress() const { return m_associatePublicIpAddress; }
64 inline bool AssociatePublicIpAddressHasBeenSet() const { return m_associatePublicIpAddressHasBeenSet; }
65 inline void SetAssociatePublicIpAddress(bool value) { m_associatePublicIpAddressHasBeenSet = true; m_associatePublicIpAddress = value; }
68
70
73 inline const ConnectionTrackingSpecificationRequest& GetConnectionTrackingSpecification() const { return m_connectionTrackingSpecification; }
74 inline bool ConnectionTrackingSpecificationHasBeenSet() const { return m_connectionTrackingSpecificationHasBeenSet; }
75 template<typename ConnectionTrackingSpecificationT = ConnectionTrackingSpecificationRequest>
76 void SetConnectionTrackingSpecification(ConnectionTrackingSpecificationT&& value) { m_connectionTrackingSpecificationHasBeenSet = true; m_connectionTrackingSpecification = std::forward<ConnectionTrackingSpecificationT>(value); }
77 template<typename ConnectionTrackingSpecificationT = ConnectionTrackingSpecificationRequest>
78 InstanceNetworkInterfaceSpecification& WithConnectionTrackingSpecification(ConnectionTrackingSpecificationT&& value) { SetConnectionTrackingSpecification(std::forward<ConnectionTrackingSpecificationT>(value)); return *this;}
80
82
85 inline const Aws::String& GetDescription() const { return m_description; }
86 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
87 template<typename DescriptionT = Aws::String>
88 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
89 template<typename DescriptionT = Aws::String>
90 InstanceNetworkInterfaceSpecification& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
92
94
97 inline int GetDeviceIndex() const { return m_deviceIndex; }
98 inline bool DeviceIndexHasBeenSet() const { return m_deviceIndexHasBeenSet; }
99 inline void SetDeviceIndex(int value) { m_deviceIndexHasBeenSet = true; m_deviceIndex = value; }
100 inline InstanceNetworkInterfaceSpecification& WithDeviceIndex(int value) { SetDeviceIndex(value); return *this;}
102
104
107 inline const EnaSrdSpecificationRequest& GetEnaSrdSpecification() const { return m_enaSrdSpecification; }
108 inline bool EnaSrdSpecificationHasBeenSet() const { return m_enaSrdSpecificationHasBeenSet; }
109 template<typename EnaSrdSpecificationT = EnaSrdSpecificationRequest>
110 void SetEnaSrdSpecification(EnaSrdSpecificationT&& value) { m_enaSrdSpecificationHasBeenSet = true; m_enaSrdSpecification = std::forward<EnaSrdSpecificationT>(value); }
111 template<typename EnaSrdSpecificationT = EnaSrdSpecificationRequest>
112 InstanceNetworkInterfaceSpecification& WithEnaSrdSpecification(EnaSrdSpecificationT&& value) { SetEnaSrdSpecification(std::forward<EnaSrdSpecificationT>(value)); return *this;}
114
116
119 inline InterfaceTypeEnum GetInterfaceType() const { return m_interfaceType; }
120 inline bool InterfaceTypeHasBeenSet() const { return m_interfaceTypeHasBeenSet; }
121 inline void SetInterfaceType(InterfaceTypeEnum value) { m_interfaceTypeHasBeenSet = true; m_interfaceType = value; }
124
126
129 inline const Aws::Vector<Ipv4PrefixSpecificationRequest>& GetIpv4Prefixes() const { return m_ipv4Prefixes; }
130 inline bool Ipv4PrefixesHasBeenSet() const { return m_ipv4PrefixesHasBeenSet; }
131 template<typename Ipv4PrefixesT = Aws::Vector<Ipv4PrefixSpecificationRequest>>
132 void SetIpv4Prefixes(Ipv4PrefixesT&& value) { m_ipv4PrefixesHasBeenSet = true; m_ipv4Prefixes = std::forward<Ipv4PrefixesT>(value); }
133 template<typename Ipv4PrefixesT = Aws::Vector<Ipv4PrefixSpecificationRequest>>
134 InstanceNetworkInterfaceSpecification& WithIpv4Prefixes(Ipv4PrefixesT&& value) { SetIpv4Prefixes(std::forward<Ipv4PrefixesT>(value)); return *this;}
135 template<typename Ipv4PrefixesT = Ipv4PrefixSpecificationRequest>
136 InstanceNetworkInterfaceSpecification& AddIpv4Prefixes(Ipv4PrefixesT&& value) { m_ipv4PrefixesHasBeenSet = true; m_ipv4Prefixes.emplace_back(std::forward<Ipv4PrefixesT>(value)); return *this; }
138
140
143 inline int GetIpv4PrefixCount() const { return m_ipv4PrefixCount; }
144 inline bool Ipv4PrefixCountHasBeenSet() const { return m_ipv4PrefixCountHasBeenSet; }
145 inline void SetIpv4PrefixCount(int value) { m_ipv4PrefixCountHasBeenSet = true; m_ipv4PrefixCount = value; }
148
150
153 inline int GetIpv6AddressCount() const { return m_ipv6AddressCount; }
154 inline bool Ipv6AddressCountHasBeenSet() const { return m_ipv6AddressCountHasBeenSet; }
155 inline void SetIpv6AddressCount(int value) { m_ipv6AddressCountHasBeenSet = true; m_ipv6AddressCount = value; }
158
160
163 inline const Aws::Vector<InstanceIpv6Address>& GetIpv6Addresses() const { return m_ipv6Addresses; }
164 inline bool Ipv6AddressesHasBeenSet() const { return m_ipv6AddressesHasBeenSet; }
165 template<typename Ipv6AddressesT = Aws::Vector<InstanceIpv6Address>>
166 void SetIpv6Addresses(Ipv6AddressesT&& value) { m_ipv6AddressesHasBeenSet = true; m_ipv6Addresses = std::forward<Ipv6AddressesT>(value); }
167 template<typename Ipv6AddressesT = Aws::Vector<InstanceIpv6Address>>
168 InstanceNetworkInterfaceSpecification& WithIpv6Addresses(Ipv6AddressesT&& value) { SetIpv6Addresses(std::forward<Ipv6AddressesT>(value)); return *this;}
169 template<typename Ipv6AddressesT = InstanceIpv6Address>
170 InstanceNetworkInterfaceSpecification& AddIpv6Addresses(Ipv6AddressesT&& value) { m_ipv6AddressesHasBeenSet = true; m_ipv6Addresses.emplace_back(std::forward<Ipv6AddressesT>(value)); return *this; }
172
174
177 inline const Aws::Vector<Ipv6PrefixSpecificationRequest>& GetIpv6Prefixes() const { return m_ipv6Prefixes; }
178 inline bool Ipv6PrefixesHasBeenSet() const { return m_ipv6PrefixesHasBeenSet; }
179 template<typename Ipv6PrefixesT = Aws::Vector<Ipv6PrefixSpecificationRequest>>
180 void SetIpv6Prefixes(Ipv6PrefixesT&& value) { m_ipv6PrefixesHasBeenSet = true; m_ipv6Prefixes = std::forward<Ipv6PrefixesT>(value); }
181 template<typename Ipv6PrefixesT = Aws::Vector<Ipv6PrefixSpecificationRequest>>
182 InstanceNetworkInterfaceSpecification& WithIpv6Prefixes(Ipv6PrefixesT&& value) { SetIpv6Prefixes(std::forward<Ipv6PrefixesT>(value)); return *this;}
183 template<typename Ipv6PrefixesT = Ipv6PrefixSpecificationRequest>
184 InstanceNetworkInterfaceSpecification& AddIpv6Prefixes(Ipv6PrefixesT&& value) { m_ipv6PrefixesHasBeenSet = true; m_ipv6Prefixes.emplace_back(std::forward<Ipv6PrefixesT>(value)); return *this; }
186
188
191 inline int GetIpv6PrefixCount() const { return m_ipv6PrefixCount; }
192 inline bool Ipv6PrefixCountHasBeenSet() const { return m_ipv6PrefixCountHasBeenSet; }
193 inline void SetIpv6PrefixCount(int value) { m_ipv6PrefixCountHasBeenSet = true; m_ipv6PrefixCount = value; }
196
198
201 inline int GetNetworkCardIndex() const { return m_networkCardIndex; }
202 inline bool NetworkCardIndexHasBeenSet() const { return m_networkCardIndexHasBeenSet; }
203 inline void SetNetworkCardIndex(int value) { m_networkCardIndexHasBeenSet = true; m_networkCardIndex = value; }
206
208
211 inline const Aws::String& GetNetworkInterfaceId() const { return m_networkInterfaceId; }
212 inline bool NetworkInterfaceIdHasBeenSet() const { return m_networkInterfaceIdHasBeenSet; }
213 template<typename NetworkInterfaceIdT = Aws::String>
214 void SetNetworkInterfaceId(NetworkInterfaceIdT&& value) { m_networkInterfaceIdHasBeenSet = true; m_networkInterfaceId = std::forward<NetworkInterfaceIdT>(value); }
215 template<typename NetworkInterfaceIdT = Aws::String>
216 InstanceNetworkInterfaceSpecification& WithNetworkInterfaceId(NetworkInterfaceIdT&& value) { SetNetworkInterfaceId(std::forward<NetworkInterfaceIdT>(value)); return *this;}
218
220
223 inline bool GetPrimaryIpv6() const { return m_primaryIpv6; }
224 inline bool PrimaryIpv6HasBeenSet() const { return m_primaryIpv6HasBeenSet; }
225 inline void SetPrimaryIpv6(bool value) { m_primaryIpv6HasBeenSet = true; m_primaryIpv6 = value; }
226 inline InstanceNetworkInterfaceSpecification& WithPrimaryIpv6(bool value) { SetPrimaryIpv6(value); return *this;}
228
230
233 inline const Aws::String& GetPrivateIpAddress() const { return m_privateIpAddress; }
234 inline bool PrivateIpAddressHasBeenSet() const { return m_privateIpAddressHasBeenSet; }
235 template<typename PrivateIpAddressT = Aws::String>
236 void SetPrivateIpAddress(PrivateIpAddressT&& value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress = std::forward<PrivateIpAddressT>(value); }
237 template<typename PrivateIpAddressT = Aws::String>
238 InstanceNetworkInterfaceSpecification& WithPrivateIpAddress(PrivateIpAddressT&& value) { SetPrivateIpAddress(std::forward<PrivateIpAddressT>(value)); return *this;}
240
242
245 inline const Aws::Vector<PrivateIpAddressSpecification>& GetPrivateIpAddresses() const { return m_privateIpAddresses; }
246 inline bool PrivateIpAddressesHasBeenSet() const { return m_privateIpAddressesHasBeenSet; }
247 template<typename PrivateIpAddressesT = Aws::Vector<PrivateIpAddressSpecification>>
248 void SetPrivateIpAddresses(PrivateIpAddressesT&& value) { m_privateIpAddressesHasBeenSet = true; m_privateIpAddresses = std::forward<PrivateIpAddressesT>(value); }
249 template<typename PrivateIpAddressesT = Aws::Vector<PrivateIpAddressSpecification>>
250 InstanceNetworkInterfaceSpecification& WithPrivateIpAddresses(PrivateIpAddressesT&& value) { SetPrivateIpAddresses(std::forward<PrivateIpAddressesT>(value)); return *this;}
251 template<typename PrivateIpAddressesT = PrivateIpAddressSpecification>
252 InstanceNetworkInterfaceSpecification& AddPrivateIpAddresses(PrivateIpAddressesT&& value) { m_privateIpAddressesHasBeenSet = true; m_privateIpAddresses.emplace_back(std::forward<PrivateIpAddressesT>(value)); return *this; }
254
256
259 inline int GetSecondaryPrivateIpAddressCount() const { return m_secondaryPrivateIpAddressCount; }
260 inline bool SecondaryPrivateIpAddressCountHasBeenSet() const { return m_secondaryPrivateIpAddressCountHasBeenSet; }
261 inline void SetSecondaryPrivateIpAddressCount(int value) { m_secondaryPrivateIpAddressCountHasBeenSet = true; m_secondaryPrivateIpAddressCount = value; }
264
266
269 inline const Aws::Vector<Aws::String>& GetGroups() const { return m_groups; }
270 inline bool GroupsHasBeenSet() const { return m_groupsHasBeenSet; }
271 template<typename GroupsT = Aws::Vector<Aws::String>>
272 void SetGroups(GroupsT&& value) { m_groupsHasBeenSet = true; m_groups = std::forward<GroupsT>(value); }
273 template<typename GroupsT = Aws::Vector<Aws::String>>
274 InstanceNetworkInterfaceSpecification& WithGroups(GroupsT&& value) { SetGroups(std::forward<GroupsT>(value)); return *this;}
275 template<typename GroupsT = Aws::String>
276 InstanceNetworkInterfaceSpecification& AddGroups(GroupsT&& value) { m_groupsHasBeenSet = true; m_groups.emplace_back(std::forward<GroupsT>(value)); return *this; }
278
280
283 inline const Aws::String& GetSubnetId() const { return m_subnetId; }
284 inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; }
285 template<typename SubnetIdT = Aws::String>
286 void SetSubnetId(SubnetIdT&& value) { m_subnetIdHasBeenSet = true; m_subnetId = std::forward<SubnetIdT>(value); }
287 template<typename SubnetIdT = Aws::String>
288 InstanceNetworkInterfaceSpecification& WithSubnetId(SubnetIdT&& value) { SetSubnetId(std::forward<SubnetIdT>(value)); return *this;}
290 private:
291
292 bool m_associateCarrierIpAddress{false};
293 bool m_associateCarrierIpAddressHasBeenSet = false;
294
295 bool m_associatePublicIpAddress{false};
296 bool m_associatePublicIpAddressHasBeenSet = false;
297
298 ConnectionTrackingSpecificationRequest m_connectionTrackingSpecification;
299 bool m_connectionTrackingSpecificationHasBeenSet = false;
300
301 Aws::String m_description;
302 bool m_descriptionHasBeenSet = false;
303
304 int m_deviceIndex{0};
305 bool m_deviceIndexHasBeenSet = false;
306
307 EnaSrdSpecificationRequest m_enaSrdSpecification;
308 bool m_enaSrdSpecificationHasBeenSet = false;
309
311 bool m_interfaceTypeHasBeenSet = false;
312
314 bool m_ipv4PrefixesHasBeenSet = false;
315
316 int m_ipv4PrefixCount{0};
317 bool m_ipv4PrefixCountHasBeenSet = false;
318
319 int m_ipv6AddressCount{0};
320 bool m_ipv6AddressCountHasBeenSet = false;
321
322 Aws::Vector<InstanceIpv6Address> m_ipv6Addresses;
323 bool m_ipv6AddressesHasBeenSet = false;
324
326 bool m_ipv6PrefixesHasBeenSet = false;
327
328 int m_ipv6PrefixCount{0};
329 bool m_ipv6PrefixCountHasBeenSet = false;
330
331 int m_networkCardIndex{0};
332 bool m_networkCardIndexHasBeenSet = false;
333
334 Aws::String m_networkInterfaceId;
335 bool m_networkInterfaceIdHasBeenSet = false;
336
337 bool m_primaryIpv6{false};
338 bool m_primaryIpv6HasBeenSet = false;
339
340 Aws::String m_privateIpAddress;
341 bool m_privateIpAddressHasBeenSet = false;
342
344 bool m_privateIpAddressesHasBeenSet = false;
345
346 int m_secondaryPrivateIpAddressCount{0};
347 bool m_secondaryPrivateIpAddressCountHasBeenSet = false;
348
350 bool m_groupsHasBeenSet = false;
351
352 Aws::String m_subnetId;
353 bool m_subnetIdHasBeenSet = false;
354 };
355
356} // namespace Model
357} // namespace WorkspacesInstances
358} // namespace Aws
InstanceNetworkInterfaceSpecification & AddIpv4Prefixes(Ipv4PrefixesT &&value)
InstanceNetworkInterfaceSpecification & AddPrivateIpAddresses(PrivateIpAddressesT &&value)
AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const
InstanceNetworkInterfaceSpecification & WithNetworkInterfaceId(NetworkInterfaceIdT &&value)
InstanceNetworkInterfaceSpecification & WithPrivateIpAddress(PrivateIpAddressT &&value)
AWS_WORKSPACESINSTANCES_API InstanceNetworkInterfaceSpecification(Aws::Utils::Json::JsonView jsonValue)
InstanceNetworkInterfaceSpecification & WithIpv6Addresses(Ipv6AddressesT &&value)
const Aws::Vector< Ipv4PrefixSpecificationRequest > & GetIpv4Prefixes() const
const ConnectionTrackingSpecificationRequest & GetConnectionTrackingSpecification() const
const Aws::Vector< Ipv6PrefixSpecificationRequest > & GetIpv6Prefixes() const
InstanceNetworkInterfaceSpecification & WithDescription(DescriptionT &&value)
InstanceNetworkInterfaceSpecification & AddIpv6Prefixes(Ipv6PrefixesT &&value)
AWS_WORKSPACESINSTANCES_API InstanceNetworkInterfaceSpecification()=default
InstanceNetworkInterfaceSpecification & WithIpv4Prefixes(Ipv4PrefixesT &&value)
AWS_WORKSPACESINSTANCES_API InstanceNetworkInterfaceSpecification & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< PrivateIpAddressSpecification > & GetPrivateIpAddresses() const
InstanceNetworkInterfaceSpecification & WithPrivateIpAddresses(PrivateIpAddressesT &&value)
InstanceNetworkInterfaceSpecification & WithInterfaceType(InterfaceTypeEnum value)
InstanceNetworkInterfaceSpecification & WithEnaSrdSpecification(EnaSrdSpecificationT &&value)
InstanceNetworkInterfaceSpecification & AddIpv6Addresses(Ipv6AddressesT &&value)
InstanceNetworkInterfaceSpecification & WithIpv6Prefixes(Ipv6PrefixesT &&value)
InstanceNetworkInterfaceSpecification & WithConnectionTrackingSpecification(ConnectionTrackingSpecificationT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue