CAST AI · Schema

CAST AI Node Template

A Node Template defines instance type constraints and configuration for nodes provisioned by the CAST AI autoscaler.

AutoscalingCloud InfrastructureCost OptimizationDevOpsFinOpsKubernetesObservability

Properties

Name Type Description
id string Unique identifier for the node template.
name string Name of the node template.
configurationId string ID of the associated node configuration.
constraints object Resource constraints for node selection.
createdAt string Timestamp when the node template was created.
updatedAt string Timestamp when the node template was last updated.
View JSON Schema on GitHub

JSON Schema

node-template.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://github.com/api-evangelist/cast-ai/blob/main/json-schema/node-template.json",
  "title": "CAST AI Node Template",
  "description": "A Node Template defines instance type constraints and configuration for nodes provisioned by the CAST AI autoscaler.",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "Unique identifier for the node template."
    },
    "name": {
      "type": "string",
      "description": "Name of the node template."
    },
    "configurationId": {
      "type": "string",
      "format": "uuid",
      "description": "ID of the associated node configuration."
    },
    "constraints": {
      "type": "object",
      "description": "Resource constraints for node selection.",
      "properties": {
        "minCpu": {
          "type": "integer",
          "description": "Minimum number of CPUs for the node."
        },
        "maxCpu": {
          "type": "integer",
          "description": "Maximum number of CPUs for the node."
        },
        "minMemory": {
          "type": "integer",
          "description": "Minimum memory in MiB for the node."
        },
        "maxMemory": {
          "type": "integer",
          "description": "Maximum memory in MiB for the node."
        },
        "useSpotInstances": {
          "type": "boolean",
          "description": "Whether to use spot or preemptible instances."
        },
        "architectures": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Allowed CPU architectures (e.g., amd64, arm64)."
        }
      }
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "Timestamp when the node template was created."
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time",
      "description": "Timestamp when the node template was last updated."
    }
  }
}