AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
Ec2InstanceAttributes.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/elasticmapreduce/EMR_EXPORTS.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Json {
16class JsonValue;
17class JsonView;
18} // namespace Json
19} // namespace Utils
20namespace EMR {
21namespace Model {
22
31 public:
32 AWS_EMR_API Ec2InstanceAttributes() = default;
36
38
42 inline const Aws::String& GetEc2KeyName() const { return m_ec2KeyName; }
43 inline bool Ec2KeyNameHasBeenSet() const { return m_ec2KeyNameHasBeenSet; }
44 template <typename Ec2KeyNameT = Aws::String>
45 void SetEc2KeyName(Ec2KeyNameT&& value) {
46 m_ec2KeyNameHasBeenSet = true;
47 m_ec2KeyName = std::forward<Ec2KeyNameT>(value);
48 }
49 template <typename Ec2KeyNameT = Aws::String>
50 Ec2InstanceAttributes& WithEc2KeyName(Ec2KeyNameT&& value) {
51 SetEc2KeyName(std::forward<Ec2KeyNameT>(value));
52 return *this;
53 }
55
57
62 inline const Aws::String& GetEc2SubnetId() const { return m_ec2SubnetId; }
63 inline bool Ec2SubnetIdHasBeenSet() const { return m_ec2SubnetIdHasBeenSet; }
64 template <typename Ec2SubnetIdT = Aws::String>
65 void SetEc2SubnetId(Ec2SubnetIdT&& value) {
66 m_ec2SubnetIdHasBeenSet = true;
67 m_ec2SubnetId = std::forward<Ec2SubnetIdT>(value);
68 }
69 template <typename Ec2SubnetIdT = Aws::String>
70 Ec2InstanceAttributes& WithEc2SubnetId(Ec2SubnetIdT&& value) {
71 SetEc2SubnetId(std::forward<Ec2SubnetIdT>(value));
72 return *this;
73 }
75
77
90 inline const Aws::Vector<Aws::String>& GetRequestedEc2SubnetIds() const { return m_requestedEc2SubnetIds; }
91 inline bool RequestedEc2SubnetIdsHasBeenSet() const { return m_requestedEc2SubnetIdsHasBeenSet; }
92 template <typename RequestedEc2SubnetIdsT = Aws::Vector<Aws::String>>
93 void SetRequestedEc2SubnetIds(RequestedEc2SubnetIdsT&& value) {
94 m_requestedEc2SubnetIdsHasBeenSet = true;
95 m_requestedEc2SubnetIds = std::forward<RequestedEc2SubnetIdsT>(value);
96 }
97 template <typename RequestedEc2SubnetIdsT = Aws::Vector<Aws::String>>
98 Ec2InstanceAttributes& WithRequestedEc2SubnetIds(RequestedEc2SubnetIdsT&& value) {
99 SetRequestedEc2SubnetIds(std::forward<RequestedEc2SubnetIdsT>(value));
100 return *this;
101 }
102 template <typename RequestedEc2SubnetIdsT = Aws::String>
103 Ec2InstanceAttributes& AddRequestedEc2SubnetIds(RequestedEc2SubnetIdsT&& value) {
104 m_requestedEc2SubnetIdsHasBeenSet = true;
105 m_requestedEc2SubnetIds.emplace_back(std::forward<RequestedEc2SubnetIdsT>(value));
106 return *this;
107 }
109
111
114 inline const Aws::String& GetEc2AvailabilityZone() const { return m_ec2AvailabilityZone; }
115 inline bool Ec2AvailabilityZoneHasBeenSet() const { return m_ec2AvailabilityZoneHasBeenSet; }
116 template <typename Ec2AvailabilityZoneT = Aws::String>
117 void SetEc2AvailabilityZone(Ec2AvailabilityZoneT&& value) {
118 m_ec2AvailabilityZoneHasBeenSet = true;
119 m_ec2AvailabilityZone = std::forward<Ec2AvailabilityZoneT>(value);
120 }
121 template <typename Ec2AvailabilityZoneT = Aws::String>
122 Ec2InstanceAttributes& WithEc2AvailabilityZone(Ec2AvailabilityZoneT&& value) {
123 SetEc2AvailabilityZone(std::forward<Ec2AvailabilityZoneT>(value));
124 return *this;
125 }
127
129
140 inline const Aws::Vector<Aws::String>& GetRequestedEc2AvailabilityZones() const { return m_requestedEc2AvailabilityZones; }
141 inline bool RequestedEc2AvailabilityZonesHasBeenSet() const { return m_requestedEc2AvailabilityZonesHasBeenSet; }
142 template <typename RequestedEc2AvailabilityZonesT = Aws::Vector<Aws::String>>
143 void SetRequestedEc2AvailabilityZones(RequestedEc2AvailabilityZonesT&& value) {
144 m_requestedEc2AvailabilityZonesHasBeenSet = true;
145 m_requestedEc2AvailabilityZones = std::forward<RequestedEc2AvailabilityZonesT>(value);
146 }
147 template <typename RequestedEc2AvailabilityZonesT = Aws::Vector<Aws::String>>
148 Ec2InstanceAttributes& WithRequestedEc2AvailabilityZones(RequestedEc2AvailabilityZonesT&& value) {
149 SetRequestedEc2AvailabilityZones(std::forward<RequestedEc2AvailabilityZonesT>(value));
150 return *this;
151 }
152 template <typename RequestedEc2AvailabilityZonesT = Aws::String>
153 Ec2InstanceAttributes& AddRequestedEc2AvailabilityZones(RequestedEc2AvailabilityZonesT&& value) {
154 m_requestedEc2AvailabilityZonesHasBeenSet = true;
155 m_requestedEc2AvailabilityZones.emplace_back(std::forward<RequestedEc2AvailabilityZonesT>(value));
156 return *this;
157 }
159
161
165 inline const Aws::String& GetIamInstanceProfile() const { return m_iamInstanceProfile; }
166 inline bool IamInstanceProfileHasBeenSet() const { return m_iamInstanceProfileHasBeenSet; }
167 template <typename IamInstanceProfileT = Aws::String>
168 void SetIamInstanceProfile(IamInstanceProfileT&& value) {
169 m_iamInstanceProfileHasBeenSet = true;
170 m_iamInstanceProfile = std::forward<IamInstanceProfileT>(value);
171 }
172 template <typename IamInstanceProfileT = Aws::String>
173 Ec2InstanceAttributes& WithIamInstanceProfile(IamInstanceProfileT&& value) {
174 SetIamInstanceProfile(std::forward<IamInstanceProfileT>(value));
175 return *this;
176 }
178
180
183 inline const Aws::String& GetEmrManagedMasterSecurityGroup() const { return m_emrManagedMasterSecurityGroup; }
184 inline bool EmrManagedMasterSecurityGroupHasBeenSet() const { return m_emrManagedMasterSecurityGroupHasBeenSet; }
185 template <typename EmrManagedMasterSecurityGroupT = Aws::String>
186 void SetEmrManagedMasterSecurityGroup(EmrManagedMasterSecurityGroupT&& value) {
187 m_emrManagedMasterSecurityGroupHasBeenSet = true;
188 m_emrManagedMasterSecurityGroup = std::forward<EmrManagedMasterSecurityGroupT>(value);
189 }
190 template <typename EmrManagedMasterSecurityGroupT = Aws::String>
191 Ec2InstanceAttributes& WithEmrManagedMasterSecurityGroup(EmrManagedMasterSecurityGroupT&& value) {
192 SetEmrManagedMasterSecurityGroup(std::forward<EmrManagedMasterSecurityGroupT>(value));
193 return *this;
194 }
196
198
202 inline const Aws::String& GetEmrManagedSlaveSecurityGroup() const { return m_emrManagedSlaveSecurityGroup; }
203 inline bool EmrManagedSlaveSecurityGroupHasBeenSet() const { return m_emrManagedSlaveSecurityGroupHasBeenSet; }
204 template <typename EmrManagedSlaveSecurityGroupT = Aws::String>
205 void SetEmrManagedSlaveSecurityGroup(EmrManagedSlaveSecurityGroupT&& value) {
206 m_emrManagedSlaveSecurityGroupHasBeenSet = true;
207 m_emrManagedSlaveSecurityGroup = std::forward<EmrManagedSlaveSecurityGroupT>(value);
208 }
209 template <typename EmrManagedSlaveSecurityGroupT = Aws::String>
210 Ec2InstanceAttributes& WithEmrManagedSlaveSecurityGroup(EmrManagedSlaveSecurityGroupT&& value) {
211 SetEmrManagedSlaveSecurityGroup(std::forward<EmrManagedSlaveSecurityGroupT>(value));
212 return *this;
213 }
215
217
221 inline const Aws::String& GetServiceAccessSecurityGroup() const { return m_serviceAccessSecurityGroup; }
222 inline bool ServiceAccessSecurityGroupHasBeenSet() const { return m_serviceAccessSecurityGroupHasBeenSet; }
223 template <typename ServiceAccessSecurityGroupT = Aws::String>
224 void SetServiceAccessSecurityGroup(ServiceAccessSecurityGroupT&& value) {
225 m_serviceAccessSecurityGroupHasBeenSet = true;
226 m_serviceAccessSecurityGroup = std::forward<ServiceAccessSecurityGroupT>(value);
227 }
228 template <typename ServiceAccessSecurityGroupT = Aws::String>
229 Ec2InstanceAttributes& WithServiceAccessSecurityGroup(ServiceAccessSecurityGroupT&& value) {
230 SetServiceAccessSecurityGroup(std::forward<ServiceAccessSecurityGroupT>(value));
231 return *this;
232 }
234
236
239 inline const Aws::Vector<Aws::String>& GetAdditionalMasterSecurityGroups() const { return m_additionalMasterSecurityGroups; }
240 inline bool AdditionalMasterSecurityGroupsHasBeenSet() const { return m_additionalMasterSecurityGroupsHasBeenSet; }
241 template <typename AdditionalMasterSecurityGroupsT = Aws::Vector<Aws::String>>
242 void SetAdditionalMasterSecurityGroups(AdditionalMasterSecurityGroupsT&& value) {
243 m_additionalMasterSecurityGroupsHasBeenSet = true;
244 m_additionalMasterSecurityGroups = std::forward<AdditionalMasterSecurityGroupsT>(value);
245 }
246 template <typename AdditionalMasterSecurityGroupsT = Aws::Vector<Aws::String>>
247 Ec2InstanceAttributes& WithAdditionalMasterSecurityGroups(AdditionalMasterSecurityGroupsT&& value) {
248 SetAdditionalMasterSecurityGroups(std::forward<AdditionalMasterSecurityGroupsT>(value));
249 return *this;
250 }
251 template <typename AdditionalMasterSecurityGroupsT = Aws::String>
252 Ec2InstanceAttributes& AddAdditionalMasterSecurityGroups(AdditionalMasterSecurityGroupsT&& value) {
253 m_additionalMasterSecurityGroupsHasBeenSet = true;
254 m_additionalMasterSecurityGroups.emplace_back(std::forward<AdditionalMasterSecurityGroupsT>(value));
255 return *this;
256 }
258
260
264 inline const Aws::Vector<Aws::String>& GetAdditionalSlaveSecurityGroups() const { return m_additionalSlaveSecurityGroups; }
265 inline bool AdditionalSlaveSecurityGroupsHasBeenSet() const { return m_additionalSlaveSecurityGroupsHasBeenSet; }
266 template <typename AdditionalSlaveSecurityGroupsT = Aws::Vector<Aws::String>>
267 void SetAdditionalSlaveSecurityGroups(AdditionalSlaveSecurityGroupsT&& value) {
268 m_additionalSlaveSecurityGroupsHasBeenSet = true;
269 m_additionalSlaveSecurityGroups = std::forward<AdditionalSlaveSecurityGroupsT>(value);
270 }
271 template <typename AdditionalSlaveSecurityGroupsT = Aws::Vector<Aws::String>>
272 Ec2InstanceAttributes& WithAdditionalSlaveSecurityGroups(AdditionalSlaveSecurityGroupsT&& value) {
273 SetAdditionalSlaveSecurityGroups(std::forward<AdditionalSlaveSecurityGroupsT>(value));
274 return *this;
275 }
276 template <typename AdditionalSlaveSecurityGroupsT = Aws::String>
277 Ec2InstanceAttributes& AddAdditionalSlaveSecurityGroups(AdditionalSlaveSecurityGroupsT&& value) {
278 m_additionalSlaveSecurityGroupsHasBeenSet = true;
279 m_additionalSlaveSecurityGroups.emplace_back(std::forward<AdditionalSlaveSecurityGroupsT>(value));
280 return *this;
281 }
283 private:
284 Aws::String m_ec2KeyName;
285
286 Aws::String m_ec2SubnetId;
287
288 Aws::Vector<Aws::String> m_requestedEc2SubnetIds;
289
290 Aws::String m_ec2AvailabilityZone;
291
292 Aws::Vector<Aws::String> m_requestedEc2AvailabilityZones;
293
294 Aws::String m_iamInstanceProfile;
295
296 Aws::String m_emrManagedMasterSecurityGroup;
297
298 Aws::String m_emrManagedSlaveSecurityGroup;
299
300 Aws::String m_serviceAccessSecurityGroup;
301
302 Aws::Vector<Aws::String> m_additionalMasterSecurityGroups;
303
304 Aws::Vector<Aws::String> m_additionalSlaveSecurityGroups;
305 bool m_ec2KeyNameHasBeenSet = false;
306 bool m_ec2SubnetIdHasBeenSet = false;
307 bool m_requestedEc2SubnetIdsHasBeenSet = false;
308 bool m_ec2AvailabilityZoneHasBeenSet = false;
309 bool m_requestedEc2AvailabilityZonesHasBeenSet = false;
310 bool m_iamInstanceProfileHasBeenSet = false;
311 bool m_emrManagedMasterSecurityGroupHasBeenSet = false;
312 bool m_emrManagedSlaveSecurityGroupHasBeenSet = false;
313 bool m_serviceAccessSecurityGroupHasBeenSet = false;
314 bool m_additionalMasterSecurityGroupsHasBeenSet = false;
315 bool m_additionalSlaveSecurityGroupsHasBeenSet = false;
316};
317
318} // namespace Model
319} // namespace EMR
320} // namespace Aws
const Aws::String & GetIamInstanceProfile() const
AWS_EMR_API Ec2InstanceAttributes()=default
Ec2InstanceAttributes & WithAdditionalSlaveSecurityGroups(AdditionalSlaveSecurityGroupsT &&value)
void SetServiceAccessSecurityGroup(ServiceAccessSecurityGroupT &&value)
const Aws::Vector< Aws::String > & GetRequestedEc2SubnetIds() const
const Aws::Vector< Aws::String > & GetAdditionalMasterSecurityGroups() const
const Aws::Vector< Aws::String > & GetAdditionalSlaveSecurityGroups() const
const Aws::Vector< Aws::String > & GetRequestedEc2AvailabilityZones() const
void SetIamInstanceProfile(IamInstanceProfileT &&value)
AWS_EMR_API Ec2InstanceAttributes & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetServiceAccessSecurityGroup() const
void SetEc2AvailabilityZone(Ec2AvailabilityZoneT &&value)
Ec2InstanceAttributes & WithRequestedEc2SubnetIds(RequestedEc2SubnetIdsT &&value)
Ec2InstanceAttributes & AddAdditionalSlaveSecurityGroups(AdditionalSlaveSecurityGroupsT &&value)
Ec2InstanceAttributes & WithEmrManagedSlaveSecurityGroup(EmrManagedSlaveSecurityGroupT &&value)
Ec2InstanceAttributes & WithAdditionalMasterSecurityGroups(AdditionalMasterSecurityGroupsT &&value)
Ec2InstanceAttributes & WithRequestedEc2AvailabilityZones(RequestedEc2AvailabilityZonesT &&value)
AWS_EMR_API Aws::Utils::Json::JsonValue Jsonize() const
void SetRequestedEc2AvailabilityZones(RequestedEc2AvailabilityZonesT &&value)
void SetAdditionalMasterSecurityGroups(AdditionalMasterSecurityGroupsT &&value)
Ec2InstanceAttributes & WithEc2SubnetId(Ec2SubnetIdT &&value)
Ec2InstanceAttributes & WithEc2AvailabilityZone(Ec2AvailabilityZoneT &&value)
void SetEmrManagedMasterSecurityGroup(EmrManagedMasterSecurityGroupT &&value)
const Aws::String & GetEc2AvailabilityZone() const
AWS_EMR_API Ec2InstanceAttributes(Aws::Utils::Json::JsonView jsonValue)
Ec2InstanceAttributes & AddRequestedEc2SubnetIds(RequestedEc2SubnetIdsT &&value)
Ec2InstanceAttributes & WithEmrManagedMasterSecurityGroup(EmrManagedMasterSecurityGroupT &&value)
const Aws::String & GetEmrManagedSlaveSecurityGroup() const
void SetEmrManagedSlaveSecurityGroup(EmrManagedSlaveSecurityGroupT &&value)
const Aws::String & GetEmrManagedMasterSecurityGroup() const
void SetRequestedEc2SubnetIds(RequestedEc2SubnetIdsT &&value)
Ec2InstanceAttributes & AddRequestedEc2AvailabilityZones(RequestedEc2AvailabilityZonesT &&value)
Ec2InstanceAttributes & WithEc2KeyName(Ec2KeyNameT &&value)
void SetAdditionalSlaveSecurityGroups(AdditionalSlaveSecurityGroupsT &&value)
Ec2InstanceAttributes & AddAdditionalMasterSecurityGroups(AdditionalMasterSecurityGroupsT &&value)
Ec2InstanceAttributes & WithIamInstanceProfile(IamInstanceProfileT &&value)
Ec2InstanceAttributes & WithServiceAccessSecurityGroup(ServiceAccessSecurityGroupT &&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