/**
* 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 KMS key used for encrypting log files. If a value is not provided, the * logs remain encrypted by AES-256. This attribute is only available with Amazon * EMR releases 5.30.0 and later, excluding Amazon EMR 6.0.0.
*/ inline const Aws::String& GetLogEncryptionKmsKeyId() const{ return m_logEncryptionKmsKeyId; } /** *The KMS key used for encrypting log files. If a value is not provided, the * logs remain encrypted by AES-256. This attribute is only available with Amazon * EMR releases 5.30.0 and later, excluding Amazon EMR 6.0.0.
*/ inline bool LogEncryptionKmsKeyIdHasBeenSet() const { return m_logEncryptionKmsKeyIdHasBeenSet; } /** *The KMS key used for encrypting log files. If a value is not provided, the * logs remain encrypted by AES-256. This attribute is only available with Amazon * EMR releases 5.30.0 and later, excluding Amazon EMR 6.0.0.
*/ inline void SetLogEncryptionKmsKeyId(const Aws::String& value) { m_logEncryptionKmsKeyIdHasBeenSet = true; m_logEncryptionKmsKeyId = value; } /** *The KMS key used for encrypting log files. If a value is not provided, the * logs remain encrypted by AES-256. This attribute is only available with Amazon * EMR releases 5.30.0 and later, excluding Amazon EMR 6.0.0.
*/ inline void SetLogEncryptionKmsKeyId(Aws::String&& value) { m_logEncryptionKmsKeyIdHasBeenSet = true; m_logEncryptionKmsKeyId = std::move(value); } /** *The KMS key used for encrypting log files. If a value is not provided, the * logs remain encrypted by AES-256. This attribute is only available with Amazon * EMR releases 5.30.0 and later, excluding Amazon EMR 6.0.0.
*/ inline void SetLogEncryptionKmsKeyId(const char* value) { m_logEncryptionKmsKeyIdHasBeenSet = true; m_logEncryptionKmsKeyId.assign(value); } /** *The KMS key used for encrypting log files. If a value is not provided, the * logs remain encrypted by AES-256. This attribute is only available with Amazon * EMR releases 5.30.0 and later, excluding Amazon EMR 6.0.0.
*/ inline RunJobFlowRequest& WithLogEncryptionKmsKeyId(const Aws::String& value) { SetLogEncryptionKmsKeyId(value); return *this;} /** *The KMS key used for encrypting log files. If a value is not provided, the * logs remain encrypted by AES-256. This attribute is only available with Amazon * EMR releases 5.30.0 and later, excluding Amazon EMR 6.0.0.
*/ inline RunJobFlowRequest& WithLogEncryptionKmsKeyId(Aws::String&& value) { SetLogEncryptionKmsKeyId(std::move(value)); return *this;} /** *The KMS key used for encrypting log files. If a value is not provided, the * logs remain encrypted by AES-256. This attribute is only available with Amazon * EMR releases 5.30.0 and later, excluding Amazon 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. * Amazon 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 Analytics 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. * Amazon 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 Analytics 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. * Amazon 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 Analytics 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. * Amazon 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 Analytics 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. * Amazon 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 Analytics 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. * Amazon 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 Analytics 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. * Amazon 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 Analytics 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. * Amazon 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 Analytics 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 * EMRRelease 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 * EMRRelease 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 * EMRRelease 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 * EMRRelease 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 * EMRRelease 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 * EMRRelease 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 * EMRRelease 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 * EMRRelease 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 Amazon EMR cluster that you are creating.
*/ inline const Aws::VectorFor Amazon EMR releases 4.0 and later. The list of configurations supplied * for the Amazon EMR cluster that 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 Amazon EMR cluster that you are creating.
*/ inline void SetConfigurations(const Aws::VectorFor Amazon EMR releases 4.0 and later. The list of configurations supplied * for the Amazon EMR cluster that you are creating.
*/ inline void SetConfigurations(Aws::VectorFor Amazon EMR releases 4.0 and later. The list of configurations supplied * for the Amazon EMR cluster that you are creating.
*/ inline RunJobFlowRequest& WithConfigurations(const Aws::VectorFor Amazon EMR releases 4.0 and later. The list of configurations supplied * for the Amazon EMR cluster that you are creating.
*/ inline RunJobFlowRequest& WithConfigurations(Aws::VectorFor Amazon EMR releases 4.0 and later. The list of configurations supplied * for the Amazon EMR cluster that 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 Amazon EMR cluster that you are creating.
*/ inline RunJobFlowRequest& AddConfigurations(Configuration&& value) { m_configurationsHasBeenSet = true; m_configurations.push_back(std::move(value)); return *this; } /** *The VisibleToAllUsers parameter is no longer supported. By
* default, the value is set to true
. Setting it to false
* now has no effect.
Set this value to true
so
* that IAM principals in the Amazon Web Services account associated with the
* cluster can perform Amazon EMR actions on the cluster that their IAM policies
* allow. This value defaults to true
for clusters created using the
* Amazon EMR API or the CLI create-cluster
* command.
When set to false
, only the IAM principal that
* created the cluster and the Amazon Web Services account root user can perform
* Amazon EMR actions for the cluster, regardless of the IAM permissions policies
* attached to other IAM principals. For more information, see Understanding
* the Amazon EMR cluster VisibleToAllUsers setting in the Amazon EMR
* Management Guide.
The VisibleToAllUsers parameter is no longer supported. By
* default, the value is set to true
. Setting it to false
* now has no effect.
Set this value to true
so
* that IAM principals in the Amazon Web Services account associated with the
* cluster can perform Amazon EMR actions on the cluster that their IAM policies
* allow. This value defaults to true
for clusters created using the
* Amazon EMR API or the CLI create-cluster
* command.
When set to false
, only the IAM principal that
* created the cluster and the Amazon Web Services account root user can perform
* Amazon EMR actions for the cluster, regardless of the IAM permissions policies
* attached to other IAM principals. For more information, see Understanding
* the Amazon EMR cluster VisibleToAllUsers setting in the Amazon EMR
* Management Guide.
The VisibleToAllUsers parameter is no longer supported. By
* default, the value is set to true
. Setting it to false
* now has no effect.
Set this value to true
so
* that IAM principals in the Amazon Web Services account associated with the
* cluster can perform Amazon EMR actions on the cluster that their IAM policies
* allow. This value defaults to true
for clusters created using the
* Amazon EMR API or the CLI create-cluster
* command.
When set to false
, only the IAM principal that
* created the cluster and the Amazon Web Services account root user can perform
* Amazon EMR actions for the cluster, regardless of the IAM permissions policies
* attached to other IAM principals. For more information, see Understanding
* the Amazon EMR cluster VisibleToAllUsers setting in the Amazon EMR
* Management Guide.
The VisibleToAllUsers parameter is no longer supported. By
* default, the value is set to true
. Setting it to false
* now has no effect.
Set this value to true
so
* that IAM principals in the Amazon Web Services account associated with the
* cluster can perform Amazon EMR actions on the cluster that their IAM policies
* allow. This value defaults to true
for clusters created using the
* Amazon EMR API or the CLI create-cluster
* command.
When set to false
, only the IAM principal that
* created the cluster and the Amazon Web Services account root user can perform
* Amazon EMR actions for the cluster, regardless of the IAM permissions policies
* attached to other IAM principals. For more information, see Understanding
* the Amazon EMR cluster VisibleToAllUsers setting in the Amazon EMR
* Management Guide.
Also called instance profile and Amazon EC2 role. An IAM role for an Amazon
* EMR cluster. The Amazon 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 Amazon EC2 role. An IAM role for an Amazon
* EMR cluster. The Amazon 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 Amazon EC2 role. An IAM role for an Amazon
* EMR cluster. The Amazon 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 Amazon EC2 role. An IAM role for an Amazon
* EMR cluster. The Amazon 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 Amazon EC2 role. An IAM role for an Amazon
* EMR cluster. The Amazon 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 Amazon EC2 role. An IAM role for an Amazon
* EMR cluster. The Amazon 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 Amazon EC2 role. An IAM role for an Amazon
* EMR cluster. The Amazon 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 Amazon EC2 role. An IAM role for an Amazon
* EMR cluster. The Amazon 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 Amazon EMR assumes in order to access Amazon Web Services * resources on your behalf. If you've created a custom service role path, you must * specify it for the service role when you launch your cluster.
*/ inline const Aws::String& GetServiceRole() const{ return m_serviceRole; } /** *The IAM role that Amazon EMR assumes in order to access Amazon Web Services * resources on your behalf. If you've created a custom service role path, you must * specify it for the service role when you launch your cluster.
*/ inline bool ServiceRoleHasBeenSet() const { return m_serviceRoleHasBeenSet; } /** *The IAM role that Amazon EMR assumes in order to access Amazon Web Services * resources on your behalf. If you've created a custom service role path, you must * specify it for the service role when you launch your cluster.
*/ inline void SetServiceRole(const Aws::String& value) { m_serviceRoleHasBeenSet = true; m_serviceRole = value; } /** *The IAM role that Amazon EMR assumes in order to access Amazon Web Services * resources on your behalf. If you've created a custom service role path, you must * specify it for the service role when you launch your cluster.
*/ inline void SetServiceRole(Aws::String&& value) { m_serviceRoleHasBeenSet = true; m_serviceRole = std::move(value); } /** *The IAM role that Amazon EMR assumes in order to access Amazon Web Services * resources on your behalf. If you've created a custom service role path, you must * specify it for the service role when you launch your cluster.
*/ inline void SetServiceRole(const char* value) { m_serviceRoleHasBeenSet = true; m_serviceRole.assign(value); } /** *The IAM role that Amazon EMR assumes in order to access Amazon Web Services * resources on your behalf. If you've created a custom service role path, you must * specify it for the service role when you launch your cluster.
*/ inline RunJobFlowRequest& WithServiceRole(const Aws::String& value) { SetServiceRole(value); return *this;} /** *The IAM role that Amazon EMR assumes in order to access Amazon Web Services * resources on your behalf. If you've created a custom service role path, you must * specify it for the service role when you launch your cluster.
*/ inline RunJobFlowRequest& WithServiceRole(Aws::String&& value) { SetServiceRole(std::move(value)); return *this;} /** *The IAM role that Amazon EMR assumes in order to access Amazon Web Services * resources on your behalf. If you've created a custom service role path, you must * specify it for the service role when you launch your cluster.
*/ 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 Amazon 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 Amazon 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 Amazon 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 Amazon 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 Amazon 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 Amazon 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 Amazon 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 Amazon 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 adds nodes
* to a deny list 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 releases 4.1.0 and later, and is the default for
* releases 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 adds nodes
* to a deny list 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 releases 4.1.0 and later, and is the default for
* releases 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 adds nodes
* to a deny list 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 releases 4.1.0 and later, and is the default for
* releases 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 adds nodes
* to a deny list 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 releases 4.1.0 and later, and is the default for
* releases 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 adds nodes
* to a deny list 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 releases 4.1.0 and later, and is the default for
* releases 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 adds nodes
* to a deny list 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 releases 4.1.0 and later, and is the default for
* releases of Amazon EMR earlier than 5.1.0.
Available only in Amazon EMR releases 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 Amazon 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 releases 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 releases 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 Amazon 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 releases 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 releases 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 Amazon 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 releases 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 releases 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 Amazon 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 releases 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 releases 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 Amazon 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 releases 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 releases 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 Amazon 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 releases 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 releases 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 Amazon 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 releases 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 releases 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 Amazon 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 releases 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 Amazon EBS root device volume of the Linux AMI that * is used for each Amazon EC2 instance. Available in Amazon EMR releases 4.x and * later.
*/ inline int GetEbsRootVolumeSize() const{ return m_ebsRootVolumeSize; } /** *The size, in GiB, of the Amazon EBS root device volume of the Linux AMI that * is used for each Amazon EC2 instance. Available in Amazon EMR releases 4.x and * later.
*/ inline bool EbsRootVolumeSizeHasBeenSet() const { return m_ebsRootVolumeSizeHasBeenSet; } /** *The size, in GiB, of the Amazon EBS root device volume of the Linux AMI that * is used for each Amazon EC2 instance. Available in Amazon EMR releases 4.x and * later.
*/ inline void SetEbsRootVolumeSize(int value) { m_ebsRootVolumeSizeHasBeenSet = true; m_ebsRootVolumeSize = value; } /** *The size, in GiB, of the Amazon EBS root device volume of the Linux AMI that * is used for each Amazon EC2 instance. Available in Amazon EMR releases 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 Amazon 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 Amazon 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 Amazon 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 Amazon 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 Amazon 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 Amazon 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;} /** *The specified placement group configuration for an Amazon EMR cluster.
*/ inline const Aws::VectorThe specified placement group configuration for an Amazon EMR cluster.
*/ inline bool PlacementGroupConfigsHasBeenSet() const { return m_placementGroupConfigsHasBeenSet; } /** *The specified placement group configuration for an Amazon EMR cluster.
*/ inline void SetPlacementGroupConfigs(const Aws::VectorThe specified placement group configuration for an Amazon EMR cluster.
*/ inline void SetPlacementGroupConfigs(Aws::VectorThe specified placement group configuration for an Amazon EMR cluster.
*/ inline RunJobFlowRequest& WithPlacementGroupConfigs(const Aws::VectorThe specified placement group configuration for an Amazon EMR cluster.
*/ inline RunJobFlowRequest& WithPlacementGroupConfigs(Aws::VectorThe specified placement group configuration for an Amazon EMR cluster.
*/ inline RunJobFlowRequest& AddPlacementGroupConfigs(const PlacementGroupConfig& value) { m_placementGroupConfigsHasBeenSet = true; m_placementGroupConfigs.push_back(value); return *this; } /** *The specified placement group configuration for an Amazon EMR cluster.
*/ inline RunJobFlowRequest& AddPlacementGroupConfigs(PlacementGroupConfig&& value) { m_placementGroupConfigsHasBeenSet = true; m_placementGroupConfigs.push_back(std::move(value)); return *this; } inline const AutoTerminationPolicy& GetAutoTerminationPolicy() const{ return m_autoTerminationPolicy; } inline bool AutoTerminationPolicyHasBeenSet() const { return m_autoTerminationPolicyHasBeenSet; } inline void SetAutoTerminationPolicy(const AutoTerminationPolicy& value) { m_autoTerminationPolicyHasBeenSet = true; m_autoTerminationPolicy = value; } inline void SetAutoTerminationPolicy(AutoTerminationPolicy&& value) { m_autoTerminationPolicyHasBeenSet = true; m_autoTerminationPolicy = std::move(value); } inline RunJobFlowRequest& WithAutoTerminationPolicy(const AutoTerminationPolicy& value) { SetAutoTerminationPolicy(value); return *this;} inline RunJobFlowRequest& WithAutoTerminationPolicy(AutoTerminationPolicy&& value) { SetAutoTerminationPolicy(std::move(value)); return *this;} /** *Specifies a particular Amazon Linux release for all nodes in a cluster launch * RunJobFlow request. If a release is not specified, Amazon EMR uses the latest * validated Amazon Linux release for cluster launch.
*/ inline const Aws::String& GetOSReleaseLabel() const{ return m_oSReleaseLabel; } /** *Specifies a particular Amazon Linux release for all nodes in a cluster launch * RunJobFlow request. If a release is not specified, Amazon EMR uses the latest * validated Amazon Linux release for cluster launch.
*/ inline bool OSReleaseLabelHasBeenSet() const { return m_oSReleaseLabelHasBeenSet; } /** *Specifies a particular Amazon Linux release for all nodes in a cluster launch * RunJobFlow request. If a release is not specified, Amazon EMR uses the latest * validated Amazon Linux release for cluster launch.
*/ inline void SetOSReleaseLabel(const Aws::String& value) { m_oSReleaseLabelHasBeenSet = true; m_oSReleaseLabel = value; } /** *Specifies a particular Amazon Linux release for all nodes in a cluster launch * RunJobFlow request. If a release is not specified, Amazon EMR uses the latest * validated Amazon Linux release for cluster launch.
*/ inline void SetOSReleaseLabel(Aws::String&& value) { m_oSReleaseLabelHasBeenSet = true; m_oSReleaseLabel = std::move(value); } /** *Specifies a particular Amazon Linux release for all nodes in a cluster launch * RunJobFlow request. If a release is not specified, Amazon EMR uses the latest * validated Amazon Linux release for cluster launch.
*/ inline void SetOSReleaseLabel(const char* value) { m_oSReleaseLabelHasBeenSet = true; m_oSReleaseLabel.assign(value); } /** *Specifies a particular Amazon Linux release for all nodes in a cluster launch * RunJobFlow request. If a release is not specified, Amazon EMR uses the latest * validated Amazon Linux release for cluster launch.
*/ inline RunJobFlowRequest& WithOSReleaseLabel(const Aws::String& value) { SetOSReleaseLabel(value); return *this;} /** *Specifies a particular Amazon Linux release for all nodes in a cluster launch * RunJobFlow request. If a release is not specified, Amazon EMR uses the latest * validated Amazon Linux release for cluster launch.
*/ inline RunJobFlowRequest& WithOSReleaseLabel(Aws::String&& value) { SetOSReleaseLabel(std::move(value)); return *this;} /** *Specifies a particular Amazon Linux release for all nodes in a cluster launch * RunJobFlow request. If a release is not specified, Amazon EMR uses the latest * validated Amazon Linux release for cluster launch.
*/ inline RunJobFlowRequest& WithOSReleaseLabel(const char* value) { SetOSReleaseLabel(value); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_logUri; bool m_logUriHasBeenSet = false; Aws::String m_logEncryptionKmsKeyId; bool m_logEncryptionKmsKeyIdHasBeenSet = false; Aws::String m_additionalInfo; bool m_additionalInfoHasBeenSet = false; Aws::String m_amiVersion; bool m_amiVersionHasBeenSet = false; Aws::String m_releaseLabel; bool m_releaseLabelHasBeenSet = false; JobFlowInstancesConfig m_instances; bool m_instancesHasBeenSet = false; Aws::Vector