Skip to main content

ClusterFtVmHostRuleInfo

Struct ClusterFtVmHostRuleInfo 

Source
pub struct ClusterFtVmHostRuleInfo {
    pub cluster_rule_info_: ClusterRuleInfo,
    pub vm_group_name: String,
    pub host_group_name: Option<Vec<String>>,
}
Expand description

An ClusterFtVmHostRuleInfo object provides control of the placement of virtual machines across two host groups.

The virtual machines and hosts referenced by an FT VM-Host rule must be in the same cluster.

An FT VM-Host rule identifies the following groups.

  • A virtual machine group name (ClusterVmGroup).
  • An array of two host groups (ClusterHostGroup).

ClusterFtVmHostRuleInfo stores only the names of the relevant virtual machine and host groups. The group contents are stored in the virtual machine and host group objects.

When employing this rule, take care to ensure that the specified host groups have sufficient resources to support the requirements of all VMs specified.

Since: vSphere API Release 8.0.3.0

§How to access

  • StoragePod::pod_storage_drs_entry.storage_drs_config.pod_config.rule?[*]→ClusterFtVmHostRuleInfo
  • ComputeResource::configuration_ex→ClusterConfigInfoEx.rule?[*]→ClusterFtVmHostRuleInfo
  • ClusterComputeResource::configuration.rule?[*]→ClusterFtVmHostRuleInfo
  • ClusterComputeResource::configuration_ex→ClusterConfigInfoEx.rule?[*]→ClusterFtVmHostRuleInfo
  • Folder::create_cluster(spec).rules_spec?[*].info?→ClusterFtVmHostRuleInfo
  • Folder::create_cluster_ex(spec).rules_spec?[*].info?→ClusterFtVmHostRuleInfo
  • Folder::add_standalone_host_task(comp_res_spec)→ClusterConfigSpecEx.rules_spec?[*].info?→ClusterFtVmHostRuleInfo
  • Folder::batch_add_hosts_to_cluster_task(comp_res_spec)→ClusterConfigSpecEx.rules_spec?[*].info?→ClusterFtVmHostRuleInfo
  • Folder::batch_add_standalone_hosts_task(comp_res_spec)→ClusterConfigSpecEx.rules_spec?[*].info?→ClusterFtVmHostRuleInfo
  • StoragePod::create_cluster(spec).rules_spec?[*].info?→ClusterFtVmHostRuleInfo

(10 of 24 paths)

Fields§

§cluster_rule_info_: ClusterRuleInfo§vm_group_name: String

Virtual machine group name (ClusterVmGroup.ClusterGroupInfo.name).

The named virtual machine group may have zero or more VMs. A virtual machine in this group may be a normal virtual machine or a fault tolerant primary virtual machine; it cannot be a fault tolerant secondary virtual machine.

Control of FT secondary virtual machines is implied by the presence of the primary FT virtual machine.

A virtual machine in this group should not be referenced in any other FT VM-Host rule or VM-Host rule ClusterVmHostRuleInfo.

§host_group_name: Option<Vec<String>>

Array of two Host Groups (ClusterHostGroup).

The hostGroup array must have two host groups. Each host group in the hostGroup array will have a set of hosts. For each Fault Tolerance primary VM that is part of VmGroup, the primary and secondary VMs would be placed on hosts that are not part of the same host group.

The members of each host group should be disjoint from the members of all other host group specified.

Trait Implementations§

Source§

impl ClusterRuleInfoTrait for ClusterFtVmHostRuleInfo

Source§

fn get_cluster_rule_info(&self) -> &ClusterRuleInfo

Get a reference to the ClusterRuleInfo parent struct
Source§

fn get_cluster_rule_info_mut(&mut self) -> &mut ClusterRuleInfo

Get a mutable reference to the ClusterRuleInfo parent struct
Source§

impl Debug for ClusterFtVmHostRuleInfo

Source§

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

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

impl Deref for ClusterFtVmHostRuleInfo

Source§

type Target = ClusterRuleInfo

The resulting type after dereferencing.
Source§

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

Dereferences the value.
Source§

impl DerefMut for ClusterFtVmHostRuleInfo

Source§

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

Mutably dereferences the value.
Source§

impl Deserialize for ClusterFtVmHostRuleInfo

Source§

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

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

impl Serialize for ClusterFtVmHostRuleInfo

Source§

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

Source§

impl VimObjectTrait for ClusterFtVmHostRuleInfo

Source§

impl DataObjectTrait for ClusterFtVmHostRuleInfo

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,