AWS SDK for C++

AWS SDK for C++ Version 1.11.764

Loading...
Searching...
No Matches
InstanceSecondaryInterface.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/InstanceSecondaryInterfaceAttachment.h>
12#include <aws/ec2/model/InstanceSecondaryInterfacePrivateIpAddress.h>
13#include <aws/ec2/model/SecondaryInterfaceStatus.h>
14#include <aws/ec2/model/SecondaryInterfaceType.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Xml {
21class XmlNode;
22} // namespace Xml
23} // namespace Utils
24namespace EC2 {
25namespace Model {
26
34 public:
35 AWS_EC2_API InstanceSecondaryInterface() = default;
38
39 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
40 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
41
43
46 inline const InstanceSecondaryInterfaceAttachment& GetAttachment() const { return m_attachment; }
47 inline bool AttachmentHasBeenSet() const { return m_attachmentHasBeenSet; }
48 template <typename AttachmentT = InstanceSecondaryInterfaceAttachment>
49 void SetAttachment(AttachmentT&& value) {
50 m_attachmentHasBeenSet = true;
51 m_attachment = std::forward<AttachmentT>(value);
52 }
53 template <typename AttachmentT = InstanceSecondaryInterfaceAttachment>
55 SetAttachment(std::forward<AttachmentT>(value));
56 return *this;
57 }
59
61
64 inline const Aws::String& GetMacAddress() const { return m_macAddress; }
65 inline bool MacAddressHasBeenSet() const { return m_macAddressHasBeenSet; }
66 template <typename MacAddressT = Aws::String>
67 void SetMacAddress(MacAddressT&& value) {
68 m_macAddressHasBeenSet = true;
69 m_macAddress = std::forward<MacAddressT>(value);
70 }
71 template <typename MacAddressT = Aws::String>
73 SetMacAddress(std::forward<MacAddressT>(value));
74 return *this;
75 }
77
79
82 inline const Aws::String& GetSecondaryInterfaceId() const { return m_secondaryInterfaceId; }
83 inline bool SecondaryInterfaceIdHasBeenSet() const { return m_secondaryInterfaceIdHasBeenSet; }
84 template <typename SecondaryInterfaceIdT = Aws::String>
85 void SetSecondaryInterfaceId(SecondaryInterfaceIdT&& value) {
86 m_secondaryInterfaceIdHasBeenSet = true;
87 m_secondaryInterfaceId = std::forward<SecondaryInterfaceIdT>(value);
88 }
89 template <typename SecondaryInterfaceIdT = Aws::String>
90 InstanceSecondaryInterface& WithSecondaryInterfaceId(SecondaryInterfaceIdT&& value) {
91 SetSecondaryInterfaceId(std::forward<SecondaryInterfaceIdT>(value));
92 return *this;
93 }
95
97
101 inline const Aws::String& GetOwnerId() const { return m_ownerId; }
102 inline bool OwnerIdHasBeenSet() const { return m_ownerIdHasBeenSet; }
103 template <typename OwnerIdT = Aws::String>
104 void SetOwnerId(OwnerIdT&& value) {
105 m_ownerIdHasBeenSet = true;
106 m_ownerId = std::forward<OwnerIdT>(value);
107 }
108 template <typename OwnerIdT = Aws::String>
110 SetOwnerId(std::forward<OwnerIdT>(value));
111 return *this;
112 }
114
116
119 inline const Aws::Vector<InstanceSecondaryInterfacePrivateIpAddress>& GetPrivateIpAddresses() const { return m_privateIpAddresses; }
120 inline bool PrivateIpAddressesHasBeenSet() const { return m_privateIpAddressesHasBeenSet; }
121 template <typename PrivateIpAddressesT = Aws::Vector<InstanceSecondaryInterfacePrivateIpAddress>>
122 void SetPrivateIpAddresses(PrivateIpAddressesT&& value) {
123 m_privateIpAddressesHasBeenSet = true;
124 m_privateIpAddresses = std::forward<PrivateIpAddressesT>(value);
125 }
126 template <typename PrivateIpAddressesT = Aws::Vector<InstanceSecondaryInterfacePrivateIpAddress>>
128 SetPrivateIpAddresses(std::forward<PrivateIpAddressesT>(value));
129 return *this;
130 }
131 template <typename PrivateIpAddressesT = InstanceSecondaryInterfacePrivateIpAddress>
132 InstanceSecondaryInterface& AddPrivateIpAddresses(PrivateIpAddressesT&& value) {
133 m_privateIpAddressesHasBeenSet = true;
134 m_privateIpAddresses.emplace_back(std::forward<PrivateIpAddressesT>(value));
135 return *this;
136 }
138
140
143 inline bool GetSourceDestCheck() const { return m_sourceDestCheck; }
144 inline bool SourceDestCheckHasBeenSet() const { return m_sourceDestCheckHasBeenSet; }
145 inline void SetSourceDestCheck(bool value) {
146 m_sourceDestCheckHasBeenSet = true;
147 m_sourceDestCheck = value;
148 }
150 SetSourceDestCheck(value);
151 return *this;
152 }
154
156
159 inline SecondaryInterfaceStatus GetStatus() const { return m_status; }
160 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
162 m_statusHasBeenSet = true;
163 m_status = value;
164 }
166 SetStatus(value);
167 return *this;
168 }
170
172
175 inline const Aws::String& GetSecondarySubnetId() const { return m_secondarySubnetId; }
176 inline bool SecondarySubnetIdHasBeenSet() const { return m_secondarySubnetIdHasBeenSet; }
177 template <typename SecondarySubnetIdT = Aws::String>
178 void SetSecondarySubnetId(SecondarySubnetIdT&& value) {
179 m_secondarySubnetIdHasBeenSet = true;
180 m_secondarySubnetId = std::forward<SecondarySubnetIdT>(value);
181 }
182 template <typename SecondarySubnetIdT = Aws::String>
184 SetSecondarySubnetId(std::forward<SecondarySubnetIdT>(value));
185 return *this;
186 }
188
190
193 inline const Aws::String& GetSecondaryNetworkId() const { return m_secondaryNetworkId; }
194 inline bool SecondaryNetworkIdHasBeenSet() const { return m_secondaryNetworkIdHasBeenSet; }
195 template <typename SecondaryNetworkIdT = Aws::String>
196 void SetSecondaryNetworkId(SecondaryNetworkIdT&& value) {
197 m_secondaryNetworkIdHasBeenSet = true;
198 m_secondaryNetworkId = std::forward<SecondaryNetworkIdT>(value);
199 }
200 template <typename SecondaryNetworkIdT = Aws::String>
202 SetSecondaryNetworkId(std::forward<SecondaryNetworkIdT>(value));
203 return *this;
204 }
206
208
211 inline SecondaryInterfaceType GetInterfaceType() const { return m_interfaceType; }
212 inline bool InterfaceTypeHasBeenSet() const { return m_interfaceTypeHasBeenSet; }
214 m_interfaceTypeHasBeenSet = true;
215 m_interfaceType = value;
216 }
218 SetInterfaceType(value);
219 return *this;
220 }
222 private:
224
225 Aws::String m_macAddress;
226
227 Aws::String m_secondaryInterfaceId;
228
229 Aws::String m_ownerId;
230
232
233 bool m_sourceDestCheck{false};
234
236
237 Aws::String m_secondarySubnetId;
238
239 Aws::String m_secondaryNetworkId;
240
242 bool m_attachmentHasBeenSet = false;
243 bool m_macAddressHasBeenSet = false;
244 bool m_secondaryInterfaceIdHasBeenSet = false;
245 bool m_ownerIdHasBeenSet = false;
246 bool m_privateIpAddressesHasBeenSet = false;
247 bool m_sourceDestCheckHasBeenSet = false;
248 bool m_statusHasBeenSet = false;
249 bool m_secondarySubnetIdHasBeenSet = false;
250 bool m_secondaryNetworkIdHasBeenSet = false;
251 bool m_interfaceTypeHasBeenSet = false;
252};
253
254} // namespace Model
255} // namespace EC2
256} // namespace Aws
InstanceSecondaryInterface & WithOwnerId(OwnerIdT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
InstanceSecondaryInterface & WithMacAddress(MacAddressT &&value)
InstanceSecondaryInterface & WithSecondaryInterfaceId(SecondaryInterfaceIdT &&value)
InstanceSecondaryInterface & WithAttachment(AttachmentT &&value)
InstanceSecondaryInterface & WithStatus(SecondaryInterfaceStatus value)
AWS_EC2_API InstanceSecondaryInterface(const Aws::Utils::Xml::XmlNode &xmlNode)
InstanceSecondaryInterface & AddPrivateIpAddresses(PrivateIpAddressesT &&value)
InstanceSecondaryInterface & WithPrivateIpAddresses(PrivateIpAddressesT &&value)
InstanceSecondaryInterface & WithSecondarySubnetId(SecondarySubnetIdT &&value)
InstanceSecondaryInterface & WithInterfaceType(SecondaryInterfaceType value)
void SetInterfaceType(SecondaryInterfaceType value)
AWS_EC2_API InstanceSecondaryInterface()=default
AWS_EC2_API InstanceSecondaryInterface & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
InstanceSecondaryInterface & WithSourceDestCheck(bool value)
void SetSecondaryInterfaceId(SecondaryInterfaceIdT &&value)
InstanceSecondaryInterface & WithSecondaryNetworkId(SecondaryNetworkIdT &&value)
const InstanceSecondaryInterfaceAttachment & GetAttachment() const
void SetPrivateIpAddresses(PrivateIpAddressesT &&value)
void SetSecondaryNetworkId(SecondaryNetworkIdT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
const Aws::Vector< InstanceSecondaryInterfacePrivateIpAddress > & GetPrivateIpAddresses() 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