Class: Google::Cloud::CommerceProducer::V1beta::Sku::SkuPrice::ComputeEngineLicenseUsageFee

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/cloud/commerceproducer/v1beta/sku.rb

Overview

Details about a SKU pricing usage of a Compute Engine License.

The SKU applies to a single license, and may be further scoped to a Compute Engine VM Instance machine resource type (e.g. "vCPU") and size range for that machine resource. Instances deployed from Compute Engine Images incorporating the target license and (if applicable) matching the machine resource type size range will be charged by the SKU. A single license may be priced by multiple SKUs covering different combinations of machine resource type and size range, allowing a single running instance to be charged by up to one SKU per machine resource type, with pricing tiered according to machine shape.

Defined Under Namespace

Modules: MachineResource, UsageCalculation Classes: MachineResourceRange

Instance Attribute Summary collapse

Instance Attribute Details

#license_code::String (readonly)

Returns Output only. The license code of the target Compute Engine License. Note that this is the numeric license code itself in uint64 format used to reference licenses attached to images, not the resource name of the related Compute Engine LicenseCode resource.

Example: "1234567890123456789".

Returns:

  • (::String)

    Output only. The license code of the target Compute Engine License. Note that this is the numeric license code itself in uint64 format used to reference licenses attached to images, not the resource name of the related Compute Engine LicenseCode resource.

    Example: "1234567890123456789"



226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
# File 'proto_docs/google/cloud/commerceproducer/v1beta/sku.rb', line 226

class ComputeEngineLicenseUsageFee
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The range of machine resource values that the SKU applies to.
  # @!attribute [r] start_value
  #   @return [::Integer]
  #     Output only. The inclusive lower bound of the range.
  #     While the number zero may be the start of a range, it is not a
  #     possible machine resource value. An instance cannot exist with zero
  #     vCPU or memory, and an instance with no attached accelerators lacks a
  #     GPU dimension entirely rather than having a GPU count of zero.
  # @!attribute [r] end_value
  #   @return [::Integer]
  #     Output only. The exclusive upper bound of the range.
  #     If no end value is specified, the range is unbounded from above.
  class MachineResourceRange
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The machine resource type that the SKU applies to, if any.
  module MachineResource
    # The SKU applies to all instances irrespective of machine shape.
    # This is referred to as "instance-based pricing" because the price
    # is the same for all instances.
    MACHINE_RESOURCE_UNSPECIFIED = 0

    # The SKU applies based on the instance's vCPU count.
    VCPU_COUNT = 1

    # The SKU applies based on the instance's memory size in bytes.
    MEMORY_BYTES = 2

    # The SKU applies based on the instance's GPU count.
    GPU_COUNT = 3
  end

  # Determines how the customer's usage is calculated.
  module UsageCalculation
    # Unused.
    USAGE_CALCULATION_UNSPECIFIED = 0

    # Usage is calculated from instance runtime.
    # The customer's usage is metered according to the [Compute Engine VM
    # instance pricing
    # model](https://cloud.google.com/compute/vm-instance-pricing),
    # measured on a per-instance basis in units of hours, with a minimum
    # duration of one minute and an increment of one second.
    #
    # A SKU using this usage calculation is referred to as "flat" because
    # the customer's usage charge is independent of the instance's machine
    # resource shape apart from determining whether the SKU applies to the
    # instance.
    INSTANCE_RUNTIME = 1

    # Usage is calculated from instance runtime and size.
    # This calculation mode is only applicable to resource-based SKUs.
    # Usage is calculated by measuring the instance runtime in the same
    # manner as for `INSTANCE_RUNTIME` and multiplying by the instance's
    # machine resource value matching the SKU's machine resource type.
    # This converts the price from per-instance-hour to
    # per-instance-hour-per-machine-resource, which changes the price unit
    # for memory SKUs to 'GiBy.h'. The price unit otherwise remains 'h'
    # because the other machine resources are dimensionless.
    #
    # A SKU using this usage calculation is referred to as "linear" because
    # the customer's usage charge is linearly proportional to the
    # instance's machine resource value.
    LINEAR_RESOURCE_SCALED_INSTANCE_RUNTIME = 2
  end
end

