AWS SDK for C++

AWS SDK for C++ Version 1.11.764

Loading...
Searching...
No Matches
InstanceSecondaryInterfaceSpecificationRequest.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/InstanceSecondaryInterfacePrivateIpAddressRequest.h>
12#include <aws/ec2/model/SecondaryInterfaceType.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Xml {
19class XmlNode;
20} // namespace Xml
21} // namespace Utils
22namespace EC2 {
23namespace Model {
24
32 public:
36
37 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
38 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
39
41
46 inline bool GetDeleteOnTermination() const { return m_deleteOnTermination; }
47 inline bool DeleteOnTerminationHasBeenSet() const { return m_deleteOnTerminationHasBeenSet; }
48 inline void SetDeleteOnTermination(bool value) {
49 m_deleteOnTerminationHasBeenSet = true;
50 m_deleteOnTermination = value;
51 }
54 return *this;
55 }
57
59
62 inline int GetDeviceIndex() const { return m_deviceIndex; }
63 inline bool DeviceIndexHasBeenSet() const { return m_deviceIndexHasBeenSet; }
64 inline void SetDeviceIndex(int value) {
65 m_deviceIndexHasBeenSet = true;
66 m_deviceIndex = value;
67 }
69 SetDeviceIndex(value);
70 return *this;
71 }
73
75
79 return m_privateIpAddresses;
80 }
81 inline bool PrivateIpAddressesHasBeenSet() const { return m_privateIpAddressesHasBeenSet; }
82 template <typename PrivateIpAddressesT = Aws::Vector<InstanceSecondaryInterfacePrivateIpAddressRequest>>
83 void SetPrivateIpAddresses(PrivateIpAddressesT&& value) {
84 m_privateIpAddressesHasBeenSet = true;
85 m_privateIpAddresses = std::forward<PrivateIpAddressesT>(value);
86 }
87 template <typename PrivateIpAddressesT = Aws::Vector<InstanceSecondaryInterfacePrivateIpAddressRequest>>
89 SetPrivateIpAddresses(std::forward<PrivateIpAddressesT>(value));
90 return *this;
91 }
92 template <typename PrivateIpAddressesT = InstanceSecondaryInterfacePrivateIpAddressRequest>
94 m_privateIpAddressesHasBeenSet = true;
95 m_privateIpAddresses.emplace_back(std::forward<PrivateIpAddressesT>(value));
96 return *this;
97 }
99
101
105 inline int GetPrivateIpAddressCount() const { return m_privateIpAddressCount; }
106 inline bool PrivateIpAddressCountHasBeenSet() const { return m_privateIpAddressCountHasBeenSet; }
107 inline void SetPrivateIpAddressCount(int value) {
108 m_privateIpAddressCountHasBeenSet = true;
109 m_privateIpAddressCount = value;
110 }
113 return *this;
114 }
116
118
121 inline const Aws::String& GetSecondarySubnetId() const { return m_secondarySubnetId; }
122 inline bool SecondarySubnetIdHasBeenSet() const { return m_secondarySubnetIdHasBeenSet; }
123 template <typename SecondarySubnetIdT = Aws::String>
124 void SetSecondarySubnetId(SecondarySubnetIdT&& value) {
125 m_secondarySubnetIdHasBeenSet = true;
126 m_secondarySubnetId = std::forward<SecondarySubnetIdT>(value);
127 }
128 template <typename SecondarySubnetIdT = Aws::String>
130 SetSecondarySubnetId(std::forward<SecondarySubnetIdT>(value));
131 return *this;
132 }
134
136
139 inline SecondaryInterfaceType GetInterfaceType() const { return m_interfaceType; }
140 inline bool InterfaceTypeHasBeenSet() const { return m_interfaceTypeHasBeenSet; }
142 m_interfaceTypeHasBeenSet = true;
143 m_interfaceType = value;
144 }
146 SetInterfaceType(value);
147 return *this;
148 }
150
152
156 inline int GetNetworkCardIndex() const { return m_networkCardIndex; }
157 inline bool NetworkCardIndexHasBeenSet() const { return m_networkCardIndexHasBeenSet; }
158 inline void SetNetworkCardIndex(int value) {
159 m_networkCardIndexHasBeenSet = true;
160 m_networkCardIndex = value;
161 }
163 SetNetworkCardIndex(value);
164 return *this;
165 }
167 private:
168 bool m_deleteOnTermination{false};
169
170 int m_deviceIndex{0};
171
173
174 int m_privateIpAddressCount{0};
175
176 Aws::String m_secondarySubnetId;
177
179
180 int m_networkCardIndex{0};
181 bool m_deleteOnTerminationHasBeenSet = false;
182 bool m_deviceIndexHasBeenSet = false;
183 bool m_privateIpAddressesHasBeenSet = false;
184 bool m_privateIpAddressCountHasBeenSet = false;
185 bool m_secondarySubnetIdHasBeenSet = false;
186 bool m_interfaceTypeHasBeenSet = false;
187 bool m_networkCardIndexHasBeenSet = false;
188};
189
190} // namespace Model
191} // namespace EC2
192} // namespace Aws
InstanceSecondaryInterfaceSpecificationRequest & WithInterfaceType(SecondaryInterfaceType value)
AWS_EC2_API InstanceSecondaryInterfaceSpecificationRequest & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
InstanceSecondaryInterfaceSpecificationRequest & AddPrivateIpAddresses(PrivateIpAddressesT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
InstanceSecondaryInterfaceSpecificationRequest & WithDeleteOnTermination(bool value)
InstanceSecondaryInterfaceSpecificationRequest & WithPrivateIpAddressCount(int value)
AWS_EC2_API InstanceSecondaryInterfaceSpecificationRequest(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::Vector< InstanceSecondaryInterfacePrivateIpAddressRequest > & GetPrivateIpAddresses() const
InstanceSecondaryInterfaceSpecificationRequest & WithPrivateIpAddresses(PrivateIpAddressesT &&value)
InstanceSecondaryInterfaceSpecificationRequest & WithSecondarySubnetId(SecondarySubnetIdT &&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