ParaVirtualScsiController

Struct ParaVirtualScsiController 

Source
pub struct ParaVirtualScsiController {
Show 14 fields pub key: i32, pub device_info: Option<Box<dyn DescriptionTrait>>, pub backing: Option<Box<dyn VirtualDeviceBackingInfoTrait>>, pub connectable: Option<VirtualDeviceConnectInfo>, pub slot_info: Option<Box<dyn VirtualDeviceBusSlotInfoTrait>>, pub controller_key: Option<i32>, pub unit_number: Option<i32>, pub numa_node: Option<i32>, pub device_group_info: Option<VirtualDeviceDeviceGroupInfo>, pub bus_number: i32, pub device: Option<Vec<i32>>, pub hot_add_remove: Option<bool>, pub shared_bus: VirtualScsiSharingEnum, pub scsi_ctlr_unit_number: Option<i32>,
}
Expand description

ParaVirtualSCSIController is the data object that represents a paravirtualized SCSI controller.

Fields§

§key: i32

A unique key that distinguishes this device from other devices in the same virtual machine.

Keys are immutable but may be recycled; that is, a key does not change as long as the device is associated with a particular virtual machine. However, once a device is removed, its key may be used when another device is added.

This property is not read-only, but the client cannot control its value. Persistent device keys are always assigned and managed by the server, which guarantees that all devices will have non-negative key values.

When adding new devices, it may be necessary for a client to assign keys temporarily in order to associate controllers with devices in configuring a virtual machine. However, the server does not allow a client to reassign a device key, and the server may assign a different value from the one passed during configuration. Clients should ensure that existing device keys are not reused as temporary key values for the new device to be added (for example, by using unique negative integers as temporary keys).

When editing or deleting a device, clients must use the server-provided key to refer to an existing device.

§device_info: Option<Box<dyn DescriptionTrait>>

Provides a label and summary information for the device.

§backing: Option<Box<dyn VirtualDeviceBackingInfoTrait>>

Information about the backing of this virtual device presented in the context of the virtual machine’s environment.

Not all devices are required to have backing information.

See also VirtualMachineConfigOption.

§connectable: Option<VirtualDeviceConnectInfo>

Provides information about restrictions on removing this device while a virtual machine is running.

If the device is not removable, then this property is null.

§slot_info: Option<Box<dyn VirtualDeviceBusSlotInfoTrait>>

Information about the bus slot of a device in a virtual machine.

§controller_key: Option<i32>

Object key for the controller object for this device.

This property contains the key property value of the controller device object.

§unit_number: Option<i32>

The unit number of this device on its controller.

This property is null if the controller property is null (for example, when the device is not attached to a specific controller object).

Normally, two devices on the same controller may not be assigned the same unit number. If multiple devices could exist on a controller, then unit number has to be specified to configure respective devices.

§numa_node: Option<i32>

The virtual NUMA node.

A negative number means there is no affinity for the device. A positive number is a vNUMA node. An unset value of numaNode is status-quo during Reconfigure time. If numaNode is unset during ConfigInfo, then it means there is no affinity for the device.

Since: vSphere API Release 8.0.0.1

§device_group_info: Option<VirtualDeviceDeviceGroupInfo>

Information about device group device is part of.

Devices in the device group cannot be added/removed individually, whole group has to be added/removed at once. Value can be set during device add, it cannot be modified later.

Since: vSphere API Release 8.0.0.1

§bus_number: i32

Bus number associated with this controller.

§device: Option<Vec<i32>>

List of devices currently controlled by this controller.

Each entry contains the VirtualDevice.key property of the corresponding device object.

§hot_add_remove: Option<bool>

All SCSI controllers support hot adding and removing of devices.

This support can’t be toggled in the current implementation. Therefore, this option is ignored when reconfiguring a SCSI controller and is always set to “true” when reading an existing configuration.

§shared_bus: VirtualScsiSharingEnum

Mode for sharing the SCSI bus.

The modes are physicalSharing, virtualSharing, and noSharing. See the Sharing data object type for an explanation of these modes.

§scsi_ctlr_unit_number: Option<i32>

The unit number of the SCSI controller.

The SCSI controller sits on its own bus, so this field defines which slot the controller is using.

Trait Implementations§

Source§

impl Debug for ParaVirtualScsiController

Source§

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

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

impl<'de> Deserialize<'de> for ParaVirtualScsiController

Source§

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

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

impl Serialize for ParaVirtualScsiController

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 VimObjectTrait for ParaVirtualScsiController

Source§

impl VirtualControllerTrait for ParaVirtualScsiController

Source§

fn get_bus_number(&self) -> i32

Bus number associated with this controller.
Source§

fn get_device(&self) -> &Option<Vec<i32>>

List of devices currently controlled by this controller. Read more
Source§

impl VirtualDeviceTrait for ParaVirtualScsiController

Source§

fn get_key(&self) -> i32

A unique key that distinguishes this device from other devices in the same virtual machine. Read more
Source§

fn get_device_info(&self) -> &Option<Box<dyn DescriptionTrait>>

Provides a label and summary information for the device.
Source§

fn get_backing(&self) -> &Option<Box<dyn VirtualDeviceBackingInfoTrait>>

Information about the backing of this virtual device presented in the context of the virtual machine’s environment. Read more
Source§

fn get_connectable(&self) -> &Option<VirtualDeviceConnectInfo>

Provides information about restrictions on removing this device while a virtual machine is running. Read more
Source§

fn get_slot_info(&self) -> &Option<Box<dyn VirtualDeviceBusSlotInfoTrait>>

Information about the bus slot of a device in a virtual machine.
Source§

fn get_controller_key(&self) -> Option<i32>

Object key for the controller object for this device. Read more
Source§

fn get_unit_number(&self) -> Option<i32>

The unit number of this device on its controller. Read more
Source§

fn get_numa_node(&self) -> Option<i32>

The virtual NUMA node. Read more
Source§

fn get_device_group_info(&self) -> &Option<VirtualDeviceDeviceGroupInfo>

Information about device group device is part of. Read more
Source§

impl VirtualScsiControllerTrait for ParaVirtualScsiController

Source§

fn get_hot_add_remove(&self) -> Option<bool>

All SCSI controllers support hot adding and removing of devices. Read more
Source§

fn get_shared_bus(&self) -> &VirtualScsiSharingEnum

Mode for sharing the SCSI bus. Read more
Source§

fn get_scsi_ctlr_unit_number(&self) -> Option<i32>

The unit number of the SCSI controller. Read more
Source§

impl DataObjectTrait for ParaVirtualScsiController

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

Source§

impl<T> ErasedDestructor for T
where T: 'static,