/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Input to the RunJobFlow operation. See Also:
AWS
* API Reference
The name of the job flow.
*/ inline const Aws::String& GetName() const{ return m_name; } /** *The name of the job flow.
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *The name of the job flow.
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *The name of the job flow.
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *The name of the job flow.
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *The name of the job flow.
*/ inline RunJobFlowRequest& WithName(const Aws::String& value) { SetName(value); return *this;} /** *The name of the job flow.
*/ inline RunJobFlowRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *The name of the job flow.
*/ inline RunJobFlowRequest& WithName(const char* value) { SetName(value); return *this;} /** *The location in Amazon S3 to write the log files of the job flow. If a value * is not provided, logs are not created.
*/ inline const Aws::String& GetLogUri() const{ return m_logUri; } /** *The location in Amazon S3 to write the log files of the job flow. If a value * is not provided, logs are not created.
*/ inline bool LogUriHasBeenSet() const { return m_logUriHasBeenSet; } /** *The location in Amazon S3 to write the log files of the job flow. If a value * is not provided, logs are not created.
*/ inline void SetLogUri(const Aws::String& value) { m_logUriHasBeenSet = true; m_logUri = value; } /** *The location in Amazon S3 to write the log files of the job flow. If a value * is not provided, logs are not created.
*/ inline void SetLogUri(Aws::String&& value) { m_logUriHasBeenSet = true; m_logUri = std::move(value); } /** *The location in Amazon S3 to write the log files of the job flow. If a value * is not provided, logs are not created.
*/ inline void SetLogUri(const char* value) { m_logUriHasBeenSet = true; m_logUri.assign(value); } /** *The location in Amazon S3 to write the log files of the job flow. If a value * is not provided, logs are not created.
*/ inline RunJobFlowRequest& WithLogUri(const Aws::String& value) { SetLogUri(value); return *this;} /** *The location in Amazon S3 to write the log files of the job flow. If a value * is not provided, logs are not created.
*/ inline RunJobFlowRequest& WithLogUri(Aws::String&& value) { SetLogUri(std::move(value)); return *this;} /** *The location in Amazon S3 to write the log files of the job flow. If a value * is not provided, logs are not created.
*/ inline RunJobFlowRequest& WithLogUri(const char* value) { SetLogUri(value); return *this;} /** *The AWS KMS customer master key (CMK) used for encrypting log files. If a * value is not provided, the logs will remain encrypted by AES-256. This attribute * is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.
*/ inline const Aws::String& GetLogEncryptionKmsKeyId() const{ return m_logEncryptionKmsKeyId; } /** *The AWS KMS customer master key (CMK) used for encrypting log files. If a * value is not provided, the logs will remain encrypted by AES-256. This attribute * is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.
*/ inline bool LogEncryptionKmsKeyIdHasBeenSet() const { return m_logEncryptionKmsKeyIdHasBeenSet; } /** *The AWS KMS customer master key (CMK) used for encrypting log files. If a * value is not provided, the logs will remain encrypted by AES-256. This attribute * is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.
*/ inline void SetLogEncryptionKmsKeyId(const Aws::String& value) { m_logEncryptionKmsKeyIdHasBeenSet = true; m_logEncryptionKmsKeyId = value; } /** *The AWS KMS customer master key (CMK) used for encrypting log files. If a * value is not provided, the logs will remain encrypted by AES-256. This attribute * is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.
*/ inline void SetLogEncryptionKmsKeyId(Aws::String&& value) { m_logEncryptionKmsKeyIdHasBeenSet = true; m_logEncryptionKmsKeyId = std::move(value); } /** *The AWS KMS customer master key (CMK) used for encrypting log files. If a * value is not provided, the logs will remain encrypted by AES-256. This attribute * is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.
*/ inline void SetLogEncryptionKmsKeyId(const char* value) { m_logEncryptionKmsKeyIdHasBeenSet = true; m_logEncryptionKmsKeyId.assign(value); } /** *The AWS KMS customer master key (CMK) used for encrypting log files. If a * value is not provided, the logs will remain encrypted by AES-256. This attribute * is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.
*/ inline RunJobFlowRequest& WithLogEncryptionKmsKeyId(const Aws::String& value) { SetLogEncryptionKmsKeyId(value); return *this;} /** *The AWS KMS customer master key (CMK) used for encrypting log files. If a * value is not provided, the logs will remain encrypted by AES-256. This attribute * is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.
*/ inline RunJobFlowRequest& WithLogEncryptionKmsKeyId(Aws::String&& value) { SetLogEncryptionKmsKeyId(std::move(value)); return *this;} /** *The AWS KMS customer master key (CMK) used for encrypting log files. If a * value is not provided, the logs will remain encrypted by AES-256. This attribute * is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.
*/ inline RunJobFlowRequest& WithLogEncryptionKmsKeyId(const char* value) { SetLogEncryptionKmsKeyId(value); return *this;} /** *A JSON string for selecting additional features.
*/ inline const Aws::String& GetAdditionalInfo() const{ return m_additionalInfo; } /** *A JSON string for selecting additional features.
*/ inline bool AdditionalInfoHasBeenSet() const { return m_additionalInfoHasBeenSet; } /** *A JSON string for selecting additional features.
*/ inline void SetAdditionalInfo(const Aws::String& value) { m_additionalInfoHasBeenSet = true; m_additionalInfo = value; } /** *A JSON string for selecting additional features.
*/ inline void SetAdditionalInfo(Aws::String&& value) { m_additionalInfoHasBeenSet = true; m_additionalInfo = std::move(value); } /** *A JSON string for selecting additional features.
*/ inline void SetAdditionalInfo(const char* value) { m_additionalInfoHasBeenSet = true; m_additionalInfo.assign(value); } /** *A JSON string for selecting additional features.
*/ inline RunJobFlowRequest& WithAdditionalInfo(const Aws::String& value) { SetAdditionalInfo(value); return *this;} /** *A JSON string for selecting additional features.
*/ inline RunJobFlowRequest& WithAdditionalInfo(Aws::String&& value) { SetAdditionalInfo(std::move(value)); return *this;} /** *A JSON string for selecting additional features.
*/ inline RunJobFlowRequest& WithAdditionalInfo(const char* value) { SetAdditionalInfo(value); return *this;} /** *Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases
* 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use
* CustomAmiID.
Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases
* 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use
* CustomAmiID.
Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases
* 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use
* CustomAmiID.
Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases
* 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use
* CustomAmiID.
Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases
* 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use
* CustomAmiID.
Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases
* 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use
* CustomAmiID.
Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases
* 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use
* CustomAmiID.
Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases
* 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use
* CustomAmiID.
The Amazon EMR release label, which determines the version of open-source
* application packages installed on the cluster. Release labels are in the form
* emr-x.x.x, where x.x.x is an Amazon EMR release version such as
* emr-5.14.0. For more information about Amazon EMR release versions
* and included application versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/.
* The release label applies only to Amazon EMR releases version 4.0 and later.
* Earlier versions use AmiVersion.
The Amazon EMR release label, which determines the version of open-source
* application packages installed on the cluster. Release labels are in the form
* emr-x.x.x, where x.x.x is an Amazon EMR release version such as
* emr-5.14.0. For more information about Amazon EMR release versions
* and included application versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/.
* The release label applies only to Amazon EMR releases version 4.0 and later.
* Earlier versions use AmiVersion.
The Amazon EMR release label, which determines the version of open-source
* application packages installed on the cluster. Release labels are in the form
* emr-x.x.x, where x.x.x is an Amazon EMR release version such as
* emr-5.14.0. For more information about Amazon EMR release versions
* and included application versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/.
* The release label applies only to Amazon EMR releases version 4.0 and later.
* Earlier versions use AmiVersion.
The Amazon EMR release label, which determines the version of open-source
* application packages installed on the cluster. Release labels are in the form
* emr-x.x.x, where x.x.x is an Amazon EMR release version such as
* emr-5.14.0. For more information about Amazon EMR release versions
* and included application versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/.
* The release label applies only to Amazon EMR releases version 4.0 and later.
* Earlier versions use AmiVersion.
The Amazon EMR release label, which determines the version of open-source
* application packages installed on the cluster. Release labels are in the form
* emr-x.x.x, where x.x.x is an Amazon EMR release version such as
* emr-5.14.0. For more information about Amazon EMR release versions
* and included application versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/.
* The release label applies only to Amazon EMR releases version 4.0 and later.
* Earlier versions use AmiVersion.
The Amazon EMR release label, which determines the version of open-source
* application packages installed on the cluster. Release labels are in the form
* emr-x.x.x, where x.x.x is an Amazon EMR release version such as
* emr-5.14.0. For more information about Amazon EMR release versions
* and included application versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/.
* The release label applies only to Amazon EMR releases version 4.0 and later.
* Earlier versions use AmiVersion.
The Amazon EMR release label, which determines the version of open-source
* application packages installed on the cluster. Release labels are in the form
* emr-x.x.x, where x.x.x is an Amazon EMR release version such as
* emr-5.14.0. For more information about Amazon EMR release versions
* and included application versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/.
* The release label applies only to Amazon EMR releases version 4.0 and later.
* Earlier versions use AmiVersion.
The Amazon EMR release label, which determines the version of open-source
* application packages installed on the cluster. Release labels are in the form
* emr-x.x.x, where x.x.x is an Amazon EMR release version such as
* emr-5.14.0. For more information about Amazon EMR release versions
* and included application versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/.
* The release label applies only to Amazon EMR releases version 4.0 and later.
* Earlier versions use AmiVersion.
A specification of the number and type of Amazon EC2 instances.
*/ inline const JobFlowInstancesConfig& GetInstances() const{ return m_instances; } /** *A specification of the number and type of Amazon EC2 instances.
*/ inline bool InstancesHasBeenSet() const { return m_instancesHasBeenSet; } /** *A specification of the number and type of Amazon EC2 instances.
*/ inline void SetInstances(const JobFlowInstancesConfig& value) { m_instancesHasBeenSet = true; m_instances = value; } /** *A specification of the number and type of Amazon EC2 instances.
*/ inline void SetInstances(JobFlowInstancesConfig&& value) { m_instancesHasBeenSet = true; m_instances = std::move(value); } /** *A specification of the number and type of Amazon EC2 instances.
*/ inline RunJobFlowRequest& WithInstances(const JobFlowInstancesConfig& value) { SetInstances(value); return *this;} /** *A specification of the number and type of Amazon EC2 instances.
*/ inline RunJobFlowRequest& WithInstances(JobFlowInstancesConfig&& value) { SetInstances(std::move(value)); return *this;} /** *A list of steps to run.
*/ inline const Aws::VectorA list of steps to run.
*/ inline bool StepsHasBeenSet() const { return m_stepsHasBeenSet; } /** *A list of steps to run.
*/ inline void SetSteps(const Aws::VectorA list of steps to run.
*/ inline void SetSteps(Aws::VectorA list of steps to run.
*/ inline RunJobFlowRequest& WithSteps(const Aws::VectorA list of steps to run.
*/ inline RunJobFlowRequest& WithSteps(Aws::VectorA list of steps to run.
*/ inline RunJobFlowRequest& AddSteps(const StepConfig& value) { m_stepsHasBeenSet = true; m_steps.push_back(value); return *this; } /** *A list of steps to run.
*/ inline RunJobFlowRequest& AddSteps(StepConfig&& value) { m_stepsHasBeenSet = true; m_steps.push_back(std::move(value)); return *this; } /** *A list of bootstrap actions to run before Hadoop starts on the cluster * nodes.
*/ inline const Aws::VectorA list of bootstrap actions to run before Hadoop starts on the cluster * nodes.
*/ inline bool BootstrapActionsHasBeenSet() const { return m_bootstrapActionsHasBeenSet; } /** *A list of bootstrap actions to run before Hadoop starts on the cluster * nodes.
*/ inline void SetBootstrapActions(const Aws::VectorA list of bootstrap actions to run before Hadoop starts on the cluster * nodes.
*/ inline void SetBootstrapActions(Aws::VectorA list of bootstrap actions to run before Hadoop starts on the cluster * nodes.
*/ inline RunJobFlowRequest& WithBootstrapActions(const Aws::VectorA list of bootstrap actions to run before Hadoop starts on the cluster * nodes.
*/ inline RunJobFlowRequest& WithBootstrapActions(Aws::VectorA list of bootstrap actions to run before Hadoop starts on the cluster * nodes.
*/ inline RunJobFlowRequest& AddBootstrapActions(const BootstrapActionConfig& value) { m_bootstrapActionsHasBeenSet = true; m_bootstrapActions.push_back(value); return *this; } /** *A list of bootstrap actions to run before Hadoop starts on the cluster * nodes.
*/ inline RunJobFlowRequest& AddBootstrapActions(BootstrapActionConfig&& value) { m_bootstrapActionsHasBeenSet = true; m_bootstrapActions.push_back(std::move(value)); return *this; } /** *For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and * later, use Applications.
A list of strings that indicates * third-party software to use. For more information, see the Amazon * EMR Developer Guide. Currently supported values are:
"mapr-m3" - launch the job flow using MapR M3 Edition.
"mapr-m5" - launch the job flow using MapR M5 Edition.
For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and * later, use Applications.
A list of strings that indicates * third-party software to use. For more information, see the Amazon * EMR Developer Guide. Currently supported values are:
"mapr-m3" - launch the job flow using MapR M3 Edition.
"mapr-m5" - launch the job flow using MapR M5 Edition.
For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and * later, use Applications.
A list of strings that indicates * third-party software to use. For more information, see the Amazon * EMR Developer Guide. Currently supported values are:
"mapr-m3" - launch the job flow using MapR M3 Edition.
"mapr-m5" - launch the job flow using MapR M5 Edition.
For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and * later, use Applications.
A list of strings that indicates * third-party software to use. For more information, see the Amazon * EMR Developer Guide. Currently supported values are:
"mapr-m3" - launch the job flow using MapR M3 Edition.
"mapr-m5" - launch the job flow using MapR M5 Edition.
For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and * later, use Applications.
A list of strings that indicates * third-party software to use. For more information, see the Amazon * EMR Developer Guide. Currently supported values are:
"mapr-m3" - launch the job flow using MapR M3 Edition.
"mapr-m5" - launch the job flow using MapR M5 Edition.
For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and * later, use Applications.
A list of strings that indicates * third-party software to use. For more information, see the Amazon * EMR Developer Guide. Currently supported values are:
"mapr-m3" - launch the job flow using MapR M3 Edition.
"mapr-m5" - launch the job flow using MapR M5 Edition.
For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and * later, use Applications.
A list of strings that indicates * third-party software to use. For more information, see the Amazon * EMR Developer Guide. Currently supported values are:
"mapr-m3" - launch the job flow using MapR M3 Edition.
"mapr-m5" - launch the job flow using MapR M5 Edition.
For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and * later, use Applications.
A list of strings that indicates * third-party software to use. For more information, see the Amazon * EMR Developer Guide. Currently supported values are:
"mapr-m3" - launch the job flow using MapR M3 Edition.
"mapr-m5" - launch the job flow using MapR M5 Edition.
For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and * later, use Applications.
A list of strings that indicates * third-party software to use. For more information, see the Amazon * EMR Developer Guide. Currently supported values are:
"mapr-m3" - launch the job flow using MapR M3 Edition.
"mapr-m5" - launch the job flow using MapR M5 Edition.
For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and * later, use Applications.
A list of strings that indicates * third-party software to use with the job flow that accepts a user argument list. * EMR accepts and forwards the argument list to the corresponding installation * script as bootstrap action arguments. For more information, see "Launch a Job * Flow on the MapR Distribution for Hadoop" in the Amazon * EMR Developer Guide. Supported values are:
"mapr-m3" - * launch the cluster using MapR M3 Edition.
"mapr-m5" - launch * the cluster using MapR M5 Edition.
"mapr" with the user * arguments specifying "--edition,m3" or "--edition,m5" - launch the job flow * using MapR M3 or M5 Edition respectively.
"mapr-m7" - launch * the cluster using MapR M7 Edition.
"hunk" - launch the cluster * with the Hunk Big Data Analtics Platform.
"hue"- launch the * cluster with Hue installed.
"spark" - launch the cluster with * Apache Spark installed.
"ganglia" - launch the cluster with * the Ganglia Monitoring System installed.
For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and * later, use Applications.
A list of strings that indicates * third-party software to use with the job flow that accepts a user argument list. * EMR accepts and forwards the argument list to the corresponding installation * script as bootstrap action arguments. For more information, see "Launch a Job * Flow on the MapR Distribution for Hadoop" in the Amazon * EMR Developer Guide. Supported values are:
"mapr-m3" - * launch the cluster using MapR M3 Edition.
"mapr-m5" - launch * the cluster using MapR M5 Edition.
"mapr" with the user * arguments specifying "--edition,m3" or "--edition,m5" - launch the job flow * using MapR M3 or M5 Edition respectively.
"mapr-m7" - launch * the cluster using MapR M7 Edition.
"hunk" - launch the cluster * with the Hunk Big Data Analtics Platform.
"hue"- launch the * cluster with Hue installed.
"spark" - launch the cluster with * Apache Spark installed.
"ganglia" - launch the cluster with * the Ganglia Monitoring System installed.
For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and * later, use Applications.
A list of strings that indicates * third-party software to use with the job flow that accepts a user argument list. * EMR accepts and forwards the argument list to the corresponding installation * script as bootstrap action arguments. For more information, see "Launch a Job * Flow on the MapR Distribution for Hadoop" in the Amazon * EMR Developer Guide. Supported values are:
"mapr-m3" - * launch the cluster using MapR M3 Edition.
"mapr-m5" - launch * the cluster using MapR M5 Edition.
"mapr" with the user * arguments specifying "--edition,m3" or "--edition,m5" - launch the job flow * using MapR M3 or M5 Edition respectively.
"mapr-m7" - launch * the cluster using MapR M7 Edition.
"hunk" - launch the cluster * with the Hunk Big Data Analtics Platform.
"hue"- launch the * cluster with Hue installed.
"spark" - launch the cluster with * Apache Spark installed.
"ganglia" - launch the cluster with * the Ganglia Monitoring System installed.
For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and * later, use Applications.
A list of strings that indicates * third-party software to use with the job flow that accepts a user argument list. * EMR accepts and forwards the argument list to the corresponding installation * script as bootstrap action arguments. For more information, see "Launch a Job * Flow on the MapR Distribution for Hadoop" in the Amazon * EMR Developer Guide. Supported values are:
"mapr-m3" - * launch the cluster using MapR M3 Edition.
"mapr-m5" - launch * the cluster using MapR M5 Edition.
"mapr" with the user * arguments specifying "--edition,m3" or "--edition,m5" - launch the job flow * using MapR M3 or M5 Edition respectively.
"mapr-m7" - launch * the cluster using MapR M7 Edition.
"hunk" - launch the cluster * with the Hunk Big Data Analtics Platform.
"hue"- launch the * cluster with Hue installed.
"spark" - launch the cluster with * Apache Spark installed.
"ganglia" - launch the cluster with * the Ganglia Monitoring System installed.
For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and * later, use Applications.
A list of strings that indicates * third-party software to use with the job flow that accepts a user argument list. * EMR accepts and forwards the argument list to the corresponding installation * script as bootstrap action arguments. For more information, see "Launch a Job * Flow on the MapR Distribution for Hadoop" in the Amazon * EMR Developer Guide. Supported values are:
"mapr-m3" - * launch the cluster using MapR M3 Edition.
"mapr-m5" - launch * the cluster using MapR M5 Edition.
"mapr" with the user * arguments specifying "--edition,m3" or "--edition,m5" - launch the job flow * using MapR M3 or M5 Edition respectively.
"mapr-m7" - launch * the cluster using MapR M7 Edition.
"hunk" - launch the cluster * with the Hunk Big Data Analtics Platform.
"hue"- launch the * cluster with Hue installed.
"spark" - launch the cluster with * Apache Spark installed.
"ganglia" - launch the cluster with * the Ganglia Monitoring System installed.
For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and * later, use Applications.
A list of strings that indicates * third-party software to use with the job flow that accepts a user argument list. * EMR accepts and forwards the argument list to the corresponding installation * script as bootstrap action arguments. For more information, see "Launch a Job * Flow on the MapR Distribution for Hadoop" in the Amazon * EMR Developer Guide. Supported values are:
"mapr-m3" - * launch the cluster using MapR M3 Edition.
"mapr-m5" - launch * the cluster using MapR M5 Edition.
"mapr" with the user * arguments specifying "--edition,m3" or "--edition,m5" - launch the job flow * using MapR M3 or M5 Edition respectively.
"mapr-m7" - launch * the cluster using MapR M7 Edition.
"hunk" - launch the cluster * with the Hunk Big Data Analtics Platform.
"hue"- launch the * cluster with Hue installed.
"spark" - launch the cluster with * Apache Spark installed.
"ganglia" - launch the cluster with * the Ganglia Monitoring System installed.
For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and * later, use Applications.
A list of strings that indicates * third-party software to use with the job flow that accepts a user argument list. * EMR accepts and forwards the argument list to the corresponding installation * script as bootstrap action arguments. For more information, see "Launch a Job * Flow on the MapR Distribution for Hadoop" in the Amazon * EMR Developer Guide. Supported values are:
"mapr-m3" - * launch the cluster using MapR M3 Edition.
"mapr-m5" - launch * the cluster using MapR M5 Edition.
"mapr" with the user * arguments specifying "--edition,m3" or "--edition,m5" - launch the job flow * using MapR M3 or M5 Edition respectively.
"mapr-m7" - launch * the cluster using MapR M7 Edition.
"hunk" - launch the cluster * with the Hunk Big Data Analtics Platform.
"hue"- launch the * cluster with Hue installed.
"spark" - launch the cluster with * Apache Spark installed.
"ganglia" - launch the cluster with * the Ganglia Monitoring System installed.
For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and * later, use Applications.
A list of strings that indicates * third-party software to use with the job flow that accepts a user argument list. * EMR accepts and forwards the argument list to the corresponding installation * script as bootstrap action arguments. For more information, see "Launch a Job * Flow on the MapR Distribution for Hadoop" in the Amazon * EMR Developer Guide. Supported values are:
"mapr-m3" - * launch the cluster using MapR M3 Edition.
"mapr-m5" - launch * the cluster using MapR M5 Edition.
"mapr" with the user * arguments specifying "--edition,m3" or "--edition,m5" - launch the job flow * using MapR M3 or M5 Edition respectively.
"mapr-m7" - launch * the cluster using MapR M7 Edition.
"hunk" - launch the cluster * with the Hunk Big Data Analtics Platform.
"hue"- launch the * cluster with Hue installed.
"spark" - launch the cluster with * Apache Spark installed.
"ganglia" - launch the cluster with * the Ganglia Monitoring System installed.
Applies to Amazon EMR releases 4.0 and later. A case-insensitive list of * applications for Amazon EMR to install and configure when launching the cluster. * For a list of applications available for each Amazon EMR release version, see * the Amazon EMR * Release Guide.
*/ inline const Aws::VectorApplies to Amazon EMR releases 4.0 and later. A case-insensitive list of * applications for Amazon EMR to install and configure when launching the cluster. * For a list of applications available for each Amazon EMR release version, see * the Amazon EMR * Release Guide.
*/ inline bool ApplicationsHasBeenSet() const { return m_applicationsHasBeenSet; } /** *Applies to Amazon EMR releases 4.0 and later. A case-insensitive list of * applications for Amazon EMR to install and configure when launching the cluster. * For a list of applications available for each Amazon EMR release version, see * the Amazon EMR * Release Guide.
*/ inline void SetApplications(const Aws::VectorApplies to Amazon EMR releases 4.0 and later. A case-insensitive list of * applications for Amazon EMR to install and configure when launching the cluster. * For a list of applications available for each Amazon EMR release version, see * the Amazon EMR * Release Guide.
*/ inline void SetApplications(Aws::VectorApplies to Amazon EMR releases 4.0 and later. A case-insensitive list of * applications for Amazon EMR to install and configure when launching the cluster. * For a list of applications available for each Amazon EMR release version, see * the Amazon EMR * Release Guide.
*/ inline RunJobFlowRequest& WithApplications(const Aws::VectorApplies to Amazon EMR releases 4.0 and later. A case-insensitive list of * applications for Amazon EMR to install and configure when launching the cluster. * For a list of applications available for each Amazon EMR release version, see * the Amazon EMR * Release Guide.
*/ inline RunJobFlowRequest& WithApplications(Aws::VectorApplies to Amazon EMR releases 4.0 and later. A case-insensitive list of * applications for Amazon EMR to install and configure when launching the cluster. * For a list of applications available for each Amazon EMR release version, see * the Amazon EMR * Release Guide.
*/ inline RunJobFlowRequest& AddApplications(const Application& value) { m_applicationsHasBeenSet = true; m_applications.push_back(value); return *this; } /** *Applies to Amazon EMR releases 4.0 and later. A case-insensitive list of * applications for Amazon EMR to install and configure when launching the cluster. * For a list of applications available for each Amazon EMR release version, see * the Amazon EMR * Release Guide.
*/ inline RunJobFlowRequest& AddApplications(Application&& value) { m_applicationsHasBeenSet = true; m_applications.push_back(std::move(value)); return *this; } /** *For Amazon EMR releases 4.0 and later. The list of configurations supplied * for the EMR cluster you are creating.
*/ inline const Aws::VectorFor Amazon EMR releases 4.0 and later. The list of configurations supplied * for the EMR cluster you are creating.
*/ inline bool ConfigurationsHasBeenSet() const { return m_configurationsHasBeenSet; } /** *For Amazon EMR releases 4.0 and later. The list of configurations supplied * for the EMR cluster you are creating.
*/ inline void SetConfigurations(const Aws::VectorFor Amazon EMR releases 4.0 and later. The list of configurations supplied * for the EMR cluster you are creating.
*/ inline void SetConfigurations(Aws::VectorFor Amazon EMR releases 4.0 and later. The list of configurations supplied * for the EMR cluster you are creating.
*/ inline RunJobFlowRequest& WithConfigurations(const Aws::VectorFor Amazon EMR releases 4.0 and later. The list of configurations supplied * for the EMR cluster you are creating.
*/ inline RunJobFlowRequest& WithConfigurations(Aws::VectorFor Amazon EMR releases 4.0 and later. The list of configurations supplied * for the EMR cluster you are creating.
*/ inline RunJobFlowRequest& AddConfigurations(const Configuration& value) { m_configurationsHasBeenSet = true; m_configurations.push_back(value); return *this; } /** *For Amazon EMR releases 4.0 and later. The list of configurations supplied * for the EMR cluster you are creating.
*/ inline RunJobFlowRequest& AddConfigurations(Configuration&& value) { m_configurationsHasBeenSet = true; m_configurations.push_back(std::move(value)); return *this; } /** *A value of true indicates that all IAM users in the AWS account
* can perform cluster actions if they have the proper IAM policy permissions. This
* is the default. A value of false indicates that only the IAM user
* who created the cluster can perform actions.
A value of true indicates that all IAM users in the AWS account
* can perform cluster actions if they have the proper IAM policy permissions. This
* is the default. A value of false indicates that only the IAM user
* who created the cluster can perform actions.
A value of true indicates that all IAM users in the AWS account
* can perform cluster actions if they have the proper IAM policy permissions. This
* is the default. A value of false indicates that only the IAM user
* who created the cluster can perform actions.
A value of true indicates that all IAM users in the AWS account
* can perform cluster actions if they have the proper IAM policy permissions. This
* is the default. A value of false indicates that only the IAM user
* who created the cluster can perform actions.
Also called instance profile and EC2 role. An IAM role for an EMR cluster.
* The EC2 instances of the cluster assume this role. The default role is
* EMR_EC2_DefaultRole. In order to use the default role, you must
* have already created it using the CLI or console.
Also called instance profile and EC2 role. An IAM role for an EMR cluster.
* The EC2 instances of the cluster assume this role. The default role is
* EMR_EC2_DefaultRole. In order to use the default role, you must
* have already created it using the CLI or console.
Also called instance profile and EC2 role. An IAM role for an EMR cluster.
* The EC2 instances of the cluster assume this role. The default role is
* EMR_EC2_DefaultRole. In order to use the default role, you must
* have already created it using the CLI or console.
Also called instance profile and EC2 role. An IAM role for an EMR cluster.
* The EC2 instances of the cluster assume this role. The default role is
* EMR_EC2_DefaultRole. In order to use the default role, you must
* have already created it using the CLI or console.
Also called instance profile and EC2 role. An IAM role for an EMR cluster.
* The EC2 instances of the cluster assume this role. The default role is
* EMR_EC2_DefaultRole. In order to use the default role, you must
* have already created it using the CLI or console.
Also called instance profile and EC2 role. An IAM role for an EMR cluster.
* The EC2 instances of the cluster assume this role. The default role is
* EMR_EC2_DefaultRole. In order to use the default role, you must
* have already created it using the CLI or console.
Also called instance profile and EC2 role. An IAM role for an EMR cluster.
* The EC2 instances of the cluster assume this role. The default role is
* EMR_EC2_DefaultRole. In order to use the default role, you must
* have already created it using the CLI or console.
Also called instance profile and EC2 role. An IAM role for an EMR cluster.
* The EC2 instances of the cluster assume this role. The default role is
* EMR_EC2_DefaultRole. In order to use the default role, you must
* have already created it using the CLI or console.
The IAM role that will be assumed by the Amazon EMR service to access AWS * resources on your behalf.
*/ inline const Aws::String& GetServiceRole() const{ return m_serviceRole; } /** *The IAM role that will be assumed by the Amazon EMR service to access AWS * resources on your behalf.
*/ inline bool ServiceRoleHasBeenSet() const { return m_serviceRoleHasBeenSet; } /** *The IAM role that will be assumed by the Amazon EMR service to access AWS * resources on your behalf.
*/ inline void SetServiceRole(const Aws::String& value) { m_serviceRoleHasBeenSet = true; m_serviceRole = value; } /** *The IAM role that will be assumed by the Amazon EMR service to access AWS * resources on your behalf.
*/ inline void SetServiceRole(Aws::String&& value) { m_serviceRoleHasBeenSet = true; m_serviceRole = std::move(value); } /** *The IAM role that will be assumed by the Amazon EMR service to access AWS * resources on your behalf.
*/ inline void SetServiceRole(const char* value) { m_serviceRoleHasBeenSet = true; m_serviceRole.assign(value); } /** *The IAM role that will be assumed by the Amazon EMR service to access AWS * resources on your behalf.
*/ inline RunJobFlowRequest& WithServiceRole(const Aws::String& value) { SetServiceRole(value); return *this;} /** *The IAM role that will be assumed by the Amazon EMR service to access AWS * resources on your behalf.
*/ inline RunJobFlowRequest& WithServiceRole(Aws::String&& value) { SetServiceRole(std::move(value)); return *this;} /** *The IAM role that will be assumed by the Amazon EMR service to access AWS * resources on your behalf.
*/ inline RunJobFlowRequest& WithServiceRole(const char* value) { SetServiceRole(value); return *this;} /** *A list of tags to associate with a cluster and propagate to Amazon EC2 * instances.
*/ inline const Aws::VectorA list of tags to associate with a cluster and propagate to Amazon EC2 * instances.
*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *A list of tags to associate with a cluster and propagate to Amazon EC2 * instances.
*/ inline void SetTags(const Aws::VectorA list of tags to associate with a cluster and propagate to Amazon EC2 * instances.
*/ inline void SetTags(Aws::VectorA list of tags to associate with a cluster and propagate to Amazon EC2 * instances.
*/ inline RunJobFlowRequest& WithTags(const Aws::VectorA list of tags to associate with a cluster and propagate to Amazon EC2 * instances.
*/ inline RunJobFlowRequest& WithTags(Aws::VectorA list of tags to associate with a cluster and propagate to Amazon EC2 * instances.
*/ inline RunJobFlowRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *A list of tags to associate with a cluster and propagate to Amazon EC2 * instances.
*/ inline RunJobFlowRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *The name of a security configuration to apply to the cluster.
*/ inline const Aws::String& GetSecurityConfiguration() const{ return m_securityConfiguration; } /** *The name of a security configuration to apply to the cluster.
*/ inline bool SecurityConfigurationHasBeenSet() const { return m_securityConfigurationHasBeenSet; } /** *The name of a security configuration to apply to the cluster.
*/ inline void SetSecurityConfiguration(const Aws::String& value) { m_securityConfigurationHasBeenSet = true; m_securityConfiguration = value; } /** *The name of a security configuration to apply to the cluster.
*/ inline void SetSecurityConfiguration(Aws::String&& value) { m_securityConfigurationHasBeenSet = true; m_securityConfiguration = std::move(value); } /** *The name of a security configuration to apply to the cluster.
*/ inline void SetSecurityConfiguration(const char* value) { m_securityConfigurationHasBeenSet = true; m_securityConfiguration.assign(value); } /** *The name of a security configuration to apply to the cluster.
*/ inline RunJobFlowRequest& WithSecurityConfiguration(const Aws::String& value) { SetSecurityConfiguration(value); return *this;} /** *The name of a security configuration to apply to the cluster.
*/ inline RunJobFlowRequest& WithSecurityConfiguration(Aws::String&& value) { SetSecurityConfiguration(std::move(value)); return *this;} /** *The name of a security configuration to apply to the cluster.
*/ inline RunJobFlowRequest& WithSecurityConfiguration(const char* value) { SetSecurityConfiguration(value); return *this;} /** *An IAM role for automatic scaling policies. The default role is
* EMR_AutoScaling_DefaultRole. The IAM role provides permissions that
* the automatic scaling feature requires to launch and terminate EC2 instances in
* an instance group.
An IAM role for automatic scaling policies. The default role is
* EMR_AutoScaling_DefaultRole. The IAM role provides permissions that
* the automatic scaling feature requires to launch and terminate EC2 instances in
* an instance group.
An IAM role for automatic scaling policies. The default role is
* EMR_AutoScaling_DefaultRole. The IAM role provides permissions that
* the automatic scaling feature requires to launch and terminate EC2 instances in
* an instance group.
An IAM role for automatic scaling policies. The default role is
* EMR_AutoScaling_DefaultRole. The IAM role provides permissions that
* the automatic scaling feature requires to launch and terminate EC2 instances in
* an instance group.
An IAM role for automatic scaling policies. The default role is
* EMR_AutoScaling_DefaultRole. The IAM role provides permissions that
* the automatic scaling feature requires to launch and terminate EC2 instances in
* an instance group.
An IAM role for automatic scaling policies. The default role is
* EMR_AutoScaling_DefaultRole. The IAM role provides permissions that
* the automatic scaling feature requires to launch and terminate EC2 instances in
* an instance group.
An IAM role for automatic scaling policies. The default role is
* EMR_AutoScaling_DefaultRole. The IAM role provides permissions that
* the automatic scaling feature requires to launch and terminate EC2 instances in
* an instance group.
An IAM role for automatic scaling policies. The default role is
* EMR_AutoScaling_DefaultRole. The IAM role provides permissions that
* the automatic scaling feature requires to launch and terminate EC2 instances in
* an instance group.
Specifies the way that individual Amazon EC2 instances terminate when an
* automatic scale-in activity occurs or an instance group is resized.
* TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates
* nodes at the instance-hour boundary, regardless of when the request to terminate
* the instance was submitted. This option is only available with Amazon EMR 5.1.0
* and later and is the default for clusters created using that version.
* TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR blacklists
* and drains tasks from nodes before terminating the Amazon EC2 instances,
* regardless of the instance-hour boundary. With either behavior, Amazon EMR
* removes the least active nodes first and blocks instance termination if it could
* lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available
* only in Amazon EMR version 4.1.0 and later, and is the default for versions of
* Amazon EMR earlier than 5.1.0.
Specifies the way that individual Amazon EC2 instances terminate when an
* automatic scale-in activity occurs or an instance group is resized.
* TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates
* nodes at the instance-hour boundary, regardless of when the request to terminate
* the instance was submitted. This option is only available with Amazon EMR 5.1.0
* and later and is the default for clusters created using that version.
* TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR blacklists
* and drains tasks from nodes before terminating the Amazon EC2 instances,
* regardless of the instance-hour boundary. With either behavior, Amazon EMR
* removes the least active nodes first and blocks instance termination if it could
* lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available
* only in Amazon EMR version 4.1.0 and later, and is the default for versions of
* Amazon EMR earlier than 5.1.0.
Specifies the way that individual Amazon EC2 instances terminate when an
* automatic scale-in activity occurs or an instance group is resized.
* TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates
* nodes at the instance-hour boundary, regardless of when the request to terminate
* the instance was submitted. This option is only available with Amazon EMR 5.1.0
* and later and is the default for clusters created using that version.
* TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR blacklists
* and drains tasks from nodes before terminating the Amazon EC2 instances,
* regardless of the instance-hour boundary. With either behavior, Amazon EMR
* removes the least active nodes first and blocks instance termination if it could
* lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available
* only in Amazon EMR version 4.1.0 and later, and is the default for versions of
* Amazon EMR earlier than 5.1.0.
Specifies the way that individual Amazon EC2 instances terminate when an
* automatic scale-in activity occurs or an instance group is resized.
* TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates
* nodes at the instance-hour boundary, regardless of when the request to terminate
* the instance was submitted. This option is only available with Amazon EMR 5.1.0
* and later and is the default for clusters created using that version.
* TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR blacklists
* and drains tasks from nodes before terminating the Amazon EC2 instances,
* regardless of the instance-hour boundary. With either behavior, Amazon EMR
* removes the least active nodes first and blocks instance termination if it could
* lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available
* only in Amazon EMR version 4.1.0 and later, and is the default for versions of
* Amazon EMR earlier than 5.1.0.
Specifies the way that individual Amazon EC2 instances terminate when an
* automatic scale-in activity occurs or an instance group is resized.
* TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates
* nodes at the instance-hour boundary, regardless of when the request to terminate
* the instance was submitted. This option is only available with Amazon EMR 5.1.0
* and later and is the default for clusters created using that version.
* TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR blacklists
* and drains tasks from nodes before terminating the Amazon EC2 instances,
* regardless of the instance-hour boundary. With either behavior, Amazon EMR
* removes the least active nodes first and blocks instance termination if it could
* lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available
* only in Amazon EMR version 4.1.0 and later, and is the default for versions of
* Amazon EMR earlier than 5.1.0.
Specifies the way that individual Amazon EC2 instances terminate when an
* automatic scale-in activity occurs or an instance group is resized.
* TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates
* nodes at the instance-hour boundary, regardless of when the request to terminate
* the instance was submitted. This option is only available with Amazon EMR 5.1.0
* and later and is the default for clusters created using that version.
* TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR blacklists
* and drains tasks from nodes before terminating the Amazon EC2 instances,
* regardless of the instance-hour boundary. With either behavior, Amazon EMR
* removes the least active nodes first and blocks instance termination if it could
* lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available
* only in Amazon EMR version 4.1.0 and later, and is the default for versions of
* Amazon EMR earlier than 5.1.0.
Available only in Amazon EMR version 5.7.0 and later. The ID of a custom
* Amazon EBS-backed Linux AMI. If specified, Amazon EMR uses this AMI when it
* launches cluster EC2 instances. For more information about custom AMIs in Amazon
* EMR, see Using
* a Custom AMI in the Amazon EMR Management Guide. If omitted, the
* cluster uses the base Linux AMI for the ReleaseLabel specified. For
* Amazon EMR versions 2.x and 3.x, use AmiVersion instead.
For * information about creating a custom AMI, see Creating * an Amazon EBS-Backed Linux AMI in the Amazon Elastic Compute Cloud User * Guide for Linux Instances. For information about finding an AMI ID, see Finding * a Linux AMI.
*/ inline const Aws::String& GetCustomAmiId() const{ return m_customAmiId; } /** *Available only in Amazon EMR version 5.7.0 and later. The ID of a custom
* Amazon EBS-backed Linux AMI. If specified, Amazon EMR uses this AMI when it
* launches cluster EC2 instances. For more information about custom AMIs in Amazon
* EMR, see Using
* a Custom AMI in the Amazon EMR Management Guide. If omitted, the
* cluster uses the base Linux AMI for the ReleaseLabel specified. For
* Amazon EMR versions 2.x and 3.x, use AmiVersion instead.
For * information about creating a custom AMI, see Creating * an Amazon EBS-Backed Linux AMI in the Amazon Elastic Compute Cloud User * Guide for Linux Instances. For information about finding an AMI ID, see Finding * a Linux AMI.
*/ inline bool CustomAmiIdHasBeenSet() const { return m_customAmiIdHasBeenSet; } /** *Available only in Amazon EMR version 5.7.0 and later. The ID of a custom
* Amazon EBS-backed Linux AMI. If specified, Amazon EMR uses this AMI when it
* launches cluster EC2 instances. For more information about custom AMIs in Amazon
* EMR, see Using
* a Custom AMI in the Amazon EMR Management Guide. If omitted, the
* cluster uses the base Linux AMI for the ReleaseLabel specified. For
* Amazon EMR versions 2.x and 3.x, use AmiVersion instead.
For * information about creating a custom AMI, see Creating * an Amazon EBS-Backed Linux AMI in the Amazon Elastic Compute Cloud User * Guide for Linux Instances. For information about finding an AMI ID, see Finding * a Linux AMI.
*/ inline void SetCustomAmiId(const Aws::String& value) { m_customAmiIdHasBeenSet = true; m_customAmiId = value; } /** *Available only in Amazon EMR version 5.7.0 and later. The ID of a custom
* Amazon EBS-backed Linux AMI. If specified, Amazon EMR uses this AMI when it
* launches cluster EC2 instances. For more information about custom AMIs in Amazon
* EMR, see Using
* a Custom AMI in the Amazon EMR Management Guide. If omitted, the
* cluster uses the base Linux AMI for the ReleaseLabel specified. For
* Amazon EMR versions 2.x and 3.x, use AmiVersion instead.
For * information about creating a custom AMI, see Creating * an Amazon EBS-Backed Linux AMI in the Amazon Elastic Compute Cloud User * Guide for Linux Instances. For information about finding an AMI ID, see Finding * a Linux AMI.
*/ inline void SetCustomAmiId(Aws::String&& value) { m_customAmiIdHasBeenSet = true; m_customAmiId = std::move(value); } /** *Available only in Amazon EMR version 5.7.0 and later. The ID of a custom
* Amazon EBS-backed Linux AMI. If specified, Amazon EMR uses this AMI when it
* launches cluster EC2 instances. For more information about custom AMIs in Amazon
* EMR, see Using
* a Custom AMI in the Amazon EMR Management Guide. If omitted, the
* cluster uses the base Linux AMI for the ReleaseLabel specified. For
* Amazon EMR versions 2.x and 3.x, use AmiVersion instead.
For * information about creating a custom AMI, see Creating * an Amazon EBS-Backed Linux AMI in the Amazon Elastic Compute Cloud User * Guide for Linux Instances. For information about finding an AMI ID, see Finding * a Linux AMI.
*/ inline void SetCustomAmiId(const char* value) { m_customAmiIdHasBeenSet = true; m_customAmiId.assign(value); } /** *Available only in Amazon EMR version 5.7.0 and later. The ID of a custom
* Amazon EBS-backed Linux AMI. If specified, Amazon EMR uses this AMI when it
* launches cluster EC2 instances. For more information about custom AMIs in Amazon
* EMR, see Using
* a Custom AMI in the Amazon EMR Management Guide. If omitted, the
* cluster uses the base Linux AMI for the ReleaseLabel specified. For
* Amazon EMR versions 2.x and 3.x, use AmiVersion instead.
For * information about creating a custom AMI, see Creating * an Amazon EBS-Backed Linux AMI in the Amazon Elastic Compute Cloud User * Guide for Linux Instances. For information about finding an AMI ID, see Finding * a Linux AMI.
*/ inline RunJobFlowRequest& WithCustomAmiId(const Aws::String& value) { SetCustomAmiId(value); return *this;} /** *Available only in Amazon EMR version 5.7.0 and later. The ID of a custom
* Amazon EBS-backed Linux AMI. If specified, Amazon EMR uses this AMI when it
* launches cluster EC2 instances. For more information about custom AMIs in Amazon
* EMR, see Using
* a Custom AMI in the Amazon EMR Management Guide. If omitted, the
* cluster uses the base Linux AMI for the ReleaseLabel specified. For
* Amazon EMR versions 2.x and 3.x, use AmiVersion instead.
For * information about creating a custom AMI, see Creating * an Amazon EBS-Backed Linux AMI in the Amazon Elastic Compute Cloud User * Guide for Linux Instances. For information about finding an AMI ID, see Finding * a Linux AMI.
*/ inline RunJobFlowRequest& WithCustomAmiId(Aws::String&& value) { SetCustomAmiId(std::move(value)); return *this;} /** *Available only in Amazon EMR version 5.7.0 and later. The ID of a custom
* Amazon EBS-backed Linux AMI. If specified, Amazon EMR uses this AMI when it
* launches cluster EC2 instances. For more information about custom AMIs in Amazon
* EMR, see Using
* a Custom AMI in the Amazon EMR Management Guide. If omitted, the
* cluster uses the base Linux AMI for the ReleaseLabel specified. For
* Amazon EMR versions 2.x and 3.x, use AmiVersion instead.
For * information about creating a custom AMI, see Creating * an Amazon EBS-Backed Linux AMI in the Amazon Elastic Compute Cloud User * Guide for Linux Instances. For information about finding an AMI ID, see Finding * a Linux AMI.
*/ inline RunJobFlowRequest& WithCustomAmiId(const char* value) { SetCustomAmiId(value); return *this;} /** *The size, in GiB, of the EBS root device volume of the Linux AMI that is used * for each EC2 instance. Available in Amazon EMR version 4.x and later.
*/ inline int GetEbsRootVolumeSize() const{ return m_ebsRootVolumeSize; } /** *The size, in GiB, of the EBS root device volume of the Linux AMI that is used * for each EC2 instance. Available in Amazon EMR version 4.x and later.
*/ inline bool EbsRootVolumeSizeHasBeenSet() const { return m_ebsRootVolumeSizeHasBeenSet; } /** *The size, in GiB, of the EBS root device volume of the Linux AMI that is used * for each EC2 instance. Available in Amazon EMR version 4.x and later.
*/ inline void SetEbsRootVolumeSize(int value) { m_ebsRootVolumeSizeHasBeenSet = true; m_ebsRootVolumeSize = value; } /** *The size, in GiB, of the EBS root device volume of the Linux AMI that is used * for each EC2 instance. Available in Amazon EMR version 4.x and later.
*/ inline RunJobFlowRequest& WithEbsRootVolumeSize(int value) { SetEbsRootVolumeSize(value); return *this;} /** *Applies only when CustomAmiID is used. Specifies which updates
* from the Amazon Linux AMI package repositories to apply automatically when the
* instance boots using the AMI. If omitted, the default is SECURITY,
* which indicates that only security updates are applied. If NONE is
* specified, no updates are applied, and all updates must be applied manually.
Applies only when CustomAmiID is used. Specifies which updates
* from the Amazon Linux AMI package repositories to apply automatically when the
* instance boots using the AMI. If omitted, the default is SECURITY,
* which indicates that only security updates are applied. If NONE is
* specified, no updates are applied, and all updates must be applied manually.
Applies only when CustomAmiID is used. Specifies which updates
* from the Amazon Linux AMI package repositories to apply automatically when the
* instance boots using the AMI. If omitted, the default is SECURITY,
* which indicates that only security updates are applied. If NONE is
* specified, no updates are applied, and all updates must be applied manually.
Applies only when CustomAmiID is used. Specifies which updates
* from the Amazon Linux AMI package repositories to apply automatically when the
* instance boots using the AMI. If omitted, the default is SECURITY,
* which indicates that only security updates are applied. If NONE is
* specified, no updates are applied, and all updates must be applied manually.
Applies only when CustomAmiID is used. Specifies which updates
* from the Amazon Linux AMI package repositories to apply automatically when the
* instance boots using the AMI. If omitted, the default is SECURITY,
* which indicates that only security updates are applied. If NONE is
* specified, no updates are applied, and all updates must be applied manually.
Applies only when CustomAmiID is used. Specifies which updates
* from the Amazon Linux AMI package repositories to apply automatically when the
* instance boots using the AMI. If omitted, the default is SECURITY,
* which indicates that only security updates are applied. If NONE is
* specified, no updates are applied, and all updates must be applied manually.
Attributes for Kerberos configuration when Kerberos authentication is enabled * using a security configuration. For more information see Use * Kerberos Authentication in the EMR Management Guide.
*/ inline const KerberosAttributes& GetKerberosAttributes() const{ return m_kerberosAttributes; } /** *Attributes for Kerberos configuration when Kerberos authentication is enabled * using a security configuration. For more information see Use * Kerberos Authentication in the EMR Management Guide.
*/ inline bool KerberosAttributesHasBeenSet() const { return m_kerberosAttributesHasBeenSet; } /** *Attributes for Kerberos configuration when Kerberos authentication is enabled * using a security configuration. For more information see Use * Kerberos Authentication in the EMR Management Guide.
*/ inline void SetKerberosAttributes(const KerberosAttributes& value) { m_kerberosAttributesHasBeenSet = true; m_kerberosAttributes = value; } /** *Attributes for Kerberos configuration when Kerberos authentication is enabled * using a security configuration. For more information see Use * Kerberos Authentication in the EMR Management Guide.
*/ inline void SetKerberosAttributes(KerberosAttributes&& value) { m_kerberosAttributesHasBeenSet = true; m_kerberosAttributes = std::move(value); } /** *Attributes for Kerberos configuration when Kerberos authentication is enabled * using a security configuration. For more information see Use * Kerberos Authentication in the EMR Management Guide.
*/ inline RunJobFlowRequest& WithKerberosAttributes(const KerberosAttributes& value) { SetKerberosAttributes(value); return *this;} /** *Attributes for Kerberos configuration when Kerberos authentication is enabled * using a security configuration. For more information see Use * Kerberos Authentication in the EMR Management Guide.
*/ inline RunJobFlowRequest& WithKerberosAttributes(KerberosAttributes&& value) { SetKerberosAttributes(std::move(value)); return *this;} /** *Specifies the number of steps that can be executed concurrently. The default
* value is 1. The maximum value is 256.
Specifies the number of steps that can be executed concurrently. The default
* value is 1. The maximum value is 256.
Specifies the number of steps that can be executed concurrently. The default
* value is 1. The maximum value is 256.
Specifies the number of steps that can be executed concurrently. The default
* value is 1. The maximum value is 256.
The specified managed scaling policy for an Amazon EMR cluster.
*/ inline const ManagedScalingPolicy& GetManagedScalingPolicy() const{ return m_managedScalingPolicy; } /** *The specified managed scaling policy for an Amazon EMR cluster.
*/ inline bool ManagedScalingPolicyHasBeenSet() const { return m_managedScalingPolicyHasBeenSet; } /** *The specified managed scaling policy for an Amazon EMR cluster.
*/ inline void SetManagedScalingPolicy(const ManagedScalingPolicy& value) { m_managedScalingPolicyHasBeenSet = true; m_managedScalingPolicy = value; } /** *The specified managed scaling policy for an Amazon EMR cluster.
*/ inline void SetManagedScalingPolicy(ManagedScalingPolicy&& value) { m_managedScalingPolicyHasBeenSet = true; m_managedScalingPolicy = std::move(value); } /** *The specified managed scaling policy for an Amazon EMR cluster.
*/ inline RunJobFlowRequest& WithManagedScalingPolicy(const ManagedScalingPolicy& value) { SetManagedScalingPolicy(value); return *this;} /** *The specified managed scaling policy for an Amazon EMR cluster.
*/ inline RunJobFlowRequest& WithManagedScalingPolicy(ManagedScalingPolicy&& value) { SetManagedScalingPolicy(std::move(value)); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet; Aws::String m_logUri; bool m_logUriHasBeenSet; Aws::String m_logEncryptionKmsKeyId; bool m_logEncryptionKmsKeyIdHasBeenSet; Aws::String m_additionalInfo; bool m_additionalInfoHasBeenSet; Aws::String m_amiVersion; bool m_amiVersionHasBeenSet; Aws::String m_releaseLabel; bool m_releaseLabelHasBeenSet; JobFlowInstancesConfig m_instances; bool m_instancesHasBeenSet; Aws::Vector