Class: Google::Cloud::CommerceProducer::V1beta::Sku::SkuPrice::ComputeEngineLicenseUsageFee
- Inherits:
-
Object
- Object
- Google::Cloud::CommerceProducer::V1beta::Sku::SkuPrice::ComputeEngineLicenseUsageFee
- 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
-
#license_code ⇒ ::String
readonly
Output only.
-
#machine_resource ⇒ ::Google::Cloud::CommerceProducer::V1beta::Sku::SkuPrice::ComputeEngineLicenseUsageFee::MachineResource
readonly
Output only.
-
#machine_resource_range ⇒ ::Google::Cloud::CommerceProducer::V1beta::Sku::SkuPrice::ComputeEngineLicenseUsageFee::MachineResourceRange
readonly
Output only.
-
#price_per_unit ⇒ ::Google::Type::Money
The price per unit of usage.
-
#unit ⇒ ::String
readonly
Output only.
-
#usage_calculation ⇒ ::Google::Cloud::CommerceProducer::V1beta::Sku::SkuPrice::ComputeEngineLicenseUsageFee::UsageCalculation
readonly
Output only.
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".
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.
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.
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.
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.
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.
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 |