Class: Google::Apis::WorkstationsV1beta::GceInstance

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GceInstance

Returns a new instance of GceInstance.



427
428
429
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 427

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

Instance Attribute Details

#acceleratorsArray<Google::Apis::WorkstationsV1beta::Accelerator>

A list of the type and count of accelerator cards attached to the instance. Corresponds to the JSON property accelerators



375
376
377
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 375

def accelerators
  @accelerators
end

#boot_disk_size_gbFixnum

Size of the boot disk in GB. Defaults to 50. Corresponds to the JSON property bootDiskSizeGb

Returns:

  • (Fixnum)


380
381
382
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 380

def boot_disk_size_gb
  @boot_disk_size_gb
end

#confidential_instance_configGoogle::Apis::WorkstationsV1beta::GceConfidentialInstanceConfig

A set of Compute Engine Confidential VM instance options. Corresponds to the JSON property confidentialInstanceConfig



385
386
387
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 385

def confidential_instance_config
  @confidential_instance_config
end

#disable_public_ip_addressesBoolean Also known as: disable_public_ip_addresses?

Whether instances have no public IP address. Corresponds to the JSON property disablePublicIpAddresses

Returns:

  • (Boolean)


390
391
392
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 390

def disable_public_ip_addresses
  @disable_public_ip_addresses
end

#machine_typeString

The name of a Compute Engine machine type. Corresponds to the JSON property machineType

Returns:

  • (String)


396
397
398
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 396

def machine_type
  @machine_type
end

#pool_sizeFixnum

Number of instances to pool for faster workstation startup. Corresponds to the JSON property poolSize

Returns:

  • (Fixnum)


401
402
403
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 401

def pool_size
  @pool_size
end

#pooled_instancesFixnum

Output only. Number of instances currently available in the pool for faster workstation startup. Corresponds to the JSON property pooledInstances

Returns:

  • (Fixnum)


407
408
409
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 407

def pooled_instances
  @pooled_instances
end

#service_accountString

Email address of the service account used on VM instances used to support this configuration. If not set, VMs run with a Google-managed service account. This service account must have permission to pull the specified container image; otherwise, the image must be publicly accessible. Corresponds to the JSON property serviceAccount

Returns:

  • (String)


415
416
417
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 415

def 
  @service_account
end

#shielded_instance_configGoogle::Apis::WorkstationsV1beta::GceShieldedInstanceConfig

A set of Compute Engine Shielded instance options. Corresponds to the JSON property shieldedInstanceConfig



420
421
422
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 420

def shielded_instance_config
  @shielded_instance_config
end

#tagsArray<String>

Network tags to add to the Compute Engine machines backing the Workstations. Corresponds to the JSON property tags

Returns:

  • (Array<String>)


425
426
427
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 425

def tags
  @tags
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



432
433
434
435
436
437
438
439
440
441
442
443
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 432

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