Skip to main content

ComputeEngineTargetDetails

Struct ComputeEngineTargetDetails 

Source
#[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
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.
§vm_name: String

The name of the VM to create.

§project: String

The Google Cloud target project ID or project name.

§zone: String

The zone in which to create the VM.

§machine_type_series: String

The machine type series to create the VM with.

§machine_type: String

The machine type to create the VM with.

§network_tags: Vec<String>

A list of network tags to associate with the VM.

§network_interfaces: Vec<NetworkInterface>

List of NICs connected to this VM.

§service_account: String

The service account to associate the VM with.

§disk_type: ComputeEngineDiskType

The disk type to use in the VM.

§labels: HashMap<String, String>

A map of labels to associate with the VM.

§license_type: ComputeEngineLicenseType

The 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: bool

Defines whether the instance has Secure Boot enabled. This can be set to true only if the VM boot option is EFI.

§enable_vtpm: bool

Optional. Defines whether the instance has vTPM enabled.

§enable_integrity_monitoring: bool

Optional. Defines whether the instance has integrity monitoring enabled.

§boot_option: ComputeEngineBootOption

The 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: String

The hostname to assign to the VM.

§encryption: Option<Encryption>

Optional. The encryption to apply to the VM disks.

§boot_conversion: BootConversion

Optional. 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: String

Optional. 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

Source

pub fn new() -> Self

Creates a new default instance.

Source

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

Sets the value of vm_name.

§Example
let x = ComputeEngineTargetDetails::new().set_vm_name("example");
Source

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

Sets the value of project.

§Example
let x = ComputeEngineTargetDetails::new().set_project("example");
Source

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

Sets the value of zone.

§Example
let x = ComputeEngineTargetDetails::new().set_zone("example");
Source

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");
Source

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");
Source

pub fn set_network_tags<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<String>,

Sets the value of network_tags.

§Example
let x = ComputeEngineTargetDetails::new().set_network_tags(["a", "b", "c"]);
Source

pub fn set_network_interfaces<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<NetworkInterface>,

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 */,
    ]);
Source

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");
Source

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);
Source

pub fn set_labels<T, K, V>(self, v: T) -> Self
where T: IntoIterator<Item = (K, V)>, K: Into<String>, V: Into<String>,

Sets the value of labels.

§Example
let x = ComputeEngineTargetDetails::new().set_labels([
    ("key0", "abc"),
    ("key1", "xyz"),
]);
Source

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);
Source

pub fn set_applied_license<T>(self, v: T) -> Self
where 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 */);
Source

pub fn set_or_clear_applied_license<T>(self, v: Option<T>) -> Self
where 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>);
Source

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

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 */);
Source

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

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>);
Source

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);
Source

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);
Source

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);
Source

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);
Source

pub fn set_metadata<T, K, V>(self, v: T) -> Self
where T: IntoIterator<Item = (K, V)>, K: Into<String>, V: Into<String>,

Sets the value of metadata.

§Example
let x = ComputeEngineTargetDetails::new().set_metadata([
    ("key0", "abc"),
    ("key1", "xyz"),
]);
Source

pub fn set_additional_licenses<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<String>,

Sets the value of additional_licenses.

§Example
let x = ComputeEngineTargetDetails::new().set_additional_licenses(["a", "b", "c"]);
Source

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

Sets the value of hostname.

§Example
let x = ComputeEngineTargetDetails::new().set_hostname("example");
Source

pub fn set_encryption<T>(self, v: T) -> Self
where 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 */);
Source

pub fn set_or_clear_encryption<T>(self, v: Option<T>) -> Self
where 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>);
Source

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);
Source

pub fn set_adaptation_modifiers<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<AdaptationModifier>,

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 */,
    ]);
Source

pub fn set_disk_replica_zones<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<String>,

Sets the value of disk_replica_zones.

§Example
let x = ComputeEngineTargetDetails::new().set_disk_replica_zones(["a", "b", "c"]);
Source

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

Source§

fn clone(&self) -> ComputeEngineTargetDetails

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for ComputeEngineTargetDetails

Source§

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

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

impl Default for ComputeEngineTargetDetails

Source§

fn default() -> ComputeEngineTargetDetails

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

impl Message for ComputeEngineTargetDetails

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for ComputeEngineTargetDetails

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · 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 ComputeEngineTargetDetails

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FutureExt for T

Source§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Source§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
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: Sized + 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: Sized + 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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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