{
"openapi": "3.0.3",
"info": {
"title": "Alien Manager API",
"description": "Control plane for Alien applications. Manages deployments, releases, commands, and telemetry.",
"license": {
"name": ""
},
"version": "1.0.0"
},
"paths": {
"/health": {
"get": {
"tags": [
"health"
],
"operationId": "health",
"responses": {
"200": {
"description": "Server is healthy",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HealthResponse"
}
}
}
}
}
}
},
"/v1/commands": {
"post": {
"tags": [
"commands"
],
"summary": "Create a new command",
"operationId": "create_command",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateCommandRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Command created successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateCommandResponse"
}
}
}
},
"400": {
"description": "Invalid command",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/commands/leases": {
"post": {
"tags": [
"leases"
],
"summary": "Acquire leases for polling deployments",
"operationId": "acquire_leases",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LeaseRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Leases acquired",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LeaseResponse"
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/commands/leases/{lease_id}/release": {
"post": {
"tags": [
"leases"
],
"summary": "Release a lease",
"operationId": "release_lease",
"parameters": [
{
"name": "lease_id",
"in": "path",
"description": "Lease identifier",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Lease released successfully"
},
"404": {
"description": "Lease not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/commands/{command_id}": {
"get": {
"tags": [
"commands"
],
"summary": "Get command status",
"operationId": "get_command_status",
"parameters": [
{
"name": "command_id",
"in": "path",
"description": "Command identifier",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Command status",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CommandStatusResponse"
}
}
}
},
"404": {
"description": "Command not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/commands/{command_id}/payload": {
"get": {
"tags": [
"commands"
],
"summary": "Get command payload (params and response) from KV",
"description": "Returns the raw params and response data stored in the manager's KV store.\nReturns 404 if neither params nor response exist for this command.",
"operationId": "get_command_payload",
"parameters": [
{
"name": "command_id",
"in": "path",
"description": "Command identifier",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Command payload data",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CommandPayloadResponse"
}
}
}
},
"404": {
"description": "Command payload not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"put": {
"tags": [
"commands"
],
"summary": "Store command payload data (params and/or response) directly into KV.",
"description": "Bypasses the command registry — useful for populating demo data or\nmigrating payload data. Does not validate command existence or state.",
"operationId": "store_command_payload",
"parameters": [
{
"name": "command_id",
"in": "path",
"description": "Command identifier",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StorePayloadRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Payload stored successfully"
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/commands/{command_id}/response": {
"put": {
"tags": [
"commands"
],
"summary": "Submit response from deployment",
"operationId": "submit_response",
"parameters": [
{
"name": "command_id",
"in": "path",
"description": "Command identifier",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SubmitResponseRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Response submitted successfully"
},
"400": {
"description": "Invalid command or state",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Command not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/commands/{command_id}/upload-complete": {
"post": {
"tags": [
"commands"
],
"summary": "Mark upload as complete",
"operationId": "upload_complete",
"parameters": [
{
"name": "command_id",
"in": "path",
"description": "Command identifier",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UploadCompleteRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Upload marked complete",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UploadCompleteResponse"
}
}
}
},
"400": {
"description": "Invalid command or state",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Command not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/deployment-groups": {
"get": {
"tags": [
"deployment-groups"
],
"operationId": "list_deployment_groups",
"responses": {
"200": {
"description": "List of deployment groups",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListDeploymentGroupsResponse"
}
}
}
}
},
"security": [
{
"bearer": []
}
]
},
"post": {
"tags": [
"deployment-groups"
],
"summary": "Every handler in this file runs `auth::require_auth(&state, &headers)`\nand then threads `&subject` into the `DeploymentStore` calls — see the\ntrait doc on [`DeploymentStore`] for the convention.",
"description": "`POST /v1/deployment-groups` — Inbound: workspace bearer.",
"operationId": "create_deployment_group",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateDeploymentGroupRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Deployment group created",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeploymentGroupResponse"
}
}
}
}
},
"security": [
{
"bearer": []
}
]
}
},
"/v1/deployment-groups/{id}": {
"get": {
"tags": [
"deployment-groups"
],
"operationId": "get_deployment_group",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Deployment group ID",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Deployment group found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeploymentGroupResponse"
}
}
}
},
"404": {
"description": "Deployment group not found"
}
},
"security": [
{
"bearer": []
}
]
}
},
"/v1/deployment-groups/{id}/tokens": {
"post": {
"tags": [
"deployment-groups"
],
"operationId": "create_deployment_group_token",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Deployment group ID",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Token created",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateTokenResponse"
}
}
}
},
"404": {
"description": "Deployment group not found"
}
},
"security": [
{
"bearer": []
}
]
}
},
"/v1/deployments": {
"get": {
"tags": [
"deployments"
],
"operationId": "list_deployments",
"parameters": [
{
"name": "deploymentGroupId",
"in": "query",
"description": "Filter by deployment group ID",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "name",
"in": "query",
"description": "Filter by exact deployment name. Requires deploymentGroupId unless the token is scoped to a deployment group.",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "include",
"in": "query",
"description": "Include related resources (e.g. deploymentGroup)",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
],
"responses": {
"200": {
"description": "List of deployments",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListDeploymentsResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
}
},
"post": {
"tags": [
"deployments"
],
"summary": "Every handler in this file runs `auth::require_auth(&state, &headers)`\nand then threads `&subject` into the `DeploymentStore` calls. Embedders\nthat proxy to an upstream API can use the subject's `bearer_token` for\npassthrough; single-tenant impls ignore it. See the trait doc on\n[`DeploymentStore`] for the full convention.",
"description": "`POST /v1/deployments` — Inbound: workspace / project / dg bearer (or\nauthenticated user). Deployment-scoped tokens cannot create deployments.",
"operationId": "create_deployment",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateDeploymentRequest"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Deployment created",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateDeploymentResponse"
}
}
}
},
"400": {
"description": "Bad request"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
}
}
},
"/v1/deployments/{id}": {
"get": {
"tags": [
"deployments"
],
"operationId": "get_deployment",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Deployment ID",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Deployment details",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeploymentResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "Not found"
}
}
}
},
"/v1/deployments/{id}/delete": {
"post": {
"tags": [
"deployments"
],
"operationId": "delete_deployment",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Deployment ID",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteDeploymentRequest"
}
}
},
"required": true
},
"responses": {
"202": {
"description": "Deployment deletion enqueued"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "Not found"
}
}
}
},
"/v1/deployments/{id}/info": {
"get": {
"tags": [
"deployments"
],
"operationId": "get_deployment_info",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Deployment ID",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Deployment info",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeploymentInfoResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "Not found"
}
}
}
},
"/v1/deployments/{id}/redeploy": {
"post": {
"tags": [
"deployments"
],
"operationId": "redeploy",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Deployment ID",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Redeploy requested"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "Not found"
}
}
}
},
"/v1/deployments/{id}/retry": {
"post": {
"tags": [
"deployments"
],
"operationId": "retry_deployment",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Deployment ID",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Retry requested"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "Not found"
}
}
}
},
"/v1/initialize": {
"post": {
"tags": [
"sync"
],
"summary": "`POST /v1/initialize` — Inbound: deployment-group bearer (typical),\nor workspace bearer for self-hosted operator workflows. New deployments\nare created via `DeploymentStore::create_deployment(caller, …)` so\nembedders that proxy to an upstream API write the row in the dg's\nworkspace, not the manager's.",
"operationId": "initialize",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InitializeRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Existing deployment returned",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InitializeResponse"
}
}
}
},
"201": {
"description": "New deployment created with token",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InitializeResponse"
}
}
}
}
},
"security": [
{
"bearer": []
}
]
}
},
"/v1/releases": {
"get": {
"tags": [
"releases"
],
"summary": "`GET /v1/releases` — Inbound: workspace / project bearer (or authenticated\nuser). Outbound: caller bearer (passthrough). Returns only releases the\ncaller may read.",
"operationId": "list_releases",
"responses": {
"200": {
"description": "Releases listed",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListReleasesResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
}
},
"security": [
{
"bearer": []
}
]
},
"post": {
"tags": [
"releases"
],
"operationId": "create_release",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateReleaseRequest"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Release created successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReleaseResponse"
}
}
}
}
},
"security": [
{
"bearer": []
}
]
}
},
"/v1/releases/latest": {
"get": {
"tags": [
"releases"
],
"operationId": "get_latest_release",
"responses": {
"200": {
"description": "Latest release found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReleaseResponse"
}
}
}
},
"404": {
"description": "No releases found"
}
},
"security": [
{
"bearer": []
}
]
}
},
"/v1/releases/{id}": {
"get": {
"tags": [
"releases"
],
"operationId": "get_release",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Release ID",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Release found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReleaseResponse"
}
}
}
},
"404": {
"description": "Release not found"
}
},
"security": [
{
"bearer": []
}
]
}
},
"/v1/resolve-credentials": {
"post": {
"tags": [
"credentials"
],
"operationId": "resolve_credentials",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResolveCredentialsRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Credentials resolved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResolveCredentialsResponse"
}
}
}
}
},
"security": [
{
"bearer": []
}
]
}
},
"/v1/stack/import": {
"post": {
"tags": [
"stack-import"
],
"summary": "`POST /v1/stack/import` — Inbound: deployment-group bearer.",
"description": "The body's `deploymentGroupToken` field is informational (mirrored back\nfor log correlation) — actual authentication is the standard `Authorization\nBearer` header processed by [`auth::require_auth`]. The handler tolerates\nthe body field being either the raw token or empty; it never reads\ncredentials from the body to make the secret path uniform with every\nother endpoint.",
"operationId": "stack_import",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StackImportRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Imported stack updated",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StackImportResponse"
}
}
}
},
"201": {
"description": "Stack imported",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StackImportResponse"
}
}
}
},
"400": {
"description": "Bad request"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "Deployment group or release not found"
},
"409": {
"description": "Deployment name conflict"
}
}
}
},
"/v1/sync": {
"post": {
"tags": [
"sync"
],
"summary": "`POST /v1/sync` — Inbound: deployment bearer. The agent-driven sync\npath; `caller: &Subject` is threaded into the store so embedders see\nthe agent's own scope.",
"operationId": "agent_sync",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AgentSyncRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Agent sync response with optional target state",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AgentSyncResponse"
}
}
}
}
},
"security": [
{
"bearer": []
}
]
}
},
"/v1/sync/acquire": {
"post": {
"tags": [
"sync"
],
"summary": "`POST /v1/sync/acquire` — Inbound: workspace / dg / deployment bearer.\n`caller: &Subject` is threaded into `DeploymentStore::acquire` so\nembedders can authorize against the inbound caller's scope.",
"operationId": "acquire",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AcquireRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Deployments acquired for reconciliation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AcquireResponse"
}
}
}
}
},
"security": [
{
"bearer": []
}
]
}
},
"/v1/sync/reconcile": {
"post": {
"tags": [
"sync"
],
"summary": "`POST /v1/sync/reconcile` — Inbound: workspace / dg / deployment\nbearer. `caller: &Subject` is threaded into `DeploymentStore::reconcile`.",
"operationId": "reconcile",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReconcileRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Deployment state reconciled",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReconcileResponse"
}
}
}
}
},
"security": [
{
"bearer": []
}
]
}
},
"/v1/sync/release": {
"post": {
"tags": [
"sync"
],
"summary": "`POST /v1/sync/release` — Inbound: workspace / dg / deployment bearer.\n`caller: &Subject` is threaded into `DeploymentStore::release`.",
"operationId": "release",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReleaseRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Deployment lock released"
}
},
"security": [
{
"bearer": []
}
]
}
},
"/v1/whoami": {
"get": {
"tags": [
"whoami"
],
"operationId": "whoami",
"responses": {
"200": {
"description": "Returns the identity of the authenticated caller",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WhoamiResponse"
}
}
}
}
},
"security": [
{
"bearer": []
}
]
}
}
},
"components": {
"schemas": {
"AcquireRequest": {
"type": "object",
"required": [
"session"
],
"properties": {
"acquireMode": {
"type": "string",
"nullable": true
},
"deploymentIds": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true
},
"limit": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"platforms": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Platform"
},
"nullable": true
},
"session": {
"type": "string"
},
"setupMethod": {
"type": "string",
"nullable": true
},
"statuses": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true
}
}
},
"AcquireResponse": {
"type": "object",
"required": [
"deployments"
],
"properties": {
"deployments": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AcquiredDeploymentResponse"
}
}
}
},
"AcquiredDeploymentResponse": {
"type": "object",
"required": [
"deployment"
],
"properties": {
"deployment": {}
}
},
"AgentSyncRequest": {
"type": "object",
"required": [
"deploymentId"
],
"properties": {
"currentState": {
"description": "Current deployment state as reported by the agent.\nWhen present, the manager updates the deployment record to reflect\nthe agent's progress (status, stack_state, etc.)."
},
"deploymentId": {
"type": "string"
}
}
},
"AgentSyncResponse": {
"type": "object",
"properties": {
"commandsUrl": {
"type": "string",
"description": "Public URL for the commands API. Cloud-deployed workers use this\nto poll for pending commands instead of the agent's local sync URL.",
"nullable": true
},
"currentState": {
"description": "Authoritative deployment state from the manager.\n\nReturned when a pull deployment attaches with an empty local state while\nthe manager already has imported or previously reconciled state."
},
"target": {}
}
},
"AlienError": {
"type": "object",
"description": "Canonical error container that provides a structured way to represent errors\nwith rich metadata including error codes, human-readable messages, context,\nand chaining capabilities for error propagation.\n\nThis struct is designed to be both machine-readable and user-friendly,\nsupporting serialization for API responses and detailed error reporting\nin distributed systems.",
"required": [
"code",
"message",
"retryable",
"internal"
],
"properties": {
"code": {
"type": "string",
"description": "A unique identifier for the type of error.\n\nThis should be a short, machine-readable string that can be used\nby clients to programmatically handle different error types.\nExamples: \"NOT_FOUND\", \"VALIDATION_ERROR\", \"TIMEOUT\"",
"example": "NOT_FOUND",
"maxLength": 128
},
"context": {
"description": "Additional diagnostic information about the error context.\n\nThis optional field can contain structured data providing more details\nabout the error, such as validation errors, request parameters that\ncaused the issue, or other relevant context information."
},
"hint": {
"type": "string",
"description": "Optional human-facing remediation hint.",
"nullable": true
},
"httpStatusCode": {
"type": "integer",
"format": "int32",
"description": "HTTP status code for this error.\n\nUsed when converting the error to an HTTP response. If None, falls back to\nthe error type's default status code or 500.",
"maximum": 599,
"minimum": 100,
"nullable": true
},
"internal": {
"type": "boolean",
"description": "Indicates if this is an internal error that should not be exposed to users.\n\nWhen `true`, this error contains sensitive information or implementation\ndetails that should not be shown to end-users. Such errors should be\nlogged for debugging but replaced with generic error messages in responses."
},
"message": {
"type": "string",
"description": "Human-readable error message.\n\nThis message should be clear and actionable for developers or end-users,\nproviding context about what went wrong and potentially how to fix it.",
"example": "Item not found.",
"maxLength": 16384
},
"retryable": {
"type": "boolean",
"description": "Indicates whether the operation that caused the error should be retried.\n\nWhen `true`, the error is transient and the operation might succeed\nif attempted again. When `false`, retrying the same operation is\nunlikely to succeed without changes.",
"default": false
},
"source": {
"description": "The underlying error that caused this error, creating an error chain.\n\nThis allows for proper error propagation and debugging by maintaining\nthe full context of how an error occurred through multiple layers\nof an application."
}
}
},
"ArtifactRegistryHeartbeatData": {
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/AwsEcrArtifactRegistryHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"awsEcr"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/GcpArtifactRegistryHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"gcpArtifactRegistry"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/AzureContainerRegistryHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"azureContainerRegistry"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/LocalArtifactRegistryHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"local"
]
}
}
}
]
}
]
},
"ArtifactRegistryHeartbeatStatus": {
"type": "object",
"required": [
"health",
"lifecycle",
"stale",
"partial",
"collectionIssues"
],
"properties": {
"collectionIssues": {
"type": "array",
"items": {
"$ref": "#/components/schemas/HeartbeatCollectionIssue"
}
},
"health": {
"$ref": "#/components/schemas/ObservedHealth"
},
"lifecycle": {
"$ref": "#/components/schemas/ProviderLifecycleState"
},
"message": {
"type": "string",
"nullable": true
},
"partial": {
"type": "boolean"
},
"stale": {
"type": "boolean"
}
}
},
"AwsCodeBuildHeartbeatData": {
"type": "object",
"required": [
"status",
"projectName",
"environmentVariableCount",
"serviceRolePresent",
"encryptionKeyPresent"
],
"properties": {
"artifactsEncryptionDisabled": {
"type": "boolean",
"nullable": true
},
"artifactsType": {
"type": "string",
"nullable": true
},
"cloudWatchLogsStatus": {
"type": "string",
"nullable": true
},
"computeType": {
"type": "string",
"nullable": true
},
"created": {
"type": "number",
"format": "double",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"encryptionKeyPresent": {
"type": "boolean"
},
"environmentImage": {
"type": "string",
"nullable": true
},
"environmentType": {
"type": "string",
"nullable": true
},
"environmentVariableCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"imagePullCredentialsType": {
"type": "string",
"nullable": true
},
"lastModified": {
"type": "number",
"format": "double",
"nullable": true
},
"privilegedMode": {
"type": "boolean",
"nullable": true
},
"projectArn": {
"type": "string",
"nullable": true
},
"projectName": {
"type": "string"
},
"queuedTimeoutInMinutes": {
"type": "integer",
"format": "int32",
"nullable": true
},
"s3LogsStatus": {
"type": "string",
"nullable": true
},
"serviceRolePresent": {
"type": "boolean"
},
"sourceType": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/BuildHeartbeatStatus"
},
"timeoutInMinutes": {
"type": "integer",
"format": "int32",
"nullable": true
}
}
},
"AwsComputeClusterHeartbeatData": {
"type": "object",
"required": [
"status",
"nodes",
"name",
"capacityGroups",
"providerFleets"
],
"properties": {
"backendClusterId": {
"type": "string",
"nullable": true
},
"capacityGroups": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ComputeCapacityGroupStatus"
}
},
"cpu": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
},
"memory": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
},
"name": {
"type": "string"
},
"nodes": {
"$ref": "#/components/schemas/ObservedCounts"
},
"providerFleets": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProviderFleetStatus"
}
},
"region": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/ComputeClusterHeartbeatStatus"
}
}
},
"AwsCustomCertificateConfig": {
"type": "object",
"required": [
"certificateArn"
],
"properties": {
"certificateArn": {
"type": "string"
}
}
},
"AwsDaemonHeartbeatData": {
"type": "object",
"required": [
"status",
"horizonClusterId",
"daemonName",
"horizonStatus",
"capacityGroup",
"desiredMachines",
"assignedMachines",
"healthyInstances",
"unavailableInstances",
"commandSupported",
"latestUpdateTimestamp",
"daemonInstances",
"events"
],
"properties": {
"assignedMachines": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"capacityGroup": {
"type": "string"
},
"commandSupported": {
"type": "boolean"
},
"daemonInstances": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ManagedRuntimeUnitStatus"
}
},
"daemonName": {
"type": "string"
},
"desiredMachines": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"events": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ManagedRuntimeEventSnapshot"
}
},
"healthyInstances": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"horizonClusterId": {
"type": "string"
},
"horizonStatus": {
"type": "string"
},
"horizonStatusMessage": {
"type": "string",
"nullable": true
},
"horizonStatusReason": {
"type": "string",
"nullable": true
},
"latestUpdateTimestamp": {
"type": "string"
},
"status": {
"$ref": "#/components/schemas/WorkloadHeartbeatStatus"
},
"unavailableInstances": {
"type": "integer",
"format": "int32",
"minimum": 0
}
}
},
"AwsDynamoDbKeySchemaElement": {
"type": "object",
"required": [
"attributeName",
"keyType"
],
"properties": {
"attributeName": {
"type": "string"
},
"keyType": {
"type": "string"
}
}
},
"AwsDynamoDbKvHeartbeatData": {
"type": "object",
"required": [
"status",
"name",
"keySchema"
],
"properties": {
"billingMode": {
"type": "string",
"nullable": true
},
"deletionProtectionEnabled": {
"type": "boolean",
"nullable": true
},
"globalSecondaryIndexCount": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"itemCount": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"keySchema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AwsDynamoDbKeySchemaElement"
}
},
"localSecondaryIndexCount": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"name": {
"type": "string"
},
"region": {
"type": "string",
"nullable": true
},
"replicaCount": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"restoreInProgress": {
"type": "boolean",
"nullable": true
},
"sseStatus": {
"type": "string",
"nullable": true
},
"sseType": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/KvHeartbeatStatus"
},
"streamEnabled": {
"type": "boolean",
"nullable": true
},
"streamViewType": {
"type": "string",
"nullable": true
},
"tableArn": {
"type": "string",
"nullable": true
},
"tableClass": {
"type": "string",
"nullable": true
},
"tableSizeBytes": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"tableStatus": {
"type": "string",
"nullable": true
},
"ttlAttributeName": {
"type": "string",
"nullable": true
},
"ttlStatus": {
"type": "string",
"nullable": true
}
}
},
"AwsEcrArtifactRegistryHeartbeatData": {
"type": "object",
"required": [
"status",
"registryId",
"region",
"registryUri",
"repositoryPrefix",
"repositoryCount",
"repositoriesTruncated",
"repositories"
],
"properties": {
"pullRoleArn": {
"type": "string",
"nullable": true
},
"pushRoleArn": {
"type": "string",
"nullable": true
},
"region": {
"type": "string"
},
"registryId": {
"type": "string"
},
"registryUri": {
"type": "string"
},
"repositories": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AwsEcrRepositoryHeartbeatData"
}
},
"repositoriesTruncated": {
"type": "boolean"
},
"repositoryCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"repositoryPrefix": {
"type": "string"
},
"status": {
"$ref": "#/components/schemas/ArtifactRegistryHeartbeatStatus"
}
}
},
"AwsEcrRepositoryHeartbeatData": {
"type": "object",
"required": [
"repositoryArn",
"registryId",
"repositoryName",
"repositoryUri",
"createdAt",
"kmsKeyPresent"
],
"properties": {
"createdAt": {
"type": "number",
"format": "double"
},
"encryptionType": {
"type": "string",
"nullable": true
},
"imageTagMutability": {
"type": "string",
"nullable": true
},
"kmsKeyPresent": {
"type": "boolean"
},
"registryId": {
"type": "string"
},
"repositoryArn": {
"type": "string"
},
"repositoryName": {
"type": "string"
},
"repositoryUri": {
"type": "string"
},
"scanOnPush": {
"type": "boolean",
"nullable": true
}
}
},
"AwsIamRoleServiceAccountHeartbeatData": {
"type": "object",
"required": [
"status",
"roleName",
"roleArn",
"roleId",
"path",
"createDate",
"assumeRolePolicyPresent",
"tagCount",
"managedTagCount",
"attachedPolicyCount",
"attachedPolicyNames",
"inlinePolicyCount",
"inlinePolicyNames",
"stackPermissionsApplied"
],
"properties": {
"assumeRolePolicyPresent": {
"type": "boolean"
},
"attachedPolicyCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"attachedPolicyNames": {
"type": "array",
"items": {
"type": "string"
}
},
"createDate": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
},
"inlinePolicyCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"inlinePolicyNames": {
"type": "array",
"items": {
"type": "string"
}
},
"lastUsedDate": {
"type": "string",
"nullable": true
},
"lastUsedRegion": {
"type": "string",
"nullable": true
},
"managedTagCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"maxSessionDuration": {
"type": "integer",
"format": "int32",
"nullable": true
},
"path": {
"type": "string"
},
"permissionsBoundaryArn": {
"type": "string",
"nullable": true
},
"permissionsBoundaryType": {
"type": "string",
"nullable": true
},
"roleArn": {
"type": "string"
},
"roleId": {
"type": "string"
},
"roleName": {
"type": "string"
},
"stackPermissionsApplied": {
"type": "boolean"
},
"status": {
"$ref": "#/components/schemas/ServiceAccountHeartbeatStatus"
},
"tagCount": {
"type": "integer",
"format": "int32",
"minimum": 0
}
}
},
"AwsLambdaWorkerHeartbeatData": {
"type": "object",
"required": [
"status",
"functionName",
"layerCount",
"functionUrlCorsPresent",
"triggerCount"
],
"properties": {
"codeSha256": {
"type": "string",
"nullable": true
},
"functionName": {
"type": "string"
},
"functionUrlAuthType": {
"type": "string",
"nullable": true
},
"functionUrlCorsPresent": {
"type": "boolean"
},
"lastModified": {
"type": "string",
"nullable": true
},
"lastUpdateStatus": {
"type": "string",
"nullable": true
},
"lastUpdateStatusReason": {
"type": "string",
"nullable": true
},
"lastUpdateStatusReasonCode": {
"type": "string",
"nullable": true
},
"layerCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"memorySizeMb": {
"type": "integer",
"format": "int64",
"nullable": true
},
"packageType": {
"type": "string",
"nullable": true
},
"revisionId": {
"type": "string",
"nullable": true
},
"runtime": {
"type": "string",
"nullable": true
},
"state": {
"type": "string",
"nullable": true
},
"stateReason": {
"type": "string",
"nullable": true
},
"stateReasonCode": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/WorkloadHeartbeatStatus"
},
"timeoutSeconds": {
"type": "integer",
"format": "int64",
"nullable": true
},
"triggerCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"version": {
"type": "string",
"nullable": true
}
}
},
"AwsManagementConfig": {
"type": "object",
"description": "AWS management configuration extracted from stack settings",
"required": [
"managingRoleArn"
],
"properties": {
"managingRoleArn": {
"type": "string",
"description": "The managing AWS IAM role ARN that can assume cross-account roles"
}
}
},
"AwsParameterStoreVaultHeartbeatData": {
"type": "object",
"required": [
"status",
"accountId",
"region",
"prefix",
"parameterMetadataSampled"
],
"properties": {
"accountId": {
"type": "string"
},
"hasMoreParameters": {
"type": "boolean",
"nullable": true
},
"latestModifiedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"parameterMetadataSampled": {
"type": "boolean"
},
"prefix": {
"type": "string"
},
"region": {
"type": "string"
},
"sampledAdvancedTierCount": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"sampledKmsKeyMetadataPresentCount": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"sampledParameterCount": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"sampledSecureStringCount": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"sampledStringCount": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"sampledStringListCount": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"status": {
"$ref": "#/components/schemas/VaultHeartbeatStatus"
}
}
},
"AwsRemoteStackManagementHeartbeatData": {
"type": "object",
"required": [
"status",
"managementPermissionsApplied"
],
"properties": {
"managementPermissionsApplied": {
"type": "boolean"
},
"roleArn": {
"type": "string",
"nullable": true
},
"roleName": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/RemoteStackManagementHeartbeatStatus"
}
}
},
"AwsS3StorageHeartbeatData": {
"type": "object",
"required": [
"status",
"name",
"lifecyclePresent",
"encryptionConfigPresent",
"publicAccessBlockPresent"
],
"properties": {
"blockPublicAcls": {
"type": "boolean",
"nullable": true
},
"blockPublicPolicy": {
"type": "boolean",
"nullable": true
},
"bucketAclPresent": {
"type": "boolean",
"nullable": true
},
"bucketLocation": {
"type": "string",
"nullable": true
},
"bucketPolicyPresent": {
"type": "boolean",
"nullable": true
},
"encryptionConfigPresent": {
"type": "boolean"
},
"encryptionEnabled": {
"type": "boolean",
"nullable": true
},
"ignorePublicAcls": {
"type": "boolean",
"nullable": true
},
"lifecyclePresent": {
"type": "boolean"
},
"lifecycleRuleCount": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"name": {
"type": "string"
},
"publicAccessBlockPresent": {
"type": "boolean"
},
"region": {
"type": "string",
"nullable": true
},
"restrictPublicBuckets": {
"type": "boolean",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/StorageHeartbeatStatus"
},
"versioningEnabled": {
"type": "boolean",
"nullable": true
},
"versioningStatus": {
"type": "string",
"nullable": true
}
}
},
"AwsSqsQueueHeartbeatData": {
"type": "object",
"required": [
"status",
"name",
"approximateCounts"
],
"properties": {
"approximateCounts": {
"type": "boolean"
},
"approximateDelayedMessages": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"approximateInFlightMessages": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"approximateVisibleMessages": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"contentBasedDeduplication": {
"type": "boolean",
"nullable": true
},
"deduplicationScope": {
"type": "string",
"nullable": true
},
"delaySeconds": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"fifoQueue": {
"type": "boolean",
"nullable": true
},
"fifoThroughputLimit": {
"type": "string",
"nullable": true
},
"kmsDataKeyReusePeriodSeconds": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"kmsMasterKeyId": {
"type": "string",
"nullable": true
},
"maximumMessageSize": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"messageRetentionPeriodSeconds": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"name": {
"type": "string"
},
"queueArn": {
"type": "string",
"nullable": true
},
"queueUrl": {
"type": "string",
"nullable": true
},
"receiveMessageWaitTimeSeconds": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"redriveAllowPolicy": {
"type": "string",
"nullable": true
},
"redrivePolicy": {
"type": "string",
"nullable": true
},
"region": {
"type": "string",
"nullable": true
},
"sqsManagedSseEnabled": {
"type": "boolean",
"nullable": true
},
"sseEnabled": {
"type": "boolean",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/QueueHeartbeatStatus"
},
"visibilityTimeoutSeconds": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
}
}
},
"AwsVpcNetworkHeartbeatData": {
"type": "object",
"required": [
"status",
"publicSubnetIds",
"privateSubnetIds",
"availabilityZones",
"routeTableCount",
"isByoVpc"
],
"properties": {
"availabilityZones": {
"type": "array",
"items": {
"type": "string"
}
},
"cidrBlock": {
"type": "string",
"nullable": true
},
"internetGatewayId": {
"type": "string",
"nullable": true
},
"isByoVpc": {
"type": "boolean"
},
"natGatewayId": {
"type": "string",
"nullable": true
},
"privateSubnetIds": {
"type": "array",
"items": {
"type": "string"
}
},
"publicSubnetIds": {
"type": "array",
"items": {
"type": "string"
}
},
"routeTableCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"securityGroupId": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/NetworkHeartbeatStatus"
},
"vpcId": {
"type": "string",
"nullable": true
},
"vpcState": {
"type": "string",
"nullable": true
}
}
},
"AzureBlobStorageHeartbeatData": {
"type": "object",
"required": [
"status",
"name"
],
"properties": {
"accessTier": {
"type": "string",
"nullable": true
},
"accountKind": {
"type": "string",
"nullable": true
},
"allowBlobPublicAccess": {
"type": "boolean",
"nullable": true
},
"blobDeleteRetentionDays": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"blobDeleteRetentionEnabled": {
"type": "boolean",
"nullable": true
},
"blobEncryptionEnabled": {
"type": "boolean",
"nullable": true
},
"blobVersioningEnabled": {
"type": "boolean",
"nullable": true
},
"changeFeedEnabled": {
"type": "boolean",
"nullable": true
},
"changeFeedRetentionDays": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"containerDeleteRetentionDays": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"containerDeleteRetentionEnabled": {
"type": "boolean",
"nullable": true
},
"containerPublicAccess": {
"type": "string",
"nullable": true
},
"encryptionKeySource": {
"type": "string",
"nullable": true
},
"fileEncryptionEnabled": {
"type": "boolean",
"nullable": true
},
"location": {
"type": "string",
"nullable": true
},
"name": {
"type": "string"
},
"primaryLocation": {
"type": "string",
"nullable": true
},
"provisioningState": {
"type": "string",
"nullable": true
},
"publicNetworkAccess": {
"type": "string",
"nullable": true
},
"queueEncryptionEnabled": {
"type": "boolean",
"nullable": true
},
"resourceGroup": {
"type": "string",
"nullable": true
},
"secondaryLocation": {
"type": "string",
"nullable": true
},
"skuName": {
"type": "string",
"nullable": true
},
"skuTier": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/StorageHeartbeatStatus"
},
"statusOfPrimary": {
"type": "string",
"nullable": true
},
"statusOfSecondary": {
"type": "string",
"nullable": true
},
"storageAccountName": {
"type": "string",
"nullable": true
},
"tableEncryptionEnabled": {
"type": "boolean",
"nullable": true
}
}
},
"AzureComputeClusterHeartbeatData": {
"type": "object",
"required": [
"status",
"nodes",
"name",
"capacityGroups",
"providerFleets"
],
"properties": {
"backendClusterId": {
"type": "string",
"nullable": true
},
"capacityGroups": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ComputeCapacityGroupStatus"
}
},
"cpu": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
},
"memory": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
},
"name": {
"type": "string"
},
"nodes": {
"$ref": "#/components/schemas/ObservedCounts"
},
"providerFleets": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProviderFleetStatus"
}
},
"region": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/ComputeClusterHeartbeatStatus"
}
}
},
"AzureContainerAppsBuildHeartbeatData": {
"type": "object",
"required": [
"status",
"managedEnvironmentId",
"resourceGroupName",
"environmentVariableCount"
],
"properties": {
"environmentVariableCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"managedEnvironmentId": {
"type": "string"
},
"managedIdentityId": {
"type": "string",
"nullable": true
},
"resourceGroupName": {
"type": "string"
},
"resourcePrefix": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/BuildHeartbeatStatus"
}
}
},
"AzureContainerAppsEnvironmentHeartbeatData": {
"type": "object",
"required": [
"status",
"name",
"workloadProfileCount",
"workloadProfiles"
],
"properties": {
"customDomainVerificationId": {
"type": "string",
"nullable": true
},
"defaultDomain": {
"type": "string",
"nullable": true
},
"eventStreamEndpoint": {
"type": "string",
"nullable": true
},
"infrastructureResourceGroup": {
"type": "string",
"nullable": true
},
"kind": {
"type": "string",
"nullable": true
},
"location": {
"type": "string",
"nullable": true
},
"name": {
"type": "string"
},
"provisioningState": {
"type": "string",
"nullable": true
},
"resourceGroup": {
"type": "string",
"nullable": true
},
"resourceId": {
"type": "string",
"nullable": true
},
"staticIp": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/AzureContainerAppsEnvironmentHeartbeatStatus"
},
"workloadProfileCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"workloadProfiles": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AzureContainerAppsEnvironmentWorkloadProfile"
}
},
"zoneRedundant": {
"type": "boolean",
"nullable": true
}
}
},
"AzureContainerAppsEnvironmentHeartbeatStatus": {
"type": "object",
"required": [
"health",
"lifecycle",
"stale",
"partial",
"collectionIssues"
],
"properties": {
"collectionIssues": {
"type": "array",
"items": {
"$ref": "#/components/schemas/HeartbeatCollectionIssue"
}
},
"health": {
"$ref": "#/components/schemas/ObservedHealth"
},
"lifecycle": {
"$ref": "#/components/schemas/ProviderLifecycleState"
},
"message": {
"type": "string",
"nullable": true
},
"partial": {
"type": "boolean"
},
"stale": {
"type": "boolean"
}
}
},
"AzureContainerAppsEnvironmentWorkloadProfile": {
"type": "object",
"required": [
"name",
"workloadProfileType"
],
"properties": {
"maximumCount": {
"type": "integer",
"format": "int32",
"nullable": true
},
"minimumCount": {
"type": "integer",
"format": "int32",
"nullable": true
},
"name": {
"type": "string"
},
"workloadProfileType": {
"type": "string"
}
}
},
"AzureContainerAppsWorkerHeartbeatData": {
"type": "object",
"required": [
"status",
"appName"
],
"properties": {
"appName": {
"type": "string"
},
"cpu": {
"type": "number",
"format": "double",
"nullable": true
},
"environmentName": {
"type": "string",
"nullable": true
},
"ingressFqdn": {
"type": "string",
"nullable": true
},
"maxReplicas": {
"type": "integer",
"format": "int32",
"nullable": true
},
"memory": {
"type": "string",
"nullable": true
},
"minReplicas": {
"type": "integer",
"format": "int32",
"nullable": true
},
"provisioningState": {
"type": "string",
"nullable": true
},
"revision": {
"type": "string",
"nullable": true
},
"runningStatus": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/WorkloadHeartbeatStatus"
}
}
},
"AzureContainerRegistryHeartbeatData": {
"type": "object",
"required": [
"status",
"name",
"resourceGroup",
"location",
"skuName",
"adminUserEnabled",
"anonymousPullEnabled",
"publicNetworkAccess",
"networkRuleBypassOptions",
"ipRuleCount",
"encryptionKeyVaultUriPresent",
"encryptionKeyIdentifierPresent",
"policiesPresent",
"policyCount",
"privateEndpointConnectionCount",
"dataEndpointHostNames",
"zoneRedundancy",
"managedTagCount"
],
"properties": {
"adminUserEnabled": {
"type": "boolean"
},
"anonymousPullEnabled": {
"type": "boolean"
},
"creationDate": {
"type": "string",
"nullable": true
},
"dataEndpointEnabled": {
"type": "boolean",
"nullable": true
},
"dataEndpointHostNames": {
"type": "array",
"items": {
"type": "string"
}
},
"encryptionKeyIdentifierPresent": {
"type": "boolean"
},
"encryptionKeyVaultUriPresent": {
"type": "boolean"
},
"encryptionStatus": {
"type": "string",
"nullable": true
},
"ipRuleCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"location": {
"type": "string"
},
"loginServer": {
"type": "string",
"nullable": true
},
"managedTagCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"name": {
"type": "string"
},
"networkRuleBypassOptions": {
"type": "string"
},
"networkRuleDefaultAction": {
"type": "string",
"nullable": true
},
"policiesPresent": {
"type": "boolean"
},
"policyCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"privateEndpointConnectionCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"provisioningState": {
"type": "string",
"nullable": true
},
"publicNetworkAccess": {
"type": "string"
},
"resourceGroup": {
"type": "string"
},
"resourceId": {
"type": "string",
"nullable": true
},
"skuName": {
"type": "string"
},
"skuTier": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/ArtifactRegistryHeartbeatStatus"
},
"type": {
"type": "string",
"nullable": true
},
"zoneRedundancy": {
"type": "string"
}
}
},
"AzureCustomCertificateConfig": {
"type": "object",
"required": [
"keyVaultCertificateId"
],
"properties": {
"keyVaultCertificateId": {
"type": "string"
},
"keyVaultResourceId": {
"type": "string",
"nullable": true
}
}
},
"AzureDaemonHeartbeatData": {
"type": "object",
"required": [
"status",
"horizonClusterId",
"daemonName",
"horizonStatus",
"capacityGroup",
"desiredMachines",
"assignedMachines",
"healthyInstances",
"unavailableInstances",
"commandSupported",
"latestUpdateTimestamp",
"daemonInstances",
"events"
],
"properties": {
"assignedMachines": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"capacityGroup": {
"type": "string"
},
"commandSupported": {
"type": "boolean"
},
"daemonInstances": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ManagedRuntimeUnitStatus"
}
},
"daemonName": {
"type": "string"
},
"desiredMachines": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"events": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ManagedRuntimeEventSnapshot"
}
},
"healthyInstances": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"horizonClusterId": {
"type": "string"
},
"horizonStatus": {
"type": "string"
},
"horizonStatusMessage": {
"type": "string",
"nullable": true
},
"horizonStatusReason": {
"type": "string",
"nullable": true
},
"latestUpdateTimestamp": {
"type": "string"
},
"status": {
"$ref": "#/components/schemas/WorkloadHeartbeatStatus"
},
"unavailableInstances": {
"type": "integer",
"format": "int32",
"minimum": 0
}
}
},
"AzureKeyVaultHeartbeatData": {
"type": "object",
"required": [
"status",
"name",
"softDeleteEnabled",
"softDeleteRetentionDays",
"rbacAuthorizationEnabled",
"publicNetworkAccess",
"accessPolicyCount",
"privateEndpointConnectionCount",
"secretMetadataListed"
],
"properties": {
"accessPolicyCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"location": {
"type": "string",
"nullable": true
},
"name": {
"type": "string"
},
"privateEndpointConnectionCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"provisioningState": {
"type": "string",
"nullable": true
},
"publicNetworkAccess": {
"type": "string"
},
"purgeProtectionEnabled": {
"type": "boolean",
"nullable": true
},
"rbacAuthorizationEnabled": {
"type": "boolean"
},
"resourceGroup": {
"type": "string",
"nullable": true
},
"resourceId": {
"type": "string",
"nullable": true
},
"secretMetadataListed": {
"type": "boolean"
},
"skuFamily": {
"type": "string",
"nullable": true
},
"skuName": {
"type": "string",
"nullable": true
},
"softDeleteEnabled": {
"type": "boolean"
},
"softDeleteRetentionDays": {
"type": "integer",
"format": "int32"
},
"status": {
"$ref": "#/components/schemas/VaultHeartbeatStatus"
},
"vaultUri": {
"type": "string",
"nullable": true
}
}
},
"AzureManagedIdentityServiceAccountHeartbeatData": {
"type": "object",
"required": [
"status",
"name",
"resourceId",
"resourceGroup",
"location",
"managedTagCount",
"roleAssignmentCount",
"roleAssignmentIds",
"customRoleDefinitionCount",
"customRoleDefinitionIds",
"stackPermissionsApplied"
],
"properties": {
"clientId": {
"type": "string",
"nullable": true
},
"customRoleDefinitionCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"customRoleDefinitionIds": {
"type": "array",
"items": {
"type": "string"
}
},
"isolationScope": {
"type": "string",
"nullable": true
},
"location": {
"type": "string"
},
"managedTagCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"name": {
"type": "string"
},
"principalId": {
"type": "string",
"nullable": true
},
"resourceGroup": {
"type": "string"
},
"resourceId": {
"type": "string"
},
"roleAssignmentCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"roleAssignmentIds": {
"type": "array",
"items": {
"type": "string"
}
},
"stackPermissionsApplied": {
"type": "boolean"
},
"status": {
"$ref": "#/components/schemas/ServiceAccountHeartbeatStatus"
},
"tenantId": {
"type": "string",
"nullable": true
},
"type": {
"type": "string",
"nullable": true
}
}
},
"AzureManagementConfig": {
"type": "object",
"description": "Azure management configuration extracted from stack settings",
"required": [
"managingTenantId",
"oidcIssuer",
"oidcSubject"
],
"properties": {
"managingTenantId": {
"type": "string",
"description": "The managing Azure Tenant ID for cross-tenant access"
},
"oidcIssuer": {
"type": "string",
"description": "OIDC issuer URL trusted by the target-side managed identity."
},
"oidcSubject": {
"type": "string",
"description": "OIDC subject claim trusted by the target-side managed identity."
}
}
},
"AzureRemoteStackManagementHeartbeatData": {
"type": "object",
"required": [
"status",
"roleAssignmentIds"
],
"properties": {
"ficName": {
"type": "string",
"nullable": true
},
"roleAssignmentIds": {
"type": "array",
"items": {
"type": "string"
}
},
"roleDefinitionId": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/RemoteStackManagementHeartbeatStatus"
},
"tenantId": {
"type": "string",
"nullable": true
},
"uamiClientId": {
"type": "string",
"nullable": true
},
"uamiPrincipalId": {
"type": "string",
"nullable": true
},
"uamiResourceId": {
"type": "string",
"nullable": true
}
}
},
"AzureResourceGroupHeartbeatData": {
"type": "object",
"required": [
"status",
"name",
"managedTags"
],
"properties": {
"location": {
"type": "string",
"nullable": true
},
"managedTags": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"name": {
"type": "string"
},
"provisioningState": {
"type": "string",
"nullable": true
},
"resourceId": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/AzureResourceGroupHeartbeatStatus"
}
}
},
"AzureResourceGroupHeartbeatStatus": {
"type": "object",
"required": [
"health",
"lifecycle",
"stale",
"partial",
"collectionIssues"
],
"properties": {
"collectionIssues": {
"type": "array",
"items": {
"$ref": "#/components/schemas/HeartbeatCollectionIssue"
}
},
"health": {
"$ref": "#/components/schemas/ObservedHealth"
},
"lifecycle": {
"$ref": "#/components/schemas/ProviderLifecycleState"
},
"message": {
"type": "string",
"nullable": true
},
"partial": {
"type": "boolean"
},
"stale": {
"type": "boolean"
}
}
},
"AzureResourceProviderActivationHeartbeatData": {
"type": "object",
"required": [
"status",
"namespace",
"resourceTypeCount",
"registered"
],
"properties": {
"namespace": {
"type": "string"
},
"providerId": {
"type": "string",
"nullable": true
},
"registered": {
"type": "boolean"
},
"registrationPolicy": {
"type": "string",
"nullable": true
},
"registrationState": {
"type": "string",
"nullable": true
},
"resourceTypeCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"status": {
"$ref": "#/components/schemas/ServiceActivationHeartbeatStatus"
}
}
},
"AzureServiceBusNamespaceHeartbeatData": {
"type": "object",
"required": [
"status",
"name",
"privateEndpointConnectionCount"
],
"properties": {
"createdAt": {
"type": "string",
"nullable": true
},
"disableLocalAuth": {
"type": "boolean",
"nullable": true
},
"location": {
"type": "string",
"nullable": true
},
"metricId": {
"type": "string",
"nullable": true
},
"minimumTlsVersion": {
"type": "string",
"nullable": true
},
"name": {
"type": "string"
},
"namespaceStatus": {
"type": "string",
"nullable": true
},
"premiumMessagingPartitions": {
"type": "integer",
"format": "int32",
"nullable": true
},
"privateEndpointConnectionCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"provisioningState": {
"type": "string",
"nullable": true
},
"publicNetworkAccess": {
"type": "string",
"nullable": true
},
"resourceGroup": {
"type": "string",
"nullable": true
},
"resourceId": {
"type": "string",
"nullable": true
},
"serviceBusEndpoint": {
"type": "string",
"nullable": true
},
"skuCapacity": {
"type": "integer",
"format": "int32",
"nullable": true
},
"skuName": {
"type": "string",
"nullable": true
},
"skuTier": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/QueueHeartbeatStatus"
},
"updatedAt": {
"type": "string",
"nullable": true
},
"zoneRedundant": {
"type": "boolean",
"nullable": true
}
}
},
"AzureServiceBusQueueHeartbeatData": {
"type": "object",
"required": [
"status",
"name",
"namespaceName"
],
"properties": {
"accessedAt": {
"type": "string",
"nullable": true
},
"activeMessageCount": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"autoDeleteOnIdle": {
"type": "string",
"nullable": true
},
"createdAt": {
"type": "string",
"nullable": true
},
"deadLetterMessageCount": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"deadLetteringOnMessageExpiration": {
"type": "boolean",
"nullable": true
},
"defaultMessageTimeToLive": {
"type": "string",
"nullable": true
},
"duplicateDetectionHistoryTimeWindow": {
"type": "string",
"nullable": true
},
"enableBatchedOperations": {
"type": "boolean",
"nullable": true
},
"enableExpress": {
"type": "boolean",
"nullable": true
},
"enablePartitioning": {
"type": "boolean",
"nullable": true
},
"endpoint": {
"type": "string",
"nullable": true
},
"forwardDeadLetteredMessagesTo": {
"type": "string",
"nullable": true
},
"forwardTo": {
"type": "string",
"nullable": true
},
"lockDuration": {
"type": "string",
"nullable": true
},
"maxDeliveryCount": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"maxMessageSizeInKilobytes": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"maxSizeInMegabytes": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"messageCount": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"name": {
"type": "string"
},
"namespaceName": {
"type": "string"
},
"queueStatus": {
"type": "string",
"nullable": true
},
"requiresDuplicateDetection": {
"type": "boolean",
"nullable": true
},
"requiresSession": {
"type": "boolean",
"nullable": true
},
"resourceGroup": {
"type": "string",
"nullable": true
},
"resourceId": {
"type": "string",
"nullable": true
},
"scheduledMessageCount": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"sizeInBytes": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"status": {
"$ref": "#/components/schemas/QueueHeartbeatStatus"
},
"transferDeadLetterMessageCount": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"transferMessageCount": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"updatedAt": {
"type": "string",
"nullable": true
}
}
},
"AzureStorageAccountEndpoints": {
"type": "object",
"properties": {
"blob": {
"type": "string",
"nullable": true
},
"dfs": {
"type": "string",
"nullable": true
},
"file": {
"type": "string",
"nullable": true
},
"queue": {
"type": "string",
"nullable": true
},
"table": {
"type": "string",
"nullable": true
},
"web": {
"type": "string",
"nullable": true
}
}
},
"AzureStorageAccountHeartbeatData": {
"type": "object",
"required": [
"status",
"name",
"primaryEndpoints",
"secondaryEndpoints"
],
"properties": {
"allowBlobPublicAccess": {
"type": "boolean",
"nullable": true
},
"allowSharedKeyAccess": {
"type": "boolean",
"nullable": true
},
"encryptionKeySource": {
"type": "string",
"nullable": true
},
"kind": {
"type": "string",
"nullable": true
},
"location": {
"type": "string",
"nullable": true
},
"minimumTlsVersion": {
"type": "string",
"nullable": true
},
"name": {
"type": "string"
},
"networkBypass": {
"type": "string",
"nullable": true
},
"networkDefaultAction": {
"type": "string",
"nullable": true
},
"networkIpRuleCount": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"networkResourceAccessRuleCount": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"networkVirtualNetworkRuleCount": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"primaryEndpoints": {
"$ref": "#/components/schemas/AzureStorageAccountEndpoints"
},
"provisioningState": {
"type": "string",
"nullable": true
},
"publicNetworkAccess": {
"type": "string",
"nullable": true
},
"requireInfrastructureEncryption": {
"type": "boolean",
"nullable": true
},
"resourceGroup": {
"type": "string",
"nullable": true
},
"resourceId": {
"type": "string",
"nullable": true
},
"secondaryEndpoints": {
"$ref": "#/components/schemas/AzureStorageAccountEndpoints"
},
"skuName": {
"type": "string",
"nullable": true
},
"skuTier": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/StorageHeartbeatStatus"
},
"supportsHttpsTrafficOnly": {
"type": "boolean",
"nullable": true
}
}
},
"AzureTableKvHeartbeatData": {
"type": "object",
"required": [
"status",
"tableName",
"storageAccountName",
"tableExists"
],
"properties": {
"endpoint": {
"type": "string",
"nullable": true
},
"resourceGroup": {
"type": "string",
"nullable": true
},
"signedIdentifierCount": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"status": {
"$ref": "#/components/schemas/KvHeartbeatStatus"
},
"storageAccountKind": {
"type": "string",
"nullable": true
},
"storageAccountLocation": {
"type": "string",
"nullable": true
},
"storageAccountName": {
"type": "string"
},
"storageAccountPrimaryStatus": {
"type": "string",
"nullable": true
},
"storageAccountProvisioningState": {
"type": "string",
"nullable": true
},
"storageAccountResourceId": {
"type": "string",
"nullable": true
},
"tableExists": {
"type": "boolean"
},
"tableName": {
"type": "string"
}
}
},
"AzureVnetNetworkHeartbeatData": {
"type": "object",
"required": [
"status",
"isByoVnet"
],
"properties": {
"applicationGatewaySubnetName": {
"type": "string",
"nullable": true
},
"cidrBlock": {
"type": "string",
"nullable": true
},
"isByoVnet": {
"type": "boolean"
},
"lastByoVnetVerificationErrorCode": {
"type": "string",
"nullable": true
},
"location": {
"type": "string",
"nullable": true
},
"natGatewayId": {
"type": "string",
"nullable": true
},
"nsgId": {
"type": "string",
"nullable": true
},
"privateSubnetName": {
"type": "string",
"nullable": true
},
"publicIpId": {
"type": "string",
"nullable": true
},
"publicSubnetName": {
"type": "string",
"nullable": true
},
"resourceGroup": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/NetworkHeartbeatStatus"
},
"vnetName": {
"type": "string",
"nullable": true
},
"vnetResourceId": {
"type": "string",
"nullable": true
}
}
},
"BaseResource": {
"type": "object",
"description": "Resource that can hold any resource type in the Alien system. All resources share common 'type' and 'id' fields with additional type-specific properties.",
"required": [
"type",
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The unique identifier for this specific resource instance. Must contain only alphanumeric characters, hyphens, and underscores ([A-Za-z0-9-_]). Maximum 64 characters."
},
"type": {
"$ref": "#/components/schemas/ResourceType"
}
},
"additionalProperties": true
},
"BaseResourceOutputs": {
"type": "object",
"description": "Resource outputs that can hold output data for any resource type in the Alien system. All resource outputs share a common 'type' field with additional type-specific output properties.",
"required": [
"type"
],
"properties": {
"type": {
"$ref": "#/components/schemas/ResourceType"
}
},
"additionalProperties": true
},
"BodySpec": {
"oneOf": [
{
"type": "object",
"description": "Inline base64-encoded body",
"required": [
"inlineBase64",
"mode"
],
"properties": {
"inlineBase64": {
"type": "string"
},
"mode": {
"type": "string",
"enum": [
"inline"
]
}
}
},
{
"type": "object",
"description": "Storage-backed body",
"required": [
"mode"
],
"properties": {
"mode": {
"type": "string",
"enum": [
"storage"
]
},
"size": {
"type": "integer",
"format": "int64",
"description": "Size of the body in bytes",
"minimum": 0,
"nullable": true
},
"storageGetRequest": {
"$ref": "#/components/schemas/PresignedRequest",
"description": "Pre-signed request for retrieving the body (for deployments)",
"nullable": true
},
"storagePutUsed": {
"type": "boolean",
"description": "Indicates storage upload was used for response submission",
"nullable": true
}
}
}
],
"description": "Body specification supporting inline and storage modes"
},
"BuildHeartbeatData": {
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/AwsCodeBuildHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"awsCodeBuild"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/GcpCloudBuildHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"gcpCloudBuild"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/AzureContainerAppsBuildHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"azureContainerApps"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/KubernetesBuildHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"kubernetesJob"
]
}
}
}
]
}
]
},
"BuildHeartbeatStatus": {
"type": "object",
"required": [
"health",
"lifecycle",
"stale",
"partial",
"collectionIssues"
],
"properties": {
"collectionIssues": {
"type": "array",
"items": {
"$ref": "#/components/schemas/HeartbeatCollectionIssue"
}
},
"health": {
"$ref": "#/components/schemas/ObservedHealth"
},
"lifecycle": {
"$ref": "#/components/schemas/ProviderLifecycleState"
},
"message": {
"type": "string",
"nullable": true
},
"partial": {
"type": "boolean"
},
"stale": {
"type": "boolean"
}
}
},
"CommandPayloadResponse": {
"type": "object",
"description": "Payload response containing params and response data from KV",
"required": [
"commandId"
],
"properties": {
"commandId": {
"type": "string"
},
"params": {
"$ref": "#/components/schemas/BodySpec",
"nullable": true
},
"response": {
"$ref": "#/components/schemas/CommandResponse",
"nullable": true
}
}
},
"CommandResponse": {
"oneOf": [
{
"type": "object",
"description": "Command executed successfully",
"required": [
"response",
"status"
],
"properties": {
"response": {
"$ref": "#/components/schemas/BodySpec",
"description": "Response data (JSON, can be large)"
},
"status": {
"type": "string",
"enum": [
"success"
]
}
}
},
{
"type": "object",
"description": "Command failed with an error",
"required": [
"code",
"message",
"status"
],
"properties": {
"code": {
"type": "string",
"description": "Error code"
},
"details": {
"type": "string",
"description": "Optional additional details",
"nullable": true
},
"message": {
"type": "string",
"description": "Error message"
},
"status": {
"type": "string",
"enum": [
"error"
]
}
}
}
],
"description": "Command response from deployment"
},
"CommandState": {
"type": "string",
"description": "Command states in the Commands protocol lifecycle",
"enum": [
"PENDING_UPLOAD",
"PENDING",
"DISPATCHED",
"SUCCEEDED",
"FAILED",
"EXPIRED"
]
},
"CommandStatusResponse": {
"type": "object",
"description": "Response to status queries",
"required": [
"commandId",
"state",
"attempt"
],
"properties": {
"attempt": {
"type": "integer",
"format": "int32",
"description": "Current attempt number",
"minimum": 0
},
"commandId": {
"type": "string",
"description": "Command identifier"
},
"response": {
"$ref": "#/components/schemas/CommandResponse",
"description": "Response data (only for succeeded/failed state)",
"nullable": true
},
"state": {
"$ref": "#/components/schemas/CommandState",
"description": "Current command state"
}
}
},
"CommandsInfo": {
"type": "object",
"required": [
"url",
"deploymentId"
],
"properties": {
"deploymentId": {
"type": "string"
},
"url": {
"type": "string"
}
}
},
"ComputeCapacityBlocker": {
"type": "object",
"required": [
"category",
"message",
"observedAt"
],
"properties": {
"category": {
"$ref": "#/components/schemas/ComputeCapacityBlockerCategory"
},
"message": {
"type": "string"
},
"observedAt": {
"type": "string",
"format": "date-time"
},
"providerCode": {
"type": "string",
"nullable": true
},
"providerReference": {
"type": "string",
"nullable": true
}
}
},
"ComputeCapacityBlockerCategory": {
"type": "string",
"enum": [
"quota",
"capacity",
"allocation",
"other"
]
},
"ComputeCapacityGroupStatus": {
"type": "object",
"required": [
"groupId",
"currentMachines",
"desiredMachines"
],
"properties": {
"capacityBlocker": {
"$ref": "#/components/schemas/ComputeCapacityBlocker",
"nullable": true
},
"currentMachines": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"desiredMachines": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"groupId": {
"type": "string"
},
"instanceType": {
"type": "string",
"nullable": true
},
"maxMachines": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"minMachines": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"recommendation": {
"$ref": "#/components/schemas/ComputeCapacityRecommendation",
"nullable": true
}
}
},
"ComputeCapacityRecommendation": {
"type": "object",
"required": [
"desiredMachines"
],
"properties": {
"desiredMachines": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"reason": {
"type": "string",
"nullable": true
},
"unschedulableReplicas": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"utilization": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
}
}
},
"ComputeClusterHeartbeatData": {
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/AwsComputeClusterHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"aws"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/GcpComputeClusterHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"gcp"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/AzureComputeClusterHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"azure"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/LocalComputeClusterHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"local"
]
}
}
}
]
}
]
},
"ComputeClusterHeartbeatStatus": {
"type": "object",
"required": [
"health",
"lifecycle",
"stale",
"partial",
"collectionIssues"
],
"properties": {
"collectionIssues": {
"type": "array",
"items": {
"$ref": "#/components/schemas/HeartbeatCollectionIssue"
}
},
"health": {
"$ref": "#/components/schemas/ObservedHealth"
},
"lifecycle": {
"$ref": "#/components/schemas/ProviderLifecycleState"
},
"message": {
"type": "string",
"nullable": true
},
"partial": {
"type": "boolean"
},
"stale": {
"type": "boolean"
}
}
},
"ComputePoolSelection": {
"oneOf": [
{
"type": "object",
"description": "Fixed number of machines.",
"required": [
"machines",
"mode"
],
"properties": {
"machine": {
"type": "string",
"description": "Provider machine type selected for this deployment.",
"nullable": true
},
"machines": {
"type": "integer",
"format": "int32",
"description": "Number of machines to run.",
"minimum": 0
},
"mode": {
"type": "string",
"enum": [
"fixed"
]
}
}
},
{
"type": "object",
"description": "Autoscaling machine pool.",
"required": [
"min",
"max",
"mode"
],
"properties": {
"machine": {
"type": "string",
"description": "Provider machine type selected for this deployment.",
"nullable": true
},
"max": {
"type": "integer",
"format": "int32",
"description": "Maximum machine count.",
"minimum": 0
},
"min": {
"type": "integer",
"format": "int32",
"description": "Minimum machine count.",
"minimum": 0
},
"mode": {
"type": "string",
"enum": [
"autoscale"
]
}
}
}
],
"description": "User-selected deployment settings for one compute pool."
},
"ComputeSettings": {
"type": "object",
"description": "Deployment-time compute choices for Alien-managed compute pools.\n\nApplication source declares portable pool requirements. This settings\nobject stores the concrete choices made for one deployment, such as the\nprovider machine type and selected machine counts.",
"properties": {
"pools": {
"type": "object",
"description": "Selected compute choices keyed by pool ID.",
"additionalProperties": {
"$ref": "#/components/schemas/ComputePoolSelection"
}
}
}
},
"ContainerHeartbeatData": {
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/HorizonContainerHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"horizonPlatform"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/KubernetesContainerHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"kubernetes"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/LocalContainerHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"local"
]
}
}
}
]
}
]
},
"CreateCommandRequest": {
"type": "object",
"description": "Request to create a new command",
"required": [
"deploymentId",
"command",
"params"
],
"properties": {
"command": {
"type": "string",
"description": "Command name (e.g., \"generate-report\", \"sync-data\")"
},
"deadline": {
"type": "string",
"format": "date-time",
"description": "Optional deadline for command completion",
"nullable": true
},
"deploymentId": {
"type": "string",
"description": "Target deployment identifier"
},
"idempotencyKey": {
"type": "string",
"description": "Optional idempotency key",
"nullable": true
},
"params": {
"$ref": "#/components/schemas/BodySpec",
"description": "Command parameters (JSON, can be large)"
}
}
},
"CreateCommandResponse": {
"type": "object",
"description": "Response to command creation",
"required": [
"commandId",
"state",
"inlineAllowedUpTo",
"next"
],
"properties": {
"commandId": {
"type": "string",
"description": "Unique command identifier"
},
"inlineAllowedUpTo": {
"type": "integer",
"format": "int64",
"description": "Maximum inline body size allowed",
"minimum": 0
},
"next": {
"type": "string",
"description": "Next action for client: \"upload\" | \"poll\""
},
"state": {
"$ref": "#/components/schemas/CommandState",
"description": "Current command state"
},
"storageUpload": {
"$ref": "#/components/schemas/StorageUpload",
"description": "Storage upload info (only for storage mode)",
"nullable": true
}
}
},
"CreateDeploymentGroupRequest": {
"type": "object",
"required": [
"name"
],
"properties": {
"maxDeployments": {
"type": "integer",
"format": "int64"
},
"name": {
"type": "string"
}
}
},
"CreateDeploymentRequest": {
"type": "object",
"required": [
"name",
"platform"
],
"properties": {
"deploymentGroupId": {
"type": "string",
"nullable": true
},
"environmentVariables": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EnvironmentVariable"
},
"nullable": true
},
"name": {
"type": "string"
},
"platform": {
"$ref": "#/components/schemas/Platform"
},
"resourcePrefix": {
"type": "string",
"nullable": true
},
"stackSettings": {
"$ref": "#/components/schemas/StackSettings",
"nullable": true
}
}
},
"CreateDeploymentResponse": {
"type": "object",
"required": [
"deployment"
],
"properties": {
"deployment": {
"$ref": "#/components/schemas/DeploymentResponse"
},
"token": {
"type": "string",
"nullable": true
}
}
},
"CreateReleaseRequest": {
"type": "object",
"required": [
"stack",
"projectId"
],
"properties": {
"gitMetadata": {
"$ref": "#/components/schemas/GitMetadata",
"nullable": true
},
"projectId": {
"type": "string",
"description": "Project this release belongs to. Required. The standalone server\nuses the canonical value `\"default\"`.\n\nThe OSS CLI sends this field as `project` on `alien release`\n(see `alien-cli` release flow); the underlying alien-managerx\nrelease endpoint accepts both forms. Accept both here too so\n`alien release` against an OSS standalone manager doesn't fail\nat the schema layer with a confusing\n`unknown field \"project\", expected \"projectId\"`."
},
"stack": {
"$ref": "#/components/schemas/StackByPlatform"
}
},
"additionalProperties": false
},
"CreateTokenResponse": {
"type": "object",
"required": [
"token",
"deploymentGroupId"
],
"properties": {
"deploymentGroupId": {
"type": "string"
},
"token": {
"type": "string"
}
}
},
"CustomCertificateConfig": {
"type": "object",
"description": "Platform-specific certificate references for custom domains.",
"properties": {
"aws": {
"$ref": "#/components/schemas/AwsCustomCertificateConfig",
"description": "AWS ACM certificate ARN",
"nullable": true
},
"azure": {
"$ref": "#/components/schemas/AzureCustomCertificateConfig",
"description": "Azure Key Vault certificate ID",
"nullable": true
},
"gcp": {
"$ref": "#/components/schemas/GcpCustomCertificateConfig",
"description": "GCP Certificate Manager certificate name",
"nullable": true
},
"kubernetes": {
"$ref": "#/components/schemas/KubernetesCustomCertificateConfig",
"description": "Kubernetes TLS Secret reference for Secret-backed route profiles.",
"nullable": true
}
}
},
"CustomDomainConfig": {
"type": "object",
"description": "Custom domain configuration for a single resource.",
"required": [
"domain",
"certificate"
],
"properties": {
"certificate": {
"$ref": "#/components/schemas/CustomCertificateConfig",
"description": "Customer-provided certificate reference."
},
"domain": {
"type": "string",
"description": "Fully qualified domain name to use."
}
}
},
"DaemonHeartbeatData": {
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/AwsDaemonHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"aws"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/GcpDaemonHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"gcp"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/AzureDaemonHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"azure"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/KubernetesDaemonHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"kubernetes"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/LocalDaemonHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"local"
]
}
}
}
]
}
]
},
"DeleteDeploymentAction": {
"type": "string",
"enum": [
"cleanup",
"detach",
"forget"
]
},
"DeleteDeploymentRequest": {
"type": "object",
"required": [
"action"
],
"properties": {
"action": {
"$ref": "#/components/schemas/DeleteDeploymentAction"
}
}
},
"DeploymentGroupMinimal": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"DeploymentGroupResponse": {
"type": "object",
"required": [
"id",
"name",
"maxDeployments",
"deploymentCount",
"createdAt",
"projectId",
"workspaceId"
],
"properties": {
"createdAt": {
"type": "string"
},
"deploymentCount": {
"type": "integer",
"format": "int64"
},
"id": {
"type": "string"
},
"maxDeployments": {
"type": "integer",
"format": "int64"
},
"name": {
"type": "string"
},
"projectId": {
"type": "string",
"description": "Required by the platform-SDK DeploymentGroup schema. Standalone\nOSS mode is single-tenant, so we synthesize a project id\nmatching the workspace id."
},
"workspaceId": {
"type": "string",
"description": "Required by the platform-SDK DeploymentGroup schema."
}
}
},
"DeploymentInfoResponse": {
"type": "object",
"required": [
"commands",
"resources",
"status",
"platform"
],
"properties": {
"commands": {
"$ref": "#/components/schemas/CommandsInfo"
},
"error": {},
"platform": {
"$ref": "#/components/schemas/Platform"
},
"resources": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/ResourceEntry"
}
},
"status": {
"type": "string"
}
}
},
"DeploymentModel": {
"type": "string",
"description": "Deployment model: how updates are delivered to the remote environment.",
"enum": [
"push",
"pull"
]
},
"DeploymentResponse": {
"type": "object",
"required": [
"id",
"name",
"platform",
"status",
"deploymentGroupId",
"deploymentProtocolVersion",
"projectId",
"workspaceId",
"retryRequested",
"createdAt"
],
"properties": {
"createdAt": {
"type": "string"
},
"currentReleaseId": {
"type": "string",
"nullable": true
},
"deploymentGroup": {
"$ref": "#/components/schemas/DeploymentGroupMinimal",
"nullable": true
},
"deploymentGroupId": {
"type": "string"
},
"deploymentProtocolVersion": {
"type": "integer",
"format": "int32",
"description": "Required by the platform-SDK Deployment schema. Hard-coded to\nalien-core's `CURRENT_DEPLOYMENT_PROTOCOL_VERSION` so the CLI\naccepts the response.",
"minimum": 0
},
"desiredReleaseId": {
"type": "string",
"nullable": true
},
"environmentInfo": {},
"error": {},
"id": {
"type": "string"
},
"importSource": {
"$ref": "#/components/schemas/ImportSourceKind",
"nullable": true
},
"name": {
"type": "string"
},
"platform": {
"$ref": "#/components/schemas/Platform"
},
"projectId": {
"type": "string",
"description": "Required by the platform-SDK Deployment schema. Standalone is\nsingle-tenant; reuse the same synthetic project id used in the\ndeployment-groups route."
},
"retryRequested": {
"type": "boolean"
},
"runtimeMetadata": {},
"stackSettings": {},
"stackState": {},
"status": {
"type": "string"
},
"updatedAt": {
"type": "string",
"nullable": true
},
"workspaceId": {
"type": "string",
"description": "Required by the platform-SDK Deployment schema."
}
}
},
"DomainSettings": {
"type": "object",
"description": "Domain configuration for the stack.\n\nWhen `custom_domains` is set, the specified resources use customer-provided\ndomains and certificates. Otherwise, Alien auto-generates domains.",
"properties": {
"customDomains": {
"type": "object",
"description": "Custom domain configuration per resource ID.",
"additionalProperties": {
"$ref": "#/components/schemas/CustomDomainConfig"
},
"nullable": true
}
}
},
"Envelope": {
"type": "object",
"description": "Commands envelope sent to deployments",
"required": [
"protocol",
"deploymentId",
"commandId",
"attempt",
"command",
"params",
"responseHandling"
],
"properties": {
"attempt": {
"type": "integer",
"format": "int32",
"description": "Attempt number (starts at 1)",
"minimum": 0
},
"command": {
"type": "string",
"description": "Command name (e.g., \"generate-report\", \"sync-data\")"
},
"commandId": {
"type": "string",
"description": "Unique command identifier"
},
"deadline": {
"type": "string",
"format": "date-time",
"description": "Command deadline",
"nullable": true
},
"deploymentId": {
"type": "string",
"description": "Target deployment identifier"
},
"params": {
"$ref": "#/components/schemas/BodySpec",
"description": "Command parameters (JSON, can be large)"
},
"protocol": {
"type": "string",
"description": "Protocol version identifier"
},
"responseHandling": {
"$ref": "#/components/schemas/ResponseHandling",
"description": "Response handling configuration"
}
}
},
"EnvironmentVariable": {
"type": "object",
"description": "Environment variable for deployment",
"required": [
"name",
"value",
"type"
],
"properties": {
"name": {
"type": "string",
"description": "Variable name"
},
"targetResources": {
"type": "array",
"items": {
"type": "string"
},
"description": "Target resource patterns (null = all resources, Some = wildcard patterns)",
"nullable": true
},
"type": {
"$ref": "#/components/schemas/EnvironmentVariableType",
"description": "Variable type (plain or secret)"
},
"value": {
"type": "string",
"description": "Variable value (decrypted - deployment has access to decryption keys)"
}
}
},
"EnvironmentVariableType": {
"type": "string",
"description": "Type of environment variable",
"enum": [
"plain",
"secret"
]
},
"ErrorResponse": {
"type": "object",
"description": "Error response wrapper for API endpoints",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string"
},
"details": {
"type": "string",
"nullable": true
},
"message": {
"type": "string"
}
}
},
"GcpArtifactRegistryHeartbeatData": {
"type": "object",
"required": [
"status",
"projectId",
"location",
"repositoryId",
"labelCount",
"cleanupPolicyCount",
"kmsKeyNamePresent",
"iamPolicyEtagPresent",
"iamBindingCount",
"iamRoles"
],
"properties": {
"cleanupPolicyCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"cleanupPolicyDryRun": {
"type": "boolean",
"nullable": true
},
"createTime": {
"type": "string",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"format": {
"type": "string",
"nullable": true
},
"iamBindingCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"iamPolicyEtagPresent": {
"type": "boolean"
},
"iamRoles": {
"type": "array",
"items": {
"type": "string"
}
},
"kmsKeyNamePresent": {
"type": "boolean"
},
"labelCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"location": {
"type": "string"
},
"mode": {
"type": "string",
"nullable": true
},
"name": {
"type": "string",
"nullable": true
},
"projectId": {
"type": "string"
},
"pullServiceAccountEmail": {
"type": "string",
"nullable": true
},
"pushServiceAccountEmail": {
"type": "string",
"nullable": true
},
"repositoryId": {
"type": "string"
},
"satisfiesPzs": {
"type": "boolean",
"nullable": true
},
"sizeBytes": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/ArtifactRegistryHeartbeatStatus"
},
"updateTime": {
"type": "string",
"nullable": true
}
}
},
"GcpCloudBuildHeartbeatData": {
"type": "object",
"required": [
"status",
"projectId",
"location",
"buildConfigId",
"environmentVariableCount"
],
"properties": {
"buildConfigId": {
"type": "string"
},
"environmentVariableCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"location": {
"type": "string"
},
"projectId": {
"type": "string"
},
"serviceAccount": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/BuildHeartbeatStatus"
}
}
},
"GcpCloudRunWorkerHeartbeatData": {
"type": "object",
"required": [
"status",
"service",
"urls",
"trafficCount"
],
"properties": {
"containerImage": {
"type": "string",
"nullable": true
},
"cpuLimit": {
"type": "string",
"nullable": true
},
"generation": {
"type": "integer",
"format": "int64",
"nullable": true
},
"latestCreatedRevision": {
"type": "string",
"nullable": true
},
"latestReadyRevision": {
"type": "string",
"nullable": true
},
"maxInstanceCount": {
"type": "integer",
"format": "int32",
"nullable": true
},
"memoryLimit": {
"type": "string",
"nullable": true
},
"minInstanceCount": {
"type": "integer",
"format": "int32",
"nullable": true
},
"observedGeneration": {
"type": "integer",
"format": "int64",
"nullable": true
},
"region": {
"type": "string",
"nullable": true
},
"service": {
"type": "string"
},
"status": {
"$ref": "#/components/schemas/WorkloadHeartbeatStatus"
},
"trafficCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"uri": {
"type": "string",
"nullable": true
},
"urls": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"GcpCloudStorageHeartbeatData": {
"type": "object",
"required": [
"status",
"name",
"lifecyclePresent",
"encryptionConfigPresent"
],
"properties": {
"bucketId": {
"type": "string",
"nullable": true
},
"defaultKmsKeyName": {
"type": "string",
"nullable": true
},
"encryptionConfigPresent": {
"type": "boolean"
},
"lifecyclePresent": {
"type": "boolean"
},
"lifecycleRuleCount": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"location": {
"type": "string",
"nullable": true
},
"locationType": {
"type": "string",
"nullable": true
},
"name": {
"type": "string"
},
"publicAccessPrevention": {
"type": "string",
"nullable": true
},
"retentionPeriod": {
"type": "string",
"nullable": true
},
"retentionPolicyEffectiveTime": {
"type": "string",
"nullable": true
},
"retentionPolicyIsLocked": {
"type": "boolean",
"nullable": true
},
"softDeleteEffectiveTime": {
"type": "string",
"nullable": true
},
"softDeleteRetentionDurationSeconds": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/StorageHeartbeatStatus"
},
"storageClass": {
"type": "string",
"nullable": true
},
"uniformBucketLevelAccessEnabled": {
"type": "boolean",
"nullable": true
},
"uniformBucketLevelAccessLockedTime": {
"type": "string",
"nullable": true
},
"versioningEnabled": {
"type": "boolean",
"nullable": true
}
}
},
"GcpComputeClusterHeartbeatData": {
"type": "object",
"required": [
"status",
"nodes",
"name",
"capacityGroups",
"providerFleets"
],
"properties": {
"backendClusterId": {
"type": "string",
"nullable": true
},
"capacityGroups": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ComputeCapacityGroupStatus"
}
},
"cpu": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
},
"memory": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
},
"name": {
"type": "string"
},
"nodes": {
"$ref": "#/components/schemas/ObservedCounts"
},
"providerFleets": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProviderFleetStatus"
}
},
"region": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/ComputeClusterHeartbeatStatus"
}
}
},
"GcpCustomCertificateConfig": {
"type": "object",
"required": [
"certificateName"
],
"properties": {
"certificateName": {
"type": "string"
}
}
},
"GcpDaemonHeartbeatData": {
"type": "object",
"required": [
"status",
"horizonClusterId",
"daemonName",
"horizonStatus",
"capacityGroup",
"desiredMachines",
"assignedMachines",
"healthyInstances",
"unavailableInstances",
"commandSupported",
"latestUpdateTimestamp",
"daemonInstances",
"events"
],
"properties": {
"assignedMachines": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"capacityGroup": {
"type": "string"
},
"commandSupported": {
"type": "boolean"
},
"daemonInstances": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ManagedRuntimeUnitStatus"
}
},
"daemonName": {
"type": "string"
},
"desiredMachines": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"events": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ManagedRuntimeEventSnapshot"
}
},
"healthyInstances": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"horizonClusterId": {
"type": "string"
},
"horizonStatus": {
"type": "string"
},
"horizonStatusMessage": {
"type": "string",
"nullable": true
},
"horizonStatusReason": {
"type": "string",
"nullable": true
},
"latestUpdateTimestamp": {
"type": "string"
},
"status": {
"$ref": "#/components/schemas/WorkloadHeartbeatStatus"
},
"unavailableInstances": {
"type": "integer",
"format": "int32",
"minimum": 0
}
}
},
"GcpFirestoreKvHeartbeatData": {
"type": "object",
"required": [
"status",
"databaseName",
"cmekEnabled",
"sourceInfoPresent"
],
"properties": {
"appEngineIntegrationMode": {
"type": "string",
"nullable": true
},
"cmekEnabled": {
"type": "boolean"
},
"concurrencyMode": {
"type": "string",
"nullable": true
},
"createTime": {
"type": "string",
"nullable": true
},
"databaseEdition": {
"type": "string",
"nullable": true
},
"databaseName": {
"type": "string"
},
"databaseType": {
"type": "string",
"nullable": true
},
"deleteProtectionState": {
"type": "string",
"nullable": true
},
"deleteTime": {
"type": "string",
"nullable": true
},
"earliestVersionTime": {
"type": "string",
"nullable": true
},
"endpoint": {
"type": "string",
"nullable": true
},
"locationId": {
"type": "string",
"nullable": true
},
"pointInTimeRecoveryEnablement": {
"type": "string",
"nullable": true
},
"projectId": {
"type": "string",
"nullable": true
},
"sourceInfoPresent": {
"type": "boolean"
},
"status": {
"$ref": "#/components/schemas/KvHeartbeatStatus"
},
"updateTime": {
"type": "string",
"nullable": true
},
"versionRetentionPeriod": {
"type": "string",
"nullable": true
}
}
},
"GcpManagementConfig": {
"type": "object",
"description": "GCP management configuration extracted from stack settings",
"required": [
"serviceAccountEmail"
],
"properties": {
"serviceAccountEmail": {
"type": "string",
"description": "Service account email for management roles"
}
}
},
"GcpPubSubQueueHeartbeatData": {
"type": "object",
"required": [
"status",
"topicName",
"topicLabels",
"subscriptionLabels",
"messageStorageAllowedPersistenceRegions",
"subscriptionPushAttributes"
],
"properties": {
"endpoint": {
"type": "string",
"nullable": true
},
"kmsKeyName": {
"type": "string",
"nullable": true
},
"messageStorageAllowedPersistenceRegions": {
"type": "array",
"items": {
"type": "string"
}
},
"messageStorageEnforceInTransit": {
"type": "boolean",
"nullable": true
},
"projectId": {
"type": "string",
"nullable": true
},
"schemaEncoding": {
"type": "string",
"nullable": true
},
"schemaFirstRevisionId": {
"type": "string",
"nullable": true
},
"schemaLastRevisionId": {
"type": "string",
"nullable": true
},
"schemaName": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/QueueHeartbeatStatus"
},
"subscriptionAckDeadlineSeconds": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"subscriptionDeadLetterMaxDeliveryAttempts": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"subscriptionDeadLetterTopic": {
"type": "string",
"nullable": true
},
"subscriptionDetached": {
"type": "boolean",
"nullable": true
},
"subscriptionEnableMessageOrdering": {
"type": "boolean",
"nullable": true
},
"subscriptionFilter": {
"type": "string",
"nullable": true
},
"subscriptionFullName": {
"type": "string",
"nullable": true
},
"subscriptionLabels": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"subscriptionMessageRetentionDuration": {
"type": "string",
"nullable": true
},
"subscriptionName": {
"type": "string",
"nullable": true
},
"subscriptionPushAttributes": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"subscriptionPushConfigPresent": {
"type": "boolean",
"nullable": true
},
"subscriptionPushEndpoint": {
"type": "string",
"nullable": true
},
"subscriptionPushNoWrapperWriteMetadata": {
"type": "boolean",
"nullable": true
},
"subscriptionPushOidcAudience": {
"type": "string",
"nullable": true
},
"subscriptionPushOidcServiceAccountEmail": {
"type": "string",
"nullable": true
},
"subscriptionPushPubsubWrapperWriteMetadata": {
"type": "boolean",
"nullable": true
},
"subscriptionRetainAckedMessages": {
"type": "boolean",
"nullable": true
},
"subscriptionState": {
"type": "string",
"nullable": true
},
"topicFullName": {
"type": "string",
"nullable": true
},
"topicLabels": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"topicMessageRetentionDuration": {
"type": "string",
"nullable": true
},
"topicName": {
"type": "string"
},
"topicState": {
"type": "string",
"nullable": true
}
}
},
"GcpRemoteStackManagementHeartbeatData": {
"type": "object",
"required": [
"status",
"roleBound",
"impersonationGranted"
],
"properties": {
"impersonationGranted": {
"type": "boolean"
},
"roleBound": {
"type": "boolean"
},
"serviceAccountEmail": {
"type": "string",
"nullable": true
},
"serviceAccountUniqueId": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/RemoteStackManagementHeartbeatStatus"
}
}
},
"GcpSecretManagerVaultHeartbeatData": {
"type": "object",
"required": [
"status",
"projectId",
"location",
"prefix",
"secretMetadataListed"
],
"properties": {
"location": {
"type": "string"
},
"prefix": {
"type": "string"
},
"projectId": {
"type": "string"
},
"secretMetadataListed": {
"type": "boolean"
},
"status": {
"$ref": "#/components/schemas/VaultHeartbeatStatus"
}
}
},
"GcpServiceAccountHeartbeatData": {
"type": "object",
"required": [
"status",
"email",
"projectBindingCount",
"projectRoles",
"serviceAccountBindingCount",
"serviceAccountRoles"
],
"properties": {
"description": {
"type": "string",
"nullable": true
},
"disabled": {
"type": "boolean",
"nullable": true
},
"displayName": {
"type": "string",
"nullable": true
},
"email": {
"type": "string"
},
"etag": {
"type": "string",
"nullable": true
},
"name": {
"type": "string",
"nullable": true
},
"oauth2ClientId": {
"type": "string",
"nullable": true
},
"projectBindingCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"projectId": {
"type": "string",
"nullable": true
},
"projectRoles": {
"type": "array",
"items": {
"type": "string"
}
},
"serviceAccountBindingCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"serviceAccountRoles": {
"type": "array",
"items": {
"type": "string"
}
},
"status": {
"$ref": "#/components/schemas/ServiceAccountHeartbeatStatus"
},
"uniqueId": {
"type": "string",
"nullable": true
}
}
},
"GcpServiceUsageActivationHeartbeatData": {
"type": "object",
"required": [
"status",
"projectId",
"serviceName",
"enabled"
],
"properties": {
"enabled": {
"type": "boolean"
},
"lastOperationName": {
"type": "string",
"nullable": true
},
"projectId": {
"type": "string"
},
"serviceName": {
"type": "string"
},
"serviceResourceName": {
"type": "string",
"nullable": true
},
"state": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/ServiceActivationHeartbeatStatus"
},
"title": {
"type": "string",
"nullable": true
}
}
},
"GcpVpcNetworkHeartbeatData": {
"type": "object",
"required": [
"status",
"isByoVpc"
],
"properties": {
"cidrBlock": {
"type": "string",
"nullable": true
},
"cloudNatName": {
"type": "string",
"nullable": true
},
"firewallName": {
"type": "string",
"nullable": true
},
"isByoVpc": {
"type": "boolean"
},
"networkName": {
"type": "string",
"nullable": true
},
"networkSelfLink": {
"type": "string",
"nullable": true
},
"region": {
"type": "string",
"nullable": true
},
"routerName": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/NetworkHeartbeatStatus"
},
"subnetworkName": {
"type": "string",
"nullable": true
},
"subnetworkSelfLink": {
"type": "string",
"nullable": true
}
}
},
"GitMetadata": {
"type": "object",
"properties": {
"commitMessage": {
"type": "string",
"nullable": true
},
"commitRef": {
"type": "string",
"nullable": true
},
"commitSha": {
"type": "string",
"nullable": true
}
}
},
"GitMetadataResponse": {
"type": "object",
"properties": {
"commitMessage": {
"type": "string",
"nullable": true
},
"commitRef": {
"type": "string",
"nullable": true
},
"commitSha": {
"type": "string",
"nullable": true
}
}
},
"HealthResponse": {
"type": "object",
"required": [
"status"
],
"properties": {
"status": {
"type": "string"
}
}
},
"HeartbeatBackend": {
"type": "string",
"enum": [
"aws",
"gcp",
"azure",
"kubernetes",
"local",
"managed",
"external",
"test"
]
},
"HeartbeatCollectionIssue": {
"type": "object",
"required": [
"source",
"reason",
"severity",
"message"
],
"properties": {
"message": {
"type": "string"
},
"reason": {
"$ref": "#/components/schemas/HeartbeatCollectionIssueReason"
},
"severity": {
"$ref": "#/components/schemas/HeartbeatIssueSeverity"
},
"source": {
"type": "string"
}
}
},
"HeartbeatCollectionIssueReason": {
"type": "string",
"enum": [
"forbidden",
"not-installed",
"api-unavailable",
"collection-failed",
"timed-out"
]
},
"HeartbeatIssueSeverity": {
"type": "string",
"enum": [
"info",
"warning",
"error"
]
},
"HeartbeatsMode": {
"type": "string",
"description": "How heartbeat health checks are handled.",
"enum": [
"off",
"on"
]
},
"HorizonContainerHeartbeatData": {
"type": "object",
"required": [
"status",
"containerId",
"schedulingMode",
"replicas",
"attentionCount",
"replicaUnits",
"events"
],
"properties": {
"attentionCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"containerId": {
"type": "string"
},
"cpu": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
},
"events": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ManagedRuntimeEventSnapshot"
}
},
"image": {
"type": "string",
"nullable": true
},
"memory": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
},
"replicaUnits": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ManagedRuntimeUnitStatus"
}
},
"replicas": {
"$ref": "#/components/schemas/WorkloadReplicaStatus"
},
"schedulingMode": {
"$ref": "#/components/schemas/HorizonWorkloadSchedulingMode"
},
"status": {
"$ref": "#/components/schemas/WorkloadHeartbeatStatus"
}
}
},
"HorizonWorkloadSchedulingMode": {
"type": "string",
"enum": [
"replicated",
"stateful",
"daemon"
]
},
"ImportSourceKind": {
"type": "string",
"description": "Package source that produced an import request. Observability label\nonly — the manager does not branch on this value, and any new deployment\npathway can omit it without affecting import behavior.",
"enum": [
"cloudformation",
"terraform",
"helm"
]
},
"ImportedResource": {
"type": "object",
"description": "One resolved resource import payload.",
"required": [
"id",
"type",
"importData"
],
"properties": {
"id": {
"type": "string",
"description": "Resource id from the active stack."
},
"importData": {
"type": "object",
"description": "Resolved typed payload for this resource."
},
"type": {
"$ref": "#/components/schemas/ResourceType",
"description": "Resource type from the active stack."
}
}
},
"InitializeRequest": {
"type": "object",
"properties": {
"basePlatform": {
"$ref": "#/components/schemas/Platform",
"description": "Optional base cloud platform for Kubernetes setup targets such as\nEKS/GKE/AKS. The runtime platform remains Kubernetes.",
"nullable": true
},
"inputValues": {
"type": "object",
"description": "Deployer-provided stack inputs. Embedded platform managers resolve\nthese before creating the deployment; standalone managers accept the\nfield so generated setup clients have one stable initialize contract.",
"additionalProperties": {}
},
"name": {
"type": "string",
"nullable": true
},
"platform": {
"$ref": "#/components/schemas/Platform",
"nullable": true
},
"stackSettings": {
"$ref": "#/components/schemas/StackSettings",
"nullable": true
}
}
},
"InitializeResponse": {
"type": "object",
"required": [
"deploymentId"
],
"properties": {
"deploymentId": {
"type": "string"
},
"token": {
"type": "string",
"nullable": true
}
}
},
"KubernetesBuildHeartbeatData": {
"type": "object",
"required": [
"status",
"jobName",
"namespace",
"conditionCount",
"events"
],
"properties": {
"active": {
"type": "integer",
"format": "int32",
"nullable": true
},
"completionTime": {
"type": "string",
"format": "date-time",
"nullable": true
},
"conditionCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"events": {
"type": "array",
"items": {
"$ref": "#/components/schemas/KubernetesEventSnapshot"
}
},
"failed": {
"type": "integer",
"format": "int32",
"nullable": true
},
"imageDigest": {
"type": "string",
"nullable": true
},
"jobName": {
"type": "string"
},
"namespace": {
"type": "string"
},
"startTime": {
"type": "string",
"format": "date-time",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/BuildHeartbeatStatus"
},
"succeeded": {
"type": "integer",
"format": "int32",
"nullable": true
}
}
},
"KubernetesCertificateMode": {
"oneOf": [
{
"type": "object",
"description": "Platform-managed cert imported into AWS ACM by the runtime.",
"required": [
"mode"
],
"properties": {
"mode": {
"type": "string",
"enum": [
"managedAcmImport"
]
},
"region": {
"type": "string",
"description": "ACM region. Defaults to the deployment region when omitted.",
"nullable": true
},
"tags": {
"type": "object",
"description": "Tags applied to runtime-imported ACM certificates.",
"additionalProperties": {
"type": "string"
}
}
}
},
{
"type": "object",
"description": "Customer-provided AWS ACM certificate ARN.",
"required": [
"certificateArn",
"mode"
],
"properties": {
"certificateArn": {
"type": "string",
"description": "Existing ACM certificate ARN."
},
"mode": {
"type": "string",
"enum": [
"awsAcmArn"
]
}
}
},
{
"type": "object",
"description": "Platform-managed cert written to a Kubernetes TLS Secret.",
"required": [
"secretNameTemplate",
"mode"
],
"properties": {
"mode": {
"type": "string",
"enum": [
"managedTlsSecret"
]
},
"secretNameTemplate": {
"type": "string",
"description": "Secret name template. Runtime may substitute resource/deployment tokens."
}
}
},
{
"allOf": [
{
"$ref": "#/components/schemas/KubernetesTlsSecretRef",
"description": "Customer-provided Kubernetes TLS Secret."
},
{
"type": "object",
"required": [
"mode"
],
"properties": {
"mode": {
"type": "string",
"enum": [
"tlsSecretRef"
]
}
}
}
],
"description": "Customer-provided Kubernetes TLS Secret."
},
{
"type": "object",
"description": "No TLS certificate should be configured by Alien.",
"required": [
"mode"
],
"properties": {
"mode": {
"type": "string",
"enum": [
"none"
]
}
}
}
],
"description": "Certificate publication or reference mode for Kubernetes public endpoints."
},
"KubernetesCloudReference": {
"type": "object",
"description": "Optional provider-specific identity for a cloud-backed Kubernetes cluster.",
"properties": {
"accountId": {
"type": "string",
"nullable": true
},
"clusterId": {
"type": "string",
"nullable": true
},
"clusterName": {
"type": "string",
"nullable": true
},
"projectId": {
"type": "string",
"nullable": true
},
"region": {
"type": "string",
"nullable": true
},
"resourceGroup": {
"type": "string",
"nullable": true
},
"subscriptionId": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"KubernetesClusterHeartbeatData": {
"type": "object",
"required": [
"status",
"nodeCounts",
"podCounts",
"name",
"events"
],
"properties": {
"cpu": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
},
"events": {
"type": "array",
"items": {
"$ref": "#/components/schemas/KubernetesEventSnapshot"
}
},
"memory": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
},
"name": {
"type": "string"
},
"namespace": {
"type": "string",
"nullable": true
},
"nodeCounts": {
"$ref": "#/components/schemas/ObservedCounts"
},
"nodeStatuses": {
"type": "array",
"items": {
"$ref": "#/components/schemas/KubernetesClusterNodeStatus"
}
},
"podCounts": {
"$ref": "#/components/schemas/ObservedCounts"
},
"region": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/WorkloadHeartbeatStatus"
},
"version": {
"type": "string",
"nullable": true
}
}
},
"KubernetesClusterNodeStatus": {
"type": "object",
"required": [
"name",
"ready",
"roles",
"labels",
"allocatable",
"capacity"
],
"properties": {
"allocatable": {
"$ref": "#/components/schemas/KubernetesNodeResources"
},
"capacity": {
"$ref": "#/components/schemas/KubernetesNodeResources"
},
"conditions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/KubernetesNodeConditionStatus"
}
},
"containerRuntimeVersion": {
"type": "string",
"nullable": true
},
"kubeletVersion": {
"type": "string",
"nullable": true
},
"labels": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"name": {
"type": "string"
},
"ready": {
"type": "boolean"
},
"roles": {
"type": "array",
"items": {
"type": "string"
}
},
"uid": {
"type": "string",
"nullable": true
},
"usage": {
"$ref": "#/components/schemas/KubernetesNodeUsage",
"nullable": true
}
}
},
"KubernetesClusterOwnership": {
"type": "string",
"description": "Ownership model for the Kubernetes cluster.",
"enum": [
"managed",
"existing",
"external"
]
},
"KubernetesClusterSettings": {
"type": "object",
"description": "Kubernetes cluster setup settings.",
"required": [
"ownership"
],
"properties": {
"cloud": {
"$ref": "#/components/schemas/KubernetesCloudReference",
"description": "Optional provider-specific cloud identity for existing clusters.",
"nullable": true
},
"namespace": {
"type": "string",
"description": "Namespace where the Alien chart and application resources run.",
"nullable": true
},
"ownership": {
"$ref": "#/components/schemas/KubernetesClusterOwnership",
"description": "Whether Alien should create the cluster, use a setup-owned existing\ncluster, or bind to an external/on-prem cluster."
}
}
},
"KubernetesContainerHeartbeatData": {
"type": "object",
"required": [
"status",
"namespace",
"name",
"workloadKind",
"replicas",
"pods",
"events"
],
"properties": {
"cpu": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
},
"events": {
"type": "array",
"items": {
"$ref": "#/components/schemas/KubernetesEventSnapshot"
}
},
"memory": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
},
"name": {
"type": "string"
},
"namespace": {
"type": "string"
},
"pods": {
"type": "array",
"items": {
"$ref": "#/components/schemas/KubernetesPodRuntimeUnitStatus"
}
},
"replicas": {
"$ref": "#/components/schemas/WorkloadReplicaStatus"
},
"restarts": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"status": {
"$ref": "#/components/schemas/WorkloadHeartbeatStatus"
},
"workload": {
"$ref": "#/components/schemas/KubernetesWorkloadStatus",
"nullable": true
},
"workloadKind": {
"$ref": "#/components/schemas/KubernetesWorkloadKind"
}
}
},
"KubernetesCustomCertificateConfig": {
"type": "object",
"required": [
"tlsSecretRef"
],
"properties": {
"tlsSecretRef": {
"$ref": "#/components/schemas/KubernetesTlsSecretRef",
"description": "Existing TLS Secret containing `tls.crt` and `tls.key`."
}
}
},
"KubernetesDaemonHeartbeatData": {
"type": "object",
"required": [
"status",
"namespace",
"name",
"replicas",
"commandSupported",
"pods",
"events"
],
"properties": {
"commandSupported": {
"type": "boolean"
},
"cpu": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
},
"events": {
"type": "array",
"items": {
"$ref": "#/components/schemas/KubernetesEventSnapshot"
}
},
"memory": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
},
"name": {
"type": "string"
},
"namespace": {
"type": "string"
},
"pods": {
"type": "array",
"items": {
"$ref": "#/components/schemas/KubernetesPodRuntimeUnitStatus"
}
},
"replicas": {
"$ref": "#/components/schemas/WorkloadReplicaStatus"
},
"restarts": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"status": {
"$ref": "#/components/schemas/WorkloadHeartbeatStatus"
},
"workload": {
"$ref": "#/components/schemas/KubernetesWorkloadStatus",
"nullable": true
}
}
},
"KubernetesEventInvolvedObject": {
"type": "object",
"properties": {
"apiVersion": {
"type": "string",
"nullable": true
},
"fieldPath": {
"type": "string",
"nullable": true
},
"kind": {
"type": "string",
"nullable": true
},
"name": {
"type": "string",
"nullable": true
},
"namespace": {
"type": "string",
"nullable": true
},
"resourceVersion": {
"type": "string",
"nullable": true
},
"uid": {
"type": "string",
"nullable": true
}
}
},
"KubernetesEventSnapshot": {
"type": "object",
"required": [
"reason",
"message"
],
"properties": {
"count": {
"type": "integer",
"format": "int32",
"nullable": true
},
"eventTime": {
"type": "string",
"format": "date-time",
"nullable": true
},
"firstTimestamp": {
"type": "string",
"format": "date-time",
"nullable": true
},
"involvedObject": {
"$ref": "#/components/schemas/KubernetesEventInvolvedObject",
"nullable": true
},
"lastTimestamp": {
"type": "string",
"format": "date-time",
"nullable": true
},
"message": {
"type": "string"
},
"raw": {
"$ref": "#/components/schemas/Value",
"nullable": true
},
"reason": {
"type": "string"
},
"source": {
"$ref": "#/components/schemas/KubernetesEventSource",
"nullable": true
},
"type": {
"type": "string",
"nullable": true
}
}
},
"KubernetesEventSource": {
"type": "object",
"properties": {
"component": {
"type": "string",
"nullable": true
},
"host": {
"type": "string",
"nullable": true
}
}
},
"KubernetesExposureSettings": {
"oneOf": [
{
"type": "object",
"description": "Do not create Alien-managed external routing.",
"required": [
"mode"
],
"properties": {
"mode": {
"type": "string",
"enum": [
"disabled"
]
}
}
},
{
"type": "object",
"description": "Use Alien-generated DNS and Platform-managed certificate material.",
"required": [
"route",
"certificate",
"mode"
],
"properties": {
"certificate": {
"$ref": "#/components/schemas/KubernetesCertificateMode",
"description": "How managed certificate material reaches the route profile."
},
"mode": {
"type": "string",
"enum": [
"generated"
]
},
"route": {
"$ref": "#/components/schemas/KubernetesRouteProfile",
"description": "Runtime route profile to materialize."
}
}
},
{
"type": "object",
"description": "Use a customer hostname and customer-owned certificate reference.",
"required": [
"domain",
"route",
"certificate",
"mode"
],
"properties": {
"certificate": {
"$ref": "#/components/schemas/KubernetesCertificateMode",
"description": "Customer-owned certificate reference consumed by the route profile."
},
"domain": {
"type": "string",
"description": "Hostname routed by the Kubernetes public endpoint."
},
"mode": {
"type": "string",
"enum": [
"custom"
]
},
"route": {
"$ref": "#/components/schemas/KubernetesRouteProfile",
"description": "Runtime route profile to materialize."
}
}
}
],
"description": "Kubernetes public HTTPS exposure mode."
},
"KubernetesGatewayRouteProfile": {
"type": "object",
"description": "Shared Gateway API route profile values.",
"required": [
"gatewayClassName",
"listenerPort"
],
"properties": {
"annotations": {
"type": "object",
"description": "Annotations applied to route objects.",
"additionalProperties": {
"type": "string"
}
},
"controller": {
"type": "string",
"description": "Route controller identifier, for example a cloud Gateway controller.",
"nullable": true
},
"gatewayClassName": {
"type": "string",
"description": "GatewayClass selected for generated Gateways."
},
"labels": {
"type": "object",
"description": "Labels applied to route objects.",
"additionalProperties": {
"type": "string"
}
},
"listenerPort": {
"type": "integer",
"format": "int32",
"description": "Listener port, usually 443.",
"minimum": 0
},
"provider": {
"$ref": "#/components/schemas/KubernetesRouteProviderOptions",
"description": "Provider-specific route options that are required by the selected class.",
"nullable": true
}
}
},
"KubernetesIngressRouteProfile": {
"type": "object",
"description": "Shared Ingress route profile values.",
"required": [
"ingressClassName"
],
"properties": {
"annotations": {
"type": "object",
"description": "Annotations applied to route objects.",
"additionalProperties": {
"type": "string"
}
},
"controller": {
"type": "string",
"description": "Route controller identifier, for example `eks.amazonaws.com/alb`.",
"nullable": true
},
"ingressClassName": {
"type": "string",
"description": "`spec.ingressClassName` for generated Ingresses."
},
"labels": {
"type": "object",
"description": "Labels applied to route objects.",
"additionalProperties": {
"type": "string"
}
},
"provider": {
"$ref": "#/components/schemas/KubernetesRouteProviderOptions",
"description": "Provider-specific route options that are required by the selected class.",
"nullable": true
}
}
},
"KubernetesNodeConditionStatus": {
"type": "object",
"required": [
"type",
"status"
],
"properties": {
"message": {
"type": "string",
"nullable": true
},
"reason": {
"type": "string",
"nullable": true
},
"status": {
"type": "string"
},
"type": {
"type": "string"
}
}
},
"KubernetesNodeResources": {
"type": "object",
"properties": {
"cpu": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
},
"memory": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
},
"pods": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
}
}
},
"KubernetesNodeUsage": {
"type": "object",
"properties": {
"cpu": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
},
"memory": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
}
}
},
"KubernetesOwnerReference": {
"type": "object",
"required": [
"kind",
"name",
"uid",
"controller"
],
"properties": {
"controller": {
"type": "boolean"
},
"kind": {
"type": "string"
},
"name": {
"type": "string"
},
"uid": {
"type": "string"
}
}
},
"KubernetesPodRuntimeUnitStatus": {
"type": "object",
"required": [
"name",
"ready",
"restartCount",
"ownerReferences"
],
"properties": {
"cpu": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
},
"memory": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
},
"name": {
"type": "string"
},
"nodeName": {
"type": "string",
"nullable": true
},
"ownerReferences": {
"type": "array",
"items": {
"$ref": "#/components/schemas/KubernetesOwnerReference"
}
},
"phase": {
"type": "string",
"nullable": true
},
"podIp": {
"type": "string",
"nullable": true
},
"ready": {
"type": "boolean"
},
"restartCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"terminatedReason": {
"type": "string",
"nullable": true
},
"uid": {
"type": "string",
"nullable": true
},
"waitingReason": {
"type": "string",
"nullable": true
}
}
},
"KubernetesRouteProfile": {
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/KubernetesIngressRouteProfile",
"description": "`networking.k8s.io/v1` Ingress route profile."
},
{
"type": "object",
"required": [
"routeApi"
],
"properties": {
"routeApi": {
"type": "string",
"enum": [
"ingress"
]
}
}
}
],
"description": "`networking.k8s.io/v1` Ingress route profile."
},
{
"allOf": [
{
"$ref": "#/components/schemas/KubernetesGatewayRouteProfile",
"description": "Gateway API `Gateway` + `HTTPRoute` route profile."
},
{
"type": "object",
"required": [
"routeApi"
],
"properties": {
"routeApi": {
"type": "string",
"enum": [
"gateway"
]
}
}
}
],
"description": "Gateway API `Gateway` + `HTTPRoute` route profile."
}
],
"description": "Kubernetes route API selected for public endpoints."
},
"KubernetesRouteProviderOptions": {
"oneOf": [
{
"type": "object",
"description": "AWS ALB route options for EKS.",
"required": [
"scheme",
"targetType",
"provider"
],
"properties": {
"ipAddressType": {
"type": "string",
"description": "Optional ALB IP address type, such as `dualstack`.",
"nullable": true
},
"provider": {
"type": "string",
"enum": [
"awsAlb"
]
},
"scheme": {
"type": "string",
"description": "Internet-facing or internal ALB scheme."
},
"subnetIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Explicit subnet IDs when the profile cannot rely on controller discovery."
},
"targetType": {
"type": "string",
"description": "ALB target type, usually `ip`."
}
}
},
{
"type": "object",
"description": "GKE Gateway route options.",
"required": [
"provider"
],
"properties": {
"provider": {
"type": "string",
"enum": [
"gkeGateway"
]
},
"staticAddressName": {
"type": "string",
"description": "Optional static address name for the Gateway frontend.",
"nullable": true
}
}
},
{
"type": "object",
"description": "Azure Application Gateway for Containers route options.",
"required": [
"frontend",
"provider"
],
"properties": {
"albName": {
"type": "string",
"description": "Optional ALB name when using BYO Application Gateway resources.",
"nullable": true
},
"albNamespace": {
"type": "string",
"description": "Optional ALB namespace when using BYO Application Gateway resources.",
"nullable": true
},
"frontend": {
"type": "string",
"description": "Public or internal frontend exposure."
},
"provider": {
"type": "string",
"enum": [
"azureApplicationGatewayForContainers"
]
}
}
}
],
"description": "Provider-specific route options required by supported managed profiles."
},
"KubernetesSecretVaultHeartbeatData": {
"type": "object",
"required": [
"status",
"namespace",
"prefix",
"secretMetadataListed"
],
"properties": {
"namespace": {
"type": "string"
},
"prefix": {
"type": "string"
},
"secretMetadataListed": {
"type": "boolean"
},
"status": {
"$ref": "#/components/schemas/VaultHeartbeatStatus"
}
}
},
"KubernetesSettings": {
"type": "object",
"description": "Kubernetes runtime substrate configuration.\n\nThis controls how setup chooses the cluster backing `Platform::Kubernetes`\ndeployments. When omitted, cloud-backed Kubernetes deployments default to a\nmanaged cluster and generic/on-prem Kubernetes defaults to an external\ncluster.",
"properties": {
"cluster": {
"$ref": "#/components/schemas/KubernetesClusterSettings",
"description": "Cluster selection or creation settings.",
"nullable": true
},
"exposure": {
"$ref": "#/components/schemas/KubernetesExposureSettings",
"description": "Public HTTPS exposure contract shared by setup, Helm, and runtime.",
"nullable": true
}
}
},
"KubernetesTlsSecretRef": {
"type": "object",
"description": "Namespace-scoped Kubernetes TLS Secret reference.",
"required": [
"secretName"
],
"properties": {
"namespace": {
"type": "string",
"description": "Secret namespace. Defaults to the release namespace when omitted.",
"nullable": true
},
"secretName": {
"type": "string",
"description": "Secret name."
}
}
},
"KubernetesWorkerHeartbeatData": {
"type": "object",
"required": [
"status",
"namespace",
"name",
"workloadKind",
"replicas",
"pods",
"triggerCount",
"events"
],
"properties": {
"cpu": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
},
"events": {
"type": "array",
"items": {
"$ref": "#/components/schemas/KubernetesEventSnapshot"
}
},
"memory": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
},
"name": {
"type": "string"
},
"namespace": {
"type": "string"
},
"pods": {
"type": "array",
"items": {
"$ref": "#/components/schemas/KubernetesPodRuntimeUnitStatus"
}
},
"replicas": {
"$ref": "#/components/schemas/WorkloadReplicaStatus"
},
"restarts": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"status": {
"$ref": "#/components/schemas/WorkloadHeartbeatStatus"
},
"triggerCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"workload": {
"$ref": "#/components/schemas/KubernetesWorkloadStatus",
"nullable": true
},
"workloadKind": {
"$ref": "#/components/schemas/KubernetesWorkloadKind"
}
}
},
"KubernetesWorkloadCondition": {
"type": "object",
"required": [
"type",
"status"
],
"properties": {
"lastTransitionTime": {
"type": "string",
"format": "date-time",
"nullable": true
},
"message": {
"type": "string",
"nullable": true
},
"reason": {
"type": "string",
"nullable": true
},
"status": {
"type": "string"
},
"type": {
"type": "string"
}
}
},
"KubernetesWorkloadKind": {
"type": "string",
"enum": [
"deployment",
"statefulSet",
"daemonSet",
"replicaSet",
"pod"
]
},
"KubernetesWorkloadStatus": {
"type": "object",
"required": [
"conditions"
],
"properties": {
"availableReplicas": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"conditions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/KubernetesWorkloadCondition"
}
},
"desiredGeneration": {
"type": "integer",
"format": "int64",
"nullable": true
},
"desiredReplicas": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"observedGeneration": {
"type": "integer",
"format": "int64",
"nullable": true
},
"readyReplicas": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"rolloutReason": {
"type": "string",
"nullable": true
},
"updatedReplicas": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
}
}
},
"KvHeartbeatData": {
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/AwsDynamoDbKvHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"awsDynamoDb"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/GcpFirestoreKvHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"gcpFirestore"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/AzureTableKvHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"azureTable"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/LocalKvHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"local"
]
}
}
}
]
}
]
},
"KvHeartbeatStatus": {
"type": "object",
"required": [
"health",
"lifecycle",
"stale",
"partial",
"collectionIssues"
],
"properties": {
"collectionIssues": {
"type": "array",
"items": {
"$ref": "#/components/schemas/HeartbeatCollectionIssue"
}
},
"health": {
"$ref": "#/components/schemas/ObservedHealth"
},
"lifecycle": {
"$ref": "#/components/schemas/ProviderLifecycleState"
},
"message": {
"type": "string",
"nullable": true
},
"partial": {
"type": "boolean"
},
"stale": {
"type": "boolean"
}
}
},
"LeaseInfo": {
"type": "object",
"description": "Lease information",
"required": [
"leaseId",
"leaseExpiresAt",
"commandId",
"attempt",
"envelope"
],
"properties": {
"attempt": {
"type": "integer",
"format": "int32",
"description": "Attempt number",
"minimum": 0
},
"commandId": {
"type": "string",
"description": "Command identifier"
},
"envelope": {
"$ref": "#/components/schemas/Envelope",
"description": "Commands envelope to process"
},
"leaseExpiresAt": {
"type": "string",
"format": "date-time",
"description": "When lease expires"
},
"leaseId": {
"type": "string",
"description": "Unique lease identifier"
}
}
},
"LeaseRequest": {
"type": "object",
"description": "Request for acquiring leases",
"required": [
"deploymentId"
],
"properties": {
"deploymentId": {
"type": "string",
"description": "Deployment identifier"
},
"leaseSeconds": {
"type": "integer",
"format": "int64",
"description": "Lease duration in seconds",
"minimum": 0
},
"maxLeases": {
"type": "integer",
"description": "Maximum number of leases to acquire",
"minimum": 0
}
}
},
"LeaseResponse": {
"type": "object",
"description": "Response to lease acquisition",
"required": [
"leases"
],
"properties": {
"leases": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LeaseInfo"
},
"description": "Acquired leases (empty array if none available)"
}
}
},
"ListDeploymentGroupsResponse": {
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DeploymentGroupResponse"
}
},
"nextCursor": {
"type": "string",
"nullable": true
}
}
},
"ListDeploymentsResponse": {
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DeploymentResponse"
}
},
"nextCursor": {
"type": "string",
"nullable": true
}
}
},
"ListReleasesResponse": {
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReleaseResponse"
},
"description": "Releases the caller may read, newest first."
}
}
},
"LocalArtifactRegistryHeartbeatData": {
"type": "object",
"required": [
"status",
"registryUrl",
"reachable"
],
"properties": {
"reachable": {
"type": "boolean"
},
"registryUrl": {
"type": "string"
},
"status": {
"$ref": "#/components/schemas/ArtifactRegistryHeartbeatStatus"
}
}
},
"LocalComputeClusterHeartbeatData": {
"type": "object",
"required": [
"status",
"nodes",
"name",
"dockerAvailable",
"networkAvailable"
],
"properties": {
"dockerApiVersion": {
"type": "string",
"nullable": true
},
"dockerArch": {
"type": "string",
"nullable": true
},
"dockerAvailable": {
"type": "boolean"
},
"dockerOs": {
"type": "string",
"nullable": true
},
"dockerVersion": {
"type": "string",
"nullable": true
},
"hostIdentifier": {
"type": "string",
"nullable": true
},
"name": {
"type": "string"
},
"networkAvailable": {
"type": "boolean"
},
"networkName": {
"type": "string",
"nullable": true
},
"nodes": {
"$ref": "#/components/schemas/ObservedCounts"
},
"runningContainers": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"status": {
"$ref": "#/components/schemas/ComputeClusterHeartbeatStatus"
},
"trackedContainers": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
}
}
},
"LocalContainerHeartbeatData": {
"type": "object",
"required": [
"status",
"portCount",
"bindMountCount",
"runtimeReachable",
"events"
],
"properties": {
"bindMountCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"containerId": {
"type": "string",
"nullable": true
},
"containerUnit": {
"$ref": "#/components/schemas/LocalRuntimeUnitStatus",
"nullable": true
},
"cpu": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
},
"events": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LocalRuntimeEventSnapshot"
}
},
"image": {
"type": "string",
"nullable": true
},
"localUrl": {
"type": "string",
"nullable": true
},
"memory": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
},
"name": {
"type": "string",
"nullable": true
},
"portCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"restartCount": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"runtimeReachable": {
"type": "boolean"
},
"runtimeStatus": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/WorkloadHeartbeatStatus"
}
}
},
"LocalDaemonHeartbeatData": {
"type": "object",
"required": [
"status",
"daemonName",
"runtimeId",
"commandSupported",
"imagePathPresent",
"events"
],
"properties": {
"commandSupported": {
"type": "boolean"
},
"daemonInstance": {
"$ref": "#/components/schemas/LocalRuntimeUnitStatus",
"nullable": true
},
"daemonName": {
"type": "string"
},
"events": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LocalRuntimeEventSnapshot"
}
},
"exitReason": {
"type": "string",
"nullable": true
},
"imagePathPresent": {
"type": "boolean"
},
"pid": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"restartCount": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"runtimeId": {
"type": "string"
},
"status": {
"$ref": "#/components/schemas/WorkloadHeartbeatStatus"
}
}
},
"LocalKvHeartbeatData": {
"type": "object",
"required": [
"status",
"name",
"path",
"pathExists",
"cloudMetadataSupported"
],
"properties": {
"cloudMetadataSupported": {
"type": "boolean"
},
"isDirectory": {
"type": "boolean",
"nullable": true
},
"name": {
"type": "string"
},
"path": {
"type": "string"
},
"pathExists": {
"type": "boolean"
},
"status": {
"$ref": "#/components/schemas/KvHeartbeatStatus"
}
}
},
"LocalOperation": {
"type": "string",
"description": "Local filesystem operations",
"enum": [
"put",
"get",
"delete"
]
},
"LocalQueueHeartbeatData": {
"type": "object",
"required": [
"status",
"name"
],
"properties": {
"name": {
"type": "string"
},
"path": {
"type": "string",
"nullable": true
},
"serviceStatus": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/QueueHeartbeatStatus"
}
}
},
"LocalRuntimeEventSnapshot": {
"type": "object",
"required": [
"timestamp",
"severity",
"kind",
"message"
],
"properties": {
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"raw": {
"$ref": "#/components/schemas/Value",
"nullable": true
},
"severity": {
"$ref": "#/components/schemas/HeartbeatIssueSeverity"
},
"subject": {
"$ref": "#/components/schemas/LocalRuntimeEventSubject",
"nullable": true
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"LocalRuntimeEventSubject": {
"type": "object",
"required": [
"kind"
],
"properties": {
"id": {
"type": "string",
"nullable": true
},
"kind": {
"type": "string"
},
"name": {
"type": "string",
"nullable": true
}
}
},
"LocalRuntimeUnitKind": {
"type": "string",
"enum": [
"container",
"process",
"daemon"
]
},
"LocalRuntimeUnitStatus": {
"type": "object",
"required": [
"unitId",
"name",
"kind",
"ready"
],
"properties": {
"cpu": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
},
"kind": {
"$ref": "#/components/schemas/LocalRuntimeUnitKind"
},
"memory": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
},
"name": {
"type": "string"
},
"phase": {
"type": "string",
"nullable": true
},
"pid": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"ready": {
"type": "boolean"
},
"restartCount": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"unitId": {
"type": "string"
}
}
},
"LocalServiceAccountHeartbeatData": {
"type": "object",
"required": [
"status",
"identity",
"configured"
],
"properties": {
"configured": {
"type": "boolean"
},
"identity": {
"type": "string"
},
"status": {
"$ref": "#/components/schemas/ServiceAccountHeartbeatStatus"
}
}
},
"LocalStorageHeartbeatData": {
"type": "object",
"required": [
"status",
"path",
"pathExists"
],
"properties": {
"isDirectory": {
"type": "boolean",
"nullable": true
},
"modifiedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"path": {
"type": "string"
},
"pathExists": {
"type": "boolean"
},
"readonly": {
"type": "boolean",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/StorageHeartbeatStatus"
}
}
},
"LocalVaultHeartbeatData": {
"type": "object",
"required": [
"status",
"path",
"pathExists",
"secretMetadataListed"
],
"properties": {
"isDirectory": {
"type": "boolean",
"nullable": true
},
"modifiedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"path": {
"type": "string"
},
"pathExists": {
"type": "boolean"
},
"readonly": {
"type": "boolean",
"nullable": true
},
"secretMetadataListed": {
"type": "boolean"
},
"status": {
"$ref": "#/components/schemas/VaultHeartbeatStatus"
}
}
},
"LocalWorkerHeartbeatData": {
"type": "object",
"required": [
"status",
"commandSupported",
"imagePathPresent",
"triggerCount",
"events"
],
"properties": {
"commandSupported": {
"type": "boolean"
},
"cpu": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
},
"events": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LocalRuntimeEventSnapshot"
}
},
"imagePathPresent": {
"type": "boolean"
},
"memory": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
},
"pid": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"process": {
"$ref": "#/components/schemas/LocalRuntimeUnitStatus",
"nullable": true
},
"readinessProbeOk": {
"type": "boolean",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/WorkloadHeartbeatStatus"
},
"triggerCount": {
"type": "integer",
"format": "int32",
"minimum": 0
}
}
},
"ManagedRuntimeEventInvolvedObject": {
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/Value",
"nullable": true
},
"id": {
"type": "string",
"nullable": true
},
"kind": {
"type": "string",
"nullable": true
},
"machineId": {
"type": "string",
"nullable": true
},
"name": {
"type": "string",
"nullable": true
},
"replicaId": {
"type": "string",
"nullable": true
}
}
},
"ManagedRuntimeEventSnapshot": {
"type": "object",
"required": [
"reason",
"message"
],
"properties": {
"count": {
"type": "integer",
"format": "int32",
"nullable": true
},
"details": {
"$ref": "#/components/schemas/Value",
"nullable": true
},
"eventId": {
"type": "string",
"nullable": true
},
"eventTime": {
"type": "string",
"format": "date-time",
"nullable": true
},
"firstTimestamp": {
"type": "string",
"format": "date-time",
"nullable": true
},
"involvedObject": {
"$ref": "#/components/schemas/ManagedRuntimeEventInvolvedObject",
"nullable": true
},
"lastTimestamp": {
"type": "string",
"format": "date-time",
"nullable": true
},
"message": {
"type": "string"
},
"raw": {
"$ref": "#/components/schemas/Value",
"nullable": true
},
"reason": {
"type": "string"
},
"source": {
"$ref": "#/components/schemas/ManagedRuntimeEventSource",
"nullable": true
},
"type": {
"type": "string",
"nullable": true
}
}
},
"ManagedRuntimeEventSource": {
"type": "object",
"properties": {
"component": {
"type": "string",
"nullable": true
},
"host": {
"type": "string",
"nullable": true
}
}
},
"ManagedRuntimeUnitStatus": {
"type": "object",
"required": [
"replicaId",
"name",
"ready"
],
"properties": {
"cpu": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
},
"ip": {
"type": "string",
"nullable": true
},
"machineId": {
"type": "string",
"nullable": true
},
"memory": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
},
"message": {
"type": "string",
"nullable": true
},
"metricsHealthy": {
"type": "boolean",
"nullable": true
},
"metricsLastUpdated": {
"type": "string",
"nullable": true
},
"metricsStatus": {
"type": "string",
"nullable": true
},
"name": {
"type": "string"
},
"nodeName": {
"type": "string",
"nullable": true
},
"phase": {
"type": "string",
"nullable": true
},
"ready": {
"type": "boolean"
},
"reason": {
"type": "string",
"nullable": true
},
"replicaId": {
"type": "string"
},
"restartCount": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"status": {
"type": "string",
"nullable": true
},
"terminatedReason": {
"type": "string",
"nullable": true
},
"waitingReason": {
"type": "string",
"nullable": true
}
}
},
"ManagementConfig": {
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/AwsManagementConfig",
"description": "AWS management configuration"
},
{
"type": "object",
"required": [
"platform"
],
"properties": {
"platform": {
"type": "string",
"enum": [
"aws"
]
}
}
}
],
"description": "AWS management configuration"
},
{
"allOf": [
{
"$ref": "#/components/schemas/GcpManagementConfig",
"description": "GCP management configuration"
},
{
"type": "object",
"required": [
"platform"
],
"properties": {
"platform": {
"type": "string",
"enum": [
"gcp"
]
}
}
}
],
"description": "GCP management configuration"
},
{
"allOf": [
{
"$ref": "#/components/schemas/AzureManagementConfig",
"description": "Azure management configuration"
},
{
"type": "object",
"required": [
"platform"
],
"properties": {
"platform": {
"type": "string",
"enum": [
"azure"
]
}
}
}
],
"description": "Azure management configuration"
},
{
"type": "object",
"description": "Kubernetes management configuration (minimal for now)",
"required": [
"platform"
],
"properties": {
"platform": {
"type": "string",
"enum": [
"kubernetes"
]
}
}
}
],
"description": "Management configuration for different cloud platforms.\n\nPlatform-derived configuration for cross-account/cross-tenant access.\nThis is NOT user-specified - it's derived from the Manager's ServiceAccount."
},
"MetricSample": {
"type": "object",
"required": [
"value",
"unit"
],
"properties": {
"unit": {
"$ref": "#/components/schemas/MetricUnit"
},
"value": {
"type": "number",
"format": "double"
}
}
},
"MetricUnit": {
"type": "string",
"enum": [
"count",
"percent",
"bytes",
"cores",
"milliseconds",
"requests-per-second"
]
},
"NetworkHeartbeatData": {
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/AwsVpcNetworkHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"awsVpc"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/GcpVpcNetworkHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"gcpVpc"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/AzureVnetNetworkHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"azureVnet"
]
}
}
}
]
}
]
},
"NetworkHeartbeatStatus": {
"type": "object",
"required": [
"health",
"lifecycle",
"stale",
"partial",
"collectionIssues"
],
"properties": {
"collectionIssues": {
"type": "array",
"items": {
"$ref": "#/components/schemas/HeartbeatCollectionIssue"
}
},
"health": {
"$ref": "#/components/schemas/ObservedHealth"
},
"lifecycle": {
"$ref": "#/components/schemas/ProviderLifecycleState"
},
"message": {
"type": "string",
"nullable": true
},
"partial": {
"type": "boolean"
},
"stale": {
"type": "boolean"
}
}
},
"NetworkSettings": {
"oneOf": [
{
"type": "object",
"description": "Use the cloud provider's default VPC/network.\n\nDesigned for fast dev/test provisioning. No isolated VPC is created, so there\nis nothing to wait for or clean up. VMs receive ephemeral public IPs for internet\naccess — no NAT gateway is provisioned.\n\n- **AWS**: Discovers the account's default VPC. Subnets are public with auto-assigned IPs.\n- **GCP**: Discovers the project's `default` network and regional subnet. Instance\n templates include an `AccessConfig` to assign an ephemeral external IP.\n- **Azure**: Azure has no default VNet, so one is created along with a NAT Gateway.\n VMs stay private and use NAT for egress.\n\nNot recommended for production. Use `Create` instead.",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"use-default"
]
}
}
},
{
"type": "object",
"description": "Create a new isolated VPC/VNet with a managed NAT gateway.\n\nAll networking infrastructure is provisioned by Alien and cleaned up on delete.\nVMs use private IPs only; all outbound traffic routes through the NAT gateway.\n\nRecommended for production deployments.",
"required": [
"type"
],
"properties": {
"availability_zones": {
"type": "integer",
"format": "int32",
"description": "Number of availability zones (default: 2).",
"minimum": 0
},
"cidr": {
"type": "string",
"description": "VPC/VNet CIDR block. If not specified, auto-generated from stack ID\nto reduce conflicts (e.g., \"10.{hash}.0.0/16\").",
"nullable": true
},
"type": {
"type": "string",
"enum": [
"create"
]
}
}
},
{
"type": "object",
"description": "Use an existing VPC (AWS).\n\nAlien validates the references but creates no networking infrastructure.\nThe customer is responsible for routing and egress (NAT, proxy, VPN, etc.).",
"required": [
"vpc_id",
"public_subnet_ids",
"private_subnet_ids",
"type"
],
"properties": {
"private_subnet_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "IDs of private subnets"
},
"public_subnet_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "IDs of public subnets (required for public ingress)"
},
"security_group_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional security group IDs to use"
},
"type": {
"type": "string",
"enum": [
"byo-vpc-aws"
]
},
"vpc_id": {
"type": "string",
"description": "The ID of the existing VPC"
}
}
},
{
"type": "object",
"description": "Use an existing VPC (GCP).\n\nAlien validates the references but creates no networking infrastructure.\nThe customer is responsible for routing and egress (Cloud NAT, proxy, VPN, etc.).",
"required": [
"network_name",
"subnet_name",
"region",
"type"
],
"properties": {
"network_name": {
"type": "string",
"description": "The name of the existing VPC network"
},
"region": {
"type": "string",
"description": "The region of the subnet"
},
"subnet_name": {
"type": "string",
"description": "The name of the subnet to use"
},
"type": {
"type": "string",
"enum": [
"byo-vpc-gcp"
]
}
}
},
{
"type": "object",
"description": "Use an existing VNet (Azure).\n\nAlien validates the references but creates no networking infrastructure.\nThe customer is responsible for routing and egress (NAT Gateway, proxy, VPN, etc.).",
"required": [
"vnet_resource_id",
"public_subnet_name",
"private_subnet_name",
"type"
],
"properties": {
"application_gateway_subnet_name": {
"type": "string",
"description": "Name of the dedicated classic Application Gateway subnet within the VNet.",
"nullable": true
},
"private_subnet_name": {
"type": "string",
"description": "Name of the private subnet within the VNet"
},
"public_subnet_name": {
"type": "string",
"description": "Name of the public subnet within the VNet"
},
"type": {
"type": "string",
"enum": [
"byo-vnet-azure"
]
},
"vnet_resource_id": {
"type": "string",
"description": "The full resource ID of the existing VNet"
}
}
}
],
"description": "Network configuration for the stack.\n\nControls how VPC/VNet networking is provisioned. Users configure this in\n`StackSettings`; the Network resource itself is auto-generated by preflights.\n\n## Egress policy\n\nContainer cluster VMs are configured for egress based on the mode:\n\n- `UseDefault` → VMs get ephemeral public IPs (no NAT is provisioned)\n- `Create` → VMs use private IPs; Alien provisions a NAT gateway for outbound access\n- `ByoVpc*` / `ByoVnet*` → no public IPs assigned; customer manages egress\n\nFor production workloads, use `Create`. For fast dev/test iteration, `UseDefault` is\nsufficient. For environments with existing VPCs, use the appropriate `ByoVpc*` variant."
},
"ObservedCounts": {
"type": "object",
"properties": {
"current": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"desired": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"ready": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
}
}
},
"ObservedHealth": {
"type": "string",
"enum": [
"unknown",
"healthy",
"degraded",
"unhealthy"
]
},
"Platform": {
"type": "string",
"description": "Represents the target cloud platform.",
"enum": [
"aws",
"gcp",
"azure",
"kubernetes",
"local",
"test"
]
},
"PresignedOperation": {
"type": "string",
"description": "The type of operation a presigned request performs",
"enum": [
"put",
"get",
"delete"
]
},
"PresignedRequest": {
"type": "object",
"description": "A presigned request that can be serialized, stored, and executed later.\nHides implementation details for different storage backends.",
"required": [
"backend",
"expiration",
"operation",
"path"
],
"properties": {
"backend": {
"$ref": "#/components/schemas/PresignedRequestBackend",
"description": "The storage backend this request targets"
},
"expiration": {
"type": "string",
"format": "date-time",
"description": "When this presigned request expires"
},
"operation": {
"$ref": "#/components/schemas/PresignedOperation",
"description": "The operation this request performs"
},
"path": {
"type": "string",
"description": "The path this request operates on"
}
}
},
"PresignedRequestBackend": {
"oneOf": [
{
"type": "object",
"description": "HTTP-based request (AWS S3, GCP GCS, Azure Blob)",
"required": [
"url",
"method",
"headers",
"type"
],
"properties": {
"headers": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"method": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"http"
]
},
"url": {
"type": "string"
}
}
},
{
"type": "object",
"description": "Local filesystem operation",
"required": [
"filePath",
"operation",
"type"
],
"properties": {
"filePath": {
"type": "string"
},
"operation": {
"$ref": "#/components/schemas/LocalOperation"
},
"type": {
"type": "string",
"enum": [
"local"
]
}
}
}
],
"description": "Storage backend representation for different presigned request types"
},
"ProviderFleetStatus": {
"type": "object",
"required": [
"groupId",
"providerId",
"currentMachines",
"desiredMachines"
],
"properties": {
"currentMachines": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"desiredMachines": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"groupId": {
"type": "string"
},
"location": {
"type": "string",
"nullable": true
},
"providerId": {
"type": "string"
}
}
},
"ProviderLifecycleState": {
"type": "string",
"enum": [
"unknown",
"creating",
"updating",
"running",
"scaling",
"stopping",
"stopped",
"deleting",
"deleted",
"failed"
]
},
"QueueHeartbeatData": {
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/AwsSqsQueueHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"awsSqs"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/GcpPubSubQueueHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"gcpPubSub"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/AzureServiceBusQueueHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"azureServiceBus"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/LocalQueueHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"local"
]
}
}
}
]
}
]
},
"QueueHeartbeatStatus": {
"type": "object",
"required": [
"health",
"lifecycle",
"stale",
"partial",
"collectionIssues"
],
"properties": {
"collectionIssues": {
"type": "array",
"items": {
"$ref": "#/components/schemas/HeartbeatCollectionIssue"
}
},
"health": {
"$ref": "#/components/schemas/ObservedHealth"
},
"lifecycle": {
"$ref": "#/components/schemas/ProviderLifecycleState"
},
"message": {
"type": "string",
"nullable": true
},
"partial": {
"type": "boolean"
},
"stale": {
"type": "boolean"
}
}
},
"RawHeartbeatSnippet": {
"type": "object",
"required": [
"source",
"format",
"collectedAt",
"body",
"truncated"
],
"properties": {
"body": {
"type": "string"
},
"collectedAt": {
"type": "string",
"format": "date-time"
},
"format": {
"$ref": "#/components/schemas/RawHeartbeatSnippetFormat"
},
"source": {
"type": "string"
},
"truncated": {
"type": "boolean"
}
}
},
"RawHeartbeatSnippetFormat": {
"type": "string",
"enum": [
"json",
"yaml",
"text"
]
},
"ReconcileRequest": {
"type": "object",
"required": [
"deploymentId",
"session",
"state"
],
"properties": {
"deploymentId": {
"type": "string"
},
"heartbeats": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ResourceHeartbeat"
}
},
"session": {
"type": "string"
},
"state": {},
"suggestedDelayMs": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"updateHeartbeat": {
"type": "boolean"
}
}
},
"ReconcileResponse": {
"type": "object",
"required": [
"success",
"current"
],
"properties": {
"current": {},
"nativeImageHost": {
"type": "string",
"description": "Native image registry host for Lambda/Cloud Run.\nReturned so push clients can set it on their local DeploymentConfig.",
"nullable": true
},
"success": {
"type": "boolean"
}
}
},
"ReleaseRequest": {
"type": "object",
"required": [
"deploymentId",
"session"
],
"properties": {
"deploymentId": {
"type": "string"
},
"session": {
"type": "string"
}
}
},
"ReleaseResponse": {
"type": "object",
"required": [
"id",
"workspaceId",
"projectId",
"stack",
"createdAt"
],
"properties": {
"createdAt": {
"type": "string"
},
"gitMetadata": {
"$ref": "#/components/schemas/GitMetadataResponse",
"nullable": true
},
"id": {
"type": "string"
},
"projectId": {
"type": "string"
},
"setupFingerprints": {
"type": "object",
"description": "Setup-step fingerprints — used by `alien release` to short-circuit\nre-pushing artifacts that haven't changed across releases. The\nplatform-API client requires this field to be present (even if\nempty). The OSS standalone manager doesn't track per-setup-step\nfingerprints, so we return an empty map.",
"additionalProperties": {}
},
"stack": {
"$ref": "#/components/schemas/StackByPlatform"
},
"workspaceId": {
"type": "string"
}
}
},
"RemoteStackManagementHeartbeatData": {
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/AwsRemoteStackManagementHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"awsIamRole"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/GcpRemoteStackManagementHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"gcpServiceAccount"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/AzureRemoteStackManagementHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"azureManagedIdentity"
]
}
}
}
]
}
]
},
"RemoteStackManagementHeartbeatStatus": {
"type": "object",
"required": [
"health",
"lifecycle",
"stale",
"partial",
"collectionIssues"
],
"properties": {
"collectionIssues": {
"type": "array",
"items": {
"$ref": "#/components/schemas/HeartbeatCollectionIssue"
}
},
"health": {
"$ref": "#/components/schemas/ObservedHealth"
},
"lifecycle": {
"$ref": "#/components/schemas/ProviderLifecycleState"
},
"message": {
"type": "string",
"nullable": true
},
"partial": {
"type": "boolean"
},
"stale": {
"type": "boolean"
}
}
},
"ResolveCredentialsRequest": {
"type": "object",
"required": [
"deploymentId"
],
"properties": {
"deploymentId": {
"type": "string"
}
}
},
"ResolveCredentialsResponse": {
"type": "object",
"required": [
"clientConfig"
],
"properties": {
"clientConfig": {}
}
},
"ResourceEntry": {
"type": "object",
"required": [
"resourceType"
],
"properties": {
"publicUrl": {
"type": "string",
"nullable": true
},
"resourceType": {
"type": "string"
}
}
},
"ResourceHeartbeat": {
"type": "object",
"required": [
"resourceId",
"resourceType",
"controllerPlatform",
"backend",
"observedAt",
"data",
"raw"
],
"properties": {
"backend": {
"$ref": "#/components/schemas/HeartbeatBackend"
},
"controllerPlatform": {
"$ref": "#/components/schemas/Platform"
},
"data": {
"$ref": "#/components/schemas/ResourceHeartbeatData"
},
"deploymentId": {
"type": "string",
"nullable": true
},
"observedAt": {
"type": "string",
"format": "date-time"
},
"raw": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RawHeartbeatSnippet"
}
},
"resourceId": {
"type": "string"
},
"resourceType": {
"$ref": "#/components/schemas/ResourceType"
}
}
},
"ResourceHeartbeatData": {
"oneOf": [
{
"type": "object",
"required": [
"data",
"resourceType"
],
"properties": {
"data": {
"$ref": "#/components/schemas/StorageHeartbeatData"
},
"resourceType": {
"type": "string",
"enum": [
"storage"
]
}
}
},
{
"type": "object",
"required": [
"data",
"resourceType"
],
"properties": {
"data": {
"$ref": "#/components/schemas/WorkerHeartbeatData"
},
"resourceType": {
"type": "string",
"enum": [
"worker"
]
}
}
},
{
"type": "object",
"required": [
"data",
"resourceType"
],
"properties": {
"data": {
"$ref": "#/components/schemas/ContainerHeartbeatData"
},
"resourceType": {
"type": "string",
"enum": [
"container"
]
}
}
},
{
"type": "object",
"required": [
"data",
"resourceType"
],
"properties": {
"data": {
"$ref": "#/components/schemas/DaemonHeartbeatData"
},
"resourceType": {
"type": "string",
"enum": [
"daemon"
]
}
}
},
{
"type": "object",
"required": [
"data",
"resourceType"
],
"properties": {
"data": {
"$ref": "#/components/schemas/ComputeClusterHeartbeatData"
},
"resourceType": {
"type": "string",
"enum": [
"compute-cluster"
]
}
}
},
{
"type": "object",
"required": [
"data",
"resourceType"
],
"properties": {
"data": {
"$ref": "#/components/schemas/KubernetesClusterHeartbeatData"
},
"resourceType": {
"type": "string",
"enum": [
"kubernetes-cluster"
]
}
}
},
{
"type": "object",
"required": [
"data",
"resourceType"
],
"properties": {
"data": {
"$ref": "#/components/schemas/QueueHeartbeatData"
},
"resourceType": {
"type": "string",
"enum": [
"queue"
]
}
}
},
{
"type": "object",
"required": [
"data",
"resourceType"
],
"properties": {
"data": {
"$ref": "#/components/schemas/KvHeartbeatData"
},
"resourceType": {
"type": "string",
"enum": [
"kv"
]
}
}
},
{
"type": "object",
"required": [
"data",
"resourceType"
],
"properties": {
"data": {
"$ref": "#/components/schemas/VaultHeartbeatData"
},
"resourceType": {
"type": "string",
"enum": [
"vault"
]
}
}
},
{
"type": "object",
"required": [
"data",
"resourceType"
],
"properties": {
"data": {
"$ref": "#/components/schemas/ServiceAccountHeartbeatData"
},
"resourceType": {
"type": "string",
"enum": [
"service-account"
]
}
}
},
{
"type": "object",
"required": [
"data",
"resourceType"
],
"properties": {
"data": {
"$ref": "#/components/schemas/NetworkHeartbeatData"
},
"resourceType": {
"type": "string",
"enum": [
"network"
]
}
}
},
{
"type": "object",
"required": [
"data",
"resourceType"
],
"properties": {
"data": {
"$ref": "#/components/schemas/RemoteStackManagementHeartbeatData"
},
"resourceType": {
"type": "string",
"enum": [
"remote-stack-management"
]
}
}
},
{
"type": "object",
"required": [
"data",
"resourceType"
],
"properties": {
"data": {
"$ref": "#/components/schemas/ArtifactRegistryHeartbeatData"
},
"resourceType": {
"type": "string",
"enum": [
"artifact-registry"
]
}
}
},
{
"type": "object",
"required": [
"data",
"resourceType"
],
"properties": {
"data": {
"$ref": "#/components/schemas/BuildHeartbeatData"
},
"resourceType": {
"type": "string",
"enum": [
"build"
]
}
}
},
{
"type": "object",
"required": [
"data",
"resourceType"
],
"properties": {
"data": {
"$ref": "#/components/schemas/ServiceActivationHeartbeatData"
},
"resourceType": {
"type": "string",
"enum": [
"service_activation"
]
}
}
},
{
"type": "object",
"required": [
"data",
"resourceType"
],
"properties": {
"data": {
"$ref": "#/components/schemas/AzureResourceGroupHeartbeatData"
},
"resourceType": {
"type": "string",
"enum": [
"azure_resource_group"
]
}
}
},
{
"type": "object",
"required": [
"data",
"resourceType"
],
"properties": {
"data": {
"$ref": "#/components/schemas/AzureStorageAccountHeartbeatData"
},
"resourceType": {
"type": "string",
"enum": [
"azure_storage_account"
]
}
}
},
{
"type": "object",
"required": [
"data",
"resourceType"
],
"properties": {
"data": {
"$ref": "#/components/schemas/AzureContainerAppsEnvironmentHeartbeatData"
},
"resourceType": {
"type": "string",
"enum": [
"azure_container_apps_environment"
]
}
}
},
{
"type": "object",
"required": [
"data",
"resourceType"
],
"properties": {
"data": {
"$ref": "#/components/schemas/AzureServiceBusNamespaceHeartbeatData"
},
"resourceType": {
"type": "string",
"enum": [
"azure_service_bus_namespace"
]
}
}
}
]
},
"ResourceLifecycle": {
"type": "string",
"description": "Describes the lifecycle of a resource within a stack, determining how it's managed and deployed.",
"enum": [
"frozen",
"live"
]
},
"ResourceRef": {
"type": "object",
"description": "New ResourceRef that works with any resource type.\nThis can eventually replace the enum-based ResourceRef for full extensibility.",
"required": [
"type",
"id"
],
"properties": {
"id": {
"type": "string"
},
"type": {
"$ref": "#/components/schemas/ResourceType"
}
}
},
"ResourceStatus": {
"type": "string",
"description": "Represents the high-level status of a resource during its lifecycle.",
"enum": [
"pending",
"provisioning",
"provision-failed",
"running",
"updating",
"update-failed",
"deleting",
"delete-failed",
"teardown-required",
"deleted",
"refresh-failed"
]
},
"ResourceType": {
"type": "string",
"description": "Resource type identifier that determines the specific kind of resource. This field is used for polymorphic deserialization and resource-specific behavior.",
"example": "worker"
},
"ResponseHandling": {
"type": "object",
"description": "Response handling configuration for deployments",
"required": [
"maxInlineBytes",
"submitResponseUrl",
"storageUploadRequest"
],
"properties": {
"maxInlineBytes": {
"type": "integer",
"format": "int64",
"description": "Maximum response body size that can be submitted inline",
"minimum": 0
},
"storageUploadRequest": {
"$ref": "#/components/schemas/PresignedRequest",
"description": "Pre-signed request for uploading large response bodies"
},
"submitResponseUrl": {
"type": "string",
"description": "URL where deployments submit responses"
}
}
},
"ScopeInfo": {
"type": "object",
"required": [
"type"
],
"properties": {
"deploymentGroupId": {
"type": "string",
"nullable": true
},
"deploymentId": {
"type": "string",
"nullable": true
},
"projectId": {
"type": "string",
"nullable": true
},
"type": {
"type": "string"
}
}
},
"ServiceAccountHeartbeatData": {
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/AwsIamRoleServiceAccountHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"awsIamRole"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/GcpServiceAccountHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"gcpServiceAccount"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/AzureManagedIdentityServiceAccountHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"azureManagedIdentity"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/LocalServiceAccountHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"local"
]
}
}
}
]
}
]
},
"ServiceAccountHeartbeatStatus": {
"type": "object",
"required": [
"health",
"lifecycle",
"stale",
"partial",
"collectionIssues"
],
"properties": {
"collectionIssues": {
"type": "array",
"items": {
"$ref": "#/components/schemas/HeartbeatCollectionIssue"
}
},
"health": {
"$ref": "#/components/schemas/ObservedHealth"
},
"lifecycle": {
"$ref": "#/components/schemas/ProviderLifecycleState"
},
"message": {
"type": "string",
"nullable": true
},
"partial": {
"type": "boolean"
},
"stale": {
"type": "boolean"
}
}
},
"ServiceActivationHeartbeatData": {
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/GcpServiceUsageActivationHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"gcpServiceUsage"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/AzureResourceProviderActivationHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"azureResourceProvider"
]
}
}
}
]
}
]
},
"ServiceActivationHeartbeatStatus": {
"type": "object",
"required": [
"health",
"lifecycle",
"stale",
"partial",
"collectionIssues"
],
"properties": {
"collectionIssues": {
"type": "array",
"items": {
"$ref": "#/components/schemas/HeartbeatCollectionIssue"
}
},
"health": {
"$ref": "#/components/schemas/ObservedHealth"
},
"lifecycle": {
"$ref": "#/components/schemas/ProviderLifecycleState"
},
"message": {
"type": "string",
"nullable": true
},
"partial": {
"type": "boolean"
},
"stale": {
"type": "boolean"
}
}
},
"StackByPlatform": {
"type": "object",
"description": "The release API accepts stacks keyed by platform.\nOnly one platform stack needs to be present.",
"properties": {
"aws": {},
"azure": {},
"gcp": {},
"kubernetes": {},
"local": {},
"test": {}
}
},
"StackImportRequest": {
"type": "object",
"description": "Request body for manager-side stack import.",
"required": [
"setupImportFormatVersion",
"deploymentGroupToken",
"deploymentName",
"resourcePrefix",
"platform",
"region",
"setupTarget",
"setupFingerprint",
"setupFingerprintVersion",
"stackSettings",
"resources"
],
"properties": {
"basePlatform": {
"$ref": "#/components/schemas/Platform",
"description": "Optional base cloud platform for Kubernetes setup targets such as\nEKS/GKE/AKS. The runtime platform remains Kubernetes.",
"nullable": true
},
"deploymentGroupToken": {
"type": "string",
"description": "Deployment-group token authorizing the import."
},
"deploymentName": {
"type": "string",
"description": "User-chosen deployment name. Must be unique within the deployment\ngroup; the manager returns 409 on collision rather than silently\nresolving to an existing deployment. Each setup adapter picks\nthe natural source: CloudFormation defaults to the CFN stack name,\nHelm to `{namespace}/{release}`, Terraform requires an explicit\n`name` attribute on the `alien_deployment` resource."
},
"inputValues": {
"type": "object",
"description": "Deployer-provided stack input values collected by generated setup\nsurfaces. Platform-backed managers resolve these into runtime\nenvironment variables before deployment creation; standalone managers\naccept the field for setup package compatibility.",
"additionalProperties": {}
},
"managementConfig": {
"$ref": "#/components/schemas/ManagementConfig",
"description": "Platform-derived management configuration, when this setup creates a\ncross-account/cross-tenant management identity.",
"nullable": true
},
"platform": {
"$ref": "#/components/schemas/Platform",
"description": "Platform being imported."
},
"region": {
"type": "string",
"description": "Region or location reported by the setup artifact."
},
"releaseId": {
"type": "string",
"description": "Optional release id that produced the setup package. When\nomitted, the manager imports against the latest release.",
"nullable": true
},
"resourcePrefix": {
"type": "string",
"description": "Stable physical-name prefix used by the setup package for generated\nresources. Runtime controllers use it when addressing imported\nresources."
},
"resources": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ImportedResource"
},
"description": "Imported resources with typed per-resource payloads."
},
"setupFingerprint": {
"type": "string",
"description": "Setup compatibility fingerprint embedded in the package."
},
"setupFingerprintVersion": {
"type": "integer",
"format": "int32",
"description": "Setup fingerprint algorithm version embedded in the package.",
"minimum": 0
},
"setupImportFormatVersion": {
"type": "integer",
"format": "int32",
"description": "Wire-format version for the setup import payload.",
"minimum": 0
},
"setupMetadata": {
"description": "Setup source metadata needed by the control plane to guide privileged\nteardown. The manager treats this as opaque JSON."
},
"setupTarget": {
"type": "string",
"description": "Setup target this package was generated for."
},
"sourceKind": {
"$ref": "#/components/schemas/ImportSourceKind",
"description": "Optional source label for observability. Does not affect import\nbehavior — the manager dispatches the same `ImporterRegistry`\nregardless of which setup package emitted the payload.",
"nullable": true
},
"stackSettings": {
"$ref": "#/components/schemas/StackSettings",
"description": "Resolved stack settings supplied by the setup artifact."
}
}
},
"StackImportResponse": {
"type": "object",
"description": "Response body returned after a stack import.",
"required": [
"deploymentId",
"stackSettings",
"stackState"
],
"properties": {
"deploymentId": {
"type": "string",
"description": "Deployment created."
},
"deploymentToken": {
"type": "string",
"description": "Deployment bearer token for the imported deployment, when available.",
"nullable": true
},
"stackSettings": {
"$ref": "#/components/schemas/StackSettings",
"description": "Stack settings persisted for the deployment."
},
"stackState": {
"$ref": "#/components/schemas/StackState",
"description": "Fully populated imported stack state."
}
}
},
"StackResourceState": {
"type": "object",
"description": "Represents the state of a single resource within the stack for a specific platform.",
"required": [
"type",
"status",
"config"
],
"properties": {
"_internal": {
"description": "The platform-specific resource controller that manages this resource's lifecycle.\nThis is None when the resource status is Pending.\nStored as JSON to make the struct serializable and movable to alien-core."
},
"config": {
"$ref": "#/components/schemas/BaseResource",
"description": "The current resource configuration."
},
"controllerPlatform": {
"$ref": "#/components/schemas/Platform",
"description": "Platform whose controller owns this resource state. Defaults to the\ncontaining stack platform when absent.",
"nullable": true
},
"dependencies": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ResourceRef"
},
"description": "Complete list of dependencies for this resource, including infrastructure dependencies.\nThis preserves the full dependency information from the stack definition."
},
"error": {
"$ref": "#/components/schemas/AlienError",
"description": "Stores the last error encountered during a failed step transition.",
"nullable": true
},
"lastFailedState": {
"description": "Stores the controller state that failed, used for manual retry operations.\nThis allows resuming from the exact point where the failure occurred.\nStored as JSON to make the struct serializable and movable to alien-core."
},
"lifecycle": {
"$ref": "#/components/schemas/ResourceLifecycle",
"description": "The lifecycle of the resource (Frozen or Live).\nDefaults to Live if not specified.",
"nullable": true
},
"outputs": {
"$ref": "#/components/schemas/BaseResourceOutputs",
"description": "Outputs generated by the resource (e.g., ARN, URL, Bucket Name).",
"nullable": true
},
"previousConfig": {
"$ref": "#/components/schemas/BaseResource",
"description": "The previous resource configuration during updates.\nThis is set when an update is initiated and cleared when the update completes or fails.",
"nullable": true
},
"remoteBindingParams": {
"description": "Binding parameters for remote access.\nOnly populated when the resource has `remote_access: true` in its ResourceEntry.\nThis is the JSON serialization of the binding configuration (e.g., StorageBinding, VaultBinding).\nPopulated by controllers during provisioning using get_binding_params()."
},
"retryAttempt": {
"type": "integer",
"format": "int32",
"description": "Tracks consecutive retry attempts for the current state transition.",
"minimum": 0
},
"status": {
"$ref": "#/components/schemas/ResourceStatus",
"description": "High-level status derived from the internal state."
},
"type": {
"type": "string",
"description": "The high-level type of the resource (e.g., Worker::RESOURCE_TYPE, Storage::RESOURCE_TYPE)."
}
}
},
"StackSettings": {
"type": "object",
"description": "User-customizable deployment settings specified at deploy time.\n\nThese settings are provided by the customer via CloudFormation parameters,\nTerraform attributes, CLI flags, or Helm values. They customize how the\ndeployment runs and what capabilities are enabled.\n\n**Key distinction**: StackSettings is user-customizable, while ManagementConfig\nis platform-derived (from the Manager's ServiceAccount).",
"properties": {
"compute": {
"$ref": "#/components/schemas/ComputeSettings",
"description": "Deployment-time compute selections for Alien-managed compute pools.\n\nThis is where provider machine names such as EC2 instance types, GCE\nmachine types, or Azure VM SKUs belong. Application source should\ndeclare portable requirements instead.",
"nullable": true
},
"deploymentModel": {
"$ref": "#/components/schemas/DeploymentModel",
"description": "Deployment model: push (Manager) or pull (Agent).\nDefault: Push.\n- Push: Manager drives updates. For cloud platforms, requires cross-account\n credentials established during initial setup. For push-mode local\n deployments (currently `alien dev`), the manager has direct access —\n no bootstrap needed.\n- Pull: Agent in the target environment drives updates via polling.\n Required for Kubernetes and remote local deployments."
},
"domains": {
"$ref": "#/components/schemas/DomainSettings",
"description": "Domain configuration (future).",
"nullable": true
},
"externalBindings": {
"type": "object",
"description": "External bindings for pre-existing infrastructure.\nAllows using existing resources (MinIO, Redis, shared Container Apps\nEnvironment, etc.) instead of having Alien provision them.\nRequired for Kubernetes platform, optional for cloud platforms.",
"nullable": true
},
"heartbeats": {
"$ref": "#/components/schemas/HeartbeatsMode",
"description": "How heartbeat health checks are handled.\n- off: No heartbeat permissions\n- on: Heartbeat enabled (default)"
},
"kubernetes": {
"$ref": "#/components/schemas/KubernetesSettings",
"description": "Kubernetes runtime substrate configuration.",
"nullable": true
},
"network": {
"$ref": "#/components/schemas/NetworkSettings",
"description": "Network configuration for the stack (VPC/VNet settings).\nIf `None`, an isolated VPC with NAT is auto-created when the stack has resources\nthat require networking (e.g., containers). Set explicitly to customize:\n`UseDefault` for the provider's default network (fast, dev/test only),\n`Create` for an isolated VPC with managed NAT (production), or `ByoVpc*`\nto reference an existing customer-managed VPC.",
"nullable": true
},
"telemetry": {
"$ref": "#/components/schemas/TelemetryMode",
"description": "How telemetry (logs, metrics, traces) is handled.\n- off: No telemetry permissions\n- auto: Telemetry flows automatically (default)\n- approval-required: Telemetry waits for explicit approval"
},
"updates": {
"$ref": "#/components/schemas/UpdatesMode",
"description": "How updates are delivered.\n- auto: Updates deploy automatically (default)\n- approval-required: Updates wait for explicit approval"
}
}
},
"StackState": {
"type": "object",
"description": "Represents the collective state of all resources in a stack, including platform and pending actions.",
"required": [
"platform",
"resources",
"resourcePrefix"
],
"properties": {
"platform": {
"$ref": "#/components/schemas/Platform",
"description": "The target platform for this stack state."
},
"resourcePrefix": {
"type": "string",
"description": "A prefix used for resource naming to ensure uniqueness across deployments."
},
"resources": {
"type": "object",
"description": "The state of individual resources, keyed by resource ID.",
"additionalProperties": {
"$ref": "#/components/schemas/StackResourceState"
}
}
}
},
"StorageHeartbeatData": {
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/AwsS3StorageHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"awsS3"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/GcpCloudStorageHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"gcpCloudStorage"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/AzureBlobStorageHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"azureBlob"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/LocalStorageHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"local"
]
}
}
}
]
}
]
},
"StorageHeartbeatStatus": {
"type": "object",
"required": [
"health",
"lifecycle",
"stale",
"partial",
"collectionIssues"
],
"properties": {
"collectionIssues": {
"type": "array",
"items": {
"$ref": "#/components/schemas/HeartbeatCollectionIssue"
}
},
"health": {
"$ref": "#/components/schemas/ObservedHealth"
},
"lifecycle": {
"$ref": "#/components/schemas/ProviderLifecycleState"
},
"message": {
"type": "string",
"nullable": true
},
"partial": {
"type": "boolean"
},
"stale": {
"type": "boolean"
}
}
},
"StorageUpload": {
"type": "object",
"description": "Storage upload information",
"required": [
"putRequest",
"expiresAt"
],
"properties": {
"expiresAt": {
"type": "string",
"format": "date-time",
"description": "Expiration time for upload URL"
},
"putRequest": {
"$ref": "#/components/schemas/PresignedRequest",
"description": "Pre-signed request for uploading command params"
}
}
},
"StorePayloadRequest": {
"type": "object",
"description": "Request to store payload data directly in KV by command_id.\n\nThis bypasses the normal command lifecycle (create → dispatch → respond)\nand writes params/response directly into KV. Used by the demo service\nto populate payload data for commands created outside the command flow.",
"properties": {
"params": {
"$ref": "#/components/schemas/BodySpec",
"nullable": true
},
"response": {
"$ref": "#/components/schemas/CommandResponse",
"nullable": true
}
}
},
"SubmitResponseRequest": {
"allOf": [
{
"$ref": "#/components/schemas/CommandResponse",
"description": "The command response"
}
],
"description": "Request to submit a command response (from deployment)"
},
"TelemetryMode": {
"type": "string",
"description": "How telemetry (logs, metrics, traces) is handled.",
"enum": [
"off",
"auto",
"approval-required"
]
},
"UpdatesMode": {
"type": "string",
"description": "How updates are delivered to the deployment.",
"enum": [
"auto",
"approval-required"
]
},
"UploadCompleteRequest": {
"type": "object",
"description": "Request to mark upload as complete",
"required": [
"size"
],
"properties": {
"size": {
"type": "integer",
"format": "int64",
"description": "Size of uploaded data",
"minimum": 0
}
}
},
"UploadCompleteResponse": {
"type": "object",
"description": "Response to upload completion",
"required": [
"commandId",
"state"
],
"properties": {
"commandId": {
"type": "string",
"description": "Command identifier"
},
"state": {
"$ref": "#/components/schemas/CommandState",
"description": "Updated command state"
}
}
},
"Value": {},
"VaultHeartbeatData": {
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/AwsParameterStoreVaultHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"awsParameterStore"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/GcpSecretManagerVaultHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"gcpSecretManager"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/AzureKeyVaultHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"azureKeyVault"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/KubernetesSecretVaultHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"kubernetesSecret"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/LocalVaultHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"local"
]
}
}
}
]
}
]
},
"VaultHeartbeatStatus": {
"type": "object",
"required": [
"health",
"lifecycle",
"stale",
"partial",
"collectionIssues"
],
"properties": {
"collectionIssues": {
"type": "array",
"items": {
"$ref": "#/components/schemas/HeartbeatCollectionIssue"
}
},
"health": {
"$ref": "#/components/schemas/ObservedHealth"
},
"lifecycle": {
"$ref": "#/components/schemas/ProviderLifecycleState"
},
"message": {
"type": "string",
"nullable": true
},
"partial": {
"type": "boolean"
},
"stale": {
"type": "boolean"
}
}
},
"WhoamiResponse": {
"type": "object",
"required": [
"kind",
"id",
"workspaceId",
"workspaceName",
"role",
"scope"
],
"properties": {
"id": {
"type": "string"
},
"kind": {
"type": "string"
},
"role": {
"type": "string"
},
"scope": {
"$ref": "#/components/schemas/ScopeInfo"
},
"workspaceId": {
"type": "string"
},
"workspaceName": {
"type": "string",
"description": "Required by the platform-SDK `ServiceAccountSubject` parser when\nthe CLI looks up a deployment-group token by workspace name."
}
}
},
"WorkerHeartbeatData": {
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/AwsLambdaWorkerHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"awsLambda"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/GcpCloudRunWorkerHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"gcpCloudRun"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/AzureContainerAppsWorkerHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"azureContainerApps"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/KubernetesWorkerHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"kubernetes"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/LocalWorkerHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"local"
]
}
}
}
]
}
]
},
"WorkloadHeartbeatStatus": {
"type": "object",
"required": [
"health",
"lifecycle",
"stale",
"partial",
"collectionIssues"
],
"properties": {
"collectionIssues": {
"type": "array",
"items": {
"$ref": "#/components/schemas/HeartbeatCollectionIssue"
}
},
"health": {
"$ref": "#/components/schemas/ObservedHealth"
},
"lifecycle": {
"$ref": "#/components/schemas/ProviderLifecycleState"
},
"message": {
"type": "string",
"nullable": true
},
"partial": {
"type": "boolean"
},
"stale": {
"type": "boolean"
}
}
},
"WorkloadReplicaStatus": {
"type": "object",
"properties": {
"available": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"current": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"desired": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"misscheduled": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"ready": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"updated": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
}
}
}
}
},
"tags": [
{
"name": "health",
"description": "Health check"
},
{
"name": "identity",
"description": "Authentication identity"
},
{
"name": "deployments",
"description": "Deployment lifecycle management"
},
{
"name": "releases",
"description": "Release management"
},
{
"name": "deployment-groups",
"description": "Deployment group management"
},
{
"name": "stack-import",
"description": "Setup artifact stack import (CFN, TF, Helm)"
},
{
"name": "sync",
"description": "Agent sync and state reconciliation"
},
{
"name": "credentials",
"description": "Credential resolution for deployments"
},
{
"name": "telemetry",
"description": "OTLP telemetry ingestion"
},
{
"name": "commands",
"description": "Command management"
},
{
"name": "leases",
"description": "Lease management for polling deployments"
}
]
}