Class: Google::Apis::NotebooksV1::VirtualMachineConfig
- Inherits:
-
Object
- Object
- Google::Apis::NotebooksV1::VirtualMachineConfig
- 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
-
#accelerator_config ⇒ Google::Apis::NotebooksV1::RuntimeAcceleratorConfig
Definition of the types of hardware accelerators that can be used.
-
#container_images ⇒ Array<Google::Apis::NotebooksV1::ContainerImage>
Optional.
-
#data_disk ⇒ Google::Apis::NotebooksV1::LocalDisk
An Local attached disk resource.
-
#encryption_config ⇒ Google::Apis::NotebooksV1::EncryptionConfig
Represents a custom encryption key configuration that can be applied to a resource.
-
#guest_attributes ⇒ Hash<String,String>
Output only.
-
#internal_ip_only ⇒ Boolean
(also: #internal_ip_only?)
Optional.
-
#labels ⇒ Hash<String,String>
Optional.
-
#machine_type ⇒ String
Required.
-
#metadata ⇒ Hash<String,String>
Optional.
-
#network ⇒ String
Optional.
-
#nic_type ⇒ String
Optional.
-
#shielded_instance_config ⇒ Google::Apis::NotebooksV1::RuntimeShieldedInstanceConfig
A set of Shielded Instance options.
-
#subnet ⇒ String
Optional.
-
#tags ⇒ Array<String>
Optional.
-
#zone ⇒ String
Output only.
Instance Method Summary collapse
-
#initialize(**args) ⇒ VirtualMachineConfig
constructor
A new instance of VirtualMachineConfig.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ VirtualMachineConfig
Returns a new instance of VirtualMachineConfig.
2718 2719 2720 |
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2718 def initialize(**args) update!(**args) end |
Instance Attribute Details
#accelerator_config ⇒ Google::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
2612 2613 2614 |
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2612 def accelerator_config @accelerator_config end |
#container_images ⇒ Array<Google::Apis::NotebooksV1::ContainerImage>
Optional. Use a list of container images to start the notebook instance.
Corresponds to the JSON property containerImages
2617 2618 2619 |
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2617 def container_images @container_images end |
#data_disk ⇒ Google::Apis::NotebooksV1::LocalDisk
An Local attached disk resource.
Corresponds to the JSON property dataDisk
2622 2623 2624 |
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2622 def data_disk @data_disk end |
#encryption_config ⇒ Google::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
2628 2629 2630 |
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2628 def encryption_config @encryption_config end |
#guest_attributes ⇒ Hash<String,String>
Output only. The Compute Engine guest attributes. (see Project and instance
guest attributes).
Corresponds to the JSON property guestAttributes
2635 2636 2637 |
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2635 def guest_attributes @guest_attributes end |
#internal_ip_only ⇒ Boolean 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
2644 2645 2646 |
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2644 def internal_ip_only @internal_ip_only end |
#labels ⇒ Hash<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
2654 2655 2656 |
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2654 def labels @labels end |
#machine_type ⇒ 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
2660 2661 2662 |
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2660 def machine_type @machine_type end |
#metadata ⇒ Hash<String,String>
Optional. The Compute Engine metadata entries to add to virtual machine. (see
Project and instance metadata).
Corresponds to the JSON property metadata
2667 2668 2669 |
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2667 def @metadata end |
#network ⇒ 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: * 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
2681 2682 2683 |
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2681 def network @network end |
#nic_type ⇒ String
Optional. The type of vNIC to be used on this interface. This may be gVNIC or
VirtioNet.
Corresponds to the JSON property nicType
2687 2688 2689 |
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2687 def nic_type @nic_type end |
#shielded_instance_config ⇒ Google::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
2693 2694 2695 |
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2693 def shielded_instance_config @shielded_instance_config end |
#subnet ⇒ String
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
2702 2703 2704 |
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2702 def subnet @subnet end |
#tags ⇒ Array<String>
Optional. The Compute Engine tags to add to runtime (see Tagging instances).
Corresponds to the JSON property tags
2708 2709 2710 |
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2708 def @tags end |
#zone ⇒ 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
2716 2717 2718 |
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2716 def zone @zone end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 |
# File 'lib/google/apis/notebooks_v1/classes.rb', line 2723 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 |