#[non_exhaustive]pub struct Cluster {Show 34 fields
pub id: Option<String>,
pub name: Option<String>,
pub status: Option<ClusterStatus>,
pub ec2_instance_attributes: Option<Ec2InstanceAttributes>,
pub instance_collection_type: Option<InstanceCollectionType>,
pub log_uri: Option<String>,
pub log_encryption_kms_key_id: Option<String>,
pub requested_ami_version: Option<String>,
pub running_ami_version: Option<String>,
pub release_label: Option<String>,
pub auto_terminate: Option<bool>,
pub termination_protected: Option<bool>,
pub unhealthy_node_replacement: Option<bool>,
pub visible_to_all_users: Option<bool>,
pub applications: Option<Vec<Application>>,
pub tags: Option<Vec<Tag>>,
pub service_role: Option<String>,
pub normalized_instance_hours: Option<i32>,
pub master_public_dns_name: Option<String>,
pub configurations: Option<Vec<Configuration>>,
pub security_configuration: Option<String>,
pub auto_scaling_role: Option<String>,
pub scale_down_behavior: Option<ScaleDownBehavior>,
pub custom_ami_id: Option<String>,
pub ebs_root_volume_size: Option<i32>,
pub repo_upgrade_on_boot: Option<RepoUpgradeOnBoot>,
pub kerberos_attributes: Option<KerberosAttributes>,
pub cluster_arn: Option<String>,
pub outpost_arn: Option<String>,
pub step_concurrency_level: Option<i32>,
pub placement_groups: Option<Vec<PlacementGroupConfig>>,
pub os_release_label: Option<String>,
pub ebs_root_volume_iops: Option<i32>,
pub ebs_root_volume_throughput: Option<i32>,
}
Expand description
The detailed description of the cluster.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.id: Option<String>
The unique identifier for the cluster.
name: Option<String>
The name of the cluster. This parameter can't contain the characters <, >, $, |, or ` (backtick).
status: Option<ClusterStatus>
The current status details about the cluster.
ec2_instance_attributes: Option<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.
instance_collection_type: Option<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 of INSTANCE_FLEET
indicates an instance fleets configuration.
log_uri: Option<String>
The path to the Amazon S3 location where logs for this cluster are stored.
log_encryption_kms_key_id: Option<String>
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.
requested_ami_version: Option<String>
The AMI version requested for this cluster.
running_ami_version: Option<String>
The AMI version running on this cluster.
release_label: Option<String>
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
.
auto_terminate: Option<bool>
Specifies whether the cluster should terminate after completing all steps.
termination_protected: Option<bool>
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.
unhealthy_node_replacement: Option<bool>
Indicates whether Amazon EMR should gracefully replace Amazon EC2 core instances that have degraded within the cluster.
visible_to_all_users: Option<bool>
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.
applications: Option<Vec<Application>>
The applications installed on this cluster.
A list of tags associated with a cluster.
service_role: Option<String>
The IAM role that Amazon EMR assumes in order to access Amazon Web Services resources on your behalf.
normalized_instance_hours: Option<i32>
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.
master_public_dns_name: Option<String>
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.
configurations: Option<Vec<Configuration>>
Applies only to Amazon EMR releases 4.x and later. The list of configurations that are supplied to the Amazon EMR cluster.
security_configuration: Option<String>
The name of the security configuration applied to the cluster.
auto_scaling_role: Option<String>
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.
scale_down_behavior: Option<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.
custom_ami_id: Option<String>
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.
ebs_root_volume_size: Option<i32>
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.
repo_upgrade_on_boot: Option<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.
kerberos_attributes: Option<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.
cluster_arn: Option<String>
The Amazon Resource Name of the cluster.
outpost_arn: Option<String>
The Amazon Resource Name (ARN) of the Outpost where the cluster is launched.
step_concurrency_level: Option<i32>
Specifies the number of steps that can be executed concurrently.
placement_groups: Option<Vec<PlacementGroupConfig>>
Placement group configured for an Amazon EMR cluster.
os_release_label: Option<String>
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.
ebs_root_volume_iops: Option<i32>
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.
ebs_root_volume_throughput: Option<i32>
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.
Implementations§
Source§impl Cluster
impl Cluster
Sourcepub fn name(&self) -> Option<&str>
pub fn name(&self) -> Option<&str>
The name of the cluster. This parameter can't contain the characters <, >, $, |, or ` (backtick).
Sourcepub fn status(&self) -> Option<&ClusterStatus>
pub fn status(&self) -> Option<&ClusterStatus>
The current status details about the cluster.
Sourcepub fn ec2_instance_attributes(&self) -> Option<&Ec2InstanceAttributes>
pub fn ec2_instance_attributes(&self) -> Option<&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.
Sourcepub fn instance_collection_type(&self) -> Option<&InstanceCollectionType>
pub fn instance_collection_type(&self) -> Option<&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 of INSTANCE_FLEET
indicates an instance fleets configuration.
Sourcepub fn log_uri(&self) -> Option<&str>
pub fn log_uri(&self) -> Option<&str>
The path to the Amazon S3 location where logs for this cluster are stored.
Sourcepub fn log_encryption_kms_key_id(&self) -> Option<&str>
pub fn log_encryption_kms_key_id(&self) -> Option<&str>
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.
Sourcepub fn requested_ami_version(&self) -> Option<&str>
pub fn requested_ami_version(&self) -> Option<&str>
The AMI version requested for this cluster.
Sourcepub fn running_ami_version(&self) -> Option<&str>
pub fn running_ami_version(&self) -> Option<&str>
The AMI version running on this cluster.
Sourcepub fn release_label(&self) -> Option<&str>
pub fn release_label(&self) -> Option<&str>
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
.
Sourcepub fn auto_terminate(&self) -> Option<bool>
pub fn auto_terminate(&self) -> Option<bool>
Specifies whether the cluster should terminate after completing all steps.
Sourcepub fn termination_protected(&self) -> Option<bool>
pub fn termination_protected(&self) -> Option<bool>
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.
Sourcepub fn unhealthy_node_replacement(&self) -> Option<bool>
pub fn unhealthy_node_replacement(&self) -> Option<bool>
Indicates whether Amazon EMR should gracefully replace Amazon EC2 core instances that have degraded within the cluster.
Sourcepub fn visible_to_all_users(&self) -> Option<bool>
pub fn visible_to_all_users(&self) -> Option<bool>
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.
Sourcepub fn applications(&self) -> &[Application]
pub fn applications(&self) -> &[Application]
The applications installed on this cluster.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .applications.is_none()
.
A list of tags associated with a cluster.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .tags.is_none()
.
Sourcepub fn service_role(&self) -> Option<&str>
pub fn service_role(&self) -> Option<&str>
The IAM role that Amazon EMR assumes in order to access Amazon Web Services resources on your behalf.
Sourcepub fn normalized_instance_hours(&self) -> Option<i32>
pub fn normalized_instance_hours(&self) -> Option<i32>
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.
Sourcepub fn master_public_dns_name(&self) -> Option<&str>
pub fn master_public_dns_name(&self) -> Option<&str>
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.
Sourcepub fn configurations(&self) -> &[Configuration]
pub fn configurations(&self) -> &[Configuration]
Applies only to Amazon EMR releases 4.x and later. The list of configurations that are supplied to the Amazon EMR cluster.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .configurations.is_none()
.
Sourcepub fn security_configuration(&self) -> Option<&str>
pub fn security_configuration(&self) -> Option<&str>
The name of the security configuration applied to the cluster.
Sourcepub fn auto_scaling_role(&self) -> Option<&str>
pub fn auto_scaling_role(&self) -> Option<&str>
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.
Sourcepub fn scale_down_behavior(&self) -> Option<&ScaleDownBehavior>
pub fn scale_down_behavior(&self) -> Option<&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.
Sourcepub fn custom_ami_id(&self) -> Option<&str>
pub fn custom_ami_id(&self) -> Option<&str>
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.
Sourcepub fn ebs_root_volume_size(&self) -> Option<i32>
pub fn ebs_root_volume_size(&self) -> Option<i32>
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.
Sourcepub fn repo_upgrade_on_boot(&self) -> Option<&RepoUpgradeOnBoot>
pub fn repo_upgrade_on_boot(&self) -> Option<&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.
Sourcepub fn kerberos_attributes(&self) -> Option<&KerberosAttributes>
pub fn kerberos_attributes(&self) -> Option<&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.
Sourcepub fn cluster_arn(&self) -> Option<&str>
pub fn cluster_arn(&self) -> Option<&str>
The Amazon Resource Name of the cluster.
Sourcepub fn outpost_arn(&self) -> Option<&str>
pub fn outpost_arn(&self) -> Option<&str>
The Amazon Resource Name (ARN) of the Outpost where the cluster is launched.
Sourcepub fn step_concurrency_level(&self) -> Option<i32>
pub fn step_concurrency_level(&self) -> Option<i32>
Specifies the number of steps that can be executed concurrently.
Sourcepub fn placement_groups(&self) -> &[PlacementGroupConfig]
pub fn placement_groups(&self) -> &[PlacementGroupConfig]
Placement group configured for an Amazon EMR cluster.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .placement_groups.is_none()
.
Sourcepub fn os_release_label(&self) -> Option<&str>
pub fn os_release_label(&self) -> Option<&str>
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.
Sourcepub fn ebs_root_volume_iops(&self) -> Option<i32>
pub fn ebs_root_volume_iops(&self) -> Option<i32>
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.
Sourcepub fn ebs_root_volume_throughput(&self) -> Option<i32>
pub fn ebs_root_volume_throughput(&self) -> Option<i32>
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.
Trait Implementations§
impl StructuralPartialEq for Cluster
Auto Trait Implementations§
impl Freeze for Cluster
impl RefUnwindSafe for Cluster
impl Send for Cluster
impl Sync for Cluster
impl Unpin for Cluster
impl UnwindSafe for Cluster
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);