#machine_resource::Google::Cloud::CommerceProducer::V1beta::Sku::SkuPrice::ComputeEngineLicenseUsageFee::MachineResource (readonly)

Returns Output only. The machine resource type that the SKU applies to, if any. SKUs with a non-default value are referred to as "resource-based" SKUs.

Returns:



226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
# File 'proto_docs/google/cloud/commerceproducer/v1beta/sku.rb', line 226

class ComputeEngineLicenseUsageFee
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The range of machine resource values that the SKU applies to.
  # @!attribute [r] start_value
  #   @return [::Integer]
  #     Output only. The inclusive lower bound of the range.
  #     While the number zero may be the start of a range, it is not a
  #     possible machine resource value. An instance cannot exist with zero
  #     vCPU or memory, and an instance with no attached accelerators lacks a
  #     GPU dimension entirely rather than having a GPU count of zero.
  # @!attribute [r] end_value
  #   @return [::Integer]
  #     Output only. The exclusive upper bound of the range.
  #     If no end value is specified, the range is unbounded from above.
  class MachineResourceRange
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The machine resource type that the SKU applies to, if any.
  module MachineResource
    # The SKU applies to all instances irrespective of machine shape.
    # This is referred to as "instance-based pricing" because the price
    # is the same for all instances.
    MACHINE_RESOURCE_UNSPECIFIED = 0

    # The SKU applies based on the instance's vCPU count.
    VCPU_COUNT = 1

    # The SKU applies based on the instance's memory size in bytes.
    MEMORY_BYTES = 2

    # The SKU applies based on the instance's GPU count.
    GPU_COUNT = 3
  end

  # Determines how the customer's usage is calculated.
  module UsageCalculation
    # Unused.
    USAGE_CALCULATION_UNSPECIFIED = 0

    # Usage is calculated from instance runtime.
    # The customer's usage is metered according to the [Compute Engine VM
    # instance pricing
    # model](https://cloud.google.com/compute/vm-instance-pricing),
    # measured on a per-instance basis in units of hours, with a minimum
    # duration of one minute and an increment of one second.
    #
    # A SKU using this usage calculation is referred to as "flat" because
    # the customer's usage charge is independent of the instance's machine
    # resource shape apart from determining whether the SKU applies to the
    # instance.
    INSTANCE_RUNTIME = 1

    # Usage is calculated from instance runtime and size.
    # This calculation mode is only applicable to resource-based SKUs.
    # Usage is calculated by measuring the instance runtime in the same
    # manner as for `INSTANCE_RUNTIME` and multiplying by the instance's
    # machine resource value matching the SKU's machine resource type.
    # This converts the price from per-instance-hour to
    # per-instance-hour-per-machine-resource, which changes the price unit
    # for memory SKUs to 'GiBy.h'. The price unit otherwise remains 'h'
    # because the other machine resources are dimensionless.
    #
    # A SKU using this usage calculation is referred to as "linear" because
    # the customer's usage charge is linearly proportional to the
    # instance's machine resource value.
    LINEAR_RESOURCE_SCALED_INSTANCE_RUNTIME = 2
  end
end

#machine_resource_range::Google::Cloud::CommerceProducer::V1beta::Sku::SkuPrice::ComputeEngineLicenseUsageFee::MachineResourceRange (readonly)

Returns Output only. The range of machine resource values that the SKU applies to. Unset when the SKU is not scoped to a particular machine resource type. The collection of SKUs in effect at any given time targeting the same license and machine resource type will cover all possible values for that machine resource type without overlap. Such a collection of SKUs form a "tiered" price structure over the possible values of the machine resource, with each SKU acting as a "tier".

NOTE: This is distinct from a SKU with tiered pricing.

Returns:

  • (::Google::Cloud::CommerceProducer::V1beta::Sku::SkuPrice::ComputeEngineLicenseUsageFee::MachineResourceRange)

    Output only. The range of machine resource values that the SKU applies to. Unset when the SKU is not scoped to a particular machine resource type. The collection of SKUs in effect at any given time targeting the same license and machine resource type will cover all possible values for that machine resource type without overlap. Such a collection of SKUs form a "tiered" price structure over the possible values of the machine resource, with each SKU acting as a "tier".

    NOTE: This is distinct from a SKU with tiered pricing.



