Skip to main content

AdvancedMachineFeatures

Struct AdvancedMachineFeatures 

Source
#[non_exhaustive]
pub struct AdvancedMachineFeatures { pub enable_nested_virtualization: Option<bool>, pub enable_uefi_networking: Option<bool>, pub performance_monitoring_unit: Option<PerformanceMonitoringUnit>, pub threads_per_core: Option<i32>, pub turbo_mode: Option<String>, pub visible_core_count: Option<i32>, /* private fields */ }
Available on crate features instance-templates or instances or machine-images or region-instance-templates or region-instances only.
Expand description

Specifies options for controlling advanced machine features. Options that would traditionally be configured in a BIOS belong here. Features that require operating system support may have corresponding entries in the GuestOsFeatures of anImage (e.g., whether or not the OS in theImage supports nested virtualization being enabled or disabled).

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§enable_nested_virtualization: Option<bool>

Whether to enable nested virtualization or not (default is false).

§enable_uefi_networking: Option<bool>

Whether to enable UEFI networking for instance creation.

§performance_monitoring_unit: Option<PerformanceMonitoringUnit>

Type of Performance Monitoring Unit requested on instance.

§threads_per_core: Option<i32>

The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.

§turbo_mode: Option<String>

Turbo frequency mode to use for the instance. Supported modes include:

  • ALL_CORE_MAX

Using empty string or not setting this field will use the platform-specific default turbo mode.

§visible_core_count: Option<i32>

The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance’s nominal CPU count and the underlying platform’s SMT width.

Implementations§

Source§

impl AdvancedMachineFeatures

Source

pub fn new() -> Self

Source

pub fn set_enable_nested_virtualization<T>(self, v: T) -> Self
where T: Into<bool>,

Sets the value of enable_nested_virtualization.

§Example
let x = AdvancedMachineFeatures::new().set_enable_nested_virtualization(true);
Source

pub fn set_or_clear_enable_nested_virtualization<T>(self, v: Option<T>) -> Self
where T: Into<bool>,

Sets or clears the value of enable_nested_virtualization.

§Example
let x = AdvancedMachineFeatures::new().set_or_clear_enable_nested_virtualization(Some(false));
let x = AdvancedMachineFeatures::new().set_or_clear_enable_nested_virtualization(None::<bool>);
Source

pub fn set_enable_uefi_networking<T>(self, v: T) -> Self
where T: Into<bool>,

Sets the value of enable_uefi_networking.

§Example
let x = AdvancedMachineFeatures::new().set_enable_uefi_networking(true);
Source

pub fn set_or_clear_enable_uefi_networking<T>(self, v: Option<T>) -> Self
where T: Into<bool>,

Sets or clears the value of enable_uefi_networking.

§Example
let x = AdvancedMachineFeatures::new().set_or_clear_enable_uefi_networking(Some(false));
let x = AdvancedMachineFeatures::new().set_or_clear_enable_uefi_networking(None::<bool>);
Source

pub fn set_performance_monitoring_unit<T>(self, v: T) -> Self

Sets the value of performance_monitoring_unit.

§Example
use google_cloud_compute_v1::model::advanced_machine_features::PerformanceMonitoringUnit;
let x0 = AdvancedMachineFeatures::new().set_performance_monitoring_unit(PerformanceMonitoringUnit::Enhanced);
let x1 = AdvancedMachineFeatures::new().set_performance_monitoring_unit(PerformanceMonitoringUnit::Unspecified);
let x2 = AdvancedMachineFeatures::new().set_performance_monitoring_unit(PerformanceMonitoringUnit::Standard);
Source

pub fn set_or_clear_performance_monitoring_unit<T>(self, v: Option<T>) -> Self

Sets or clears the value of performance_monitoring_unit.

§Example
use google_cloud_compute_v1::model::advanced_machine_features::PerformanceMonitoringUnit;
let x0 = AdvancedMachineFeatures::new().set_or_clear_performance_monitoring_unit(Some(PerformanceMonitoringUnit::Enhanced));
let x1 = AdvancedMachineFeatures::new().set_or_clear_performance_monitoring_unit(Some(PerformanceMonitoringUnit::Unspecified));
let x2 = AdvancedMachineFeatures::new().set_or_clear_performance_monitoring_unit(Some(PerformanceMonitoringUnit::Standard));
let x_none = AdvancedMachineFeatures::new().set_or_clear_performance_monitoring_unit(None::<PerformanceMonitoringUnit>);
Source

pub fn set_threads_per_core<T>(self, v: T) -> Self
where T: Into<i32>,

Sets the value of threads_per_core.

§Example
let x = AdvancedMachineFeatures::new().set_threads_per_core(42);
Source

pub fn set_or_clear_threads_per_core<T>(self, v: Option<T>) -> Self
where T: Into<i32>,

Sets or clears the value of threads_per_core.

§Example
let x = AdvancedMachineFeatures::new().set_or_clear_threads_per_core(Some(42));
let x = AdvancedMachineFeatures::new().set_or_clear_threads_per_core(None::<i32>);
Source

pub fn set_turbo_mode<T>(self, v: T) -> Self
where T: Into<String>,

Sets the value of turbo_mode.

§Example
let x = AdvancedMachineFeatures::new().set_turbo_mode("example");
Source

pub fn set_or_clear_turbo_mode<T>(self, v: Option<T>) -> Self
where T: Into<String>,

Sets or clears the value of turbo_mode.

§Example
let x = AdvancedMachineFeatures::new().set_or_clear_turbo_mode(Some("example"));
let x = AdvancedMachineFeatures::new().set_or_clear_turbo_mode(None::<String>);
Source

pub fn set_visible_core_count<T>(self, v: T) -> Self
where T: Into<i32>,

Sets the value of visible_core_count.

§Example
let x = AdvancedMachineFeatures::new().set_visible_core_count(42);
Source

pub fn set_or_clear_visible_core_count<T>(self, v: Option<T>) -> Self
where T: Into<i32>,

Sets or clears the value of visible_core_count.

§Example
let x = AdvancedMachineFeatures::new().set_or_clear_visible_core_count(Some(42));
let x = AdvancedMachineFeatures::new().set_or_clear_visible_core_count(None::<i32>);

Trait Implementations§

Source§

impl Clone for AdvancedMachineFeatures

Source§

fn clone(&self) -> AdvancedMachineFeatures

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for AdvancedMachineFeatures

Source§

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

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

impl Default for AdvancedMachineFeatures

Source§

fn default() -> AdvancedMachineFeatures

Returns the “default value” for a type. Read more
Source§

impl Message for AdvancedMachineFeatures

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for AdvancedMachineFeatures

Source§

fn eq(&self, other: &AdvancedMachineFeatures) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for AdvancedMachineFeatures

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. 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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

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