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

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 software running on a Kubernetes Engine pod.

The SKU applies to pods annotated with the SKU's parent service name, and may be further scoped to a k8s pod resource type (e.g. "CPU") and size range for that resource type. Running pods annotated with the parent service's service name and matching the pod resource type size range will be charged by the SKU. A service may be priced by multiple SKUs covering different combinations of pod resource type and size range, allowing a single running pod to be charged by up to one SKU per pod resource type, with pricing tiered according to pod shape.

Defined Under Namespace

Modules: PodResource, UsageCalculation Classes: PodResourceRange

Instance Attribute Summary collapse

Instance Attribute Details

#pod_resource::Google::Cloud::CommerceProducer::V1beta::Sku::SkuPrice::KubernetesEnginePodUsageFee::PodResource (readonly)

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

Returns:



344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
# File 'proto_docs/google/cloud/commerceproducer/v1beta/sku.rb', line 344

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

  # The range of pod resource values that the SKU applies to.
  # @!attribute [r] start_value
  #   @return [::Integer]
  #     Output only. The inclusive lower bound of the range.
  # @!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 PodResourceRange
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The pod [resource
  # type](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/)
  # that the SKU applies to.
  module PodResource
    # Unused.
    POD_RESOURCE_UNSPECIFIED = 0

    # The SKU applies based on the pod's [vCPU
    # count](https://kubernetes.io/docs/tasks/configure-pod-container/assign-cpu-resource/).
    VCPU_COUNT = 1

    # The SKU applies based on the pod's [memory
    # size](https://kubernetes.io/docs/tasks/configure-pod-container/assign-memory-resource/)
    # in bytes.
    MEMORY_BYTES = 2

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

    # The SKU applies based on the pod's [TPU
    # count](https://cloud.google.com/kubernetes-engine/docs/concepts/tpus#how_tpus_work).
    TPU_COUNT = 4
  end

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

    # Usage is calculated from pod runtime.
    # The customer's usage is metered in a manner similar to the [GKE
    # Autopilot mode for pods without specific hardware
    # requirements](https://cloud.google.com/kubernetes-engine/pricing),
    # priced on a per-pod basis in units of hours and measured in
    # one-second increments, with no minimum duration.
    #
    # A SKU using this usage calculation is referred to as "flat" because
    # the customer's usage charge is independent of the pod shape apart
    # from determining whether the SKU applies to the pod.
    POD_RUNTIME = 1

    # Usage is calculated from pod runtime and size.
    # This calculation mode is only applicable to resource-based SKUs.
    # Usage is calculated by measuring the pod runtime in the same manner
    # as for `POD_RUNTIME` and multiplying by the pod's resource value
    # matching the SKU's pod resource type.
    # This converts the price from per-pod-hour to
    # per-pod-hour-per-resource, which changes the price unit for memory
    # SKUs to 'GiBy.h'. The price unit otherwise remains 'h' because the
    # other 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
    # pod's resource value.
    LINEAR_RESOURCE_SCALED_POD_RUNTIME = 2
  end
end

#pod_resource_range::Google::Cloud::CommerceProducer::V1beta::Sku::SkuPrice::KubernetesEnginePodUsageFee::PodResourceRange (readonly)

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

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

Returns:



344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
# File 'proto_docs/google/cloud/commerceproducer/v1beta/sku.rb', line 344

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

  # The range of pod resource values that the SKU applies to.
  # @!attribute [r] start_value
  #   @return [::Integer]
  #     Output only. The inclusive lower bound of the range.
  # @!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 PodResourceRange
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The pod [resource
  # type](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/)
  # that the SKU applies to.
  module PodResource
    # Unused.
    POD_RESOURCE_UNSPECIFIED = 0

    # The SKU applies based on the pod's [vCPU
    # count](https://kubernetes.io/docs/tasks/configure-pod-container/assign-cpu-resource/).
    VCPU_COUNT = 1

    # The SKU applies based on the pod's [memory
    # size](https://kubernetes.io/docs/tasks/configure-pod-container/assign-memory-resource/)
    # in bytes.
    MEMORY_BYTES = 2

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

    # The SKU applies based on the pod's [TPU
    # count](https://cloud.google.com/kubernetes-engine/docs/concepts/tpus#how_tpus_work).
    TPU_COUNT = 4
  end

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

    # Usage is calculated from pod runtime.
    # The customer's usage is metered in a manner similar to the [GKE
    # Autopilot mode for pods without specific hardware
    # requirements](https://cloud.google.com/kubernetes-engine/pricing),
    # priced on a per-pod basis in units of hours and measured in
    # one-second increments, with no minimum duration.
    #
    # A SKU using this usage calculation is referred to as "flat" because
    # the customer's usage charge is independent of the pod shape apart
    # from determining whether the SKU applies to the pod.
    POD_RUNTIME = 1

    # Usage is calculated from pod runtime and size.
    # This calculation mode is only applicable to resource-based SKUs.
    # Usage is calculated by measuring the pod runtime in the same manner
    # as for `POD_RUNTIME` and multiplying by the pod's resource value
    # matching the SKU's pod resource type.
    # This converts the price from per-pod-hour to
    # per-pod-hour-per-resource, which changes the price unit for memory
    # SKUs to 'GiBy.h'. The price unit otherwise remains 'h' because the
    # other 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
    # pod's resource value.
    LINEAR_RESOURCE_SCALED_POD_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.



344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
# File 'proto_docs/google/cloud/commerceproducer/v1beta/sku.rb', line 344

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

  # The range of pod resource values that the SKU applies to.
  # @!attribute [r] start_value
  #   @return [::Integer]
  #     Output only. The inclusive lower bound of the range.
  # @!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 PodResourceRange
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The pod [resource
  # type](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/)
  # that the SKU applies to.
  module PodResource
    # Unused.
    POD_RESOURCE_UNSPECIFIED = 0

    # The SKU applies based on the pod's [vCPU
    # count](https://kubernetes.io/docs/tasks/configure-pod-container/assign-cpu-resource/).
    VCPU_COUNT = 1

    # The SKU applies based on the pod's [memory
    # size](https://kubernetes.io/docs/tasks/configure-pod-container/assign-memory-resource/)
    # in bytes.
    MEMORY_BYTES = 2

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

    # The SKU applies based on the pod's [TPU
    # count](https://cloud.google.com/kubernetes-engine/docs/concepts/tpus#how_tpus_work).
    TPU_COUNT = 4
  end

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

    # Usage is calculated from pod runtime.
    # The customer's usage is metered in a manner similar to the [GKE
    # Autopilot mode for pods without specific hardware
    # requirements](https://cloud.google.com/kubernetes-engine/pricing),
    # priced on a per-pod basis in units of hours and measured in
    # one-second increments, with no minimum duration.
    #
    # A SKU using this usage calculation is referred to as "flat" because
    # the customer's usage charge is independent of the pod shape apart
    # from determining whether the SKU applies to the pod.
    POD_RUNTIME = 1

    # Usage is calculated from pod runtime and size.
    # This calculation mode is only applicable to resource-based SKUs.
    # Usage is calculated by measuring the pod runtime in the same manner
    # as for `POD_RUNTIME` and multiplying by the pod's resource value
    # matching the SKU's pod resource type.
    # This converts the price from per-pod-hour to
    # per-pod-hour-per-resource, which changes the price unit for memory
    # SKUs to 'GiBy.h'. The price unit otherwise remains 'h' because the
    # other 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
    # pod's resource value.
    LINEAR_RESOURCE_SCALED_POD_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, GPU, and TPU 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, GPU, and TPU SKUs because these resources have unitless dimensions and the application of these scaling factors does not change the price unit.



344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
# File 'proto_docs/google/cloud/commerceproducer/v1beta/sku.rb', line 344

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

  # The range of pod resource values that the SKU applies to.
  # @!attribute [r] start_value
  #   @return [::Integer]
  #     Output only. The inclusive lower bound of the range.
  # @!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 PodResourceRange
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The pod [resource
  # type](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/)
  # that the SKU applies to.
  module PodResource
    # Unused.
    POD_RESOURCE_UNSPECIFIED = 0

    # The SKU applies based on the pod's [vCPU
    # count](https://kubernetes.io/docs/tasks/configure-pod-container/assign-cpu-resource/).
    VCPU_COUNT = 1

    # The SKU applies based on the pod's [memory
    # size](https://kubernetes.io/docs/tasks/configure-pod-container/assign-memory-resource/)
    # in bytes.
    MEMORY_BYTES = 2

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

    # The SKU applies based on the pod's [TPU
    # count](https://cloud.google.com/kubernetes-engine/docs/concepts/tpus#how_tpus_work).
    TPU_COUNT = 4
  end

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

    # Usage is calculated from pod runtime.
    # The customer's usage is metered in a manner similar to the [GKE
    # Autopilot mode for pods without specific hardware
    # requirements](https://cloud.google.com/kubernetes-engine/pricing),
    # priced on a per-pod basis in units of hours and measured in
    # one-second increments, with no minimum duration.
    #
    # A SKU using this usage calculation is referred to as "flat" because
    # the customer's usage charge is independent of the pod shape apart
    # from determining whether the SKU applies to the pod.
    POD_RUNTIME = 1

    # Usage is calculated from pod runtime and size.
    # This calculation mode is only applicable to resource-based SKUs.
    # Usage is calculated by measuring the pod runtime in the same manner
    # as for `POD_RUNTIME` and multiplying by the pod's resource value
    # matching the SKU's pod resource type.
    # This converts the price from per-pod-hour to
    # per-pod-hour-per-resource, which changes the price unit for memory
    # SKUs to 'GiBy.h'. The price unit otherwise remains 'h' because the
    # other 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
    # pod's resource value.
    LINEAR_RESOURCE_SCALED_POD_RUNTIME = 2
  end
end

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

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

Returns:



344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
# File 'proto_docs/google/cloud/commerceproducer/v1beta/sku.rb', line 344

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

  # The range of pod resource values that the SKU applies to.
  # @!attribute [r] start_value
  #   @return [::Integer]
  #     Output only. The inclusive lower bound of the range.
  # @!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 PodResourceRange
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The pod [resource
  # type](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/)
  # that the SKU applies to.
  module PodResource
    # Unused.
    POD_RESOURCE_UNSPECIFIED = 0

    # The SKU applies based on the pod's [vCPU
    # count](https://kubernetes.io/docs/tasks/configure-pod-container/assign-cpu-resource/).
    VCPU_COUNT = 1

    # The SKU applies based on the pod's [memory
    # size](https://kubernetes.io/docs/tasks/configure-pod-container/assign-memory-resource/)
    # in bytes.
    MEMORY_BYTES = 2

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

    # The SKU applies based on the pod's [TPU
    # count](https://cloud.google.com/kubernetes-engine/docs/concepts/tpus#how_tpus_work).
    TPU_COUNT = 4
  end

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

    # Usage is calculated from pod runtime.
    # The customer's usage is metered in a manner similar to the [GKE
    # Autopilot mode for pods without specific hardware
    # requirements](https://cloud.google.com/kubernetes-engine/pricing),
    # priced on a per-pod basis in units of hours and measured in
    # one-second increments, with no minimum duration.
    #
    # A SKU using this usage calculation is referred to as "flat" because
    # the customer's usage charge is independent of the pod shape apart
    # from determining whether the SKU applies to the pod.
    POD_RUNTIME = 1

    # Usage is calculated from pod runtime and size.
    # This calculation mode is only applicable to resource-based SKUs.
    # Usage is calculated by measuring the pod runtime in the same manner
    # as for `POD_RUNTIME` and multiplying by the pod's resource value
    # matching the SKU's pod resource type.
    # This converts the price from per-pod-hour to
    # per-pod-hour-per-resource, which changes the price unit for memory
    # SKUs to 'GiBy.h'. The price unit otherwise remains 'h' because the
    # other 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
    # pod's resource value.
    LINEAR_RESOURCE_SCALED_POD_RUNTIME = 2
  end
end