Product¶
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
AllocationRequestsGroupcategory).
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`
Long?
category: ProductCategoryId The category groups similar products together, it also defines which provider owns the product
ProductCategoryId
chargeType: ChargeType The category of payment model. Used in combination with unitOfPrice to create a complete payment model.
ChargeType
description: String A short (single-line) description of the Product
String
freeToUse: Boolean Indicates that a Wallet is not required to use this Product
BooleanUnder 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
Boolean⚠️ WARNING: This doesn’t make the Product secret. In only hides the Product from the grant
system’s UI.
id: String
String
maxUsableBalance: Long? Included only with certain endpoints which support `includeMaxBalance`
Long?
name: String A unique name associated with this Product
String
priority: Int A integer used for changing the order in which products are displayed (ascending order)
Int
productType: ProductType Classifier used to explain the type of Product
ProductType
unitOfPrice: ProductPriceUnit The unit of price. Used in combination with chargeType to create a complete payment model.
ProductPriceUnit
version: Int This property is no longer used.
Int