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));
220 template <
typename BootstrapActionsT = Aws::Vector<BootstrapActionConfig>>
222 m_bootstrapActionsHasBeenSet =
true;
223 m_bootstrapActions = std::forward<BootstrapActionsT>(value);
225 template <
typename BootstrapActionsT = Aws::Vector<BootstrapActionConfig>>
230 template <
typename BootstrapActionsT = BootstrapActionConfig>
232 m_bootstrapActionsHasBeenSet =
true;
233 m_bootstrapActions.emplace_back(std::forward<BootstrapActionsT>(value));
250 template <
typename SupportedProductsT = Aws::Vector<Aws::String>>
252 m_supportedProductsHasBeenSet =
true;
253 m_supportedProducts = std::forward<SupportedProductsT>(value);
255 template <
typename SupportedProductsT = Aws::Vector<Aws::String>>
260 template <
typename SupportedProductsT = Aws::String>
262 m_supportedProductsHasBeenSet =
true;
263 m_supportedProducts.emplace_back(std::forward<SupportedProductsT>(value));
290 template <
typename NewSupportedProductsT = Aws::Vector<SupportedProductConfig>>
292 m_newSupportedProductsHasBeenSet =
true;
293 m_newSupportedProducts = std::forward<NewSupportedProductsT>(value);
295 template <
typename NewSupportedProductsT = Aws::Vector<SupportedProductConfig>>
300 template <
typename NewSupportedProductsT = SupportedProductConfig>
302 m_newSupportedProductsHasBeenSet =
true;
303 m_newSupportedProducts.emplace_back(std::forward<NewSupportedProductsT>(value));
318 template <
typename ApplicationsT = Aws::Vector<Application>>
320 m_applicationsHasBeenSet =
true;
321 m_applications = std::forward<ApplicationsT>(value);
323 template <
typename ApplicationsT = Aws::Vector<Application>>
328 template <
typename ApplicationsT = Application>
330 m_applicationsHasBeenSet =
true;
331 m_applications.emplace_back(std::forward<ApplicationsT>(value));
343 template <
typename ConfigurationsT = Aws::Vector<Configuration>>
345 m_configurationsHasBeenSet =
true;
346 m_configurations = std::forward<ConfigurationsT>(value);
348 template <
typename ConfigurationsT = Aws::Vector<Configuration>>
353 template <
typename ConfigurationsT = Configuration>
355 m_configurationsHasBeenSet =
true;
356 m_configurations.emplace_back(std::forward<ConfigurationsT>(value));
382 m_visibleToAllUsersHasBeenSet =
true;
383 m_visibleToAllUsers = value;
400 template <
typename JobFlowRoleT = Aws::String>
402 m_jobFlowRoleHasBeenSet =
true;
403 m_jobFlowRole = std::forward<JobFlowRoleT>(value);
405 template <
typename JobFlowRoleT = Aws::String>
420 template <
typename ServiceRoleT = Aws::String>
422 m_serviceRoleHasBeenSet =
true;
423 m_serviceRole = std::forward<ServiceRoleT>(value);
425 template <
typename ServiceRoleT = Aws::String>
439 template <
typename TagsT = Aws::Vector<Tag>>
441 m_tagsHasBeenSet =
true;
442 m_tags = std::forward<TagsT>(value);
444 template <
typename TagsT = Aws::Vector<Tag>>
446 SetTags(std::forward<TagsT>(value));
449 template <
typename TagsT = Tag>
451 m_tagsHasBeenSet =
true;
452 m_tags.emplace_back(std::forward<TagsT>(value));
463 template <
typename SecurityConfigurationT = Aws::String>
465 m_securityConfigurationHasBeenSet =
true;
466 m_securityConfiguration = std::forward<SecurityConfigurationT>(value);
468 template <
typename SecurityConfigurationT = Aws::String>
484 template <
typename AutoScalingRoleT = Aws::String>
486 m_autoScalingRoleHasBeenSet =
true;
487 m_autoScalingRole = std::forward<AutoScalingRoleT>(value);
489 template <
typename AutoScalingRoleT = Aws::String>
515 m_scaleDownBehaviorHasBeenSet =
true;
516 m_scaleDownBehavior = value;
543 template <
typename CustomAmiIdT = Aws::String>
545 m_customAmiIdHasBeenSet =
true;
546 m_customAmiId = std::forward<CustomAmiIdT>(value);
548 template <
typename CustomAmiIdT = Aws::String>
564 m_ebsRootVolumeSizeHasBeenSet =
true;
565 m_ebsRootVolumeSize = value;
584 m_repoUpgradeOnBootHasBeenSet =
true;
585 m_repoUpgradeOnBoot = value;
602 template <
typename KerberosAttributesT = KerberosAttributes>
604 m_kerberosAttributesHasBeenSet =
true;
605 m_kerberosAttributes = std::forward<KerberosAttributesT>(value);
607 template <
typename KerberosAttributesT = KerberosAttributes>
622 m_stepConcurrencyLevelHasBeenSet =
true;
623 m_stepConcurrencyLevel = value;
637 template <
typename ManagedScalingPolicyT = ManagedScalingPolicy>
639 m_managedScalingPolicyHasBeenSet =
true;
640 m_managedScalingPolicy = std::forward<ManagedScalingPolicyT>(value);
642 template <
typename ManagedScalingPolicyT = ManagedScalingPolicy>
655 template <
typename PlacementGroupConfigsT = Aws::Vector<PlacementGroupConfig>>
657 m_placementGroupConfigsHasBeenSet =
true;
658 m_placementGroupConfigs = std::forward<PlacementGroupConfigsT>(value);
660 template <
typename PlacementGroupConfigsT = Aws::Vector<PlacementGroupConfig>>
665 template <
typename PlacementGroupConfigsT = PlacementGroupConfig>
667 m_placementGroupConfigsHasBeenSet =
true;
668 m_placementGroupConfigs.emplace_back(std::forward<PlacementGroupConfigsT>(value));
677 template <
typename AutoTerminationPolicyT = AutoTerminationPolicy>
679 m_autoTerminationPolicyHasBeenSet =
true;
680 m_autoTerminationPolicy = std::forward<AutoTerminationPolicyT>(value);
682 template <
typename AutoTerminationPolicyT = AutoTerminationPolicy>
697 template <
typename OSReleaseLabelT = Aws::String>
699 m_oSReleaseLabelHasBeenSet =
true;
700 m_oSReleaseLabel = std::forward<OSReleaseLabelT>(value);
702 template <
typename OSReleaseLabelT = Aws::String>
718 m_ebsRootVolumeIopsHasBeenSet =
true;
719 m_ebsRootVolumeIops = value;
736 m_ebsRootVolumeThroughputHasBeenSet =
true;
737 m_ebsRootVolumeThroughput = value;
752 m_extendedSupportHasBeenSet =
true;
753 m_extendedSupport = value;
767 template <
typename MonitoringConfigurationT = MonitoringConfiguration>
769 m_monitoringConfigurationHasBeenSet =
true;
770 m_monitoringConfiguration = std::forward<MonitoringConfigurationT>(value);
772 template <
typename MonitoringConfigurationT = MonitoringConfiguration>
805 bool m_visibleToAllUsers{
false};
821 int m_ebsRootVolumeSize{0};
825 KerberosAttributes m_kerberosAttributes;
827 int m_stepConcurrencyLevel{0};
829 ManagedScalingPolicy m_managedScalingPolicy;
833 AutoTerminationPolicy m_autoTerminationPolicy;
837 int m_ebsRootVolumeIops{0};
839 int m_ebsRootVolumeThroughput{0};
841 bool m_extendedSupport{
false};
843 MonitoringConfiguration m_monitoringConfiguration;
844 bool m_nameHasBeenSet =
false;
845 bool m_logUriHasBeenSet =
false;
846 bool m_logEncryptionKmsKeyIdHasBeenSet =
false;
847 bool m_additionalInfoHasBeenSet =
false;
848 bool m_amiVersionHasBeenSet =
false;
849 bool m_releaseLabelHasBeenSet =
false;
850 bool m_instancesHasBeenSet =
false;
851 bool m_stepsHasBeenSet =
false;
852 bool m_bootstrapActionsHasBeenSet =
false;
853 bool m_supportedProductsHasBeenSet =
false;
854 bool m_newSupportedProductsHasBeenSet =
false;
855 bool m_applicationsHasBeenSet =
false;
856 bool m_configurationsHasBeenSet =
false;
857 bool m_visibleToAllUsersHasBeenSet =
false;
858 bool m_jobFlowRoleHasBeenSet =
false;
859 bool m_serviceRoleHasBeenSet =
false;
860 bool m_tagsHasBeenSet =
false;
861 bool m_securityConfigurationHasBeenSet =
false;
862 bool m_autoScalingRoleHasBeenSet =
false;
863 bool m_scaleDownBehaviorHasBeenSet =
false;
864 bool m_customAmiIdHasBeenSet =
false;
865 bool m_ebsRootVolumeSizeHasBeenSet =
false;
866 bool m_repoUpgradeOnBootHasBeenSet =
false;
867 bool m_kerberosAttributesHasBeenSet =
false;
868 bool m_stepConcurrencyLevelHasBeenSet =
false;
869 bool m_managedScalingPolicyHasBeenSet =
false;
870 bool m_placementGroupConfigsHasBeenSet =
false;
871 bool m_autoTerminationPolicyHasBeenSet =
false;
872 bool m_oSReleaseLabelHasBeenSet =
false;
873 bool m_ebsRootVolumeIopsHasBeenSet =
false;
874 bool m_ebsRootVolumeThroughputHasBeenSet =
false;
875 bool m_extendedSupportHasBeenSet =
false;
876 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 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
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)
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