Skip to main content

CloudCreateSandboxRequest

Enum CloudCreateSandboxRequest 

Source
pub enum CloudCreateSandboxRequest {
    Oci {
        sandbox: CloudSandboxSpec,
        reference: String,
        resources: CloudSandboxResources,
        patches: Vec<CloudPatch>,
        pull_policy: CloudPullPolicy,
    },
    Bind {
        sandbox: CloudSandboxSpec,
        path: PathBuf,
        resources: CloudSandboxComputeResources,
        patches: Vec<CloudPatch>,
    },
    DiskImage {
        sandbox: CloudSandboxSpec,
        path: PathBuf,
        format: CloudDiskImageFormat,
        fstype: Option<String>,
        resources: CloudSandboxComputeResources,
        patches: Vec<CloudPatch>,
    },
    DiskSnapshot {
        sandbox: CloudSandboxSpec,
        disk_snapshot_ref: CloudSnapshotLocation,
        resources: CloudSandboxComputeResources,
        pull_policy: CloudPullPolicy,
    },
}
Expand description

Wire shape of a cloud sandbox create request body.

Each root filesystem origin is a distinct source variant. The common sandbox settings remain flat beside the source-specific fields. Legacy requests carrying an image object are accepted during migration.

Variants§

§

Oci

Create a sandbox from an OCI image.

Fields

§sandbox: CloudSandboxSpec

Settings shared by every sandbox source.

§reference: String

OCI image reference.

§resources: CloudSandboxResources

CPU, memory, and writable-disk resources.

§patches: Vec<CloudPatch>

Rootfs patches applied before VM start.

§pull_policy: CloudPullPolicy

OCI image pull policy.

§

Bind

Create a sandbox from a host directory.

Fields

§sandbox: CloudSandboxSpec

Settings shared by every sandbox source.

§path: PathBuf

Host directory used as the root filesystem.

§resources: CloudSandboxComputeResources

CPU and memory resources.

§patches: Vec<CloudPatch>

Rootfs patches applied before VM start.

§

DiskImage

Create a sandbox from a disk image file.

Fields

§sandbox: CloudSandboxSpec

Settings shared by every sandbox source.

§path: PathBuf

Host path to the disk image.

§format: CloudDiskImageFormat

Disk image format.

§fstype: Option<String>

Inner filesystem type, when it cannot be detected automatically.

§resources: CloudSandboxComputeResources

CPU and memory resources.

§patches: Vec<CloudPatch>

Rootfs patches applied before VM start.

§

DiskSnapshot

Create a fresh-booted sandbox from a disk snapshot.

Fields

§sandbox: CloudSandboxSpec

Settings shared by every sandbox source.

§disk_snapshot_ref: CloudSnapshotLocation

Disk snapshot to restore.

§resources: CloudSandboxComputeResources

CPU and memory resources.

§pull_policy: CloudPullPolicy

Pull policy used if the snapshot’s pinned base image must be fetched.

Implementations§

Source§

impl CloudCreateSandboxRequest

Source

pub const fn sandbox_spec(&self) -> &CloudSandboxSpec

Return settings shared by every sandbox source.

Source

pub const fn sandbox_spec_mut(&mut self) -> &mut CloudSandboxSpec

Return mutable settings shared by every sandbox source.

Source

pub const fn disk_snapshot_ref(&self) -> Option<&CloudSnapshotLocation>

Return the disk snapshot reference, when restoring one.

Source

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

Return the OCI image reference, when creating from OCI.

Source

pub const fn compute_resources(&self) -> CloudSandboxComputeResources

Return the requested CPU and memory resources.

Source

pub const fn oci_disk_size_mib(&self) -> Option<Option<u32>>

Return the requested OCI writable-disk size, if this is an OCI source.

Source

pub fn set_oci_disk_size_mib(&mut self, disk_size_mib: u32) -> bool

Set the OCI writable-disk size, returning whether this is an OCI source.

Trait Implementations§

Source§

impl Clone for CloudCreateSandboxRequest

Source§

fn clone(&self) -> CloudCreateSandboxRequest

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CloudCreateSandboxRequest

Source§

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

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

impl Default for CloudCreateSandboxRequest

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for CloudCreateSandboxRequest

Source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl From<SandboxSpec> for CloudCreateSandboxRequest

Source§

fn from(spec: SandboxSpec) -> Self

Converts to this type from the input type.
Source§

impl Serialize for CloudCreateSandboxRequest

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl TryFrom<CloudCreateSandboxRequest> for SandboxSpec

Source§

type Error = TypesError

The type returned in the event of a conversion error.
Source§

fn try_from(req: CloudCreateSandboxRequest) -> TypesResult<Self>

Performs the conversion.

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

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>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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.