AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
Cluster.h
1
6#pragma once
7#include <aws/elasticmapreduce/EMR_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/elasticmapreduce/model/ClusterStatus.h>
10#include <aws/elasticmapreduce/model/Ec2InstanceAttributes.h>
11#include <aws/elasticmapreduce/model/InstanceCollectionType.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/elasticmapreduce/model/ScaleDownBehavior.h>
14#include <aws/elasticmapreduce/model/RepoUpgradeOnBoot.h>
15#include <aws/elasticmapreduce/model/KerberosAttributes.h>
16#include <aws/elasticmapreduce/model/Application.h>
17#include <aws/elasticmapreduce/model/Tag.h>
18#include <aws/elasticmapreduce/model/Configuration.h>
19#include <aws/elasticmapreduce/model/PlacementGroupConfig.h>
20#include <utility>
21
22namespace Aws
23{
24namespace Utils
25{
26namespace Json
27{
28 class JsonValue;
29 class JsonView;
30} // namespace Json
31} // namespace Utils
32namespace EMR
33{
34namespace Model
35{
36
42 class Cluster
43 {
44 public:
45 AWS_EMR_API Cluster() = default;
46 AWS_EMR_API Cluster(Aws::Utils::Json::JsonView jsonValue);
49
50
52
55 inline const Aws::String& GetId() const { return m_id; }
56 inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
57 template<typename IdT = Aws::String>
58 void SetId(IdT&& value) { m_idHasBeenSet = true; m_id = std::forward<IdT>(value); }
59 template<typename IdT = Aws::String>
60 Cluster& WithId(IdT&& value) { SetId(std::forward<IdT>(value)); return *this;}
62
64
68 inline const Aws::String& GetName() const { return m_name; }
69 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
70 template<typename NameT = Aws::String>
71 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
72 template<typename NameT = Aws::String>
73 Cluster& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
75
77
80 inline const ClusterStatus& GetStatus() const { return m_status; }
81 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
82 template<typename StatusT = ClusterStatus>
83 void SetStatus(StatusT&& value) { m_statusHasBeenSet = true; m_status = std::forward<StatusT>(value); }
84 template<typename StatusT = ClusterStatus>
85 Cluster& WithStatus(StatusT&& value) { SetStatus(std::forward<StatusT>(value)); return *this;}
87
89
93 inline const Ec2InstanceAttributes& GetEc2InstanceAttributes() const { return m_ec2InstanceAttributes; }
94 inline bool Ec2InstanceAttributesHasBeenSet() const { return m_ec2InstanceAttributesHasBeenSet; }
95 template<typename Ec2InstanceAttributesT = Ec2InstanceAttributes>
96 void SetEc2InstanceAttributes(Ec2InstanceAttributesT&& value) { m_ec2InstanceAttributesHasBeenSet = true; m_ec2InstanceAttributes = std::forward<Ec2InstanceAttributesT>(value); }
97 template<typename Ec2InstanceAttributesT = Ec2InstanceAttributes>
98 Cluster& WithEc2InstanceAttributes(Ec2InstanceAttributesT&& value) { SetEc2InstanceAttributes(std::forward<Ec2InstanceAttributesT>(value)); return *this;}
100
102
109 inline InstanceCollectionType GetInstanceCollectionType() const { return m_instanceCollectionType; }
110 inline bool InstanceCollectionTypeHasBeenSet() const { return m_instanceCollectionTypeHasBeenSet; }
111 inline void SetInstanceCollectionType(InstanceCollectionType value) { m_instanceCollectionTypeHasBeenSet = true; m_instanceCollectionType = value; }
114
116
120 inline const Aws::String& GetLogUri() const { return m_logUri; }
121 inline bool LogUriHasBeenSet() const { return m_logUriHasBeenSet; }
122 template<typename LogUriT = Aws::String>
123 void SetLogUri(LogUriT&& value) { m_logUriHasBeenSet = true; m_logUri = std::forward<LogUriT>(value); }
124 template<typename LogUriT = Aws::String>
125 Cluster& WithLogUri(LogUriT&& value) { SetLogUri(std::forward<LogUriT>(value)); return *this;}
127
129
133 inline const Aws::String& GetLogEncryptionKmsKeyId() const { return m_logEncryptionKmsKeyId; }
134 inline bool LogEncryptionKmsKeyIdHasBeenSet() const { return m_logEncryptionKmsKeyIdHasBeenSet; }
135 template<typename LogEncryptionKmsKeyIdT = Aws::String>
136 void SetLogEncryptionKmsKeyId(LogEncryptionKmsKeyIdT&& value) { m_logEncryptionKmsKeyIdHasBeenSet = true; m_logEncryptionKmsKeyId = std::forward<LogEncryptionKmsKeyIdT>(value); }
137 template<typename LogEncryptionKmsKeyIdT = Aws::String>
138 Cluster& WithLogEncryptionKmsKeyId(LogEncryptionKmsKeyIdT&& value) { SetLogEncryptionKmsKeyId(std::forward<LogEncryptionKmsKeyIdT>(value)); return *this;}
140
142
145 inline const Aws::String& GetRequestedAmiVersion() const { return m_requestedAmiVersion; }
146 inline bool RequestedAmiVersionHasBeenSet() const { return m_requestedAmiVersionHasBeenSet; }
147 template<typename RequestedAmiVersionT = Aws::String>
148 void SetRequestedAmiVersion(RequestedAmiVersionT&& value) { m_requestedAmiVersionHasBeenSet = true; m_requestedAmiVersion = std::forward<RequestedAmiVersionT>(value); }
149 template<typename RequestedAmiVersionT = Aws::String>
150 Cluster& WithRequestedAmiVersion(RequestedAmiVersionT&& value) { SetRequestedAmiVersion(std::forward<RequestedAmiVersionT>(value)); return *this;}
152
154
157 inline const Aws::String& GetRunningAmiVersion() const { return m_runningAmiVersion; }
158 inline bool RunningAmiVersionHasBeenSet() const { return m_runningAmiVersionHasBeenSet; }
159 template<typename RunningAmiVersionT = Aws::String>
160 void SetRunningAmiVersion(RunningAmiVersionT&& value) { m_runningAmiVersionHasBeenSet = true; m_runningAmiVersion = std::forward<RunningAmiVersionT>(value); }
161 template<typename RunningAmiVersionT = Aws::String>
162 Cluster& WithRunningAmiVersion(RunningAmiVersionT&& value) { SetRunningAmiVersion(std::forward<RunningAmiVersionT>(value)); return *this;}
164
166
176 inline const Aws::String& GetReleaseLabel() const { return m_releaseLabel; }
177 inline bool ReleaseLabelHasBeenSet() const { return m_releaseLabelHasBeenSet; }
178 template<typename ReleaseLabelT = Aws::String>
179 void SetReleaseLabel(ReleaseLabelT&& value) { m_releaseLabelHasBeenSet = true; m_releaseLabel = std::forward<ReleaseLabelT>(value); }
180 template<typename ReleaseLabelT = Aws::String>
181 Cluster& WithReleaseLabel(ReleaseLabelT&& value) { SetReleaseLabel(std::forward<ReleaseLabelT>(value)); return *this;}
183
185
189 inline bool GetAutoTerminate() const { return m_autoTerminate; }
190 inline bool AutoTerminateHasBeenSet() const { return m_autoTerminateHasBeenSet; }
191 inline void SetAutoTerminate(bool value) { m_autoTerminateHasBeenSet = true; m_autoTerminate = value; }
192 inline Cluster& WithAutoTerminate(bool value) { SetAutoTerminate(value); return *this;}
194
196
201 inline bool GetTerminationProtected() const { return m_terminationProtected; }
202 inline bool TerminationProtectedHasBeenSet() const { return m_terminationProtectedHasBeenSet; }
203 inline void SetTerminationProtected(bool value) { m_terminationProtectedHasBeenSet = true; m_terminationProtected = value; }
204 inline Cluster& WithTerminationProtected(bool value) { SetTerminationProtected(value); return *this;}
206
208
212 inline bool GetUnhealthyNodeReplacement() const { return m_unhealthyNodeReplacement; }
213 inline bool UnhealthyNodeReplacementHasBeenSet() const { return m_unhealthyNodeReplacementHasBeenSet; }
214 inline void SetUnhealthyNodeReplacement(bool value) { m_unhealthyNodeReplacementHasBeenSet = true; m_unhealthyNodeReplacement = value; }
215 inline Cluster& WithUnhealthyNodeReplacement(bool value) { SetUnhealthyNodeReplacement(value); return *this;}
217
219
232 inline bool GetVisibleToAllUsers() const { return m_visibleToAllUsers; }
233 inline bool VisibleToAllUsersHasBeenSet() const { return m_visibleToAllUsersHasBeenSet; }
234 inline void SetVisibleToAllUsers(bool value) { m_visibleToAllUsersHasBeenSet = true; m_visibleToAllUsers = value; }
235 inline Cluster& WithVisibleToAllUsers(bool value) { SetVisibleToAllUsers(value); return *this;}
237
239
242 inline const Aws::Vector<Application>& GetApplications() const { return m_applications; }
243 inline bool ApplicationsHasBeenSet() const { return m_applicationsHasBeenSet; }
244 template<typename ApplicationsT = Aws::Vector<Application>>
245 void SetApplications(ApplicationsT&& value) { m_applicationsHasBeenSet = true; m_applications = std::forward<ApplicationsT>(value); }
246 template<typename ApplicationsT = Aws::Vector<Application>>
247 Cluster& WithApplications(ApplicationsT&& value) { SetApplications(std::forward<ApplicationsT>(value)); return *this;}
248 template<typename ApplicationsT = Application>
249 Cluster& AddApplications(ApplicationsT&& value) { m_applicationsHasBeenSet = true; m_applications.emplace_back(std::forward<ApplicationsT>(value)); return *this; }
251
253
256 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
257 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
258 template<typename TagsT = Aws::Vector<Tag>>
259 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
260 template<typename TagsT = Aws::Vector<Tag>>
261 Cluster& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
262 template<typename TagsT = Tag>
263 Cluster& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
265
267
271 inline const Aws::String& GetServiceRole() const { return m_serviceRole; }
272 inline bool ServiceRoleHasBeenSet() const { return m_serviceRoleHasBeenSet; }
273 template<typename ServiceRoleT = Aws::String>
274 void SetServiceRole(ServiceRoleT&& value) { m_serviceRoleHasBeenSet = true; m_serviceRole = std::forward<ServiceRoleT>(value); }
275 template<typename ServiceRoleT = Aws::String>
276 Cluster& WithServiceRole(ServiceRoleT&& value) { SetServiceRole(std::forward<ServiceRoleT>(value)); return *this;}
278
280
288 inline int GetNormalizedInstanceHours() const { return m_normalizedInstanceHours; }
289 inline bool NormalizedInstanceHoursHasBeenSet() const { return m_normalizedInstanceHoursHasBeenSet; }
290 inline void SetNormalizedInstanceHours(int value) { m_normalizedInstanceHoursHasBeenSet = true; m_normalizedInstanceHours = value; }
291 inline Cluster& WithNormalizedInstanceHours(int value) { SetNormalizedInstanceHours(value); return *this;}
293
295
299 inline const Aws::String& GetMasterPublicDnsName() const { return m_masterPublicDnsName; }
300 inline bool MasterPublicDnsNameHasBeenSet() const { return m_masterPublicDnsNameHasBeenSet; }
301 template<typename MasterPublicDnsNameT = Aws::String>
302 void SetMasterPublicDnsName(MasterPublicDnsNameT&& value) { m_masterPublicDnsNameHasBeenSet = true; m_masterPublicDnsName = std::forward<MasterPublicDnsNameT>(value); }
303 template<typename MasterPublicDnsNameT = Aws::String>
304 Cluster& WithMasterPublicDnsName(MasterPublicDnsNameT&& value) { SetMasterPublicDnsName(std::forward<MasterPublicDnsNameT>(value)); return *this;}
306
308
312 inline const Aws::Vector<Configuration>& GetConfigurations() const { return m_configurations; }
313 inline bool ConfigurationsHasBeenSet() const { return m_configurationsHasBeenSet; }
314 template<typename ConfigurationsT = Aws::Vector<Configuration>>
315 void SetConfigurations(ConfigurationsT&& value) { m_configurationsHasBeenSet = true; m_configurations = std::forward<ConfigurationsT>(value); }
316 template<typename ConfigurationsT = Aws::Vector<Configuration>>
317 Cluster& WithConfigurations(ConfigurationsT&& value) { SetConfigurations(std::forward<ConfigurationsT>(value)); return *this;}
318 template<typename ConfigurationsT = Configuration>
319 Cluster& AddConfigurations(ConfigurationsT&& value) { m_configurationsHasBeenSet = true; m_configurations.emplace_back(std::forward<ConfigurationsT>(value)); return *this; }
321
323
326 inline const Aws::String& GetSecurityConfiguration() const { return m_securityConfiguration; }
327 inline bool SecurityConfigurationHasBeenSet() const { return m_securityConfigurationHasBeenSet; }
328 template<typename SecurityConfigurationT = Aws::String>
329 void SetSecurityConfiguration(SecurityConfigurationT&& value) { m_securityConfigurationHasBeenSet = true; m_securityConfiguration = std::forward<SecurityConfigurationT>(value); }
330 template<typename SecurityConfigurationT = Aws::String>
331 Cluster& WithSecurityConfiguration(SecurityConfigurationT&& value) { SetSecurityConfiguration(std::forward<SecurityConfigurationT>(value)); return *this;}
333
335
341 inline const Aws::String& GetAutoScalingRole() const { return m_autoScalingRole; }
342 inline bool AutoScalingRoleHasBeenSet() const { return m_autoScalingRoleHasBeenSet; }
343 template<typename AutoScalingRoleT = Aws::String>
344 void SetAutoScalingRole(AutoScalingRoleT&& value) { m_autoScalingRoleHasBeenSet = true; m_autoScalingRole = std::forward<AutoScalingRoleT>(value); }
345 template<typename AutoScalingRoleT = Aws::String>
346 Cluster& WithAutoScalingRole(AutoScalingRoleT&& value) { SetAutoScalingRole(std::forward<AutoScalingRoleT>(value)); return *this;}
348
350
365 inline ScaleDownBehavior GetScaleDownBehavior() const { return m_scaleDownBehavior; }
366 inline bool ScaleDownBehaviorHasBeenSet() const { return m_scaleDownBehaviorHasBeenSet; }
367 inline void SetScaleDownBehavior(ScaleDownBehavior value) { m_scaleDownBehaviorHasBeenSet = true; m_scaleDownBehavior = value; }
370
372
376 inline const Aws::String& GetCustomAmiId() const { return m_customAmiId; }
377 inline bool CustomAmiIdHasBeenSet() const { return m_customAmiIdHasBeenSet; }
378 template<typename CustomAmiIdT = Aws::String>
379 void SetCustomAmiId(CustomAmiIdT&& value) { m_customAmiIdHasBeenSet = true; m_customAmiId = std::forward<CustomAmiIdT>(value); }
380 template<typename CustomAmiIdT = Aws::String>
381 Cluster& WithCustomAmiId(CustomAmiIdT&& value) { SetCustomAmiId(std::forward<CustomAmiIdT>(value)); return *this;}
383
385
390 inline int GetEbsRootVolumeSize() const { return m_ebsRootVolumeSize; }
391 inline bool EbsRootVolumeSizeHasBeenSet() const { return m_ebsRootVolumeSizeHasBeenSet; }
392 inline void SetEbsRootVolumeSize(int value) { m_ebsRootVolumeSizeHasBeenSet = true; m_ebsRootVolumeSize = value; }
393 inline Cluster& WithEbsRootVolumeSize(int value) { SetEbsRootVolumeSize(value); return *this;}
395
397
402 inline RepoUpgradeOnBoot GetRepoUpgradeOnBoot() const { return m_repoUpgradeOnBoot; }
403 inline bool RepoUpgradeOnBootHasBeenSet() const { return m_repoUpgradeOnBootHasBeenSet; }
404 inline void SetRepoUpgradeOnBoot(RepoUpgradeOnBoot value) { m_repoUpgradeOnBootHasBeenSet = true; m_repoUpgradeOnBoot = value; }
407
409
415 inline const KerberosAttributes& GetKerberosAttributes() const { return m_kerberosAttributes; }
416 inline bool KerberosAttributesHasBeenSet() const { return m_kerberosAttributesHasBeenSet; }
417 template<typename KerberosAttributesT = KerberosAttributes>
418 void SetKerberosAttributes(KerberosAttributesT&& value) { m_kerberosAttributesHasBeenSet = true; m_kerberosAttributes = std::forward<KerberosAttributesT>(value); }
419 template<typename KerberosAttributesT = KerberosAttributes>
420 Cluster& WithKerberosAttributes(KerberosAttributesT&& value) { SetKerberosAttributes(std::forward<KerberosAttributesT>(value)); return *this;}
422
424
427 inline const Aws::String& GetClusterArn() const { return m_clusterArn; }
428 inline bool ClusterArnHasBeenSet() const { return m_clusterArnHasBeenSet; }
429 template<typename ClusterArnT = Aws::String>
430 void SetClusterArn(ClusterArnT&& value) { m_clusterArnHasBeenSet = true; m_clusterArn = std::forward<ClusterArnT>(value); }
431 template<typename ClusterArnT = Aws::String>
432 Cluster& WithClusterArn(ClusterArnT&& value) { SetClusterArn(std::forward<ClusterArnT>(value)); return *this;}
434
436
440 inline const Aws::String& GetOutpostArn() const { return m_outpostArn; }
441 inline bool OutpostArnHasBeenSet() const { return m_outpostArnHasBeenSet; }
442 template<typename OutpostArnT = Aws::String>
443 void SetOutpostArn(OutpostArnT&& value) { m_outpostArnHasBeenSet = true; m_outpostArn = std::forward<OutpostArnT>(value); }
444 template<typename OutpostArnT = Aws::String>
445 Cluster& WithOutpostArn(OutpostArnT&& value) { SetOutpostArn(std::forward<OutpostArnT>(value)); return *this;}
447
449
452 inline int GetStepConcurrencyLevel() const { return m_stepConcurrencyLevel; }
453 inline bool StepConcurrencyLevelHasBeenSet() const { return m_stepConcurrencyLevelHasBeenSet; }
454 inline void SetStepConcurrencyLevel(int value) { m_stepConcurrencyLevelHasBeenSet = true; m_stepConcurrencyLevel = value; }
455 inline Cluster& WithStepConcurrencyLevel(int value) { SetStepConcurrencyLevel(value); return *this;}
457
459
462 inline const Aws::Vector<PlacementGroupConfig>& GetPlacementGroups() const { return m_placementGroups; }
463 inline bool PlacementGroupsHasBeenSet() const { return m_placementGroupsHasBeenSet; }
464 template<typename PlacementGroupsT = Aws::Vector<PlacementGroupConfig>>
465 void SetPlacementGroups(PlacementGroupsT&& value) { m_placementGroupsHasBeenSet = true; m_placementGroups = std::forward<PlacementGroupsT>(value); }
466 template<typename PlacementGroupsT = Aws::Vector<PlacementGroupConfig>>
467 Cluster& WithPlacementGroups(PlacementGroupsT&& value) { SetPlacementGroups(std::forward<PlacementGroupsT>(value)); return *this;}
468 template<typename PlacementGroupsT = PlacementGroupConfig>
469 Cluster& AddPlacementGroups(PlacementGroupsT&& value) { m_placementGroupsHasBeenSet = true; m_placementGroups.emplace_back(std::forward<PlacementGroupsT>(value)); return *this; }
471
473
478 inline const Aws::String& GetOSReleaseLabel() const { return m_oSReleaseLabel; }
479 inline bool OSReleaseLabelHasBeenSet() const { return m_oSReleaseLabelHasBeenSet; }
480 template<typename OSReleaseLabelT = Aws::String>
481 void SetOSReleaseLabel(OSReleaseLabelT&& value) { m_oSReleaseLabelHasBeenSet = true; m_oSReleaseLabel = std::forward<OSReleaseLabelT>(value); }
482 template<typename OSReleaseLabelT = Aws::String>
483 Cluster& WithOSReleaseLabel(OSReleaseLabelT&& value) { SetOSReleaseLabel(std::forward<OSReleaseLabelT>(value)); return *this;}
485
487
492 inline int GetEbsRootVolumeIops() const { return m_ebsRootVolumeIops; }
493 inline bool EbsRootVolumeIopsHasBeenSet() const { return m_ebsRootVolumeIopsHasBeenSet; }
494 inline void SetEbsRootVolumeIops(int value) { m_ebsRootVolumeIopsHasBeenSet = true; m_ebsRootVolumeIops = value; }
495 inline Cluster& WithEbsRootVolumeIops(int value) { SetEbsRootVolumeIops(value); return *this;}
497
499
504 inline int GetEbsRootVolumeThroughput() const { return m_ebsRootVolumeThroughput; }
505 inline bool EbsRootVolumeThroughputHasBeenSet() const { return m_ebsRootVolumeThroughputHasBeenSet; }
506 inline void SetEbsRootVolumeThroughput(int value) { m_ebsRootVolumeThroughputHasBeenSet = true; m_ebsRootVolumeThroughput = value; }
507 inline Cluster& WithEbsRootVolumeThroughput(int value) { SetEbsRootVolumeThroughput(value); return *this;}
509
511
514 inline bool GetExtendedSupport() const { return m_extendedSupport; }
515 inline bool ExtendedSupportHasBeenSet() const { return m_extendedSupportHasBeenSet; }
516 inline void SetExtendedSupport(bool value) { m_extendedSupportHasBeenSet = true; m_extendedSupport = value; }
517 inline Cluster& WithExtendedSupport(bool value) { SetExtendedSupport(value); return *this;}
519 private:
520
521 Aws::String m_id;
522 bool m_idHasBeenSet = false;
523
524 Aws::String m_name;
525 bool m_nameHasBeenSet = false;
526
527 ClusterStatus m_status;
528 bool m_statusHasBeenSet = false;
529
530 Ec2InstanceAttributes m_ec2InstanceAttributes;
531 bool m_ec2InstanceAttributesHasBeenSet = false;
532
534 bool m_instanceCollectionTypeHasBeenSet = false;
535
536 Aws::String m_logUri;
537 bool m_logUriHasBeenSet = false;
538
539 Aws::String m_logEncryptionKmsKeyId;
540 bool m_logEncryptionKmsKeyIdHasBeenSet = false;
541
542 Aws::String m_requestedAmiVersion;
543 bool m_requestedAmiVersionHasBeenSet = false;
544
545 Aws::String m_runningAmiVersion;
546 bool m_runningAmiVersionHasBeenSet = false;
547
548 Aws::String m_releaseLabel;
549 bool m_releaseLabelHasBeenSet = false;
550
551 bool m_autoTerminate{false};
552 bool m_autoTerminateHasBeenSet = false;
553
554 bool m_terminationProtected{false};
555 bool m_terminationProtectedHasBeenSet = false;
556
557 bool m_unhealthyNodeReplacement{false};
558 bool m_unhealthyNodeReplacementHasBeenSet = false;
559
560 bool m_visibleToAllUsers{false};
561 bool m_visibleToAllUsersHasBeenSet = false;
562
563 Aws::Vector<Application> m_applications;
564 bool m_applicationsHasBeenSet = false;
565
566 Aws::Vector<Tag> m_tags;
567 bool m_tagsHasBeenSet = false;
568
569 Aws::String m_serviceRole;
570 bool m_serviceRoleHasBeenSet = false;
571
572 int m_normalizedInstanceHours{0};
573 bool m_normalizedInstanceHoursHasBeenSet = false;
574
575 Aws::String m_masterPublicDnsName;
576 bool m_masterPublicDnsNameHasBeenSet = false;
577
578 Aws::Vector<Configuration> m_configurations;
579 bool m_configurationsHasBeenSet = false;
580
581 Aws::String m_securityConfiguration;
582 bool m_securityConfigurationHasBeenSet = false;
583
584 Aws::String m_autoScalingRole;
585 bool m_autoScalingRoleHasBeenSet = false;
586
588 bool m_scaleDownBehaviorHasBeenSet = false;
589
590 Aws::String m_customAmiId;
591 bool m_customAmiIdHasBeenSet = false;
592
593 int m_ebsRootVolumeSize{0};
594 bool m_ebsRootVolumeSizeHasBeenSet = false;
595
597 bool m_repoUpgradeOnBootHasBeenSet = false;
598
599 KerberosAttributes m_kerberosAttributes;
600 bool m_kerberosAttributesHasBeenSet = false;
601
602 Aws::String m_clusterArn;
603 bool m_clusterArnHasBeenSet = false;
604
605 Aws::String m_outpostArn;
606 bool m_outpostArnHasBeenSet = false;
607
608 int m_stepConcurrencyLevel{0};
609 bool m_stepConcurrencyLevelHasBeenSet = false;
610
611 Aws::Vector<PlacementGroupConfig> m_placementGroups;
612 bool m_placementGroupsHasBeenSet = false;
613
614 Aws::String m_oSReleaseLabel;
615 bool m_oSReleaseLabelHasBeenSet = false;
616
617 int m_ebsRootVolumeIops{0};
618 bool m_ebsRootVolumeIopsHasBeenSet = false;
619
620 int m_ebsRootVolumeThroughput{0};
621 bool m_ebsRootVolumeThroughputHasBeenSet = false;
622
623 bool m_extendedSupport{false};
624 bool m_extendedSupportHasBeenSet = false;
625 };
626
627} // namespace Model
628} // namespace EMR
629} // namespace Aws
const Aws::String & GetServiceRole() const
Definition Cluster.h:271
void SetName(NameT &&value)
Definition Cluster.h:71
const Aws::String & GetRunningAmiVersion() const
Definition Cluster.h:157
bool StatusHasBeenSet() const
Definition Cluster.h:81
bool NormalizedInstanceHoursHasBeenSet() const
Definition Cluster.h:289
Cluster & WithLogEncryptionKmsKeyId(LogEncryptionKmsKeyIdT &&value)
Definition Cluster.h:138
Cluster & WithCustomAmiId(CustomAmiIdT &&value)
Definition Cluster.h:381
Cluster & WithTags(TagsT &&value)
Definition Cluster.h:261
void SetConfigurations(ConfigurationsT &&value)
Definition Cluster.h:315
void SetOutpostArn(OutpostArnT &&value)
Definition Cluster.h:443
Cluster & WithTerminationProtected(bool value)
Definition Cluster.h:204
const Aws::Vector< Configuration > & GetConfigurations() const
Definition Cluster.h:312
void SetRunningAmiVersion(RunningAmiVersionT &&value)
Definition Cluster.h:160
Cluster & WithName(NameT &&value)
Definition Cluster.h:73
bool GetTerminationProtected() const
Definition Cluster.h:201
ScaleDownBehavior GetScaleDownBehavior() const
Definition Cluster.h:365
bool EbsRootVolumeThroughputHasBeenSet() const
Definition Cluster.h:505
void SetId(IdT &&value)
Definition Cluster.h:58
void SetServiceRole(ServiceRoleT &&value)
Definition Cluster.h:274
bool NameHasBeenSet() const
Definition Cluster.h:69
Cluster & AddApplications(ApplicationsT &&value)
Definition Cluster.h:249
void SetStatus(StatusT &&value)
Definition Cluster.h:83
Cluster & WithLogUri(LogUriT &&value)
Definition Cluster.h:125
Cluster & WithOutpostArn(OutpostArnT &&value)
Definition Cluster.h:445
bool InstanceCollectionTypeHasBeenSet() const
Definition Cluster.h:110
Cluster & WithServiceRole(ServiceRoleT &&value)
Definition Cluster.h:276
void SetStepConcurrencyLevel(int value)
Definition Cluster.h:454
bool MasterPublicDnsNameHasBeenSet() const
Definition Cluster.h:300
Cluster & WithKerberosAttributes(KerberosAttributesT &&value)
Definition Cluster.h:420
const Aws::String & GetLogEncryptionKmsKeyId() const
Definition Cluster.h:133
Cluster & WithClusterArn(ClusterArnT &&value)
Definition Cluster.h:432
bool UnhealthyNodeReplacementHasBeenSet() const
Definition Cluster.h:213
void SetCustomAmiId(CustomAmiIdT &&value)
Definition Cluster.h:379
AWS_EMR_API Cluster & operator=(Aws::Utils::Json::JsonView jsonValue)
int GetEbsRootVolumeThroughput() const
Definition Cluster.h:504
bool AutoScalingRoleHasBeenSet() const
Definition Cluster.h:342
int GetStepConcurrencyLevel() const
Definition Cluster.h:452
void SetPlacementGroups(PlacementGroupsT &&value)
Definition Cluster.h:465
bool LogEncryptionKmsKeyIdHasBeenSet() const
Definition Cluster.h:134
bool TerminationProtectedHasBeenSet() const
Definition Cluster.h:202
const Aws::Vector< PlacementGroupConfig > & GetPlacementGroups() const
Definition Cluster.h:462
bool LogUriHasBeenSet() const
Definition Cluster.h:121
const Aws::Vector< Application > & GetApplications() const
Definition Cluster.h:242
void SetClusterArn(ClusterArnT &&value)
Definition Cluster.h:430
bool OutpostArnHasBeenSet() const
Definition Cluster.h:441
const Aws::String & GetLogUri() const
Definition Cluster.h:120
void SetTags(TagsT &&value)
Definition Cluster.h:259
AWS_EMR_API Aws::Utils::Json::JsonValue Jsonize() const
bool EbsRootVolumeSizeHasBeenSet() const
Definition Cluster.h:391
void SetRepoUpgradeOnBoot(RepoUpgradeOnBoot value)
Definition Cluster.h:404
void SetSecurityConfiguration(SecurityConfigurationT &&value)
Definition Cluster.h:329
bool GetVisibleToAllUsers() const
Definition Cluster.h:232
bool ScaleDownBehaviorHasBeenSet() const
Definition Cluster.h:366
void SetReleaseLabel(ReleaseLabelT &&value)
Definition Cluster.h:179
bool OSReleaseLabelHasBeenSet() const
Definition Cluster.h:479
AWS_EMR_API Cluster(Aws::Utils::Json::JsonView jsonValue)
Cluster & WithStatus(StatusT &&value)
Definition Cluster.h:85
InstanceCollectionType GetInstanceCollectionType() const
Definition Cluster.h:109
void SetTerminationProtected(bool value)
Definition Cluster.h:203
Cluster & WithSecurityConfiguration(SecurityConfigurationT &&value)
Definition Cluster.h:331
Cluster & WithRequestedAmiVersion(RequestedAmiVersionT &&value)
Definition Cluster.h:150
bool GetAutoTerminate() const
Definition Cluster.h:189
void SetUnhealthyNodeReplacement(bool value)
Definition Cluster.h:214
int GetEbsRootVolumeSize() const
Definition Cluster.h:390
Cluster & WithReleaseLabel(ReleaseLabelT &&value)
Definition Cluster.h:181
bool PlacementGroupsHasBeenSet() const
Definition Cluster.h:463
void SetScaleDownBehavior(ScaleDownBehavior value)
Definition Cluster.h:367
void SetAutoScalingRole(AutoScalingRoleT &&value)
Definition Cluster.h:344
void SetEbsRootVolumeIops(int value)
Definition Cluster.h:494
bool RequestedAmiVersionHasBeenSet() const
Definition Cluster.h:146
Cluster & WithEc2InstanceAttributes(Ec2InstanceAttributesT &&value)
Definition Cluster.h:98
const ClusterStatus & GetStatus() const
Definition Cluster.h:80
bool GetExtendedSupport() const
Definition Cluster.h:514
void SetEc2InstanceAttributes(Ec2InstanceAttributesT &&value)
Definition Cluster.h:96
void SetNormalizedInstanceHours(int value)
Definition Cluster.h:290
Cluster & WithVisibleToAllUsers(bool value)
Definition Cluster.h:235
const Aws::String & GetCustomAmiId() const
Definition Cluster.h:376
Cluster & WithAutoScalingRole(AutoScalingRoleT &&value)
Definition Cluster.h:346
bool ConfigurationsHasBeenSet() const
Definition Cluster.h:313
bool EbsRootVolumeIopsHasBeenSet() const
Definition Cluster.h:493
bool StepConcurrencyLevelHasBeenSet() const
Definition Cluster.h:453
const Aws::String & GetReleaseLabel() const
Definition Cluster.h:176
const Aws::String & GetClusterArn() const
Definition Cluster.h:427
const Aws::String & GetRequestedAmiVersion() const
Definition Cluster.h:145
bool GetUnhealthyNodeReplacement() const
Definition Cluster.h:212
Cluster & WithScaleDownBehavior(ScaleDownBehavior value)
Definition Cluster.h:368
RepoUpgradeOnBoot GetRepoUpgradeOnBoot() const
Definition Cluster.h:402
bool ServiceRoleHasBeenSet() const
Definition Cluster.h:272
bool IdHasBeenSet() const
Definition Cluster.h:56
Cluster & AddConfigurations(ConfigurationsT &&value)
Definition Cluster.h:319
AWS_EMR_API Cluster()=default
void SetLogEncryptionKmsKeyId(LogEncryptionKmsKeyIdT &&value)
Definition Cluster.h:136
void SetApplications(ApplicationsT &&value)
Definition Cluster.h:245
Cluster & WithApplications(ApplicationsT &&value)
Definition Cluster.h:247
bool AutoTerminateHasBeenSet() const
Definition Cluster.h:190
Cluster & WithEbsRootVolumeThroughput(int value)
Definition Cluster.h:507
bool Ec2InstanceAttributesHasBeenSet() const
Definition Cluster.h:94
Cluster & WithRunningAmiVersion(RunningAmiVersionT &&value)
Definition Cluster.h:162
void SetRequestedAmiVersion(RequestedAmiVersionT &&value)
Definition Cluster.h:148
bool KerberosAttributesHasBeenSet() const
Definition Cluster.h:416
Cluster & WithPlacementGroups(PlacementGroupsT &&value)
Definition Cluster.h:467
Cluster & AddTags(TagsT &&value)
Definition Cluster.h:263
Cluster & WithNormalizedInstanceHours(int value)
Definition Cluster.h:291
void SetLogUri(LogUriT &&value)
Definition Cluster.h:123
bool VisibleToAllUsersHasBeenSet() const
Definition Cluster.h:233
const Aws::String & GetId() const
Definition Cluster.h:55
bool ClusterArnHasBeenSet() const
Definition Cluster.h:428
void SetVisibleToAllUsers(bool value)
Definition Cluster.h:234
Cluster & WithMasterPublicDnsName(MasterPublicDnsNameT &&value)
Definition Cluster.h:304
bool SecurityConfigurationHasBeenSet() const
Definition Cluster.h:327
const Aws::String & GetOutpostArn() const
Definition Cluster.h:440
Cluster & WithEbsRootVolumeIops(int value)
Definition Cluster.h:495
const Aws::String & GetMasterPublicDnsName() const
Definition Cluster.h:299
int GetNormalizedInstanceHours() const
Definition Cluster.h:288
Cluster & WithRepoUpgradeOnBoot(RepoUpgradeOnBoot value)
Definition Cluster.h:405
const Aws::String & GetSecurityConfiguration() const
Definition Cluster.h:326
void SetInstanceCollectionType(InstanceCollectionType value)
Definition Cluster.h:111
void SetEbsRootVolumeThroughput(int value)
Definition Cluster.h:506
const Aws::Vector< Tag > & GetTags() const
Definition Cluster.h:256
void SetMasterPublicDnsName(MasterPublicDnsNameT &&value)
Definition Cluster.h:302
void SetOSReleaseLabel(OSReleaseLabelT &&value)
Definition Cluster.h:481
bool TagsHasBeenSet() const
Definition Cluster.h:257
const Aws::String & GetOSReleaseLabel() const
Definition Cluster.h:478
Cluster & WithId(IdT &&value)
Definition Cluster.h:60
Cluster & AddPlacementGroups(PlacementGroupsT &&value)
Definition Cluster.h:469
bool ApplicationsHasBeenSet() const
Definition Cluster.h:243
int GetEbsRootVolumeIops() const
Definition Cluster.h:492
const Aws::String & GetName() const
Definition Cluster.h:68
void SetExtendedSupport(bool value)
Definition Cluster.h:516
bool ReleaseLabelHasBeenSet() const
Definition Cluster.h:177
void SetEbsRootVolumeSize(int value)
Definition Cluster.h:392
const Aws::String & GetAutoScalingRole() const
Definition Cluster.h:341
bool ExtendedSupportHasBeenSet() const
Definition Cluster.h:515
Cluster & WithAutoTerminate(bool value)
Definition Cluster.h:192
Cluster & WithConfigurations(ConfigurationsT &&value)
Definition Cluster.h:317
bool RunningAmiVersionHasBeenSet() const
Definition Cluster.h:158
Cluster & WithOSReleaseLabel(OSReleaseLabelT &&value)
Definition Cluster.h:483
Cluster & WithUnhealthyNodeReplacement(bool value)
Definition Cluster.h:215
Cluster & WithStepConcurrencyLevel(int value)
Definition Cluster.h:455
void SetKerberosAttributes(KerberosAttributesT &&value)
Definition Cluster.h:418
bool CustomAmiIdHasBeenSet() const
Definition Cluster.h:377
Cluster & WithExtendedSupport(bool value)
Definition Cluster.h:517
bool RepoUpgradeOnBootHasBeenSet() const
Definition Cluster.h:403
const Ec2InstanceAttributes & GetEc2InstanceAttributes() const
Definition Cluster.h:93
Cluster & WithInstanceCollectionType(InstanceCollectionType value)
Definition Cluster.h:112
const KerberosAttributes & GetKerberosAttributes() const
Definition Cluster.h:415
void SetAutoTerminate(bool value)
Definition Cluster.h:191
Cluster & WithEbsRootVolumeSize(int value)
Definition Cluster.h:393
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue