class Google::Apis::NotebooksV1::VirtualMachineConfig

The config settings for virtual machine.

Attributes

accelerator_config[RW]

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]

container_images[RW]

Optional. Use a list of container images to start the notebook instance. Corresponds to the JSON property `containerImages` @return [Array<Google::Apis::NotebooksV1::ContainerImage>]

data_disk[RW]

An Local attached disk resource. Corresponds to the JSON property `dataDisk` @return [Google::Apis::NotebooksV1::LocalDisk]

encryption_config[RW]

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]

guest_attributes[RW]

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

internal_ip_only[RW]

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]

internal_ip_only?[RW]

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]

labels[RW]

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

machine_type[RW]

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]

metadata[RW]

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

network[RW]

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]

nic_type[RW]

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]

shielded_instance_config[RW]

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]

subnet[RW]

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]

tags[RW]

Optional. The Compute Engine tags to add to runtime (see [Tagging instances]( cloud.google.com/compute/docs/label-or-tag-resources#tags)). Corresponds to the JSON property `tags` @return [Array<String>]

zone[RW]

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

new(**args) click to toggle source
# File lib/google/apis/notebooks_v1/classes.rb, line 2843
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

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