Skip to main content

Drive

Struct Drive 

Source
pub struct Drive<B: Bmc> { /* private fields */ }
Expand description

Represents a drive (disk) in a storage controller.

Provides access to drive information and associated metrics/sensors.

Implementations§

Source§

impl<B: Bmc> Drive<B>

Source

pub fn raw(&self) -> Arc<DriveSchema>

Get the raw schema data for this drive.

Returns an Arc to the underlying schema, allowing cheap cloning and sharing of the data.

Source

pub async fn metrics(&self) -> Result<Option<Arc<DriveMetrics>>, Error<B>>

Get drive metrics.

Returns the drive’s performance and state metrics if available.

§Errors

Returns an error if:

  • The drive does not have metrics
  • Fetching metrics data fails

Get the environment sensors for this drive.

Returns a vector of Sensor<B> obtained from environment metrics, if available.

§Errors

Returns an error if get of environment metrics failed.

Source

pub async fn environment_power_limit_control( &self, ) -> Result<Option<Control<B>>, Error<B>>

Get the environment power limit control for this drive.

Returns Ok(None) when environment metrics or PowerLimitWatts is absent.

§Errors

Returns an error if fetching environment metrics or the control fails.

Trait Implementations§

Source§

impl<B: Bmc> Resource for Drive<B>

Source§

fn resource_ref(&self) -> &ResourceSchema

Required function. Must be implemented for Redfish resources.
Source§

fn id(&self) -> ResourceIdRef<'_>

Identifier of the resource.
Source§

fn name(&self) -> ResourceNameRef<'_>

Name of the resource.
Source§

fn description(&self) -> Option<ResourceDescriptionRef<'_>>

Description of the resource.
Source§

fn oem_id(&self) -> Option<OemIdentifier<&str>>

OEM identifier if present in the resource.
Source§

fn odata_id(&self) -> &ODataId

OData identifier of the resource.

Auto Trait Implementations§

§

impl<B> Freeze for Drive<B>

§

impl<B> RefUnwindSafe for Drive<B>
where B: RefUnwindSafe,

§

impl<B> Send for Drive<B>

§

impl<B> Sync for Drive<B>

§

impl<B> Unpin for Drive<B>

§

impl<B> UnsafeUnpin for Drive<B>

§

impl<B> UnwindSafe for Drive<B>
where B: RefUnwindSafe,

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: Sized + 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: Sized + 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