Class: Google::Apis::WorkstationsV1beta::GceInstance
- Inherits:
-
Object
- Object
- Google::Apis::WorkstationsV1beta::GceInstance
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/workstations_v1beta/classes.rb,
lib/google/apis/workstations_v1beta/representations.rb,
lib/google/apis/workstations_v1beta/representations.rb
Overview
A runtime using a Compute Engine instance.
Instance Attribute Summary collapse
-
#accelerators ⇒ Array<Google::Apis::WorkstationsV1beta::Accelerator>
A list of the type and count of accelerator cards attached to the instance.
-
#boot_disk_size_gb ⇒ Fixnum
The size of the boot disk for the VM in gigabytes (GB).
-
#confidential_instance_config ⇒ Google::Apis::WorkstationsV1beta::GceConfidentialInstanceConfig
A set of Compute Engine Confidential VM instance options.
-
#disable_public_ip_addresses ⇒ Boolean
(also: #disable_public_ip_addresses?)
When set to true, disables public IP addresses for VMs.
-
#enable_nested_virtualization ⇒ Boolean
(also: #enable_nested_virtualization?)
Whether to enable nested virtualization on instances.
-
#machine_type ⇒ String
The type of machine to use for VM instances—for example,
e2-standard-4. -
#pool_size ⇒ Fixnum
The number of VMs that the system should keep idle so that new workstations can be started quickly for new users.
-
#pooled_instances ⇒ Fixnum
Output only.
-
#service_account ⇒ String
The email address of the service account for Cloud Workstations VMs created with this configuration.
-
#shielded_instance_config ⇒ Google::Apis::WorkstationsV1beta::GceShieldedInstanceConfig
A set of Compute Engine Shielded instance options.
-
#tags ⇒ Array<String>
Network tags to add to the Compute Engine machines backing the workstations.
Instance Method Summary collapse
-
#initialize(**args) ⇒ GceInstance
constructor
A new instance of GceInstance.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ GceInstance
Returns a new instance of GceInstance.
463 464 465 |
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 463 def initialize(**args) update!(**args) end |
Instance Attribute Details
#accelerators ⇒ Array<Google::Apis::WorkstationsV1beta::Accelerator>
A list of the type and count of accelerator cards attached to the instance.
Corresponds to the JSON property accelerators
384 385 386 |
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 384 def accelerators @accelerators end |
#boot_disk_size_gb ⇒ Fixnum
The size of the boot disk for the VM in gigabytes (GB). The minimum boot disk
size is 30 GB. Defaults to 50 GB.
Corresponds to the JSON property bootDiskSizeGb
390 391 392 |
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 390 def boot_disk_size_gb @boot_disk_size_gb end |
#confidential_instance_config ⇒ Google::Apis::WorkstationsV1beta::GceConfidentialInstanceConfig
A set of Compute Engine Confidential VM instance options.
Corresponds to the JSON property confidentialInstanceConfig
395 396 397 |
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 395 def confidential_instance_config @confidential_instance_config end |
#disable_public_ip_addresses ⇒ Boolean Also known as: disable_public_ip_addresses?
When set to true, disables public IP addresses for VMs. If you disable public
IP addresses, you must set up Private Google Access or Cloud NAT on your
network. If you use Private Google Access and you use private.googleapis.com
or restricted.googleapis.com for Container Registry and Artifact Registry,
make sure that you set up DNS records for domains *.gcr.io and *.pkg.dev.
Defaults to false (VMs have public IP addresses).
Corresponds to the JSON property disablePublicIpAddresses
405 406 407 |
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 405 def disable_public_ip_addresses @disable_public_ip_addresses end |
#enable_nested_virtualization ⇒ Boolean Also known as: enable_nested_virtualization?
Whether to enable nested virtualization on instances.
Corresponds to the JSON property enableNestedVirtualization
411 412 413 |
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 411 def enable_nested_virtualization @enable_nested_virtualization end |
#machine_type ⇒ String
The type of machine to use for VM instances—for example, e2-standard-4. For
more information about machine types that Cloud Workstations supports, see the
list of available machine types.
Corresponds to the JSON property machineType
420 421 422 |
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 420 def machine_type @machine_type end |
#pool_size ⇒ Fixnum
The number of VMs that the system should keep idle so that new workstations
can be started quickly for new users. Defaults to 0 in the API.
Corresponds to the JSON property poolSize
426 427 428 |
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 426 def pool_size @pool_size end |
#pooled_instances ⇒ Fixnum
Output only. Number of instances currently available in the pool for faster
workstation startup.
Corresponds to the JSON property pooledInstances
432 433 434 |
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 432 def pooled_instances @pooled_instances end |
#service_account ⇒ String
The email address of the service account for Cloud Workstations VMs created
with this configuration. When specified, be sure that the service account has
logginglogEntries.create permission on the project so it can write logs out
to Cloud Logging. If using a custom container image, the service account must
have permissions to pull the specified image. If you as the administrator want
to be able to ssh into the underlying VM, you need to set this value to a
service account for which you have the iam.serviceAccounts.actAs permission.
Conversely, if you don't want anyone to be able to ssh into the underlying
VM, use a service account where no one has that permission. If not set, VMs
run with a service account provided by the Cloud Workstations service, and the
image must be publicly accessible.
Corresponds to the JSON property serviceAccount
447 448 449 |
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 447 def service_account @service_account end |
#shielded_instance_config ⇒ Google::Apis::WorkstationsV1beta::GceShieldedInstanceConfig
A set of Compute Engine Shielded instance options.
Corresponds to the JSON property shieldedInstanceConfig
452 453 454 |
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 452 def shielded_instance_config @shielded_instance_config end |
#tags ⇒ Array<String>
Network tags to add to the Compute Engine machines backing the workstations.
This option applies network tags to VMs created with this configuration. These network
tags enable the creation of firewall rules.
Corresponds to the JSON property tags
461 462 463 |
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 461 def @tags end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
468 469 470 471 472 473 474 475 476 477 478 479 480 |
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 468 def update!(**args) @accelerators = args[:accelerators] if args.key?(:accelerators) @boot_disk_size_gb = args[:boot_disk_size_gb] if args.key?(:boot_disk_size_gb) @confidential_instance_config = args[:confidential_instance_config] if args.key?(:confidential_instance_config) @disable_public_ip_addresses = args[:disable_public_ip_addresses] if args.key?(:disable_public_ip_addresses) @enable_nested_virtualization = args[:enable_nested_virtualization] if args.key?(:enable_nested_virtualization) @machine_type = args[:machine_type] if args.key?(:machine_type) @pool_size = args[:pool_size] if args.key?(:pool_size) @pooled_instances = args[:pooled_instances] if args.key?(:pooled_instances) @service_account = args[:service_account] if args.key?(:service_account) @shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config) @tags = args[:tags] if args.key?(:tags) end |