#[non_exhaustive]
pub struct InstanceGroupConfig { pub name: Option<String>, pub market: Option<MarketType>, pub instance_role: Option<InstanceRoleType>, pub bid_price: Option<String>, pub instance_type: Option<String>, pub instance_count: Option<i32>, pub configurations: Option<Vec<Configuration>>, pub ebs_configuration: Option<EbsConfiguration>, pub auto_scaling_policy: Option<AutoScalingPolicy>, pub custom_ami_id: Option<String>, }
Expand description

Configuration defining a new instance group.

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.
§name: Option<String>

Friendly name given to the instance group.

§market: Option<MarketType>

Market type of the Amazon EC2 instances used to create a cluster node.

§instance_role: Option<InstanceRoleType>

The role of the instance group in the cluster.

§bid_price: Option<String>

If specified, indicates that the instance group uses Spot Instances. This is the maximum price you are willing to pay for Spot Instances. Specify OnDemandPrice to set the amount equal to the On-Demand price, or specify an amount in USD.

§instance_type: Option<String>

The Amazon EC2 instance type for all instances in the instance group.

§instance_count: Option<i32>

Target number of instances for the instance group.

§configurations: Option<Vec<Configuration>>

Amazon EMR releases 4.x or later.

The list of configurations supplied for an Amazon EMR cluster instance group. You can specify a separate configuration for each instance group (master, core, and task).

§ebs_configuration: Option<EbsConfiguration>

EBS configurations that will be attached to each Amazon EC2 instance in the instance group.

§auto_scaling_policy: Option<AutoScalingPolicy>

An automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically adds and terminates Amazon EC2 instances in response to the value of a CloudWatch metric. See PutAutoScalingPolicy.

§custom_ami_id: Option<String>

The custom AMI ID to use for the provisioned instance group.

Implementations§

source§

impl InstanceGroupConfig

source

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

Friendly name given to the instance group.

source

pub fn market(&self) -> Option<&MarketType>

Market type of the Amazon EC2 instances used to create a cluster node.

source

pub fn instance_role(&self) -> Option<&InstanceRoleType>

The role of the instance group in the cluster.

source

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

If specified, indicates that the instance group uses Spot Instances. This is the maximum price you are willing to pay for Spot Instances. Specify OnDemandPrice to set the amount equal to the On-Demand price, or specify an amount in USD.

source

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

The Amazon EC2 instance type for all instances in the instance group.

source

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

Target number of instances for the instance group.

source

pub fn configurations(&self) -> &[Configuration]

Amazon EMR releases 4.x or later.

The list of configurations supplied for an Amazon EMR cluster instance group. You can specify a separate configuration for each instance group (master, core, and task).

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().

source

pub fn ebs_configuration(&self) -> Option<&EbsConfiguration>

EBS configurations that will be attached to each Amazon EC2 instance in the instance group.

source

pub fn auto_scaling_policy(&self) -> Option<&AutoScalingPolicy>

An automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically adds and terminates Amazon EC2 instances in response to the value of a CloudWatch metric. See PutAutoScalingPolicy.

source

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

The custom AMI ID to use for the provisioned instance group.

source§

impl InstanceGroupConfig

source

pub fn builder() -> InstanceGroupConfigBuilder

Creates a new builder-style object to manufacture InstanceGroupConfig.

Trait Implementations§

source§

impl Clone for InstanceGroupConfig

source§

fn clone(&self) -> InstanceGroupConfig

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 InstanceGroupConfig

source§

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

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

impl PartialEq for InstanceGroupConfig

source§

fn eq(&self, other: &InstanceGroupConfig) -> 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 InstanceGroupConfig

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