#[non_exhaustive]
pub struct SpotFleetLaunchSpecification {
Show 19 fields pub security_groups: Option<Vec<GroupIdentifier>>, pub addressing_type: Option<String>, pub block_device_mappings: Option<Vec<BlockDeviceMapping>>, pub ebs_optimized: Option<bool>, pub iam_instance_profile: Option<IamInstanceProfileSpecification>, pub image_id: Option<String>, pub instance_type: Option<InstanceType>, pub kernel_id: Option<String>, pub key_name: Option<String>, pub monitoring: Option<SpotFleetMonitoring>, pub network_interfaces: Option<Vec<InstanceNetworkInterfaceSpecification>>, pub placement: Option<SpotPlacement>, pub ramdisk_id: Option<String>, pub spot_price: Option<String>, pub subnet_id: Option<String>, pub user_data: Option<String>, pub weighted_capacity: Option<f64>, pub tag_specifications: Option<Vec<SpotFleetTagSpecification>>, pub instance_requirements: Option<InstanceRequirements>,
}
Expand description

Describes the launch specification for one or more Spot Instances. If you include On-Demand capacity in your fleet request or want to specify an EFA network device, you can't use SpotFleetLaunchSpecification; you must use LaunchTemplateConfig.

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.
§security_groups: Option<Vec<GroupIdentifier>>

The security groups.

§addressing_type: Option<String>

Deprecated.

§block_device_mappings: Option<Vec<BlockDeviceMapping>>

One or more block devices that are mapped to the Spot Instances. You can't specify both a snapshot ID and an encryption value. This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its encryption status is used for the volume encryption status.

§ebs_optimized: Option<bool>

Indicates whether the instances are optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

Default: false

§iam_instance_profile: Option<IamInstanceProfileSpecification>

The IAM instance profile.

§image_id: Option<String>

The ID of the AMI.

§instance_type: Option<InstanceType>

The instance type.

§kernel_id: Option<String>

The ID of the kernel.

§key_name: Option<String>

The name of the key pair.

§monitoring: Option<SpotFleetMonitoring>

Enable or disable monitoring for the instances.

§network_interfaces: Option<Vec<InstanceNetworkInterfaceSpecification>>

One or more network interfaces. If you specify a network interface, you must specify subnet IDs and security group IDs using the network interface.

SpotFleetLaunchSpecification currently does not support Elastic Fabric Adapter (EFA). To specify an EFA, you must use LaunchTemplateConfig.

§placement: Option<SpotPlacement>

The placement information.

§ramdisk_id: Option<String>

The ID of the RAM disk. Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, refer to the Amazon Web Services Resource Center and search for the kernel ID.

§spot_price: Option<String>

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

§subnet_id: Option<String>

The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate them using commas; for example, "subnet-1234abcdeexample1, subnet-0987cdef6example2".

§user_data: Option<String>

The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.

§weighted_capacity: Option<f64>

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

§tag_specifications: Option<Vec<SpotFleetTagSpecification>>

The tags to apply during creation.

§instance_requirements: Option<InstanceRequirements>

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with those attributes.

If you specify InstanceRequirements, you can't specify InstanceType.

Implementations§

source§

impl SpotFleetLaunchSpecification

source

pub fn security_groups(&self) -> Option<&[GroupIdentifier]>

The security groups.

source

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

Deprecated.

source

pub fn block_device_mappings(&self) -> Option<&[BlockDeviceMapping]>

One or more block devices that are mapped to the Spot Instances. You can't specify both a snapshot ID and an encryption value. This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its encryption status is used for the volume encryption status.

source

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

Indicates whether the instances are optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

Default: false

source

pub fn iam_instance_profile(&self) -> Option<&IamInstanceProfileSpecification>

The IAM instance profile.

source

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

The ID of the AMI.

source

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

The instance type.

source

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

The ID of the kernel.

source

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

The name of the key pair.

source

pub fn monitoring(&self) -> Option<&SpotFleetMonitoring>

Enable or disable monitoring for the instances.

source

pub fn network_interfaces( &self ) -> Option<&[InstanceNetworkInterfaceSpecification]>

One or more network interfaces. If you specify a network interface, you must specify subnet IDs and security group IDs using the network interface.

SpotFleetLaunchSpecification currently does not support Elastic Fabric Adapter (EFA). To specify an EFA, you must use LaunchTemplateConfig.

source

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

The placement information.

source

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

The ID of the RAM disk. Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, refer to the Amazon Web Services Resource Center and search for the kernel ID.

source

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

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

source

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

The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate them using commas; for example, "subnet-1234abcdeexample1, subnet-0987cdef6example2".

source

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

The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.

source

pub fn weighted_capacity(&self) -> Option<f64>

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

source

pub fn tag_specifications(&self) -> Option<&[SpotFleetTagSpecification]>

The tags to apply during creation.

source

pub fn instance_requirements(&self) -> Option<&InstanceRequirements>

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with those attributes.

If you specify InstanceRequirements, you can't specify InstanceType.

source§

impl SpotFleetLaunchSpecification

source

pub fn builder() -> SpotFleetLaunchSpecificationBuilder

Creates a new builder-style object to manufacture SpotFleetLaunchSpecification.

Trait Implementations§

source§

impl Clone for SpotFleetLaunchSpecification

source§

fn clone(&self) -> SpotFleetLaunchSpecification

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 SpotFleetLaunchSpecification

source§

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

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

impl PartialEq<SpotFleetLaunchSpecification> for SpotFleetLaunchSpecification

source§

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

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere 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 Twhere 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 Twhere 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