costs.appvia.io/v1alpha1
Package v1alpha1 contains API Schema definitions for the costs v1alpha1 API group
Exported Resource Types
Internal Resource Types
- Account
- Asset
- AssetCost
- AssetCostSummary
- Continent
- CostEstimate
- CostEstimateElement
- CostSummary
- InstanceType
- KubernetesDetails
- KubernetesVersion
- Microdollar
- OverallCostSummary
- PriceType
- Region
- WorkspaceCostSummary
Account
Account represents an account
Field | Description |
---|---|
workspaceIdentifier string | WorkspaceIdentifier is the unique identifier for the workspace that owns this asset |
assetIdentifier string | AssetIdentifier is the unique identifier for this asset |
name string | Name is the name of the resource in wayfinder, for reference |
provider string | Provider is the cloud provider who provides this resource |
account string | Provider is the identifier for this account in the providers |
Asset
Asset represents a resource known to Wayfinder which a cost provider should provide costs data for
Field | Description |
---|---|
tags map[string]string | Tags are a set of tags which can be used to identify this asset |
workspaceIdentifier string | WorkspaceIdentifier is the unique identifier for the workspace that owns this asset |
assetIdentifier string | AssetIdentifier is the unique identifier for this asset |
name string | Name is the name of the resource in wayfinder, for reference |
provider string | Provider is the cloud provider who provides this resource |
AssetCost
(Appears on: AssetCostSummary)
AssetCost defines the details about a cost related to a piece of infrastructure deployed by Wayfinder for a workspace. It is expected that any asset may have multiple AssetCosts covering a specific time period to represent the different charges levied by the provider for that piece of infrastructure.
Field | Description |
---|---|
costIdentifier string | CostIdentifier is the unique identifer for this line of cost data - cost providers must ensure that if a cost line item is updated, it has the same identifier, and that different line items have unique cost identifiers for a given AssetIdentifier. If a cost provider provides immutable cost entries, i.e. they will never be updated, then this can be left blank and Wayfinder will assign a unique identifier. |
assetIdentifier string | AssetIdentifier is the unique identifier assigned to the resource this cost applies to, e.g. the unique cluster ID, etc. |
workspaceIdentifier string | WorkspaceIdentifier is the unique identifier for the workspace this resource belongs to. |
cost Microdollar | Cost is the actual incurred cost total cost for this piece of infrastructure for the specified time period in microdollars |
usageStartTime Kubernetes meta/v1.Time | UsageStartTime indicates the start of the period this cost is applicable for |
usageEndTime Kubernetes meta/v1.Time | UsageEndTime indicates the end of the period this cost is applicable for |
usageType string | UsageType is the provider-specific code or title for this type of usage (e.g. a SKU or similar) |
description string | Description identifies the type of cost this line item refers to |
usageAmount string | UsageAmount is the quantity of the resource used (e.g. amount of storage) |
usageUnit string | UsageUnit is the unit that UsageAmount is expressed in (e.g. seconds, gibibytes, etc) |
provider string | Provider indicates which cloud provider this cost relates to |
account string | Account indicates which account / project / subscription this cost relates to |
invoice string | Invoice is the invoice on which this cost was billed (in the format YYYYMM, e.g. 202008 for August 2020) |
retrievedAt Kubernetes meta/v1.Time | RetrievedAt is the time at which this cost item was retrieved/refreshed from the provider |
AssetCostSummary
(Appears on: WorkspaceCostSummary)
AssetCostSummary represents the total cost known to wayfinder for an asset (over a period of time)
Field | Description |
---|---|
assetIdentifier string | AssetIdentifier is the unique identifier assigned to the resource this cost applies to, e.g. the unique cluster ID, etc. |
workspaceIdentifier string | WorkspaceIdentifier is the unique identifier for the workspaice this resource belongs to. |
assetName string | AssetName is the name of the asset these costs relate to |
assetType string | AssetType is the type of the asset these costs relate to |
provider string | Provider is the cloud provider who provides this assset |
details []AssetCost | Details provides the individual cost line items that make up this summary |
CostSummary CostSummary |
Continent
Continent is a geographical grouping of regions
Field | Description |
---|---|
name string | |
regions []Region |
CostEstimate
CostEstimate defines the result of the cost estimation
Field | Description |
---|---|
minCost Microdollar | MinCost is the minimum hourly cost estimate in microdollars |
typicalCost Microdollar | TypicalCost is the expected / likely hourly cost estimate in microdollars |
maxCost Microdollar | MaxCost is the estimated upper limit of the hourly cost in microdollars |
costElements []CostEstimateElement | CostElements provides details of the different components which make up this cost estimate |
preparedAt Kubernetes meta/v1.Time | PreparedAt indicates the time this estimate was prepared |
CostEstimateElement
(Appears on: CostEstimate)
CostEstimateElement represents a logical component which has an associated cost
Field | Description |
---|---|
name string | Name is the name of this component |
minCost Microdollar | MinCost is the minimum hourly cost estimate of this component in microdollars |
typicalCost Microdollar | TypicalCost is the expected / likely hourly cost estimate of this component in microdollars |
maxCost Microdollar | MaxCost is the estimated upper limit of the hourly cost of this component in microdollars |
CostSummary
(Appears on: AssetCostSummary, OverallCostSummary, WorkspaceCostSummary)
CostSummary represents a total cost over a period of time
Field | Description |
---|---|
cost Microdollar | Cost is the actual incurred cost total cost for the specified time period in microdollars |
usageStartTime Kubernetes meta/v1.Time | StartTime indicates the start of the period this summary includes costs for |
usageEndTime Kubernetes meta/v1.Time | EndTime indicates the end of the period this summary includes costs for |
InstanceType
InstanceType is an available compute type from a cloud provider
Field | Description |
---|---|
category string | Category is the classification of this instance type |
name string | Name is the unique identifier of this instance type |
prices map[github.com/appvia/wayfinder/tmpcrdref/pkg/apis/costs/v1alpha1.PriceType]github.com/appvia/wayfinder/tmpcrdref/pkg/apis/costs/v1alpha1.Microdollar | Prices gives the price of this instance type in microdollars per hour for the given price type |
mCpus int64 | MCpus is the number of milliCPUs assigned to this instance type |
mem int64 | Mem is the amount of memory, expressed in milli-GiBs, assigned to this instance type |
gpuType string | GPUType is the type of any GPU attached to this instance, if known |
gpus int64 | GPUs is the number of GPU cores assigned to this instance type, if known |
availableRegions []string | AvailableRegions is the list of regions where this instance type is available. Only populated when listing instance types across all regions. |
KubernetesDetails
KubernetesDetails is the set of version information for the Kubernetes service on a given provider
Field | Description |
---|---|
refreshed Kubernetes meta/v1.Time | |
supportedVersionsByRegion map[string][]github.com/appvia/wayfinder/tmpcrdref/pkg/apis/costs/v1alpha1.KubernetesVersion | SupportedVersionsByRegion lists the versions supported in each region of the cloud provider |
KubernetesVersion
(Appears on: KubernetesDetails)
Field | Description |
---|---|
version string | Version is the full version (as required by the cloud provider APIs) |
supported bool | Supported indicates that this version is supported by this version of Wayfinder |
default bool | Default indicates that this version is the default version for this version of Wayfinder |
Microdollar
(int64
alias)
(Appears on: AssetCost, CostEstimate, CostEstimateElement, CostSummary, InstanceType)
Microdollar represents a cost as an integer representing 1/1000000ths of a dollar
OverallCostSummary
OverallCostSummary represents the total costs known to wayfinder over a period of time, and acts as a container for WorkspaceCostSummaries
Field | Description |
---|---|
CostSummary CostSummary | |
workspaceCosts []WorkspaceCostSummary |
PriceType
(string
alias)
PriceType is the possible types of prices for cloud infrastructure
Value | Description |
---|---|
"OnDemand" | PriceTypeOnDemand is the normal ‘rack’ price for a piece of infrastructure |
"PreEmptible" | PriceTypePreEmptible is the fixed discounted price which you can use a piece of infrastructure for subject to availability and early termination |
"Spot" | PriceTypeSpot is the variable price which you may be able to use a piece of infrastructure for |
Region
(Appears on: Continent)
Region is a specific cloud provider region
Field | Description |
---|---|
id string | |
name string | |
zones []string |
WorkspaceCostSummary
(Appears on: OverallCostSummary)
WorkspaceCostSummary represents the total cost known to wayfinder for a workspace (over a period of time)
Field | Description |
---|---|
workspaceIdentifier string | WorkspaceIdentifier is the unique identifier for the workspace these costs belongs to. |
workspace WorkspaceKey | Workspace is the key of the workspace that these costs belong to |
assetCosts []AssetCostSummary | AssetCosts gives the detail of the assets which make up this workspace cost |
CostSummary CostSummary |