/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The detailed description of the cluster.See Also:
AWS
* API Reference
The unique identifier for the cluster.
*/ inline const Aws::String& GetId() const{ return m_id; } /** *The unique identifier for the cluster.
*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *The unique identifier for the cluster.
*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *The unique identifier for the cluster.
*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *The unique identifier for the cluster.
*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *The unique identifier for the cluster.
*/ inline Cluster& WithId(const Aws::String& value) { SetId(value); return *this;} /** *The unique identifier for the cluster.
*/ inline Cluster& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *The unique identifier for the cluster.
*/ inline Cluster& WithId(const char* value) { SetId(value); return *this;} /** *The name of the cluster.
*/ inline const Aws::String& GetName() const{ return m_name; } /** *The name of the cluster.
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *The name of the cluster.
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *The name of the cluster.
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *The name of the cluster.
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *The name of the cluster.
*/ inline Cluster& WithName(const Aws::String& value) { SetName(value); return *this;} /** *The name of the cluster.
*/ inline Cluster& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *The name of the cluster.
*/ inline Cluster& WithName(const char* value) { SetName(value); return *this;} /** *The current status details about the cluster.
*/ inline const ClusterStatus& GetStatus() const{ return m_status; } /** *The current status details about the cluster.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *The current status details about the cluster.
*/ inline void SetStatus(const ClusterStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *The current status details about the cluster.
*/ inline void SetStatus(ClusterStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *The current status details about the cluster.
*/ inline Cluster& WithStatus(const ClusterStatus& value) { SetStatus(value); return *this;} /** *The current status details about the cluster.
*/ inline Cluster& WithStatus(ClusterStatus&& value) { SetStatus(std::move(value)); return *this;} /** *Provides information about the Amazon EC2 instances in a cluster grouped by * category. For example, key name, subnet ID, IAM instance profile, and so on.
*/ inline const Ec2InstanceAttributes& GetEc2InstanceAttributes() const{ return m_ec2InstanceAttributes; } /** *Provides information about the Amazon EC2 instances in a cluster grouped by * category. For example, key name, subnet ID, IAM instance profile, and so on.
*/ inline bool Ec2InstanceAttributesHasBeenSet() const { return m_ec2InstanceAttributesHasBeenSet; } /** *Provides information about the Amazon EC2 instances in a cluster grouped by * category. For example, key name, subnet ID, IAM instance profile, and so on.
*/ inline void SetEc2InstanceAttributes(const Ec2InstanceAttributes& value) { m_ec2InstanceAttributesHasBeenSet = true; m_ec2InstanceAttributes = value; } /** *Provides information about the Amazon EC2 instances in a cluster grouped by * category. For example, key name, subnet ID, IAM instance profile, and so on.
*/ inline void SetEc2InstanceAttributes(Ec2InstanceAttributes&& value) { m_ec2InstanceAttributesHasBeenSet = true; m_ec2InstanceAttributes = std::move(value); } /** *Provides information about the Amazon EC2 instances in a cluster grouped by * category. For example, key name, subnet ID, IAM instance profile, and so on.
*/ inline Cluster& WithEc2InstanceAttributes(const Ec2InstanceAttributes& value) { SetEc2InstanceAttributes(value); return *this;} /** *Provides information about the Amazon EC2 instances in a cluster grouped by * category. For example, key name, subnet ID, IAM instance profile, and so on.
*/ inline Cluster& WithEc2InstanceAttributes(Ec2InstanceAttributes&& value) { SetEc2InstanceAttributes(std::move(value)); return *this;} /** *The instance fleet configuration is available only in Amazon EMR * releases 4.8.0 and later, excluding 5.0.x versions.
The instance
* group configuration of the cluster. A value of INSTANCE_GROUP
* indicates a uniform instance group configuration. A value of
* INSTANCE_FLEET
indicates an instance fleets configuration.
The instance fleet configuration is available only in Amazon EMR * releases 4.8.0 and later, excluding 5.0.x versions.
The instance
* group configuration of the cluster. A value of INSTANCE_GROUP
* indicates a uniform instance group configuration. A value of
* INSTANCE_FLEET
indicates an instance fleets configuration.
The instance fleet configuration is available only in Amazon EMR * releases 4.8.0 and later, excluding 5.0.x versions.
The instance
* group configuration of the cluster. A value of INSTANCE_GROUP
* indicates a uniform instance group configuration. A value of
* INSTANCE_FLEET
indicates an instance fleets configuration.
The instance fleet configuration is available only in Amazon EMR * releases 4.8.0 and later, excluding 5.0.x versions.
The instance
* group configuration of the cluster. A value of INSTANCE_GROUP
* indicates a uniform instance group configuration. A value of
* INSTANCE_FLEET
indicates an instance fleets configuration.
The instance fleet configuration is available only in Amazon EMR * releases 4.8.0 and later, excluding 5.0.x versions.
The instance
* group configuration of the cluster. A value of INSTANCE_GROUP
* indicates a uniform instance group configuration. A value of
* INSTANCE_FLEET
indicates an instance fleets configuration.
The instance fleet configuration is available only in Amazon EMR * releases 4.8.0 and later, excluding 5.0.x versions.
The instance
* group configuration of the cluster. A value of INSTANCE_GROUP
* indicates a uniform instance group configuration. A value of
* INSTANCE_FLEET
indicates an instance fleets configuration.
The path to the Amazon S3 location where logs for this cluster are * stored.
*/ inline const Aws::String& GetLogUri() const{ return m_logUri; } /** *The path to the Amazon S3 location where logs for this cluster are * stored.
*/ inline bool LogUriHasBeenSet() const { return m_logUriHasBeenSet; } /** *The path to the Amazon S3 location where logs for this cluster are * stored.
*/ inline void SetLogUri(const Aws::String& value) { m_logUriHasBeenSet = true; m_logUri = value; } /** *The path to the Amazon S3 location where logs for this cluster are * stored.
*/ inline void SetLogUri(Aws::String&& value) { m_logUriHasBeenSet = true; m_logUri = std::move(value); } /** *The path to the Amazon S3 location where logs for this cluster are * stored.
*/ inline void SetLogUri(const char* value) { m_logUriHasBeenSet = true; m_logUri.assign(value); } /** *The path to the Amazon S3 location where logs for this cluster are * stored.
*/ inline Cluster& WithLogUri(const Aws::String& value) { SetLogUri(value); return *this;} /** *The path to the Amazon S3 location where logs for this cluster are * stored.
*/ inline Cluster& WithLogUri(Aws::String&& value) { SetLogUri(std::move(value)); return *this;} /** *The path to the Amazon S3 location where logs for this cluster are * stored.
*/ inline Cluster& WithLogUri(const char* value) { SetLogUri(value); return *this;} /** *The KMS key used for encrypting log files. This attribute is only available * with Amazon EMR 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. This attribute is only available * with Amazon EMR 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. This attribute is only available * with Amazon EMR 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. This attribute is only available * with Amazon EMR 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. This attribute is only available * with Amazon EMR 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. This attribute is only available * with Amazon EMR 5.30.0 and later, excluding Amazon EMR 6.0.0.
*/ inline Cluster& WithLogEncryptionKmsKeyId(const Aws::String& value) { SetLogEncryptionKmsKeyId(value); return *this;} /** *The KMS key used for encrypting log files. This attribute is only available * with Amazon EMR 5.30.0 and later, excluding Amazon EMR 6.0.0.
*/ inline Cluster& WithLogEncryptionKmsKeyId(Aws::String&& value) { SetLogEncryptionKmsKeyId(std::move(value)); return *this;} /** *The KMS key used for encrypting log files. This attribute is only available * with Amazon EMR 5.30.0 and later, excluding Amazon EMR 6.0.0.
*/ inline Cluster& WithLogEncryptionKmsKeyId(const char* value) { SetLogEncryptionKmsKeyId(value); return *this;} /** *The AMI version requested for this cluster.
*/ inline const Aws::String& GetRequestedAmiVersion() const{ return m_requestedAmiVersion; } /** *The AMI version requested for this cluster.
*/ inline bool RequestedAmiVersionHasBeenSet() const { return m_requestedAmiVersionHasBeenSet; } /** *The AMI version requested for this cluster.
*/ inline void SetRequestedAmiVersion(const Aws::String& value) { m_requestedAmiVersionHasBeenSet = true; m_requestedAmiVersion = value; } /** *The AMI version requested for this cluster.
*/ inline void SetRequestedAmiVersion(Aws::String&& value) { m_requestedAmiVersionHasBeenSet = true; m_requestedAmiVersion = std::move(value); } /** *The AMI version requested for this cluster.
*/ inline void SetRequestedAmiVersion(const char* value) { m_requestedAmiVersionHasBeenSet = true; m_requestedAmiVersion.assign(value); } /** *The AMI version requested for this cluster.
*/ inline Cluster& WithRequestedAmiVersion(const Aws::String& value) { SetRequestedAmiVersion(value); return *this;} /** *The AMI version requested for this cluster.
*/ inline Cluster& WithRequestedAmiVersion(Aws::String&& value) { SetRequestedAmiVersion(std::move(value)); return *this;} /** *The AMI version requested for this cluster.
*/ inline Cluster& WithRequestedAmiVersion(const char* value) { SetRequestedAmiVersion(value); return *this;} /** *The AMI version running on this cluster.
*/ inline const Aws::String& GetRunningAmiVersion() const{ return m_runningAmiVersion; } /** *The AMI version running on this cluster.
*/ inline bool RunningAmiVersionHasBeenSet() const { return m_runningAmiVersionHasBeenSet; } /** *The AMI version running on this cluster.
*/ inline void SetRunningAmiVersion(const Aws::String& value) { m_runningAmiVersionHasBeenSet = true; m_runningAmiVersion = value; } /** *The AMI version running on this cluster.
*/ inline void SetRunningAmiVersion(Aws::String&& value) { m_runningAmiVersionHasBeenSet = true; m_runningAmiVersion = std::move(value); } /** *The AMI version running on this cluster.
*/ inline void SetRunningAmiVersion(const char* value) { m_runningAmiVersionHasBeenSet = true; m_runningAmiVersion.assign(value); } /** *The AMI version running on this cluster.
*/ inline Cluster& WithRunningAmiVersion(const Aws::String& value) { SetRunningAmiVersion(value); return *this;} /** *The AMI version running on this cluster.
*/ inline Cluster& WithRunningAmiVersion(Aws::String&& value) { SetRunningAmiVersion(std::move(value)); return *this;} /** *The AMI version running on this cluster.
*/ inline Cluster& WithRunningAmiVersion(const char* value) { SetRunningAmiVersion(value); return *this;} /** *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
.
Specifies whether the cluster should terminate after completing all * steps.
*/ inline bool GetAutoTerminate() const{ return m_autoTerminate; } /** *Specifies whether the cluster should terminate after completing all * steps.
*/ inline bool AutoTerminateHasBeenSet() const { return m_autoTerminateHasBeenSet; } /** *Specifies whether the cluster should terminate after completing all * steps.
*/ inline void SetAutoTerminate(bool value) { m_autoTerminateHasBeenSet = true; m_autoTerminate = value; } /** *Specifies whether the cluster should terminate after completing all * steps.
*/ inline Cluster& WithAutoTerminate(bool value) { SetAutoTerminate(value); return *this;} /** *Indicates whether Amazon EMR will lock the cluster to prevent the Amazon EC2 * instances from being terminated by an API call or user intervention, or in the * event of a cluster error.
*/ inline bool GetTerminationProtected() const{ return m_terminationProtected; } /** *Indicates whether Amazon EMR will lock the cluster to prevent the Amazon EC2 * instances from being terminated by an API call or user intervention, or in the * event of a cluster error.
*/ inline bool TerminationProtectedHasBeenSet() const { return m_terminationProtectedHasBeenSet; } /** *Indicates whether Amazon EMR will lock the cluster to prevent the Amazon EC2 * instances from being terminated by an API call or user intervention, or in the * event of a cluster error.
*/ inline void SetTerminationProtected(bool value) { m_terminationProtectedHasBeenSet = true; m_terminationProtected = value; } /** *Indicates whether Amazon EMR will lock the cluster to prevent the Amazon EC2 * instances from being terminated by an API call or user intervention, or in the * event of a cluster error.
*/ inline Cluster& WithTerminationProtected(bool value) { SetTerminationProtected(value); return *this;} /** *Indicates whether the cluster is visible to IAM principals in the Amazon Web
* Services account associated with the cluster. When true
, IAM
* principals in the Amazon Web Services account can perform Amazon EMR cluster
* actions on the cluster that their IAM policies allow. When false
,
* only the IAM principal that created the cluster and the Amazon Web Services
* account root user can perform Amazon EMR actions, regardless of IAM permissions
* policies attached to other IAM principals.
The default value is
* true
if a value is not provided when creating a cluster using the
* Amazon EMR API RunJobFlow command, the CLI create-cluster
* command, or the Amazon Web Services Management Console.
Indicates whether the cluster is visible to IAM principals in the Amazon Web
* Services account associated with the cluster. When true
, IAM
* principals in the Amazon Web Services account can perform Amazon EMR cluster
* actions on the cluster that their IAM policies allow. When false
,
* only the IAM principal that created the cluster and the Amazon Web Services
* account root user can perform Amazon EMR actions, regardless of IAM permissions
* policies attached to other IAM principals.
The default value is
* true
if a value is not provided when creating a cluster using the
* Amazon EMR API RunJobFlow command, the CLI create-cluster
* command, or the Amazon Web Services Management Console.
Indicates whether the cluster is visible to IAM principals in the Amazon Web
* Services account associated with the cluster. When true
, IAM
* principals in the Amazon Web Services account can perform Amazon EMR cluster
* actions on the cluster that their IAM policies allow. When false
,
* only the IAM principal that created the cluster and the Amazon Web Services
* account root user can perform Amazon EMR actions, regardless of IAM permissions
* policies attached to other IAM principals.
The default value is
* true
if a value is not provided when creating a cluster using the
* Amazon EMR API RunJobFlow command, the CLI create-cluster
* command, or the Amazon Web Services Management Console.
Indicates whether the cluster is visible to IAM principals in the Amazon Web
* Services account associated with the cluster. When true
, IAM
* principals in the Amazon Web Services account can perform Amazon EMR cluster
* actions on the cluster that their IAM policies allow. When false
,
* only the IAM principal that created the cluster and the Amazon Web Services
* account root user can perform Amazon EMR actions, regardless of IAM permissions
* policies attached to other IAM principals.
The default value is
* true
if a value is not provided when creating a cluster using the
* Amazon EMR API RunJobFlow command, the CLI create-cluster
* command, or the Amazon Web Services Management Console.
The applications installed on this cluster.
*/ inline const Aws::VectorThe applications installed on this cluster.
*/ inline bool ApplicationsHasBeenSet() const { return m_applicationsHasBeenSet; } /** *The applications installed on this cluster.
*/ inline void SetApplications(const Aws::VectorThe applications installed on this cluster.
*/ inline void SetApplications(Aws::VectorThe applications installed on this cluster.
*/ inline Cluster& WithApplications(const Aws::VectorThe applications installed on this cluster.
*/ inline Cluster& WithApplications(Aws::VectorThe applications installed on this cluster.
*/ inline Cluster& AddApplications(const Application& value) { m_applicationsHasBeenSet = true; m_applications.push_back(value); return *this; } /** *The applications installed on this cluster.
*/ inline Cluster& AddApplications(Application&& value) { m_applicationsHasBeenSet = true; m_applications.push_back(std::move(value)); return *this; } /** *A list of tags associated with a cluster.
*/ inline const Aws::VectorA list of tags associated with a cluster.
*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *A list of tags associated with a cluster.
*/ inline void SetTags(const Aws::VectorA list of tags associated with a cluster.
*/ inline void SetTags(Aws::VectorA list of tags associated with a cluster.
*/ inline Cluster& WithTags(const Aws::VectorA list of tags associated with a cluster.
*/ inline Cluster& WithTags(Aws::VectorA list of tags associated with a cluster.
*/ inline Cluster& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *A list of tags associated with a cluster.
*/ inline Cluster& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *The IAM role that Amazon EMR assumes in order to access Amazon Web Services * resources on your behalf.
*/ 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.
*/ 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.
*/ 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.
*/ 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.
*/ 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.
*/ inline Cluster& 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.
*/ inline Cluster& 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.
*/ inline Cluster& WithServiceRole(const char* value) { SetServiceRole(value); return *this;} /** *An approximation of the cost of the cluster, represented in m1.small/hours. * This value is incremented one time for every hour an m1.small instance runs. * Larger instances are weighted more, so an Amazon EC2 instance that is roughly * four times more expensive would result in the normalized instance hours being * incremented by four. This result is only an approximation and does not reflect * the actual billing rate.
*/ inline int GetNormalizedInstanceHours() const{ return m_normalizedInstanceHours; } /** *An approximation of the cost of the cluster, represented in m1.small/hours. * This value is incremented one time for every hour an m1.small instance runs. * Larger instances are weighted more, so an Amazon EC2 instance that is roughly * four times more expensive would result in the normalized instance hours being * incremented by four. This result is only an approximation and does not reflect * the actual billing rate.
*/ inline bool NormalizedInstanceHoursHasBeenSet() const { return m_normalizedInstanceHoursHasBeenSet; } /** *An approximation of the cost of the cluster, represented in m1.small/hours. * This value is incremented one time for every hour an m1.small instance runs. * Larger instances are weighted more, so an Amazon EC2 instance that is roughly * four times more expensive would result in the normalized instance hours being * incremented by four. This result is only an approximation and does not reflect * the actual billing rate.
*/ inline void SetNormalizedInstanceHours(int value) { m_normalizedInstanceHoursHasBeenSet = true; m_normalizedInstanceHours = value; } /** *An approximation of the cost of the cluster, represented in m1.small/hours. * This value is incremented one time for every hour an m1.small instance runs. * Larger instances are weighted more, so an Amazon EC2 instance that is roughly * four times more expensive would result in the normalized instance hours being * incremented by four. This result is only an approximation and does not reflect * the actual billing rate.
*/ inline Cluster& WithNormalizedInstanceHours(int value) { SetNormalizedInstanceHours(value); return *this;} /** *The DNS name of the master node. If the cluster is on a private subnet, this * is the private DNS name. On a public subnet, this is the public DNS name.
*/ inline const Aws::String& GetMasterPublicDnsName() const{ return m_masterPublicDnsName; } /** *The DNS name of the master node. If the cluster is on a private subnet, this * is the private DNS name. On a public subnet, this is the public DNS name.
*/ inline bool MasterPublicDnsNameHasBeenSet() const { return m_masterPublicDnsNameHasBeenSet; } /** *The DNS name of the master node. If the cluster is on a private subnet, this * is the private DNS name. On a public subnet, this is the public DNS name.
*/ inline void SetMasterPublicDnsName(const Aws::String& value) { m_masterPublicDnsNameHasBeenSet = true; m_masterPublicDnsName = value; } /** *The DNS name of the master node. If the cluster is on a private subnet, this * is the private DNS name. On a public subnet, this is the public DNS name.
*/ inline void SetMasterPublicDnsName(Aws::String&& value) { m_masterPublicDnsNameHasBeenSet = true; m_masterPublicDnsName = std::move(value); } /** *The DNS name of the master node. If the cluster is on a private subnet, this * is the private DNS name. On a public subnet, this is the public DNS name.
*/ inline void SetMasterPublicDnsName(const char* value) { m_masterPublicDnsNameHasBeenSet = true; m_masterPublicDnsName.assign(value); } /** *The DNS name of the master node. If the cluster is on a private subnet, this * is the private DNS name. On a public subnet, this is the public DNS name.
*/ inline Cluster& WithMasterPublicDnsName(const Aws::String& value) { SetMasterPublicDnsName(value); return *this;} /** *The DNS name of the master node. If the cluster is on a private subnet, this * is the private DNS name. On a public subnet, this is the public DNS name.
*/ inline Cluster& WithMasterPublicDnsName(Aws::String&& value) { SetMasterPublicDnsName(std::move(value)); return *this;} /** *The DNS name of the master node. If the cluster is on a private subnet, this * is the private DNS name. On a public subnet, this is the public DNS name.
*/ inline Cluster& WithMasterPublicDnsName(const char* value) { SetMasterPublicDnsName(value); return *this;} /** *Applies only to Amazon EMR releases 4.x and later. The list of configurations * that are supplied to the Amazon EMR cluster.
*/ inline const Aws::VectorApplies only to Amazon EMR releases 4.x and later. The list of configurations * that are supplied to the Amazon EMR cluster.
*/ inline bool ConfigurationsHasBeenSet() const { return m_configurationsHasBeenSet; } /** *Applies only to Amazon EMR releases 4.x and later. The list of configurations * that are supplied to the Amazon EMR cluster.
*/ inline void SetConfigurations(const Aws::VectorApplies only to Amazon EMR releases 4.x and later. The list of configurations * that are supplied to the Amazon EMR cluster.
*/ inline void SetConfigurations(Aws::VectorApplies only to Amazon EMR releases 4.x and later. The list of configurations * that are supplied to the Amazon EMR cluster.
*/ inline Cluster& WithConfigurations(const Aws::VectorApplies only to Amazon EMR releases 4.x and later. The list of configurations * that are supplied to the Amazon EMR cluster.
*/ inline Cluster& WithConfigurations(Aws::VectorApplies only to Amazon EMR releases 4.x and later. The list of configurations * that are supplied to the Amazon EMR cluster.
*/ inline Cluster& AddConfigurations(const Configuration& value) { m_configurationsHasBeenSet = true; m_configurations.push_back(value); return *this; } /** *Applies only to Amazon EMR releases 4.x and later. The list of configurations * that are supplied to the Amazon EMR cluster.
*/ inline Cluster& AddConfigurations(Configuration&& value) { m_configurationsHasBeenSet = true; m_configurations.push_back(std::move(value)); return *this; } /** *The name of the security configuration applied to the cluster.
*/ inline const Aws::String& GetSecurityConfiguration() const{ return m_securityConfiguration; } /** *The name of the security configuration applied to the cluster.
*/ inline bool SecurityConfigurationHasBeenSet() const { return m_securityConfigurationHasBeenSet; } /** *The name of the security configuration applied to the cluster.
*/ inline void SetSecurityConfiguration(const Aws::String& value) { m_securityConfigurationHasBeenSet = true; m_securityConfiguration = value; } /** *The name of the security configuration applied to the cluster.
*/ inline void SetSecurityConfiguration(Aws::String&& value) { m_securityConfigurationHasBeenSet = true; m_securityConfiguration = std::move(value); } /** *The name of the security configuration applied to the cluster.
*/ inline void SetSecurityConfiguration(const char* value) { m_securityConfigurationHasBeenSet = true; m_securityConfiguration.assign(value); } /** *The name of the security configuration applied to the cluster.
*/ inline Cluster& WithSecurityConfiguration(const Aws::String& value) { SetSecurityConfiguration(value); return *this;} /** *The name of the security configuration applied to the cluster.
*/ inline Cluster& WithSecurityConfiguration(Aws::String&& value) { SetSecurityConfiguration(std::move(value)); return *this;} /** *The name of the security configuration applied to the cluster.
*/ inline Cluster& 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.
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
* is available only in Amazon EMR releases 4.1.0 and later, and is the default for
* versions of Amazon EMR earlier than 5.1.0.
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
* is available only in Amazon EMR releases 4.1.0 and later, and is the default for
* versions of Amazon EMR earlier than 5.1.0.
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
* is available only in Amazon EMR releases 4.1.0 and later, and is the default for
* versions of Amazon EMR earlier than 5.1.0.
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
* is available only in Amazon EMR releases 4.1.0 and later, and is the default for
* versions of Amazon EMR earlier than 5.1.0.
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
* is available only in Amazon EMR releases 4.1.0 and later, and is the default for
* versions of Amazon EMR earlier than 5.1.0.
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
* is available only in Amazon EMR releases 4.1.0 and later, and is the default for
* versions 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 the cluster uses a custom 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 the cluster uses a custom 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 the cluster uses a custom 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 the cluster uses a custom 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 the cluster uses a custom 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 the cluster uses a custom AMI.
*/ inline Cluster& 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 the cluster uses a custom AMI.
*/ inline Cluster& 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 the cluster uses a custom AMI.
*/ inline Cluster& 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 Cluster& WithEbsRootVolumeSize(int value) { SetEbsRootVolumeSize(value); return *this;} /** *Applies only when CustomAmiID
is used. Specifies the type of
* updates that the Amazon Linux AMI package repositories apply when an instance
* boots using the AMI.
Applies only when CustomAmiID
is used. Specifies the type of
* updates that the Amazon Linux AMI package repositories apply when an instance
* boots using the AMI.
Applies only when CustomAmiID
is used. Specifies the type of
* updates that the Amazon Linux AMI package repositories apply when an instance
* boots using the AMI.
Applies only when CustomAmiID
is used. Specifies the type of
* updates that the Amazon Linux AMI package repositories apply when an instance
* boots using the AMI.
Applies only when CustomAmiID
is used. Specifies the type of
* updates that the Amazon Linux AMI package repositories apply when an instance
* boots using the AMI.
Applies only when CustomAmiID
is used. Specifies the type of
* updates that the Amazon Linux AMI package repositories apply when an instance
* boots using the AMI.
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 Cluster& 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 Cluster& WithKerberosAttributes(KerberosAttributes&& value) { SetKerberosAttributes(std::move(value)); return *this;} /** *The Amazon Resource Name of the cluster.
*/ inline const Aws::String& GetClusterArn() const{ return m_clusterArn; } /** *The Amazon Resource Name of the cluster.
*/ inline bool ClusterArnHasBeenSet() const { return m_clusterArnHasBeenSet; } /** *The Amazon Resource Name of the cluster.
*/ inline void SetClusterArn(const Aws::String& value) { m_clusterArnHasBeenSet = true; m_clusterArn = value; } /** *The Amazon Resource Name of the cluster.
*/ inline void SetClusterArn(Aws::String&& value) { m_clusterArnHasBeenSet = true; m_clusterArn = std::move(value); } /** *The Amazon Resource Name of the cluster.
*/ inline void SetClusterArn(const char* value) { m_clusterArnHasBeenSet = true; m_clusterArn.assign(value); } /** *The Amazon Resource Name of the cluster.
*/ inline Cluster& WithClusterArn(const Aws::String& value) { SetClusterArn(value); return *this;} /** *The Amazon Resource Name of the cluster.
*/ inline Cluster& WithClusterArn(Aws::String&& value) { SetClusterArn(std::move(value)); return *this;} /** *The Amazon Resource Name of the cluster.
*/ inline Cluster& WithClusterArn(const char* value) { SetClusterArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. *
*/ inline const Aws::String& GetOutpostArn() const{ return m_outpostArn; } /** *The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. *
*/ inline bool OutpostArnHasBeenSet() const { return m_outpostArnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. *
*/ inline void SetOutpostArn(const Aws::String& value) { m_outpostArnHasBeenSet = true; m_outpostArn = value; } /** *The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. *
*/ inline void SetOutpostArn(Aws::String&& value) { m_outpostArnHasBeenSet = true; m_outpostArn = std::move(value); } /** *The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. *
*/ inline void SetOutpostArn(const char* value) { m_outpostArnHasBeenSet = true; m_outpostArn.assign(value); } /** *The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. *
*/ inline Cluster& WithOutpostArn(const Aws::String& value) { SetOutpostArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. *
*/ inline Cluster& WithOutpostArn(Aws::String&& value) { SetOutpostArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. *
*/ inline Cluster& WithOutpostArn(const char* value) { SetOutpostArn(value); return *this;} /** *Specifies the number of steps that can be executed concurrently.
*/ inline int GetStepConcurrencyLevel() const{ return m_stepConcurrencyLevel; } /** *Specifies the number of steps that can be executed concurrently.
*/ inline bool StepConcurrencyLevelHasBeenSet() const { return m_stepConcurrencyLevelHasBeenSet; } /** *Specifies the number of steps that can be executed concurrently.
*/ inline void SetStepConcurrencyLevel(int value) { m_stepConcurrencyLevelHasBeenSet = true; m_stepConcurrencyLevel = value; } /** *Specifies the number of steps that can be executed concurrently.
*/ inline Cluster& WithStepConcurrencyLevel(int value) { SetStepConcurrencyLevel(value); return *this;} /** *Placement group configured for an Amazon EMR cluster.
*/ inline const Aws::VectorPlacement group configured for an Amazon EMR cluster.
*/ inline bool PlacementGroupsHasBeenSet() const { return m_placementGroupsHasBeenSet; } /** *Placement group configured for an Amazon EMR cluster.
*/ inline void SetPlacementGroups(const Aws::VectorPlacement group configured for an Amazon EMR cluster.
*/ inline void SetPlacementGroups(Aws::VectorPlacement group configured for an Amazon EMR cluster.
*/ inline Cluster& WithPlacementGroups(const Aws::VectorPlacement group configured for an Amazon EMR cluster.
*/ inline Cluster& WithPlacementGroups(Aws::VectorPlacement group configured for an Amazon EMR cluster.
*/ inline Cluster& AddPlacementGroups(const PlacementGroupConfig& value) { m_placementGroupsHasBeenSet = true; m_placementGroups.push_back(value); return *this; } /** *Placement group configured for an Amazon EMR cluster.
*/ inline Cluster& AddPlacementGroups(PlacementGroupConfig&& value) { m_placementGroupsHasBeenSet = true; m_placementGroups.push_back(std::move(value)); return *this; } /** *The Amazon Linux release specified in a cluster launch RunJobFlow request. If * no Amazon Linux release was specified, the default Amazon Linux release is shown * in the response.
*/ inline const Aws::String& GetOSReleaseLabel() const{ return m_oSReleaseLabel; } /** *The Amazon Linux release specified in a cluster launch RunJobFlow request. If * no Amazon Linux release was specified, the default Amazon Linux release is shown * in the response.
*/ inline bool OSReleaseLabelHasBeenSet() const { return m_oSReleaseLabelHasBeenSet; } /** *The Amazon Linux release specified in a cluster launch RunJobFlow request. If * no Amazon Linux release was specified, the default Amazon Linux release is shown * in the response.
*/ inline void SetOSReleaseLabel(const Aws::String& value) { m_oSReleaseLabelHasBeenSet = true; m_oSReleaseLabel = value; } /** *The Amazon Linux release specified in a cluster launch RunJobFlow request. If * no Amazon Linux release was specified, the default Amazon Linux release is shown * in the response.
*/ inline void SetOSReleaseLabel(Aws::String&& value) { m_oSReleaseLabelHasBeenSet = true; m_oSReleaseLabel = std::move(value); } /** *The Amazon Linux release specified in a cluster launch RunJobFlow request. If * no Amazon Linux release was specified, the default Amazon Linux release is shown * in the response.
*/ inline void SetOSReleaseLabel(const char* value) { m_oSReleaseLabelHasBeenSet = true; m_oSReleaseLabel.assign(value); } /** *The Amazon Linux release specified in a cluster launch RunJobFlow request. If * no Amazon Linux release was specified, the default Amazon Linux release is shown * in the response.
*/ inline Cluster& WithOSReleaseLabel(const Aws::String& value) { SetOSReleaseLabel(value); return *this;} /** *The Amazon Linux release specified in a cluster launch RunJobFlow request. If * no Amazon Linux release was specified, the default Amazon Linux release is shown * in the response.
*/ inline Cluster& WithOSReleaseLabel(Aws::String&& value) { SetOSReleaseLabel(std::move(value)); return *this;} /** *The Amazon Linux release specified in a cluster launch RunJobFlow request. If * no Amazon Linux release was specified, the default Amazon Linux release is shown * in the response.
*/ inline Cluster& WithOSReleaseLabel(const char* value) { SetOSReleaseLabel(value); return *this;} private: Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; ClusterStatus m_status; bool m_statusHasBeenSet = false; Ec2InstanceAttributes m_ec2InstanceAttributes; bool m_ec2InstanceAttributesHasBeenSet = false; InstanceCollectionType m_instanceCollectionType; bool m_instanceCollectionTypeHasBeenSet = false; Aws::String m_logUri; bool m_logUriHasBeenSet = false; Aws::String m_logEncryptionKmsKeyId; bool m_logEncryptionKmsKeyIdHasBeenSet = false; Aws::String m_requestedAmiVersion; bool m_requestedAmiVersionHasBeenSet = false; Aws::String m_runningAmiVersion; bool m_runningAmiVersionHasBeenSet = false; Aws::String m_releaseLabel; bool m_releaseLabelHasBeenSet = false; bool m_autoTerminate; bool m_autoTerminateHasBeenSet = false; bool m_terminationProtected; bool m_terminationProtectedHasBeenSet = false; bool m_visibleToAllUsers; bool m_visibleToAllUsersHasBeenSet = false; Aws::Vector