pub struct VirtualMachine {
Show 15 fields pub machine_type: String, pub preemptible: bool, pub labels: BTreeMap<String, String>, pub disks: Vec<Disk>, pub network: Option<Network>, pub accelerators: Vec<Accelerator>, pub service_account: Option<ServiceAccount>, pub boot_disk_size_gb: i32, pub cpu_platform: String, pub boot_image: String, pub nvidia_driver_version: String, pub enable_stackdriver_monitoring: bool, pub docker_cache_images: Vec<String>, pub volumes: Vec<Volume>, pub reservation: String,
}
Expand description

Carries information about a Compute Engine VM resource.

Fields§

§machine_type: String

Required. The machine type of the virtual machine to create. Must be the short name of a standard machine type (such as “n1-standard-1”) or a custom machine type (such as “custom-1-4096”, where “1” indicates the number of vCPUs and “4096” indicates the memory in MB). See Creating an instance with a custom machine type for more specifications on creating a custom machine type.

§preemptible: bool

If true, allocate a preemptible VM.

§labels: BTreeMap<String, String>

Optional set of labels to apply to the VM and any attached disk resources. These labels must adhere to the name and value restrictions on VM labels imposed by Compute Engine.

Labels keys with the prefix ‘google-’ are reserved for use by Google.

Labels applied at creation time to the VM. Applied on a best-effort basis to attached disk resources shortly after VM creation.

§disks: Vec<Disk>

The list of disks to create and attach to the VM.

Specify either the volumes\[\] field or the disks\[\] field, but not both.

§network: Option<Network>

The VM network configuration.

§accelerators: Vec<Accelerator>

The list of accelerators to attach to the VM.

§service_account: Option<ServiceAccount>

The service account to install on the VM. This account does not need any permissions other than those required by the pipeline.

§boot_disk_size_gb: i32

The size of the boot disk, in GB. The boot disk must be large enough to accommodate all of the Docker images from each action in the pipeline at the same time. If not specified, a small but reasonable default value is used.

§cpu_platform: String

The CPU platform to request. An instance based on a newer platform can be allocated, but never one with fewer capabilities. The value of this parameter must be a valid Compute Engine CPU platform name (such as “Intel Skylake”). This parameter is only useful for carefully optimized work loads where the CPU platform has a significant impact.

For more information about the effect of this parameter, see https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform.

§boot_image: String

The host operating system image to use.

Currently, only Container-Optimized OS images can be used.

The default value is projects/cos-cloud/global/images/family/cos-stable, which selects the latest stable release of Container-Optimized OS.

This option is provided to allow testing against the beta release of the operating system to ensure that the new version does not interact negatively with production pipelines.

To test a pipeline against the beta release of Container-Optimized OS, use the value projects/cos-cloud/global/images/family/cos-beta.

§nvidia_driver_version: String
👎Deprecated

The NVIDIA driver version to use when attaching an NVIDIA GPU accelerator. The version specified here must be compatible with the GPU libraries contained in the container being executed, and must be one of the drivers hosted in the nvidia-drivers-us-public bucket on Google Cloud Storage.

§enable_stackdriver_monitoring: bool

Whether Stackdriver monitoring should be enabled on the VM.

§docker_cache_images: Vec<String>

The Compute Engine Disk Images to use as a Docker cache. The disks will be mounted into the Docker folder in a way that the images present in the cache will not need to be pulled. The digests of the cached images must match those of the tags used or the latest version will still be pulled. The root directory of the ext4 image must contain image and overlay2 directories copied from the Docker directory of a VM where the desired Docker images have already been pulled. Any images pulled that are not cached will be stored on the first cache disk instead of the boot disk. Only a single image is supported.

§volumes: Vec<Volume>

The list of disks and other storage to create or attach to the VM.

Specify either the volumes\[\] field or the disks\[\] field, but not both.

§reservation: String

If specified, the VM will only be allocated inside the matching reservation. It will fail if the VM parameters don’t match the reservation.

Trait Implementations§

source§

impl Clone for VirtualMachine

source§

fn clone(&self) -> VirtualMachine

Returns a copy 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 VirtualMachine

source§

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

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

impl Default for VirtualMachine

source§

fn default() -> Self

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

impl Message for VirtualMachine

source§

fn encoded_len(&self) -> usize

Returns the encoded length of the message without a length delimiter.
source§

fn clear(&mut self)

Clears the message, resetting all fields to their default.
source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>
where Self: Sized,

Encodes the message to a buffer. Read more
source§

fn encode_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message to a newly allocated buffer.
source§

fn encode_length_delimited( &self, buf: &mut impl BufMut, ) -> Result<(), EncodeError>
where Self: Sized,

Encodes the message with a length-delimiter to a buffer. Read more
source§

fn encode_length_delimited_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message with a length-delimiter to a newly allocated buffer.
source§

fn decode(buf: impl Buf) -> Result<Self, DecodeError>
where Self: Default,

Decodes an instance of the message from a buffer. Read more
source§

fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>
where Self: Default,

Decodes a length-delimited instance of the message from the buffer.
source§

fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>
where Self: Sized,

Decodes an instance of the message from a buffer, and merges it into self. Read more
source§

fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>
where Self: Sized,

Decodes a length-delimited instance of the message from buffer, and merges it into self.
source§

impl PartialEq for VirtualMachine

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for VirtualMachine

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> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FromRef<T> for T
where T: Clone,

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

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> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
source§

impl<T> ToOwned for T
where T: Clone,

§

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

§

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

§

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

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more