AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
ScheduledInstancesNetworkInterface.h
1
6#pragma once
7#include <aws/ec2/EC2_EXPORTS.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/model/ScheduledInstancesIpv6Address.h>
12#include <aws/ec2/model/ScheduledInstancesPrivateIpAddressConfig.h>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Xml
20{
21 class XmlNode;
22} // namespace Xml
23} // namespace Utils
24namespace EC2
25{
26namespace Model
27{
28
36 {
37 public:
38 AWS_EC2_API ScheduledInstancesNetworkInterface() = default;
41
42 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
43 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
44
45
47
58 inline bool GetAssociatePublicIpAddress() const { return m_associatePublicIpAddress; }
59 inline bool AssociatePublicIpAddressHasBeenSet() const { return m_associatePublicIpAddressHasBeenSet; }
60 inline void SetAssociatePublicIpAddress(bool value) { m_associatePublicIpAddressHasBeenSet = true; m_associatePublicIpAddress = value; }
63
65
69 inline bool GetDeleteOnTermination() const { return m_deleteOnTermination; }
70 inline bool DeleteOnTerminationHasBeenSet() const { return m_deleteOnTerminationHasBeenSet; }
71 inline void SetDeleteOnTermination(bool value) { m_deleteOnTerminationHasBeenSet = true; m_deleteOnTermination = value; }
74
76
79 inline const Aws::String& GetDescription() const { return m_description; }
80 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
81 template<typename DescriptionT = Aws::String>
82 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
83 template<typename DescriptionT = Aws::String>
84 ScheduledInstancesNetworkInterface& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
86
88
91 inline int GetDeviceIndex() const { return m_deviceIndex; }
92 inline bool DeviceIndexHasBeenSet() const { return m_deviceIndexHasBeenSet; }
93 inline void SetDeviceIndex(int value) { m_deviceIndexHasBeenSet = true; m_deviceIndex = value; }
94 inline ScheduledInstancesNetworkInterface& WithDeviceIndex(int value) { SetDeviceIndex(value); return *this;}
96
98
101 inline const Aws::Vector<Aws::String>& GetGroups() const { return m_groups; }
102 inline bool GroupsHasBeenSet() const { return m_groupsHasBeenSet; }
103 template<typename GroupsT = Aws::Vector<Aws::String>>
104 void SetGroups(GroupsT&& value) { m_groupsHasBeenSet = true; m_groups = std::forward<GroupsT>(value); }
105 template<typename GroupsT = Aws::Vector<Aws::String>>
106 ScheduledInstancesNetworkInterface& WithGroups(GroupsT&& value) { SetGroups(std::forward<GroupsT>(value)); return *this;}
107 template<typename GroupsT = Aws::String>
108 ScheduledInstancesNetworkInterface& AddGroups(GroupsT&& value) { m_groupsHasBeenSet = true; m_groups.emplace_back(std::forward<GroupsT>(value)); return *this; }
110
112
116 inline int GetIpv6AddressCount() const { return m_ipv6AddressCount; }
117 inline bool Ipv6AddressCountHasBeenSet() const { return m_ipv6AddressCountHasBeenSet; }
118 inline void SetIpv6AddressCount(int value) { m_ipv6AddressCountHasBeenSet = true; m_ipv6AddressCount = value; }
121
123
126 inline const Aws::Vector<ScheduledInstancesIpv6Address>& GetIpv6Addresses() const { return m_ipv6Addresses; }
127 inline bool Ipv6AddressesHasBeenSet() const { return m_ipv6AddressesHasBeenSet; }
128 template<typename Ipv6AddressesT = Aws::Vector<ScheduledInstancesIpv6Address>>
129 void SetIpv6Addresses(Ipv6AddressesT&& value) { m_ipv6AddressesHasBeenSet = true; m_ipv6Addresses = std::forward<Ipv6AddressesT>(value); }
130 template<typename Ipv6AddressesT = Aws::Vector<ScheduledInstancesIpv6Address>>
131 ScheduledInstancesNetworkInterface& WithIpv6Addresses(Ipv6AddressesT&& value) { SetIpv6Addresses(std::forward<Ipv6AddressesT>(value)); return *this;}
132 template<typename Ipv6AddressesT = ScheduledInstancesIpv6Address>
133 ScheduledInstancesNetworkInterface& AddIpv6Addresses(Ipv6AddressesT&& value) { m_ipv6AddressesHasBeenSet = true; m_ipv6Addresses.emplace_back(std::forward<Ipv6AddressesT>(value)); return *this; }
135
137
140 inline const Aws::String& GetNetworkInterfaceId() const { return m_networkInterfaceId; }
141 inline bool NetworkInterfaceIdHasBeenSet() const { return m_networkInterfaceIdHasBeenSet; }
142 template<typename NetworkInterfaceIdT = Aws::String>
143 void SetNetworkInterfaceId(NetworkInterfaceIdT&& value) { m_networkInterfaceIdHasBeenSet = true; m_networkInterfaceId = std::forward<NetworkInterfaceIdT>(value); }
144 template<typename NetworkInterfaceIdT = Aws::String>
145 ScheduledInstancesNetworkInterface& WithNetworkInterfaceId(NetworkInterfaceIdT&& value) { SetNetworkInterfaceId(std::forward<NetworkInterfaceIdT>(value)); return *this;}
147
149
152 inline const Aws::String& GetPrivateIpAddress() const { return m_privateIpAddress; }
153 inline bool PrivateIpAddressHasBeenSet() const { return m_privateIpAddressHasBeenSet; }
154 template<typename PrivateIpAddressT = Aws::String>
155 void SetPrivateIpAddress(PrivateIpAddressT&& value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress = std::forward<PrivateIpAddressT>(value); }
156 template<typename PrivateIpAddressT = Aws::String>
157 ScheduledInstancesNetworkInterface& WithPrivateIpAddress(PrivateIpAddressT&& value) { SetPrivateIpAddress(std::forward<PrivateIpAddressT>(value)); return *this;}
159
161
164 inline const Aws::Vector<ScheduledInstancesPrivateIpAddressConfig>& GetPrivateIpAddressConfigs() const { return m_privateIpAddressConfigs; }
165 inline bool PrivateIpAddressConfigsHasBeenSet() const { return m_privateIpAddressConfigsHasBeenSet; }
166 template<typename PrivateIpAddressConfigsT = Aws::Vector<ScheduledInstancesPrivateIpAddressConfig>>
167 void SetPrivateIpAddressConfigs(PrivateIpAddressConfigsT&& value) { m_privateIpAddressConfigsHasBeenSet = true; m_privateIpAddressConfigs = std::forward<PrivateIpAddressConfigsT>(value); }
168 template<typename PrivateIpAddressConfigsT = Aws::Vector<ScheduledInstancesPrivateIpAddressConfig>>
169 ScheduledInstancesNetworkInterface& WithPrivateIpAddressConfigs(PrivateIpAddressConfigsT&& value) { SetPrivateIpAddressConfigs(std::forward<PrivateIpAddressConfigsT>(value)); return *this;}
170 template<typename PrivateIpAddressConfigsT = ScheduledInstancesPrivateIpAddressConfig>
171 ScheduledInstancesNetworkInterface& AddPrivateIpAddressConfigs(PrivateIpAddressConfigsT&& value) { m_privateIpAddressConfigsHasBeenSet = true; m_privateIpAddressConfigs.emplace_back(std::forward<PrivateIpAddressConfigsT>(value)); return *this; }
173
175
178 inline int GetSecondaryPrivateIpAddressCount() const { return m_secondaryPrivateIpAddressCount; }
179 inline bool SecondaryPrivateIpAddressCountHasBeenSet() const { return m_secondaryPrivateIpAddressCountHasBeenSet; }
180 inline void SetSecondaryPrivateIpAddressCount(int value) { m_secondaryPrivateIpAddressCountHasBeenSet = true; m_secondaryPrivateIpAddressCount = value; }
183
185
188 inline const Aws::String& GetSubnetId() const { return m_subnetId; }
189 inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; }
190 template<typename SubnetIdT = Aws::String>
191 void SetSubnetId(SubnetIdT&& value) { m_subnetIdHasBeenSet = true; m_subnetId = std::forward<SubnetIdT>(value); }
192 template<typename SubnetIdT = Aws::String>
193 ScheduledInstancesNetworkInterface& WithSubnetId(SubnetIdT&& value) { SetSubnetId(std::forward<SubnetIdT>(value)); return *this;}
195 private:
196
197 bool m_associatePublicIpAddress{false};
198 bool m_associatePublicIpAddressHasBeenSet = false;
199
200 bool m_deleteOnTermination{false};
201 bool m_deleteOnTerminationHasBeenSet = false;
202
203 Aws::String m_description;
204 bool m_descriptionHasBeenSet = false;
205
206 int m_deviceIndex{0};
207 bool m_deviceIndexHasBeenSet = false;
208
210 bool m_groupsHasBeenSet = false;
211
212 int m_ipv6AddressCount{0};
213 bool m_ipv6AddressCountHasBeenSet = false;
214
216 bool m_ipv6AddressesHasBeenSet = false;
217
218 Aws::String m_networkInterfaceId;
219 bool m_networkInterfaceIdHasBeenSet = false;
220
221 Aws::String m_privateIpAddress;
222 bool m_privateIpAddressHasBeenSet = false;
223
225 bool m_privateIpAddressConfigsHasBeenSet = false;
226
227 int m_secondaryPrivateIpAddressCount{0};
228 bool m_secondaryPrivateIpAddressCountHasBeenSet = false;
229
230 Aws::String m_subnetId;
231 bool m_subnetIdHasBeenSet = false;
232 };
233
234} // namespace Model
235} // namespace EC2
236} // namespace Aws
ScheduledInstancesNetworkInterface & WithNetworkInterfaceId(NetworkInterfaceIdT &&value)
ScheduledInstancesNetworkInterface & AddGroups(GroupsT &&value)
ScheduledInstancesNetworkInterface & WithDeleteOnTermination(bool value)
ScheduledInstancesNetworkInterface & WithAssociatePublicIpAddress(bool value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
ScheduledInstancesNetworkInterface & WithPrivateIpAddressConfigs(PrivateIpAddressConfigsT &&value)
AWS_EC2_API ScheduledInstancesNetworkInterface & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
ScheduledInstancesNetworkInterface & WithSubnetId(SubnetIdT &&value)
ScheduledInstancesNetworkInterface & AddIpv6Addresses(Ipv6AddressesT &&value)
ScheduledInstancesNetworkInterface & WithDescription(DescriptionT &&value)
ScheduledInstancesNetworkInterface & WithDeviceIndex(int value)
ScheduledInstancesNetworkInterface & WithSecondaryPrivateIpAddressCount(int value)
const Aws::Vector< ScheduledInstancesIpv6Address > & GetIpv6Addresses() const
const Aws::Vector< ScheduledInstancesPrivateIpAddressConfig > & GetPrivateIpAddressConfigs() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
AWS_EC2_API ScheduledInstancesNetworkInterface(const Aws::Utils::Xml::XmlNode &xmlNode)
ScheduledInstancesNetworkInterface & WithIpv6AddressCount(int value)
ScheduledInstancesNetworkInterface & WithPrivateIpAddress(PrivateIpAddressT &&value)
ScheduledInstancesNetworkInterface & WithIpv6Addresses(Ipv6AddressesT &&value)
ScheduledInstancesNetworkInterface & AddPrivateIpAddressConfigs(PrivateIpAddressConfigsT &&value)
ScheduledInstancesNetworkInterface & WithGroups(GroupsT &&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