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.



195
196
197
# File 'lib/google/apis/cloudbilling_v1beta/classes.rb', line 195

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)


155
156
157
# File 'lib/google/apis/cloudbilling_v1beta/classes.rb', line 155

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



161
162
163
# File 'lib/google/apis/cloudbilling_v1beta/classes.rb', line 161

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



166
167
168
# File 'lib/google/apis/cloudbilling_v1beta/classes.rb', line 166

def instances_running
  @instances_running
end

#licensesArray<String>

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

Returns:

  • (Array<String>)


171
172
173
# File 'lib/google/apis/cloudbilling_v1beta/classes.rb', line 171

def licenses
  @licenses
end

#machine_typeGoogle::Apis::CloudbillingV1beta::MachineType

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



176
177
178
# File 'lib/google/apis/cloudbilling_v1beta/classes.rb', line 176

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



181
182
183
# File 'lib/google/apis/cloudbilling_v1beta/classes.rb', line 181

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)


186
187
188
# File 'lib/google/apis/cloudbilling_v1beta/classes.rb', line 186

def preemptible
  @preemptible
end

#regionString

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

Returns:

  • (String)


193
194
195
# File 'lib/google/apis/cloudbilling_v1beta/classes.rb', line 193

def region
  @region
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



200
201
202
203
204
205
206
207
208
209
# File 'lib/google/apis/cloudbilling_v1beta/classes.rb', line 200

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