226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
# File 'proto_docs/google/cloud/commerceproducer/v1beta/sku.rb', line 226

class ComputeEngineLicenseUsageFee
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The range of machine resource values that the SKU applies to.
  # @!attribute [r] start_value
  #   @return [::Integer]
  #     Output only. The inclusive lower bound of the range.
  #     While the number zero may be the start of a range, it is not a
  #     possible machine resource value. An instance cannot exist with zero
  #     vCPU or memory, and an instance with no attached accelerators lacks a
  #     GPU dimension entirely rather than having a GPU count of zero.
  # @!attribute [r] end_value
  #   @return [::Integer]
  #     Output only. The exclusive upper bound of the range.
  #     If no end value is specified, the range is unbounded from above.
  class MachineResourceRange
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The machine resource type that the SKU applies to, if any.
  module MachineResource
    # The SKU applies to all instances irrespective of machine shape.
    # This is referred to as "instance-based pricing" because the price
    # is the same for all instances.
    MACHINE_RESOURCE_UNSPECIFIED = 0

    # The SKU applies based on the instance's vCPU count.
    VCPU_COUNT = 1

    # The SKU applies based on the instance's memory size in bytes.
    MEMORY_BYTES = 2

    # The SKU applies based on the instance's GPU count.
    GPU_COUNT = 3
  end

  # Determines how the customer's usage is calculated.
  module UsageCalculation
    # Unused.
    USAGE_CALCULATION_UNSPECIFIED = 0

    # Usage is calculated from instance runtime.
    # The customer's usage is metered according to the [Compute Engine VM
    # instance pricing
    # model](https://cloud.google.com/compute/vm-instance-pricing),
    # measured on a per-instance basis in units of hours, with a minimum
    # duration of one minute and an increment of one second.
    #
    # A SKU using this usage calculation is referred to as "flat" because
    # the customer's usage charge is independent of the instance's machine
    # resource shape apart from determining whether the SKU applies to the
    # instance.
    INSTANCE_RUNTIME = 1

    # Usage is calculated from instance runtime and size.
    # This calculation mode is only applicable to resource-based SKUs.
    # Usage is calculated by measuring the instance runtime in the same
    # manner as for `INSTANCE_RUNTIME` and multiplying by the instance's
    # machine resource value matching the SKU's machine resource type.
    # This converts the price from per-instance-hour to
    # per-instance-hour-per-machine-resource, which changes the price unit
    # for memory SKUs to 'GiBy.h'. The price unit otherwise remains 'h'
    # because the other machine resources are dimensionless.
    #
    # A SKU using this usage calculation is referred to as "linear" because
    # the customer's usage charge is linearly proportional to the
    # instance's machine resource value.
    LINEAR_RESOURCE_SCALED_INSTANCE_RUNTIME = 2
  end
end

#price_per_unit::Google::Type::Money

Returns The price per unit of usage. The customer's usage charge is computed by measuring the customer's consumption denominated in price units and multiplying by this price.

Returns:

  • (::Google::Type::Money)

    The price per unit of usage. The customer's usage charge is computed by measuring the customer's consumption denominated in price units and multiplying by this price.



226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
# File 'proto_docs/google/cloud/commerceproducer/v1beta/sku.rb', line 226

