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>
58 inline void SetId(
Aws::String&& value) { m_idHasBeenSet =
true; m_id = std::move(value); }
59 inline void SetId(
const char* value) { m_idHasBeenSet =
true; m_id.assign(value); }
74 inline void SetName(
const char* value) { m_nameHasBeenSet =
true; m_name.assign(value); }
130 inline void SetLogUri(
const char* value) { m_logUriHasBeenSet =
true; m_logUri.assign(value); }
145 inline void SetLogEncryptionKmsKeyId(
const char* value) { m_logEncryptionKmsKeyIdHasBeenSet =
true; m_logEncryptionKmsKeyId.assign(value); }
159 inline void SetRequestedAmiVersion(
const char* value) { m_requestedAmiVersionHasBeenSet =
true; m_requestedAmiVersion.assign(value); }
173 inline void SetRunningAmiVersion(
const char* value) { m_runningAmiVersionHasBeenSet =
true; m_runningAmiVersion.assign(value); }
194 inline void SetReleaseLabel(
const char* value) { m_releaseLabelHasBeenSet =
true; m_releaseLabel.assign(value); }
207 inline void SetAutoTerminate(
bool value) { m_autoTerminateHasBeenSet =
true; m_autoTerminate = value; }
250 inline void SetVisibleToAllUsers(
bool value) { m_visibleToAllUsersHasBeenSet =
true; m_visibleToAllUsers = value; }
278 inline Cluster&
AddTags(
const Tag& value) { m_tagsHasBeenSet =
true; m_tags.push_back(value);
return *
this; }
279 inline Cluster&
AddTags(
Tag&& value) { m_tagsHasBeenSet =
true; m_tags.push_back(std::move(value));
return *
this; }
291 inline void SetServiceRole(
const char* value) { m_serviceRoleHasBeenSet =
true; m_serviceRole.assign(value); }
321 inline void SetMasterPublicDnsName(
const char* value) { m_masterPublicDnsNameHasBeenSet =
true; m_masterPublicDnsName.assign(value); }
350 inline void SetSecurityConfiguration(
const char* value) { m_securityConfigurationHasBeenSet =
true; m_securityConfiguration.assign(value); }
367 inline void SetAutoScalingRole(
const char* value) { m_autoScalingRoleHasBeenSet =
true; m_autoScalingRole.assign(value); }
406 inline void SetCustomAmiId(
const char* value) { m_customAmiIdHasBeenSet =
true; m_customAmiId.assign(value); }
420 inline void SetEbsRootVolumeSize(
int value) { m_ebsRootVolumeSizeHasBeenSet =
true; m_ebsRootVolumeSize = value; }
461 inline void SetClusterArn(
const char* value) { m_clusterArnHasBeenSet =
true; m_clusterArn.assign(value); }
476 inline void SetOutpostArn(
const char* value) { m_outpostArnHasBeenSet =
true; m_outpostArn.assign(value); }
516 inline void SetOSReleaseLabel(
const char* value) { m_oSReleaseLabelHasBeenSet =
true; m_oSReleaseLabel.assign(value); }
530 inline void SetEbsRootVolumeIops(
int value) { m_ebsRootVolumeIopsHasBeenSet =
true; m_ebsRootVolumeIops = value; }
548 bool m_idHasBeenSet =
false;
551 bool m_nameHasBeenSet =
false;
554 bool m_statusHasBeenSet =
false;
557 bool m_ec2InstanceAttributesHasBeenSet =
false;
560 bool m_instanceCollectionTypeHasBeenSet =
false;
563 bool m_logUriHasBeenSet =
false;
566 bool m_logEncryptionKmsKeyIdHasBeenSet =
false;
569 bool m_requestedAmiVersionHasBeenSet =
false;
572 bool m_runningAmiVersionHasBeenSet =
false;
575 bool m_releaseLabelHasBeenSet =
false;
577 bool m_autoTerminate;
578 bool m_autoTerminateHasBeenSet =
false;
580 bool m_terminationProtected;
581 bool m_terminationProtectedHasBeenSet =
false;
583 bool m_unhealthyNodeReplacement;
584 bool m_unhealthyNodeReplacementHasBeenSet =
false;
586 bool m_visibleToAllUsers;
587 bool m_visibleToAllUsersHasBeenSet =
false;
590 bool m_applicationsHasBeenSet =
false;
593 bool m_tagsHasBeenSet =
false;
596 bool m_serviceRoleHasBeenSet =
false;
598 int m_normalizedInstanceHours;
599 bool m_normalizedInstanceHoursHasBeenSet =
false;
602 bool m_masterPublicDnsNameHasBeenSet =
false;
605 bool m_configurationsHasBeenSet =
false;
608 bool m_securityConfigurationHasBeenSet =
false;
611 bool m_autoScalingRoleHasBeenSet =
false;
614 bool m_scaleDownBehaviorHasBeenSet =
false;
617 bool m_customAmiIdHasBeenSet =
false;
619 int m_ebsRootVolumeSize;
620 bool m_ebsRootVolumeSizeHasBeenSet =
false;
623 bool m_repoUpgradeOnBootHasBeenSet =
false;
626 bool m_kerberosAttributesHasBeenSet =
false;
629 bool m_clusterArnHasBeenSet =
false;
632 bool m_outpostArnHasBeenSet =
false;
634 int m_stepConcurrencyLevel;
635 bool m_stepConcurrencyLevelHasBeenSet =
false;
638 bool m_placementGroupsHasBeenSet =
false;
641 bool m_oSReleaseLabelHasBeenSet =
false;
643 int m_ebsRootVolumeIops;
644 bool m_ebsRootVolumeIopsHasBeenSet =
false;
646 int m_ebsRootVolumeThroughput;
647 bool m_ebsRootVolumeThroughputHasBeenSet =
false;
Cluster & WithRequestedAmiVersion(const Aws::String &value)
Cluster & WithAutoScalingRole(Aws::String &&value)
const Aws::String & GetServiceRole() const
Cluster & WithRepoUpgradeOnBoot(RepoUpgradeOnBoot &&value)
const Aws::String & GetRunningAmiVersion() const
Cluster & WithSecurityConfiguration(const Aws::String &value)
bool StatusHasBeenSet() const
bool NormalizedInstanceHoursHasBeenSet() const
Cluster & WithReleaseLabel(const char *value)
void SetId(const char *value)
void SetPlacementGroups(const Aws::Vector< PlacementGroupConfig > &value)
Cluster & WithTerminationProtected(bool value)
Cluster & WithRequestedAmiVersion(Aws::String &&value)
Cluster & WithInstanceCollectionType(const InstanceCollectionType &value)
Cluster & WithCustomAmiId(const Aws::String &value)
void SetStatus(ClusterStatus &&value)
const Aws::Vector< Configuration > & GetConfigurations() const
void SetTags(const Aws::Vector< Tag > &value)
void SetCustomAmiId(const char *value)
void SetServiceRole(const char *value)
Cluster & WithStatus(ClusterStatus &&value)
bool GetTerminationProtected() const
Cluster & WithMasterPublicDnsName(const char *value)
void SetOutpostArn(const char *value)
bool EbsRootVolumeThroughputHasBeenSet() const
Cluster & WithKerberosAttributes(const KerberosAttributes &value)
bool NameHasBeenSet() const
Cluster & WithSecurityConfiguration(const char *value)
void SetRequestedAmiVersion(Aws::String &&value)
const RepoUpgradeOnBoot & GetRepoUpgradeOnBoot() const
Cluster & WithOutpostArn(const char *value)
Cluster & WithId(const Aws::String &value)
bool InstanceCollectionTypeHasBeenSet() const
void SetSecurityConfiguration(Aws::String &&value)
void SetStepConcurrencyLevel(int value)
bool MasterPublicDnsNameHasBeenSet() const
Cluster & WithLogEncryptionKmsKeyId(Aws::String &&value)
void SetOSReleaseLabel(const Aws::String &value)
const Aws::String & GetLogEncryptionKmsKeyId() const
bool UnhealthyNodeReplacementHasBeenSet() const
void SetKerberosAttributes(const KerberosAttributes &value)
Cluster & AddPlacementGroups(PlacementGroupConfig &&value)
AWS_EMR_API Cluster & operator=(Aws::Utils::Json::JsonView jsonValue)
int GetEbsRootVolumeThroughput() const
bool AutoScalingRoleHasBeenSet() const
void SetName(Aws::String &&value)
Cluster & WithRunningAmiVersion(Aws::String &&value)
int GetStepConcurrencyLevel() const
Cluster & AddApplications(Application &&value)
Cluster & WithLogUri(Aws::String &&value)
Cluster & WithReleaseLabel(const Aws::String &value)
void SetCustomAmiId(const Aws::String &value)
Cluster & WithId(const char *value)
bool LogEncryptionKmsKeyIdHasBeenSet() const
bool TerminationProtectedHasBeenSet() const
const Aws::Vector< PlacementGroupConfig > & GetPlacementGroups() const
bool LogUriHasBeenSet() const
void SetId(Aws::String &&value)
void SetRunningAmiVersion(const char *value)
void SetLogUri(const Aws::String &value)
const Aws::Vector< Application > & GetApplications() const
bool OutpostArnHasBeenSet() const
void SetScaleDownBehavior(ScaleDownBehavior &&value)
const Aws::String & GetLogUri() const
void SetLogUri(Aws::String &&value)
Cluster & WithOutpostArn(const Aws::String &value)
AWS_EMR_API Aws::Utils::Json::JsonValue Jsonize() const
Cluster & WithServiceRole(Aws::String &&value)
bool EbsRootVolumeSizeHasBeenSet() const
Cluster & WithAutoScalingRole(const Aws::String &value)
void SetRequestedAmiVersion(const char *value)
void SetServiceRole(const Aws::String &value)
bool GetVisibleToAllUsers() const
void SetReleaseLabel(const char *value)
bool ScaleDownBehaviorHasBeenSet() const
bool OSReleaseLabelHasBeenSet() const
AWS_EMR_API Cluster(Aws::Utils::Json::JsonView jsonValue)
void SetPlacementGroups(Aws::Vector< PlacementGroupConfig > &&value)
void SetMasterPublicDnsName(const Aws::String &value)
void SetAutoScalingRole(const Aws::String &value)
Cluster & WithOSReleaseLabel(const char *value)
void SetTerminationProtected(bool value)
Cluster & WithStatus(const ClusterStatus &value)
Cluster & WithConfigurations(const Aws::Vector< Configuration > &value)
Cluster & WithScaleDownBehavior(ScaleDownBehavior &&value)
void SetKerberosAttributes(KerberosAttributes &&value)
void SetAutoScalingRole(const char *value)
void SetOSReleaseLabel(Aws::String &&value)
Cluster & WithName(const char *value)
Cluster & WithServiceRole(const Aws::String &value)
void SetName(const Aws::String &value)
bool GetAutoTerminate() const
void SetUnhealthyNodeReplacement(bool value)
int GetEbsRootVolumeSize() const
Cluster & AddPlacementGroups(const PlacementGroupConfig &value)
Cluster & WithRunningAmiVersion(const Aws::String &value)
void SetOutpostArn(Aws::String &&value)
Cluster & WithCustomAmiId(const char *value)
bool PlacementGroupsHasBeenSet() const
Cluster & WithMasterPublicDnsName(Aws::String &&value)
Cluster & WithKerberosAttributes(KerberosAttributes &&value)
Cluster & WithMasterPublicDnsName(const Aws::String &value)
void SetEbsRootVolumeIops(int value)
bool RequestedAmiVersionHasBeenSet() const
const ClusterStatus & GetStatus() const
void SetReleaseLabel(const Aws::String &value)
Cluster & WithOSReleaseLabel(const Aws::String &value)
void SetNormalizedInstanceHours(int value)
void SetScaleDownBehavior(const ScaleDownBehavior &value)
Cluster & WithLogEncryptionKmsKeyId(const char *value)
void SetOSReleaseLabel(const char *value)
Cluster & WithName(Aws::String &&value)
Cluster & WithCustomAmiId(Aws::String &&value)
Cluster & WithVisibleToAllUsers(bool value)
Cluster & AddTags(Tag &&value)
const Aws::String & GetCustomAmiId() const
bool ConfigurationsHasBeenSet() const
bool EbsRootVolumeIopsHasBeenSet() const
void SetEc2InstanceAttributes(const Ec2InstanceAttributes &value)
bool StepConcurrencyLevelHasBeenSet() const
void SetName(const char *value)
const Aws::String & GetReleaseLabel() const
void SetRunningAmiVersion(const Aws::String &value)
const Aws::String & GetClusterArn() const
const Aws::String & GetRequestedAmiVersion() const
bool GetUnhealthyNodeReplacement() const
void SetClusterArn(const Aws::String &value)
void SetLogEncryptionKmsKeyId(Aws::String &&value)
void SetSecurityConfiguration(const char *value)
Cluster & WithRunningAmiVersion(const char *value)
Cluster & WithServiceRole(const char *value)
bool ServiceRoleHasBeenSet() const
void SetServiceRole(Aws::String &&value)
void SetConfigurations(const Aws::Vector< Configuration > &value)
Cluster & WithSecurityConfiguration(Aws::String &&value)
bool IdHasBeenSet() const
void SetStatus(const ClusterStatus &value)
Cluster & WithRepoUpgradeOnBoot(const RepoUpgradeOnBoot &value)
void SetClusterArn(const char *value)
void SetCustomAmiId(Aws::String &&value)
void SetId(const Aws::String &value)
Cluster & AddConfigurations(const Configuration &value)
void SetMasterPublicDnsName(const char *value)
bool AutoTerminateHasBeenSet() const
Cluster & WithEbsRootVolumeThroughput(int value)
Cluster & AddApplications(const Application &value)
bool Ec2InstanceAttributesHasBeenSet() const
void SetInstanceCollectionType(InstanceCollectionType &&value)
Cluster & WithAutoScalingRole(const char *value)
Cluster & WithLogUri(const Aws::String &value)
void SetClusterArn(Aws::String &&value)
void SetApplications(const Aws::Vector< Application > &value)
bool KerberosAttributesHasBeenSet() const
const ScaleDownBehavior & GetScaleDownBehavior() const
Cluster & WithNormalizedInstanceHours(int value)
void SetLogEncryptionKmsKeyId(const char *value)
bool VisibleToAllUsersHasBeenSet() const
const Aws::String & GetId() const
Cluster & WithConfigurations(Aws::Vector< Configuration > &&value)
bool ClusterArnHasBeenSet() const
void SetReleaseLabel(Aws::String &&value)
Cluster & AddConfigurations(Configuration &&value)
void SetTags(Aws::Vector< Tag > &&value)
void SetRepoUpgradeOnBoot(RepoUpgradeOnBoot &&value)
Cluster & WithName(const Aws::String &value)
Cluster & WithOutpostArn(Aws::String &&value)
Cluster & WithPlacementGroups(Aws::Vector< PlacementGroupConfig > &&value)
void SetVisibleToAllUsers(bool value)
Cluster & WithRequestedAmiVersion(const char *value)
Cluster & WithLogEncryptionKmsKeyId(const Aws::String &value)
Cluster & WithClusterArn(const char *value)
bool SecurityConfigurationHasBeenSet() const
const Aws::String & GetOutpostArn() const
Cluster & WithEbsRootVolumeIops(int value)
const Aws::String & GetMasterPublicDnsName() const
Cluster & WithTags(Aws::Vector< Tag > &&value)
int GetNormalizedInstanceHours() const
Cluster & WithId(Aws::String &&value)
const Aws::String & GetSecurityConfiguration() const
Cluster & WithApplications(const Aws::Vector< Application > &value)
void SetEbsRootVolumeThroughput(int value)
const Aws::Vector< Tag > & GetTags() const
Cluster & WithApplications(Aws::Vector< Application > &&value)
void SetAutoScalingRole(Aws::String &&value)
Cluster & WithClusterArn(Aws::String &&value)
bool TagsHasBeenSet() const
const Aws::String & GetOSReleaseLabel() const
void SetMasterPublicDnsName(Aws::String &&value)
void SetRepoUpgradeOnBoot(const RepoUpgradeOnBoot &value)
Cluster & WithTags(const Aws::Vector< Tag > &value)
bool ApplicationsHasBeenSet() const
Cluster & WithEc2InstanceAttributes(const Ec2InstanceAttributes &value)
void SetOutpostArn(const Aws::String &value)
const InstanceCollectionType & GetInstanceCollectionType() const
void SetInstanceCollectionType(const InstanceCollectionType &value)
Cluster & WithClusterArn(const Aws::String &value)
int GetEbsRootVolumeIops() const
const Aws::String & GetName() const
bool ReleaseLabelHasBeenSet() const
void SetEbsRootVolumeSize(int value)
const Aws::String & GetAutoScalingRole() const
void SetSecurityConfiguration(const Aws::String &value)
Cluster & WithInstanceCollectionType(InstanceCollectionType &&value)
void SetApplications(Aws::Vector< Application > &&value)
Cluster & WithAutoTerminate(bool value)
void SetRunningAmiVersion(Aws::String &&value)
void SetEc2InstanceAttributes(Ec2InstanceAttributes &&value)
bool RunningAmiVersionHasBeenSet() const
Cluster & WithReleaseLabel(Aws::String &&value)
Cluster & WithUnhealthyNodeReplacement(bool value)
Cluster & WithStepConcurrencyLevel(int value)
Cluster & WithOSReleaseLabel(Aws::String &&value)
void SetConfigurations(Aws::Vector< Configuration > &&value)
void SetLogEncryptionKmsKeyId(const Aws::String &value)
Cluster & WithScaleDownBehavior(const ScaleDownBehavior &value)
void SetLogUri(const char *value)
Cluster & WithPlacementGroups(const Aws::Vector< PlacementGroupConfig > &value)
bool CustomAmiIdHasBeenSet() const
Cluster & WithEc2InstanceAttributes(Ec2InstanceAttributes &&value)
void SetRequestedAmiVersion(const Aws::String &value)
bool RepoUpgradeOnBootHasBeenSet() const
const Ec2InstanceAttributes & GetEc2InstanceAttributes() const
const KerberosAttributes & GetKerberosAttributes() const
void SetAutoTerminate(bool value)
Cluster & AddTags(const Tag &value)
Cluster & WithLogUri(const char *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