#[non_exhaustive]pub struct Builder { /* private fields */ }Expand description
A builder for Cluster
Implementations
sourceimpl Builder
impl Builder
sourcepub fn status(self, input: ClusterStatus) -> Self
pub fn status(self, input: ClusterStatus) -> Self
The current status details about the cluster.
sourcepub fn set_status(self, input: Option<ClusterStatus>) -> Self
pub fn set_status(self, input: Option<ClusterStatus>) -> Self
The current status details about the cluster.
sourcepub fn ec2_instance_attributes(self, input: Ec2InstanceAttributes) -> Self
pub fn ec2_instance_attributes(self, input: Ec2InstanceAttributes) -> Self
Provides information about the EC2 instances in a cluster grouped by category. For example, key name, subnet ID, IAM instance profile, and so on.
sourcepub fn set_ec2_instance_attributes(
self,
input: Option<Ec2InstanceAttributes>
) -> Self
pub fn set_ec2_instance_attributes(
self,
input: Option<Ec2InstanceAttributes>
) -> Self
Provides information about the 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, input: InstanceCollectionType) -> Self
pub fn instance_collection_type(self, input: InstanceCollectionType) -> Self
The instance fleet configuration is available only in Amazon EMR versions 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 set_instance_collection_type(
self,
input: Option<InstanceCollectionType>
) -> Self
pub fn set_instance_collection_type(
self,
input: Option<InstanceCollectionType>
) -> Self
The instance fleet configuration is available only in Amazon EMR versions 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, input: impl Into<String>) -> Self
pub fn log_uri(self, input: impl Into<String>) -> Self
The path to the Amazon S3 location where logs for this cluster are stored.
sourcepub fn set_log_uri(self, input: Option<String>) -> Self
pub fn set_log_uri(self, input: Option<String>) -> Self
The path to the Amazon S3 location where logs for this cluster are stored.
sourcepub fn log_encryption_kms_key_id(self, input: impl Into<String>) -> Self
pub fn log_encryption_kms_key_id(self, input: impl Into<String>) -> Self
The KMS key used for encrypting log files. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.
sourcepub fn set_log_encryption_kms_key_id(self, input: Option<String>) -> Self
pub fn set_log_encryption_kms_key_id(self, input: Option<String>) -> Self
The KMS key used for encrypting log files. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.
sourcepub fn requested_ami_version(self, input: impl Into<String>) -> Self
pub fn requested_ami_version(self, input: impl Into<String>) -> Self
The AMI version requested for this cluster.
sourcepub fn set_requested_ami_version(self, input: Option<String>) -> Self
pub fn set_requested_ami_version(self, input: Option<String>) -> Self
The AMI version requested for this cluster.
sourcepub fn running_ami_version(self, input: impl Into<String>) -> Self
pub fn running_ami_version(self, input: impl Into<String>) -> Self
The AMI version running on this cluster.
sourcepub fn set_running_ami_version(self, input: Option<String>) -> Self
pub fn set_running_ami_version(self, input: Option<String>) -> Self
The AMI version running on this cluster.
sourcepub fn release_label(self, input: impl Into<String>) -> Self
pub fn release_label(self, input: impl Into<String>) -> Self
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 set_release_label(self, input: Option<String>) -> Self
pub fn set_release_label(self, input: Option<String>) -> Self
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, input: bool) -> Self
pub fn auto_terminate(self, input: bool) -> Self
Specifies whether the cluster should terminate after completing all steps.
sourcepub fn set_auto_terminate(self, input: Option<bool>) -> Self
pub fn set_auto_terminate(self, input: Option<bool>) -> Self
Specifies whether the cluster should terminate after completing all steps.
sourcepub fn termination_protected(self, input: bool) -> Self
pub fn termination_protected(self, input: bool) -> Self
Indicates whether Amazon EMR will lock the cluster to prevent the EC2 instances from being terminated by an API call or user intervention, or in the event of a cluster error.
sourcepub fn set_termination_protected(self, input: Option<bool>) -> Self
pub fn set_termination_protected(self, input: Option<bool>) -> Self
Indicates whether Amazon EMR will lock the cluster to prevent the EC2 instances from being terminated by an API call or user intervention, or in the event of a cluster error.
sourcepub fn visible_to_all_users(self, input: bool) -> Self
pub fn visible_to_all_users(self, input: bool) -> Self
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 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 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 EMR API RunJobFlow command, the CLI create-cluster command, or the Amazon Web Services Management Console.
sourcepub fn set_visible_to_all_users(self, input: Option<bool>) -> Self
pub fn set_visible_to_all_users(self, input: Option<bool>) -> Self
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 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 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 EMR API RunJobFlow command, the CLI create-cluster command, or the Amazon Web Services Management Console.
sourcepub fn applications(self, input: Application) -> Self
pub fn applications(self, input: Application) -> Self
Appends an item to applications.
To override the contents of this collection use set_applications.
The applications installed on this cluster.
sourcepub fn set_applications(self, input: Option<Vec<Application>>) -> Self
pub fn set_applications(self, input: Option<Vec<Application>>) -> Self
The applications installed on this cluster.
Appends an item to tags.
To override the contents of this collection use set_tags.
A list of tags associated with a cluster.
A list of tags associated with a cluster.
sourcepub fn service_role(self, input: impl Into<String>) -> Self
pub fn service_role(self, input: impl Into<String>) -> Self
The IAM role that Amazon EMR assumes in order to access Amazon Web Services resources on your behalf.
sourcepub fn set_service_role(self, input: Option<String>) -> Self
pub fn set_service_role(self, input: Option<String>) -> Self
The IAM role that Amazon EMR assumes in order to access Amazon Web Services resources on your behalf.
sourcepub fn normalized_instance_hours(self, input: i32) -> Self
pub fn normalized_instance_hours(self, input: i32) -> Self
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 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 set_normalized_instance_hours(self, input: Option<i32>) -> Self
pub fn set_normalized_instance_hours(self, input: Option<i32>) -> Self
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 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, input: impl Into<String>) -> Self
pub fn master_public_dns_name(self, input: impl Into<String>) -> Self
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 set_master_public_dns_name(self, input: Option<String>) -> Self
pub fn set_master_public_dns_name(self, input: Option<String>) -> Self
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, input: Configuration) -> Self
pub fn configurations(self, input: Configuration) -> Self
Appends an item to configurations.
To override the contents of this collection use set_configurations.
Applies only to Amazon EMR releases 4.x and later. The list of Configurations supplied to the EMR cluster.
sourcepub fn set_configurations(self, input: Option<Vec<Configuration>>) -> Self
pub fn set_configurations(self, input: Option<Vec<Configuration>>) -> Self
Applies only to Amazon EMR releases 4.x and later. The list of Configurations supplied to the EMR cluster.
sourcepub fn security_configuration(self, input: impl Into<String>) -> Self
pub fn security_configuration(self, input: impl Into<String>) -> Self
The name of the security configuration applied to the cluster.
sourcepub fn set_security_configuration(self, input: Option<String>) -> Self
pub fn set_security_configuration(self, input: Option<String>) -> Self
The name of the security configuration applied to the cluster.
sourcepub fn auto_scaling_role(self, input: impl Into<String>) -> Self
pub fn auto_scaling_role(self, input: impl Into<String>) -> Self
An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group.
sourcepub fn set_auto_scaling_role(self, input: Option<String>) -> Self
pub fn set_auto_scaling_role(self, input: Option<String>) -> Self
An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group.
sourcepub fn scale_down_behavior(self, input: ScaleDownBehavior) -> Self
pub fn scale_down_behavior(self, input: ScaleDownBehavior) -> Self
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 version 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.
sourcepub fn set_scale_down_behavior(self, input: Option<ScaleDownBehavior>) -> Self
pub fn set_scale_down_behavior(self, input: Option<ScaleDownBehavior>) -> Self
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 version 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, input: impl Into<String>) -> Self
pub fn custom_ami_id(self, input: impl Into<String>) -> Self
Available only in Amazon EMR version 5.7.0 and later. The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI.
sourcepub fn set_custom_ami_id(self, input: Option<String>) -> Self
pub fn set_custom_ami_id(self, input: Option<String>) -> Self
Available only in Amazon EMR version 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, input: i32) -> Self
pub fn ebs_root_volume_size(self, input: i32) -> Self
The size, in GiB, of the Amazon EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.
sourcepub fn set_ebs_root_volume_size(self, input: Option<i32>) -> Self
pub fn set_ebs_root_volume_size(self, input: Option<i32>) -> Self
The size, in GiB, of the Amazon EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.
sourcepub fn repo_upgrade_on_boot(self, input: RepoUpgradeOnBoot) -> Self
pub fn repo_upgrade_on_boot(self, input: RepoUpgradeOnBoot) -> Self
Applies only when CustomAmiID is used. Specifies the type of updates that are applied from the Amazon Linux AMI package repositories when an instance boots using the AMI.
sourcepub fn set_repo_upgrade_on_boot(self, input: Option<RepoUpgradeOnBoot>) -> Self
pub fn set_repo_upgrade_on_boot(self, input: Option<RepoUpgradeOnBoot>) -> Self
Applies only when CustomAmiID is used. Specifies the type of updates that are applied from the Amazon Linux AMI package repositories when an instance boots using the AMI.
sourcepub fn kerberos_attributes(self, input: KerberosAttributes) -> Self
pub fn kerberos_attributes(self, input: KerberosAttributes) -> Self
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 set_kerberos_attributes(self, input: Option<KerberosAttributes>) -> Self
pub fn set_kerberos_attributes(self, input: Option<KerberosAttributes>) -> Self
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, input: impl Into<String>) -> Self
pub fn cluster_arn(self, input: impl Into<String>) -> Self
The Amazon Resource Name of the cluster.
sourcepub fn set_cluster_arn(self, input: Option<String>) -> Self
pub fn set_cluster_arn(self, input: Option<String>) -> Self
The Amazon Resource Name of the cluster.
sourcepub fn outpost_arn(self, input: impl Into<String>) -> Self
pub fn outpost_arn(self, input: impl Into<String>) -> Self
The Amazon Resource Name (ARN) of the Outpost where the cluster is launched.
sourcepub fn set_outpost_arn(self, input: Option<String>) -> Self
pub fn set_outpost_arn(self, input: Option<String>) -> Self
The Amazon Resource Name (ARN) of the Outpost where the cluster is launched.
sourcepub fn step_concurrency_level(self, input: i32) -> Self
pub fn step_concurrency_level(self, input: i32) -> Self
Specifies the number of steps that can be executed concurrently.
sourcepub fn set_step_concurrency_level(self, input: Option<i32>) -> Self
pub fn set_step_concurrency_level(self, input: Option<i32>) -> Self
Specifies the number of steps that can be executed concurrently.
sourcepub fn placement_groups(self, input: PlacementGroupConfig) -> Self
pub fn placement_groups(self, input: PlacementGroupConfig) -> Self
Appends an item to placement_groups.
To override the contents of this collection use set_placement_groups.
Placement group configured for an Amazon EMR cluster.
sourcepub fn set_placement_groups(
self,
input: Option<Vec<PlacementGroupConfig>>
) -> Self
pub fn set_placement_groups(
self,
input: Option<Vec<PlacementGroupConfig>>
) -> Self
Placement group configured for an Amazon EMR cluster.
Trait Implementations
impl StructuralPartialEq for Builder
Auto Trait Implementations
impl RefUnwindSafe for Builder
impl Send for Builder
impl Sync for Builder
impl Unpin for Builder
impl UnwindSafe for Builder
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more