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.



2625
2626
2627
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2625

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



2525
2526
2527
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2525

def accelerator_config
  @accelerator_config
end

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

Optional. Use a list of container images to start the notebook instance. Corresponds to the JSON property containerImages



2530
2531
2532
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2530

def container_images
  @container_images
end

#data_diskGoogle::Apis::NotebooksV1::LocalDisk

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



2535
2536
2537
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2535

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



2541
2542
2543
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2541

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


2548
2549
2550
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2548

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)


2557
2558
2559
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2557

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


2567
2568
2569
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2567

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)


2573
2574
2575
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2573

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


2580
2581
2582
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2580

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]/regions/global/default * projects/[project_id]/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

Returns:

  • (String)


2594
2595
2596
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2594

def network
  @network
end

#shielded_instance_configGoogle::Apis::NotebooksV1::RuntimeShieldedInstanceConfig

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



2600
2601
2602
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2600

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)


2609
2610
2611
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2609

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


2615
2616
2617
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2615

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)


2623
2624
2625
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2623

def zone
  @zone
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2630

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)
  @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