AWS SDK for C++  0.14.3
AWS SDK for C++
Cluster.h
Go to the documentation of this file.
1 /*
2 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License").
5 * You may not use this file except in compliance with the License.
6 * A copy of the License is located at
7 *
8 * http://aws.amazon.com/apache2.0
9 *
10 * or in the "license" file accompanying this file. This file is distributed
11 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12 * express or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15 #pragma once
24 
25 namespace Aws
26 {
27 namespace Utils
28 {
29 namespace Json
30 {
31  class JsonValue;
32 } // namespace Json
33 } // namespace Utils
34 namespace EMR
35 {
36 namespace Model
37 {
38 
43  {
44  public:
45  Cluster();
46  Cluster(const Aws::Utils::Json::JsonValue& jsonValue);
47  Cluster& operator=(const Aws::Utils::Json::JsonValue& jsonValue);
48  Aws::Utils::Json::JsonValue Jsonize() const;
49 
53  inline const Aws::String& GetId() const{ return m_id; }
54 
58  inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
59 
63  inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = value; }
64 
68  inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
69 
73  inline Cluster& WithId(const Aws::String& value) { SetId(value); return *this;}
74 
78  inline Cluster& WithId(Aws::String&& value) { SetId(value); return *this;}
79 
83  inline Cluster& WithId(const char* value) { SetId(value); return *this;}
84 
88  inline const Aws::String& GetName() const{ return m_name; }
89 
93  inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
94 
98  inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = value; }
99 
103  inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
104 
108  inline Cluster& WithName(const Aws::String& value) { SetName(value); return *this;}
109 
113  inline Cluster& WithName(Aws::String&& value) { SetName(value); return *this;}
114 
118  inline Cluster& WithName(const char* value) { SetName(value); return *this;}
119 
123  inline const ClusterStatus& GetStatus() const{ return m_status; }
124 
128  inline void SetStatus(const ClusterStatus& value) { m_statusHasBeenSet = true; m_status = value; }
129 
133  inline void SetStatus(ClusterStatus&& value) { m_statusHasBeenSet = true; m_status = value; }
134 
138  inline Cluster& WithStatus(const ClusterStatus& value) { SetStatus(value); return *this;}
139 
143  inline Cluster& WithStatus(ClusterStatus&& value) { SetStatus(value); return *this;}
144 
145 
146  inline const Ec2InstanceAttributes& GetEc2InstanceAttributes() const{ return m_ec2InstanceAttributes; }
147 
148 
149  inline void SetEc2InstanceAttributes(const Ec2InstanceAttributes& value) { m_ec2InstanceAttributesHasBeenSet = true; m_ec2InstanceAttributes = value; }
150 
151 
152  inline void SetEc2InstanceAttributes(Ec2InstanceAttributes&& value) { m_ec2InstanceAttributesHasBeenSet = true; m_ec2InstanceAttributes = value; }
153 
154 
155  inline Cluster& WithEc2InstanceAttributes(const Ec2InstanceAttributes& value) { SetEc2InstanceAttributes(value); return *this;}
156 
157 
158  inline Cluster& WithEc2InstanceAttributes(Ec2InstanceAttributes&& value) { SetEc2InstanceAttributes(value); return *this;}
159 
164  inline const Aws::String& GetLogUri() const{ return m_logUri; }
165 
170  inline void SetLogUri(const Aws::String& value) { m_logUriHasBeenSet = true; m_logUri = value; }
171 
176  inline void SetLogUri(Aws::String&& value) { m_logUriHasBeenSet = true; m_logUri = value; }
177 
182  inline void SetLogUri(const char* value) { m_logUriHasBeenSet = true; m_logUri.assign(value); }
183 
188  inline Cluster& WithLogUri(const Aws::String& value) { SetLogUri(value); return *this;}
189 
194  inline Cluster& WithLogUri(Aws::String&& value) { SetLogUri(value); return *this;}
195 
200  inline Cluster& WithLogUri(const char* value) { SetLogUri(value); return *this;}
201 
205  inline const Aws::String& GetRequestedAmiVersion() const{ return m_requestedAmiVersion; }
206 
210  inline void SetRequestedAmiVersion(const Aws::String& value) { m_requestedAmiVersionHasBeenSet = true; m_requestedAmiVersion = value; }
211 
215  inline void SetRequestedAmiVersion(Aws::String&& value) { m_requestedAmiVersionHasBeenSet = true; m_requestedAmiVersion = value; }
216 
220  inline void SetRequestedAmiVersion(const char* value) { m_requestedAmiVersionHasBeenSet = true; m_requestedAmiVersion.assign(value); }
221 
225  inline Cluster& WithRequestedAmiVersion(const Aws::String& value) { SetRequestedAmiVersion(value); return *this;}
226 
230  inline Cluster& WithRequestedAmiVersion(Aws::String&& value) { SetRequestedAmiVersion(value); return *this;}
231 
235  inline Cluster& WithRequestedAmiVersion(const char* value) { SetRequestedAmiVersion(value); return *this;}
236 
240  inline const Aws::String& GetRunningAmiVersion() const{ return m_runningAmiVersion; }
241 
245  inline void SetRunningAmiVersion(const Aws::String& value) { m_runningAmiVersionHasBeenSet = true; m_runningAmiVersion = value; }
246 
250  inline void SetRunningAmiVersion(Aws::String&& value) { m_runningAmiVersionHasBeenSet = true; m_runningAmiVersion = value; }
251 
255  inline void SetRunningAmiVersion(const char* value) { m_runningAmiVersionHasBeenSet = true; m_runningAmiVersion.assign(value); }
256 
260  inline Cluster& WithRunningAmiVersion(const Aws::String& value) { SetRunningAmiVersion(value); return *this;}
261 
265  inline Cluster& WithRunningAmiVersion(Aws::String&& value) { SetRunningAmiVersion(value); return *this;}
266 
270  inline Cluster& WithRunningAmiVersion(const char* value) { SetRunningAmiVersion(value); return *this;}
271 
276  inline const Aws::String& GetReleaseLabel() const{ return m_releaseLabel; }
277 
282  inline void SetReleaseLabel(const Aws::String& value) { m_releaseLabelHasBeenSet = true; m_releaseLabel = value; }
283 
288  inline void SetReleaseLabel(Aws::String&& value) { m_releaseLabelHasBeenSet = true; m_releaseLabel = value; }
289 
294  inline void SetReleaseLabel(const char* value) { m_releaseLabelHasBeenSet = true; m_releaseLabel.assign(value); }
295 
300  inline Cluster& WithReleaseLabel(const Aws::String& value) { SetReleaseLabel(value); return *this;}
301 
306  inline Cluster& WithReleaseLabel(Aws::String&& value) { SetReleaseLabel(value); return *this;}
307 
312  inline Cluster& WithReleaseLabel(const char* value) { SetReleaseLabel(value); return *this;}
313 
318  inline bool GetAutoTerminate() const{ return m_autoTerminate; }
319 
324  inline void SetAutoTerminate(bool value) { m_autoTerminateHasBeenSet = true; m_autoTerminate = value; }
325 
330  inline Cluster& WithAutoTerminate(bool value) { SetAutoTerminate(value); return *this;}
331 
337  inline bool GetTerminationProtected() const{ return m_terminationProtected; }
338 
344  inline void SetTerminationProtected(bool value) { m_terminationProtectedHasBeenSet = true; m_terminationProtected = value; }
345 
351  inline Cluster& WithTerminationProtected(bool value) { SetTerminationProtected(value); return *this;}
352 
361  inline bool GetVisibleToAllUsers() const{ return m_visibleToAllUsers; }
362 
371  inline void SetVisibleToAllUsers(bool value) { m_visibleToAllUsersHasBeenSet = true; m_visibleToAllUsers = value; }
372 
381  inline Cluster& WithVisibleToAllUsers(bool value) { SetVisibleToAllUsers(value); return *this;}
382 
386  inline const Aws::Vector<Application>& GetApplications() const{ return m_applications; }
387 
391  inline void SetApplications(const Aws::Vector<Application>& value) { m_applicationsHasBeenSet = true; m_applications = value; }
392 
396  inline void SetApplications(Aws::Vector<Application>&& value) { m_applicationsHasBeenSet = true; m_applications = value; }
397 
401  inline Cluster& WithApplications(const Aws::Vector<Application>& value) { SetApplications(value); return *this;}
402 
406  inline Cluster& WithApplications(Aws::Vector<Application>&& value) { SetApplications(value); return *this;}
407 
411  inline Cluster& AddApplications(const Application& value) { m_applicationsHasBeenSet = true; m_applications.push_back(value); return *this; }
412 
416  inline Cluster& AddApplications(Application&& value) { m_applicationsHasBeenSet = true; m_applications.push_back(value); return *this; }
417 
421  inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
422 
426  inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
427 
431  inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = value; }
432 
436  inline Cluster& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
437 
441  inline Cluster& WithTags(Aws::Vector<Tag>&& value) { SetTags(value); return *this;}
442 
446  inline Cluster& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
447 
451  inline Cluster& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
452 
457  inline const Aws::String& GetServiceRole() const{ return m_serviceRole; }
458 
463  inline void SetServiceRole(const Aws::String& value) { m_serviceRoleHasBeenSet = true; m_serviceRole = value; }
464 
469  inline void SetServiceRole(Aws::String&& value) { m_serviceRoleHasBeenSet = true; m_serviceRole = value; }
470 
475  inline void SetServiceRole(const char* value) { m_serviceRoleHasBeenSet = true; m_serviceRole.assign(value); }
476 
481  inline Cluster& WithServiceRole(const Aws::String& value) { SetServiceRole(value); return *this;}
482 
487  inline Cluster& WithServiceRole(Aws::String&& value) { SetServiceRole(value); return *this;}
488 
493  inline Cluster& WithServiceRole(const char* value) { SetServiceRole(value); return *this;}
494 
503  inline int GetNormalizedInstanceHours() const{ return m_normalizedInstanceHours; }
504 
513  inline void SetNormalizedInstanceHours(int value) { m_normalizedInstanceHoursHasBeenSet = true; m_normalizedInstanceHours = value; }
514 
523  inline Cluster& WithNormalizedInstanceHours(int value) { SetNormalizedInstanceHours(value); return *this;}
524 
528  inline const Aws::String& GetMasterPublicDnsName() const{ return m_masterPublicDnsName; }
529 
533  inline void SetMasterPublicDnsName(const Aws::String& value) { m_masterPublicDnsNameHasBeenSet = true; m_masterPublicDnsName = value; }
534 
538  inline void SetMasterPublicDnsName(Aws::String&& value) { m_masterPublicDnsNameHasBeenSet = true; m_masterPublicDnsName = value; }
539 
543  inline void SetMasterPublicDnsName(const char* value) { m_masterPublicDnsNameHasBeenSet = true; m_masterPublicDnsName.assign(value); }
544 
548  inline Cluster& WithMasterPublicDnsName(const Aws::String& value) { SetMasterPublicDnsName(value); return *this;}
549 
553  inline Cluster& WithMasterPublicDnsName(Aws::String&& value) { SetMasterPublicDnsName(value); return *this;}
554 
558  inline Cluster& WithMasterPublicDnsName(const char* value) { SetMasterPublicDnsName(value); return *this;}
559 
564  inline const Aws::Vector<Configuration>& GetConfigurations() const{ return m_configurations; }
565 
570  inline void SetConfigurations(const Aws::Vector<Configuration>& value) { m_configurationsHasBeenSet = true; m_configurations = value; }
571 
576  inline void SetConfigurations(Aws::Vector<Configuration>&& value) { m_configurationsHasBeenSet = true; m_configurations = value; }
577 
582  inline Cluster& WithConfigurations(const Aws::Vector<Configuration>& value) { SetConfigurations(value); return *this;}
583 
588  inline Cluster& WithConfigurations(Aws::Vector<Configuration>&& value) { SetConfigurations(value); return *this;}
589 
594  inline Cluster& AddConfigurations(const Configuration& value) { m_configurationsHasBeenSet = true; m_configurations.push_back(value); return *this; }
595 
600  inline Cluster& AddConfigurations(Configuration&& value) { m_configurationsHasBeenSet = true; m_configurations.push_back(value); return *this; }
601 
602  private:
603  Aws::String m_id;
604  bool m_idHasBeenSet;
605  Aws::String m_name;
606  bool m_nameHasBeenSet;
607  ClusterStatus m_status;
608  bool m_statusHasBeenSet;
609  Ec2InstanceAttributes m_ec2InstanceAttributes;
610  bool m_ec2InstanceAttributesHasBeenSet;
611  Aws::String m_logUri;
612  bool m_logUriHasBeenSet;
613  Aws::String m_requestedAmiVersion;
614  bool m_requestedAmiVersionHasBeenSet;
615  Aws::String m_runningAmiVersion;
616  bool m_runningAmiVersionHasBeenSet;
617  Aws::String m_releaseLabel;
618  bool m_releaseLabelHasBeenSet;
619  bool m_autoTerminate;
620  bool m_autoTerminateHasBeenSet;
621  bool m_terminationProtected;
622  bool m_terminationProtectedHasBeenSet;
623  bool m_visibleToAllUsers;
624  bool m_visibleToAllUsersHasBeenSet;
625  Aws::Vector<Application> m_applications;
626  bool m_applicationsHasBeenSet;
627  Aws::Vector<Tag> m_tags;
628  bool m_tagsHasBeenSet;
629  Aws::String m_serviceRole;
630  bool m_serviceRoleHasBeenSet;
631  int m_normalizedInstanceHours;
632  bool m_normalizedInstanceHoursHasBeenSet;
633  Aws::String m_masterPublicDnsName;
634  bool m_masterPublicDnsNameHasBeenSet;
635  Aws::Vector<Configuration> m_configurations;
636  bool m_configurationsHasBeenSet;
637  };
638 
639 } // namespace Model
640 } // namespace EMR
641 } // namespace Aws
void SetRunningAmiVersion(Aws::String &&value)
Definition: Cluster.h:250
void SetName(const char *value)
Definition: Cluster.h:103
void SetReleaseLabel(const char *value)
Definition: Cluster.h:294
Cluster & WithReleaseLabel(Aws::String &&value)
Definition: Cluster.h:306
const Aws::String & GetMasterPublicDnsName() const
Definition: Cluster.h:528
Cluster & WithLogUri(const Aws::String &value)
Definition: Cluster.h:188
int GetNormalizedInstanceHours() const
Definition: Cluster.h:503
void SetRequestedAmiVersion(Aws::String &&value)
Definition: Cluster.h:215
void SetMasterPublicDnsName(Aws::String &&value)
Definition: Cluster.h:538
void SetEc2InstanceAttributes(const Ec2InstanceAttributes &value)
Definition: Cluster.h:149
Cluster & AddApplications(Application &&value)
Definition: Cluster.h:416
Cluster & WithMasterPublicDnsName(const Aws::String &value)
Definition: Cluster.h:548
Cluster & WithMasterPublicDnsName(const char *value)
Definition: Cluster.h:558
Cluster & WithName(const Aws::String &value)
Definition: Cluster.h:108
Cluster & WithTags(const Aws::Vector< Tag > &value)
Definition: Cluster.h:436
const Aws::Vector< Configuration > & GetConfigurations() const
Definition: Cluster.h:564
const Aws::String & GetId() const
Definition: Cluster.h:53
void SetApplications(Aws::Vector< Application > &&value)
Definition: Cluster.h:396
bool GetAutoTerminate() const
Definition: Cluster.h:318
Cluster & AddApplications(const Application &value)
Definition: Cluster.h:411
void SetTags(const Aws::Vector< Tag > &value)
Definition: Cluster.h:426
Cluster & WithName(Aws::String &&value)
Definition: Cluster.h:113
Cluster & WithStatus(const ClusterStatus &value)
Definition: Cluster.h:138
Cluster & WithId(const Aws::String &value)
Definition: Cluster.h:73
Cluster & WithEc2InstanceAttributes(Ec2InstanceAttributes &&value)
Definition: Cluster.h:158
Cluster & WithRequestedAmiVersion(const Aws::String &value)
Definition: Cluster.h:225
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
const Aws::Vector< Tag > & GetTags() const
Definition: Cluster.h:421
void SetMasterPublicDnsName(const Aws::String &value)
Definition: Cluster.h:533
void SetReleaseLabel(Aws::String &&value)
Definition: Cluster.h:288
const Aws::String & GetRunningAmiVersion() const
Definition: Cluster.h:240
Cluster & WithRequestedAmiVersion(const char *value)
Definition: Cluster.h:235
Cluster & WithName(const char *value)
Definition: Cluster.h:118
Cluster & WithReleaseLabel(const Aws::String &value)
Definition: Cluster.h:300
Cluster & WithLogUri(const char *value)
Definition: Cluster.h:200
void SetServiceRole(const Aws::String &value)
Definition: Cluster.h:463
Cluster & WithEc2InstanceAttributes(const Ec2InstanceAttributes &value)
Definition: Cluster.h:155
const Ec2InstanceAttributes & GetEc2InstanceAttributes() const
Definition: Cluster.h:146
const Aws::String & GetReleaseLabel() const
Definition: Cluster.h:276
const Aws::String & GetRequestedAmiVersion() const
Definition: Cluster.h:205
Cluster & WithAutoTerminate(bool value)
Definition: Cluster.h:330
Cluster & AddConfigurations(Configuration &&value)
Definition: Cluster.h:600
Cluster & WithConfigurations(Aws::Vector< Configuration > &&value)
Definition: Cluster.h:588
Cluster & WithVisibleToAllUsers(bool value)
Definition: Cluster.h:381
Cluster & WithServiceRole(const char *value)
Definition: Cluster.h:493
Cluster & WithLogUri(Aws::String &&value)
Definition: Cluster.h:194
const Aws::String & GetServiceRole() const
Definition: Cluster.h:457
void SetLogUri(const char *value)
Definition: Cluster.h:182
void SetMasterPublicDnsName(const char *value)
Definition: Cluster.h:543
void SetId(const Aws::String &value)
Definition: Cluster.h:58
void SetConfigurations(Aws::Vector< Configuration > &&value)
Definition: Cluster.h:576
Cluster & WithReleaseLabel(const char *value)
Definition: Cluster.h:312
Cluster & AddTags(const Tag &value)
Definition: Cluster.h:446
void SetVisibleToAllUsers(bool value)
Definition: Cluster.h:371
Cluster & WithApplications(Aws::Vector< Application > &&value)
Definition: Cluster.h:406
Cluster & WithTags(Aws::Vector< Tag > &&value)
Definition: Cluster.h:441
void SetRequestedAmiVersion(const Aws::String &value)
Definition: Cluster.h:210
Cluster & WithConfigurations(const Aws::Vector< Configuration > &value)
Definition: Cluster.h:582
bool GetVisibleToAllUsers() const
Definition: Cluster.h:361
void SetConfigurations(const Aws::Vector< Configuration > &value)
Definition: Cluster.h:570
void SetId(Aws::String &&value)
Definition: Cluster.h:63
void SetNormalizedInstanceHours(int value)
Definition: Cluster.h:513
const Aws::String & GetName() const
Definition: Cluster.h:88
void SetReleaseLabel(const Aws::String &value)
Definition: Cluster.h:282
Cluster & WithServiceRole(Aws::String &&value)
Definition: Cluster.h:487
void SetServiceRole(const char *value)
Definition: Cluster.h:475
Cluster & WithRunningAmiVersion(Aws::String &&value)
Definition: Cluster.h:265
void SetEc2InstanceAttributes(Ec2InstanceAttributes &&value)
Definition: Cluster.h:152
const ClusterStatus & GetStatus() const
Definition: Cluster.h:123
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
void SetApplications(const Aws::Vector< Application > &value)
Definition: Cluster.h:391
void SetRunningAmiVersion(const Aws::String &value)
Definition: Cluster.h:245
void SetName(Aws::String &&value)
Definition: Cluster.h:98
bool GetTerminationProtected() const
Definition: Cluster.h:337
Cluster & AddConfigurations(const Configuration &value)
Definition: Cluster.h:594
void SetTags(Aws::Vector< Tag > &&value)
Definition: Cluster.h:431
Cluster & WithApplications(const Aws::Vector< Application > &value)
Definition: Cluster.h:401
void SetLogUri(Aws::String &&value)
Definition: Cluster.h:176
const Aws::Vector< Application > & GetApplications() const
Definition: Cluster.h:386
const Aws::String & GetLogUri() const
Definition: Cluster.h:164
void SetName(const Aws::String &value)
Definition: Cluster.h:93
void SetTerminationProtected(bool value)
Definition: Cluster.h:344
Cluster & WithTerminationProtected(bool value)
Definition: Cluster.h:351
void SetStatus(ClusterStatus &&value)
Definition: Cluster.h:133
void SetStatus(const ClusterStatus &value)
Definition: Cluster.h:128
Cluster & WithRequestedAmiVersion(Aws::String &&value)
Definition: Cluster.h:230
void SetAutoTerminate(bool value)
Definition: Cluster.h:324
void SetId(const char *value)
Definition: Cluster.h:68
Cluster & WithServiceRole(const Aws::String &value)
Definition: Cluster.h:481
#define AWS_EMR_API
Definition: EMR_EXPORTS.h:37
Cluster & WithId(Aws::String &&value)
Definition: Cluster.h:78
Cluster & WithRunningAmiVersion(const Aws::String &value)
Definition: Cluster.h:260
Cluster & WithNormalizedInstanceHours(int value)
Definition: Cluster.h:523
void SetRequestedAmiVersion(const char *value)
Definition: Cluster.h:220
Cluster & WithStatus(ClusterStatus &&value)
Definition: Cluster.h:143
Cluster & AddTags(Tag &&value)
Definition: Cluster.h:451
void SetServiceRole(Aws::String &&value)
Definition: Cluster.h:469
void SetLogUri(const Aws::String &value)
Definition: Cluster.h:170
JSON (JavaScript Object Notation).
void SetRunningAmiVersion(const char *value)
Definition: Cluster.h:255
Cluster & WithId(const char *value)
Definition: Cluster.h:83
Cluster & WithMasterPublicDnsName(Aws::String &&value)
Definition: Cluster.h:553
Cluster & WithRunningAmiVersion(const char *value)
Definition: Cluster.h:270