Skip to main content

CnsBlockBackingDetails

Struct CnsBlockBackingDetails 

Source
pub struct CnsBlockBackingDetails {
    pub cns_backing_object_details_: CnsBackingObjectDetails,
    pub backing_disk_id: Option<String>,
    pub backing_disk_url_path: Option<String>,
    pub backing_disk_path: Option<String>,
    pub backing_disk_object_id: Option<String>,
    pub used_capacity_in_mb: Option<i64>,
    pub aggregated_snapshot_capacity_in_mb: Option<i64>,
}
Expand description

Details for a block type backing for container volume.

This class will be used as input at the time of volume creation and will also be returned as part of query result to give more information about a container volume.

Note: In future, for block volumes the disk format, like thin, lazy-zeroed- thick, eager-zeroed-thick, will be made a part of storage policy. Until then, for block volumes, only the thin type of provisioning will be supported.

This structure may be used only with operations rendered under /vsan.

§How to access

  • CnsVolumeManager::cns_create_volume(create_specs).backing_object_details→CnsBlockBackingDetails
  • CnsVolumeManager::cns_query_volume().volumes?[*].backing_object_details?→CnsBlockBackingDetails

Fields§

§cns_backing_object_details_: CnsBackingObjectDetails§backing_disk_id: Option<String>

At the time of creation this field would identify the existing disk that should be used to back the container volume.

This field is optional and when this and backingDiskPath are not specified, a new disk will be created to back the volume.

When this filed is present, capacityInMb and storage policy fields will be ignored.

§backing_disk_url_path: Option<String>

At the time of creation this field would identify the URL path to an existing disk that should be used to back the container volume.

This field should be set in create request when the client wants to register an existing disk as a CNS block volume. If this disk is already registered as CNS block volume, then the server will throw CnsAlreadyRegisteredFault CNS fault with the CNS volume ID set.

This field is optional and when this and backingDiskId are not specified, a new disk will be created to back the volume.

When this field is present, capacityInMb and storage policy fields will be ignored.

Note that this field will not be set in the query API result. But in future release of CNS, it may be set.

This field must be in the following format: Format: https://<vc_ip>/folder/<vm_vmdk_path>?dcPath=<datacenterPath>& dsName=<datastoreName>

Ex: https://10.192.255.221/folder/34a9c05d-5f03-e254-e692-02004479cb91/ vm2_1.vmdk?dcPath=/Folder-1/Datacenter-1&dsName=vsanDatastore

This is for a 34a9c05d-5f03-e254-e692-02004479cb91/vm2_1.vmdk file under datacenter “Datacenter-1” with path “/Folder-1/Datacenter-1” and datastore “vsanDatastore”.

§backing_disk_path: Option<String>

This is file path of the volume.

It’s different from backingDiskUrlPath. backingDiskUrlPath is accessible from a web browser, while backingDiskPath is accessible by the file system.

This field is set only in result of query.

§backing_disk_object_id: Option<String>

This is the id generated by underlying object storage, such as vsan/vvol.

This field is set only in result of query.

§used_capacity_in_mb: Option<i64>

This is the rolled up used capacity of the FCD and its snapshots.

Set to -1 if unknown.

§aggregated_snapshot_capacity_in_mb: Option<i64>

This is the rolled up allocated space of the volume’s snapshots.

Set to -1 if unknown.

Trait Implementations§

Source§

impl CnsBackingObjectDetailsTrait for CnsBlockBackingDetails

Source§

fn get_cns_backing_object_details(&self) -> &CnsBackingObjectDetails

Get a reference to the CnsBackingObjectDetails parent struct
Source§

fn get_cns_backing_object_details_mut(&mut self) -> &mut CnsBackingObjectDetails

Get a mutable reference to the CnsBackingObjectDetails parent struct
Source§

impl Debug for CnsBlockBackingDetails

Source§

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

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

impl Deref for CnsBlockBackingDetails

Source§

type Target = CnsBackingObjectDetails

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl DerefMut for CnsBlockBackingDetails

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
Source§

impl Deserialize for CnsBlockBackingDetails

Source§

fn begin(out: &mut Option<Self>) -> &mut dyn Visitor

The only correct implementation of this method is: Read more
Source§

impl Serialize for CnsBlockBackingDetails

Source§

fn begin(&self) -> Fragment<'_>

Source§

impl VimObjectTrait for CnsBlockBackingDetails

Source§

impl DataObjectTrait for CnsBlockBackingDetails

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> AsAny for T
where T: 'static,

Source§

fn as_any_ref<'a>(&'a self) -> &'a (dyn Any + 'static)

Cast a reference to Any trait.

Source§

fn as_any_box(self: Box<T>) -> Box<dyn Any>

Cast to a boxed reference to Any trait.

Source§

fn type_id(&self) -> TypeId

Get the underlying type identifier.
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<To, T> CastInto<To> for T
where To: CastFrom<T> + ?Sized, T: 'static + ?Sized,

Source§

fn into_ref<'a>(&'a self) -> Option<&'a To>

Casts a reference to a trait object. If the cast fails, std::option::Option::None is returned.
Source§

fn into_box(self: Box<T>) -> Result<Box<To>, Box<dyn Any>>

Casts a boxed trait object to another trait object. If the cast fails, the original boxed trait object is returned in std::result::Result::Err.
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<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
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> ErasedDestructor for T
where T: 'static,