Kubecost · Schema

Kubecost Asset

An individual Kubernetes infrastructure asset such as a node, disk, or load balancer, with associated cost data over a given time window.

Cloud CostCost MonitoringKubernetesOptimizationSpending

Properties

Name Type Description
type string Type of asset (e.g. Node, Disk, LoadBalancer, ClusterManagement, Network, Attached).
properties object Metadata properties associated with this asset.
window object The time window for this asset cost record.
start string Start time of the asset record.
end string End time of the asset record.
minutes number Duration in minutes for the asset record.
adjustment number Cost adjustment applied to the asset.
totalCost number Total cost of the asset over the window.
View JSON Schema on GitHub

JSON Schema

asset.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://github.com/api-evangelist/kubecost/blob/main/json-schema/asset.json",
  "title": "Kubecost Asset",
  "description": "An individual Kubernetes infrastructure asset such as a node, disk, or load balancer, with associated cost data over a given time window.",
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "description": "Type of asset (e.g. Node, Disk, LoadBalancer, ClusterManagement, Network, Attached)."
    },
    "properties": {
      "type": "object",
      "description": "Metadata properties associated with this asset.",
      "properties": {
        "cluster": {
          "type": "string",
          "description": "Cluster name."
        },
        "name": {
          "type": "string",
          "description": "Asset name."
        },
        "providerID": {
          "type": "string",
          "description": "Cloud provider resource identifier."
        },
        "provider": {
          "type": "string",
          "description": "Cloud provider name (e.g. AWS, Azure, GCP)."
        },
        "account": {
          "type": "string",
          "description": "Cloud provider account identifier."
        },
        "project": {
          "type": "string",
          "description": "Cloud provider project identifier."
        },
        "service": {
          "type": "string",
          "description": "Cloud provider service name."
        },
        "category": {
          "type": "string",
          "description": "Asset category."
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Labels applied to the asset."
        }
      }
    },
    "window": {
      "type": "object",
      "description": "The time window for this asset cost record.",
      "properties": {
        "start": {
          "type": "string",
          "format": "date-time",
          "description": "Start of the window."
        },
        "end": {
          "type": "string",
          "format": "date-time",
          "description": "End of the window."
        }
      }
    },
    "start": {
      "type": "string",
      "format": "date-time",
      "description": "Start time of the asset record."
    },
    "end": {
      "type": "string",
      "format": "date-time",
      "description": "End time of the asset record."
    },
    "minutes": {
      "type": "number",
      "description": "Duration in minutes for the asset record."
    },
    "adjustment": {
      "type": "number",
      "description": "Cost adjustment applied to the asset."
    },
    "totalCost": {
      "type": "number",
      "description": "Total cost of the asset over the window."
    }
  }
}