{
"openapi": "3.0.3",
"info": {
"title": "Alien Manager API",
"description": "Control plane for Alien applications. Manages deployments, releases, commands, and telemetry.",
"license": {
"name": "FSL-1.1-Apache-2.0"
},
"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/bindings/resolve": {
"post": {
"tags": [
"bindings"
],
"operationId": "resolve_binding",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResolveBindingRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Remote binding resolved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResolveBindingResponse"
}
}
}
},
"400": {
"description": "The deployment, release, or binding is not eligible for remote access",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AlienError"
}
}
}
},
"401": {
"description": "Authentication is required",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AlienError"
}
}
}
},
"403": {
"description": "The caller cannot resolve bindings for this deployment",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AlienError"
}
}
}
},
"404": {
"description": "The deployment, release, or binding was not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AlienError"
}
}
}
}
},
"security": [
{
"bearer": []
}
]
}
},
"/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/credentials/mint": {
"post": {
"tags": [
"credentials"
],
"operationId": "mint_credentials",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MintCredentialsRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Credentials minted successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MintCredentialsResponse"
}
}
}
}
},
"security": [
{
"bearer": []
}
]
}
},
"/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/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, or the current release cannot be read to resolve a gate answer"
}
}
}
},
"/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/sync/renew": {
"post": {
"tags": [
"sync"
],
"summary": "Renew an acquired deployment lease without writing deployment state.",
"operationId": "renew",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RenewRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Deployment lease renewed"
}
},
"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",
"deploymentModel"
],
"properties": {
"acquireMode": {
"type": "string",
"nullable": true
},
"deploymentIds": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true
},
"deploymentModel": {
"$ref": "#/components/schemas/DeploymentModel"
},
"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": {
"capabilities": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OperatorCapabilityReport"
}
},
"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"
},
"observedInventoryBatches": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObservedInventoryBatch"
}
},
"operatorVersion": {
"type": "string",
"nullable": true
},
"resourceHeartbeats": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ResourceHeartbeat"
},
"description": "Managed resource status samples emitted by pull-mode deployment steps."
}
}
},
"AgentSyncResponse": {
"type": "object",
"properties": {
"commandsUrl": {
"type": "string",
"description": "Public URL for the commands API. Operators and app-owned receivers use\nit to lease 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": {}
}
},
"AiHeartbeatData": {
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/AwsBedrockAiHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"awsBedrock"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/GcpVertexAiHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"gcpVertex"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/AzureFoundryAiHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"azureFoundry"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/ExternalAiHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"external"
]
}
}
}
]
}
]
},
"AiHeartbeatStatus": {
"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"
}
}
},
"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"
}
}
},
"AuroraPostgresHeartbeatData": {
"type": "object",
"required": [
"status",
"clusterIdentifier",
"neverPauses"
],
"properties": {
"clusterIdentifier": {
"type": "string"
},
"endpoint": {
"type": "string",
"nullable": true
},
"engineVersion": {
"type": "string",
"nullable": true
},
"neverPauses": {
"type": "boolean",
"description": "True when a `minCapacity: 0` instance has not reached 0 ACU over the observation\nwindow — it is silently paying always-on prices (auto-pause verification)."
},
"serverlessCapacity": {
"type": "number",
"format": "double",
"description": "Latest sampled `ServerlessDatabaseCapacity` (ACU).",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/PostgresHeartbeatStatus"
}
}
},
"AwsBedrockAiHeartbeatData": {
"type": "object",
"required": [
"status",
"region"
],
"properties": {
"region": {
"type": "string"
},
"status": {
"$ref": "#/components/schemas/AiHeartbeatStatus"
}
}
},
"AwsClientConfig": {
"type": "object",
"description": "AWS client configuration",
"required": [
"accountId",
"region",
"credentials"
],
"properties": {
"accountId": {
"type": "string",
"description": "The AWS Account ID."
},
"credentials": {
"$ref": "#/components/schemas/AwsCredentials",
"description": "AWS authentication credentials."
},
"region": {
"type": "string",
"description": "The AWS region."
},
"serviceOverrides": {
"$ref": "#/components/schemas/AwsServiceOverrides",
"description": "Service endpoint overrides for testing",
"nullable": true
}
},
"additionalProperties": false
},
"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"
}
}
},
"AwsCredentials": {
"oneOf": [
{
"type": "object",
"description": "Static direct access keys.",
"required": [
"access_key_id",
"secret_access_key",
"type"
],
"properties": {
"access_key_id": {
"type": "string",
"description": "AWS Access Key ID"
},
"secret_access_key": {
"type": "string",
"description": "AWS Secret Access Key"
},
"session_token": {
"type": "string",
"description": "Optional AWS Session Token",
"nullable": true
},
"type": {
"type": "string",
"enum": [
"accessKeys"
]
}
}
},
{
"type": "object",
"description": "Temporary AWS session credentials with an expiration time.",
"required": [
"access_key_id",
"secret_access_key",
"session_token",
"expires_at",
"type"
],
"properties": {
"access_key_id": {
"type": "string",
"description": "AWS Access Key ID"
},
"expires_at": {
"type": "string",
"description": "Credential expiration as an RFC3339 timestamp"
},
"secret_access_key": {
"type": "string",
"description": "AWS Secret Access Key"
},
"session_token": {
"type": "string",
"description": "AWS Session Token"
},
"type": {
"type": "string",
"enum": [
"sessionCredentials"
]
}
}
},
{
"type": "object",
"description": "AWS Instance Metadata Service credentials.",
"required": [
"type"
],
"properties": {
"endpoint": {
"type": "string",
"description": "Optional IMDS endpoint override",
"nullable": true
},
"type": {
"type": "string",
"enum": [
"imds"
]
}
}
},
{
"type": "object",
"description": "AWS profile credentials loaded via the AWS CLI.",
"required": [
"name",
"type"
],
"properties": {
"name": {
"type": "string",
"description": "AWS profile name"
},
"type": {
"type": "string",
"enum": [
"profile"
]
}
}
},
{
"type": "object",
"description": "Web Identity Token for OIDC authentication",
"required": [
"config",
"type"
],
"properties": {
"config": {
"$ref": "#/components/schemas/AwsWebIdentityConfig",
"description": "Web identity configuration"
},
"type": {
"type": "string",
"enum": [
"webIdentity"
]
}
}
}
],
"description": "Supported AWS authentication methods"
},
"AwsCustomCertificateConfig": {
"type": "object",
"required": [
"certificateArn"
],
"properties": {
"certificateArn": {
"type": "string"
}
}
},
"AwsDaemonHeartbeatData": {
"type": "object",
"required": [
"status",
"horizonClusterId",
"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"
},
"observedImage": {
"type": "string",
"nullable": true
},
"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
}
}
},
"AwsServiceOverrides": {
"type": "object",
"description": "Service endpoint overrides for testing AWS services",
"required": [
"endpoints"
],
"properties": {
"endpoints": {
"type": "object",
"description": "Override endpoints for specific AWS services\nKey is the service name (e.g., \"lambda\", \"s3\"), value is the base URL",
"additionalProperties": {
"type": "string"
}
}
},
"additionalProperties": false
},
"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
}
}
},
"AwsWebIdentityConfig": {
"type": "object",
"description": "Configuration for AWS Web Identity Token authentication",
"required": [
"roleArn",
"webIdentityTokenFile"
],
"properties": {
"durationSeconds": {
"type": "integer",
"format": "int32",
"description": "Optional duration for the assumed role credentials (in seconds)",
"nullable": true
},
"roleArn": {
"type": "string",
"description": "The ARN of the role to assume"
},
"sessionName": {
"type": "string",
"description": "Optional session name for the assumed role session",
"nullable": true
},
"webIdentityTokenFile": {
"type": "string",
"description": "The path to the web identity token file"
}
},
"additionalProperties": false
},
"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
}
}
},
"AzureClientConfig": {
"type": "object",
"description": "Azure client configuration",
"required": [
"subscriptionId",
"tenantId",
"credentials"
],
"properties": {
"credentials": {
"$ref": "#/components/schemas/AzureCredentials",
"description": "Azure authentication credentials."
},
"region": {
"type": "string",
"description": "Azure region for resources.",
"nullable": true
},
"serviceOverrides": {
"$ref": "#/components/schemas/AzureServiceOverrides",
"description": "Service endpoint overrides for testing",
"nullable": true
},
"subscriptionId": {
"type": "string",
"description": "The Azure Subscription ID where resources will be deployed."
},
"tenantId": {
"type": "string",
"description": "The customer's Azure Tenant ID."
}
},
"additionalProperties": false
},
"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"
}
}
},
"AzureCredentials": {
"oneOf": [
{
"type": "object",
"description": "Service principal with client secret",
"required": [
"client_id",
"client_secret",
"type"
],
"properties": {
"client_id": {
"type": "string",
"description": "The client ID (application ID)"
},
"client_secret": {
"type": "string",
"description": "The client secret"
},
"type": {
"type": "string",
"enum": [
"servicePrincipal"
]
}
}
},
{
"type": "object",
"description": "Direct access token",
"required": [
"token",
"type"
],
"properties": {
"token": {
"type": "string",
"description": "The bearer token to use for authentication"
},
"type": {
"type": "string",
"enum": [
"accessToken"
]
}
}
},
{
"type": "object",
"description": "Short-lived bearer tokens keyed by their exact Azure OAuth scope.\n\nThis is the only Azure credential form returned by the credential mint\nendpoint. It contains no refreshable source credential and must not be\nused for a scope that is absent from the map.",
"required": [
"tokens",
"type"
],
"properties": {
"tokens": {
"type": "object",
"description": "Exact scope-to-token map. Minted configs include only the Azure\nmanagement, storage, Key Vault, and Service Bus scopes used by\nAlien bindings.",
"additionalProperties": {
"type": "string"
}
},
"type": {
"type": "string",
"enum": [
"scopedAccessTokens"
]
}
}
},
{
"type": "object",
"description": "Azure VM IMDS managed identity.",
"required": [
"client_id",
"type"
],
"properties": {
"client_id": {
"type": "string",
"description": "The client ID of the user-assigned managed identity"
},
"identity_endpoint": {
"type": "string",
"description": "Optional IMDS endpoint override",
"nullable": true
},
"type": {
"type": "string",
"enum": [
"vmManagedIdentity"
]
}
}
},
{
"type": "object",
"description": "Azure AD Workload Identity (federated identity)",
"required": [
"client_id",
"tenant_id",
"federated_token_file",
"authority_host",
"type"
],
"properties": {
"authority_host": {
"type": "string",
"description": "The authority host URL"
},
"client_id": {
"type": "string",
"description": "The client ID of the managed identity or application"
},
"federated_token_file": {
"type": "string",
"description": "Path to the federated token file"
},
"tenant_id": {
"type": "string",
"description": "The tenant ID for authentication"
},
"type": {
"type": "string",
"enum": [
"workloadIdentity"
]
}
}
},
{
"type": "object",
"description": "Azure Managed Identity (Container Apps / App Service)\nUses IDENTITY_ENDPOINT + IDENTITY_HEADER injected by the platform",
"required": [
"client_id",
"identity_endpoint",
"identity_header",
"type"
],
"properties": {
"client_id": {
"type": "string",
"description": "The client ID of the user-assigned managed identity"
},
"identity_endpoint": {
"type": "string",
"description": "The identity endpoint URL (from IDENTITY_ENDPOINT env var)"
},
"identity_header": {
"type": "string",
"description": "The identity header secret (from IDENTITY_HEADER env var)"
},
"type": {
"type": "string",
"enum": [
"managedIdentity"
]
}
}
}
],
"description": "Represents Azure authentication credentials"
},
"AzureCustomCertificateConfig": {
"type": "object",
"required": [
"keyVaultCertificateId"
],
"properties": {
"keyVaultCertificateId": {
"type": "string"
},
"keyVaultResourceId": {
"type": "string",
"nullable": true
}
}
},
"AzureDaemonHeartbeatData": {
"type": "object",
"required": [
"status",
"horizonClusterId",
"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"
},
"observedImage": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/WorkloadHeartbeatStatus"
},
"unavailableInstances": {
"type": "integer",
"format": "int32",
"minimum": 0
}
}
},
"AzureFlexibleServerPostgresHeartbeatData": {
"type": "object",
"required": [
"status",
"serverName"
],
"properties": {
"serverName": {
"type": "string"
},
"state": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/PostgresHeartbeatStatus"
},
"version": {
"type": "string",
"nullable": true
}
}
},
"AzureFoundryAiHeartbeatData": {
"type": "object",
"required": [
"status",
"accountName"
],
"properties": {
"accountName": {
"type": "string"
},
"endpoint": {
"type": "string",
"nullable": true
},
"location": {
"type": "string",
"nullable": true
},
"resourceGroup": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/AiHeartbeatStatus"
}
}
},
"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
}
}
},
"AzureServiceOverrides": {
"type": "object",
"description": "Service endpoint overrides for testing Azure services",
"required": [
"endpoints"
],
"properties": {
"endpoints": {
"type": "object",
"description": "Override endpoints for specific Azure services\nKey is the service name (e.g., \"management\", \"storage\", \"containerApps\"), value is the base URL",
"additionalProperties": {
"type": "string"
}
}
},
"additionalProperties": false
},
"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
},
"privateEndpointSubnetName": {
"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"
}
}
},
"ClientConfig": {
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/AwsClientConfig"
},
{
"type": "object",
"required": [
"platform"
],
"properties": {
"platform": {
"type": "string",
"enum": [
"aws"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/GcpClientConfig"
},
{
"type": "object",
"required": [
"platform"
],
"properties": {
"platform": {
"type": "string",
"enum": [
"gcp"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/AzureClientConfig"
},
{
"type": "object",
"required": [
"platform"
],
"properties": {
"platform": {
"type": "string",
"enum": [
"azure"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/KubernetesClientConfig"
},
{
"type": "object",
"required": [
"platform"
],
"properties": {
"platform": {
"type": "string",
"enum": [
"kubernetes"
]
}
}
}
]
},
{
"type": "object",
"required": [
"kubernetes",
"cloud",
"platform"
],
"properties": {
"cloud": {
"type": "object"
},
"kubernetes": {
"$ref": "#/components/schemas/KubernetesClientConfig"
},
"platform": {
"type": "string",
"enum": [
"kubernetesCloud"
]
}
}
},
{
"type": "object",
"required": [
"state_directory",
"platform"
],
"properties": {
"platform": {
"type": "string",
"enum": [
"local"
]
},
"state_directory": {
"type": "string",
"description": "State directory for local resources and deployment state"
}
}
}
],
"description": "Configuration for different cloud platform clients"
},
"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",
"target"
],
"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"
},
"target": {
"$ref": "#/components/schemas/CommandTarget",
"description": "The specific resource this command is addressed to"
}
}
},
"CommandTarget": {
"type": "object",
"description": "Identifies the specific resource a command is addressed to.",
"required": [
"resourceId",
"resourceType"
],
"properties": {
"resourceId": {
"type": "string",
"description": "The resource ID within the deployment's stack (e.g. a Worker/Container/Daemon id)."
},
"resourceType": {
"$ref": "#/components/schemas/CommandTargetType",
"description": "The kind of resource `resource_id` refers to."
}
}
},
"CommandTargetType": {
"type": "string",
"description": "The kind of command-capable resource a command targets.",
"enum": [
"worker",
"container",
"daemon"
]
},
"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
},
"drainProgress": {
"$ref": "#/components/schemas/ComputeDrainProgress",
"nullable": true
},
"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/MachinesComputeClusterHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"machines"
]
}
}
}
]
},
{
"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"
}
}
},
"ComputeDrainBlocker": {
"type": "object",
"required": [
"workloadName",
"replicaId",
"schedulingMode",
"state",
"reason"
],
"properties": {
"reason": {
"type": "string"
},
"replicaId": {
"type": "string"
},
"schedulingMode": {
"type": "string"
},
"state": {
"type": "string"
},
"workloadName": {
"type": "string"
}
}
},
"ComputeDrainProgress": {
"type": "object",
"required": [
"machineId",
"status",
"replicaCount",
"force",
"stalled"
],
"properties": {
"blockers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ComputeDrainBlocker"
}
},
"drainDeadlineAt": {
"type": "string",
"nullable": true
},
"drainRequestedAt": {
"type": "string",
"nullable": true
},
"drainedAt": {
"type": "string",
"nullable": true
},
"force": {
"type": "boolean"
},
"machineId": {
"type": "string"
},
"replicaCount": {
"type": "integer",
"format": "int64"
},
"stalled": {
"type": "boolean"
},
"status": {
"$ref": "#/components/schemas/ComputeDrainProgressStatus"
}
}
},
"ComputeDrainProgressStatus": {
"type": "string",
"enum": [
"draining",
"drained",
"terminating"
]
},
"ComputePoolSelection": {
"oneOf": [
{
"type": "object",
"description": "Fixed number of machines.",
"required": [
"machines",
"mode"
],
"properties": {
"failure_domains": {
"$ref": "#/components/schemas/FailureDomainSelection",
"description": "Optional failure-domain policy. Absence preserves the existing aggregate layout.",
"nullable": true
},
"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": {
"failure_domains": {
"$ref": "#/components/schemas/FailureDomainSelection",
"description": "Optional failure-domain policy. Absence preserves the existing aggregate layout.",
"nullable": true
},
"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)"
},
"targetResourceId": {
"type": "string",
"description": "Optional explicit target resource ID within the deployment's stack.\nWhen omitted, the target is resolved server-side (single-target shorthand):\nexactly one command-capable resource must exist, or resolution fails.",
"nullable": true
}
}
},
"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",
"deploymentModel"
],
"properties": {
"deployment": {
"$ref": "#/components/schemas/DeploymentResponse"
},
"deploymentModel": {
"$ref": "#/components/schemas/DeploymentModel"
},
"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/MachinesDaemonHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"machines"
]
}
}
}
]
},
{
"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
},
"publicEndpointTarget": {
"$ref": "#/components/schemas/PublicEndpointTargetSettings",
"description": "Public endpoint DNS target selection for machines deployments.\n\nWhen omitted, machines deployments publish healthy machine public\naddresses directly. Use `LoadBalancer` when an external load balancer\nfronts the machines and Alien should publish a CNAME to that target.",
"nullable": true
}
}
},
"Envelope": {
"type": "object",
"description": "Commands envelope sent to deployments",
"required": [
"protocol",
"deploymentId",
"target",
"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"
},
"target": {
"$ref": "#/components/schemas/CommandTarget",
"description": "The specific resource this command is addressed to"
},
"traceContext": {
"$ref": "#/components/schemas/TraceContext",
"description": "Optional W3C trace context for the command invocation.",
"nullable": true
}
}
},
"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"
}
}
},
"ExposeProtocol": {
"type": "string",
"description": "Protocol for public workload endpoints.",
"enum": [
"http",
"tcp"
]
},
"ExternalAiHeartbeatData": {
"type": "object",
"required": [
"status",
"provider"
],
"properties": {
"provider": {
"type": "string",
"description": "The BYO-key provider serving this binding (e.g. \"openai\"). Used on the Local\nplatform, where the app brings its own provider key instead of an ambient cloud."
},
"status": {
"$ref": "#/components/schemas/AiHeartbeatStatus"
}
}
},
"FailureDomainSelection": {
"type": "object",
"description": "Failure-domain policy selected for a compute pool.",
"required": [
"spread"
],
"properties": {
"selectedFailureDomains": {
"type": "array",
"items": {
"type": "string"
},
"description": "Concrete provider domains selected during setup.\nEmpty delegates deterministic selection to the provider setup implementation."
},
"spread": {
"type": "integer",
"format": "int32",
"description": "Number of distinct failure domains across which new stateful replicas may be spread.",
"minimum": 0
}
}
},
"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
}
}
},
"GcpClientConfig": {
"type": "object",
"description": "GCP client configuration",
"required": [
"projectId",
"region",
"credentials"
],
"properties": {
"credentials": {
"$ref": "#/components/schemas/GcpCredentials",
"description": "GCP authentication credentials."
},
"projectId": {
"type": "string",
"description": "The GCP Project ID."
},
"projectNumber": {
"type": "string",
"description": "The GCP project number (numeric). Resolved at runtime via Resource Manager API.\nUsed in IAM condition expressions where resource.name uses project number.",
"nullable": true
},
"region": {
"type": "string",
"description": "The GCP region for resources."
},
"serviceOverrides": {
"$ref": "#/components/schemas/GcpServiceOverrides",
"description": "Service endpoint overrides for testing",
"nullable": true
}
},
"additionalProperties": false
},
"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"
}
}
}
},
"GcpCloudSqlPostgresHeartbeatData": {
"type": "object",
"required": [
"status",
"instanceName"
],
"properties": {
"databaseVersion": {
"type": "string",
"nullable": true
},
"instanceName": {
"type": "string"
},
"state": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/PostgresHeartbeatStatus"
}
}
},
"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"
}
}
},
"GcpCredentials": {
"oneOf": [
{
"type": "object",
"description": "Use an already-minted OAuth2 access token.",
"required": [
"token",
"type"
],
"properties": {
"token": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"accessToken"
]
}
}
},
{
"type": "object",
"description": "Use a refreshable service account impersonation source.",
"required": [
"source",
"config",
"type"
],
"properties": {
"config": {
"$ref": "#/components/schemas/GcpImpersonationConfig",
"description": "Service account impersonation request."
},
"source": {
"type": "object",
"description": "Source configuration used to call IAMCredentials."
},
"type": {
"type": "string",
"enum": [
"impersonatedServiceAccount"
]
}
}
},
{
"type": "object",
"description": "Use a full Service Account JSON key (as string). A short-lived JWT will\nbe created and exchanged for a bearer token automatically.",
"required": [
"json",
"type"
],
"properties": {
"json": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"serviceAccountKey"
]
}
}
},
{
"type": "object",
"description": "Use GCP metadata server for authentication (for instances running on GCP)",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"serviceMetadata"
]
}
}
},
{
"type": "object",
"description": "Use projected service account token (for Kubernetes workload identity)",
"required": [
"token_file",
"service_account_email",
"type"
],
"properties": {
"service_account_email": {
"type": "string",
"description": "Service account email"
},
"token_file": {
"type": "string",
"description": "Path to the projected service account token"
},
"type": {
"type": "string",
"enum": [
"projectedServiceAccount"
]
}
}
},
{
"type": "object",
"description": "Use an external account credential configuration.",
"required": [
"audience",
"subject_token_type",
"token_url",
"credential_source_file",
"type"
],
"properties": {
"audience": {
"type": "string",
"description": "Workload identity audience."
},
"credential_source_file": {
"type": "string",
"description": "Path to the subject token file."
},
"service_account_impersonation_url": {
"type": "string",
"description": "Optional service account impersonation URL.",
"nullable": true
},
"subject_token_type": {
"type": "string",
"description": "Subject token type for STS token exchange."
},
"token_url": {
"type": "string",
"description": "STS token exchange URL."
},
"type": {
"type": "string",
"enum": [
"externalAccount"
]
}
}
},
{
"type": "object",
"description": "Use gcloud Application Default Credentials (authorized_user).\nExchanges refresh_token for an access_token via Google's OAuth2 endpoint.",
"required": [
"client_id",
"client_secret",
"refresh_token",
"type"
],
"properties": {
"client_id": {
"type": "string",
"description": "OAuth2 client ID"
},
"client_secret": {
"type": "string",
"description": "OAuth2 client secret"
},
"refresh_token": {
"type": "string",
"description": "OAuth2 refresh token"
},
"type": {
"type": "string",
"enum": [
"authorizedUser"
]
}
}
}
],
"description": "Authentication options for talking to GCP APIs."
},
"GcpCustomCertificateConfig": {
"type": "object",
"required": [
"certificateName"
],
"properties": {
"certificateName": {
"type": "string"
}
}
},
"GcpDaemonHeartbeatData": {
"type": "object",
"required": [
"status",
"horizonClusterId",
"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"
},
"observedImage": {
"type": "string",
"nullable": true
},
"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
}
}
},
"GcpImpersonationConfig": {
"type": "object",
"description": "Configuration for GCP service account impersonation",
"required": [
"serviceAccountEmail",
"scopes"
],
"properties": {
"delegates": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional sequence of service accounts in a delegation chain",
"nullable": true
},
"lifetime": {
"type": "string",
"description": "Optional desired lifetime duration of the access token (max 3600s)",
"nullable": true
},
"scopes": {
"type": "array",
"items": {
"type": "string"
},
"description": "The OAuth 2.0 scopes that define the access token's permissions"
},
"serviceAccountEmail": {
"type": "string",
"description": "The email of the service account to impersonate"
},
"targetProjectId": {
"type": "string",
"description": "Optional target project ID override. When provided, the impersonated config\nuses this project ID instead of inheriting the caller's project.",
"nullable": true
},
"targetRegion": {
"type": "string",
"description": "Optional target region override. When provided, the impersonated config\nuses this region instead of inheriting the caller's region.",
"nullable": true
}
},
"additionalProperties": false
},
"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
}
}
},
"GcpServiceOverrides": {
"type": "object",
"description": "Service endpoint overrides for testing GCP services",
"required": [
"endpoints"
],
"properties": {
"endpoints": {
"type": "object",
"description": "Override endpoints for specific GCP services\nKey is the service name (e.g., \"cloudrun\", \"storage\"), value is the base URL",
"additionalProperties": {
"type": "string"
}
}
},
"additionalProperties": false
},
"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
}
}
},
"GcpVertexAiHeartbeatData": {
"type": "object",
"required": [
"status",
"project",
"location"
],
"properties": {
"location": {
"type": "string"
},
"project": {
"type": "string"
},
"status": {
"$ref": "#/components/schemas/AiHeartbeatStatus"
}
}
},
"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
},
"latestUpdateTimestamp": {
"type": "string",
"nullable": true
},
"memory": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
},
"observedImage": {
"type": "string",
"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."
}
}
},
"InitialDesiredRelease": {
"type": "string",
"enum": [
"active",
"none"
]
},
"InitializeRequest": {
"type": "object",
"required": [
"initialDesiredRelease"
],
"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
},
"initialDesiredRelease": {
"$ref": "#/components/schemas/InitialDesiredRelease",
"description": "Desired-release selection for a newly registered deployment. This is\ncreation intent, not a permanent deployment mode: a later update can\nassign a desired release to a deployment initialized with `none`."
},
"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
},
"permission": {
"type": "string",
"nullable": true
},
"platform": {
"$ref": "#/components/schemas/Platform",
"nullable": true
},
"scope": {
"type": "string",
"nullable": true
},
"setupMethod": {
"type": "string",
"description": "Setup method that is registering this deployment, such as `manual` for\nrendered Operator manifests or `helm` for generated Helm installs.",
"nullable": true
},
"stackSettings": {
"$ref": "#/components/schemas/StackSettings",
"nullable": true
}
}
},
"InitializeResponse": {
"type": "object",
"required": [
"deploymentId",
"deploymentModel"
],
"properties": {
"deploymentId": {
"type": "string"
},
"deploymentModel": {
"$ref": "#/components/schemas/DeploymentModel"
},
"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."
},
"KubernetesClientConfig": {
"oneOf": [
{
"type": "object",
"description": "Use in-cluster configuration (service account tokens, etc.)",
"required": [
"mode"
],
"properties": {
"additional_headers": {
"type": "object",
"description": "Additional headers to include in requests",
"additionalProperties": {
"type": "string"
},
"nullable": true
},
"mode": {
"type": "string",
"enum": [
"inCluster"
]
},
"namespace": {
"type": "string",
"description": "The namespace to operate in",
"nullable": true
}
}
},
{
"type": "object",
"description": "Use kubeconfig file for configuration",
"required": [
"mode"
],
"properties": {
"additional_headers": {
"type": "object",
"description": "Additional headers to include in requests",
"additionalProperties": {
"type": "string"
},
"nullable": true
},
"cluster": {
"type": "string",
"description": "Cluster name to use (optional, defaults to context's cluster)",
"nullable": true
},
"context": {
"type": "string",
"description": "Context name to use (optional, defaults to current-context)",
"nullable": true
},
"kubeconfig_path": {
"type": "string",
"description": "Path to kubeconfig file (optional, defaults to standard locations)",
"nullable": true
},
"mode": {
"type": "string",
"enum": [
"kubeconfig"
]
},
"namespace": {
"type": "string",
"description": "The namespace to operate in",
"nullable": true
},
"user": {
"type": "string",
"description": "User name to use (optional, defaults to context's user)",
"nullable": true
}
}
},
{
"type": "object",
"description": "Manual configuration with explicit values",
"required": [
"server_url",
"additional_headers",
"mode"
],
"properties": {
"additional_headers": {
"type": "object",
"description": "Additional headers to include in requests",
"additionalProperties": {
"type": "string"
}
},
"certificate_authority_data": {
"type": "string",
"description": "The cluster certificate authority data (base64 encoded)",
"nullable": true
},
"client_certificate_data": {
"type": "string",
"description": "Client certificate data (base64 encoded) for mutual TLS",
"nullable": true
},
"client_key_data": {
"type": "string",
"description": "Client key data (base64 encoded) for mutual TLS",
"nullable": true
},
"insecure_skip_tls_verify": {
"type": "boolean",
"description": "Skip TLS verification (insecure)",
"nullable": true
},
"mode": {
"type": "string",
"enum": [
"manual"
]
},
"namespace": {
"type": "string",
"description": "The namespace to operate in",
"nullable": true
},
"password": {
"type": "string",
"description": "Password for basic authentication",
"nullable": true
},
"server_url": {
"type": "string",
"description": "The Kubernetes cluster server URL"
},
"token": {
"type": "string",
"description": "Bearer token for authentication",
"nullable": true
},
"username": {
"type": "string",
"description": "Username for basic authentication",
"nullable": true
}
}
}
],
"description": "Configuration mode for Kubernetes access"
},
"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",
"target"
],
"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
},
"target": {
"$ref": "#/components/schemas/CommandTarget",
"description": "The specific resource requesting leases. Required: leases are scoped to a\nsingle target, so callers must identify which resource they're polling for."
}
}
},
"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."
}
}
},
"LoadBalancerEndpoint": {
"type": "object",
"description": "Load balancer endpoint information for DNS management.\nThis is optional metadata used by the DNS controller to create domain mappings.",
"required": [
"dnsName"
],
"properties": {
"dnsName": {
"type": "string",
"description": "The DNS name of the load balancer endpoint (e.g., ALB DNS, API Gateway domain)."
},
"hostedZoneId": {
"type": "string",
"description": "AWS Route53 hosted zone ID (for ALIAS records). Only set on AWS.",
"nullable": true
}
}
},
"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",
"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"
]
},
"LocalPostgresHeartbeatData": {
"type": "object",
"required": [
"status",
"name",
"version",
"processRunning"
],
"properties": {
"name": {
"type": "string"
},
"port": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"processRunning": {
"type": "boolean"
},
"status": {
"$ref": "#/components/schemas/PostgresHeartbeatStatus"
},
"version": {
"type": "string"
}
}
},
"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
}
}
},
"MachinesComputeClusterHeartbeatData": {
"type": "object",
"required": [
"status",
"nodes",
"name",
"capacityGroups",
"machines"
],
"properties": {
"backendClusterId": {
"type": "string",
"nullable": true
},
"capacityGroups": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ComputeCapacityGroupStatus"
}
},
"cpu": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
},
"machines": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MachinesComputeMachineStatus"
}
},
"memory": {
"$ref": "#/components/schemas/MetricSample",
"nullable": true
},
"name": {
"type": "string"
},
"nodes": {
"$ref": "#/components/schemas/ObservedCounts"
},
"status": {
"$ref": "#/components/schemas/ComputeClusterHeartbeatStatus"
}
}
},
"MachinesComputeMachineStatus": {
"type": "object",
"required": [
"machineId",
"status",
"capacityGroup",
"zone",
"lastHeartbeat",
"replicaCount",
"drainForce"
],
"properties": {
"capacityGroup": {
"type": "string"
},
"cpuCores": {
"type": "number",
"format": "double",
"nullable": true
},
"drainBlockers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ComputeDrainBlocker"
}
},
"drainDeadlineAt": {
"type": "string",
"nullable": true
},
"drainForce": {
"type": "boolean"
},
"drainRequestedAt": {
"type": "string",
"nullable": true
},
"drainedAt": {
"type": "string",
"nullable": true
},
"horizondVersion": {
"type": "string",
"nullable": true
},
"lastHeartbeat": {
"type": "string"
},
"machineId": {
"type": "string"
},
"memoryBytes": {
"type": "integer",
"format": "int64",
"nullable": true
},
"overlayIp": {
"type": "string",
"nullable": true
},
"publicIp": {
"type": "string",
"nullable": true
},
"replicaCount": {
"type": "integer",
"format": "int64"
},
"status": {
"type": "string"
},
"zone": {
"type": "string"
}
}
},
"MachinesDaemonHeartbeatData": {
"type": "object",
"required": [
"status",
"horizonClusterId",
"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"
},
"observedImage": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/WorkloadHeartbeatStatus"
},
"unavailableInstances": {
"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"
]
},
"MintCredentialsRequest": {
"type": "object",
"description": "Request body for `POST /v1/credentials/mint`.\n\n`deny_unknown_fields` so clients cannot smuggle in resolver internals\n(platform, stack state, etc.) — the server derives everything from the\nauthenticated deployment.",
"required": [
"deploymentId",
"resourceId",
"bindingName"
],
"properties": {
"bindingName": {
"type": "string",
"description": "Service-account binding to impersonate on the target platform."
},
"deploymentId": {
"type": "string",
"description": "Deployment to mint credentials for. The caller's bearer token must be\nthis deployment's token (or a workspace-admin token)."
},
"durationSeconds": {
"type": "integer",
"format": "int32",
"description": "Requested lifetime in seconds. Clamped to\n`[MIN_DURATION_SECONDS, MAX_DURATION_SECONDS]`; defaults to\n`DEFAULT_DURATION_SECONDS` when omitted.",
"nullable": true
},
"resourceId": {
"type": "string",
"description": "Current-release compute resource requesting the credentials. The\nresource must depend on `bindingName` as a service-account resource."
}
},
"additionalProperties": false
},
"MintCredentialsResponse": {
"type": "object",
"description": "Response body for `POST /v1/credentials/mint`.",
"required": [
"clientConfig",
"expiresAt",
"principal"
],
"properties": {
"clientConfig": {
"$ref": "#/components/schemas/ClientConfig",
"description": "Minted platform client configuration (carries the short-lived creds)."
},
"expiresAt": {
"type": "string",
"description": "Credential expiry as an RFC3339 timestamp (now + clamped duration).\n\nThis is server-computed (`now + clamped duration`), not read back from\nthe provider — for lazily-resolved configs (e.g. GCP, where the\nresolver doesn't always round-trip an authoritative expiry) it is\nnominal rather than provider truth. Treat it as a refresh hint: fetch\nnew credentials at or before this time, don't rely on it to prove the\nunderlying credential is still valid at that exact instant."
},
"principal": {
"type": "string",
"description": "Human-readable identity the credentials act as (role ARN, SA email,\nmanaged-identity client id, or `platform:account` for the local path)."
}
}
},
"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_endpoint_subnet_name": {
"type": "string",
"description": "Name of the dedicated subnet that hosts Private Endpoints (e.g. for a\nPostgres Flexible Server). A Private Endpoint must not share the private\nsubnet, which is already claimed by the Container Apps environment's\n`infrastructure_subnet_id`. Required only when the stack contains a\nPostgres resource; otherwise unused.",
"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"
]
},
"ObservedInventoryBatch": {
"type": "object",
"required": [
"sourceKind",
"inventoryScope",
"controllerPlatform",
"backend",
"observedAt",
"complete",
"resources"
],
"properties": {
"backend": {
"$ref": "#/components/schemas/HeartbeatBackend",
"description": "Backend whose observer produced this snapshot."
},
"complete": {
"type": "boolean",
"description": "Whether this batch is a complete replacement for the scope. Complete\nbatches tombstone previously observed rows in the same scope when they\nare absent from `resources`."
},
"controllerPlatform": {
"$ref": "#/components/schemas/Platform",
"description": "Platform whose observer produced this snapshot."
},
"inventoryScope": {
"type": "string",
"description": "Stable scope for the provider list operation that produced this batch."
},
"observedAt": {
"type": "string",
"format": "date-time",
"description": "Time the inventory scope was observed."
},
"resources": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObservedResourceSample"
}
},
"sourceKind": {
"type": "string",
"description": "Writer/source for this inventory pass, such as `operator` or\n`manager-observer`."
}
}
},
"ObservedResourceSample": {
"type": "object",
"required": [
"rawIdentity",
"providerKind",
"displayName",
"health",
"lifecycle",
"partial",
"providerStale"
],
"properties": {
"alienResourceId": {
"type": "string",
"nullable": true
},
"attributes": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/Value"
}
},
"collectionIssues": {
"type": "array",
"items": {
"$ref": "#/components/schemas/HeartbeatCollectionIssue"
}
},
"counts": {
"$ref": "#/components/schemas/ObservedCounts",
"nullable": true
},
"deploymentId": {
"type": "string",
"nullable": true
},
"displayName": {
"type": "string"
},
"health": {
"$ref": "#/components/schemas/ObservedHealth"
},
"labels": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"lifecycle": {
"$ref": "#/components/schemas/ProviderLifecycleState"
},
"message": {
"type": "string",
"nullable": true
},
"namespace": {
"type": "string",
"nullable": true
},
"partial": {
"type": "boolean"
},
"providerKind": {
"type": "string",
"description": "Provider-native kind, such as `apps/v1/Deployment`,\n`AWS::S3::Bucket`, `storage.googleapis.com/Bucket`, or an Azure\nresource type."
},
"providerStale": {
"type": "boolean"
},
"raw": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RawHeartbeatSnippet"
}
},
"rawIdentity": {
"type": "string",
"description": "Provider-native stable identity: Kubernetes object identity, cloud ARN,\nGCP full resource name, Azure resource id, etc."
},
"region": {
"type": "string",
"nullable": true
},
"resourceTypeHint": {
"$ref": "#/components/schemas/ResourceType",
"nullable": true
},
"scope": {
"type": "string",
"nullable": true
},
"version": {
"type": "string",
"description": "Release/version identity observed from the provider resource, when available.",
"nullable": true
}
}
},
"OperatorCapabilityReport": {
"type": "object",
"description": "Report-only Operator capability status.",
"required": [
"key",
"state"
],
"properties": {
"detail": {
"type": "string",
"description": "Optional human-readable detail from the Operator.",
"nullable": true
},
"key": {
"type": "string",
"description": "Stable capability key, such as `k8s-workloads` or `logs`."
},
"state": {
"$ref": "#/components/schemas/OperatorCapabilityState",
"description": "Whether the capability is currently usable."
}
}
},
"OperatorCapabilityState": {
"type": "string",
"description": "State of an Operator capability as observed inside the environment.",
"enum": [
"granted",
"denied",
"unavailable"
]
},
"Platform": {
"type": "string",
"description": "Represents the target cloud platform.",
"enum": [
"aws",
"gcp",
"azure",
"kubernetes",
"machines",
"local",
"test"
]
},
"PostgresHeartbeatData": {
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/AuroraPostgresHeartbeatData",
"description": "AWS Aurora Serverless v2 backend."
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"aurora"
]
}
}
}
],
"description": "AWS Aurora Serverless v2 backend."
},
{
"allOf": [
{
"$ref": "#/components/schemas/GcpCloudSqlPostgresHeartbeatData",
"description": "GCP Cloud SQL backend."
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"cloudSql"
]
}
}
}
],
"description": "GCP Cloud SQL backend."
},
{
"allOf": [
{
"$ref": "#/components/schemas/AzureFlexibleServerPostgresHeartbeatData",
"description": "Azure Flexible Server backend."
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"flexibleServer"
]
}
}
}
],
"description": "Azure Flexible Server backend."
},
{
"allOf": [
{
"$ref": "#/components/schemas/LocalPostgresHeartbeatData",
"description": "Local embedded Postgres backend."
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"local"
]
}
}
}
],
"description": "Local embedded Postgres backend."
}
]
},
"PostgresHeartbeatStatus": {
"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"
}
}
},
"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"
]
},
"PublicEndpointOutput": {
"type": "object",
"description": "Runtime-resolved public endpoint metadata.",
"required": [
"url",
"host",
"protocol",
"port"
],
"properties": {
"host": {
"type": "string",
"description": "Hostname for this endpoint."
},
"loadBalancerEndpoint": {
"$ref": "#/components/schemas/LoadBalancerEndpoint",
"description": "Load balancer endpoint information for DNS management.",
"nullable": true
},
"port": {
"type": "integer",
"format": "int32",
"description": "Public connection port.",
"maximum": 65535,
"minimum": 1
},
"protocol": {
"$ref": "#/components/schemas/ExposeProtocol",
"description": "Public connection protocol."
},
"url": {
"type": "string",
"description": "Base URL for this endpoint."
},
"wildcardHost": {
"type": "string",
"description": "Wildcard hostname routed to this endpoint, when configured.",
"nullable": true
}
}
},
"PublicEndpointTargetSettings": {
"oneOf": [
{
"type": "object",
"description": "Publish DNS records directly to healthy machine public IP addresses.",
"required": [
"mode"
],
"properties": {
"mode": {
"type": "string",
"enum": [
"machineAddresses"
]
}
}
},
{
"type": "object",
"description": "Publish a CNAME record to an external load balancer.",
"required": [
"cnameTarget",
"mode"
],
"properties": {
"cnameTarget": {
"type": "string",
"description": "DNS name or URL for the external load balancer."
},
"mode": {
"type": "string",
"enum": [
"loadBalancer"
]
}
}
}
],
"description": "DNS target mode for public endpoints."
},
"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": {
"capabilities": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OperatorCapabilityReport"
}
},
"deploymentId": {
"type": "string"
},
"observedInventoryBatches": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObservedInventoryBatch"
}
},
"operatorVersion": {
"type": "string",
"nullable": true
},
"resourceHeartbeats": {
"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"
}
}
},
"RemoteAwsClientConfig": {
"type": "object",
"description": "Response-safe AWS client configuration. The public contract deliberately\nhas no static, profile, metadata, or web-identity credential variants.",
"required": [
"accountId",
"region",
"credentials"
],
"properties": {
"accountId": {
"type": "string",
"description": "AWS account containing the bucket."
},
"credentials": {
"$ref": "#/components/schemas/RemoteAwsCredentials",
"description": "Expiring AWS session credentials."
},
"region": {
"type": "string",
"description": "AWS region containing the bucket."
}
},
"additionalProperties": false
},
"RemoteAwsCredentials": {
"oneOf": [
{
"type": "object",
"description": "Temporary AWS session credentials with an authoritative expiry.",
"required": [
"accessKeyId",
"secretAccessKey",
"sessionToken",
"expiresAt",
"type"
],
"properties": {
"accessKeyId": {
"type": "string",
"description": "AWS access key id."
},
"expiresAt": {
"type": "string",
"description": "Provider-reported credential expiry."
},
"secretAccessKey": {
"type": "string",
"description": "AWS secret access key."
},
"sessionToken": {
"type": "string",
"description": "AWS session token."
},
"type": {
"type": "string",
"enum": [
"sessionCredentials"
]
}
}
}
],
"description": "The only AWS credential form remote binding resolution can return."
},
"RemoteAzureClientConfig": {
"type": "object",
"description": "Response-safe Azure client configuration containing one storage-audience\naccess token for the stack's Remote Bindings identity.",
"required": [
"subscriptionId",
"tenantId",
"credentials"
],
"properties": {
"credentials": {
"$ref": "#/components/schemas/RemoteAzureCredentials",
"description": "A short-lived Azure Storage access token."
},
"region": {
"type": "string",
"description": "Azure region configured for the deployment.",
"nullable": true
},
"subscriptionId": {
"type": "string",
"description": "Azure subscription containing the storage account."
},
"tenantId": {
"type": "string",
"description": "Azure tenant owning the identity."
}
},
"additionalProperties": false
},
"RemoteAzureCredentials": {
"oneOf": [
{
"type": "object",
"description": "OAuth bearer token for `https://storage.azure.com/.default`.",
"required": [
"token",
"type"
],
"properties": {
"token": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"accessToken"
]
}
}
}
],
"description": "The only Azure credential form remote binding resolution can return."
},
"RemoteBlobStorageBinding": {
"type": "object",
"description": "Concrete Azure Blob Storage topology returned to remote clients.",
"required": [
"accountName",
"containerName"
],
"properties": {
"accountName": {
"type": "string",
"description": "Storage account containing the authorized container."
},
"containerName": {
"type": "string",
"description": "Blob container authorized by the credential lease."
}
},
"additionalProperties": false
},
"RemoteGcpClientConfig": {
"type": "object",
"description": "Response-safe GCP client configuration. Refreshable source credentials and\nservice endpoint overrides cannot be represented by this type.",
"required": [
"projectId",
"region",
"credentials"
],
"properties": {
"credentials": {
"$ref": "#/components/schemas/RemoteGcpCredentials",
"description": "Already-minted OAuth access token."
},
"projectId": {
"type": "string",
"description": "GCP project containing the bucket."
},
"projectNumber": {
"type": "string",
"description": "Numeric GCP project id, when known.",
"nullable": true
},
"region": {
"type": "string",
"description": "GCP region configured for the deployment."
}
},
"additionalProperties": false
},
"RemoteGcpCredentials": {
"oneOf": [
{
"type": "object",
"description": "Short-lived OAuth access token. Its expiry is the response `expiresAt`.",
"required": [
"token",
"type"
],
"properties": {
"token": {
"type": "string",
"description": "OAuth bearer token."
},
"type": {
"type": "string",
"enum": [
"accessToken"
]
}
}
}
],
"description": "The only GCP credential form remote binding resolution can return."
},
"RemoteGcsStorageBinding": {
"type": "object",
"description": "Concrete Google Cloud Storage topology returned to remote clients.",
"required": [
"bucketName"
],
"properties": {
"bucketName": {
"type": "string",
"description": "GCS bucket name authorized by the credential lease."
}
},
"additionalProperties": false
},
"RemoteS3StorageBinding": {
"type": "object",
"description": "Concrete S3 topology returned to remote clients.",
"required": [
"bucketName"
],
"properties": {
"bucketName": {
"type": "string",
"description": "S3 bucket name authorized by the credential lease."
}
},
"additionalProperties": false
},
"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"
}
}
},
"RenewRequest": {
"type": "object",
"required": [
"deploymentId",
"session"
],
"properties": {
"deploymentId": {
"type": "string"
},
"session": {
"type": "string"
}
}
},
"ResolveBindingRequest": {
"type": "object",
"description": "Request body for `POST /v1/bindings/resolve`.",
"required": [
"deploymentId",
"resourceId"
],
"properties": {
"deploymentId": {
"type": "string",
"description": "Deployment containing the remote-enabled resource."
},
"resourceId": {
"type": "string",
"description": "Logical Storage resource id in the deployment's stack state."
}
},
"additionalProperties": false
},
"ResolveBindingResponse": {
"oneOf": [
{
"type": "object",
"description": "AWS S3 and an AWS session.",
"required": [
"binding",
"clientConfig",
"expiresAt",
"service"
],
"properties": {
"binding": {
"$ref": "#/components/schemas/RemoteS3StorageBinding"
},
"clientConfig": {
"$ref": "#/components/schemas/RemoteAwsClientConfig"
},
"expiresAt": {
"type": "string"
},
"service": {
"type": "string",
"enum": [
"s3"
]
}
}
},
{
"type": "object",
"description": "Azure Blob Storage and an exact container-scoped SAS.",
"required": [
"binding",
"clientConfig",
"expiresAt",
"service"
],
"properties": {
"binding": {
"$ref": "#/components/schemas/RemoteBlobStorageBinding"
},
"clientConfig": {
"$ref": "#/components/schemas/RemoteAzureClientConfig"
},
"expiresAt": {
"type": "string"
},
"service": {
"type": "string",
"enum": [
"blob"
]
}
}
},
{
"type": "object",
"description": "Google Cloud Storage and a bucket-downscoped access token.",
"required": [
"binding",
"clientConfig",
"expiresAt",
"service"
],
"properties": {
"binding": {
"$ref": "#/components/schemas/RemoteGcsStorageBinding"
},
"clientConfig": {
"$ref": "#/components/schemas/RemoteGcpClientConfig"
},
"expiresAt": {
"type": "string"
},
"service": {
"type": "string",
"enum": [
"gcs"
]
}
}
}
],
"description": "One approved remote Storage binding paired with credentials for the same\nprovider. The discriminant makes cross-provider combinations impossible."
},
"ResourceEntry": {
"type": "object",
"required": [
"resourceType"
],
"properties": {
"publicEndpoints": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/PublicEndpointOutput"
}
},
"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",
"description": "Alien resource id, such as the `alien.Container` or `alien.Storage`\nresource id from the stack."
},
"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/PostgresHeartbeatData"
},
"resourceType": {
"type": "string",
"enum": [
"postgres"
]
}
}
},
{
"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"
]
}
}
},
{
"type": "object",
"required": [
"data",
"resourceType"
],
"properties": {
"data": {
"$ref": "#/components/schemas/AiHeartbeatData"
},
"resourceType": {
"type": "string",
"enum": [
"ai"
]
}
}
}
]
},
"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": "Reference to a resource by its stable id and resource type.",
"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": {},
"machines": {},
"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"
]
},
"TraceContext": {
"type": "object",
"description": "W3C Trace Context propagated with a command lease.\n\nThe values are kept in their standard wire form so receivers can attach\nthem to handler telemetry without inventing separate trace/span fields.",
"required": [
"traceparent"
],
"properties": {
"traceparent": {
"type": "string",
"description": "W3C `traceparent` header value."
},
"tracestate": {
"type": "string",
"description": "Optional W3C `tracestate` header value.",
"nullable": true
}
}
},
"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
}
}
}
},
"securitySchemes": {
"bearer": {
"type": "http",
"scheme": "bearer"
}
}
},
"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": "bindings",
"description": "Remote resource binding resolution"
},
{
"name": "telemetry",
"description": "OTLP telemetry ingestion"
},
{
"name": "commands",
"description": "Command management"
},
{
"name": "leases",
"description": "Lease management for polling deployments"
}
]
}