#[non_exhaustive]pub struct ComputeEngineTargetDetails {Show 25 fields
pub vm_name: String,
pub project: String,
pub zone: String,
pub machine_type_series: String,
pub machine_type: String,
pub network_tags: Vec<String>,
pub network_interfaces: Vec<NetworkInterface>,
pub service_account: String,
pub disk_type: ComputeEngineDiskType,
pub labels: HashMap<String, String>,
pub license_type: ComputeEngineLicenseType,
pub applied_license: Option<AppliedLicense>,
pub compute_scheduling: Option<ComputeScheduling>,
pub secure_boot: bool,
pub enable_vtpm: bool,
pub enable_integrity_monitoring: bool,
pub boot_option: ComputeEngineBootOption,
pub metadata: HashMap<String, String>,
pub additional_licenses: Vec<String>,
pub hostname: String,
pub encryption: Option<Encryption>,
pub boot_conversion: BootConversion,
pub adaptation_modifiers: Vec<AdaptationModifier>,
pub disk_replica_zones: Vec<String>,
pub storage_pool: String,
/* private fields */
}Expand description
ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project.
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.vm_name: StringThe name of the VM to create.
project: StringThe Google Cloud target project ID or project name.
zone: StringThe zone in which to create the VM.
machine_type_series: StringThe machine type series to create the VM with.
machine_type: StringThe machine type to create the VM with.
A list of network tags to associate with the VM.
network_interfaces: Vec<NetworkInterface>List of NICs connected to this VM.
service_account: StringThe service account to associate the VM with.
disk_type: ComputeEngineDiskTypeThe disk type to use in the VM.
labels: HashMap<String, String>A map of labels to associate with the VM.
license_type: ComputeEngineLicenseTypeThe license type to use in OS adaptation.
applied_license: Option<AppliedLicense>The OS license returned from the adaptation module report.
compute_scheduling: Option<ComputeScheduling>Compute instance scheduling information (if empty default is used).
secure_boot: boolDefines whether the instance has Secure Boot enabled. This can be set to true only if the VM boot option is EFI.
enable_vtpm: boolOptional. Defines whether the instance has vTPM enabled.
enable_integrity_monitoring: boolOptional. Defines whether the instance has integrity monitoring enabled.
boot_option: ComputeEngineBootOptionThe VM Boot Option, as set in the source VM.
metadata: HashMap<String, String>The metadata key/value pairs to assign to the VM.
additional_licenses: Vec<String>Additional licenses to assign to the VM.
hostname: StringThe hostname to assign to the VM.
encryption: Option<Encryption>Optional. The encryption to apply to the VM disks.
boot_conversion: BootConversionOptional. By default the virtual machine will keep its existing boot option. Setting this property will trigger an internal process which will convert the virtual machine from using the existing boot option to another.
adaptation_modifiers: Vec<AdaptationModifier>Optional. Modifiers to be used as configuration of the OS adaptation process.
disk_replica_zones: Vec<String>Optional. Additional replica zones of the target regional disks. If this list is not empty a regional disk will be created. The first supported zone would be the one stated in the zone field. The rest are taken from this list. Please refer to the regional disk creation API for further details about regional vs zonal disks. If not specified, a zonal disk will be created in the same zone the VM is created.
storage_pool: StringOptional. The storage pool used for the VM disks. If specified this will be the storage pool in which the disk is created. This is the full path of the storage pool resource, for example: “projects/my-project/zones/us-central1-a/storagePools/my-storage-pool”. The storage pool must be in the same project and zone as the target disks. The storage pool’s type must match the disk type.
Implementations§
Source§impl ComputeEngineTargetDetails
impl ComputeEngineTargetDetails
Sourcepub fn set_vm_name<T: Into<String>>(self, v: T) -> Self
pub fn set_vm_name<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_project<T: Into<String>>(self, v: T) -> Self
pub fn set_project<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_machine_type_series<T: Into<String>>(self, v: T) -> Self
pub fn set_machine_type_series<T: Into<String>>(self, v: T) -> Self
Sets the value of machine_type_series.
§Example
let x = ComputeEngineTargetDetails::new().set_machine_type_series("example");Sourcepub fn set_machine_type<T: Into<String>>(self, v: T) -> Self
pub fn set_machine_type<T: Into<String>>(self, v: T) -> Self
Sets the value of machine_type.
§Example
let x = ComputeEngineTargetDetails::new().set_machine_type("example");Sets the value of network_tags.
§Example
let x = ComputeEngineTargetDetails::new().set_network_tags(["a", "b", "c"]);Sourcepub fn set_network_interfaces<T, V>(self, v: T) -> Self
pub fn set_network_interfaces<T, V>(self, v: T) -> Self
Sets the value of network_interfaces.
§Example
use google_cloud_vmmigration_v1::model::NetworkInterface;
let x = ComputeEngineTargetDetails::new()
.set_network_interfaces([
NetworkInterface::default()/* use setters */,
NetworkInterface::default()/* use (different) setters */,
]);Sourcepub fn set_service_account<T: Into<String>>(self, v: T) -> Self
pub fn set_service_account<T: Into<String>>(self, v: T) -> Self
Sets the value of service_account.
§Example
let x = ComputeEngineTargetDetails::new().set_service_account("example");Sourcepub fn set_disk_type<T: Into<ComputeEngineDiskType>>(self, v: T) -> Self
pub fn set_disk_type<T: Into<ComputeEngineDiskType>>(self, v: T) -> Self
Sets the value of disk_type.
§Example
use google_cloud_vmmigration_v1::model::ComputeEngineDiskType;
let x0 = ComputeEngineTargetDetails::new().set_disk_type(ComputeEngineDiskType::Standard);
let x1 = ComputeEngineTargetDetails::new().set_disk_type(ComputeEngineDiskType::Ssd);
let x2 = ComputeEngineTargetDetails::new().set_disk_type(ComputeEngineDiskType::Balanced);Sourcepub fn set_labels<T, K, V>(self, v: T) -> Self
pub fn set_labels<T, K, V>(self, v: T) -> Self
Sourcepub fn set_license_type<T: Into<ComputeEngineLicenseType>>(self, v: T) -> Self
pub fn set_license_type<T: Into<ComputeEngineLicenseType>>(self, v: T) -> Self
Sets the value of license_type.
§Example
use google_cloud_vmmigration_v1::model::ComputeEngineLicenseType;
let x0 = ComputeEngineTargetDetails::new().set_license_type(ComputeEngineLicenseType::Payg);
let x1 = ComputeEngineTargetDetails::new().set_license_type(ComputeEngineLicenseType::Byol);Sourcepub fn set_applied_license<T>(self, v: T) -> Selfwhere
T: Into<AppliedLicense>,
pub fn set_applied_license<T>(self, v: T) -> Selfwhere
T: Into<AppliedLicense>,
Sets the value of applied_license.
§Example
use google_cloud_vmmigration_v1::model::AppliedLicense;
let x = ComputeEngineTargetDetails::new().set_applied_license(AppliedLicense::default()/* use setters */);Sourcepub fn set_or_clear_applied_license<T>(self, v: Option<T>) -> Selfwhere
T: Into<AppliedLicense>,
pub fn set_or_clear_applied_license<T>(self, v: Option<T>) -> Selfwhere
T: Into<AppliedLicense>,
Sets or clears the value of applied_license.
§Example
use google_cloud_vmmigration_v1::model::AppliedLicense;
let x = ComputeEngineTargetDetails::new().set_or_clear_applied_license(Some(AppliedLicense::default()/* use setters */));
let x = ComputeEngineTargetDetails::new().set_or_clear_applied_license(None::<AppliedLicense>);Sourcepub fn set_compute_scheduling<T>(self, v: T) -> Selfwhere
T: Into<ComputeScheduling>,
pub fn set_compute_scheduling<T>(self, v: T) -> Selfwhere
T: Into<ComputeScheduling>,
Sets the value of compute_scheduling.
§Example
use google_cloud_vmmigration_v1::model::ComputeScheduling;
let x = ComputeEngineTargetDetails::new().set_compute_scheduling(ComputeScheduling::default()/* use setters */);Sourcepub fn set_or_clear_compute_scheduling<T>(self, v: Option<T>) -> Selfwhere
T: Into<ComputeScheduling>,
pub fn set_or_clear_compute_scheduling<T>(self, v: Option<T>) -> Selfwhere
T: Into<ComputeScheduling>,
Sets or clears the value of compute_scheduling.
§Example
use google_cloud_vmmigration_v1::model::ComputeScheduling;
let x = ComputeEngineTargetDetails::new().set_or_clear_compute_scheduling(Some(ComputeScheduling::default()/* use setters */));
let x = ComputeEngineTargetDetails::new().set_or_clear_compute_scheduling(None::<ComputeScheduling>);Sourcepub fn set_secure_boot<T: Into<bool>>(self, v: T) -> Self
pub fn set_secure_boot<T: Into<bool>>(self, v: T) -> Self
Sets the value of secure_boot.
§Example
let x = ComputeEngineTargetDetails::new().set_secure_boot(true);Sourcepub fn set_enable_vtpm<T: Into<bool>>(self, v: T) -> Self
pub fn set_enable_vtpm<T: Into<bool>>(self, v: T) -> Self
Sets the value of enable_vtpm.
§Example
let x = ComputeEngineTargetDetails::new().set_enable_vtpm(true);Sourcepub fn set_enable_integrity_monitoring<T: Into<bool>>(self, v: T) -> Self
pub fn set_enable_integrity_monitoring<T: Into<bool>>(self, v: T) -> Self
Sets the value of enable_integrity_monitoring.
§Example
let x = ComputeEngineTargetDetails::new().set_enable_integrity_monitoring(true);Sourcepub fn set_boot_option<T: Into<ComputeEngineBootOption>>(self, v: T) -> Self
pub fn set_boot_option<T: Into<ComputeEngineBootOption>>(self, v: T) -> Self
Sets the value of boot_option.
§Example
use google_cloud_vmmigration_v1::model::ComputeEngineBootOption;
let x0 = ComputeEngineTargetDetails::new().set_boot_option(ComputeEngineBootOption::Efi);
let x1 = ComputeEngineTargetDetails::new().set_boot_option(ComputeEngineBootOption::Bios);Sourcepub fn set_metadata<T, K, V>(self, v: T) -> Self
pub fn set_metadata<T, K, V>(self, v: T) -> Self
Sourcepub fn set_additional_licenses<T, V>(self, v: T) -> Self
pub fn set_additional_licenses<T, V>(self, v: T) -> Self
Sets the value of additional_licenses.
§Example
let x = ComputeEngineTargetDetails::new().set_additional_licenses(["a", "b", "c"]);Sourcepub fn set_hostname<T: Into<String>>(self, v: T) -> Self
pub fn set_hostname<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_encryption<T>(self, v: T) -> Selfwhere
T: Into<Encryption>,
pub fn set_encryption<T>(self, v: T) -> Selfwhere
T: Into<Encryption>,
Sets the value of encryption.
§Example
use google_cloud_vmmigration_v1::model::Encryption;
let x = ComputeEngineTargetDetails::new().set_encryption(Encryption::default()/* use setters */);Sourcepub fn set_or_clear_encryption<T>(self, v: Option<T>) -> Selfwhere
T: Into<Encryption>,
pub fn set_or_clear_encryption<T>(self, v: Option<T>) -> Selfwhere
T: Into<Encryption>,
Sets or clears the value of encryption.
§Example
use google_cloud_vmmigration_v1::model::Encryption;
let x = ComputeEngineTargetDetails::new().set_or_clear_encryption(Some(Encryption::default()/* use setters */));
let x = ComputeEngineTargetDetails::new().set_or_clear_encryption(None::<Encryption>);Sourcepub fn set_boot_conversion<T: Into<BootConversion>>(self, v: T) -> Self
pub fn set_boot_conversion<T: Into<BootConversion>>(self, v: T) -> Self
Sets the value of boot_conversion.
§Example
use google_cloud_vmmigration_v1::model::BootConversion;
let x0 = ComputeEngineTargetDetails::new().set_boot_conversion(BootConversion::None);
let x1 = ComputeEngineTargetDetails::new().set_boot_conversion(BootConversion::BiosToEfi);Sourcepub fn set_adaptation_modifiers<T, V>(self, v: T) -> Self
pub fn set_adaptation_modifiers<T, V>(self, v: T) -> Self
Sets the value of adaptation_modifiers.
§Example
use google_cloud_vmmigration_v1::model::AdaptationModifier;
let x = ComputeEngineTargetDetails::new()
.set_adaptation_modifiers([
AdaptationModifier::default()/* use setters */,
AdaptationModifier::default()/* use (different) setters */,
]);Sourcepub fn set_disk_replica_zones<T, V>(self, v: T) -> Self
pub fn set_disk_replica_zones<T, V>(self, v: T) -> Self
Sets the value of disk_replica_zones.
§Example
let x = ComputeEngineTargetDetails::new().set_disk_replica_zones(["a", "b", "c"]);Sourcepub fn set_storage_pool<T: Into<String>>(self, v: T) -> Self
pub fn set_storage_pool<T: Into<String>>(self, v: T) -> Self
Sets the value of storage_pool.
§Example
let x = ComputeEngineTargetDetails::new().set_storage_pool("example");Trait Implementations§
Source§impl Clone for ComputeEngineTargetDetails
impl Clone for ComputeEngineTargetDetails
Source§fn clone(&self) -> ComputeEngineTargetDetails
fn clone(&self) -> ComputeEngineTargetDetails
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ComputeEngineTargetDetails
impl Debug for ComputeEngineTargetDetails
Source§impl Default for ComputeEngineTargetDetails
impl Default for ComputeEngineTargetDetails
Source§fn default() -> ComputeEngineTargetDetails
fn default() -> ComputeEngineTargetDetails
Source§impl Message for ComputeEngineTargetDetails
impl Message for ComputeEngineTargetDetails
Source§impl PartialEq for ComputeEngineTargetDetails
impl PartialEq for ComputeEngineTargetDetails
Source§fn eq(&self, other: &ComputeEngineTargetDetails) -> bool
fn eq(&self, other: &ComputeEngineTargetDetails) -> bool
self and other values to be equal, and is used by ==.