class ComputeEngineLicenseUsageFee
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The range of machine resource values that the SKU applies to.
  # @!attribute [r] start_value
  #   @return [::Integer]
  #     Output only. The inclusive lower bound of the range.
  #     While the number zero may be the start of a range, it is not a
  #     possible machine resource value. An instance cannot exist with zero
  #     vCPU or memory, and an instance with no attached accelerators lacks a
  #     GPU dimension entirely rather than having a GPU count of zero.
  # @!attribute [r] end_value
  #   @return [::Integer]
  #     Output only. The exclusive upper bound of the range.
  #     If no end value is specified, the range is unbounded from above.
  class MachineResourceRange
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The machine resource type that the SKU applies to, if any.
  module MachineResource
    # The SKU applies to all instances irrespective of machine shape.
    # This is referred to as "instance-based pricing" because the price
    # is the same for all instances.
    MACHINE_RESOURCE_UNSPECIFIED = 0

    # The SKU applies based on the instance's vCPU count.
    VCPU_COUNT = 1

    # The SKU applies based on the instance's memory size in bytes.
    MEMORY_BYTES = 2

    # The SKU applies based on the instance's GPU count.
    GPU_COUNT = 3
  end

  # Determines how the customer's usage is calculated.
  module UsageCalculation
    # Unused.
    USAGE_CALCULATION_UNSPECIFIED = 0

    # Usage is calculated from instance runtime.
    # The customer's usage is metered according to the [Compute Engine VM
    # instance pricing
    # model](https://cloud.google.com/compute/vm-instance-pricing),
    # measured on a per-instance basis in units of hours, with a minimum
    # duration of one minute and an increment of one second.
    #
    # A SKU using this usage calculation is referred to as "flat" because
    # the customer's usage charge is independent of the instance's machine
    # resource shape apart from determining whether the SKU applies to the
    # instance.
    INSTANCE_RUNTIME = 1

    # Usage is calculated from instance runtime and size.
    # This calculation mode is only applicable to resource-based SKUs.
    # Usage is calculated by measuring the instance runtime in the same
    # manner as for `INSTANCE_RUNTIME` and multiplying by the instance's
    # machine resource value matching the SKU's machine resource type.
    # This converts the price from per-instance-hour to
    # per-instance-hour-per-machine-resource, which changes the price unit
    # for memory SKUs to 'GiBy.h'. The price unit otherwise remains 'h'
    # because the other machine resources are dimensionless.
    #
    # A SKU using this usage calculation is referred to as "linear" because
    # the customer's usage charge is linearly proportional to the
    # instance's machine resource value.
    LINEAR_RESOURCE_SCALED_INSTANCE_RUNTIME = 2
  end
end

#unit::String (readonly)

Returns Output only. The price unit of the SKU. See https://ucum.org/ucum.html for the format of the price unit. For linear-priced memory SKUs, the price unit is 'GiBy.h'. For all other SKUs, the price unit is 'h'. This includes linear-priced vCPU and GPU SKUs because these resources have unitless dimensions and the application of these scaling factors does not change the price unit.

Returns:

  • (::String)

    Output only. The price unit of the SKU. See https://ucum.org/ucum.html for the format of the price unit. For linear-priced memory SKUs, the price unit is 'GiBy.h'. For all other SKUs, the price unit is 'h'. This includes linear-priced vCPU and GPU SKUs because these resources have unitless dimensions and the application of these scaling factors does not change the price unit.



226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
# File 'proto_docs/google/cloud/commerceproducer/v1beta/sku.rb', line 226

class ComputeEngineLicenseUsageFee
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The range of machine resource values that the SKU applies to.
  # @!attribute [r] start_value
  #   @return [::Integer]
  #     Output only. The inclusive lower bound of the range.
  #     While the number zero may be the start of a range, it is not a
  #     possible machine resource value. An instance cannot exist with zero
  #     vCPU or memory, and an instance with no attached accelerators lacks a
  #     GPU dimension entirely rather than having a GPU count of zero.
  # @!attribute [r] end_value
  #   @return [::Integer]
  #     Output only. The exclusive upper bound of the range.
  #     If no end value is specified, the range is unbounded from above.
  class MachineResourceRange
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The machine resource type that the SKU applies to, if any.
  module MachineResource
    # The SKU applies to all instances irrespective of machine shape.
    # This is referred to as "instance-based pricing" because the price
    # is the same for all instances.
    MACHINE_RESOURCE_UNSPECIFIED = 0

    # The SKU applies based on the instance's vCPU count.
    VCPU_COUNT = 1

    # The SKU applies based on the instance's memory size in bytes.
    MEMORY_BYTES = 2

    # The SKU applies based on the instance's GPU count.
    GPU_COUNT = 3
  end

  # Determines how the customer's usage is calculated.
  module UsageCalculation
    # Unused.
    USAGE_CALCULATION_UNSPECIFIED = 0

    # Usage is calculated from instance runtime.
    # The customer's usage is metered according to the [Compute Engine VM
    # instance pricing
    # model](https://cloud.google.com/compute/vm-instance-pricing),
    # measured on a per-instance basis in units of hours, with a minimum
    # duration of one minute and an increment of one second.
    #
    # A SKU using this usage calculation is referred to as "flat" because
    # the customer's usage charge is independent of the instance's machine
    # resource shape apart from determining whether the SKU applies to the
    # instance.
    INSTANCE_RUNTIME = 1

    # Usage is calculated from instance runtime and size.
    # This calculation mode is only applicable to resource-based SKUs.
    # Usage is calculated by measuring the instance runtime in the same
    # manner as for `INSTANCE_RUNTIME` and multiplying by the instance's
    # machine resource value matching the SKU's machine resource type.
    # This converts the price from per-instance-hour to
    # per-instance-hour-per-machine-resource, which changes the price unit
    # for memory SKUs to 'GiBy.h'. The price unit otherwise remains 'h'
    # because the other machine resources are dimensionless.
    #
    # A SKU using this usage calculation is referred to as "linear" because
    # the customer's usage charge is linearly proportional to the
    # instance's machine resource value.
    LINEAR_RESOURCE_SCALED_INSTANCE_RUNTIME = 2
  end
