1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/elasticmapreduce/EMR_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/elasticmapreduce/model/InstanceStatus.h>
10 #include <aws/elasticmapreduce/model/MarketType.h>
11 #include <aws/core/utils/memory/stl/AWSVector.h>
12 #include <aws/elasticmapreduce/model/EbsVolume.h>
13 #include <utility>
14 
15 namespace Aws
16 {
17 namespace Utils
18 {
19 namespace Json
20 {
21   class JsonValue;
22   class JsonView;
23 } // namespace Json
24 } // namespace Utils
25 namespace EMR
26 {
27 namespace Model
28 {
29 
30   /**
31    * <p>Represents an EC2 instance provisioned as part of cluster.</p><p><h3>See
32    * Also:</h3>   <a
33    * href="http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/Instance">AWS
34    * API Reference</a></p>
35    */
36   class AWS_EMR_API Instance
37   {
38   public:
39     Instance();
40     Instance(Aws::Utils::Json::JsonView jsonValue);
41     Instance& operator=(Aws::Utils::Json::JsonView jsonValue);
42     Aws::Utils::Json::JsonValue Jsonize() const;
43 
44 
45     /**
46      * <p>The unique identifier for the instance in Amazon EMR.</p>
47      */
GetId()48     inline const Aws::String& GetId() const{ return m_id; }
49 
50     /**
51      * <p>The unique identifier for the instance in Amazon EMR.</p>
52      */
IdHasBeenSet()53     inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
54 
55     /**
56      * <p>The unique identifier for the instance in Amazon EMR.</p>
57      */
SetId(const Aws::String & value)58     inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
59 
60     /**
61      * <p>The unique identifier for the instance in Amazon EMR.</p>
62      */
SetId(Aws::String && value)63     inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); }
64 
65     /**
66      * <p>The unique identifier for the instance in Amazon EMR.</p>
67      */
SetId(const char * value)68     inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
69 
70     /**
71      * <p>The unique identifier for the instance in Amazon EMR.</p>
72      */
WithId(const Aws::String & value)73     inline Instance& WithId(const Aws::String& value) { SetId(value); return *this;}
74 
75     /**
76      * <p>The unique identifier for the instance in Amazon EMR.</p>
77      */
WithId(Aws::String && value)78     inline Instance& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
79 
80     /**
81      * <p>The unique identifier for the instance in Amazon EMR.</p>
82      */
WithId(const char * value)83     inline Instance& WithId(const char* value) { SetId(value); return *this;}
84 
85 
86     /**
87      * <p>The unique identifier of the instance in Amazon EC2.</p>
88      */
GetEc2InstanceId()89     inline const Aws::String& GetEc2InstanceId() const{ return m_ec2InstanceId; }
90 
91     /**
92      * <p>The unique identifier of the instance in Amazon EC2.</p>
93      */
Ec2InstanceIdHasBeenSet()94     inline bool Ec2InstanceIdHasBeenSet() const { return m_ec2InstanceIdHasBeenSet; }
95 
96     /**
97      * <p>The unique identifier of the instance in Amazon EC2.</p>
98      */
SetEc2InstanceId(const Aws::String & value)99     inline void SetEc2InstanceId(const Aws::String& value) { m_ec2InstanceIdHasBeenSet = true; m_ec2InstanceId = value; }
100 
101     /**
102      * <p>The unique identifier of the instance in Amazon EC2.</p>
103      */
SetEc2InstanceId(Aws::String && value)104     inline void SetEc2InstanceId(Aws::String&& value) { m_ec2InstanceIdHasBeenSet = true; m_ec2InstanceId = std::move(value); }
105 
106     /**
107      * <p>The unique identifier of the instance in Amazon EC2.</p>
108      */
SetEc2InstanceId(const char * value)109     inline void SetEc2InstanceId(const char* value) { m_ec2InstanceIdHasBeenSet = true; m_ec2InstanceId.assign(value); }
110 
111     /**
112      * <p>The unique identifier of the instance in Amazon EC2.</p>
113      */
WithEc2InstanceId(const Aws::String & value)114     inline Instance& WithEc2InstanceId(const Aws::String& value) { SetEc2InstanceId(value); return *this;}
115 
116     /**
117      * <p>The unique identifier of the instance in Amazon EC2.</p>
118      */
WithEc2InstanceId(Aws::String && value)119     inline Instance& WithEc2InstanceId(Aws::String&& value) { SetEc2InstanceId(std::move(value)); return *this;}
120 
121     /**
122      * <p>The unique identifier of the instance in Amazon EC2.</p>
123      */
WithEc2InstanceId(const char * value)124     inline Instance& WithEc2InstanceId(const char* value) { SetEc2InstanceId(value); return *this;}
125 
126 
127     /**
128      * <p>The public DNS name of the instance.</p>
129      */
GetPublicDnsName()130     inline const Aws::String& GetPublicDnsName() const{ return m_publicDnsName; }
131 
132     /**
133      * <p>The public DNS name of the instance.</p>
134      */
PublicDnsNameHasBeenSet()135     inline bool PublicDnsNameHasBeenSet() const { return m_publicDnsNameHasBeenSet; }
136 
137     /**
138      * <p>The public DNS name of the instance.</p>
139      */
SetPublicDnsName(const Aws::String & value)140     inline void SetPublicDnsName(const Aws::String& value) { m_publicDnsNameHasBeenSet = true; m_publicDnsName = value; }
141 
142     /**
143      * <p>The public DNS name of the instance.</p>
144      */
SetPublicDnsName(Aws::String && value)145     inline void SetPublicDnsName(Aws::String&& value) { m_publicDnsNameHasBeenSet = true; m_publicDnsName = std::move(value); }
146 
147     /**
148      * <p>The public DNS name of the instance.</p>
149      */
SetPublicDnsName(const char * value)150     inline void SetPublicDnsName(const char* value) { m_publicDnsNameHasBeenSet = true; m_publicDnsName.assign(value); }
151 
152     /**
153      * <p>The public DNS name of the instance.</p>
154      */
WithPublicDnsName(const Aws::String & value)155     inline Instance& WithPublicDnsName(const Aws::String& value) { SetPublicDnsName(value); return *this;}
156 
157     /**
158      * <p>The public DNS name of the instance.</p>
159      */
WithPublicDnsName(Aws::String && value)160     inline Instance& WithPublicDnsName(Aws::String&& value) { SetPublicDnsName(std::move(value)); return *this;}
161 
162     /**
163      * <p>The public DNS name of the instance.</p>
164      */
WithPublicDnsName(const char * value)165     inline Instance& WithPublicDnsName(const char* value) { SetPublicDnsName(value); return *this;}
166 
167 
168     /**
169      * <p>The public IP address of the instance.</p>
170      */
GetPublicIpAddress()171     inline const Aws::String& GetPublicIpAddress() const{ return m_publicIpAddress; }
172 
173     /**
174      * <p>The public IP address of the instance.</p>
175      */
PublicIpAddressHasBeenSet()176     inline bool PublicIpAddressHasBeenSet() const { return m_publicIpAddressHasBeenSet; }
177 
178     /**
179      * <p>The public IP address of the instance.</p>
180      */
SetPublicIpAddress(const Aws::String & value)181     inline void SetPublicIpAddress(const Aws::String& value) { m_publicIpAddressHasBeenSet = true; m_publicIpAddress = value; }
182 
183     /**
184      * <p>The public IP address of the instance.</p>
185      */
SetPublicIpAddress(Aws::String && value)186     inline void SetPublicIpAddress(Aws::String&& value) { m_publicIpAddressHasBeenSet = true; m_publicIpAddress = std::move(value); }
187 
188     /**
189      * <p>The public IP address of the instance.</p>
190      */
SetPublicIpAddress(const char * value)191     inline void SetPublicIpAddress(const char* value) { m_publicIpAddressHasBeenSet = true; m_publicIpAddress.assign(value); }
192 
193     /**
194      * <p>The public IP address of the instance.</p>
195      */
WithPublicIpAddress(const Aws::String & value)196     inline Instance& WithPublicIpAddress(const Aws::String& value) { SetPublicIpAddress(value); return *this;}
197 
198     /**
199      * <p>The public IP address of the instance.</p>
200      */
WithPublicIpAddress(Aws::String && value)201     inline Instance& WithPublicIpAddress(Aws::String&& value) { SetPublicIpAddress(std::move(value)); return *this;}
202 
203     /**
204      * <p>The public IP address of the instance.</p>
205      */
WithPublicIpAddress(const char * value)206     inline Instance& WithPublicIpAddress(const char* value) { SetPublicIpAddress(value); return *this;}
207 
208 
209     /**
210      * <p>The private DNS name of the instance.</p>
211      */
GetPrivateDnsName()212     inline const Aws::String& GetPrivateDnsName() const{ return m_privateDnsName; }
213 
214     /**
215      * <p>The private DNS name of the instance.</p>
216      */
PrivateDnsNameHasBeenSet()217     inline bool PrivateDnsNameHasBeenSet() const { return m_privateDnsNameHasBeenSet; }
218 
219     /**
220      * <p>The private DNS name of the instance.</p>
221      */
SetPrivateDnsName(const Aws::String & value)222     inline void SetPrivateDnsName(const Aws::String& value) { m_privateDnsNameHasBeenSet = true; m_privateDnsName = value; }
223 
224     /**
225      * <p>The private DNS name of the instance.</p>
226      */
SetPrivateDnsName(Aws::String && value)227     inline void SetPrivateDnsName(Aws::String&& value) { m_privateDnsNameHasBeenSet = true; m_privateDnsName = std::move(value); }
228 
229     /**
230      * <p>The private DNS name of the instance.</p>
231      */
SetPrivateDnsName(const char * value)232     inline void SetPrivateDnsName(const char* value) { m_privateDnsNameHasBeenSet = true; m_privateDnsName.assign(value); }
233 
234     /**
235      * <p>The private DNS name of the instance.</p>
236      */
WithPrivateDnsName(const Aws::String & value)237     inline Instance& WithPrivateDnsName(const Aws::String& value) { SetPrivateDnsName(value); return *this;}
238 
239     /**
240      * <p>The private DNS name of the instance.</p>
241      */
WithPrivateDnsName(Aws::String && value)242     inline Instance& WithPrivateDnsName(Aws::String&& value) { SetPrivateDnsName(std::move(value)); return *this;}
243 
244     /**
245      * <p>The private DNS name of the instance.</p>
246      */
WithPrivateDnsName(const char * value)247     inline Instance& WithPrivateDnsName(const char* value) { SetPrivateDnsName(value); return *this;}
248 
249 
250     /**
251      * <p>The private IP address of the instance.</p>
252      */
GetPrivateIpAddress()253     inline const Aws::String& GetPrivateIpAddress() const{ return m_privateIpAddress; }
254 
255     /**
256      * <p>The private IP address of the instance.</p>
257      */
PrivateIpAddressHasBeenSet()258     inline bool PrivateIpAddressHasBeenSet() const { return m_privateIpAddressHasBeenSet; }
259 
260     /**
261      * <p>The private IP address of the instance.</p>
262      */
SetPrivateIpAddress(const Aws::String & value)263     inline void SetPrivateIpAddress(const Aws::String& value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress = value; }
264 
265     /**
266      * <p>The private IP address of the instance.</p>
267      */
SetPrivateIpAddress(Aws::String && value)268     inline void SetPrivateIpAddress(Aws::String&& value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress = std::move(value); }
269 
270     /**
271      * <p>The private IP address of the instance.</p>
272      */
SetPrivateIpAddress(const char * value)273     inline void SetPrivateIpAddress(const char* value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress.assign(value); }
274 
275     /**
276      * <p>The private IP address of the instance.</p>
277      */
WithPrivateIpAddress(const Aws::String & value)278     inline Instance& WithPrivateIpAddress(const Aws::String& value) { SetPrivateIpAddress(value); return *this;}
279 
280     /**
281      * <p>The private IP address of the instance.</p>
282      */
WithPrivateIpAddress(Aws::String && value)283     inline Instance& WithPrivateIpAddress(Aws::String&& value) { SetPrivateIpAddress(std::move(value)); return *this;}
284 
285     /**
286      * <p>The private IP address of the instance.</p>
287      */
WithPrivateIpAddress(const char * value)288     inline Instance& WithPrivateIpAddress(const char* value) { SetPrivateIpAddress(value); return *this;}
289 
290 
291     /**
292      * <p>The current status of the instance.</p>
293      */
GetStatus()294     inline const InstanceStatus& GetStatus() const{ return m_status; }
295 
296     /**
297      * <p>The current status of the instance.</p>
298      */
StatusHasBeenSet()299     inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
300 
301     /**
302      * <p>The current status of the instance.</p>
303      */
SetStatus(const InstanceStatus & value)304     inline void SetStatus(const InstanceStatus& value) { m_statusHasBeenSet = true; m_status = value; }
305 
306     /**
307      * <p>The current status of the instance.</p>
308      */
SetStatus(InstanceStatus && value)309     inline void SetStatus(InstanceStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
310 
311     /**
312      * <p>The current status of the instance.</p>
313      */
WithStatus(const InstanceStatus & value)314     inline Instance& WithStatus(const InstanceStatus& value) { SetStatus(value); return *this;}
315 
316     /**
317      * <p>The current status of the instance.</p>
318      */
WithStatus(InstanceStatus && value)319     inline Instance& WithStatus(InstanceStatus&& value) { SetStatus(std::move(value)); return *this;}
320 
321 
322     /**
323      * <p>The identifier of the instance group to which this instance belongs.</p>
324      */
GetInstanceGroupId()325     inline const Aws::String& GetInstanceGroupId() const{ return m_instanceGroupId; }
326 
327     /**
328      * <p>The identifier of the instance group to which this instance belongs.</p>
329      */
InstanceGroupIdHasBeenSet()330     inline bool InstanceGroupIdHasBeenSet() const { return m_instanceGroupIdHasBeenSet; }
331 
332     /**
333      * <p>The identifier of the instance group to which this instance belongs.</p>
334      */
SetInstanceGroupId(const Aws::String & value)335     inline void SetInstanceGroupId(const Aws::String& value) { m_instanceGroupIdHasBeenSet = true; m_instanceGroupId = value; }
336 
337     /**
338      * <p>The identifier of the instance group to which this instance belongs.</p>
339      */
SetInstanceGroupId(Aws::String && value)340     inline void SetInstanceGroupId(Aws::String&& value) { m_instanceGroupIdHasBeenSet = true; m_instanceGroupId = std::move(value); }
341 
342     /**
343      * <p>The identifier of the instance group to which this instance belongs.</p>
344      */
SetInstanceGroupId(const char * value)345     inline void SetInstanceGroupId(const char* value) { m_instanceGroupIdHasBeenSet = true; m_instanceGroupId.assign(value); }
346 
347     /**
348      * <p>The identifier of the instance group to which this instance belongs.</p>
349      */
WithInstanceGroupId(const Aws::String & value)350     inline Instance& WithInstanceGroupId(const Aws::String& value) { SetInstanceGroupId(value); return *this;}
351 
352     /**
353      * <p>The identifier of the instance group to which this instance belongs.</p>
354      */
WithInstanceGroupId(Aws::String && value)355     inline Instance& WithInstanceGroupId(Aws::String&& value) { SetInstanceGroupId(std::move(value)); return *this;}
356 
357     /**
358      * <p>The identifier of the instance group to which this instance belongs.</p>
359      */
WithInstanceGroupId(const char * value)360     inline Instance& WithInstanceGroupId(const char* value) { SetInstanceGroupId(value); return *this;}
361 
362 
363     /**
364      * <p>The unique identifier of the instance fleet to which an EC2 instance
365      * belongs.</p>
366      */
GetInstanceFleetId()367     inline const Aws::String& GetInstanceFleetId() const{ return m_instanceFleetId; }
368 
369     /**
370      * <p>The unique identifier of the instance fleet to which an EC2 instance
371      * belongs.</p>
372      */
InstanceFleetIdHasBeenSet()373     inline bool InstanceFleetIdHasBeenSet() const { return m_instanceFleetIdHasBeenSet; }
374 
375     /**
376      * <p>The unique identifier of the instance fleet to which an EC2 instance
377      * belongs.</p>
378      */
SetInstanceFleetId(const Aws::String & value)379     inline void SetInstanceFleetId(const Aws::String& value) { m_instanceFleetIdHasBeenSet = true; m_instanceFleetId = value; }
380 
381     /**
382      * <p>The unique identifier of the instance fleet to which an EC2 instance
383      * belongs.</p>
384      */
SetInstanceFleetId(Aws::String && value)385     inline void SetInstanceFleetId(Aws::String&& value) { m_instanceFleetIdHasBeenSet = true; m_instanceFleetId = std::move(value); }
386 
387     /**
388      * <p>The unique identifier of the instance fleet to which an EC2 instance
389      * belongs.</p>
390      */
SetInstanceFleetId(const char * value)391     inline void SetInstanceFleetId(const char* value) { m_instanceFleetIdHasBeenSet = true; m_instanceFleetId.assign(value); }
392 
393     /**
394      * <p>The unique identifier of the instance fleet to which an EC2 instance
395      * belongs.</p>
396      */
WithInstanceFleetId(const Aws::String & value)397     inline Instance& WithInstanceFleetId(const Aws::String& value) { SetInstanceFleetId(value); return *this;}
398 
399     /**
400      * <p>The unique identifier of the instance fleet to which an EC2 instance
401      * belongs.</p>
402      */
WithInstanceFleetId(Aws::String && value)403     inline Instance& WithInstanceFleetId(Aws::String&& value) { SetInstanceFleetId(std::move(value)); return *this;}
404 
405     /**
406      * <p>The unique identifier of the instance fleet to which an EC2 instance
407      * belongs.</p>
408      */
WithInstanceFleetId(const char * value)409     inline Instance& WithInstanceFleetId(const char* value) { SetInstanceFleetId(value); return *this;}
410 
411 
412     /**
413      * <p>The instance purchasing option. Valid values are <code>ON_DEMAND</code> or
414      * <code>SPOT</code>. </p>
415      */
GetMarket()416     inline const MarketType& GetMarket() const{ return m_market; }
417 
418     /**
419      * <p>The instance purchasing option. Valid values are <code>ON_DEMAND</code> or
420      * <code>SPOT</code>. </p>
421      */
MarketHasBeenSet()422     inline bool MarketHasBeenSet() const { return m_marketHasBeenSet; }
423 
424     /**
425      * <p>The instance purchasing option. Valid values are <code>ON_DEMAND</code> or
426      * <code>SPOT</code>. </p>
427      */
SetMarket(const MarketType & value)428     inline void SetMarket(const MarketType& value) { m_marketHasBeenSet = true; m_market = value; }
429 
430     /**
431      * <p>The instance purchasing option. Valid values are <code>ON_DEMAND</code> or
432      * <code>SPOT</code>. </p>
433      */
SetMarket(MarketType && value)434     inline void SetMarket(MarketType&& value) { m_marketHasBeenSet = true; m_market = std::move(value); }
435 
436     /**
437      * <p>The instance purchasing option. Valid values are <code>ON_DEMAND</code> or
438      * <code>SPOT</code>. </p>
439      */
WithMarket(const MarketType & value)440     inline Instance& WithMarket(const MarketType& value) { SetMarket(value); return *this;}
441 
442     /**
443      * <p>The instance purchasing option. Valid values are <code>ON_DEMAND</code> or
444      * <code>SPOT</code>. </p>
445      */
WithMarket(MarketType && value)446     inline Instance& WithMarket(MarketType&& value) { SetMarket(std::move(value)); return *this;}
447 
448 
449     /**
450      * <p>The EC2 instance type, for example <code>m3.xlarge</code>.</p>
451      */
GetInstanceType()452     inline const Aws::String& GetInstanceType() const{ return m_instanceType; }
453 
454     /**
455      * <p>The EC2 instance type, for example <code>m3.xlarge</code>.</p>
456      */
InstanceTypeHasBeenSet()457     inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
458 
459     /**
460      * <p>The EC2 instance type, for example <code>m3.xlarge</code>.</p>
461      */
SetInstanceType(const Aws::String & value)462     inline void SetInstanceType(const Aws::String& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; }
463 
464     /**
465      * <p>The EC2 instance type, for example <code>m3.xlarge</code>.</p>
466      */
SetInstanceType(Aws::String && value)467     inline void SetInstanceType(Aws::String&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); }
468 
469     /**
470      * <p>The EC2 instance type, for example <code>m3.xlarge</code>.</p>
471      */
SetInstanceType(const char * value)472     inline void SetInstanceType(const char* value) { m_instanceTypeHasBeenSet = true; m_instanceType.assign(value); }
473 
474     /**
475      * <p>The EC2 instance type, for example <code>m3.xlarge</code>.</p>
476      */
WithInstanceType(const Aws::String & value)477     inline Instance& WithInstanceType(const Aws::String& value) { SetInstanceType(value); return *this;}
478 
479     /**
480      * <p>The EC2 instance type, for example <code>m3.xlarge</code>.</p>
481      */
WithInstanceType(Aws::String && value)482     inline Instance& WithInstanceType(Aws::String&& value) { SetInstanceType(std::move(value)); return *this;}
483 
484     /**
485      * <p>The EC2 instance type, for example <code>m3.xlarge</code>.</p>
486      */
WithInstanceType(const char * value)487     inline Instance& WithInstanceType(const char* value) { SetInstanceType(value); return *this;}
488 
489 
490     /**
491      * <p>The list of Amazon EBS volumes that are attached to this instance.</p>
492      */
GetEbsVolumes()493     inline const Aws::Vector<EbsVolume>& GetEbsVolumes() const{ return m_ebsVolumes; }
494 
495     /**
496      * <p>The list of Amazon EBS volumes that are attached to this instance.</p>
497      */
EbsVolumesHasBeenSet()498     inline bool EbsVolumesHasBeenSet() const { return m_ebsVolumesHasBeenSet; }
499 
500     /**
501      * <p>The list of Amazon EBS volumes that are attached to this instance.</p>
502      */
SetEbsVolumes(const Aws::Vector<EbsVolume> & value)503     inline void SetEbsVolumes(const Aws::Vector<EbsVolume>& value) { m_ebsVolumesHasBeenSet = true; m_ebsVolumes = value; }
504 
505     /**
506      * <p>The list of Amazon EBS volumes that are attached to this instance.</p>
507      */
SetEbsVolumes(Aws::Vector<EbsVolume> && value)508     inline void SetEbsVolumes(Aws::Vector<EbsVolume>&& value) { m_ebsVolumesHasBeenSet = true; m_ebsVolumes = std::move(value); }
509 
510     /**
511      * <p>The list of Amazon EBS volumes that are attached to this instance.</p>
512      */
WithEbsVolumes(const Aws::Vector<EbsVolume> & value)513     inline Instance& WithEbsVolumes(const Aws::Vector<EbsVolume>& value) { SetEbsVolumes(value); return *this;}
514 
515     /**
516      * <p>The list of Amazon EBS volumes that are attached to this instance.</p>
517      */
WithEbsVolumes(Aws::Vector<EbsVolume> && value)518     inline Instance& WithEbsVolumes(Aws::Vector<EbsVolume>&& value) { SetEbsVolumes(std::move(value)); return *this;}
519 
520     /**
521      * <p>The list of Amazon EBS volumes that are attached to this instance.</p>
522      */
AddEbsVolumes(const EbsVolume & value)523     inline Instance& AddEbsVolumes(const EbsVolume& value) { m_ebsVolumesHasBeenSet = true; m_ebsVolumes.push_back(value); return *this; }
524 
525     /**
526      * <p>The list of Amazon EBS volumes that are attached to this instance.</p>
527      */
AddEbsVolumes(EbsVolume && value)528     inline Instance& AddEbsVolumes(EbsVolume&& value) { m_ebsVolumesHasBeenSet = true; m_ebsVolumes.push_back(std::move(value)); return *this; }
529 
530   private:
531 
532     Aws::String m_id;
533     bool m_idHasBeenSet;
534 
535     Aws::String m_ec2InstanceId;
536     bool m_ec2InstanceIdHasBeenSet;
537 
538     Aws::String m_publicDnsName;
539     bool m_publicDnsNameHasBeenSet;
540 
541     Aws::String m_publicIpAddress;
542     bool m_publicIpAddressHasBeenSet;
543 
544     Aws::String m_privateDnsName;
545     bool m_privateDnsNameHasBeenSet;
546 
547     Aws::String m_privateIpAddress;
548     bool m_privateIpAddressHasBeenSet;
549 
550     InstanceStatus m_status;
551     bool m_statusHasBeenSet;
552 
553     Aws::String m_instanceGroupId;
554     bool m_instanceGroupIdHasBeenSet;
555 
556     Aws::String m_instanceFleetId;
557     bool m_instanceFleetIdHasBeenSet;
558 
559     MarketType m_market;
560     bool m_marketHasBeenSet;
561 
562     Aws::String m_instanceType;
563     bool m_instanceTypeHasBeenSet;
564 
565     Aws::Vector<EbsVolume> m_ebsVolumes;
566     bool m_ebsVolumesHasBeenSet;
567   };
568 
569 } // namespace Model
570 } // namespace EMR
571 } // namespace Aws
572