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.



397
398
399
# File 'lib/google/apis/cloudbilling_v1beta/classes.rb', line 397

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)


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

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



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

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



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

def instances_running
  @instances_running
end

#licensesArray<String>

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

Returns:

  • (Array<String>)


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

def licenses
  @licenses
end

#machine_typeGoogle::Apis::CloudbillingV1beta::MachineType

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



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

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



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

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)


388
389
390
# File 'lib/google/apis/cloudbilling_v1beta/classes.rb', line 388

def preemptible
  @preemptible
end

#regionString

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

Returns:

  • (String)


395
396
397
# File 'lib/google/apis/cloudbilling_v1beta/classes.rb', line 395

def region
  @region
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



402
403
404
405
406
407
408
409
410
411
# File 'lib/google/apis/cloudbilling_v1beta/classes.rb', line 402

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