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.



383
384
385
# File 'lib/google/apis/cloudbilling_v1beta/classes.rb', line 383

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)


343
344
345
# File 'lib/google/apis/cloudbilling_v1beta/classes.rb', line 343

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



349
350
351
# File 'lib/google/apis/cloudbilling_v1beta/classes.rb', line 349

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



354
355
356
# File 'lib/google/apis/cloudbilling_v1beta/classes.rb', line 354

def instances_running
  @instances_running
end

#licensesArray<String>

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

Returns:

  • (Array<String>)


359
360
361
# File 'lib/google/apis/cloudbilling_v1beta/classes.rb', line 359

def licenses
  @licenses
end

#machine_typeGoogle::Apis::CloudbillingV1beta::MachineType

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



364
365
366
# File 'lib/google/apis/cloudbilling_v1beta/classes.rb', line 364

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



369
370
371
# File 'lib/google/apis/cloudbilling_v1beta/classes.rb', line 369

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)


374
375
376
# File 'lib/google/apis/cloudbilling_v1beta/classes.rb', line 374

def preemptible
  @preemptible
end

#regionString

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

Returns:

  • (String)


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

def region
  @region
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



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

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