Struct aws_sdk_ec2::model::SpotCapacityRebalance
source · #[non_exhaustive]pub struct SpotCapacityRebalance { /* private fields */ }
Expand description
The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an elevated risk of being interrupted. For more information, see Capacity rebalancing in the Amazon EC2 User Guide for Linux Instances.
Implementations§
source§impl SpotCapacityRebalance
impl SpotCapacityRebalance
sourcepub fn replacement_strategy(&self) -> Option<&ReplacementStrategy>
pub fn replacement_strategy(&self) -> Option<&ReplacementStrategy>
The replacement strategy to use. Only available for fleets of type maintain
.
launch
- Spot Fleet launches a new replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet. Spot Fleet does not terminate the instances that receive a rebalance notification. You can terminate the old instances, or you can leave them running. You are charged for all instances while they are running.
launch-before-terminate
- Spot Fleet launches a new replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet, and then, after a delay that you specify (in TerminationDelay
), terminates the instances that received a rebalance notification.
sourcepub fn termination_delay(&self) -> Option<i32>
pub fn termination_delay(&self) -> Option<i32>
The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot Instance after launching a new replacement Spot Instance.
Required when ReplacementStrategy
is set to launch-before-terminate
.
Not valid when ReplacementStrategy
is set to launch
.
Valid values: Minimum value of 120
seconds. Maximum value of 7200
seconds.
source§impl SpotCapacityRebalance
impl SpotCapacityRebalance
sourcepub fn builder() -> Builder
pub fn builder() -> Builder
Creates a new builder-style object to manufacture SpotCapacityRebalance
.
Examples found in repository?
69230 69231 69232 69233 69234 69235 69236 69237 69238 69239 69240 69241 69242 69243 69244 69245 69246 69247 69248 69249 69250 69251 69252 69253 69254 69255 69256 69257 69258 69259 69260 69261 69262 69263 69264 69265 69266 69267 69268 69269 69270
pub fn deser_structure_crate_model_spot_capacity_rebalance(
decoder: &mut aws_smithy_xml::decode::ScopedDecoder,
) -> Result<crate::model::SpotCapacityRebalance, aws_smithy_xml::decode::XmlDecodeError> {
#[allow(unused_mut)]
let mut builder = crate::model::SpotCapacityRebalance::builder();
while let Some(mut tag) = decoder.next_tag() {
match tag.start_el() {
s if s.matches("replacementStrategy") /* ReplacementStrategy com.amazonaws.ec2#SpotCapacityRebalance$ReplacementStrategy */ => {
let var_3416 =
Some(
Result::<crate::model::ReplacementStrategy, aws_smithy_xml::decode::XmlDecodeError>::Ok(
crate::model::ReplacementStrategy::from(
aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
)
)
?
)
;
builder = builder.set_replacement_strategy(var_3416);
}
,
s if s.matches("terminationDelay") /* TerminationDelay com.amazonaws.ec2#SpotCapacityRebalance$TerminationDelay */ => {
let var_3417 =
Some(
{
<i32 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 (integer: `com.amazonaws.ec2#Integer`)"))
}
?
)
;
builder = builder.set_termination_delay(var_3417);
}
,
_ => {}
}
}
Ok(builder.build())
}
Trait Implementations§
source§impl Clone for SpotCapacityRebalance
impl Clone for SpotCapacityRebalance
source§fn clone(&self) -> SpotCapacityRebalance
fn clone(&self) -> SpotCapacityRebalance
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more