7#include <aws/elasticmapreduce/EMR_EXPORTS.h>
8#include <aws/elasticmapreduce/EMRRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/elasticmapreduce/model/JobFlowInstancesConfig.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/elasticmapreduce/model/ScaleDownBehavior.h>
13#include <aws/elasticmapreduce/model/RepoUpgradeOnBoot.h>
14#include <aws/elasticmapreduce/model/KerberosAttributes.h>
15#include <aws/elasticmapreduce/model/ManagedScalingPolicy.h>
16#include <aws/elasticmapreduce/model/AutoTerminationPolicy.h>
17#include <aws/elasticmapreduce/model/StepConfig.h>
18#include <aws/elasticmapreduce/model/BootstrapActionConfig.h>
19#include <aws/elasticmapreduce/model/SupportedProductConfig.h>
20#include <aws/elasticmapreduce/model/Application.h>
21#include <aws/elasticmapreduce/model/Configuration.h>
22#include <aws/elasticmapreduce/model/Tag.h>
23#include <aws/elasticmapreduce/model/PlacementGroupConfig.h>
60 template<
typename NameT = Aws::String>
61 void SetName(NameT&& value) { m_nameHasBeenSet =
true; m_name = std::forward<NameT>(value); }
62 template<
typename NameT = Aws::String>
73 template<
typename LogUriT = Aws::String>
74 void SetLogUri(LogUriT&& value) { m_logUriHasBeenSet =
true; m_logUri = std::forward<LogUriT>(value); }
75 template<
typename LogUriT = Aws::String>
87 template<
typename LogEncryptionKmsKeyIdT = Aws::String>
88 void SetLogEncryptionKmsKeyId(LogEncryptionKmsKeyIdT&& value) { m_logEncryptionKmsKeyIdHasBeenSet =
true; m_logEncryptionKmsKeyId = std::forward<LogEncryptionKmsKeyIdT>(value); }
89 template<
typename LogEncryptionKmsKeyIdT = Aws::String>
99 template<
typename AdditionalInfoT = Aws::String>
100 void SetAdditionalInfo(AdditionalInfoT&& value) { m_additionalInfoHasBeenSet =
true; m_additionalInfo = std::forward<AdditionalInfoT>(value); }
101 template<
typename AdditionalInfoT = Aws::String>
113 template<
typename AmiVersionT = Aws::String>
114 void SetAmiVersion(AmiVersionT&& value) { m_amiVersionHasBeenSet =
true; m_amiVersion = std::forward<AmiVersionT>(value); }
115 template<
typename AmiVersionT = Aws::String>
132 template<
typename ReleaseLabelT = Aws::String>
133 void SetReleaseLabel(ReleaseLabelT&& value) { m_releaseLabelHasBeenSet =
true; m_releaseLabel = std::forward<ReleaseLabelT>(value); }
134 template<
typename ReleaseLabelT = Aws::String>
144 template<
typename InstancesT = JobFlowInstancesConfig>
145 void SetInstances(InstancesT&& value) { m_instancesHasBeenSet =
true; m_instances = std::forward<InstancesT>(value); }
146 template<
typename InstancesT = JobFlowInstancesConfig>
156 template<
typename StepsT = Aws::Vector<StepConfig>>
157 void SetSteps(StepsT&& value) { m_stepsHasBeenSet =
true; m_steps = std::forward<StepsT>(value); }
158 template<
typename StepsT = Aws::Vector<StepConfig>>
160 template<
typename StepsT = StepConfig>
161 RunJobFlowRequest&
AddSteps(StepsT&& value) { m_stepsHasBeenSet =
true; m_steps.emplace_back(std::forward<StepsT>(value));
return *
this; }
171 template<
typename BootstrapActionsT = Aws::Vector<BootstrapActionConfig>>
172 void SetBootstrapActions(BootstrapActionsT&& value) { m_bootstrapActionsHasBeenSet =
true; m_bootstrapActions = std::forward<BootstrapActionsT>(value); }
173 template<
typename BootstrapActionsT = Aws::Vector<BootstrapActionConfig>>
175 template<
typename BootstrapActionsT = BootstrapActionConfig>
176 RunJobFlowRequest&
AddBootstrapActions(BootstrapActionsT&& value) { m_bootstrapActionsHasBeenSet =
true; m_bootstrapActions.emplace_back(std::forward<BootstrapActionsT>(value));
return *
this; }
191 template<
typename SupportedProductsT = Aws::Vector<Aws::String>>
192 void SetSupportedProducts(SupportedProductsT&& value) { m_supportedProductsHasBeenSet =
true; m_supportedProducts = std::forward<SupportedProductsT>(value); }
193 template<
typename SupportedProductsT = Aws::Vector<Aws::String>>
195 template<
typename SupportedProductsT = Aws::String>
196 RunJobFlowRequest&
AddSupportedProducts(SupportedProductsT&& value) { m_supportedProductsHasBeenSet =
true; m_supportedProducts.emplace_back(std::forward<SupportedProductsT>(value));
return *
this; }
221 template<
typename NewSupportedProductsT = Aws::Vector<SupportedProductConfig>>
222 void SetNewSupportedProducts(NewSupportedProductsT&& value) { m_newSupportedProductsHasBeenSet =
true; m_newSupportedProducts = std::forward<NewSupportedProductsT>(value); }
223 template<
typename NewSupportedProductsT = Aws::Vector<SupportedProductConfig>>
225 template<
typename NewSupportedProductsT = SupportedProductConfig>
226 RunJobFlowRequest&
AddNewSupportedProducts(NewSupportedProductsT&& value) { m_newSupportedProductsHasBeenSet =
true; m_newSupportedProducts.emplace_back(std::forward<NewSupportedProductsT>(value));
return *
this; }
239 template<
typename ApplicationsT = Aws::Vector<Application>>
240 void SetApplications(ApplicationsT&& value) { m_applicationsHasBeenSet =
true; m_applications = std::forward<ApplicationsT>(value); }
241 template<
typename ApplicationsT = Aws::Vector<Application>>
243 template<
typename ApplicationsT = Application>
244 RunJobFlowRequest&
AddApplications(ApplicationsT&& value) { m_applicationsHasBeenSet =
true; m_applications.emplace_back(std::forward<ApplicationsT>(value));
return *
this; }
254 template<
typename ConfigurationsT = Aws::Vector<Configuration>>
255 void SetConfigurations(ConfigurationsT&& value) { m_configurationsHasBeenSet =
true; m_configurations = std::forward<ConfigurationsT>(value); }
256 template<
typename ConfigurationsT = Aws::Vector<Configuration>>
258 template<
typename ConfigurationsT = Configuration>
259 RunJobFlowRequest&
AddConfigurations(ConfigurationsT&& value) { m_configurationsHasBeenSet =
true; m_configurations.emplace_back(std::forward<ConfigurationsT>(value));
return *
this; }
282 inline void SetVisibleToAllUsers(
bool value) { m_visibleToAllUsersHasBeenSet =
true; m_visibleToAllUsers = value; }
295 template<
typename JobFlowRoleT = Aws::String>
296 void SetJobFlowRole(JobFlowRoleT&& value) { m_jobFlowRoleHasBeenSet =
true; m_jobFlowRole = std::forward<JobFlowRoleT>(value); }
297 template<
typename JobFlowRoleT = Aws::String>
309 template<
typename ServiceRoleT = Aws::String>
310 void SetServiceRole(ServiceRoleT&& value) { m_serviceRoleHasBeenSet =
true; m_serviceRole = std::forward<ServiceRoleT>(value); }
311 template<
typename ServiceRoleT = Aws::String>
322 template<
typename TagsT = Aws::Vector<Tag>>
323 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
324 template<
typename TagsT = Aws::Vector<Tag>>
326 template<
typename TagsT = Tag>
327 RunJobFlowRequest&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
336 template<
typename SecurityConfigurationT = Aws::String>
337 void SetSecurityConfiguration(SecurityConfigurationT&& value) { m_securityConfigurationHasBeenSet =
true; m_securityConfiguration = std::forward<SecurityConfigurationT>(value); }
338 template<
typename SecurityConfigurationT = Aws::String>
351 template<
typename AutoScalingRoleT = Aws::String>
352 void SetAutoScalingRole(AutoScalingRoleT&& value) { m_autoScalingRoleHasBeenSet =
true; m_autoScalingRole = std::forward<AutoScalingRoleT>(value); }
353 template<
typename AutoScalingRoleT = Aws::String>
398 template<
typename CustomAmiIdT = Aws::String>
399 void SetCustomAmiId(CustomAmiIdT&& value) { m_customAmiIdHasBeenSet =
true; m_customAmiId = std::forward<CustomAmiIdT>(value); }
400 template<
typename CustomAmiIdT = Aws::String>
412 inline void SetEbsRootVolumeSize(
int value) { m_ebsRootVolumeSizeHasBeenSet =
true; m_ebsRootVolumeSize = value; }
439 template<
typename KerberosAttributesT = KerberosAttributes>
440 void SetKerberosAttributes(KerberosAttributesT&& value) { m_kerberosAttributesHasBeenSet =
true; m_kerberosAttributes = std::forward<KerberosAttributesT>(value); }
441 template<
typename KerberosAttributesT = KerberosAttributes>
462 template<
typename ManagedScalingPolicyT = ManagedScalingPolicy>
463 void SetManagedScalingPolicy(ManagedScalingPolicyT&& value) { m_managedScalingPolicyHasBeenSet =
true; m_managedScalingPolicy = std::forward<ManagedScalingPolicyT>(value); }
464 template<
typename ManagedScalingPolicyT = ManagedScalingPolicy>
474 template<
typename PlacementGroupConfigsT = Aws::Vector<PlacementGroupConfig>>
475 void SetPlacementGroupConfigs(PlacementGroupConfigsT&& value) { m_placementGroupConfigsHasBeenSet =
true; m_placementGroupConfigs = std::forward<PlacementGroupConfigsT>(value); }
476 template<
typename PlacementGroupConfigsT = Aws::Vector<PlacementGroupConfig>>
478 template<
typename PlacementGroupConfigsT = PlacementGroupConfig>
479 RunJobFlowRequest&
AddPlacementGroupConfigs(PlacementGroupConfigsT&& value) { m_placementGroupConfigsHasBeenSet =
true; m_placementGroupConfigs.emplace_back(std::forward<PlacementGroupConfigsT>(value));
return *
this; }
486 template<
typename AutoTerminationPolicyT = AutoTerminationPolicy>
487 void SetAutoTerminationPolicy(AutoTerminationPolicyT&& value) { m_autoTerminationPolicyHasBeenSet =
true; m_autoTerminationPolicy = std::forward<AutoTerminationPolicyT>(value); }
488 template<
typename AutoTerminationPolicyT = AutoTerminationPolicy>
500 template<
typename OSReleaseLabelT = Aws::String>
501 void SetOSReleaseLabel(OSReleaseLabelT&& value) { m_oSReleaseLabelHasBeenSet =
true; m_oSReleaseLabel = std::forward<OSReleaseLabelT>(value); }
502 template<
typename OSReleaseLabelT = Aws::String>
514 inline void SetEbsRootVolumeIops(
int value) { m_ebsRootVolumeIopsHasBeenSet =
true; m_ebsRootVolumeIops = value; }
532 bool m_nameHasBeenSet =
false;
535 bool m_logUriHasBeenSet =
false;
538 bool m_logEncryptionKmsKeyIdHasBeenSet =
false;
541 bool m_additionalInfoHasBeenSet =
false;
544 bool m_amiVersionHasBeenSet =
false;
547 bool m_releaseLabelHasBeenSet =
false;
550 bool m_instancesHasBeenSet =
false;
553 bool m_stepsHasBeenSet =
false;
556 bool m_bootstrapActionsHasBeenSet =
false;
559 bool m_supportedProductsHasBeenSet =
false;
562 bool m_newSupportedProductsHasBeenSet =
false;
565 bool m_applicationsHasBeenSet =
false;
568 bool m_configurationsHasBeenSet =
false;
570 bool m_visibleToAllUsers{
false};
571 bool m_visibleToAllUsersHasBeenSet =
false;
574 bool m_jobFlowRoleHasBeenSet =
false;
577 bool m_serviceRoleHasBeenSet =
false;
580 bool m_tagsHasBeenSet =
false;
583 bool m_securityConfigurationHasBeenSet =
false;
586 bool m_autoScalingRoleHasBeenSet =
false;
589 bool m_scaleDownBehaviorHasBeenSet =
false;
592 bool m_customAmiIdHasBeenSet =
false;
594 int m_ebsRootVolumeSize{0};
595 bool m_ebsRootVolumeSizeHasBeenSet =
false;
598 bool m_repoUpgradeOnBootHasBeenSet =
false;
600 KerberosAttributes m_kerberosAttributes;
601 bool m_kerberosAttributesHasBeenSet =
false;
603 int m_stepConcurrencyLevel{0};
604 bool m_stepConcurrencyLevelHasBeenSet =
false;
606 ManagedScalingPolicy m_managedScalingPolicy;
607 bool m_managedScalingPolicyHasBeenSet =
false;
610 bool m_placementGroupConfigsHasBeenSet =
false;
612 AutoTerminationPolicy m_autoTerminationPolicy;
613 bool m_autoTerminationPolicyHasBeenSet =
false;
616 bool m_oSReleaseLabelHasBeenSet =
false;
618 int m_ebsRootVolumeIops{0};
619 bool m_ebsRootVolumeIopsHasBeenSet =
false;
621 int m_ebsRootVolumeThroughput{0};
622 bool m_ebsRootVolumeThroughputHasBeenSet =
false;
const Aws::Vector< Application > & GetApplications() const
void SetScaleDownBehavior(ScaleDownBehavior value)
RunJobFlowRequest & WithCustomAmiId(CustomAmiIdT &&value)
bool LogEncryptionKmsKeyIdHasBeenSet() const
RunJobFlowRequest & WithStepConcurrencyLevel(int value)
const Aws::String & GetReleaseLabel() const
RunJobFlowRequest & WithManagedScalingPolicy(ManagedScalingPolicyT &&value)
void SetAmiVersion(AmiVersionT &&value)
const Aws::Vector< SupportedProductConfig > & GetNewSupportedProducts() const
const Aws::Vector< StepConfig > & GetSteps() const
RunJobFlowRequest & WithLogUri(LogUriT &&value)
RunJobFlowRequest & WithSecurityConfiguration(SecurityConfigurationT &&value)
bool AutoTerminationPolicyHasBeenSet() const
const Aws::Vector< Tag > & GetTags() const
RunJobFlowRequest & WithSupportedProducts(SupportedProductsT &&value)
bool EbsRootVolumeThroughputHasBeenSet() const
RunJobFlowRequest & WithLogEncryptionKmsKeyId(LogEncryptionKmsKeyIdT &&value)
bool EbsRootVolumeSizeHasBeenSet() const
bool OSReleaseLabelHasBeenSet() const
AWS_EMR_API RunJobFlowRequest()=default
virtual const char * GetServiceRequestName() const override
bool SupportedProductsHasBeenSet() const
RunJobFlowRequest & AddTags(TagsT &&value)
void SetVisibleToAllUsers(bool value)
const JobFlowInstancesConfig & GetInstances() const
void SetPlacementGroupConfigs(PlacementGroupConfigsT &&value)
RunJobFlowRequest & WithAmiVersion(AmiVersionT &&value)
bool EbsRootVolumeIopsHasBeenSet() const
const Aws::Vector< PlacementGroupConfig > & GetPlacementGroupConfigs() const
void SetSteps(StepsT &&value)
RunJobFlowRequest & WithAdditionalInfo(AdditionalInfoT &&value)
RunJobFlowRequest & WithSteps(StepsT &&value)
bool NameHasBeenSet() const
ScaleDownBehavior GetScaleDownBehavior() const
void SetName(NameT &&value)
bool ApplicationsHasBeenSet() const
bool ManagedScalingPolicyHasBeenSet() const
void SetAdditionalInfo(AdditionalInfoT &&value)
const Aws::String & GetJobFlowRole() const
RunJobFlowRequest & WithConfigurations(ConfigurationsT &&value)
const Aws::String & GetLogUri() const
void SetNewSupportedProducts(NewSupportedProductsT &&value)
RunJobFlowRequest & WithNewSupportedProducts(NewSupportedProductsT &&value)
void SetServiceRole(ServiceRoleT &&value)
const Aws::String & GetServiceRole() const
void SetRepoUpgradeOnBoot(RepoUpgradeOnBoot value)
void SetSecurityConfiguration(SecurityConfigurationT &&value)
RunJobFlowRequest & WithTags(TagsT &&value)
bool VisibleToAllUsersHasBeenSet() const
void SetReleaseLabel(ReleaseLabelT &&value)
bool StepsHasBeenSet() const
RunJobFlowRequest & WithBootstrapActions(BootstrapActionsT &&value)
bool InstancesHasBeenSet() const
void SetEbsRootVolumeThroughput(int value)
RunJobFlowRequest & AddPlacementGroupConfigs(PlacementGroupConfigsT &&value)
RunJobFlowRequest & AddNewSupportedProducts(NewSupportedProductsT &&value)
const Aws::Vector< BootstrapActionConfig > & GetBootstrapActions() const
const Aws::Vector< Aws::String > & GetSupportedProducts() const
const Aws::String & GetName() const
RunJobFlowRequest & WithPlacementGroupConfigs(PlacementGroupConfigsT &&value)
bool TagsHasBeenSet() const
AWS_EMR_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
RunJobFlowRequest & WithAutoTerminationPolicy(AutoTerminationPolicyT &&value)
RunJobFlowRequest & WithEbsRootVolumeSize(int value)
bool CustomAmiIdHasBeenSet() const
void SetAutoScalingRole(AutoScalingRoleT &&value)
RunJobFlowRequest & WithEbsRootVolumeIops(int value)
int GetEbsRootVolumeSize() const
RunJobFlowRequest & AddSteps(StepsT &&value)
bool BootstrapActionsHasBeenSet() const
const KerberosAttributes & GetKerberosAttributes() const
bool ReleaseLabelHasBeenSet() const
RunJobFlowRequest & WithKerberosAttributes(KerberosAttributesT &&value)
const ManagedScalingPolicy & GetManagedScalingPolicy() const
void SetCustomAmiId(CustomAmiIdT &&value)
void SetEbsRootVolumeIops(int value)
bool AdditionalInfoHasBeenSet() const
bool LogUriHasBeenSet() const
const Aws::String & GetAmiVersion() const
RunJobFlowRequest & AddBootstrapActions(BootstrapActionsT &&value)
void SetEbsRootVolumeSize(int value)
void SetKerberosAttributes(KerberosAttributesT &&value)
void SetSupportedProducts(SupportedProductsT &&value)
RunJobFlowRequest & WithReleaseLabel(ReleaseLabelT &&value)
const Aws::String & GetAdditionalInfo() const
bool SecurityConfigurationHasBeenSet() const
RunJobFlowRequest & WithOSReleaseLabel(OSReleaseLabelT &&value)
void SetLogUri(LogUriT &&value)
bool GetVisibleToAllUsers() const
RunJobFlowRequest & WithAutoScalingRole(AutoScalingRoleT &&value)
bool RepoUpgradeOnBootHasBeenSet() const
bool AutoScalingRoleHasBeenSet() const
RunJobFlowRequest & WithServiceRole(ServiceRoleT &&value)
const Aws::Vector< Configuration > & GetConfigurations() const
bool NewSupportedProductsHasBeenSet() const
const Aws::String & GetSecurityConfiguration() const
RunJobFlowRequest & WithEbsRootVolumeThroughput(int value)
int GetEbsRootVolumeIops() const
void SetApplications(ApplicationsT &&value)
bool AmiVersionHasBeenSet() const
RunJobFlowRequest & AddConfigurations(ConfigurationsT &&value)
bool KerberosAttributesHasBeenSet() const
RunJobFlowRequest & WithInstances(InstancesT &&value)
void SetConfigurations(ConfigurationsT &&value)
void SetBootstrapActions(BootstrapActionsT &&value)
const Aws::String & GetCustomAmiId() const
bool ServiceRoleHasBeenSet() const
RunJobFlowRequest & WithApplications(ApplicationsT &&value)
int GetStepConcurrencyLevel() const
RepoUpgradeOnBoot GetRepoUpgradeOnBoot() const
RunJobFlowRequest & WithName(NameT &&value)
void SetJobFlowRole(JobFlowRoleT &&value)
int GetEbsRootVolumeThroughput() const
RunJobFlowRequest & AddSupportedProducts(SupportedProductsT &&value)
const AutoTerminationPolicy & GetAutoTerminationPolicy() const
RunJobFlowRequest & WithRepoUpgradeOnBoot(RepoUpgradeOnBoot value)
bool JobFlowRoleHasBeenSet() const
void SetInstances(InstancesT &&value)
bool PlacementGroupConfigsHasBeenSet() const
const Aws::String & GetOSReleaseLabel() const
void SetLogEncryptionKmsKeyId(LogEncryptionKmsKeyIdT &&value)
bool ScaleDownBehaviorHasBeenSet() const
void SetAutoTerminationPolicy(AutoTerminationPolicyT &&value)
RunJobFlowRequest & WithJobFlowRole(JobFlowRoleT &&value)
void SetOSReleaseLabel(OSReleaseLabelT &&value)
void SetStepConcurrencyLevel(int value)
bool StepConcurrencyLevelHasBeenSet() const
void SetManagedScalingPolicy(ManagedScalingPolicyT &&value)
bool ConfigurationsHasBeenSet() const
const Aws::String & GetLogEncryptionKmsKeyId() const
RunJobFlowRequest & WithVisibleToAllUsers(bool value)
RunJobFlowRequest & AddApplications(ApplicationsT &&value)
void SetTags(TagsT &&value)
AWS_EMR_API Aws::String SerializePayload() const override
const Aws::String & GetAutoScalingRole() const
RunJobFlowRequest & WithScaleDownBehavior(ScaleDownBehavior value)
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector