{ "$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." } } }