AWS SDK for C++

AWS SDK for C++ Version 1.11.718

Loading...
Searching...
No Matches
Cluster.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#include <aws/elasticmapreduce/model/Application.h>
11#include <aws/elasticmapreduce/model/ClusterStatus.h>
12#include <aws/elasticmapreduce/model/Configuration.h>
13#include <aws/elasticmapreduce/model/Ec2InstanceAttributes.h>
14#include <aws/elasticmapreduce/model/InstanceCollectionType.h>
15#include <aws/elasticmapreduce/model/KerberosAttributes.h>
16#include <aws/elasticmapreduce/model/MonitoringConfiguration.h>
17#include <aws/elasticmapreduce/model/PlacementGroupConfig.h>
18#include <aws/elasticmapreduce/model/RepoUpgradeOnBoot.h>
19#include <aws/elasticmapreduce/model/ScaleDownBehavior.h>
20#include <aws/elasticmapreduce/model/Tag.h>
21
22#include <utility>
23
24namespace Aws {
25namespace Utils {
26namespace Json {
27class JsonValue;
28class JsonView;
29} // namespace Json
30} // namespace Utils
31namespace EMR {
32namespace Model {
33
39class Cluster {
40 public:
41 AWS_EMR_API Cluster() = default;
42 AWS_EMR_API Cluster(Aws::Utils::Json::JsonView jsonValue);
45
47
50 inline const Aws::String& GetId() const { return m_id; }
51 inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
52 template <typename IdT = Aws::String>
53 void SetId(IdT&& value) {
54 m_idHasBeenSet = true;
55 m_id = std::forward<IdT>(value);
56 }
57 template <typename IdT = Aws::String>
58 Cluster& WithId(IdT&& value) {
59 SetId(std::forward<IdT>(value));
60 return *this;
61 }
63
65
69 inline const Aws::String& GetName() const { return m_name; }
70 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
71 template <typename NameT = Aws::String>
72 void SetName(NameT&& value) {
73 m_nameHasBeenSet = true;
74 m_name = std::forward<NameT>(value);
75 }
76 template <typename NameT = Aws::String>
77 Cluster& WithName(NameT&& value) {
78 SetName(std::forward<NameT>(value));
79 return *this;
80 }
82
84
87 inline const ClusterStatus& GetStatus() const { return m_status; }
88 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
89 template <typename StatusT = ClusterStatus>
90 void SetStatus(StatusT&& value) {
91 m_statusHasBeenSet = true;
92 m_status = std::forward<StatusT>(value);
93 }
94 template <typename StatusT = ClusterStatus>
95 Cluster& WithStatus(StatusT&& value) {
96 SetStatus(std::forward<StatusT>(value));
97 return *this;
98 }
100
102
106 inline const Ec2InstanceAttributes& GetEc2InstanceAttributes() const { return m_ec2InstanceAttributes; }
107 inline bool Ec2InstanceAttributesHasBeenSet() const { return m_ec2InstanceAttributesHasBeenSet; }
108 template <typename Ec2InstanceAttributesT = Ec2InstanceAttributes>
109 void SetEc2InstanceAttributes(Ec2InstanceAttributesT&& value) {
110 m_ec2InstanceAttributesHasBeenSet = true;
111 m_ec2InstanceAttributes = std::forward<Ec2InstanceAttributesT>(value);
112 }
113 template <typename Ec2InstanceAttributesT = Ec2InstanceAttributes>
114 Cluster& WithEc2InstanceAttributes(Ec2InstanceAttributesT&& value) {
115 SetEc2InstanceAttributes(std::forward<Ec2InstanceAttributesT>(value));
116 return *this;
117 }
119
121
128 inline InstanceCollectionType GetInstanceCollectionType() const { return m_instanceCollectionType; }
129 inline bool InstanceCollectionTypeHasBeenSet() const { return m_instanceCollectionTypeHasBeenSet; }
131 m_instanceCollectionTypeHasBeenSet = true;
132 m_instanceCollectionType = value;
133 }
136 return *this;
137 }
139
141
145 inline const Aws::String& GetLogUri() const { return m_logUri; }
146 inline bool LogUriHasBeenSet() const { return m_logUriHasBeenSet; }
147 template <typename LogUriT = Aws::String>
148 void SetLogUri(LogUriT&& value) {
149 m_logUriHasBeenSet = true;
150 m_logUri = std::forward<LogUriT>(value);
151 }
152 template <typename LogUriT = Aws::String>
153 Cluster& WithLogUri(LogUriT&& value) {
154 SetLogUri(std::forward<LogUriT>(value));
155 return *this;
156 }
158
160
164 inline const Aws::String& GetLogEncryptionKmsKeyId() const { return m_logEncryptionKmsKeyId; }
165 inline bool LogEncryptionKmsKeyIdHasBeenSet() const { return m_logEncryptionKmsKeyIdHasBeenSet; }
166 template <typename LogEncryptionKmsKeyIdT = Aws::String>
167 void SetLogEncryptionKmsKeyId(LogEncryptionKmsKeyIdT&& value) {
168 m_logEncryptionKmsKeyIdHasBeenSet = true;
169 m_logEncryptionKmsKeyId = std::forward<LogEncryptionKmsKeyIdT>(value);
170 }
171 template <typename LogEncryptionKmsKeyIdT = Aws::String>
172 Cluster& WithLogEncryptionKmsKeyId(LogEncryptionKmsKeyIdT&& value) {
173 SetLogEncryptionKmsKeyId(std::forward<LogEncryptionKmsKeyIdT>(value));
174 return *this;
175 }
177
179
182 inline const Aws::String& GetRequestedAmiVersion() const { return m_requestedAmiVersion; }
183 inline bool RequestedAmiVersionHasBeenSet() const { return m_requestedAmiVersionHasBeenSet; }
184 template <typename RequestedAmiVersionT = Aws::String>
185 void SetRequestedAmiVersion(RequestedAmiVersionT&& value) {
186 m_requestedAmiVersionHasBeenSet = true;
187 m_requestedAmiVersion = std::forward<RequestedAmiVersionT>(value);
188 }
189 template <typename RequestedAmiVersionT = Aws::String>
190 Cluster& WithRequestedAmiVersion(RequestedAmiVersionT&& value) {
191 SetRequestedAmiVersion(std::forward<RequestedAmiVersionT>(value));
192 return *this;
193 }
195
197
200 inline const Aws::String& GetRunningAmiVersion() const { return m_runningAmiVersion; }
201 inline bool RunningAmiVersionHasBeenSet() const { return m_runningAmiVersionHasBeenSet; }
202 template <typename RunningAmiVersionT = Aws::String>
203 void SetRunningAmiVersion(RunningAmiVersionT&& value) {
204 m_runningAmiVersionHasBeenSet = true;
205 m_runningAmiVersion = std::forward<RunningAmiVersionT>(value);
206 }
207 template <typename RunningAmiVersionT = Aws::String>
208 Cluster& WithRunningAmiVersion(RunningAmiVersionT&& value) {
209 SetRunningAmiVersion(std::forward<RunningAmiVersionT>(value));
210 return *this;
211 }
213
215
225 inline const Aws::String& GetReleaseLabel() const { return m_releaseLabel; }
226 inline bool ReleaseLabelHasBeenSet() const { return m_releaseLabelHasBeenSet; }
227 template <typename ReleaseLabelT = Aws::String>
228 void SetReleaseLabel(ReleaseLabelT&& value) {
229 m_releaseLabelHasBeenSet = true;
230 m_releaseLabel = std::forward<ReleaseLabelT>(value);
231 }
232 template <typename ReleaseLabelT = Aws::String>
233 Cluster& WithReleaseLabel(ReleaseLabelT&& value) {
234 SetReleaseLabel(std::forward<ReleaseLabelT>(value));
235 return *this;
236 }
238
240
244 inline bool GetAutoTerminate() const { return m_autoTerminate; }
245 inline bool AutoTerminateHasBeenSet() const { return m_autoTerminateHasBeenSet; }
246 inline void SetAutoTerminate(bool value) {
247 m_autoTerminateHasBeenSet = true;
248 m_autoTerminate = value;
249 }
250 inline Cluster& WithAutoTerminate(bool value) {
251 SetAutoTerminate(value);
252 return *this;
253 }
255
257
262 inline bool GetTerminationProtected() const { return m_terminationProtected; }
263 inline bool TerminationProtectedHasBeenSet() const { return m_terminationProtectedHasBeenSet; }
264 inline void SetTerminationProtected(bool value) {
265 m_terminationProtectedHasBeenSet = true;
266 m_terminationProtected = value;
267 }
268 inline Cluster& WithTerminationProtected(bool value) {
270 return *this;
271 }
273
275
279 inline bool GetUnhealthyNodeReplacement() const { return m_unhealthyNodeReplacement; }
280 inline bool UnhealthyNodeReplacementHasBeenSet() const { return m_unhealthyNodeReplacementHasBeenSet; }
281 inline void SetUnhealthyNodeReplacement(bool value) {
282 m_unhealthyNodeReplacementHasBeenSet = true;
283 m_unhealthyNodeReplacement = value;
284 }
287 return *this;
288 }
290
292
305 inline bool GetVisibleToAllUsers() const { return m_visibleToAllUsers; }
306 inline bool VisibleToAllUsersHasBeenSet() const { return m_visibleToAllUsersHasBeenSet; }
307 inline void SetVisibleToAllUsers(bool value) {
308 m_visibleToAllUsersHasBeenSet = true;
309 m_visibleToAllUsers = value;
310 }
311 inline Cluster& WithVisibleToAllUsers(bool value) {
313 return *this;
314 }
316
318
321 inline const Aws::Vector<Application>& GetApplications() const { return m_applications; }
322 inline bool ApplicationsHasBeenSet() const { return m_applicationsHasBeenSet; }
323 template <typename ApplicationsT = Aws::Vector<Application>>
324 void SetApplications(ApplicationsT&& value) {
325 m_applicationsHasBeenSet = true;
326 m_applications = std::forward<ApplicationsT>(value);
327 }
328 template <typename ApplicationsT = Aws::Vector<Application>>
329 Cluster& WithApplications(ApplicationsT&& value) {
330 SetApplications(std::forward<ApplicationsT>(value));
331 return *this;
332 }
333 template <typename ApplicationsT = Application>
334 Cluster& AddApplications(ApplicationsT&& value) {
335 m_applicationsHasBeenSet = true;
336 m_applications.emplace_back(std::forward<ApplicationsT>(value));
337 return *this;
338 }
340
342
345 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
346 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
347 template <typename TagsT = Aws::Vector<Tag>>
348 void SetTags(TagsT&& value) {
349 m_tagsHasBeenSet = true;
350 m_tags = std::forward<TagsT>(value);
351 }
352 template <typename TagsT = Aws::Vector<Tag>>
353 Cluster& WithTags(TagsT&& value) {
354 SetTags(std::forward<TagsT>(value));
355 return *this;
356 }
357 template <typename TagsT = Tag>
358 Cluster& AddTags(TagsT&& value) {
359 m_tagsHasBeenSet = true;
360 m_tags.emplace_back(std::forward<TagsT>(value));
361 return *this;
362 }
364
366
370 inline const Aws::String& GetServiceRole() const { return m_serviceRole; }
371 inline bool ServiceRoleHasBeenSet() const { return m_serviceRoleHasBeenSet; }
372 template <typename ServiceRoleT = Aws::String>
373 void SetServiceRole(ServiceRoleT&& value) {
374 m_serviceRoleHasBeenSet = true;
375 m_serviceRole = std::forward<ServiceRoleT>(value);
376 }
377 template <typename ServiceRoleT = Aws::String>
378 Cluster& WithServiceRole(ServiceRoleT&& value) {
379 SetServiceRole(std::forward<ServiceRoleT>(value));
380 return *this;
381 }
383
385
393 inline int GetNormalizedInstanceHours() const { return m_normalizedInstanceHours; }
394 inline bool NormalizedInstanceHoursHasBeenSet() const { return m_normalizedInstanceHoursHasBeenSet; }
395 inline void SetNormalizedInstanceHours(int value) {
396 m_normalizedInstanceHoursHasBeenSet = true;
397 m_normalizedInstanceHours = value;
398 }
401 return *this;
402 }
404
406
410 inline const Aws::String& GetMasterPublicDnsName() const { return m_masterPublicDnsName; }
411 inline bool MasterPublicDnsNameHasBeenSet() const { return m_masterPublicDnsNameHasBeenSet; }
412 template <typename MasterPublicDnsNameT = Aws::String>
413 void SetMasterPublicDnsName(MasterPublicDnsNameT&& value) {
414 m_masterPublicDnsNameHasBeenSet = true;
415 m_masterPublicDnsName = std::forward<MasterPublicDnsNameT>(value);
416 }
417 template <typename MasterPublicDnsNameT = Aws::String>
418 Cluster& WithMasterPublicDnsName(MasterPublicDnsNameT&& value) {
419 SetMasterPublicDnsName(std::forward<MasterPublicDnsNameT>(value));
420 return *this;
421 }
423
425
429 inline const Aws::Vector<Configuration>& GetConfigurations() const { return m_configurations; }
430 inline bool ConfigurationsHasBeenSet() const { return m_configurationsHasBeenSet; }
431 template <typename ConfigurationsT = Aws::Vector<Configuration>>
432 void SetConfigurations(ConfigurationsT&& value) {
433 m_configurationsHasBeenSet = true;
434 m_configurations = std::forward<ConfigurationsT>(value);
435 }
436 template <typename ConfigurationsT = Aws::Vector<Configuration>>
437 Cluster& WithConfigurations(ConfigurationsT&& value) {
438 SetConfigurations(std::forward<ConfigurationsT>(value));
439 return *this;
440 }
441 template <typename ConfigurationsT = Configuration>
442 Cluster& AddConfigurations(ConfigurationsT&& value) {
443 m_configurationsHasBeenSet = true;
444 m_configurations.emplace_back(std::forward<ConfigurationsT>(value));
445 return *this;
446 }
448
450
453 inline const Aws::String& GetSecurityConfiguration() const { return m_securityConfiguration; }
454 inline bool SecurityConfigurationHasBeenSet() const { return m_securityConfigurationHasBeenSet; }
455 template <typename SecurityConfigurationT = Aws::String>
456 void SetSecurityConfiguration(SecurityConfigurationT&& value) {
457 m_securityConfigurationHasBeenSet = true;
458 m_securityConfiguration = std::forward<SecurityConfigurationT>(value);
459 }
460 template <typename SecurityConfigurationT = Aws::String>
461 Cluster& WithSecurityConfiguration(SecurityConfigurationT&& value) {
462 SetSecurityConfiguration(std::forward<SecurityConfigurationT>(value));
463 return *this;
464 }
466
468
474 inline const Aws::String& GetAutoScalingRole() const { return m_autoScalingRole; }
475 inline bool AutoScalingRoleHasBeenSet() const { return m_autoScalingRoleHasBeenSet; }
476 template <typename AutoScalingRoleT = Aws::String>
477 void SetAutoScalingRole(AutoScalingRoleT&& value) {
478 m_autoScalingRoleHasBeenSet = true;
479 m_autoScalingRole = std::forward<AutoScalingRoleT>(value);
480 }
481 template <typename AutoScalingRoleT = Aws::String>
482 Cluster& WithAutoScalingRole(AutoScalingRoleT&& value) {
483 SetAutoScalingRole(std::forward<AutoScalingRoleT>(value));
484 return *this;
485 }
487
489
504 inline ScaleDownBehavior GetScaleDownBehavior() const { return m_scaleDownBehavior; }
505 inline bool ScaleDownBehaviorHasBeenSet() const { return m_scaleDownBehaviorHasBeenSet; }
507 m_scaleDownBehaviorHasBeenSet = true;
508 m_scaleDownBehavior = value;
509 }
512 return *this;
513 }
515
517
521 inline const Aws::String& GetCustomAmiId() const { return m_customAmiId; }
522 inline bool CustomAmiIdHasBeenSet() const { return m_customAmiIdHasBeenSet; }
523 template <typename CustomAmiIdT = Aws::String>
524 void SetCustomAmiId(CustomAmiIdT&& value) {
525 m_customAmiIdHasBeenSet = true;
526 m_customAmiId = std::forward<CustomAmiIdT>(value);
527 }
528 template <typename CustomAmiIdT = Aws::String>
529 Cluster& WithCustomAmiId(CustomAmiIdT&& value) {
530 SetCustomAmiId(std::forward<CustomAmiIdT>(value));
531 return *this;
532 }
534
536
541 inline int GetEbsRootVolumeSize() const { return m_ebsRootVolumeSize; }
542 inline bool EbsRootVolumeSizeHasBeenSet() const { return m_ebsRootVolumeSizeHasBeenSet; }
543 inline void SetEbsRootVolumeSize(int value) {
544 m_ebsRootVolumeSizeHasBeenSet = true;
545 m_ebsRootVolumeSize = value;
546 }
547 inline Cluster& WithEbsRootVolumeSize(int value) {
549 return *this;
550 }
552
554
559 inline RepoUpgradeOnBoot GetRepoUpgradeOnBoot() const { return m_repoUpgradeOnBoot; }
560 inline bool RepoUpgradeOnBootHasBeenSet() const { return m_repoUpgradeOnBootHasBeenSet; }
562 m_repoUpgradeOnBootHasBeenSet = true;
563 m_repoUpgradeOnBoot = value;
564 }
567 return *this;
568 }
570
572
578 inline const KerberosAttributes& GetKerberosAttributes() const { return m_kerberosAttributes; }
579 inline bool KerberosAttributesHasBeenSet() const { return m_kerberosAttributesHasBeenSet; }
580 template <typename KerberosAttributesT = KerberosAttributes>
581 void SetKerberosAttributes(KerberosAttributesT&& value) {
582 m_kerberosAttributesHasBeenSet = true;
583 m_kerberosAttributes = std::forward<KerberosAttributesT>(value);
584 }
585 template <typename KerberosAttributesT = KerberosAttributes>
586 Cluster& WithKerberosAttributes(KerberosAttributesT&& value) {
587 SetKerberosAttributes(std::forward<KerberosAttributesT>(value));
588 return *this;
589 }
591
593
596 inline const Aws::String& GetClusterArn() const { return m_clusterArn; }
597 inline bool ClusterArnHasBeenSet() const { return m_clusterArnHasBeenSet; }
598 template <typename ClusterArnT = Aws::String>
599 void SetClusterArn(ClusterArnT&& value) {
600 m_clusterArnHasBeenSet = true;
601 m_clusterArn = std::forward<ClusterArnT>(value);
602 }
603 template <typename ClusterArnT = Aws::String>
604 Cluster& WithClusterArn(ClusterArnT&& value) {
605 SetClusterArn(std::forward<ClusterArnT>(value));
606 return *this;
607 }
609
611
615 inline const Aws::String& GetOutpostArn() const { return m_outpostArn; }
616 inline bool OutpostArnHasBeenSet() const { return m_outpostArnHasBeenSet; }
617 template <typename OutpostArnT = Aws::String>
618 void SetOutpostArn(OutpostArnT&& value) {
619 m_outpostArnHasBeenSet = true;
620 m_outpostArn = std::forward<OutpostArnT>(value);
621 }
622 template <typename OutpostArnT = Aws::String>
623 Cluster& WithOutpostArn(OutpostArnT&& value) {
624 SetOutpostArn(std::forward<OutpostArnT>(value));
625 return *this;
626 }
628
630
633 inline int GetStepConcurrencyLevel() const { return m_stepConcurrencyLevel; }
634 inline bool StepConcurrencyLevelHasBeenSet() const { return m_stepConcurrencyLevelHasBeenSet; }
635 inline void SetStepConcurrencyLevel(int value) {
636 m_stepConcurrencyLevelHasBeenSet = true;
637 m_stepConcurrencyLevel = value;
638 }
641 return *this;
642 }
644
646
649 inline const Aws::Vector<PlacementGroupConfig>& GetPlacementGroups() const { return m_placementGroups; }
650 inline bool PlacementGroupsHasBeenSet() const { return m_placementGroupsHasBeenSet; }
651 template <typename PlacementGroupsT = Aws::Vector<PlacementGroupConfig>>
652 void SetPlacementGroups(PlacementGroupsT&& value) {
653 m_placementGroupsHasBeenSet = true;
654 m_placementGroups = std::forward<PlacementGroupsT>(value);
655 }
656 template <typename PlacementGroupsT = Aws::Vector<PlacementGroupConfig>>
657 Cluster& WithPlacementGroups(PlacementGroupsT&& value) {
658 SetPlacementGroups(std::forward<PlacementGroupsT>(value));
659 return *this;
660 }
661 template <typename PlacementGroupsT = PlacementGroupConfig>
662 Cluster& AddPlacementGroups(PlacementGroupsT&& value) {
663 m_placementGroupsHasBeenSet = true;
664 m_placementGroups.emplace_back(std::forward<PlacementGroupsT>(value));
665 return *this;
666 }
668
670
675 inline const Aws::String& GetOSReleaseLabel() const { return m_oSReleaseLabel; }
676 inline bool OSReleaseLabelHasBeenSet() const { return m_oSReleaseLabelHasBeenSet; }
677 template <typename OSReleaseLabelT = Aws::String>
678 void SetOSReleaseLabel(OSReleaseLabelT&& value) {
679 m_oSReleaseLabelHasBeenSet = true;
680 m_oSReleaseLabel = std::forward<OSReleaseLabelT>(value);
681 }
682 template <typename OSReleaseLabelT = Aws::String>
683 Cluster& WithOSReleaseLabel(OSReleaseLabelT&& value) {
684 SetOSReleaseLabel(std::forward<OSReleaseLabelT>(value));
685 return *this;
686 }
688
690
695 inline int GetEbsRootVolumeIops() const { return m_ebsRootVolumeIops; }
696 inline bool EbsRootVolumeIopsHasBeenSet() const { return m_ebsRootVolumeIopsHasBeenSet; }
697 inline void SetEbsRootVolumeIops(int value) {
698 m_ebsRootVolumeIopsHasBeenSet = true;
699 m_ebsRootVolumeIops = value;
700 }
701 inline Cluster& WithEbsRootVolumeIops(int value) {
703 return *this;
704 }
706
708
713 inline int GetEbsRootVolumeThroughput() const { return m_ebsRootVolumeThroughput; }
714 inline bool EbsRootVolumeThroughputHasBeenSet() const { return m_ebsRootVolumeThroughputHasBeenSet; }
715 inline void SetEbsRootVolumeThroughput(int value) {
716 m_ebsRootVolumeThroughputHasBeenSet = true;
717 m_ebsRootVolumeThroughput = value;
718 }
721 return *this;
722 }
724
726
729 inline bool GetExtendedSupport() const { return m_extendedSupport; }
730 inline bool ExtendedSupportHasBeenSet() const { return m_extendedSupportHasBeenSet; }
731 inline void SetExtendedSupport(bool value) {
732 m_extendedSupportHasBeenSet = true;
733 m_extendedSupport = value;
734 }
735 inline Cluster& WithExtendedSupport(bool value) {
736 SetExtendedSupport(value);
737 return *this;
738 }
740
742
745 inline const MonitoringConfiguration& GetMonitoringConfiguration() const { return m_monitoringConfiguration; }
746 inline bool MonitoringConfigurationHasBeenSet() const { return m_monitoringConfigurationHasBeenSet; }
747 template <typename MonitoringConfigurationT = MonitoringConfiguration>
748 void SetMonitoringConfiguration(MonitoringConfigurationT&& value) {
749 m_monitoringConfigurationHasBeenSet = true;
750 m_monitoringConfiguration = std::forward<MonitoringConfigurationT>(value);
751 }
752 template <typename MonitoringConfigurationT = MonitoringConfiguration>
753 Cluster& WithMonitoringConfiguration(MonitoringConfigurationT&& value) {
754 SetMonitoringConfiguration(std::forward<MonitoringConfigurationT>(value));
755 return *this;
756 }
758 private:
759 Aws::String m_id;
760
761 Aws::String m_name;
762
763 ClusterStatus m_status;
764
765 Ec2InstanceAttributes m_ec2InstanceAttributes;
766
768
769 Aws::String m_logUri;
770
771 Aws::String m_logEncryptionKmsKeyId;
772
773 Aws::String m_requestedAmiVersion;
774
775 Aws::String m_runningAmiVersion;
776
777 Aws::String m_releaseLabel;
778
779 bool m_autoTerminate{false};
780
781 bool m_terminationProtected{false};
782
783 bool m_unhealthyNodeReplacement{false};
784
785 bool m_visibleToAllUsers{false};
786
787 Aws::Vector<Application> m_applications;
788
789 Aws::Vector<Tag> m_tags;
790
791 Aws::String m_serviceRole;
792
793 int m_normalizedInstanceHours{0};
794
795 Aws::String m_masterPublicDnsName;
796
797 Aws::Vector<Configuration> m_configurations;
798
799 Aws::String m_securityConfiguration;
800
801 Aws::String m_autoScalingRole;
802
804
805 Aws::String m_customAmiId;
806
807 int m_ebsRootVolumeSize{0};
808
810
811 KerberosAttributes m_kerberosAttributes;
812
813 Aws::String m_clusterArn;
814
815 Aws::String m_outpostArn;
816
817 int m_stepConcurrencyLevel{0};
818
819 Aws::Vector<PlacementGroupConfig> m_placementGroups;
820
821 Aws::String m_oSReleaseLabel;
822
823 int m_ebsRootVolumeIops{0};
824
825 int m_ebsRootVolumeThroughput{0};
826
827 bool m_extendedSupport{false};
828
829 MonitoringConfiguration m_monitoringConfiguration;
830 bool m_idHasBeenSet = false;
831 bool m_nameHasBeenSet = false;
832 bool m_statusHasBeenSet = false;
833 bool m_ec2InstanceAttributesHasBeenSet = false;
834 bool m_instanceCollectionTypeHasBeenSet = false;
835 bool m_logUriHasBeenSet = false;
836 bool m_logEncryptionKmsKeyIdHasBeenSet = false;
837 bool m_requestedAmiVersionHasBeenSet = false;
838 bool m_runningAmiVersionHasBeenSet = false;
839 bool m_releaseLabelHasBeenSet = false;
840 bool m_autoTerminateHasBeenSet = false;
841 bool m_terminationProtectedHasBeenSet = false;
842 bool m_unhealthyNodeReplacementHasBeenSet = false;
843 bool m_visibleToAllUsersHasBeenSet = false;
844 bool m_applicationsHasBeenSet = false;
845 bool m_tagsHasBeenSet = false;
846 bool m_serviceRoleHasBeenSet = false;
847 bool m_normalizedInstanceHoursHasBeenSet = false;
848 bool m_masterPublicDnsNameHasBeenSet = false;
849 bool m_configurationsHasBeenSet = false;
850 bool m_securityConfigurationHasBeenSet = false;
851 bool m_autoScalingRoleHasBeenSet = false;
852 bool m_scaleDownBehaviorHasBeenSet = false;
853 bool m_customAmiIdHasBeenSet = false;
854 bool m_ebsRootVolumeSizeHasBeenSet = false;
855 bool m_repoUpgradeOnBootHasBeenSet = false;
856 bool m_kerberosAttributesHasBeenSet = false;
857 bool m_clusterArnHasBeenSet = false;
858 bool m_outpostArnHasBeenSet = false;
859 bool m_stepConcurrencyLevelHasBeenSet = false;
860 bool m_placementGroupsHasBeenSet = false;
861 bool m_oSReleaseLabelHasBeenSet = false;
862 bool m_ebsRootVolumeIopsHasBeenSet = false;
863 bool m_ebsRootVolumeThroughputHasBeenSet = false;
864 bool m_extendedSupportHasBeenSet = false;
865 bool m_monitoringConfigurationHasBeenSet = false;
866};
867
868} // namespace Model
869} // namespace EMR
870} // namespace Aws
const Aws::String & GetServiceRole() const
Definition Cluster.h:370
void SetName(NameT &&value)
Definition Cluster.h:72
const Aws::String & GetRunningAmiVersion() const
Definition Cluster.h:200
bool StatusHasBeenSet() const
Definition Cluster.h:88
bool NormalizedInstanceHoursHasBeenSet() const
Definition Cluster.h:394
Cluster & WithLogEncryptionKmsKeyId(LogEncryptionKmsKeyIdT &&value)
Definition Cluster.h:172
Cluster & WithCustomAmiId(CustomAmiIdT &&value)
Definition Cluster.h:529
Cluster & WithTags(TagsT &&value)
Definition Cluster.h:353
void SetConfigurations(ConfigurationsT &&value)
Definition Cluster.h:432
void SetOutpostArn(OutpostArnT &&value)
Definition Cluster.h:618
Cluster & WithTerminationProtected(bool value)
Definition Cluster.h:268
const Aws::Vector< Configuration > & GetConfigurations() const
Definition Cluster.h:429
void SetRunningAmiVersion(RunningAmiVersionT &&value)
Definition Cluster.h:203
Cluster & WithName(NameT &&value)
Definition Cluster.h:77
bool GetTerminationProtected() const
Definition Cluster.h:262
ScaleDownBehavior GetScaleDownBehavior() const
Definition Cluster.h:504
bool EbsRootVolumeThroughputHasBeenSet() const
Definition Cluster.h:714
void SetId(IdT &&value)
Definition Cluster.h:53
void SetServiceRole(ServiceRoleT &&value)
Definition Cluster.h:373
bool NameHasBeenSet() const
Definition Cluster.h:70
Cluster & AddApplications(ApplicationsT &&value)
Definition Cluster.h:334
void SetStatus(StatusT &&value)
Definition Cluster.h:90
Cluster & WithLogUri(LogUriT &&value)
Definition Cluster.h:153
Cluster & WithOutpostArn(OutpostArnT &&value)
Definition Cluster.h:623
bool InstanceCollectionTypeHasBeenSet() const
Definition Cluster.h:129
Cluster & WithServiceRole(ServiceRoleT &&value)
Definition Cluster.h:378
void SetStepConcurrencyLevel(int value)
Definition Cluster.h:635
bool MasterPublicDnsNameHasBeenSet() const
Definition Cluster.h:411
Cluster & WithKerberosAttributes(KerberosAttributesT &&value)
Definition Cluster.h:586
const Aws::String & GetLogEncryptionKmsKeyId() const
Definition Cluster.h:164
Cluster & WithClusterArn(ClusterArnT &&value)
Definition Cluster.h:604
bool UnhealthyNodeReplacementHasBeenSet() const
Definition Cluster.h:280
bool MonitoringConfigurationHasBeenSet() const
Definition Cluster.h:746
void SetCustomAmiId(CustomAmiIdT &&value)
Definition Cluster.h:524
AWS_EMR_API Cluster & operator=(Aws::Utils::Json::JsonView jsonValue)
int GetEbsRootVolumeThroughput() const
Definition Cluster.h:713
bool AutoScalingRoleHasBeenSet() const
Definition Cluster.h:475
int GetStepConcurrencyLevel() const
Definition Cluster.h:633
void SetPlacementGroups(PlacementGroupsT &&value)
Definition Cluster.h:652
bool LogEncryptionKmsKeyIdHasBeenSet() const
Definition Cluster.h:165
bool TerminationProtectedHasBeenSet() const
Definition Cluster.h:263
const Aws::Vector< PlacementGroupConfig > & GetPlacementGroups() const
Definition Cluster.h:649
bool LogUriHasBeenSet() const
Definition Cluster.h:146
const Aws::Vector< Application > & GetApplications() const
Definition Cluster.h:321
void SetClusterArn(ClusterArnT &&value)
Definition Cluster.h:599
bool OutpostArnHasBeenSet() const
Definition Cluster.h:616
const Aws::String & GetLogUri() const
Definition Cluster.h:145
void SetTags(TagsT &&value)
Definition Cluster.h:348
AWS_EMR_API Aws::Utils::Json::JsonValue Jsonize() const
bool EbsRootVolumeSizeHasBeenSet() const
Definition Cluster.h:542
void SetRepoUpgradeOnBoot(RepoUpgradeOnBoot value)
Definition Cluster.h:561
void SetSecurityConfiguration(SecurityConfigurationT &&value)
Definition Cluster.h:456
bool GetVisibleToAllUsers() const
Definition Cluster.h:305
bool ScaleDownBehaviorHasBeenSet() const
Definition Cluster.h:505
void SetReleaseLabel(ReleaseLabelT &&value)
Definition Cluster.h:228
bool OSReleaseLabelHasBeenSet() const
Definition Cluster.h:676
AWS_EMR_API Cluster(Aws::Utils::Json::JsonView jsonValue)
Cluster & WithStatus(StatusT &&value)
Definition Cluster.h:95
InstanceCollectionType GetInstanceCollectionType() const
Definition Cluster.h:128
void SetTerminationProtected(bool value)
Definition Cluster.h:264
Cluster & WithSecurityConfiguration(SecurityConfigurationT &&value)
Definition Cluster.h:461
Cluster & WithRequestedAmiVersion(RequestedAmiVersionT &&value)
Definition Cluster.h:190
bool GetAutoTerminate() const
Definition Cluster.h:244
void SetUnhealthyNodeReplacement(bool value)
Definition Cluster.h:281
int GetEbsRootVolumeSize() const
Definition Cluster.h:541
Cluster & WithReleaseLabel(ReleaseLabelT &&value)
Definition Cluster.h:233
bool PlacementGroupsHasBeenSet() const
Definition Cluster.h:650
void SetScaleDownBehavior(ScaleDownBehavior value)
Definition Cluster.h:506
void SetAutoScalingRole(AutoScalingRoleT &&value)
Definition Cluster.h:477
void SetEbsRootVolumeIops(int value)
Definition Cluster.h:697
bool RequestedAmiVersionHasBeenSet() const
Definition Cluster.h:183
Cluster & WithEc2InstanceAttributes(Ec2InstanceAttributesT &&value)
Definition Cluster.h:114
const ClusterStatus & GetStatus() const
Definition Cluster.h:87
bool GetExtendedSupport() const
Definition Cluster.h:729
void SetEc2InstanceAttributes(Ec2InstanceAttributesT &&value)
Definition Cluster.h:109
void SetNormalizedInstanceHours(int value)
Definition Cluster.h:395
Cluster & WithVisibleToAllUsers(bool value)
Definition Cluster.h:311
const Aws::String & GetCustomAmiId() const
Definition Cluster.h:521
void SetMonitoringConfiguration(MonitoringConfigurationT &&value)
Definition Cluster.h:748
Cluster & WithAutoScalingRole(AutoScalingRoleT &&value)
Definition Cluster.h:482
bool ConfigurationsHasBeenSet() const
Definition Cluster.h:430
bool EbsRootVolumeIopsHasBeenSet() const
Definition Cluster.h:696
bool StepConcurrencyLevelHasBeenSet() const
Definition Cluster.h:634
const Aws::String & GetReleaseLabel() const
Definition Cluster.h:225
const Aws::String & GetClusterArn() const
Definition Cluster.h:596
const Aws::String & GetRequestedAmiVersion() const
Definition Cluster.h:182
bool GetUnhealthyNodeReplacement() const
Definition Cluster.h:279
const MonitoringConfiguration & GetMonitoringConfiguration() const
Definition Cluster.h:745
Cluster & WithScaleDownBehavior(ScaleDownBehavior value)
Definition Cluster.h:510
RepoUpgradeOnBoot GetRepoUpgradeOnBoot() const
Definition Cluster.h:559
bool ServiceRoleHasBeenSet() const
Definition Cluster.h:371
bool IdHasBeenSet() const
Definition Cluster.h:51
Cluster & AddConfigurations(ConfigurationsT &&value)
Definition Cluster.h:442
AWS_EMR_API Cluster()=default
void SetLogEncryptionKmsKeyId(LogEncryptionKmsKeyIdT &&value)
Definition Cluster.h:167
void SetApplications(ApplicationsT &&value)
Definition Cluster.h:324
Cluster & WithApplications(ApplicationsT &&value)
Definition Cluster.h:329
bool AutoTerminateHasBeenSet() const
Definition Cluster.h:245
Cluster & WithEbsRootVolumeThroughput(int value)
Definition Cluster.h:719
bool Ec2InstanceAttributesHasBeenSet() const
Definition Cluster.h:107
Cluster & WithRunningAmiVersion(RunningAmiVersionT &&value)
Definition Cluster.h:208
void SetRequestedAmiVersion(RequestedAmiVersionT &&value)
Definition Cluster.h:185
bool KerberosAttributesHasBeenSet() const
Definition Cluster.h:579
Cluster & WithPlacementGroups(PlacementGroupsT &&value)
Definition Cluster.h:657
Cluster & AddTags(TagsT &&value)
Definition Cluster.h:358
Cluster & WithNormalizedInstanceHours(int value)
Definition Cluster.h:399
void SetLogUri(LogUriT &&value)
Definition Cluster.h:148
Cluster & WithMonitoringConfiguration(MonitoringConfigurationT &&value)
Definition Cluster.h:753
bool VisibleToAllUsersHasBeenSet() const
Definition Cluster.h:306
const Aws::String & GetId() const
Definition Cluster.h:50
bool ClusterArnHasBeenSet() const
Definition Cluster.h:597
void SetVisibleToAllUsers(bool value)
Definition Cluster.h:307
Cluster & WithMasterPublicDnsName(MasterPublicDnsNameT &&value)
Definition Cluster.h:418
bool SecurityConfigurationHasBeenSet() const
Definition Cluster.h:454
const Aws::String & GetOutpostArn() const
Definition Cluster.h:615
Cluster & WithEbsRootVolumeIops(int value)
Definition Cluster.h:701
const Aws::String & GetMasterPublicDnsName() const
Definition Cluster.h:410
int GetNormalizedInstanceHours() const
Definition Cluster.h:393
Cluster & WithRepoUpgradeOnBoot(RepoUpgradeOnBoot value)
Definition Cluster.h:565
const Aws::String & GetSecurityConfiguration() const
Definition Cluster.h:453
void SetInstanceCollectionType(InstanceCollectionType value)
Definition Cluster.h:130
void SetEbsRootVolumeThroughput(int value)
Definition Cluster.h:715
const Aws::Vector< Tag > & GetTags() const
Definition Cluster.h:345
void SetMasterPublicDnsName(MasterPublicDnsNameT &&value)
Definition Cluster.h:413
void SetOSReleaseLabel(OSReleaseLabelT &&value)
Definition Cluster.h:678
bool TagsHasBeenSet() const
Definition Cluster.h:346
const Aws::String & GetOSReleaseLabel() const
Definition Cluster.h:675
Cluster & WithId(IdT &&value)
Definition Cluster.h:58
Cluster & AddPlacementGroups(PlacementGroupsT &&value)
Definition Cluster.h:662
bool ApplicationsHasBeenSet() const
Definition Cluster.h:322
int GetEbsRootVolumeIops() const
Definition Cluster.h:695
const Aws::String & GetName() const
Definition Cluster.h:69
void SetExtendedSupport(bool value)
Definition Cluster.h:731
bool ReleaseLabelHasBeenSet() const
Definition Cluster.h:226
void SetEbsRootVolumeSize(int value)
Definition Cluster.h:543
const Aws::String & GetAutoScalingRole() const
Definition Cluster.h:474
bool ExtendedSupportHasBeenSet() const
Definition Cluster.h:730
Cluster & WithAutoTerminate(bool value)
Definition Cluster.h:250
Cluster & WithConfigurations(ConfigurationsT &&value)
Definition Cluster.h:437
bool RunningAmiVersionHasBeenSet() const
Definition Cluster.h:201
Cluster & WithOSReleaseLabel(OSReleaseLabelT &&value)
Definition Cluster.h:683
Cluster & WithUnhealthyNodeReplacement(bool value)
Definition Cluster.h:285
Cluster & WithStepConcurrencyLevel(int value)
Definition Cluster.h:639
void SetKerberosAttributes(KerberosAttributesT &&value)
Definition Cluster.h:581
bool CustomAmiIdHasBeenSet() const
Definition Cluster.h:522
Cluster & WithExtendedSupport(bool value)
Definition Cluster.h:735
bool RepoUpgradeOnBootHasBeenSet() const
Definition Cluster.h:560
const Ec2InstanceAttributes & GetEc2InstanceAttributes() const
Definition Cluster.h:106
Cluster & WithInstanceCollectionType(InstanceCollectionType value)
Definition Cluster.h:134
const KerberosAttributes & GetKerberosAttributes() const
Definition Cluster.h:578
void SetAutoTerminate(bool value)
Definition Cluster.h:246
Cluster & WithEbsRootVolumeSize(int value)
Definition Cluster.h:547
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue