Class: Google::Apis::NotebooksV1::VirtualMachineConfig

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/notebooks_v1/classes.rb,
lib/google/apis/notebooks_v1/representations.rb,
lib/google/apis/notebooks_v1/representations.rb

Overview

The config settings for virtual machine.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ VirtualMachineConfig

Returns a new instance of VirtualMachineConfig.



3449
3450
3451
# File 'lib/google/apis/notebooks_v1/classes.rb', line 3449

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#accelerator_configGoogle::Apis::NotebooksV1::RuntimeAcceleratorConfig

Definition of the types of hardware accelerators that can be used. See Compute Engine 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



3324
3325
3326
# File 'lib/google/apis/notebooks_v1/classes.rb', line 3324

def accelerator_config
  @accelerator_config
end

#boot_imageGoogle::Apis::NotebooksV1::BootImage

Definition of the boot image used by the Runtime. Used to facilitate runtime upgradeability. Corresponds to the JSON property bootImage



3330
3331
3332
# File 'lib/google/apis/notebooks_v1/classes.rb', line 3330

def boot_image
  @boot_image
end

#container_imagesArray<Google::Apis::NotebooksV1::ContainerImage>

Optional. Use a list of container images to use as Kernels in the notebook instance. Corresponds to the JSON property containerImages



3336
3337
3338
# File 'lib/google/apis/notebooks_v1/classes.rb', line 3336

def container_images
  @container_images
end

#data_diskGoogle::Apis::NotebooksV1::LocalDisk

A Local attached disk resource. Corresponds to the JSON property dataDisk



3341
3342
3343
# File 'lib/google/apis/notebooks_v1/classes.rb', line 3341

def data_disk
  @data_disk
end

#encryption_configGoogle::Apis::NotebooksV1::EncryptionConfig

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



3347
3348
3349
# File 'lib/google/apis/notebooks_v1/classes.rb', line 3347

def encryption_config
  @encryption_config
end

#guest_attributesHash<String,String>

Output only. The Compute Engine guest attributes. (see Project and instance guest attributes). Corresponds to the JSON property guestAttributes

Returns:

  • (Hash<String,String>)


3354
3355
3356
# File 'lib/google/apis/notebooks_v1/classes.rb', line 3354

def guest_attributes
  @guest_attributes
end

#internal_ip_onlyBoolean Also known as: internal_ip_only?

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

Returns:

  • (Boolean)


3363
3364
3365
# File 'lib/google/apis/notebooks_v1/classes.rb', line 3363

def internal_ip_only
  @internal_ip_only
end

#labelsHash<String,String>

Optional. The labels to associate with this runtime. Label keys must contain 1 to 63 characters, and must conform to RFC 1035. Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035. No more than 32 labels can be associated with a cluster. Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


3373
3374
3375
# File 'lib/google/apis/notebooks_v1/classes.rb', line 3373

def labels
  @labels
end

#machine_typeString

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

Returns:

  • (String)


3379
3380
3381
# File 'lib/google/apis/notebooks_v1/classes.rb', line 3379

def machine_type
  @machine_type
end

#metadataHash<String,String>

Optional. The Compute Engine metadata entries to add to virtual machine. (see Project and instance metadata). Corresponds to the JSON property metadata

Returns:

  • (Hash<String,String>)


3386
3387
3388
# File 'lib/google/apis/notebooks_v1/classes.rb', line 3386

def 
  @metadata
end

#networkString

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: * https://www.googleapis.com/compute/v1/ projects/[project_id]/global/networks/default * projects/[project_id]/global/ networks/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

Returns:

  • (String)


3400
3401
3402
# File 'lib/google/apis/notebooks_v1/classes.rb', line 3400

def network
  @network
end

#nic_typeString

Optional. The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet. Corresponds to the JSON property nicType

Returns:

  • (String)


3406
3407
3408
# File 'lib/google/apis/notebooks_v1/classes.rb', line 3406

def nic_type
  @nic_type
end

#reserved_ip_rangeString

Optional. Reserved IP Range name is used for VPC Peering. The subnetwork allocation will use the range name if it's assigned. Example: managed- notebooks-range-c PEERING_RANGE_NAME_3=managed-notebooks-range-c gcloud compute addresses create $PEERING_RANGE_NAME_3 \ --global \ --prefix-length=24 \ --description="Google Cloud Managed Notebooks Range 24 c" \ --network=$ NETWORK \ --addresses=192.168.0.0 \ --purpose=VPC_PEERING Field value will be: managed-notebooks-range-c Corresponds to the JSON property reservedIpRange

Returns:

  • (String)


3417
3418
3419
# File 'lib/google/apis/notebooks_v1/classes.rb', line 3417

def reserved_ip_range
  @reserved_ip_range
end

#shielded_instance_configGoogle::Apis::NotebooksV1::RuntimeShieldedInstanceConfig

A set of Shielded Instance options. See Images using supported Shielded VM features. Not all combinations are valid. Corresponds to the JSON property shieldedInstanceConfig



3424
3425
3426
# File 'lib/google/apis/notebooks_v1/classes.rb', line 3424

def shielded_instance_config
  @shielded_instance_config
end

#subnetString

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: * https://www.googleapis.com/compute/v1/projects/[project_id]/ regions/us-east1/subnetworks/sub0 * projects/[project_id]/regions/us-east1/ subnetworks/sub0 Corresponds to the JSON property subnet

Returns:

  • (String)


3433
3434
3435
# File 'lib/google/apis/notebooks_v1/classes.rb', line 3433

def subnet
  @subnet
end

#tagsArray<String>

Optional. The Compute Engine tags to add to runtime (see Tagging instances). Corresponds to the JSON property tags

Returns:

  • (Array<String>)


3439
3440
3441
# File 'lib/google/apis/notebooks_v1/classes.rb', line 3439

def tags
  @tags
end

#zoneString

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

Returns:

  • (String)


3447
3448
3449
# File 'lib/google/apis/notebooks_v1/classes.rb', line 3447

def zone
  @zone
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
# File 'lib/google/apis/notebooks_v1/classes.rb', line 3454

def update!(**args)
  @accelerator_config = args[:accelerator_config] if args.key?(:accelerator_config)
  @boot_image = args[:boot_image] if args.key?(:boot_image)
  @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)
  @reserved_ip_range = args[:reserved_ip_range] if args.key?(:reserved_ip_range)
  @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