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
AllocationRequestsGroup
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`
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
Boolean
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
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