end

#usage_calculation::Google::Cloud::CommerceProducer::V1beta::Sku::SkuPrice::ComputeEngineLicenseUsageFee::UsageCalculation (readonly)

Returns Output only. Determines how the customer's usage is calculated.

Returns:



226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
# File 'proto_docs/google/cloud/commerceproducer/v1beta/sku.rb', line 226

class ComputeEngineLicenseUsageFee
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The range of machine resource values that the SKU applies to.
  # @!attribute [r] start_value
  #   @return [::Integer]
  #     Output only. The inclusive lower bound of the range.
  #     While the number zero may be the start of a range, it is not a
  #     possible machine resource value. An instance cannot exist with zero
  #     vCPU or memory, and an instance with no attached accelerators lacks a
  #     GPU dimension entirely rather than having a GPU count of zero.
  # @!attribute [r] end_value
  #   @return [::Integer]
  #     Output only. The exclusive upper bound of the range.
  #     If no end value is specified, the range is unbounded from above.
  class MachineResourceRange
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The machine resource type that the SKU applies to, if any.
  module MachineResource
    # The SKU applies to all instances irrespective of machine shape.
    # This is referred to as "instance-based pricing" because the price
    # is the same for all instances.
    MACHINE_RESOURCE_UNSPECIFIED = 0

    # The SKU applies based on the instance's vCPU count.
    VCPU_COUNT = 1

    # The SKU applies based on the instance's memory size in bytes.
    MEMORY_BYTES = 2

    # The SKU applies based on the instance's GPU count.
    GPU_COUNT = 3
  end

  # Determines how the customer's usage is calculated.
  module UsageCalculation
    # Unused.
    USAGE_CALCULATION_UNSPECIFIED = 0

    # Usage is calculated from instance runtime.
    # The customer's usage is metered according to the [Compute Engine VM
    # instance pricing
    # model](https://cloud.google.com/compute/vm-instance-pricing),
    # measured on a per-instance basis in units of hours, with a minimum
    # duration of one minute and an increment of one second.
    #
    # A SKU using this usage calculation is referred to as "flat" because
    # the customer's usage charge is independent of the instance's machine
    # resource shape apart from determining whether the SKU applies to the
    # instance.
    INSTANCE_RUNTIME = 1

    # Usage is calculated from instance runtime and size.
    # This calculation mode is only applicable to resource-based SKUs.
    # Usage is calculated by measuring the instance runtime in the same
    # manner as for `INSTANCE_RUNTIME` and multiplying by the instance's
    # machine resource value matching the SKU's machine resource type.
    # This converts the price from per-instance-hour to
    # per-instance-hour-per-machine-resource, which changes the price unit
    # for memory SKUs to 'GiBy.h'. The price unit otherwise remains 'h'
    # because the other machine resources are dimensionless.
    #
    # A SKU using this usage calculation is referred to as "linear" because
    # the customer's usage charge is linearly proportional to the
    # instance's machine resource value.
    LINEAR_RESOURCE_SCALED_INSTANCE_RUNTIME = 2
  end
end