Class: Google::Apis::CloudbillingV1beta::ComputeVmWorkload

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

Overview

Specificies usage of a set of identical compute VM instances.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ ComputeVmWorkload

Returns a new instance of ComputeVmWorkload.



381
382
383
# File 'lib/google/apis/cloudbilling_v1beta/classes.rb', line 381

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

Instance Attribute Details

#enable_confidential_computeBoolean Also known as: enable_confidential_compute?

Defines whether each instance has confidential compute enabled. Corresponds to the JSON property enableConfidentialCompute

Returns:

  • (Boolean)


341
342
343
# File 'lib/google/apis/cloudbilling_v1beta/classes.rb', line 341

def enable_confidential_compute
  @enable_confidential_compute
end

#guest_acceleratorGoogle::Apis::CloudbillingV1beta::GuestAccelerator

Specification of a set of guest accelerators attached to a machine. Corresponds to the JSON property guestAccelerator



347
348
349
# File 'lib/google/apis/cloudbilling_v1beta/classes.rb', line 347

def guest_accelerator
  @guest_accelerator
end

#instances_runningGoogle::Apis::CloudbillingV1beta::Usage

An amount of usage over a time frame. Corresponds to the JSON property instancesRunning



352
353
354
# File 'lib/google/apis/cloudbilling_v1beta/classes.rb', line 352

def instances_running
  @instances_running
end

#licensesArray<String>

Premium image licenses used by each instance. Corresponds to the JSON property licenses

Returns:

  • (Array<String>)


357
358
359
# File 'lib/google/apis/cloudbilling_v1beta/classes.rb', line 357

def licenses
  @licenses
end

#machine_typeGoogle::Apis::CloudbillingV1beta::MachineType

Specification of machine series, memory, and number of vCPUs. Corresponds to the JSON property machineType



362
363
364
# File 'lib/google/apis/cloudbilling_v1beta/classes.rb', line 362

def machine_type
  @machine_type
end

#persistent_disksArray<Google::Apis::CloudbillingV1beta::PersistentDisk>

Persistent disks attached to each instance. Must include a boot disk. Corresponds to the JSON property persistentDisks



367
368
369
# File 'lib/google/apis/cloudbilling_v1beta/classes.rb', line 367

def persistent_disks
  @persistent_disks
end

#preemptibleBoolean Also known as: preemptible?

Defines whether each instance is preemptible. Corresponds to the JSON property preemptible

Returns:

  • (Boolean)


372
373
374
# File 'lib/google/apis/cloudbilling_v1beta/classes.rb', line 372

def preemptible
  @preemptible
end

#regionString

The region where the VMs run. For example: "us-central1". Corresponds to the JSON property region

Returns:

  • (String)


379
380
381
# File 'lib/google/apis/cloudbilling_v1beta/classes.rb', line 379

def region
  @region
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



386
387
388
389
390
391
392
393
394
395
# File 'lib/google/apis/cloudbilling_v1beta/classes.rb', line 386

def update!(**args)
  @enable_confidential_compute = args[:enable_confidential_compute] if args.key?(:enable_confidential_compute)
  @guest_accelerator = args[:guest_accelerator] if args.key?(:guest_accelerator)
  @instances_running = args[:instances_running] if args.key?(:instances_running)
  @licenses = args[:licenses] if args.key?(:licenses)
  @machine_type = args[:machine_type] if args.key?(:machine_type)
  @persistent_disks = args[:persistent_disks] if args.key?(:persistent_disks)
  @preemptible = args[:preemptible] if args.key?(:preemptible)
  @region = args[:region] if args.key?(:region)
end