#[non_exhaustive]
pub struct JobFlowInstancesConfig {
Show 17 fields pub master_instance_type: Option<String>, pub slave_instance_type: Option<String>, pub instance_count: Option<i32>, pub instance_groups: Option<Vec<InstanceGroupConfig>>, pub instance_fleets: Option<Vec<InstanceFleetConfig>>, pub ec2_key_name: Option<String>, pub placement: Option<PlacementType>, pub keep_job_flow_alive_when_no_steps: Option<bool>, pub termination_protected: Option<bool>, pub hadoop_version: Option<String>, pub ec2_subnet_id: Option<String>, pub ec2_subnet_ids: Option<Vec<String>>, pub emr_managed_master_security_group: Option<String>, pub emr_managed_slave_security_group: Option<String>, pub service_access_security_group: Option<String>, pub additional_master_security_groups: Option<Vec<String>>, pub additional_slave_security_groups: Option<Vec<String>>,
}
Expand description

A description of the Amazon EC2 instance on which the cluster (job flow) runs. A valid JobFlowInstancesConfig must contain either InstanceGroups or InstanceFleets. They cannot be used together. You may also have MasterInstanceType, SlaveInstanceType, and InstanceCount (all three must be present), but we don't recommend this configuration.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§master_instance_type: Option<String>

The Amazon EC2 instance type of the master node.

§slave_instance_type: Option<String>

The Amazon EC2 instance type of the core and task nodes.

§instance_count: Option<i32>

The number of Amazon EC2 instances in the cluster.

§instance_groups: Option<Vec<InstanceGroupConfig>>

Configuration for the instance groups in a cluster.

§instance_fleets: Option<Vec<InstanceFleetConfig>>

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions.

Describes the Amazon EC2 instances and instance configurations for clusters that use the instance fleet configuration.

§ec2_key_name: Option<String>

The name of the Amazon EC2 key pair that can be used to connect to the master node using SSH as the user called "hadoop."

§placement: Option<PlacementType>

The Availability Zone in which the cluster runs.

§keep_job_flow_alive_when_no_steps: Option<bool>

Specifies whether the cluster should remain available after completing all steps. Defaults to true. For more information about configuring cluster termination, see Control Cluster Termination in the EMR Management Guide.

§termination_protected: Option<bool>

Specifies whether to lock the cluster to prevent the Amazon EC2 instances from being terminated by API call, user intervention, or in the event of a job-flow error.

§hadoop_version: Option<String>

Applies only to Amazon EMR release versions earlier than 4.0. The Hadoop version for the cluster. Valid inputs are "0.18" (no longer maintained), "0.20" (no longer maintained), "0.20.205" (no longer maintained), "1.0.3", "2.2.0", or "2.4.0". If you do not set this value, the default of 0.18 is used, unless the AmiVersion parameter is set in the RunJobFlow call, in which case the default version of Hadoop for that AMI version is used.

§ec2_subnet_id: Option<String>

Applies to clusters that use the uniform instance group configuration. To launch the cluster in Amazon Virtual Private Cloud (Amazon VPC), set this parameter to the identifier of the Amazon VPC subnet where you want the cluster to launch. If you do not specify this value and your account supports EC2-Classic, the cluster launches in EC2-Classic.

§ec2_subnet_ids: Option<Vec<String>>

Applies to clusters that use the instance fleet configuration. When multiple Amazon EC2 subnet IDs are specified, Amazon EMR evaluates them and launches instances in the optimal subnet.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions.

§emr_managed_master_security_group: Option<String>

The identifier of the Amazon EC2 security group for the master node. If you specify EmrManagedMasterSecurityGroup, you must also specify EmrManagedSlaveSecurityGroup.

§emr_managed_slave_security_group: Option<String>

The identifier of the Amazon EC2 security group for the core and task nodes. If you specify EmrManagedSlaveSecurityGroup, you must also specify EmrManagedMasterSecurityGroup.

§service_access_security_group: Option<String>

The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.

§additional_master_security_groups: Option<Vec<String>>

A list of additional Amazon EC2 security group IDs for the master node.

§additional_slave_security_groups: Option<Vec<String>>

