pub struct IdlePolicy {
pub max_idle_duration_seconds: u32,
pub suspended_duration_seconds: u32,
pub auto_resume_enabled: bool,
}Expand description
IdlePolicy. All three members are required by the model, in both directions.
§suspendedDurationSeconds comes back, measured
This comment used to say the member “exists only in the request”. That was wrong twice
over. The model has one IdlePolicy shape, used by RunMicrovmRequest,
RunMicrovmResponse, and GetMicrovmResponse alike, and it marks all three members
required — so the model says the opposite. And the service agrees with the model:
GetMicrovm on a RUNNING VM answers
"idlePolicy": {"maxIdleDurationSeconds": 1800, "suspendedDurationSeconds": 600, "autoResumeEnabled": false} (measured 2026-08-15, us-east-1, one read-only
GetMicrovm).
The claim mattered because STATE-12 was resting on it: if only the client could name the
suspended window, the client’s own record is the only authority on it. The readback
means there is a second one, and crate::control::Microvm::idle_policy carries it —
so a suspended window that disagrees with what was asked for is now observable rather
than assumed.
Fields§
§max_idle_duration_seconds: u32min: 60, checked by crate::control::require_idle_duration before the launch.
The comment here used to say botocore enforced this one locally, so no guard was needed. Botocore does; this client does not use it. See that function for the whole account.
suspended_duration_seconds: u32§auto_resume_enabled: boolTrait Implementations§
Source§impl Clone for IdlePolicy
impl Clone for IdlePolicy
impl Copy for IdlePolicy
Source§impl Debug for IdlePolicy
impl Debug for IdlePolicy
Source§impl<'de> Deserialize<'de> for IdlePolicy
impl<'de> Deserialize<'de> for IdlePolicy
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for IdlePolicy
Source§impl PartialEq for IdlePolicy
impl PartialEq for IdlePolicy
Source§impl Serialize for IdlePolicy
impl Serialize for IdlePolicy
impl StructuralPartialEq for IdlePolicy
Auto Trait Implementations§
impl Freeze for IdlePolicy
impl RefUnwindSafe for IdlePolicy
impl Send for IdlePolicy
impl Sync for IdlePolicy
impl Unpin for IdlePolicy
impl UnsafeUnpin for IdlePolicy
impl UnwindSafe for IdlePolicy
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.