Product

API: Stable Deprecated: Yes

Products define the services exposed by a Provider.

sealed class Product {
    abstract val allowAllocationRequestsFrom: AllocationRequestsGroup
    abstract val balance: Long?
    abstract val category: ProductCategoryId
    abstract val chargeType: ChargeType
    abstract val description: String
    abstract val freeToUse: Boolean
    abstract val hiddenInGrantApplications: Boolean
    abstract val id: String
    abstract val maxUsableBalance: Long?
    abstract val name: String
    abstract val pricePerUnit: Long
    abstract val priority: Int
    abstract val productType: ProductType
    abstract val unitOfPrice: ProductPriceUnit
    abstract val version: Int

    class Compute : Product()
    class Ingress : Product()
    class License : Product()
    class NetworkIP : Product()
    class Storage : Product()
}

For more information see this page.

Properties
allowAllocationRequestsFrom: AllocationRequestsGroup Indicates who should be able to make allocation requests for this product (more specifically the product

API: Internal/Beta

category).

Possible options are:

  • ALL (default): Allows allocation requests from both projects and personal workspaces,

  • PROJECTS: Allow allocation requests from projects, but not from personal workspaces,

  • PERSONAL: Allow allocation requests from personal workspaces, but not projects.

balance: Long? Included only with certain endpoints which support `includeBalance`

API: Internal/Beta

category: ProductCategoryId The category groups similar products together, it also defines which provider owns the product

API: Internal/Beta

chargeType: ChargeType The category of payment model. Used in combination with unitOfPrice to create a complete payment model.

API: Internal/Beta

description: String A short (single-line) description of the Product

API: Internal/Beta

freeToUse: Boolean Indicates that a Wallet is not required to use this Product

API: Internal/Beta

Under normal circumstances, a Wallet is always required. This is required even if a Product has a pricePerUnit of 0. If freeToUse = true then the Wallet requirement is dropped.

hiddenInGrantApplications: Boolean Flag to indicate that this Product is not publicly available

API: Internal/Beta

⚠️ WARNING: This doesn’t make the Product secret. In only hides the Product from the grant system’s UI.

id: String

API: Internal/Beta Deprecated: Yes

maxUsableBalance: Long? Included only with certain endpoints which support `includeMaxBalance`

API: Internal/Beta

name: String A unique name associated with this Product

API: Internal/Beta

pricePerUnit: Long The price of a single unit in a single period

API: Internal/Beta

For more information go here.

priority: Int A integer used for changing the order in which products are displayed (ascending order)

API: Internal/Beta

productType: ProductType Classifier used to explain the type of Product

API: Internal/Beta

unitOfPrice: ProductPriceUnit The unit of price. Used in combination with chargeType to create a complete payment model.

API: Internal/Beta

version: Int This property is no longer used.

API: Internal/Beta Deprecated: Yes