Struct aws_sdk_ec2::model::SpotFleetLaunchSpecification
source · #[non_exhaustive]pub struct SpotFleetLaunchSpecification { /* private fields */ }
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.
Implementations§
source§impl SpotFleetLaunchSpecification
impl SpotFleetLaunchSpecification
sourcepub fn security_groups(&self) -> Option<&[GroupIdentifier]>
pub fn security_groups(&self) -> Option<&[GroupIdentifier]>
One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.
sourcepub fn addressing_type(&self) -> Option<&str>
pub fn addressing_type(&self) -> Option<&str>
Deprecated.
sourcepub fn block_device_mappings(&self) -> Option<&[BlockDeviceMapping]>
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.
sourcepub fn ebs_optimized(&self) -> Option<bool>
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
sourcepub fn iam_instance_profile(&self) -> Option<&IamInstanceProfileSpecification>
pub fn iam_instance_profile(&self) -> Option<&IamInstanceProfileSpecification>
The IAM instance profile.
sourcepub fn instance_type(&self) -> Option<&InstanceType>
pub fn instance_type(&self) -> Option<&InstanceType>
The instance type.
sourcepub fn monitoring(&self) -> Option<&SpotFleetMonitoring>
pub fn monitoring(&self) -> Option<&SpotFleetMonitoring>
Enable or disable monitoring for the instances.
sourcepub fn network_interfaces(
&self
) -> Option<&[InstanceNetworkInterfaceSpecification]>
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.
sourcepub fn placement(&self) -> Option<&SpotPlacement>
pub fn placement(&self) -> Option<&SpotPlacement>
The placement information.
sourcepub fn ramdisk_id(&self) -> Option<&str>
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.
sourcepub fn spot_price(&self) -> Option<&str>
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.
sourcepub fn subnet_id(&self) -> Option<&str>
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".
sourcepub fn user_data(&self) -> Option<&str>
pub fn user_data(&self) -> Option<&str>
The Base64-encoded user data that instances use when starting up.
sourcepub fn weighted_capacity(&self) -> Option<f64>
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.
sourcepub fn tag_specifications(&self) -> Option<&[SpotFleetTagSpecification]>
pub fn tag_specifications(&self) -> Option<&[SpotFleetTagSpecification]>
The tags to apply during creation.
sourcepub fn instance_requirements(&self) -> Option<&InstanceRequirements>
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
impl SpotFleetLaunchSpecification
sourcepub fn builder() -> Builder
pub fn builder() -> Builder
Creates a new builder-style object to manufacture SpotFleetLaunchSpecification
.
Examples found in repository?
69272 69273 69274 69275 69276 69277 69278 69279 69280 69281 69282 69283 69284 69285 69286 69287 69288 69289 69290 69291 69292 69293 69294 69295 69296 69297 69298 69299 69300 69301 69302 69303 69304 69305 69306 69307 69308 69309 69310 69311 69312 69313 69314 69315 69316 69317 69318 69319 69320 69321 69322 69323 69324 69325 69326 69327 69328 69329 69330 69331 69332 69333 69334 69335 69336 69337 69338 69339 69340 69341 69342 69343 69344 69345 69346 69347 69348 69349 69350 69351 69352 69353 69354 69355 69356 69357 69358 69359 69360 69361 69362 69363 69364 69365 69366 69367 69368 69369 69370 69371 69372 69373 69374 69375 69376 69377 69378 69379 69380 69381 69382 69383 69384 69385 69386 69387 69388 69389 69390 69391 69392 69393 69394 69395 69396 69397 69398 69399 69400 69401 69402 69403 69404 69405 69406 69407 69408 69409 69410 69411 69412 69413 69414 69415 69416 69417 69418 69419 69420 69421 69422 69423 69424 69425 69426 69427 69428 69429 69430 69431 69432 69433 69434 69435 69436 69437 69438 69439 69440 69441 69442 69443 69444 69445 69446 69447 69448 69449 69450 69451 69452 69453 69454 69455 69456 69457 69458 69459 69460 69461 69462 69463 69464 69465 69466 69467 69468 69469 69470 69471 69472 69473 69474 69475 69476 69477 69478 69479 69480 69481 69482 69483 69484 69485 69486 69487 69488 69489 69490 69491 69492 69493 69494 69495 69496 69497 69498 69499 69500 69501 69502 69503 69504 69505 69506 69507 69508 69509 69510 69511
pub fn deser_structure_crate_model_spot_fleet_launch_specification(
decoder: &mut aws_smithy_xml::decode::ScopedDecoder,
) -> Result<crate::model::SpotFleetLaunchSpecification, aws_smithy_xml::decode::XmlDecodeError> {
#[allow(unused_mut)]
let mut builder = crate::model::SpotFleetLaunchSpecification::builder();
while let Some(mut tag) = decoder.next_tag() {
match tag.start_el() {
s if s.matches("groupSet") /* SecurityGroups com.amazonaws.ec2#SpotFleetLaunchSpecification$SecurityGroups */ => {
let var_3418 =
Some(
crate::xml_deser::deser_list_com_amazonaws_ec2_group_identifier_list(&mut tag)
?
)
;
builder = builder.set_security_groups(var_3418);
}
,
s if s.matches("addressingType") /* AddressingType com.amazonaws.ec2#SpotFleetLaunchSpecification$AddressingType */ => {
let var_3419 =
Some(
Result::<std::string::String, aws_smithy_xml::decode::XmlDecodeError>::Ok(
aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
.into()
)
?
)
;
builder = builder.set_addressing_type(var_3419);
}
,
s if s.matches("blockDeviceMapping") /* BlockDeviceMappings com.amazonaws.ec2#SpotFleetLaunchSpecification$BlockDeviceMappings */ => {
let var_3420 =
Some(
crate::xml_deser::deser_list_com_amazonaws_ec2_block_device_mapping_list(&mut tag)
?
)
;
builder = builder.set_block_device_mappings(var_3420);
}
,
s if s.matches("ebsOptimized") /* EbsOptimized com.amazonaws.ec2#SpotFleetLaunchSpecification$EbsOptimized */ => {
let var_3421 =
Some(
{
<bool as aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
)
.map_err(|_|aws_smithy_xml::decode::XmlDecodeError::custom("expected (boolean: `com.amazonaws.ec2#Boolean`)"))
}
?
)
;
builder = builder.set_ebs_optimized(var_3421);
}
,
s if s.matches("iamInstanceProfile") /* IamInstanceProfile com.amazonaws.ec2#SpotFleetLaunchSpecification$IamInstanceProfile */ => {
let var_3422 =
Some(
crate::xml_deser::deser_structure_crate_model_iam_instance_profile_specification(&mut tag)
?
)
;
builder = builder.set_iam_instance_profile(var_3422);
}
,
s if s.matches("imageId") /* ImageId com.amazonaws.ec2#SpotFleetLaunchSpecification$ImageId */ => {
let var_3423 =
Some(
Result::<std::string::String, aws_smithy_xml::decode::XmlDecodeError>::Ok(
aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
.into()
)
?
)
;
builder = builder.set_image_id(var_3423);
}
,
s if s.matches("instanceType") /* InstanceType com.amazonaws.ec2#SpotFleetLaunchSpecification$InstanceType */ => {
let var_3424 =
Some(
Result::<crate::model::InstanceType, aws_smithy_xml::decode::XmlDecodeError>::Ok(
crate::model::InstanceType::from(
aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
)
)
?
)
;
builder = builder.set_instance_type(var_3424);
}
,
s if s.matches("kernelId") /* KernelId com.amazonaws.ec2#SpotFleetLaunchSpecification$KernelId */ => {
let var_3425 =
Some(
Result::<std::string::String, aws_smithy_xml::decode::XmlDecodeError>::Ok(
aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
.into()
)
?
)
;
builder = builder.set_kernel_id(var_3425);
}
,
s if s.matches("keyName") /* KeyName com.amazonaws.ec2#SpotFleetLaunchSpecification$KeyName */ => {
let var_3426 =
Some(
Result::<std::string::String, aws_smithy_xml::decode::XmlDecodeError>::Ok(
aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
.into()
)
?
)
;
builder = builder.set_key_name(var_3426);
}
,
s if s.matches("monitoring") /* Monitoring com.amazonaws.ec2#SpotFleetLaunchSpecification$Monitoring */ => {
let var_3427 =
Some(
crate::xml_deser::deser_structure_crate_model_spot_fleet_monitoring(&mut tag)
?
)
;
builder = builder.set_monitoring(var_3427);
}
,
s if s.matches("networkInterfaceSet") /* NetworkInterfaces com.amazonaws.ec2#SpotFleetLaunchSpecification$NetworkInterfaces */ => {
let var_3428 =
Some(
crate::xml_deser::deser_list_com_amazonaws_ec2_instance_network_interface_specification_list(&mut tag)
?
)
;
builder = builder.set_network_interfaces(var_3428);
}
,
s if s.matches("placement") /* Placement com.amazonaws.ec2#SpotFleetLaunchSpecification$Placement */ => {
let var_3429 =
Some(
crate::xml_deser::deser_structure_crate_model_spot_placement(&mut tag)
?
)
;
builder = builder.set_placement(var_3429);
}
,
s if s.matches("ramdiskId") /* RamdiskId com.amazonaws.ec2#SpotFleetLaunchSpecification$RamdiskId */ => {
let var_3430 =
Some(
Result::<std::string::String, aws_smithy_xml::decode::XmlDecodeError>::Ok(
aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
.into()
)
?
)
;
builder = builder.set_ramdisk_id(var_3430);
}
,
s if s.matches("spotPrice") /* SpotPrice com.amazonaws.ec2#SpotFleetLaunchSpecification$SpotPrice */ => {
let var_3431 =
Some(
Result::<std::string::String, aws_smithy_xml::decode::XmlDecodeError>::Ok(
aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
.into()
)
?
)
;
builder = builder.set_spot_price(var_3431);
}
,
s if s.matches("subnetId") /* SubnetId com.amazonaws.ec2#SpotFleetLaunchSpecification$SubnetId */ => {
let var_3432 =
Some(
Result::<std::string::String, aws_smithy_xml::decode::XmlDecodeError>::Ok(
aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
.into()
)
?
)
;
builder = builder.set_subnet_id(var_3432);
}
,
s if s.matches("userData") /* UserData com.amazonaws.ec2#SpotFleetLaunchSpecification$UserData */ => {
let var_3433 =
Some(
Result::<std::string::String, aws_smithy_xml::decode::XmlDecodeError>::Ok(
aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
.into()
)
?
)
;
builder = builder.set_user_data(var_3433);
}
,
s if s.matches("weightedCapacity") /* WeightedCapacity com.amazonaws.ec2#SpotFleetLaunchSpecification$WeightedCapacity */ => {
let var_3434 =
Some(
{
<f64 as aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
)
.map_err(|_|aws_smithy_xml::decode::XmlDecodeError::custom("expected (double: `com.amazonaws.ec2#Double`)"))
}
?
)
;
builder = builder.set_weighted_capacity(var_3434);
}
,
s if s.matches("tagSpecificationSet") /* TagSpecifications com.amazonaws.ec2#SpotFleetLaunchSpecification$TagSpecifications */ => {
let var_3435 =
Some(
crate::xml_deser::deser_list_com_amazonaws_ec2_spot_fleet_tag_specification_list(&mut tag)
?
)
;
builder = builder.set_tag_specifications(var_3435);
}
,
s if s.matches("instanceRequirements") /* InstanceRequirements com.amazonaws.ec2#SpotFleetLaunchSpecification$InstanceRequirements */ => {
let var_3436 =
Some(
crate::xml_deser::deser_structure_crate_model_instance_requirements(&mut tag)
?
)
;
builder = builder.set_instance_requirements(var_3436);
}
,
_ => {}
}
}
Ok(builder.build())
}
Trait Implementations§
source§impl Clone for SpotFleetLaunchSpecification
impl Clone for SpotFleetLaunchSpecification
source§fn clone(&self) -> SpotFleetLaunchSpecification
fn clone(&self) -> SpotFleetLaunchSpecification
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more