Skip to main content

Actions

Struct Actions 

Source
pub struct Actions {
    pub oem: Option<OemActions>,
    pub freeze_personality: Option<Action<StorageFreezePersonalityAction, ()>>,
    pub get_personality_nonce: Option<Action<StorageGetPersonalityNonceAction, GetPersonalityNonceResponse>>,
    pub import_foreign_drives: Option<Action<StorageImportForeignDrivesAction, ()>>,
    pub rekey_external_key: Option<Action<StorageRekeyExternalKeyAction, ()>>,
    pub reset_to_defaults: Option<Action<StorageResetToDefaultsAction, ()>>,
    pub revert_personalities_to_defaults: Option<Action<StorageRevertPersonalitiesToDefaultsAction, ()>>,
    pub set_controller_password: Option<Action<StorageSetControllerPasswordAction, ()>>,
    pub set_encryption_key: Option<Action<StorageSetEncryptionKeyAction, ()>>,
    pub set_personality_key: Option<Action<StorageSetPersonalityKeyAction, ()>>,
    pub unfreeze_personality: Option<Action<StorageUnfreezePersonalityAction, ()>>,
}
Expand description

The available actions for this resource.

This type shall contain the available actions for this resource.

Fields§

§oem: Option<OemActions>

The available OEM-specific actions for this resource.

This property shall contain the available OEM-specific actions for this resource.

§freeze_personality: Option<Action<StorageFreezePersonalityAction, ()>>§get_personality_nonce: Option<Action<StorageGetPersonalityNonceAction, GetPersonalityNonceResponse>>§import_foreign_drives: Option<Action<StorageImportForeignDrivesAction, ()>>§rekey_external_key: Option<Action<StorageRekeyExternalKeyAction, ()>>§reset_to_defaults: Option<Action<StorageResetToDefaultsAction, ()>>§revert_personalities_to_defaults: Option<Action<StorageRevertPersonalitiesToDefaultsAction, ()>>§set_controller_password: Option<Action<StorageSetControllerPasswordAction, ()>>§set_encryption_key: Option<Action<StorageSetEncryptionKeyAction, ()>>§set_personality_key: Option<Action<StorageSetPersonalityKeyAction, ()>>§unfreeze_personality: Option<Action<StorageUnfreezePersonalityAction, ()>>

Implementations§

Source§

impl Actions

Source

pub async fn freeze_personality<B: Bmc>( &self, bmc: &B, personality: Option<Int64>, ) -> Result<ModificationResponse<()>, B::Error>
where B::Error: ActionError,

This action freezes a personality for the NVMe subsystem.

This action shall freeze a personality for the NVMe subsystem as defined by the ‘Configurable Device Personality’ feature in the NVMe Base Specification.

§Errors
Source

pub async fn get_personality_nonce<B: Bmc>( &self, bmc: &B, ) -> Result<ModificationResponse<GetPersonalityNonceResponse>, B::Error>
where B::Error: ActionError,

This action obtains a nonce required to unfreeze personalities with a programmed key.

This action shall obtain a nonce required to unfreeze personalities with a programmed key as defined by the ‘CDP Random Nonce Data’ clause in the NVMe Base Specification.

§Errors
Source

pub async fn import_foreign_drives<B: Bmc>( &self, bmc: &B, controller_password: Option<String>, drive_encryption_key: Option<String>, drive_encryption_key_identifier: Option<String>, ) -> Result<ModificationResponse<()>, B::Error>
where B::Error: ActionError,

This action imports encrypted foreign drives to a host-based storage controller by supplying encryption access credentials.

This action shall import encrypted foreign drives to a host-based storage controller by supplying encryption access credentials. Upon successful completion, the EncryptionStatus property of the affected Drive shall change from Foreign to Unlocked.

§Errors
Source

pub async fn rekey_external_key<B: Bmc>( &self, bmc: &B, ) -> Result<ModificationResponse<()>, B::Error>
where B::Error: ActionError,

This action causes the controllers of the storage subsystem to request new encryption keys managed by an external key service.

This action shall cause the controllers of the storage subsystem to request new encryption keys managed by an external key service.

§Errors
Source

pub async fn reset_to_defaults<B: Bmc>( &self, bmc: &B, reset_type: Option<ResetToDefaultsType>, ) -> Result<ModificationResponse<()>, B::Error>
where B::Error: ActionError,

The reset action resets the storage device to factory defaults. This can cause the loss of data.

This action shall reset the storage device. This action can impact other resources.

§Errors
Source

pub async fn revert_personalities_to_defaults<B: Bmc>( &self, bmc: &B, ) -> Result<ModificationResponse<()>, B::Error>
where B::Error: ActionError,

This action reverts all personalities to their manufacturing default state for the NVMe subsystem.

This action shall revert all personalities to their manufacturing default state for the NVMe subsystem as defined by the ‘Manufacturing Default Personality’ clause of the NVMe Base Specification.

§Errors
Source

pub async fn set_controller_password<B: Bmc>( &self, bmc: &B, current_password: Option<String>, new_password: Option<String>, security_key: Option<String>, ) -> Result<ModificationResponse<()>, B::Error>
where B::Error: ActionError,

This action sets the controller boot password for a host-based storage controller.

This action shall set the controller boot password for a host-based storage controller.

§Errors
Source

pub async fn set_encryption_key<B: Bmc>( &self, bmc: &B, encryption_key: Option<String>, encryption_key_identifier: Option<String>, current_encryption_key: Option<String>, ) -> Result<ModificationResponse<()>, B::Error>
where B::Error: ActionError,

This action sets the local encryption key for the storage subsystem.

This action shall set the local encryption key for the storage subsystem.

§Errors
Source

pub async fn set_personality_key<B: Bmc>( &self, bmc: &B, algorithm: Option<NmvePersonalityKeyAlgorithm>, key: Option<String>, ) -> Result<ModificationResponse<()>, B::Error>
where B::Error: ActionError,

This action sets the personality key for the NVMe subsystem.

This action shall set the personality key for the NVMe subsystem as defined by the ‘Programmable Key Authentication Considerations’ clause in the NVMe Base Specification.

§Errors
Source

pub async fn unfreeze_personality<B: Bmc>( &self, bmc: &B, t: &StorageUnfreezePersonalityAction, ) -> Result<ModificationResponse<()>, B::Error>
where B::Error: ActionError,

This action unfreezes a personality for the NVMe subsystem.

This action shall unfreeze a personality for the NVMe subsystem as defined by the ‘Authenticated Unfreeze Operation’ clause in the NVMe Base Specification.

§Errors

Trait Implementations§

Source§

impl Debug for Actions

Source§

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

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

impl<'de> Deserialize<'de> for Actions

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 Send for Actions

SAFETY: All generated data types are Send

Source§

impl Sync for Actions

SAFETY: All generated data types are Sync

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

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

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

Source§

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

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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

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