AWS SDK for C++

AWS SDK for C++ Version 1.11.719

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
218 inline const Aws::Vector<BootstrapActionConfig>& GetBootstrapActions() const { return m_bootstrapActions; }
219 inline bool BootstrapActionsHasBeenSet() const { return m_bootstrapActionsHasBeenSet; }
220 template <typename BootstrapActionsT = Aws::Vector<BootstrapActionConfig>>
221 void SetBootstrapActions(BootstrapActionsT&& value) {
222 m_bootstrapActionsHasBeenSet = true;
223 m_bootstrapActions = std::forward<BootstrapActionsT>(value);
224 }
225 template <typename BootstrapActionsT = Aws::Vector<BootstrapActionConfig>>
226 RunJobFlowRequest& WithBootstrapActions(BootstrapActionsT&& value) {
227 SetBootstrapActions(std::forward<BootstrapActionsT>(value));
228 return *this;
229 }
230 template <typename BootstrapActionsT = BootstrapActionConfig>
231 RunJobFlowRequest& AddBootstrapActions(BootstrapActionsT&& value) {
232 m_bootstrapActionsHasBeenSet = true;
233 m_bootstrapActions.emplace_back(std::forward<BootstrapActionsT>(value));
234 return *this;
235 }
237
239
248 inline const Aws::Vector<Aws::String>& GetSupportedProducts() const { return m_supportedProducts; }
249 inline bool SupportedProductsHasBeenSet() const { return m_supportedProductsHasBeenSet; }
250 template <typename SupportedProductsT = Aws::Vector<Aws::String>>
251 void SetSupportedProducts(SupportedProductsT&& value) {
252 m_supportedProductsHasBeenSet = true;
253 m_supportedProducts = std::forward<SupportedProductsT>(value);
254 }
255 template <typename SupportedProductsT = Aws::Vector<Aws::String>>
256 RunJobFlowRequest& WithSupportedProducts(SupportedProductsT&& value) {
257 SetSupportedProducts(std::forward<SupportedProductsT>(value));
258 return *this;
259 }
260 template <typename SupportedProductsT = Aws::String>
261 RunJobFlowRequest& AddSupportedProducts(SupportedProductsT&& value) {
262 m_supportedProductsHasBeenSet = true;
263 m_supportedProducts.emplace_back(std::forward<SupportedProductsT>(value));
264 return *this;
265 }
267
269
288 inline const Aws::Vector<SupportedProductConfig>& GetNewSupportedProducts() const { return m_newSupportedProducts; }
289 inline bool NewSupportedProductsHasBeenSet() const { return m_newSupportedProductsHasBeenSet; }
290 template <typename NewSupportedProductsT = Aws::Vector<SupportedProductConfig>>
291 void SetNewSupportedProducts(NewSupportedProductsT&& value) {
292 m_newSupportedProductsHasBeenSet = true;
293 m_newSupportedProducts = std::forward<NewSupportedProductsT>(value);
294 }
295 template <typename NewSupportedProductsT = Aws::Vector<SupportedProductConfig>>
296 RunJobFlowRequest& WithNewSupportedProducts(NewSupportedProductsT&& value) {
297 SetNewSupportedProducts(std::forward<NewSupportedProductsT>(value));
298 return *this;
299 }
300 template <typename NewSupportedProductsT = SupportedProductConfig>
301 RunJobFlowRequest& AddNewSupportedProducts(NewSupportedProductsT&& value) {
302 m_newSupportedProductsHasBeenSet = true;
303 m_newSupportedProducts.emplace_back(std::forward<NewSupportedProductsT>(value));
304 return *this;
305 }
307
309
316 inline const Aws::Vector<Application>& GetApplications() const { return m_applications; }
317 inline bool ApplicationsHasBeenSet() const { return m_applicationsHasBeenSet; }
318 template <typename ApplicationsT = Aws::Vector<Application>>
319 void SetApplications(ApplicationsT&& value) {
320 m_applicationsHasBeenSet = true;
321 m_applications = std::forward<ApplicationsT>(value);
322 }
323 template <typename ApplicationsT = Aws::Vector<Application>>
324 RunJobFlowRequest& WithApplications(ApplicationsT&& value) {
325 SetApplications(std::forward<ApplicationsT>(value));
326 return *this;
327 }
328 template <typename ApplicationsT = Application>
329 RunJobFlowRequest& AddApplications(ApplicationsT&& value) {
330 m_applicationsHasBeenSet = true;
331 m_applications.emplace_back(std::forward<ApplicationsT>(value));
332 return *this;
333 }
335
337
341 inline const Aws::Vector<Configuration>& GetConfigurations() const { return m_configurations; }
342 inline bool ConfigurationsHasBeenSet() const { return m_configurationsHasBeenSet; }
343 template <typename ConfigurationsT = Aws::Vector<Configuration>>
344 void SetConfigurations(ConfigurationsT&& value) {
345 m_configurationsHasBeenSet = true;
346 m_configurations = std::forward<ConfigurationsT>(value);
347 }
348 template <typename ConfigurationsT = Aws::Vector<Configuration>>
349 RunJobFlowRequest& WithConfigurations(ConfigurationsT&& value) {
350 SetConfigurations(std::forward<ConfigurationsT>(value));
351 return *this;
352 }
353 template <typename ConfigurationsT = Configuration>
354 RunJobFlowRequest& AddConfigurations(ConfigurationsT&& value) {
355 m_configurationsHasBeenSet = true;
356 m_configurations.emplace_back(std::forward<ConfigurationsT>(value));
357 return *this;
358 }
360
362
379 inline bool GetVisibleToAllUsers() const { return m_visibleToAllUsers; }
380 inline bool VisibleToAllUsersHasBeenSet() const { return m_visibleToAllUsersHasBeenSet; }
381 inline void SetVisibleToAllUsers(bool value) {
382 m_visibleToAllUsersHasBeenSet = true;
383 m_visibleToAllUsers = value;
384 }
387 return *this;
388 }
390
392
398 inline const Aws::String& GetJobFlowRole() const { return m_jobFlowRole; }
399 inline bool JobFlowRoleHasBeenSet() const { return m_jobFlowRoleHasBeenSet; }
400 template <typename JobFlowRoleT = Aws::String>
401 void SetJobFlowRole(JobFlowRoleT&& value) {
402 m_jobFlowRoleHasBeenSet = true;
403 m_jobFlowRole = std::forward<JobFlowRoleT>(value);
404 }
405 template <typename JobFlowRoleT = Aws::String>
406 RunJobFlowRequest& WithJobFlowRole(JobFlowRoleT&& value) {
407 SetJobFlowRole(std::forward<JobFlowRoleT>(value));
408 return *this;
409 }
411
413
418 inline const Aws::String& GetServiceRole() const { return m_serviceRole; }
419 inline bool ServiceRoleHasBeenSet() const { return m_serviceRoleHasBeenSet; }
420 template <typename ServiceRoleT = Aws::String>
421 void SetServiceRole(ServiceRoleT&& value) {
422 m_serviceRoleHasBeenSet = true;
423 m_serviceRole = std::forward<ServiceRoleT>(value);
424 }
425 template <typename ServiceRoleT = Aws::String>
426 RunJobFlowRequest& WithServiceRole(ServiceRoleT&& value) {
427 SetServiceRole(std::forward<ServiceRoleT>(value));
428 return *this;
429 }
431
433
437 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
438 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
439 template <typename TagsT = Aws::Vector<Tag>>
440 void SetTags(TagsT&& value) {
441 m_tagsHasBeenSet = true;
442 m_tags = std::forward<TagsT>(value);
443 }
444 template <typename TagsT = Aws::Vector<Tag>>
445 RunJobFlowRequest& WithTags(TagsT&& value) {
446 SetTags(std::forward<TagsT>(value));
447 return *this;
448 }
449 template <typename TagsT = Tag>
450 RunJobFlowRequest& AddTags(TagsT&& value) {
451 m_tagsHasBeenSet = true;
452 m_tags.emplace_back(std::forward<TagsT>(value));
453 return *this;
454 }
456
458
461 inline const Aws::String& GetSecurityConfiguration() const { return m_securityConfiguration; }
462 inline bool SecurityConfigurationHasBeenSet() const { return m_securityConfigurationHasBeenSet; }
463 template <typename SecurityConfigurationT = Aws::String>
464 void SetSecurityConfiguration(SecurityConfigurationT&& value) {
465 m_securityConfigurationHasBeenSet = true;
466 m_securityConfiguration = std::forward<SecurityConfigurationT>(value);
467 }
468 template <typename SecurityConfigurationT = Aws::String>
469 RunJobFlowRequest& WithSecurityConfiguration(SecurityConfigurationT&& value) {
470 SetSecurityConfiguration(std::forward<SecurityConfigurationT>(value));
471 return *this;
472 }
474
476
482 inline const Aws::String& GetAutoScalingRole() const { return m_autoScalingRole; }
483 inline bool AutoScalingRoleHasBeenSet() const { return m_autoScalingRoleHasBeenSet; }
484 template <typename AutoScalingRoleT = Aws::String>
485 void SetAutoScalingRole(AutoScalingRoleT&& value) {
486 m_autoScalingRoleHasBeenSet = true;
487 m_autoScalingRole = std::forward<AutoScalingRoleT>(value);
488 }
489 template <typename AutoScalingRoleT = Aws::String>
490 RunJobFlowRequest& WithAutoScalingRole(AutoScalingRoleT&& value) {
491 SetAutoScalingRole(std::forward<AutoScalingRoleT>(value));
492 return *this;
493 }
495
497
512 inline ScaleDownBehavior GetScaleDownBehavior() const { return m_scaleDownBehavior; }
513 inline bool ScaleDownBehaviorHasBeenSet() const { return m_scaleDownBehaviorHasBeenSet; }
515 m_scaleDownBehaviorHasBeenSet = true;
516 m_scaleDownBehavior = value;
517 }
520 return *this;
521 }
523
525
541 inline const Aws::String& GetCustomAmiId() const { return m_customAmiId; }
542 inline bool CustomAmiIdHasBeenSet() const { return m_customAmiIdHasBeenSet; }
543 template <typename CustomAmiIdT = Aws::String>
544 void SetCustomAmiId(CustomAmiIdT&& value) {
545 m_customAmiIdHasBeenSet = true;
546 m_customAmiId = std::forward<CustomAmiIdT>(value);
547 }
548 template <typename CustomAmiIdT = Aws::String>
549 RunJobFlowRequest& WithCustomAmiId(CustomAmiIdT&& value) {
550 SetCustomAmiId(std::forward<CustomAmiIdT>(value));
551 return *this;
552 }
554
556
561 inline int GetEbsRootVolumeSize() const { return m_ebsRootVolumeSize; }
562 inline bool EbsRootVolumeSizeHasBeenSet() const { return m_ebsRootVolumeSizeHasBeenSet; }
563 inline void SetEbsRootVolumeSize(int value) {
564 m_ebsRootVolumeSizeHasBeenSet = true;
565 m_ebsRootVolumeSize = value;
566 }
569 return *this;
570 }
572
574
581 inline RepoUpgradeOnBoot GetRepoUpgradeOnBoot() const { return m_repoUpgradeOnBoot; }
582 inline bool RepoUpgradeOnBootHasBeenSet() const { return m_repoUpgradeOnBootHasBeenSet; }
584 m_repoUpgradeOnBootHasBeenSet = true;
585 m_repoUpgradeOnBoot = value;
586 }
589 return *this;
590 }
592
594
600 inline const KerberosAttributes& GetKerberosAttributes() const { return m_kerberosAttributes; }
601 inline bool KerberosAttributesHasBeenSet() const { return m_kerberosAttributesHasBeenSet; }
602 template <typename KerberosAttributesT = KerberosAttributes>
603 void SetKerberosAttributes(KerberosAttributesT&& value) {
604 m_kerberosAttributesHasBeenSet = true;
605 m_kerberosAttributes = std::forward<KerberosAttributesT>(value);
606 }
607 template <typename KerberosAttributesT = KerberosAttributes>
608 RunJobFlowRequest& WithKerberosAttributes(KerberosAttributesT&& value) {
609 SetKerberosAttributes(std::forward<KerberosAttributesT>(value));
610 return *this;
611 }
613
615
619 inline int GetStepConcurrencyLevel() const { return m_stepConcurrencyLevel; }
620 inline bool StepConcurrencyLevelHasBeenSet() const { return m_stepConcurrencyLevelHasBeenSet; }
621 inline void SetStepConcurrencyLevel(int value) {
622 m_stepConcurrencyLevelHasBeenSet = true;
623 m_stepConcurrencyLevel = value;
624 }
627 return *this;
628 }
630
632
635 inline const ManagedScalingPolicy& GetManagedScalingPolicy() const { return m_managedScalingPolicy; }
636 inline bool ManagedScalingPolicyHasBeenSet() const { return m_managedScalingPolicyHasBeenSet; }
637 template <typename ManagedScalingPolicyT = ManagedScalingPolicy>
638 void SetManagedScalingPolicy(ManagedScalingPolicyT&& value) {
639 m_managedScalingPolicyHasBeenSet = true;
640 m_managedScalingPolicy = std::forward<ManagedScalingPolicyT>(value);
641 }
642 template <typename ManagedScalingPolicyT = ManagedScalingPolicy>
643 RunJobFlowRequest& WithManagedScalingPolicy(ManagedScalingPolicyT&& value) {
644 SetManagedScalingPolicy(std::forward<ManagedScalingPolicyT>(value));
645 return *this;
646 }
648
650
653 inline const Aws::Vector<PlacementGroupConfig>& GetPlacementGroupConfigs() const { return m_placementGroupConfigs; }
654 inline bool PlacementGroupConfigsHasBeenSet() const { return m_placementGroupConfigsHasBeenSet; }
655 template <typename PlacementGroupConfigsT = Aws::Vector<PlacementGroupConfig>>
656 void SetPlacementGroupConfigs(PlacementGroupConfigsT&& value) {
657 m_placementGroupConfigsHasBeenSet = true;
658 m_placementGroupConfigs = std::forward<PlacementGroupConfigsT>(value);
659 }
660 template <typename PlacementGroupConfigsT = Aws::Vector<PlacementGroupConfig>>
661 RunJobFlowRequest& WithPlacementGroupConfigs(PlacementGroupConfigsT&& value) {
662 SetPlacementGroupConfigs(std::forward<PlacementGroupConfigsT>(value));
663 return *this;
664 }
665 template <typename PlacementGroupConfigsT = PlacementGroupConfig>
666 RunJobFlowRequest& AddPlacementGroupConfigs(PlacementGroupConfigsT&& value) {
667 m_placementGroupConfigsHasBeenSet = true;
668 m_placementGroupConfigs.emplace_back(std::forward<PlacementGroupConfigsT>(value));
669 return *this;
670 }
672
674
675 inline const AutoTerminationPolicy& GetAutoTerminationPolicy() const { return m_autoTerminationPolicy; }
676 inline bool AutoTerminationPolicyHasBeenSet() const { return m_autoTerminationPolicyHasBeenSet; }
677 template <typename AutoTerminationPolicyT = AutoTerminationPolicy>
678 void SetAutoTerminationPolicy(AutoTerminationPolicyT&& value) {
679 m_autoTerminationPolicyHasBeenSet = true;
680 m_autoTerminationPolicy = std::forward<AutoTerminationPolicyT>(value);
681 }
682 template <typename AutoTerminationPolicyT = AutoTerminationPolicy>
683 RunJobFlowRequest& WithAutoTerminationPolicy(AutoTerminationPolicyT&& value) {
684 SetAutoTerminationPolicy(std::forward<AutoTerminationPolicyT>(value));
685 return *this;
686 }
688
690
695 inline const Aws::String& GetOSReleaseLabel() const { return m_oSReleaseLabel; }
696 inline bool OSReleaseLabelHasBeenSet() const { return m_oSReleaseLabelHasBeenSet; }
697 template <typename OSReleaseLabelT = Aws::String>
698 void SetOSReleaseLabel(OSReleaseLabelT&& value) {
699 m_oSReleaseLabelHasBeenSet = true;
700 m_oSReleaseLabel = std::forward<OSReleaseLabelT>(value);
701 }
702 template <typename OSReleaseLabelT = Aws::String>
703 RunJobFlowRequest& WithOSReleaseLabel(OSReleaseLabelT&& value) {
704 SetOSReleaseLabel(std::forward<OSReleaseLabelT>(value));
705 return *this;
706 }
708
710
715 inline int GetEbsRootVolumeIops() const { return m_ebsRootVolumeIops; }
716 inline bool EbsRootVolumeIopsHasBeenSet() const { return m_ebsRootVolumeIopsHasBeenSet; }
717 inline void SetEbsRootVolumeIops(int value) {
718 m_ebsRootVolumeIopsHasBeenSet = true;
719 m_ebsRootVolumeIops = value;
720 }
723 return *this;
724 }
726
728
733 inline int GetEbsRootVolumeThroughput() const { return m_ebsRootVolumeThroughput; }
734 inline bool EbsRootVolumeThroughputHasBeenSet() const { return m_ebsRootVolumeThroughputHasBeenSet; }
735 inline void SetEbsRootVolumeThroughput(int value) {
736 m_ebsRootVolumeThroughputHasBeenSet = true;
737 m_ebsRootVolumeThroughput = value;
738 }
741 return *this;
742 }
744
746
749 inline bool GetExtendedSupport() const { return m_extendedSupport; }
750 inline bool ExtendedSupportHasBeenSet() const { return m_extendedSupportHasBeenSet; }
751 inline void SetExtendedSupport(bool value) {
752 m_extendedSupportHasBeenSet = true;
753 m_extendedSupport = value;
754 }
756 SetExtendedSupport(value);
757 return *this;
758 }
760
762
765 inline const MonitoringConfiguration& GetMonitoringConfiguration() const { return m_monitoringConfiguration; }
766 inline bool MonitoringConfigurationHasBeenSet() const { return m_monitoringConfigurationHasBeenSet; }
767 template <typename MonitoringConfigurationT = MonitoringConfiguration>
768 void SetMonitoringConfiguration(MonitoringConfigurationT&& value) {
769 m_monitoringConfigurationHasBeenSet = true;
770 m_monitoringConfiguration = std::forward<MonitoringConfigurationT>(value);
771 }
772 template <typename MonitoringConfigurationT = MonitoringConfiguration>
773 RunJobFlowRequest& WithMonitoringConfiguration(MonitoringConfigurationT&& value) {
774 SetMonitoringConfiguration(std::forward<MonitoringConfigurationT>(value));
775 return *this;
776 }
778 private:
779 Aws::String m_name;
780
781 Aws::String m_logUri;
782
783 Aws::String m_logEncryptionKmsKeyId;
784
785 Aws::String m_additionalInfo;
786
787 Aws::String m_amiVersion;
788
789 Aws::String m_releaseLabel;
790
791 JobFlowInstancesConfig m_instances;
792
794
795 Aws::Vector<BootstrapActionConfig> m_bootstrapActions;
796
797 Aws::Vector<Aws::String> m_supportedProducts;
798
799 Aws::Vector<SupportedProductConfig> m_newSupportedProducts;
800
801 Aws::Vector<Application> m_applications;
802
803 Aws::Vector<Configuration> m_configurations;
804
805 bool m_visibleToAllUsers{false};
806
807 Aws::String m_jobFlowRole;
808
809 Aws::String m_serviceRole;
810
811 Aws::Vector<Tag> m_tags;
812
813 Aws::String m_securityConfiguration;
814
815 Aws::String m_autoScalingRole;
816
818
819 Aws::String m_customAmiId;
820
821 int m_ebsRootVolumeSize{0};
822
824
825 KerberosAttributes m_kerberosAttributes;
826
827 int m_stepConcurrencyLevel{0};
828
829 ManagedScalingPolicy m_managedScalingPolicy;
830
831 Aws::Vector<PlacementGroupConfig> m_placementGroupConfigs;
832
833 AutoTerminationPolicy m_autoTerminationPolicy;
834
835 Aws::String m_oSReleaseLabel;
836
837 int m_ebsRootVolumeIops{0};
838
839 int m_ebsRootVolumeThroughput{0};
840
841 bool m_extendedSupport{false};
842
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;
877};
878
879} // namespace Model
880} // namespace EMR
881} // 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 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)
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 & 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