7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/elasticmapreduce/EMRRequest.h>
10#include <aws/elasticmapreduce/EMR_EXPORTS.h>
11#include <aws/elasticmapreduce/model/Application.h>
12#include <aws/elasticmapreduce/model/AutoTerminationPolicy.h>
13#include <aws/elasticmapreduce/model/BootstrapActionConfig.h>
14#include <aws/elasticmapreduce/model/Configuration.h>
15#include <aws/elasticmapreduce/model/JobFlowInstancesConfig.h>
16#include <aws/elasticmapreduce/model/KerberosAttributes.h>
17#include <aws/elasticmapreduce/model/ManagedScalingPolicy.h>
18#include <aws/elasticmapreduce/model/MonitoringConfiguration.h>
19#include <aws/elasticmapreduce/model/PlacementGroupConfig.h>
20#include <aws/elasticmapreduce/model/RepoUpgradeOnBoot.h>
21#include <aws/elasticmapreduce/model/ScaleDownBehavior.h>
22#include <aws/elasticmapreduce/model/StepConfig.h>
23#include <aws/elasticmapreduce/model/SupportedProductConfig.h>
24#include <aws/elasticmapreduce/model/Tag.h>
57 template <
typename NameT = Aws::String>
59 m_nameHasBeenSet =
true;
60 m_name = std::forward<NameT>(value);
62 template <
typename NameT = Aws::String>
64 SetName(std::forward<NameT>(value));
76 template <
typename LogUriT = Aws::String>
78 m_logUriHasBeenSet =
true;
79 m_logUri = std::forward<LogUriT>(value);
81 template <
typename LogUriT = Aws::String>
96 template <
typename LogEncryptionKmsKeyIdT = Aws::String>
98 m_logEncryptionKmsKeyIdHasBeenSet =
true;
99 m_logEncryptionKmsKeyId = std::forward<LogEncryptionKmsKeyIdT>(value);
101 template <
typename LogEncryptionKmsKeyIdT = Aws::String>
114 template <
typename AdditionalInfoT = Aws::String>
116 m_additionalInfoHasBeenSet =
true;
117 m_additionalInfo = std::forward<AdditionalInfoT>(value);
119 template <
typename AdditionalInfoT = Aws::String>
134 template <
typename AmiVersionT = Aws::String>
136 m_amiVersionHasBeenSet =
true;
137 m_amiVersion = std::forward<AmiVersionT>(value);
139 template <
typename AmiVersionT = Aws::String>
159 template <
typename ReleaseLabelT = Aws::String>
161 m_releaseLabelHasBeenSet =
true;
162 m_releaseLabel = std::forward<ReleaseLabelT>(value);
164 template <
typename ReleaseLabelT = Aws::String>
177 template <
typename InstancesT = JobFlowInstancesConfig>
179 m_instancesHasBeenSet =
true;
180 m_instances = std::forward<InstancesT>(value);
182 template <
typename InstancesT = JobFlowInstancesConfig>
195 template <
typename StepsT = Aws::Vector<StepConfig>>
197 m_stepsHasBeenSet =
true;
198 m_steps = std::forward<StepsT>(value);
200 template <
typename StepsT = Aws::Vector<StepConfig>>
202 SetSteps(std::forward<StepsT>(value));
205 template <
typename StepsT = StepConfig>
207 m_stepsHasBeenSet =
true;
208 m_steps.emplace_back(std::forward<StepsT>(value));
227 template <
typename StepExecutionRoleArnT = Aws::String>
229 m_stepExecutionRoleArnHasBeenSet =
true;
230 m_stepExecutionRoleArn = std::forward<StepExecutionRoleArnT>(value);
232 template <
typename StepExecutionRoleArnT = Aws::String>
246 template <
typename BootstrapActionsT = Aws::Vector<BootstrapActionConfig>>
248 m_bootstrapActionsHasBeenSet =
true;
249 m_bootstrapActions = std::forward<BootstrapActionsT>(value);
251 template <
typename BootstrapActionsT = Aws::Vector<BootstrapActionConfig>>
256 template <
typename BootstrapActionsT = BootstrapActionConfig>
258 m_bootstrapActionsHasBeenSet =
true;
259 m_bootstrapActions.emplace_back(std::forward<BootstrapActionsT>(value));
276 template <
typename SupportedProductsT = Aws::Vector<Aws::String>>
278 m_supportedProductsHasBeenSet =
true;
279 m_supportedProducts = std::forward<SupportedProductsT>(value);
281 template <
typename SupportedProductsT = Aws::Vector<Aws::String>>
286 template <
typename SupportedProductsT = Aws::String>
288 m_supportedProductsHasBeenSet =
true;
289 m_supportedProducts.emplace_back(std::forward<SupportedProductsT>(value));
316 template <
typename NewSupportedProductsT = Aws::Vector<SupportedProductConfig>>
318 m_newSupportedProductsHasBeenSet =
true;
319 m_newSupportedProducts = std::forward<NewSupportedProductsT>(value);
321 template <
typename NewSupportedProductsT = Aws::Vector<SupportedProductConfig>>
326 template <
typename NewSupportedProductsT = SupportedProductConfig>
328 m_newSupportedProductsHasBeenSet =
true;
329 m_newSupportedProducts.emplace_back(std::forward<NewSupportedProductsT>(value));
344 template <
typename ApplicationsT = Aws::Vector<Application>>
346 m_applicationsHasBeenSet =
true;
347 m_applications = std::forward<ApplicationsT>(value);
349 template <
typename ApplicationsT = Aws::Vector<Application>>
354 template <
typename ApplicationsT = Application>
356 m_applicationsHasBeenSet =
true;
357 m_applications.emplace_back(std::forward<ApplicationsT>(value));
369 template <
typename ConfigurationsT = Aws::Vector<Configuration>>
371 m_configurationsHasBeenSet =
true;
372 m_configurations = std::forward<ConfigurationsT>(value);
374 template <
typename ConfigurationsT = Aws::Vector<Configuration>>
379 template <
typename ConfigurationsT = Configuration>
381 m_configurationsHasBeenSet =
true;
382 m_configurations.emplace_back(std::forward<ConfigurationsT>(value));
408 m_visibleToAllUsersHasBeenSet =
true;
409 m_visibleToAllUsers = value;
426 template <
typename JobFlowRoleT = Aws::String>
428 m_jobFlowRoleHasBeenSet =
true;
429 m_jobFlowRole = std::forward<JobFlowRoleT>(value);
431 template <
typename JobFlowRoleT = Aws::String>
446 template <
typename ServiceRoleT = Aws::String>
448 m_serviceRoleHasBeenSet =
true;
449 m_serviceRole = std::forward<ServiceRoleT>(value);
451 template <
typename ServiceRoleT = Aws::String>
465 template <
typename TagsT = Aws::Vector<Tag>>
467 m_tagsHasBeenSet =
true;
468 m_tags = std::forward<TagsT>(value);
470 template <
typename TagsT = Aws::Vector<Tag>>
472 SetTags(std::forward<TagsT>(value));
475 template <
typename TagsT = Tag>
477 m_tagsHasBeenSet =
true;
478 m_tags.emplace_back(std::forward<TagsT>(value));
489 template <
typename SecurityConfigurationT = Aws::String>
491 m_securityConfigurationHasBeenSet =
true;
492 m_securityConfiguration = std::forward<SecurityConfigurationT>(value);
494 template <
typename SecurityConfigurationT = Aws::String>
510 template <
typename AutoScalingRoleT = Aws::String>
512 m_autoScalingRoleHasBeenSet =
true;
513 m_autoScalingRole = std::forward<AutoScalingRoleT>(value);
515 template <
typename AutoScalingRoleT = Aws::String>
541 m_scaleDownBehaviorHasBeenSet =
true;
542 m_scaleDownBehavior = value;
569 template <
typename CustomAmiIdT = Aws::String>
571 m_customAmiIdHasBeenSet =
true;
572 m_customAmiId = std::forward<CustomAmiIdT>(value);
574 template <
typename CustomAmiIdT = Aws::String>
590 m_ebsRootVolumeSizeHasBeenSet =
true;
591 m_ebsRootVolumeSize = value;
610 m_repoUpgradeOnBootHasBeenSet =
true;
611 m_repoUpgradeOnBoot = value;
628 template <
typename KerberosAttributesT = KerberosAttributes>
630 m_kerberosAttributesHasBeenSet =
true;
631 m_kerberosAttributes = std::forward<KerberosAttributesT>(value);
633 template <
typename KerberosAttributesT = KerberosAttributes>
648 m_stepConcurrencyLevelHasBeenSet =
true;
649 m_stepConcurrencyLevel = value;
663 template <
typename ManagedScalingPolicyT = ManagedScalingPolicy>
665 m_managedScalingPolicyHasBeenSet =
true;
666 m_managedScalingPolicy = std::forward<ManagedScalingPolicyT>(value);
668 template <
typename ManagedScalingPolicyT = ManagedScalingPolicy>
681 template <
typename PlacementGroupConfigsT = Aws::Vector<PlacementGroupConfig>>
683 m_placementGroupConfigsHasBeenSet =
true;
684 m_placementGroupConfigs = std::forward<PlacementGroupConfigsT>(value);
686 template <
typename PlacementGroupConfigsT = Aws::Vector<PlacementGroupConfig>>
691 template <
typename PlacementGroupConfigsT = PlacementGroupConfig>
693 m_placementGroupConfigsHasBeenSet =
true;
694 m_placementGroupConfigs.emplace_back(std::forward<PlacementGroupConfigsT>(value));
703 template <
typename AutoTerminationPolicyT = AutoTerminationPolicy>
705 m_autoTerminationPolicyHasBeenSet =
true;
706 m_autoTerminationPolicy = std::forward<AutoTerminationPolicyT>(value);
708 template <
typename AutoTerminationPolicyT = AutoTerminationPolicy>
723 template <
typename OSReleaseLabelT = Aws::String>
725 m_oSReleaseLabelHasBeenSet =
true;
726 m_oSReleaseLabel = std::forward<OSReleaseLabelT>(value);
728 template <
typename OSReleaseLabelT = Aws::String>
744 m_ebsRootVolumeIopsHasBeenSet =
true;
745 m_ebsRootVolumeIops = value;
762 m_ebsRootVolumeThroughputHasBeenSet =
true;
763 m_ebsRootVolumeThroughput = value;
778 m_extendedSupportHasBeenSet =
true;
779 m_extendedSupport = value;
793 template <
typename MonitoringConfigurationT = MonitoringConfiguration>
795 m_monitoringConfigurationHasBeenSet =
true;
796 m_monitoringConfiguration = std::forward<MonitoringConfigurationT>(value);
798 template <
typename MonitoringConfigurationT = MonitoringConfiguration>
833 bool m_visibleToAllUsers{
false};
849 int m_ebsRootVolumeSize{0};
853 KerberosAttributes m_kerberosAttributes;
855 int m_stepConcurrencyLevel{0};
857 ManagedScalingPolicy m_managedScalingPolicy;
861 AutoTerminationPolicy m_autoTerminationPolicy;
865 int m_ebsRootVolumeIops{0};
867 int m_ebsRootVolumeThroughput{0};
869 bool m_extendedSupport{
false};
871 MonitoringConfiguration m_monitoringConfiguration;
872 bool m_nameHasBeenSet =
false;
873 bool m_logUriHasBeenSet =
false;
874 bool m_logEncryptionKmsKeyIdHasBeenSet =
false;
875 bool m_additionalInfoHasBeenSet =
false;
876 bool m_amiVersionHasBeenSet =
false;
877 bool m_releaseLabelHasBeenSet =
false;
878 bool m_instancesHasBeenSet =
false;
879 bool m_stepsHasBeenSet =
false;
880 bool m_stepExecutionRoleArnHasBeenSet =
false;
881 bool m_bootstrapActionsHasBeenSet =
false;
882 bool m_supportedProductsHasBeenSet =
false;
883 bool m_newSupportedProductsHasBeenSet =
false;
884 bool m_applicationsHasBeenSet =
false;
885 bool m_configurationsHasBeenSet =
false;
886 bool m_visibleToAllUsersHasBeenSet =
false;
887 bool m_jobFlowRoleHasBeenSet =
false;
888 bool m_serviceRoleHasBeenSet =
false;
889 bool m_tagsHasBeenSet =
false;
890 bool m_securityConfigurationHasBeenSet =
false;
891 bool m_autoScalingRoleHasBeenSet =
false;
892 bool m_scaleDownBehaviorHasBeenSet =
false;
893 bool m_customAmiIdHasBeenSet =
false;
894 bool m_ebsRootVolumeSizeHasBeenSet =
false;
895 bool m_repoUpgradeOnBootHasBeenSet =
false;
896 bool m_kerberosAttributesHasBeenSet =
false;
897 bool m_stepConcurrencyLevelHasBeenSet =
false;
898 bool m_managedScalingPolicyHasBeenSet =
false;
899 bool m_placementGroupConfigsHasBeenSet =
false;
900 bool m_autoTerminationPolicyHasBeenSet =
false;
901 bool m_oSReleaseLabelHasBeenSet =
false;
902 bool m_ebsRootVolumeIopsHasBeenSet =
false;
903 bool m_ebsRootVolumeThroughputHasBeenSet =
false;
904 bool m_extendedSupportHasBeenSet =
false;
905 bool m_monitoringConfigurationHasBeenSet =
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)
bool GetExtendedSupport() const
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 ExtendedSupportHasBeenSet() const
bool EbsRootVolumeIopsHasBeenSet() const
const Aws::Vector< PlacementGroupConfig > & GetPlacementGroupConfigs() const
void SetSteps(StepsT &&value)
void SetExtendedSupport(bool 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 SetStepExecutionRoleArn(StepExecutionRoleArnT &&value)
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 & WithExtendedSupport(bool value)
void SetMonitoringConfiguration(MonitoringConfigurationT &&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 & WithMonitoringConfiguration(MonitoringConfigurationT &&value)
RunJobFlowRequest & WithEbsRootVolumeIops(int value)
const MonitoringConfiguration & GetMonitoringConfiguration() const
int GetEbsRootVolumeSize() const
RunJobFlowRequest & AddSteps(StepsT &&value)
bool BootstrapActionsHasBeenSet() const
bool StepExecutionRoleArnHasBeenSet() 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)
const Aws::String & GetStepExecutionRoleArn() const
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 & WithStepExecutionRoleArn(StepExecutionRoleArnT &&value)
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)
bool MonitoringConfigurationHasBeenSet() const
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