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>
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>
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>
82 template<
typename StatusT = ClusterStatus>
83 void SetStatus(StatusT&& value) { m_statusHasBeenSet =
true; m_status = std::forward<StatusT>(value); }
84 template<
typename StatusT = ClusterStatus>
95 template<
typename Ec2InstanceAttributesT = Ec2InstanceAttributes>
96 void SetEc2InstanceAttributes(Ec2InstanceAttributesT&& value) { m_ec2InstanceAttributesHasBeenSet =
true; m_ec2InstanceAttributes = std::forward<Ec2InstanceAttributesT>(value); }
97 template<
typename Ec2InstanceAttributesT = Ec2InstanceAttributes>
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>
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>
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>
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>
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>
191 inline void SetAutoTerminate(
bool value) { m_autoTerminateHasBeenSet =
true; m_autoTerminate = value; }
234 inline void SetVisibleToAllUsers(
bool value) { m_visibleToAllUsersHasBeenSet =
true; m_visibleToAllUsers = value; }
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>>
248 template<
typename ApplicationsT = Application>
249 Cluster&
AddApplications(ApplicationsT&& value) { m_applicationsHasBeenSet =
true; m_applications.emplace_back(std::forward<ApplicationsT>(value));
return *
this; }
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>>
262 template<
typename TagsT = Tag>
263 Cluster&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
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>
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>
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>>
318 template<
typename ConfigurationsT = Configuration>
319 Cluster&
AddConfigurations(ConfigurationsT&& value) { m_configurationsHasBeenSet =
true; m_configurations.emplace_back(std::forward<ConfigurationsT>(value));
return *
this; }
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>
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>
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>
392 inline void SetEbsRootVolumeSize(
int value) { m_ebsRootVolumeSizeHasBeenSet =
true; m_ebsRootVolumeSize = value; }
417 template<
typename KerberosAttributesT = KerberosAttributes>
418 void SetKerberosAttributes(KerberosAttributesT&& value) { m_kerberosAttributesHasBeenSet =
true; m_kerberosAttributes = std::forward<KerberosAttributesT>(value); }
419 template<
typename KerberosAttributesT = KerberosAttributes>
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>
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>
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>>
468 template<
typename PlacementGroupsT = PlacementGroupConfig>
469 Cluster&
AddPlacementGroups(PlacementGroupsT&& value) { m_placementGroupsHasBeenSet =
true; m_placementGroups.emplace_back(std::forward<PlacementGroupsT>(value));
return *
this; }
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>
494 inline void SetEbsRootVolumeIops(
int value) { m_ebsRootVolumeIopsHasBeenSet =
true; m_ebsRootVolumeIops = value; }
516 inline void SetExtendedSupport(
bool value) { m_extendedSupportHasBeenSet =
true; m_extendedSupport = value; }
522 bool m_idHasBeenSet =
false;
525 bool m_nameHasBeenSet =
false;
528 bool m_statusHasBeenSet =
false;
531 bool m_ec2InstanceAttributesHasBeenSet =
false;
534 bool m_instanceCollectionTypeHasBeenSet =
false;
537 bool m_logUriHasBeenSet =
false;
540 bool m_logEncryptionKmsKeyIdHasBeenSet =
false;
543 bool m_requestedAmiVersionHasBeenSet =
false;
546 bool m_runningAmiVersionHasBeenSet =
false;
549 bool m_releaseLabelHasBeenSet =
false;
551 bool m_autoTerminate{
false};
552 bool m_autoTerminateHasBeenSet =
false;
554 bool m_terminationProtected{
false};
555 bool m_terminationProtectedHasBeenSet =
false;
557 bool m_unhealthyNodeReplacement{
false};
558 bool m_unhealthyNodeReplacementHasBeenSet =
false;
560 bool m_visibleToAllUsers{
false};
561 bool m_visibleToAllUsersHasBeenSet =
false;
564 bool m_applicationsHasBeenSet =
false;
567 bool m_tagsHasBeenSet =
false;
570 bool m_serviceRoleHasBeenSet =
false;
572 int m_normalizedInstanceHours{0};
573 bool m_normalizedInstanceHoursHasBeenSet =
false;
576 bool m_masterPublicDnsNameHasBeenSet =
false;
579 bool m_configurationsHasBeenSet =
false;
582 bool m_securityConfigurationHasBeenSet =
false;
585 bool m_autoScalingRoleHasBeenSet =
false;
588 bool m_scaleDownBehaviorHasBeenSet =
false;
591 bool m_customAmiIdHasBeenSet =
false;
593 int m_ebsRootVolumeSize{0};
594 bool m_ebsRootVolumeSizeHasBeenSet =
false;
597 bool m_repoUpgradeOnBootHasBeenSet =
false;
599 KerberosAttributes m_kerberosAttributes;
600 bool m_kerberosAttributesHasBeenSet =
false;
603 bool m_clusterArnHasBeenSet =
false;
606 bool m_outpostArnHasBeenSet =
false;
608 int m_stepConcurrencyLevel{0};
609 bool m_stepConcurrencyLevelHasBeenSet =
false;
612 bool m_placementGroupsHasBeenSet =
false;
615 bool m_oSReleaseLabelHasBeenSet =
false;
617 int m_ebsRootVolumeIops{0};
618 bool m_ebsRootVolumeIopsHasBeenSet =
false;
620 int m_ebsRootVolumeThroughput{0};
621 bool m_ebsRootVolumeThroughputHasBeenSet =
false;
623 bool m_extendedSupport{
false};
624 bool m_extendedSupportHasBeenSet =
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
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
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
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)
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