class Google::Apis::NotebooksV1::VirtualMachineConfig
The config settings for virtual machine.
Attributes
Definition of the types of hardware accelerators that can be used. Definition of the types of hardware accelerators that can be used. See [Compute Engine AcceleratorTypes](cloud.google.com/compute/docs/reference/beta/ acceleratorTypes). Examples: * `nvidia-tesla-k80` * `nvidia-tesla-p100` * ` nvidia-tesla-v100` * `nvidia-tesla-p4` * `nvidia-tesla-t4` * `nvidia-tesla- a100` Corresponds to the JSON property `acceleratorConfig` @return [Google::Apis::NotebooksV1::RuntimeAcceleratorConfig]
Optional. Use a list of container images to start the notebook instance. Corresponds to the JSON property `containerImages` @return [Array<Google::Apis::NotebooksV1::ContainerImage>]
An Local attached disk resource. Corresponds to the JSON property `dataDisk` @return [Google::Apis::NotebooksV1::LocalDisk]
Represents a custom encryption key configuration that can be applied to a resource. This will encrypt all disks in Virtual Machine. Corresponds to the JSON property `encryptionConfig` @return [Google::Apis::NotebooksV1::EncryptionConfig]
Output only. The Compute Engine guest attributes. (see [Project and instance guest attributes](cloud.google.com/compute/docs/storing-retrieving- metadata#guest_attributes)). Corresponds to the JSON property `guestAttributes` @return [Hash<String,String>]
Optional. If true, runtime will only have internal IP addresses. By default, runtimes are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each vm. This `internal_ip_only` restriction can only be enabled for subnetwork enabled networks, and all dependencies must be configured to be accessible without external IP addresses. Corresponds to the JSON property `internalIpOnly` @return [Boolean]
Optional. If true, runtime will only have internal IP addresses. By default, runtimes are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each vm. This `internal_ip_only` restriction can only be enabled for subnetwork enabled networks, and all dependencies must be configured to be accessible without external IP addresses. Corresponds to the JSON property `internalIpOnly` @return [Boolean]
Optional. The labels to associate with this runtime. Label keys must contain 1 to 63 characters, and must conform to [RFC 1035](www.ietf. org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to [RFC 1035](www.ietf. org/rfc/rfc1035.txt). No more than 32 labels can be associated with a cluster. Corresponds to the JSON property `labels` @return [Hash<String,String>]
Required. The Compute Engine machine type used for runtimes. Short name is valid. Examples: * `n1-standard-2` * `e2-standard-8` Corresponds to the JSON property `machineType` @return [String]
Optional. The Compute Engine metadata entries to add to virtual machine. (see [ Project and instance metadata](cloud.google.com/compute/docs/storing- retrieving-metadata#project_and_instance_metadata)). Corresponds to the JSON property `metadata` @return [Hash<String,String>]
Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork. If neither `network` nor `subnet` is specified, the “default” network of the project is used, if it exists. A full URL or partial URI. Examples: * `www.googleapis.com/compute/v1/ projects//regions/global/default` * `projects//regions/ global/default` Runtimes are managed resources inside Google
Infrastructure. Runtimes support the following network configurations: * Google
Managed Network (Network & subnet are empty) * Consumer Project VPC (network & subnet are required). Requires configuring Private Service Access. * Shared VPC ( network & subnet are required). Requires configuring Private Service Access. Corresponds to the JSON property `network` @return [String]
Optional. The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet. Corresponds to the JSON property `nicType` @return [String]
A set of Shielded Instance
options. Check [Images using supported Shielded VM features](cloud.google.com/compute/docs/instances/modifying-shielded- vm). Not all combinations are valid. Corresponds to the JSON property `shieldedInstanceConfig` @return [Google::Apis::NotebooksV1::RuntimeShieldedInstanceConfig]
Optional. The Compute Engine subnetwork to be used for machine communications. Cannot be specified with network. A full URL or partial URI are valid. Examples: * `www.googleapis.com/compute/v1/projects/[project_id]/ regions/us-east1/subnetworks/sub0` * `projects//regions/us-east1/ subnetworks/sub0` Corresponds to the JSON property `subnet` @return [String]
Output only. The zone where the virtual machine is located. If using regional request, the notebooks service will pick a location in the corresponding runtime region. On a get request, zone will always be present. Example: * `us- central1-b` Corresponds to the JSON property `zone` @return [String]
Public Class Methods
# File lib/google/apis/notebooks_v1/classes.rb, line 2843 def initialize(**args) update!(**args) end
Public Instance Methods
Update properties of this object
# File lib/google/apis/notebooks_v1/classes.rb, line 2848 def update!(**args) @accelerator_config = args[:accelerator_config] if args.key?(:accelerator_config) @container_images = args[:container_images] if args.key?(:container_images) @data_disk = args[:data_disk] if args.key?(:data_disk) @encryption_config = args[:encryption_config] if args.key?(:encryption_config) @guest_attributes = args[:guest_attributes] if args.key?(:guest_attributes) @internal_ip_only = args[:internal_ip_only] if args.key?(:internal_ip_only) @labels = args[:labels] if args.key?(:labels) @machine_type = args[:machine_type] if args.key?(:machine_type) @metadata = args[:metadata] if args.key?(:metadata) @network = args[:network] if args.key?(:network) @nic_type = args[:nic_type] if args.key?(:nic_type) @shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config) @subnet = args[:subnet] if args.key?(:subnet) @tags = args[:tags] if args.key?(:tags) @zone = args[:zone] if args.key?(:zone) end