Class Cluster
- All Implemented Interfaces:
Serializable
,SdkPojo
,ToCopyableBuilder<Cluster.Builder,
Cluster>
The detailed description of the cluster.
- See Also:
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionfinal List
<Application> The applications installed on this cluster.final String
An IAM role for automatic scaling policies.final Boolean
Specifies whether the cluster should terminate after completing all steps.static Cluster.Builder
builder()
final String
The Amazon Resource Name of the cluster.final List
<Configuration> Applies only to Amazon EMR releases 4.x and later.final String
Available only in Amazon EMR releases 5.7.0 and later.final Integer
The IOPS, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance.final Integer
The size, in GiB, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance.final Integer
The throughput, in MiB/s, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance.final Ec2InstanceAttributes
Provides information about the Amazon EC2 instances in a cluster grouped by category.final boolean
final boolean
equalsBySdkFields
(Object obj) Indicates whether some other object is "equal to" this one by SDK fields.final <T> Optional
<T> getValueForField
(String fieldName, Class<T> clazz) final boolean
For responses, this returns true if the service returned a value for the Applications property.final boolean
For responses, this returns true if the service returned a value for the Configurations property.final int
hashCode()
final boolean
For responses, this returns true if the service returned a value for the PlacementGroups property.final boolean
hasTags()
For responses, this returns true if the service returned a value for the Tags property.final String
id()
The unique identifier for the cluster.final InstanceCollectionType
final String
final KerberosAttributes
Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration.final String
The KMS key used for encrypting log files.final String
logUri()
The path to the Amazon S3 location where logs for this cluster are stored.final String
The DNS name of the master node.final String
name()
The name of the cluster.final Integer
An approximation of the cost of the cluster, represented in m1.small/hours.final String
The Amazon Linux release specified in a cluster launch RunJobFlow request.final String
The Amazon Resource Name (ARN) of the Outpost where the cluster is launched.final List
<PlacementGroupConfig> Placement group configured for an Amazon EMR cluster.final String
The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster.final RepoUpgradeOnBoot
Applies only whenCustomAmiID
is used.final String
Applies only whenCustomAmiID
is used.final String
The AMI version requested for this cluster.final String
The AMI version running on this cluster.final ScaleDownBehavior
The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized.final String
The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized.final String
The name of the security configuration applied to the cluster.static Class
<? extends Cluster.Builder> final String
The IAM role that Amazon EMR assumes in order to access Amazon Web Services resources on your behalf.final ClusterStatus
status()
The current status details about the cluster.final Integer
Specifies the number of steps that can be executed concurrently.tags()
A list of tags associated with a cluster.final Boolean
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.Take this object and create a builder that contains all of the current property values of this object.final String
toString()
Returns a string representation of this object.final Boolean
Indicates whether Amazon EMR should gracefully replace Amazon EC2 core instances that have degraded within the cluster.final Boolean
Indicates whether the cluster is visible to IAM principals in the Amazon Web Services account associated with the cluster.Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
Method Details
-
id
The unique identifier for the cluster.
- Returns:
- The unique identifier for the cluster.
-
name
The name of the cluster. This parameter can't contain the characters <, >, $, |, or ` (backtick).
- Returns:
- The name of the cluster. This parameter can't contain the characters <, >, $, |, or ` (backtick).
-
status
The current status details about the cluster.
- Returns:
- The current status details about the cluster.
-
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.
- Returns:
- 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.
-
instanceCollectionType
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 ofINSTANCE_FLEET
indicates an instance fleets configuration.If the service returns an enum value that is not available in the current SDK version,
instanceCollectionType
will returnInstanceCollectionType.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available frominstanceCollectionTypeAsString()
.- Returns:
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 ofINSTANCE_FLEET
indicates an instance fleets configuration.- See Also:
-
instanceCollectionTypeAsString
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 ofINSTANCE_FLEET
indicates an instance fleets configuration.If the service returns an enum value that is not available in the current SDK version,
instanceCollectionType
will returnInstanceCollectionType.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available frominstanceCollectionTypeAsString()
.- Returns:
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 ofINSTANCE_FLEET
indicates an instance fleets configuration.- See Also:
-
logUri
The path to the Amazon S3 location where logs for this cluster are stored.
- Returns:
- The path to the Amazon S3 location where logs for this cluster are stored.
-
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.
- Returns:
- 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.
-
requestedAmiVersion
The AMI version requested for this cluster.
- Returns:
- The AMI version requested for this cluster.
-
runningAmiVersion
The AMI version running on this cluster.
- Returns:
- The AMI version running on this cluster.
-
releaseLabel
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 asemr-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 useAmiVersion
.- Returns:
- 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 asemr-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 useAmiVersion
.
-
autoTerminate
Specifies whether the cluster should terminate after completing all steps.
- Returns:
- Specifies whether the cluster should terminate after completing all steps.
-
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.
- Returns:
- 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.
-
unhealthyNodeReplacement
Indicates whether Amazon EMR should gracefully replace Amazon EC2 core instances that have degraded within the cluster.
- Returns:
- Indicates whether Amazon EMR should gracefully replace Amazon EC2 core instances that have degraded within the cluster.
-
visibleToAllUsers
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. Whenfalse
, 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.- Returns:
- 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. Whenfalse
, 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.
-
hasApplications
public final boolean hasApplications()For responses, this returns true if the service returned a value for the Applications property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
applications
The applications installed on this cluster.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasApplications()
method.- Returns:
- The applications installed on this cluster.
-
hasTags
public final boolean hasTags()For responses, this returns true if the service returned a value for the Tags property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
tags
A list of tags associated with a cluster.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasTags()
method.- Returns:
- A list of tags associated with a cluster.
-
serviceRole
The IAM role that Amazon EMR assumes in order to access Amazon Web Services resources on your behalf.
- Returns:
- The IAM role that Amazon EMR assumes in order to access Amazon Web Services resources on your behalf.
-
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.
- Returns:
- 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.
-
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.
- Returns:
- 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.
-
hasConfigurations
public final boolean hasConfigurations()For responses, this returns true if the service returned a value for the Configurations property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
configurations
Applies only to Amazon EMR releases 4.x and later. The list of configurations that are supplied to the Amazon EMR cluster.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasConfigurations()
method.- Returns:
- Applies only to Amazon EMR releases 4.x and later. The list of configurations that are supplied to the Amazon EMR cluster.
-
securityConfiguration
The name of the security configuration applied to the cluster.
- Returns:
- The name of the security configuration applied to the cluster.
-
autoScalingRole
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.- Returns:
- 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.
-
scaleDownBehavior
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.If the service returns an enum value that is not available in the current SDK version,
scaleDownBehavior
will returnScaleDownBehavior.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromscaleDownBehaviorAsString()
.- Returns:
- 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. - See Also:
-
scaleDownBehaviorAsString
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.If the service returns an enum value that is not available in the current SDK version,
scaleDownBehavior
will returnScaleDownBehavior.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromscaleDownBehaviorAsString()
.- Returns:
- 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. - See Also:
-
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.
- Returns:
- 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.
-
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.
- Returns:
- 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.
-
repoUpgradeOnBoot
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.If the service returns an enum value that is not available in the current SDK version,
repoUpgradeOnBoot
will returnRepoUpgradeOnBoot.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromrepoUpgradeOnBootAsString()
.- Returns:
- 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. - See Also:
-
repoUpgradeOnBootAsString
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.If the service returns an enum value that is not available in the current SDK version,
repoUpgradeOnBoot
will returnRepoUpgradeOnBoot.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromrepoUpgradeOnBootAsString()
.- Returns:
- 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. - See Also:
-
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.
- Returns:
- 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.
-
clusterArn
The Amazon Resource Name of the cluster.
- Returns:
- The Amazon Resource Name of the cluster.
-
outpostArn
The Amazon Resource Name (ARN) of the Outpost where the cluster is launched.
- Returns:
- The Amazon Resource Name (ARN) of the Outpost where the cluster is launched.
-
stepConcurrencyLevel
Specifies the number of steps that can be executed concurrently.
- Returns:
- Specifies the number of steps that can be executed concurrently.
-
hasPlacementGroups
public final boolean hasPlacementGroups()For responses, this returns true if the service returned a value for the PlacementGroups property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
placementGroups
Placement group configured for an Amazon EMR cluster.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasPlacementGroups()
method.- Returns:
- Placement group configured for an Amazon EMR cluster.
-
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.
- Returns:
- 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.
-
ebsRootVolumeIops
The IOPS, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance. Available in Amazon EMR releases 6.15.0 and later.
- Returns:
- The IOPS, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance. Available in Amazon EMR releases 6.15.0 and later.
-
ebsRootVolumeThroughput
The throughput, in MiB/s, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance. Available in Amazon EMR releases 6.15.0 and later.
- Returns:
- The throughput, in MiB/s, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance. Available in Amazon EMR releases 6.15.0 and later.
-
toBuilder
Description copied from interface:ToCopyableBuilder
Take this object and create a builder that contains all of the current property values of this object.- Specified by:
toBuilder
in interfaceToCopyableBuilder<Cluster.Builder,
Cluster> - Returns:
- a builder for type T
-
builder
-
serializableBuilderClass
-
hashCode
-
equals
-
equalsBySdkFields
Description copied from interface:SdkPojo
Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in anSdkPojo
class, and is generated based on a service model.If an
SdkPojo
class does not have any inherited fields,equalsBySdkFields
andequals
are essentially the same.- Specified by:
equalsBySdkFields
in interfaceSdkPojo
- Parameters:
obj
- the object to be compared with- Returns:
- true if the other object equals to this object by sdk fields, false otherwise.
-
toString
-
getValueForField
-
sdkFields
-
sdkFieldNameToField
- Specified by:
sdkFieldNameToField
in interfaceSdkPojo
- Returns:
- The mapping between the field name and its corresponding field.
-