Struct oci_spec::runtime::Hooks

source ·
pub struct Hooks { /* private fields */ }
Expand description

Hooks specifies a command that is run in the container at a particular event in the lifecycle (setup and teardown) of a container.

Implementations§

source§

impl Hooks

source

pub fn prestart(&self) -> &Option<Vec<Hook>>

The prestart hooks MUST be called after the start operation is called but before the user-specified program command is executed.

On Linux, for example, they are called after the container namespaces are created, so they provide an opportunity to customize the container (e.g. the network namespace could be specified in this hook).

The prestart hooks’ path MUST resolve in the runtime namespace. The prestart hooks MUST be executed in the runtime namespace.

source

pub fn create_runtime(&self) -> &Option<Vec<Hook>>

CreateRuntime is a list of hooks to be run after the container has been created but before pivot_root or any equivalent operation has been called. It is called in the Runtime Namespace.

source

pub fn create_container(&self) -> &Option<Vec<Hook>>

CreateContainer is a list of hooks to be run after the container has been created but before pivot_root or any equivalent operation has been called. It is called in the Container Namespace.

source

pub fn start_container(&self) -> &Option<Vec<Hook>>

StartContainer is a list of hooks to be run after the start operation is called but before the container process is started. It is called in the Container Namespace.

source

pub fn poststart(&self) -> &Option<Vec<Hook>>

Poststart is a list of hooks to be run after the container process is started. It is called in the Runtime Namespace.

source

pub fn poststop(&self) -> &Option<Vec<Hook>>

Poststop is a list of hooks to be run after the container process exits. It is called in the Runtime Namespace.

source§

impl Hooks

source

pub fn set_prestart(&mut self, val: Option<Vec<Hook>>) -> &mut Self

The prestart hooks MUST be called after the start operation is called but before the user-specified program command is executed.

On Linux, for example, they are called after the container namespaces are created, so they provide an opportunity to customize the container (e.g. the network namespace could be specified in this hook).

The prestart hooks’ path MUST resolve in the runtime namespace. The prestart hooks MUST be executed in the runtime namespace.

source

pub fn set_create_runtime(&mut self, val: Option<Vec<Hook>>) -> &mut Self

CreateRuntime is a list of hooks to be run after the container has been created but before pivot_root or any equivalent operation has been called. It is called in the Runtime Namespace.

source

pub fn set_create_container(&mut self, val: Option<Vec<Hook>>) -> &mut Self

CreateContainer is a list of hooks to be run after the container has been created but before pivot_root or any equivalent operation has been called. It is called in the Container Namespace.

source

pub fn set_start_container(&mut self, val: Option<Vec<Hook>>) -> &mut Self

StartContainer is a list of hooks to be run after the start operation is called but before the container process is started. It is called in the Container Namespace.

source

pub fn set_poststart(&mut self, val: Option<Vec<Hook>>) -> &mut Self

Poststart is a list of hooks to be run after the container process is started. It is called in the Runtime Namespace.

source

pub fn set_poststop(&mut self, val: Option<Vec<Hook>>) -> &mut Self

Poststop is a list of hooks to be run after the container process exits. It is called in the Runtime Namespace.

Trait Implementations§

source§

impl Clone for Hooks

source§

fn clone(&self) -> Hooks

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 Hooks

source§

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

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

impl Default for Hooks

source§

fn default() -> Hooks

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

impl<'de> Deserialize<'de> for Hooks

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 PartialEq for Hooks

source§

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

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 Eq for Hooks

source§

impl StructuralPartialEq for Hooks

Auto Trait Implementations§

§

impl RefUnwindSafe for Hooks

§

impl Send for Hooks

§

impl Sync for Hooks

§

impl Unpin for Hooks

§

impl UnwindSafe for Hooks

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> 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> ToOwned for T
where 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 T
where 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 T
where 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> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,