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>
52 template <
typename IdT = Aws::String>
54 m_idHasBeenSet =
true;
55 m_id = std::forward<IdT>(value);
57 template <
typename IdT = Aws::String>
59 SetId(std::forward<IdT>(value));
71 template <
typename NameT = Aws::String>
73 m_nameHasBeenSet =
true;
74 m_name = std::forward<NameT>(value);
76 template <
typename NameT = Aws::String>
78 SetName(std::forward<NameT>(value));
89 template <
typename StatusT = ClusterStatus>
91 m_statusHasBeenSet =
true;
92 m_status = std::forward<StatusT>(value);
94 template <
typename StatusT = ClusterStatus>
108 template <
typename Ec2InstanceAttributesT = Ec2InstanceAttributes>
110 m_ec2InstanceAttributesHasBeenSet =
true;
111 m_ec2InstanceAttributes = std::forward<Ec2InstanceAttributesT>(value);
113 template <
typename Ec2InstanceAttributesT = Ec2InstanceAttributes>
131 m_instanceCollectionTypeHasBeenSet =
true;
132 m_instanceCollectionType = value;
147 template <
typename LogUriT = Aws::String>
149 m_logUriHasBeenSet =
true;
150 m_logUri = std::forward<LogUriT>(value);
152 template <
typename LogUriT = Aws::String>
166 template <
typename LogEncryptionKmsKeyIdT = Aws::String>
168 m_logEncryptionKmsKeyIdHasBeenSet =
true;
169 m_logEncryptionKmsKeyId = std::forward<LogEncryptionKmsKeyIdT>(value);
171 template <
typename LogEncryptionKmsKeyIdT = Aws::String>
184 template <
typename RequestedAmiVersionT = Aws::String>
186 m_requestedAmiVersionHasBeenSet =
true;
187 m_requestedAmiVersion = std::forward<RequestedAmiVersionT>(value);
189 template <
typename RequestedAmiVersionT = Aws::String>
202 template <
typename RunningAmiVersionT = Aws::String>
204 m_runningAmiVersionHasBeenSet =
true;
205 m_runningAmiVersion = std::forward<RunningAmiVersionT>(value);
207 template <
typename RunningAmiVersionT = Aws::String>
227 template <
typename ReleaseLabelT = Aws::String>
229 m_releaseLabelHasBeenSet =
true;
230 m_releaseLabel = std::forward<ReleaseLabelT>(value);
232 template <
typename ReleaseLabelT = Aws::String>
247 m_autoTerminateHasBeenSet =
true;
248 m_autoTerminate = value;
265 m_terminationProtectedHasBeenSet =
true;
266 m_terminationProtected = value;
282 m_unhealthyNodeReplacementHasBeenSet =
true;
283 m_unhealthyNodeReplacement = value;
308 m_visibleToAllUsersHasBeenSet =
true;
309 m_visibleToAllUsers = value;
323 template <
typename ApplicationsT = Aws::Vector<Application>>
325 m_applicationsHasBeenSet =
true;
326 m_applications = std::forward<ApplicationsT>(value);
328 template <
typename ApplicationsT = Aws::Vector<Application>>
333 template <
typename ApplicationsT = Application>
335 m_applicationsHasBeenSet =
true;
336 m_applications.emplace_back(std::forward<ApplicationsT>(value));
347 template <
typename TagsT = Aws::Vector<Tag>>
349 m_tagsHasBeenSet =
true;
350 m_tags = std::forward<TagsT>(value);
352 template <
typename TagsT = Aws::Vector<Tag>>
354 SetTags(std::forward<TagsT>(value));
357 template <
typename TagsT = Tag>
359 m_tagsHasBeenSet =
true;
360 m_tags.emplace_back(std::forward<TagsT>(value));
372 template <
typename ServiceRoleT = Aws::String>
374 m_serviceRoleHasBeenSet =
true;
375 m_serviceRole = std::forward<ServiceRoleT>(value);
377 template <
typename ServiceRoleT = Aws::String>
396 m_normalizedInstanceHoursHasBeenSet =
true;
397 m_normalizedInstanceHours = value;
412 template <
typename MasterPublicDnsNameT = Aws::String>
414 m_masterPublicDnsNameHasBeenSet =
true;
415 m_masterPublicDnsName = std::forward<MasterPublicDnsNameT>(value);
417 template <
typename MasterPublicDnsNameT = Aws::String>
431 template <
typename ConfigurationsT = Aws::Vector<Configuration>>
433 m_configurationsHasBeenSet =
true;
434 m_configurations = std::forward<ConfigurationsT>(value);
436 template <
typename ConfigurationsT = Aws::Vector<Configuration>>
441 template <
typename ConfigurationsT = Configuration>
443 m_configurationsHasBeenSet =
true;
444 m_configurations.emplace_back(std::forward<ConfigurationsT>(value));
455 template <
typename SecurityConfigurationT = Aws::String>
457 m_securityConfigurationHasBeenSet =
true;
458 m_securityConfiguration = std::forward<SecurityConfigurationT>(value);
460 template <
typename SecurityConfigurationT = Aws::String>
476 template <
typename AutoScalingRoleT = Aws::String>
478 m_autoScalingRoleHasBeenSet =
true;
479 m_autoScalingRole = std::forward<AutoScalingRoleT>(value);
481 template <
typename AutoScalingRoleT = Aws::String>
507 m_scaleDownBehaviorHasBeenSet =
true;
508 m_scaleDownBehavior = value;
523 template <
typename CustomAmiIdT = Aws::String>
525 m_customAmiIdHasBeenSet =
true;
526 m_customAmiId = std::forward<CustomAmiIdT>(value);
528 template <
typename CustomAmiIdT = Aws::String>
544 m_ebsRootVolumeSizeHasBeenSet =
true;
545 m_ebsRootVolumeSize = value;
562 m_repoUpgradeOnBootHasBeenSet =
true;
563 m_repoUpgradeOnBoot = value;
580 template <
typename KerberosAttributesT = KerberosAttributes>
582 m_kerberosAttributesHasBeenSet =
true;
583 m_kerberosAttributes = std::forward<KerberosAttributesT>(value);
585 template <
typename KerberosAttributesT = KerberosAttributes>
598 template <
typename ClusterArnT = Aws::String>
600 m_clusterArnHasBeenSet =
true;
601 m_clusterArn = std::forward<ClusterArnT>(value);
603 template <
typename ClusterArnT = Aws::String>
617 template <
typename OutpostArnT = Aws::String>
619 m_outpostArnHasBeenSet =
true;
620 m_outpostArn = std::forward<OutpostArnT>(value);
622 template <
typename OutpostArnT = Aws::String>
636 m_stepConcurrencyLevelHasBeenSet =
true;
637 m_stepConcurrencyLevel = value;
651 template <
typename PlacementGroupsT = Aws::Vector<PlacementGroupConfig>>
653 m_placementGroupsHasBeenSet =
true;
654 m_placementGroups = std::forward<PlacementGroupsT>(value);
656 template <
typename PlacementGroupsT = Aws::Vector<PlacementGroupConfig>>
661 template <
typename PlacementGroupsT = PlacementGroupConfig>
663 m_placementGroupsHasBeenSet =
true;
664 m_placementGroups.emplace_back(std::forward<PlacementGroupsT>(value));
677 template <
typename OSReleaseLabelT = Aws::String>
679 m_oSReleaseLabelHasBeenSet =
true;
680 m_oSReleaseLabel = std::forward<OSReleaseLabelT>(value);
682 template <
typename OSReleaseLabelT = Aws::String>
698 m_ebsRootVolumeIopsHasBeenSet =
true;
699 m_ebsRootVolumeIops = value;
716 m_ebsRootVolumeThroughputHasBeenSet =
true;
717 m_ebsRootVolumeThroughput = value;
732 m_extendedSupportHasBeenSet =
true;
733 m_extendedSupport = value;
747 template <
typename MonitoringConfigurationT = MonitoringConfiguration>
749 m_monitoringConfigurationHasBeenSet =
true;
750 m_monitoringConfiguration = std::forward<MonitoringConfigurationT>(value);
752 template <
typename MonitoringConfigurationT = MonitoringConfiguration>
779 bool m_autoTerminate{
false};
781 bool m_terminationProtected{
false};
783 bool m_unhealthyNodeReplacement{
false};
785 bool m_visibleToAllUsers{
false};
793 int m_normalizedInstanceHours{0};
807 int m_ebsRootVolumeSize{0};
811 KerberosAttributes m_kerberosAttributes;
817 int m_stepConcurrencyLevel{0};
823 int m_ebsRootVolumeIops{0};
825 int m_ebsRootVolumeThroughput{0};
827 bool m_extendedSupport{
false};
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;
const Aws::String & GetServiceRole() const
void SetName(NameT &&value)
const Aws::String & GetRunningAmiVersion() const
bool StatusHasBeenSet() const
bool NormalizedInstanceHoursHasBeenSet() const
Cluster & WithLogEncryptionKmsKeyId(LogEncryptionKmsKeyIdT &&value)
Cluster & WithCustomAmiId(CustomAmiIdT &&value)
Cluster & WithTags(TagsT &&value)
void SetConfigurations(ConfigurationsT &&value)
void SetOutpostArn(OutpostArnT &&value)
Cluster & WithTerminationProtected(bool value)
const Aws::Vector< Configuration > & GetConfigurations() const
void SetRunningAmiVersion(RunningAmiVersionT &&value)
Cluster & WithName(NameT &&value)
bool GetTerminationProtected() const
ScaleDownBehavior GetScaleDownBehavior() const
bool EbsRootVolumeThroughputHasBeenSet() const
void SetServiceRole(ServiceRoleT &&value)
bool NameHasBeenSet() const
Cluster & AddApplications(ApplicationsT &&value)
void SetStatus(StatusT &&value)
Cluster & WithLogUri(LogUriT &&value)
Cluster & WithOutpostArn(OutpostArnT &&value)
bool InstanceCollectionTypeHasBeenSet() const
Cluster & WithServiceRole(ServiceRoleT &&value)
void SetStepConcurrencyLevel(int value)
bool MasterPublicDnsNameHasBeenSet() const
Cluster & WithKerberosAttributes(KerberosAttributesT &&value)
const Aws::String & GetLogEncryptionKmsKeyId() const
Cluster & WithClusterArn(ClusterArnT &&value)
bool UnhealthyNodeReplacementHasBeenSet() const
bool MonitoringConfigurationHasBeenSet() const
void SetCustomAmiId(CustomAmiIdT &&value)
AWS_EMR_API Cluster & operator=(Aws::Utils::Json::JsonView jsonValue)
int GetEbsRootVolumeThroughput() const
bool AutoScalingRoleHasBeenSet() const
int GetStepConcurrencyLevel() const
void SetPlacementGroups(PlacementGroupsT &&value)
bool LogEncryptionKmsKeyIdHasBeenSet() const
bool TerminationProtectedHasBeenSet() const
const Aws::Vector< PlacementGroupConfig > & GetPlacementGroups() const
bool LogUriHasBeenSet() const
const Aws::Vector< Application > & GetApplications() const
void SetClusterArn(ClusterArnT &&value)
bool OutpostArnHasBeenSet() const
const Aws::String & GetLogUri() const
void SetTags(TagsT &&value)
AWS_EMR_API Aws::Utils::Json::JsonValue Jsonize() const
bool EbsRootVolumeSizeHasBeenSet() const
void SetRepoUpgradeOnBoot(RepoUpgradeOnBoot value)
void SetSecurityConfiguration(SecurityConfigurationT &&value)
bool GetVisibleToAllUsers() const
bool ScaleDownBehaviorHasBeenSet() const
void SetReleaseLabel(ReleaseLabelT &&value)
bool OSReleaseLabelHasBeenSet() const
AWS_EMR_API Cluster(Aws::Utils::Json::JsonView jsonValue)
Cluster & WithStatus(StatusT &&value)
InstanceCollectionType GetInstanceCollectionType() const
void SetTerminationProtected(bool value)
Cluster & WithSecurityConfiguration(SecurityConfigurationT &&value)
Cluster & WithRequestedAmiVersion(RequestedAmiVersionT &&value)
bool GetAutoTerminate() const
void SetUnhealthyNodeReplacement(bool value)
int GetEbsRootVolumeSize() const
Cluster & WithReleaseLabel(ReleaseLabelT &&value)
bool PlacementGroupsHasBeenSet() const
void SetScaleDownBehavior(ScaleDownBehavior value)
void SetAutoScalingRole(AutoScalingRoleT &&value)
void SetEbsRootVolumeIops(int value)
bool RequestedAmiVersionHasBeenSet() const
Cluster & WithEc2InstanceAttributes(Ec2InstanceAttributesT &&value)
const ClusterStatus & GetStatus() const
bool GetExtendedSupport() const
void SetEc2InstanceAttributes(Ec2InstanceAttributesT &&value)
void SetNormalizedInstanceHours(int value)
Cluster & WithVisibleToAllUsers(bool value)
const Aws::String & GetCustomAmiId() const
void SetMonitoringConfiguration(MonitoringConfigurationT &&value)
Cluster & WithAutoScalingRole(AutoScalingRoleT &&value)
bool ConfigurationsHasBeenSet() const
bool EbsRootVolumeIopsHasBeenSet() const
bool StepConcurrencyLevelHasBeenSet() const
const Aws::String & GetReleaseLabel() const
const Aws::String & GetClusterArn() const
const Aws::String & GetRequestedAmiVersion() const
bool GetUnhealthyNodeReplacement() const
const MonitoringConfiguration & GetMonitoringConfiguration() const
Cluster & WithScaleDownBehavior(ScaleDownBehavior value)
RepoUpgradeOnBoot GetRepoUpgradeOnBoot() const
bool ServiceRoleHasBeenSet() const
bool IdHasBeenSet() const
Cluster & AddConfigurations(ConfigurationsT &&value)
AWS_EMR_API Cluster()=default
void SetLogEncryptionKmsKeyId(LogEncryptionKmsKeyIdT &&value)
void SetApplications(ApplicationsT &&value)
Cluster & WithApplications(ApplicationsT &&value)
bool AutoTerminateHasBeenSet() const
Cluster & WithEbsRootVolumeThroughput(int value)
bool Ec2InstanceAttributesHasBeenSet() const
Cluster & WithRunningAmiVersion(RunningAmiVersionT &&value)
void SetRequestedAmiVersion(RequestedAmiVersionT &&value)
bool KerberosAttributesHasBeenSet() const
Cluster & WithPlacementGroups(PlacementGroupsT &&value)
Cluster & AddTags(TagsT &&value)
Cluster & WithNormalizedInstanceHours(int value)
void SetLogUri(LogUriT &&value)
Cluster & WithMonitoringConfiguration(MonitoringConfigurationT &&value)
bool VisibleToAllUsersHasBeenSet() const
const Aws::String & GetId() const
bool ClusterArnHasBeenSet() const
void SetVisibleToAllUsers(bool value)
Cluster & WithMasterPublicDnsName(MasterPublicDnsNameT &&value)
bool SecurityConfigurationHasBeenSet() const
const Aws::String & GetOutpostArn() const
Cluster & WithEbsRootVolumeIops(int value)
const Aws::String & GetMasterPublicDnsName() const
int GetNormalizedInstanceHours() const
Cluster & WithRepoUpgradeOnBoot(RepoUpgradeOnBoot value)
const Aws::String & GetSecurityConfiguration() const
void SetInstanceCollectionType(InstanceCollectionType value)
void SetEbsRootVolumeThroughput(int value)
const Aws::Vector< Tag > & GetTags() const
void SetMasterPublicDnsName(MasterPublicDnsNameT &&value)
void SetOSReleaseLabel(OSReleaseLabelT &&value)
bool TagsHasBeenSet() const
const Aws::String & GetOSReleaseLabel() const
Cluster & WithId(IdT &&value)
Cluster & AddPlacementGroups(PlacementGroupsT &&value)
bool ApplicationsHasBeenSet() const
int GetEbsRootVolumeIops() const
const Aws::String & GetName() const
void SetExtendedSupport(bool value)
bool ReleaseLabelHasBeenSet() const
void SetEbsRootVolumeSize(int value)
const Aws::String & GetAutoScalingRole() const
bool ExtendedSupportHasBeenSet() const
Cluster & WithAutoTerminate(bool value)
Cluster & WithConfigurations(ConfigurationsT &&value)
bool RunningAmiVersionHasBeenSet() const
Cluster & WithOSReleaseLabel(OSReleaseLabelT &&value)
Cluster & WithUnhealthyNodeReplacement(bool value)
Cluster & WithStepConcurrencyLevel(int value)
void SetKerberosAttributes(KerberosAttributesT &&value)
bool CustomAmiIdHasBeenSet() const
Cluster & WithExtendedSupport(bool value)
bool RepoUpgradeOnBootHasBeenSet() const
const Ec2InstanceAttributes & GetEc2InstanceAttributes() const
Cluster & WithInstanceCollectionType(InstanceCollectionType value)
const KerberosAttributes & GetKerberosAttributes() const
void SetAutoTerminate(bool value)
Cluster & WithEbsRootVolumeSize(int value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue