AWS SDK for C++

AWS SDK for C++ Version 1.11.788

Loading...
Searching...
No Matches
RunJobFlowRequest.h
1
6#pragma once
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>
25
26#include <utility>
27
28namespace Aws {
29namespace EMR {
30namespace Model {
31
38 public:
39 AWS_EMR_API RunJobFlowRequest() = default;
40
41 // Service request name is the Operation name which will send this request out,
42 // each operation should has unique request name, so that we can get operation's name from this request.
43 // Note: this is not true for response, multiple operations may have the same response name,
44 // so we can not get operation's name from response.
45 inline virtual const char* GetServiceRequestName() const override { return "RunJobFlow"; }
46
47 AWS_EMR_API Aws::String SerializePayload() const override;
48
50
52
55 inline const Aws::String& GetName() const { return m_name; }
56 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
57 template <typename NameT = Aws::String>
58 void SetName(NameT&& value) {
59 m_nameHasBeenSet = true;
60 m_name = std::forward<NameT>(value);
61 }
62 template <typename NameT = Aws::String>
63 RunJobFlowRequest& WithName(NameT&& value) {
64 SetName(std::forward<NameT>(value));
65 return *this;
66 }
68
70
74 inline const Aws::String& GetLogUri() const { return m_logUri; }
75 inline bool LogUriHasBeenSet() const { return m_logUriHasBeenSet; }
76 template <typename LogUriT = Aws::String>
77 void SetLogUri(LogUriT&& value) {
78 m_logUriHasBeenSet = true;
79 m_logUri = std::forward<LogUriT>(value);
80 }
81 template <typename LogUriT = Aws::String>
82 RunJobFlowRequest& WithLogUri(LogUriT&& value) {
83 SetLogUri(std::forward<LogUriT>(value));
84 return *this;
85 }
87
89
94 inline const Aws::String& GetLogEncryptionKmsKeyId() const { return m_logEncryptionKmsKeyId; }
95 inline bool LogEncryptionKmsKeyIdHasBeenSet() const { return m_logEncryptionKmsKeyIdHasBeenSet; }
96 template <typename LogEncryptionKmsKeyIdT = Aws::String>
97 void SetLogEncryptionKmsKeyId(LogEncryptionKmsKeyIdT&& value) {
98 m_logEncryptionKmsKeyIdHasBeenSet = true;
99 m_logEncryptionKmsKeyId = std::forward<LogEncryptionKmsKeyIdT>(value);
100 }
101 template <typename LogEncryptionKmsKeyIdT = Aws::String>
102 RunJobFlowRequest& WithLogEncryptionKmsKeyId(LogEncryptionKmsKeyIdT&& value) {
103 SetLogEncryptionKmsKeyId(std::forward<LogEncryptionKmsKeyIdT>(value));
104 return *this;
105 }
107
109
112 inline const Aws::String& GetAdditionalInfo() const { return m_additionalInfo; }
113 inline bool AdditionalInfoHasBeenSet() const { return m_additionalInfoHasBeenSet; }
114 template <typename AdditionalInfoT = Aws::String>
115 void SetAdditionalInfo(AdditionalInfoT&& value) {
116 m_additionalInfoHasBeenSet = true;
117 m_additionalInfo = std::forward<AdditionalInfoT>(value);
118 }
119 template <typename AdditionalInfoT = Aws::String>
120 RunJobFlowRequest& WithAdditionalInfo(AdditionalInfoT&& value) {
121 SetAdditionalInfo(std::forward<AdditionalInfoT>(value));
122 return *this;
123 }
125
127
132 inline const Aws::String& GetAmiVersion() const { return m_amiVersion; }
133 inline bool AmiVersionHasBeenSet() const { return m_amiVersionHasBeenSet; }
134 template <typename AmiVersionT = Aws::String>
135 void SetAmiVersion(AmiVersionT&& value) {
136 m_amiVersionHasBeenSet = true;
137 m_amiVersion = std::forward<AmiVersionT>(value);
138 }
139 template <typename AmiVersionT = Aws::String>
140 RunJobFlowRequest& WithAmiVersion(AmiVersionT&& value) {
141 SetAmiVersion(std::forward<AmiVersionT>(value));
142 return *this;
143 }
145
147
157 inline const Aws::String& GetReleaseLabel() const { return m_releaseLabel; }
158 inline bool ReleaseLabelHasBeenSet() const { return m_releaseLabelHasBeenSet; }
159 template <typename ReleaseLabelT = Aws::String>
160 void SetReleaseLabel(ReleaseLabelT&& value) {
161 m_releaseLabelHasBeenSet = true;
162 m_releaseLabel = std::forward<ReleaseLabelT>(value);
163 }
164 template <typename ReleaseLabelT = Aws::String>
165 RunJobFlowRequest& WithReleaseLabel(ReleaseLabelT&& value) {
166 SetReleaseLabel(std::forward<ReleaseLabelT>(value));
167 return *this;
168 }
170
172
175 inline const JobFlowInstancesConfig& GetInstances() const { return m_instances; }
176 inline bool InstancesHasBeenSet() const { return m_instancesHasBeenSet; }
177 template <typename InstancesT = JobFlowInstancesConfig>
178 void SetInstances(InstancesT&& value) {
179 m_instancesHasBeenSet = true;
180 m_instances = std::forward<InstancesT>(value);
181 }
182 template <typename InstancesT = JobFlowInstancesConfig>
183 RunJobFlowRequest& WithInstances(InstancesT&& value) {
184 SetInstances(std::forward<InstancesT>(value));
185 return *this;
186 }
188
190
193 inline const Aws::Vector<StepConfig>& GetSteps() const { return m_steps; }
194 inline bool StepsHasBeenSet() const { return m_stepsHasBeenSet; }
195 template <typename StepsT = Aws::Vector<StepConfig>>
196 void SetSteps(StepsT&& value) {
197 m_stepsHasBeenSet = true;
198 m_steps = std::forward<StepsT>(value);
199 }
200 template <typename StepsT = Aws::Vector<StepConfig>>
201 RunJobFlowRequest& WithSteps(StepsT&& value) {
202 SetSteps(std::forward<StepsT>(value));
203 return *this;
204 }
205 template <typename StepsT = StepConfig>
206 RunJobFlowRequest& AddSteps(StepsT&& value) {
207 m_stepsHasBeenSet = true;
208 m_steps.emplace_back(std::forward<StepsT>(value));
209 return *this;
210 }
212
214
225 inline const Aws::String& GetStepExecutionRoleArn() const { return m_stepExecutionRoleArn; }
226 inline bool StepExecutionRoleArnHasBeenSet() const { return m_stepExecutionRoleArnHasBeenSet; }
227 template <typename StepExecutionRoleArnT = Aws::String>
228 void SetStepExecutionRoleArn(StepExecutionRoleArnT&& value) {
229 m_stepExecutionRoleArnHasBeenSet = true;
230 m_stepExecutionRoleArn = std::forward<StepExecutionRoleArnT>(value);
231 }
232 template <typename StepExecutionRoleArnT = Aws::String>
233 RunJobFlowRequest& WithStepExecutionRoleArn(StepExecutionRoleArnT&& value) {
234 SetStepExecutionRoleArn(std::forward<StepExecutionRoleArnT>(value));
235 return *this;
236 }
238
240
244 inline const Aws::Vector<BootstrapActionConfig>& GetBootstrapActions() const { return m_bootstrapActions; }
245 inline bool BootstrapActionsHasBeenSet() const { return m_bootstrapActionsHasBeenSet; }
246 template <typename BootstrapActionsT = Aws::Vector<BootstrapActionConfig>>
247 void SetBootstrapActions(BootstrapActionsT&& value) {
248 m_bootstrapActionsHasBeenSet = true;
249 m_bootstrapActions = std::forward<BootstrapActionsT>(value);
250 }
251 template <typename BootstrapActionsT = Aws::Vector<BootstrapActionConfig>>
252 RunJobFlowRequest& WithBootstrapActions(BootstrapActionsT&& value) {
253 SetBootstrapActions(std::forward<BootstrapActionsT>(value));
254 return *this;
255 }
256 template <typename BootstrapActionsT = BootstrapActionConfig>
257 RunJobFlowRequest& AddBootstrapActions(BootstrapActionsT&& value) {
258 m_bootstrapActionsHasBeenSet = true;
259 m_bootstrapActions.emplace_back(std::forward<BootstrapActionsT>(value));
260 return *this;
261 }
263
265
274 inline const Aws::Vector<Aws::String>& GetSupportedProducts() const { return m_supportedProducts; }
275 inline bool SupportedProductsHasBeenSet() const { return m_supportedProductsHasBeenSet; }
276 template <typename SupportedProductsT = Aws::Vector<Aws::String>>
277 void SetSupportedProducts(SupportedProductsT&& value) {
278 m_supportedProductsHasBeenSet = true;
279 m_supportedProducts = std::forward<SupportedProductsT>(value);
280 }
281 template <typename SupportedProductsT = Aws::Vector<Aws::String>>
282 RunJobFlowRequest& WithSupportedProducts(SupportedProductsT&& value) {
283 SetSupportedProducts(std::forward<SupportedProductsT>(value));
284 return *this;
285 }
286 template <typename SupportedProductsT = Aws::String>
287 RunJobFlowRequest& AddSupportedProducts(SupportedProductsT&& value) {
288 m_supportedProductsHasBeenSet = true;
289 m_supportedProducts.emplace_back(std::forward<SupportedProductsT>(value));
290 return *this;
291 }
293
295
314 inline const Aws::Vector<SupportedProductConfig>& GetNewSupportedProducts() const { return m_newSupportedProducts; }
315 inline bool NewSupportedProductsHasBeenSet() const { return m_newSupportedProductsHasBeenSet; }
316 template <typename NewSupportedProductsT = Aws::Vector<SupportedProductConfig>>
317 void SetNewSupportedProducts(NewSupportedProductsT&& value) {
318 m_newSupportedProductsHasBeenSet = true;
319 m_newSupportedProducts = std::forward<NewSupportedProductsT>(value);
320 }
321 template <typename NewSupportedProductsT = Aws::Vector<SupportedProductConfig>>
322 RunJobFlowRequest& WithNewSupportedProducts(NewSupportedProductsT&& value) {
323 SetNewSupportedProducts(std::forward<NewSupportedProductsT>(value));
324 return *this;
325 }
326 template <typename NewSupportedProductsT = SupportedProductConfig>
327 RunJobFlowRequest& AddNewSupportedProducts(NewSupportedProductsT&& value) {
328 m_newSupportedProductsHasBeenSet = true;
329 m_newSupportedProducts.emplace_back(std::forward<NewSupportedProductsT>(value));
330 return *this;
331 }
333
335
342 inline const Aws::Vector<Application>& GetApplications() const { return m_applications; }
343 inline bool ApplicationsHasBeenSet() const { return m_applicationsHasBeenSet; }
344 template <typename ApplicationsT = Aws::Vector<Application>>
345 void SetApplications(ApplicationsT&& value) {
346 m_applicationsHasBeenSet = true;
347 m_applications = std::forward<ApplicationsT>(value);
348 }
349 template <typename ApplicationsT = Aws::Vector<Application>>
350 RunJobFlowRequest& WithApplications(ApplicationsT&& value) {
351 SetApplications(std::forward<ApplicationsT>(value));
352 return *this;
353 }
354 template <typename ApplicationsT = Application>
355 RunJobFlowRequest& AddApplications(ApplicationsT&& value) {
356 m_applicationsHasBeenSet = true;
357 m_applications.emplace_back(std::forward<ApplicationsT>(value));
358 return *this;
359 }
361
363
367 inline const Aws::Vector<Configuration>& GetConfigurations() const { return m_configurations; }
368 inline bool ConfigurationsHasBeenSet() const { return m_configurationsHasBeenSet; }
369 template <typename ConfigurationsT = Aws::Vector<Configuration>>
370 void SetConfigurations(ConfigurationsT&& value) {
371 m_configurationsHasBeenSet = true;
372 m_configurations = std::forward<ConfigurationsT>(value);
373 }
374 template <typename ConfigurationsT = Aws::Vector<Configuration>>
375 RunJobFlowRequest& WithConfigurations(ConfigurationsT&& value) {
376 SetConfigurations(std::forward<ConfigurationsT>(value));
377 return *this;
378 }
379 template <typename ConfigurationsT = Configuration>
380 RunJobFlowRequest& AddConfigurations(ConfigurationsT&& value) {
381 m_configurationsHasBeenSet = true;
382 m_configurations.emplace_back(std::forward<ConfigurationsT>(value));
383 return *this;
384 }
386
388
405 inline bool GetVisibleToAllUsers() const { return m_visibleToAllUsers; }
406 inline bool VisibleToAllUsersHasBeenSet() const { return m_visibleToAllUsersHasBeenSet; }
407 inline void SetVisibleToAllUsers(bool value) {
408 m_visibleToAllUsersHasBeenSet = true;
409 m_visibleToAllUsers = value;
410 }
413 return *this;
414 }
416
418
424 inline const Aws::String& GetJobFlowRole() const { return m_jobFlowRole; }
425 inline bool JobFlowRoleHasBeenSet() const { return m_jobFlowRoleHasBeenSet; }
426 template <typename JobFlowRoleT = Aws::String>
427 void SetJobFlowRole(JobFlowRoleT&& value) {
428 m_jobFlowRoleHasBeenSet = true;
429 m_jobFlowRole = std::forward<JobFlowRoleT>(value);
430 }
431 template <typename JobFlowRoleT = Aws::String>
432 RunJobFlowRequest& WithJobFlowRole(JobFlowRoleT&& value) {
433 SetJobFlowRole(std::forward<JobFlowRoleT>(value));
434 return *this;
435 }
437
439
444 inline const Aws::String& GetServiceRole() const { return m_serviceRole; }
445 inline bool ServiceRoleHasBeenSet() const { return m_serviceRoleHasBeenSet; }
446 template <typename ServiceRoleT = Aws::String>
447 void SetServiceRole(ServiceRoleT&& value) {
448 m_serviceRoleHasBeenSet = true;
449 m_serviceRole = std::forward<ServiceRoleT>(value);
450 }
451 template <typename ServiceRoleT = Aws::String>
452 RunJobFlowRequest& WithServiceRole(ServiceRoleT&& value) {
453 SetServiceRole(std::forward<ServiceRoleT>(value));
454 return *this;
455 }
457
459
463 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
464 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
465 template <typename TagsT = Aws::Vector<Tag>>
466 void SetTags(TagsT&& value) {
467 m_tagsHasBeenSet = true;
468 m_tags = std::forward<TagsT>(value);
469 }
470 template <typename TagsT = Aws::Vector<Tag>>
471 RunJobFlowRequest& WithTags(TagsT&& value) {
472 SetTags(std::forward<TagsT>(value));
473 return *this;
474 }
475 template <typename TagsT = Tag>
476 RunJobFlowRequest& AddTags(TagsT&& value) {
477 m_tagsHasBeenSet = true;
478 m_tags.emplace_back(std::forward<TagsT>(value));
479 return *this;
480 }
482
484
487 inline const Aws::String& GetSecurityConfiguration() const { return m_securityConfiguration; }
488 inline bool SecurityConfigurationHasBeenSet() const { return m_securityConfigurationHasBeenSet; }
489 template <typename SecurityConfigurationT = Aws::String>
490 void SetSecurityConfiguration(SecurityConfigurationT&& value) {
491 m_securityConfigurationHasBeenSet = true;
492 m_securityConfiguration = std::forward<SecurityConfigurationT>(value);
493 }
494 template <typename SecurityConfigurationT = Aws::String>
495 RunJobFlowRequest& WithSecurityConfiguration(SecurityConfigurationT&& value) {
496 SetSecurityConfiguration(std::forward<SecurityConfigurationT>(value));
497 return *this;
498 }
500
502
508 inline const Aws::String& GetAutoScalingRole() const { return m_autoScalingRole; }
509 inline bool AutoScalingRoleHasBeenSet() const { return m_autoScalingRoleHasBeenSet; }
510 template <typename AutoScalingRoleT = Aws::String>
511 void SetAutoScalingRole(AutoScalingRoleT&& value) {
512 m_autoScalingRoleHasBeenSet = true;
513 m_autoScalingRole = std::forward<AutoScalingRoleT>(value);
514 }
515 template <typename AutoScalingRoleT = Aws::String>
516 RunJobFlowRequest& WithAutoScalingRole(AutoScalingRoleT&& value) {
517 SetAutoScalingRole(std::forward<AutoScalingRoleT>(value));
518 return *this;
519 }
521
523
538 inline ScaleDownBehavior GetScaleDownBehavior() const { return m_scaleDownBehavior; }
539 inline bool ScaleDownBehaviorHasBeenSet() const { return m_scaleDownBehaviorHasBeenSet; }
541 m_scaleDownBehaviorHasBeenSet = true;
542 m_scaleDownBehavior = value;
543 }
546 return *this;
547 }
549
551
567 inline const Aws::String& GetCustomAmiId() const { return m_customAmiId; }
568 inline bool CustomAmiIdHasBeenSet() const { return m_customAmiIdHasBeenSet; }
569 template <typename CustomAmiIdT = Aws::String>
570 void SetCustomAmiId(CustomAmiIdT&& value) {
571 m_customAmiIdHasBeenSet = true;
572 m_customAmiId = std::forward<CustomAmiIdT>(value);
573 }
574 template <typename CustomAmiIdT = Aws::String>
575 RunJobFlowRequest& WithCustomAmiId(CustomAmiIdT&& value) {
576 SetCustomAmiId(std::forward<CustomAmiIdT>(value));
577 return *this;
578 }
580
582
587 inline int GetEbsRootVolumeSize() const { return m_ebsRootVolumeSize; }
588 inline bool EbsRootVolumeSizeHasBeenSet() const { return m_ebsRootVolumeSizeHasBeenSet; }
589 inline void SetEbsRootVolumeSize(int value) {
590 m_ebsRootVolumeSizeHasBeenSet = true;
591 m_ebsRootVolumeSize = value;
592 }
595 return *this;
596 }
598
600
607 inline RepoUpgradeOnBoot GetRepoUpgradeOnBoot() const { return m_repoUpgradeOnBoot; }
608 inline bool RepoUpgradeOnBootHasBeenSet() const { return m_repoUpgradeOnBootHasBeenSet; }
610 m_repoUpgradeOnBootHasBeenSet = true;
611 m_repoUpgradeOnBoot = value;
612 }
615 return *this;
616 }
618
620
626 inline const KerberosAttributes& GetKerberosAttributes() const { return m_kerberosAttributes; }
627 inline bool KerberosAttributesHasBeenSet() const { return m_kerberosAttributesHasBeenSet; }
628 template <typename KerberosAttributesT = KerberosAttributes>
629 void SetKerberosAttributes(KerberosAttributesT&& value) {
630 m_kerberosAttributesHasBeenSet = true;
631 m_kerberosAttributes = std::forward<KerberosAttributesT>(value);
632 }
633 template <typename KerberosAttributesT = KerberosAttributes>
634 RunJobFlowRequest& WithKerberosAttributes(KerberosAttributesT&& value) {
635 SetKerberosAttributes(std::forward<KerberosAttributesT>(value));
636 return *this;
637 }
639
641
645 inline int GetStepConcurrencyLevel() const { return m_stepConcurrencyLevel; }
646 inline bool StepConcurrencyLevelHasBeenSet() const { return m_stepConcurrencyLevelHasBeenSet; }
647 inline void SetStepConcurrencyLevel(int value) {
648 m_stepConcurrencyLevelHasBeenSet = true;
649 m_stepConcurrencyLevel = value;
650 }
653 return *this;
654 }
656
658
661 inline const ManagedScalingPolicy& GetManagedScalingPolicy() const { return m_managedScalingPolicy; }
662 inline bool ManagedScalingPolicyHasBeenSet() const { return m_managedScalingPolicyHasBeenSet; }
663 template <typename ManagedScalingPolicyT = ManagedScalingPolicy>
664 void SetManagedScalingPolicy(ManagedScalingPolicyT&& value) {
665 m_managedScalingPolicyHasBeenSet = true;
666 m_managedScalingPolicy = std::forward<ManagedScalingPolicyT>(value);
667 }
668 template <typename ManagedScalingPolicyT = ManagedScalingPolicy>
669 RunJobFlowRequest& WithManagedScalingPolicy(ManagedScalingPolicyT&& value) {
670 SetManagedScalingPolicy(std::forward<ManagedScalingPolicyT>(value));
671 return *this;
672 }
674
676
679 inline const Aws::Vector<PlacementGroupConfig>& GetPlacementGroupConfigs() const { return m_placementGroupConfigs; }
680 inline bool PlacementGroupConfigsHasBeenSet() const { return m_placementGroupConfigsHasBeenSet; }
681 template <typename PlacementGroupConfigsT = Aws::Vector<PlacementGroupConfig>>
682 void SetPlacementGroupConfigs(PlacementGroupConfigsT&& value) {
683 m_placementGroupConfigsHasBeenSet = true;
684 m_placementGroupConfigs = std::forward<PlacementGroupConfigsT>(value);
685 }
686 template <typename PlacementGroupConfigsT = Aws::Vector<PlacementGroupConfig>>
687 RunJobFlowRequest& WithPlacementGroupConfigs(PlacementGroupConfigsT&& value) {
688 SetPlacementGroupConfigs(std::forward<PlacementGroupConfigsT>(value));
689 return *this;
690 }
691 template <typename PlacementGroupConfigsT = PlacementGroupConfig>
692 RunJobFlowRequest& AddPlacementGroupConfigs(PlacementGroupConfigsT&& value) {
693 m_placementGroupConfigsHasBeenSet = true;
694 m_placementGroupConfigs.emplace_back(std::forward<PlacementGroupConfigsT>(value));
695 return *this;
696 }
698
700
701 inline const AutoTerminationPolicy& GetAutoTerminationPolicy() const { return m_autoTerminationPolicy; }
702 inline bool AutoTerminationPolicyHasBeenSet() const { return m_autoTerminationPolicyHasBeenSet; }
703 template <typename AutoTerminationPolicyT = AutoTerminationPolicy>
704 void SetAutoTerminationPolicy(AutoTerminationPolicyT&& value) {
705 m_autoTerminationPolicyHasBeenSet = true;
706 m_autoTerminationPolicy = std::forward<AutoTerminationPolicyT>(value);
707 }
708 template <typename AutoTerminationPolicyT = AutoTerminationPolicy>
709 RunJobFlowRequest& WithAutoTerminationPolicy(AutoTerminationPolicyT&& value) {
710 SetAutoTerminationPolicy(std::forward<AutoTerminationPolicyT>(value));
711 return *this;
712 }
714
716
721 inline const Aws::String& GetOSReleaseLabel() const { return m_oSReleaseLabel; }
722 inline bool OSReleaseLabelHasBeenSet() const { return m_oSReleaseLabelHasBeenSet; }
723 template <typename OSReleaseLabelT = Aws::String>
724 void SetOSReleaseLabel(OSReleaseLabelT&& value) {
725 m_oSReleaseLabelHasBeenSet = true;
726 m_oSReleaseLabel = std::forward<OSReleaseLabelT>(value);
727 }
728 template <typename OSReleaseLabelT = Aws::String>
729 RunJobFlowRequest& WithOSReleaseLabel(OSReleaseLabelT&& value) {
730 SetOSReleaseLabel(std::forward<OSReleaseLabelT>(value));
731 return *this;
732 }
734
736
741 inline int GetEbsRootVolumeIops() const { return m_ebsRootVolumeIops; }
742 inline bool EbsRootVolumeIopsHasBeenSet() const { return m_ebsRootVolumeIopsHasBeenSet; }
743 inline void SetEbsRootVolumeIops(int value) {
744 m_ebsRootVolumeIopsHasBeenSet = true;
745 m_ebsRootVolumeIops = value;
746 }
749 return *this;
750 }
752
754
759 inline int GetEbsRootVolumeThroughput() const { return m_ebsRootVolumeThroughput; }
760 inline bool EbsRootVolumeThroughputHasBeenSet() const { return m_ebsRootVolumeThroughputHasBeenSet; }
761 inline void SetEbsRootVolumeThroughput(int value) {
762 m_ebsRootVolumeThroughputHasBeenSet = true;
763 m_ebsRootVolumeThroughput = value;
764 }
767 return *this;
768 }
770
772
775 inline bool GetExtendedSupport() const { return m_extendedSupport; }
776 inline bool ExtendedSupportHasBeenSet() const { return m_extendedSupportHasBeenSet; }
777 inline void SetExtendedSupport(bool value) {
778 m_extendedSupportHasBeenSet = true;
779 m_extendedSupport = value;
780 }
782 SetExtendedSupport(value);
783 return *this;
784 }
786
788
791 inline const MonitoringConfiguration& GetMonitoringConfiguration() const { return m_monitoringConfiguration; }
792 inline bool MonitoringConfigurationHasBeenSet() const { return m_monitoringConfigurationHasBeenSet; }
793 template <typename MonitoringConfigurationT = MonitoringConfiguration>
794 void SetMonitoringConfiguration(MonitoringConfigurationT&& value) {
795 m_monitoringConfigurationHasBeenSet = true;
796 m_monitoringConfiguration = std::forward<MonitoringConfigurationT>(value);
797 }
798 template <typename MonitoringConfigurationT = MonitoringConfiguration>
799 RunJobFlowRequest& WithMonitoringConfiguration(MonitoringConfigurationT&& value) {
800 SetMonitoringConfiguration(std::forward<MonitoringConfigurationT>(value));
801 return *this;
802 }
804 private:
805 Aws::String m_name;
806
807 Aws::String m_logUri;
808
809 Aws::String m_logEncryptionKmsKeyId;
810
811 Aws::String m_additionalInfo;
812
813 Aws::String m_amiVersion;
814
815 Aws::String m_releaseLabel;
816
817 JobFlowInstancesConfig m_instances;
818
820
821 Aws::String m_stepExecutionRoleArn;
822
823 Aws::Vector<BootstrapActionConfig> m_bootstrapActions;
824
825 Aws::Vector<Aws::String> m_supportedProducts;
826
827 Aws::Vector<SupportedProductConfig> m_newSupportedProducts;
828
829 Aws::Vector<Application> m_applications;
830
831 Aws::Vector<Configuration> m_configurations;
832
833 bool m_visibleToAllUsers{false};
834
835 Aws::String m_jobFlowRole;
836
837 Aws::String m_serviceRole;
838
839 Aws::Vector<Tag> m_tags;
840
841 Aws::String m_securityConfiguration;
842
843 Aws::String m_autoScalingRole;
844
846
847 Aws::String m_customAmiId;
848
849 int m_ebsRootVolumeSize{0};
850
852
853 KerberosAttributes m_kerberosAttributes;
854
855 int m_stepConcurrencyLevel{0};
856
857 ManagedScalingPolicy m_managedScalingPolicy;
858
859 Aws::Vector<PlacementGroupConfig> m_placementGroupConfigs;
860
861 AutoTerminationPolicy m_autoTerminationPolicy;
862
863 Aws::String m_oSReleaseLabel;
864
865 int m_ebsRootVolumeIops{0};
866
867 int m_ebsRootVolumeThroughput{0};
868
869 bool m_extendedSupport{false};
870
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;
906};
907
908} // namespace Model
909} // namespace EMR
910} // namespace Aws
const Aws::Vector< Application > & GetApplications() const
void SetScaleDownBehavior(ScaleDownBehavior value)
RunJobFlowRequest & WithCustomAmiId(CustomAmiIdT &&value)
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)
const Aws::Vector< Tag > & GetTags() const
RunJobFlowRequest & WithSupportedProducts(SupportedProductsT &&value)
RunJobFlowRequest & WithLogEncryptionKmsKeyId(LogEncryptionKmsKeyIdT &&value)
AWS_EMR_API RunJobFlowRequest()=default
virtual const char * GetServiceRequestName() const override
RunJobFlowRequest & AddTags(TagsT &&value)
const JobFlowInstancesConfig & GetInstances() const
void SetPlacementGroupConfigs(PlacementGroupConfigsT &&value)
RunJobFlowRequest & WithAmiVersion(AmiVersionT &&value)
const Aws::Vector< PlacementGroupConfig > & GetPlacementGroupConfigs() const
RunJobFlowRequest & WithAdditionalInfo(AdditionalInfoT &&value)
RunJobFlowRequest & WithSteps(StepsT &&value)
ScaleDownBehavior GetScaleDownBehavior() 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)
void SetReleaseLabel(ReleaseLabelT &&value)
RunJobFlowRequest & WithBootstrapActions(BootstrapActionsT &&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)
AWS_EMR_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
RunJobFlowRequest & WithAutoTerminationPolicy(AutoTerminationPolicyT &&value)
RunJobFlowRequest & WithEbsRootVolumeSize(int value)
void SetAutoScalingRole(AutoScalingRoleT &&value)
RunJobFlowRequest & WithMonitoringConfiguration(MonitoringConfigurationT &&value)
RunJobFlowRequest & WithEbsRootVolumeIops(int value)
const MonitoringConfiguration & GetMonitoringConfiguration() const
RunJobFlowRequest & AddSteps(StepsT &&value)
const KerberosAttributes & GetKerberosAttributes() const
RunJobFlowRequest & WithKerberosAttributes(KerberosAttributesT &&value)
const ManagedScalingPolicy & GetManagedScalingPolicy() const
void SetCustomAmiId(CustomAmiIdT &&value)
const Aws::String & GetAmiVersion() const
RunJobFlowRequest & AddBootstrapActions(BootstrapActionsT &&value)
void SetKerberosAttributes(KerberosAttributesT &&value)
void SetSupportedProducts(SupportedProductsT &&value)
const Aws::String & GetStepExecutionRoleArn() const
RunJobFlowRequest & WithReleaseLabel(ReleaseLabelT &&value)
const Aws::String & GetAdditionalInfo() const
RunJobFlowRequest & WithOSReleaseLabel(OSReleaseLabelT &&value)
RunJobFlowRequest & WithAutoScalingRole(AutoScalingRoleT &&value)
RunJobFlowRequest & WithServiceRole(ServiceRoleT &&value)
const Aws::Vector< Configuration > & GetConfigurations() const
const Aws::String & GetSecurityConfiguration() const
RunJobFlowRequest & WithStepExecutionRoleArn(StepExecutionRoleArnT &&value)
RunJobFlowRequest & WithEbsRootVolumeThroughput(int value)
void SetApplications(ApplicationsT &&value)
RunJobFlowRequest & AddConfigurations(ConfigurationsT &&value)
RunJobFlowRequest & WithInstances(InstancesT &&value)
void SetConfigurations(ConfigurationsT &&value)
void SetBootstrapActions(BootstrapActionsT &&value)
const Aws::String & GetCustomAmiId() const
RunJobFlowRequest & WithApplications(ApplicationsT &&value)
RepoUpgradeOnBoot GetRepoUpgradeOnBoot() const
RunJobFlowRequest & WithName(NameT &&value)
void SetJobFlowRole(JobFlowRoleT &&value)
RunJobFlowRequest & AddSupportedProducts(SupportedProductsT &&value)
const AutoTerminationPolicy & GetAutoTerminationPolicy() const
RunJobFlowRequest & WithRepoUpgradeOnBoot(RepoUpgradeOnBoot value)
void SetInstances(InstancesT &&value)
const Aws::String & GetOSReleaseLabel() const
void SetLogEncryptionKmsKeyId(LogEncryptionKmsKeyIdT &&value)
void SetAutoTerminationPolicy(AutoTerminationPolicyT &&value)
RunJobFlowRequest & WithJobFlowRole(JobFlowRoleT &&value)
void SetOSReleaseLabel(OSReleaseLabelT &&value)
void SetManagedScalingPolicy(ManagedScalingPolicyT &&value)
const Aws::String & GetLogEncryptionKmsKeyId() const
RunJobFlowRequest & WithVisibleToAllUsers(bool value)
RunJobFlowRequest & AddApplications(ApplicationsT &&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