#[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 */
}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
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
impl AdvancedMachineFeatures
pub fn new() -> Self
Sourcepub fn set_enable_nested_virtualization<T>(self, v: T) -> Self
pub fn set_enable_nested_virtualization<T>(self, v: T) -> Self
Sets the value of enable_nested_virtualization.
§Example
let x = AdvancedMachineFeatures::new().set_enable_nested_virtualization(true);Sourcepub fn set_or_clear_enable_nested_virtualization<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_enable_nested_virtualization<T>(self, v: Option<T>) -> Self
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>);Sourcepub fn set_enable_uefi_networking<T>(self, v: T) -> Self
pub fn set_enable_uefi_networking<T>(self, v: T) -> Self
Sets the value of enable_uefi_networking.
§Example
let x = AdvancedMachineFeatures::new().set_enable_uefi_networking(true);Sourcepub fn set_or_clear_enable_uefi_networking<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_enable_uefi_networking<T>(self, v: Option<T>) -> Self
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>);Sourcepub fn set_performance_monitoring_unit<T>(self, v: T) -> Selfwhere
T: Into<PerformanceMonitoringUnit>,
pub fn set_performance_monitoring_unit<T>(self, v: T) -> Selfwhere
T: Into<PerformanceMonitoringUnit>,
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);Sourcepub fn set_or_clear_performance_monitoring_unit<T>(self, v: Option<T>) -> Selfwhere
T: Into<PerformanceMonitoringUnit>,
pub fn set_or_clear_performance_monitoring_unit<T>(self, v: Option<T>) -> Selfwhere
T: Into<PerformanceMonitoringUnit>,
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>);Sourcepub fn set_threads_per_core<T>(self, v: T) -> Self
pub fn set_threads_per_core<T>(self, v: T) -> Self
Sets the value of threads_per_core.
§Example
let x = AdvancedMachineFeatures::new().set_threads_per_core(42);Sourcepub fn set_or_clear_threads_per_core<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_threads_per_core<T>(self, v: Option<T>) -> Self
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>);Sourcepub fn set_turbo_mode<T>(self, v: T) -> Self
pub fn set_turbo_mode<T>(self, v: T) -> Self
Sets the value of turbo_mode.
§Example
let x = AdvancedMachineFeatures::new().set_turbo_mode("example");Sourcepub fn set_or_clear_turbo_mode<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_turbo_mode<T>(self, v: Option<T>) -> Self
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>);Sourcepub fn set_visible_core_count<T>(self, v: T) -> Self
pub fn set_visible_core_count<T>(self, v: T) -> Self
Sets the value of visible_core_count.
§Example
let x = AdvancedMachineFeatures::new().set_visible_core_count(42);Sourcepub fn set_or_clear_visible_core_count<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_visible_core_count<T>(self, v: Option<T>) -> Self
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
impl Clone for AdvancedMachineFeatures
Source§fn clone(&self) -> AdvancedMachineFeatures
fn clone(&self) -> AdvancedMachineFeatures
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more