A list of additional Amazon EC2 security group IDs for the core and task nodes.

Implementations§

source§

impl JobFlowInstancesConfig

source

pub fn master_instance_type(&self) -> Option<&str>

The Amazon EC2 instance type of the master node.

source

pub fn slave_instance_type(&self) -> Option<&str>

The Amazon EC2 instance type of the core and task nodes.

source

pub fn instance_count(&self) -> Option<i32>

The number of Amazon EC2 instances in the cluster.

source

pub fn instance_groups(&self) -> &[InstanceGroupConfig]

Configuration for the instance groups in 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 .instance_groups.is_none().

source

pub fn instance_fleets(&self) -> &[InstanceFleetConfig]

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions.

Describes the Amazon EC2 instances and instance configurations for clusters that use the instance fleet configuration.

If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .instance_fleets.is_none().

source

pub fn ec2_key_name(&self) -> Option<&str>

The name of the Amazon EC2 key pair that can be used to connect to the master node using SSH as the user called "hadoop."

source

pub fn placement(&self) -> Option<&PlacementType>

The Availability Zone in which the cluster runs.

source

pub fn keep_job_flow_alive_when_no_steps(&self) -> Option<bool>

Specifies whether the cluster should remain available after completing all steps. Defaults to true. For more information about configuring cluster termination, see Control Cluster Termination in the EMR Management Guide.

source

pub fn termination_protected(&self) -> Option<bool>

Specifies whether to lock the cluster to prevent the Amazon EC2 instances from being terminated by API call, user intervention, or in the event of a job-flow error.

source

pub fn hadoop_version(&self) -> Option<&str>

Applies only to Amazon EMR release versions earlier than 4.0. The Hadoop version for the cluster. Valid inputs are "0.18" (no longer maintained), "0.20" (no longer maintained), "0.20.205" (no longer maintained), "1.0.3", "2.2.0", or "2.4.0". If you do not set this value, the default of 0.18 is used, unless the AmiVersion parameter is set in the RunJobFlow call, in which case the default version of Hadoop for that AMI version is used.

source

pub fn ec2_subnet_id(&self) -> Option<&str>

Applies to clusters that use the uniform instance group configuration. To launch the cluster in Amazon Virtual Private Cloud (Amazon VPC), set this parameter to the identifier of the Amazon VPC subnet where you want the cluster to launch. If you do not specify this value and your account supports EC2-Classic, the cluster launches in EC2-Classic.

source

pub fn ec2_subnet_ids(&self) -> &[String]

Applies to clusters that use the instance fleet configuration. When multiple Amazon EC2 subnet IDs are specified, Amazon EMR evaluates them and launches instances in the optimal subnet.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions.

If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .ec2_subnet_ids.is_none().

source

pub fn emr_managed_master_security_group(&self) -> Option<&str>

The identifier of the Amazon EC2 security group for the master node. If you specify EmrManagedMasterSecurityGroup, you must also specify EmrManagedSlaveSecurityGroup.

source

pub fn emr_managed_slave_security_group(&self) -> Option<&str>

The identifier of the Amazon EC2 security group for the core and task nodes. If you specify EmrManagedSlaveSecurityGroup, you must also specify EmrManagedMasterSecurityGroup.

source

pub fn service_access_security_group(&self) -> Option<&str>

The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.

source

pub fn additional_master_security_groups(&self) -> &[String]

A list of additional Amazon EC2 security group IDs for the master node.

If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .additional_master_security_groups.is_none().

source

pub fn additional_slave_security_groups(&self) -> &[String]

A list of additional Amazon EC2 security group IDs for the core and task nodes.

If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .additional_slave_security_groups.is_none().

source§

impl JobFlowInstancesConfig

source

pub fn builder() -> JobFlowInstancesConfigBuilder

Creates a new builder-style object to manufacture JobFlowInstancesConfig.

Trait Implementations§

source§

impl Clone for JobFlowInstancesConfig

source§

fn clone(&self) -> JobFlowInstancesConfig

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for JobFlowInstancesConfig

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq for JobFlowInstancesConfig

source§

fn eq(&self, other: &JobFlowInstancesConfig) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for JobFlowInstancesConfig

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

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
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more