{
"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"
}
}
}
}
},
"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"
}
}
}
}
}
}
},
"/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"
}
}
}
}
}
}
},
"/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"
}
}
}
},
"/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"
}
}
}
}
}
}
},
"/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"
}
}
}
}
}
},
"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"
}
}
}
},
"/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"
}
}
}
},
"/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"
}
}
}
}
}
}
},
"/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"
}
}
}
}
},
"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"
}
}
}
}
},
"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"
}
}
}
}
}
},
"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"
}
}
}
}
}
}
},
"/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"
}
}
}
}
}
}
},
"/v1/deployments/{id}/bundle-signature": {
"post": {
"tags": [
"deployments"
],
"operationId": "sign_deployment_bundle",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Deployment ID",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BundleSignatureRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Signature over the manifest",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BundleSignatureResponse"
}
}
}
}
},
"security": [
{
"bearer": []
}
]
}
},
"/v1/deployments/{id}/bundle-sources": {
"get": {
"tags": [
"deployments"
],
"operationId": "get_deployment_bundle_sources",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Deployment ID",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "releaseId",
"in": "query",
"description": "Release whose chart to use.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Where the chart and Operator image come from",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BundleSources"
}
}
}
}
},
"security": [
{
"bearer": []
}
]
}
},
"/v1/deployments/{id}/channel": {
"put": {
"tags": [
"deployments"
],
"operationId": "set_deployment_channel",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Deployment ID",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SetDeploymentChannelRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "The deployment follows the channel",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeploymentRoutingResponse"
}
}
}
}
},
"security": [
{
"bearer": []
}
]
}
},
"/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 accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteDeploymentResponse"
}
}
}
}
}
}
},
"/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"
}
}
}
}
}
}
},
"/v1/deployments/{id}/logs": {
"get": {
"tags": [
"deployments"
],
"operationId": "get_deployment_logs",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Deployment ID",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "limit",
"in": "query",
"description": "Most recent entries to return (default 200, max 5000).",
"required": false,
"schema": {
"type": "integer",
"minimum": 0,
"nullable": true
}
},
{
"name": "since",
"in": "query",
"description": "Only entries at or after this time (RFC 3339). Inclusive, so a caller\nfollowing logs doesn't miss entries that share its last timestamp.",
"required": false,
"schema": {
"type": "string",
"format": "date-time",
"nullable": true
}
}
],
"responses": {
"200": {
"description": "Recent logs",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RecentLogsResponse"
}
}
}
}
},
"security": [
{
"bearer": []
}
]
}
},
"/v1/deployments/{id}/pin": {
"put": {
"tags": [
"deployments"
],
"operationId": "set_deployment_pin",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Deployment ID",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SetDeploymentPinRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "The deployment's pin",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeploymentRoutingResponse"
}
}
}
}
},
"security": [
{
"bearer": []
}
]
}
},
"/v1/deployments/{id}/quota-warning-overrides": {
"patch": {
"tags": [
"deployments"
],
"summary": "Save settings only; retrying a failed deployment remains an explicit operation.",
"operationId": "set_quota_warning_overrides",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Deployment ID",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SetQuotaWarningOverridesRequest"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Overrides saved without scheduling execution"
}
},
"security": [
{
"bearer": []
}
]
}
},
"/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"
}
}
}
},
"/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"
}
}
}
},
"/v1/deployments/{id}/routing": {
"get": {
"tags": [
"deployments"
],
"operationId": "get_deployment_routing",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Deployment ID",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Channel and pin",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeploymentRoutingResponse"
}
}
}
}
},
"security": [
{
"bearer": []
}
]
}
},
"/v1/deployments/{id}/status-report": {
"post": {
"tags": [
"deployments"
],
"operationId": "import_deployment_status",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Deployment ID",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StatusReport"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Report applied",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StatusReportResponse"
}
}
}
}
},
"security": [
{
"bearer": []
}
]
}
},
"/v1/deployments/{id}/target": {
"get": {
"tags": [
"deployments"
],
"operationId": "get_deployment_target",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Deployment ID",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "releaseId",
"in": "query",
"description": "Release to target; defaults to the deployment's pin or channel.",
"required": false,
"schema": {
"type": "string",
"nullable": true
}
}
],
"responses": {
"200": {
"description": "Target the deployment converges to",
"content": {
"application/json": {
"schema": {}
}
}
}
},
"security": [
{
"bearer": []
}
]
}
},
"/v1/deployments/{id}/vault/{vault_name}/secrets/{key}": {
"get": {
"tags": [
"vault"
],
"operationId": "get_secret",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Deployment ID",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "vault_name",
"in": "path",
"description": "Vault name",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "key",
"in": "path",
"description": "Secret name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Secret value",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetSecretResponse"
}
}
}
}
},
"security": [
{
"bearer": []
}
]
},
"put": {
"tags": [
"vault"
],
"operationId": "set_secret",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Deployment ID",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "vault_name",
"in": "path",
"description": "Vault name",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "key",
"in": "path",
"description": "Secret name",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SetSecretRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Secret set",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VaultMutationResponse"
}
}
}
}
},
"security": [
{
"bearer": []
}
]
},
"delete": {
"tags": [
"vault"
],
"operationId": "delete_secret",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Deployment ID",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "vault_name",
"in": "path",
"description": "Vault name",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "key",
"in": "path",
"description": "Secret name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Secret deleted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VaultMutationResponse"
}
}
}
}
},
"security": [
{
"bearer": []
}
]
}
},
"/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/manager": {
"get": {
"tags": [
"manager"
],
"operationId": "manager_info",
"responses": {
"200": {
"description": "Manager information",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ManagerInfoResponse"
}
}
}
}
},
"security": [
{
"bearer": []
}
]
}
},
"/v1/release-channels": {
"get": {
"tags": [
"releases"
],
"operationId": "list_manager_release_channels",
"responses": {
"200": {
"description": "Release channels",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListReleaseChannelsResponse"
}
}
}
}
},
"security": [
{
"bearer": []
}
]
},
"post": {
"tags": [
"releases"
],
"operationId": "create_manager_release_channel",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateReleaseChannelRequest"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Channel created",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReleaseChannelResponse"
}
}
}
}
},
"security": [
{
"bearer": []
}
]
}
},
"/v1/release-channels/{name}": {
"delete": {
"tags": [
"releases"
],
"operationId": "delete_manager_release_channel",
"parameters": [
{
"name": "name",
"in": "path",
"description": "Channel name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Channel deleted"
}
},
"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"
}
}
}
}
},
"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"
}
}
}
}
},
"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"
}
}
}
}
},
"security": [
{
"bearer": []
}
]
}
},
"/v1/releases/{id}/promote": {
"post": {
"tags": [
"releases"
],
"operationId": "promote_manager_release",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Release ID",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PromoteReleaseRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "The channel now points at the release",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReleaseChannelResponse"
}
}
}
}
},
"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"
}
}
}
}
}
}
},
"/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/tokens": {
"get": {
"tags": [
"tokens"
],
"operationId": "list_tokens",
"responses": {
"200": {
"description": "Tokens",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListTokensResponse"
}
}
}
}
},
"security": [
{
"bearer": []
}
]
},
"post": {
"tags": [
"tokens"
],
"summary": "`POST /v1/tokens` — create a scoped token (admin only).",
"operationId": "create_token",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateTokenRequest"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Token created",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreatedTokenResponse"
}
}
}
}
},
"security": [
{
"bearer": []
}
]
}
},
"/v1/tokens/{id}": {
"delete": {
"tags": [
"tokens"
],
"operationId": "delete_token",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Token ID",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Token revoked"
}
},
"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
},
"maxSupportedDeploymentProtocolVersion": {
"type": "integer",
"format": "int32",
"description": "Missing on protocol1 actors. Advertise the reader ceiling before taking ownership.",
"minimum": 0,
"nullable": true
},
"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"
}
},
"notAcquired": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UnacquiredDeployment"
},
"description": "Bounded reasons for explicitly requested deployments that were not acquired.\nEmpty for discovery-style batch acquisition."
}
}
},
"AcquiredDeploymentResponse": {
"type": "object",
"required": [
"deployment"
],
"properties": {
"deployment": {},
"executionClaim": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/ExecutionClaim"
}
]
}
}
},
"AcrArtifactRegistryBinding": {
"type": "object",
"description": "Azure Container Registry binding configuration",
"required": [
"registryName",
"resourceGroupName"
],
"properties": {
"registryName": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "Registry name (e.g., \"myregistry\") - endpoint is derived from this"
},
"repositoryPrefix": {
"nullable": true,
"description": "Repository prefix for this registry (used for proxy routing)",
"allOf": [
{
"$ref": "#/components/schemas/BindingValue_String"
}
]
},
"resourceGroupName": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "Resource group name where the registry is located"
}
}
},
"AgentSyncRequest": {
"allOf": [
{
"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"
},
"executionClaim": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/ExecutionClaim"
}
]
},
"observedInventoryBatches": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObservedInventoryBatch"
}
},
"operationsReport": {
"nullable": true,
"description": "The Operator's self-reported operations-plugin catalog and loaded\nbundle hash. Opaque to OSS beyond forwarding it to `reconcile()`.",
"allOf": [
{
"$ref": "#/components/schemas/OperationsReport"
}
]
},
"operatorVersion": {
"type": "string",
"nullable": true
},
"resourceHeartbeats": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ResourceHeartbeat"
},
"description": "Managed resource status samples emitted by pull-mode deployment steps."
},
"session": {
"type": "string"
},
"supportsExecutionClaims": {
"type": "boolean"
},
"supportsTunnels": {
"type": "boolean",
"description": "Absent for Operators that predate container tunnels."
}
}
},
{
"type": "object",
"properties": {
"application": {
"nullable": true,
"description": "Application release the Operator observed in its environment.\nOpaque to OSS beyond forwarding it to `reconcile_request()`.",
"allOf": [
{
"$ref": "#/components/schemas/ObservedApplicationReport"
}
]
},
"dynamicContainers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DynamicContainerReport"
},
"description": "Absent for older Operators. This report has no secret values.",
"nullable": true
},
"maxSupportedDeploymentProtocolVersion": {
"type": "integer",
"format": "int32",
"description": "Missing on actors that only understand protocol1.",
"minimum": 0,
"nullable": true
},
"operationsConfig": {
"nullable": true,
"description": "Operations an Operator installed without a release declares, without\nsetting values. Opaque to OSS beyond forwarding it.",
"allOf": [
{
"$ref": "#/components/schemas/OperationsConfig"
}
]
},
"operatorImage": {
"nullable": true,
"description": "Exact immutable Operator image identity reported by the running process.",
"allOf": [
{
"$ref": "#/components/schemas/OperatorImageReport"
}
]
}
}
}
],
"description": "Body of `POST /v1/sync`."
},
"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."
},
"executionClaim": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/ExecutionClaim"
}
]
},
"target": {},
"targetDynamicContainers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TargetDynamicContainer"
},
"description": "Complete release-independent target set. Older embedders omit it.",
"nullable": true
},
"targetOperationsBundleSet": {
"nullable": true,
"description": "Bundles the Operator should download to catch up to the target\nenabled-plugin-set hash. Opaque passthrough from the embedder's\n`DeploymentStore::reconcile`; `None` in OSS.",
"allOf": [
{
"$ref": "#/components/schemas/TargetOperationsBundleSet"
}
]
},
"targetOperatorImage": {
"type": "string",
"description": "Operator image this manager's charts install. Operators that manage\ntheir own workload update to it. Absent when the manager serves no\ncharts.",
"nullable": true
},
"tunnelUrl": {
"type": "string",
"description": "Base URL operators open tunnel connections to. Absent when this manager\ndoes not accept tunnels; operators then never dial.",
"nullable": true
}
}
},
"AiAccessTest": {
"type": "string",
"enum": [
"verified",
"failed",
"not-checked"
]
},
"AiAvailabilityBlocker": {
"type": "string",
"enum": [
"agreement-required",
"entitlement-required",
"model-activation-required",
"deployment-required",
"quota-configuration-required",
"region-unavailable",
"access-denied",
"observation-failed"
]
},
"AiAvailabilityObservation": {
"type": "object",
"required": [
"source",
"catalogRevision",
"models"
],
"properties": {
"catalogRevision": {
"type": "string"
},
"location": {
"type": "string",
"nullable": true
},
"models": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AiModelAvailabilityObservation"
}
},
"source": {
"$ref": "#/components/schemas/AiAvailabilitySource"
}
}
},
"AiAvailabilitySource": {
"type": "string",
"description": "Provider control plane used to observe model availability without invoking\na model, spending customer quota, or accepting provider terms.",
"enum": [
"aws-bedrock",
"gcp-vertex",
"azure-foundry",
"anthropic"
]
},
"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"
}
}
},
"AiModelAvailability": {
"type": "string",
"enum": [
"available",
"blocked",
"unknown"
]
},
"AiModelAvailabilityObservation": {
"type": "object",
"required": [
"publicModelId",
"clientApis",
"availability",
"blockers",
"accessTest"
],
"properties": {
"accessTest": {
"$ref": "#/components/schemas/AiAccessTest"
},
"availability": {
"$ref": "#/components/schemas/AiModelAvailability"
},
"blockers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AiAvailabilityBlocker"
}
},
"clientApis": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ClientApi"
}
},
"errorCode": {
"type": "string",
"nullable": true
},
"publicModelId": {
"type": "string"
},
"testedAt": {
"type": "string",
"format": "date-time",
"nullable": true
}
}
},
"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."
}
}
},
"ArtifactRegistryBinding": {
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/EcrArtifactRegistryBinding",
"description": "AWS ECR (Elastic Container Registry)"
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"ecr"
]
}
}
}
],
"description": "AWS ECR (Elastic Container Registry)"
},
{
"allOf": [
{
"$ref": "#/components/schemas/AcrArtifactRegistryBinding",
"description": "Azure Container Registry"
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"acr"
]
}
}
}
],
"description": "Azure Container Registry"
},
{
"allOf": [
{
"$ref": "#/components/schemas/GarArtifactRegistryBinding",
"description": "Google Artifact Registry"
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"gar"
]
}
}
}
],
"description": "Google Artifact Registry"
},
{
"allOf": [
{
"$ref": "#/components/schemas/LocalArtifactRegistryBinding",
"description": "Local container registry"
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"local"
]
}
}
}
],
"description": "Local container registry"
}
],
"description": "Service-type based artifact registry binding that supports multiple registry providers"
},
"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"
}
}
},
"AuroraPostgresBinding": {
"type": "object",
"description": "AWS Aurora Serverless v2 binding.",
"required": [
"clusterEndpoint",
"port",
"database",
"username",
"passwordSecretArn"
],
"properties": {
"clusterEndpoint": {
"$ref": "#/components/schemas/BindingValue_String"
},
"database": {
"$ref": "#/components/schemas/BindingValue_String"
},
"passwordSecretArn": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "Secrets Manager ARN of the connection password; resolved at load time."
},
"port": {
"$ref": "#/components/schemas/BindingValue_u16"
},
"username": {
"$ref": "#/components/schemas/BindingValue_String"
}
}
},
"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",
"availability"
],
"properties": {
"availability": {
"$ref": "#/components/schemas/AiAvailabilityObservation"
},
"region": {
"type": "string"
},
"status": {
"$ref": "#/components/schemas/AiHeartbeatStatus"
}
}
},
"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": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
},
"memory": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
},
"name": {
"type": "string"
},
"nodes": {
"$ref": "#/components/schemas/ObservedCounts"
},
"providerFleets": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProviderFleetStatus"
}
},
"region": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/ComputeClusterHeartbeatStatus"
}
}
},
"AwsCustomCertificateConfig": {
"type": "object",
"required": [
"certificateArn"
],
"properties": {
"certificateArn": {
"type": "string"
}
}
},
"AwsDaemonHeartbeatData": {
"type": "object",
"required": [
"status",
"horizonClusterId",
"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
}
}
},
"AwsKmsKeyHeartbeatData": {
"type": "object",
"required": [
"status",
"keyArn",
"keyState",
"enabled",
"keySpec",
"keyUsage"
],
"properties": {
"enabled": {
"type": "boolean"
},
"keyArn": {
"type": "string"
},
"keySpec": {
"type": "string"
},
"keyState": {
"type": "string"
},
"keyUsage": {
"type": "string"
},
"status": {
"$ref": "#/components/schemas/KeyHeartbeatStatus"
}
}
},
"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"
}
}
},
"AwsMicrovmSandboxHeartbeatData": {
"type": "object",
"description": "AWS: the image a sandbox runs from, and the lifecycle state AWS reports for it.",
"required": [
"status",
"imageIdentifier"
],
"properties": {
"imageIdentifier": {
"type": "string",
"description": "Image the sandboxes belong to."
},
"imageState": {
"type": "string",
"description": "The image's own lifecycle state, which is where AWS surfaces base-image deprecation.\n\nNo sandbox count sits beside it: counting means `lambda:ListMicrovms`, which authorizes\nagainst no resource type and so cannot be granted without an account-wide reach the\npermission sets refuse. A field only an over-broad grant could fill is a field whose\nimplementer ships AccessDenied into a customer's account.",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/SandboxHeartbeatStatus"
}
}
},
"AwsParameterStoreVaultHeartbeatData": {
"type": "object",
"required": [
"status",
"accountId",
"region",
"prefix",
"parameterMetadataSampled"
],
"properties": {
"accountId": {
"type": "string"
},
"hasMoreParameters": {
"type": "boolean",
"nullable": true
},
"latestModifiedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"parameterMetadataSampled": {
"type": "boolean"
},
"prefix": {
"type": "string"
},
"region": {
"type": "string"
},
"sampledAdvancedTierCount": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"sampledKmsKeyMetadataPresentCount": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"sampledParameterCount": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"sampledSecureStringCount": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"sampledStringCount": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"sampledStringListCount": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"status": {
"$ref": "#/components/schemas/VaultHeartbeatStatus"
}
}
},
"AwsRemoteStackManagementHeartbeatData": {
"type": "object",
"required": [
"status",
"managementPermissionsApplied"
],
"properties": {
"managementPermissionsApplied": {
"type": "boolean"
},
"roleArn": {
"type": "string",
"nullable": true
},
"roleName": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/RemoteStackManagementHeartbeatStatus"
}
}
},
"AwsS3StorageHeartbeatData": {
"type": "object",
"required": [
"status",
"name",
"lifecyclePresent",
"encryptionConfigPresent",
"publicAccessBlockPresent"
],
"properties": {
"blockPublicAcls": {
"type": "boolean",
"nullable": true
},
"blockPublicPolicy": {
"type": "boolean",
"nullable": true
},
"bucketAclPresent": {
"type": "boolean",
"nullable": true
},
"bucketLocation": {
"type": "string",
"nullable": true
},
"bucketPolicyPresent": {
"type": "boolean",
"nullable": true
},
"encryptionConfigPresent": {
"type": "boolean"
},
"encryptionEnabled": {
"type": "boolean",
"nullable": true
},
"ignorePublicAcls": {
"type": "boolean",
"nullable": true
},
"lifecyclePresent": {
"type": "boolean"
},
"lifecycleRuleCount": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"name": {
"type": "string"
},
"publicAccessBlockPresent": {
"type": "boolean"
},
"region": {
"type": "string",
"nullable": true
},
"restrictPublicBuckets": {
"type": "boolean",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/StorageHeartbeatStatus"
},
"versioningEnabled": {
"type": "boolean",
"nullable": true
},
"versioningStatus": {
"type": "string",
"nullable": true
}
}
},
"AwsSqsQueueHeartbeatData": {
"type": "object",
"required": [
"status",
"name",
"approximateCounts"
],
"properties": {
"approximateCounts": {
"type": "boolean"
},
"approximateDelayedMessages": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"approximateInFlightMessages": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"approximateVisibleMessages": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"contentBasedDeduplication": {
"type": "boolean",
"nullable": true
},
"deduplicationScope": {
"type": "string",
"nullable": true
},
"delaySeconds": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"fifoQueue": {
"type": "boolean",
"nullable": true
},
"fifoThroughputLimit": {
"type": "string",
"nullable": true
},
"kmsDataKeyReusePeriodSeconds": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"kmsMasterKeyId": {
"type": "string",
"nullable": true
},
"maximumMessageSize": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"messageRetentionPeriodSeconds": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"name": {
"type": "string"
},
"queueArn": {
"type": "string",
"nullable": true
},
"queueUrl": {
"type": "string",
"nullable": true
},
"receiveMessageWaitTimeSeconds": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"redriveAllowPolicy": {
"type": "string",
"nullable": true
},
"redrivePolicy": {
"type": "string",
"nullable": true
},
"region": {
"type": "string",
"nullable": true
},
"sqsManagedSseEnabled": {
"type": "boolean",
"nullable": true
},
"sseEnabled": {
"type": "boolean",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/QueueHeartbeatStatus"
},
"visibilityTimeoutSeconds": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
}
}
},
"AwsVpcNetworkHeartbeatData": {
"type": "object",
"required": [
"status",
"publicSubnetIds",
"privateSubnetIds",
"availabilityZones",
"routeTableCount",
"isByoVpc"
],
"properties": {
"availabilityZones": {
"type": "array",
"items": {
"type": "string"
}
},
"cidrBlock": {
"type": "string",
"nullable": true
},
"internetGatewayId": {
"type": "string",
"nullable": true
},
"isByoVpc": {
"type": "boolean"
},
"natGatewayId": {
"type": "string",
"nullable": true
},
"privateSubnetIds": {
"type": "array",
"items": {
"type": "string"
}
},
"publicSubnetIds": {
"type": "array",
"items": {
"type": "string"
}
},
"routeTableCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"securityGroupId": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/NetworkHeartbeatStatus"
},
"vpcId": {
"type": "string",
"nullable": true
},
"vpcState": {
"type": "string",
"nullable": true
}
}
},
"AzureBlobStorageHeartbeatData": {
"type": "object",
"required": [
"status",
"name"
],
"properties": {
"accessTier": {
"type": "string",
"nullable": true
},
"accountKind": {
"type": "string",
"nullable": true
},
"allowBlobPublicAccess": {
"type": "boolean",
"nullable": true
},
"blobDeleteRetentionDays": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"blobDeleteRetentionEnabled": {
"type": "boolean",
"nullable": true
},
"blobEncryptionEnabled": {
"type": "boolean",
"nullable": true
},
"blobVersioningEnabled": {
"type": "boolean",
"nullable": true
},
"changeFeedEnabled": {
"type": "boolean",
"nullable": true
},
"changeFeedRetentionDays": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"containerDeleteRetentionDays": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"containerDeleteRetentionEnabled": {
"type": "boolean",
"nullable": true
},
"containerPublicAccess": {
"type": "string",
"nullable": true
},
"encryptionKeySource": {
"type": "string",
"nullable": true
},
"fileEncryptionEnabled": {
"type": "boolean",
"nullable": true
},
"location": {
"type": "string",
"nullable": true
},
"name": {
"type": "string"
},
"primaryLocation": {
"type": "string",
"nullable": true
},
"provisioningState": {
"type": "string",
"nullable": true
},
"publicNetworkAccess": {
"type": "string",
"nullable": true
},
"queueEncryptionEnabled": {
"type": "boolean",
"nullable": true
},
"resourceGroup": {
"type": "string",
"nullable": true
},
"secondaryLocation": {
"type": "string",
"nullable": true
},
"skuName": {
"type": "string",
"nullable": true
},
"skuTier": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/StorageHeartbeatStatus"
},
"statusOfPrimary": {
"type": "string",
"nullable": true
},
"statusOfSecondary": {
"type": "string",
"nullable": true
},
"storageAccountName": {
"type": "string",
"nullable": true
},
"tableEncryptionEnabled": {
"type": "boolean",
"nullable": true
}
}
},
"AzureComputeClusterHeartbeatData": {
"type": "object",
"required": [
"status",
"nodes",
"name",
"capacityGroups",
"providerFleets"
],
"properties": {
"backendClusterId": {
"type": "string",
"nullable": true
},
"capacityGroups": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ComputeCapacityGroupStatus"
}
},
"cpu": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
},
"memory": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
},
"name": {
"type": "string"
},
"nodes": {
"$ref": "#/components/schemas/ObservedCounts"
},
"providerFleets": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProviderFleetStatus"
}
},
"region": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/ComputeClusterHeartbeatStatus"
}
}
},
"AzureContainerAppsBuildHeartbeatData": {
"type": "object",
"required": [
"status",
"managedEnvironmentId",
"resourceGroupName",
"environmentVariableCount"
],
"properties": {
"environmentVariableCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"managedEnvironmentId": {
"type": "string"
},
"managedIdentityId": {
"type": "string",
"nullable": true
},
"resourceGroupName": {
"type": "string"
},
"resourcePrefix": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/BuildHeartbeatStatus"
}
}
},
"AzureContainerAppsEnvironmentHeartbeatData": {
"type": "object",
"required": [
"status",
"name",
"workloadProfileCount",
"workloadProfiles"
],
"properties": {
"customDomainVerificationId": {
"type": "string",
"nullable": true
},
"defaultDomain": {
"type": "string",
"nullable": true
},
"eventStreamEndpoint": {
"type": "string",
"nullable": true
},
"infrastructureResourceGroup": {
"type": "string",
"nullable": true
},
"kind": {
"type": "string",
"nullable": true
},
"location": {
"type": "string",
"nullable": true
},
"name": {
"type": "string"
},
"provisioningState": {
"type": "string",
"nullable": true
},
"resourceGroup": {
"type": "string",
"nullable": true
},
"resourceId": {
"type": "string",
"nullable": true
},
"staticIp": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/AzureContainerAppsEnvironmentHeartbeatStatus"
},
"workloadProfileCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"workloadProfiles": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AzureContainerAppsEnvironmentWorkloadProfile"
}
},
"zoneRedundant": {
"type": "boolean",
"nullable": true
}
}
},
"AzureContainerAppsEnvironmentHeartbeatStatus": {
"type": "object",
"required": [
"health",
"lifecycle",
"stale",
"partial",
"collectionIssues"
],
"properties": {
"collectionIssues": {
"type": "array",
"items": {
"$ref": "#/components/schemas/HeartbeatCollectionIssue"
}
},
"health": {
"$ref": "#/components/schemas/ObservedHealth"
},
"lifecycle": {
"$ref": "#/components/schemas/ProviderLifecycleState"
},
"message": {
"type": "string",
"nullable": true
},
"partial": {
"type": "boolean"
},
"stale": {
"type": "boolean"
}
}
},
"AzureContainerAppsEnvironmentWorkloadProfile": {
"type": "object",
"required": [
"name",
"workloadProfileType"
],
"properties": {
"maximumCount": {
"type": "integer",
"format": "int32",
"nullable": true
},
"minimumCount": {
"type": "integer",
"format": "int32",
"nullable": true
},
"name": {
"type": "string"
},
"workloadProfileType": {
"type": "string"
}
}
},
"AzureContainerAppsWorkerHeartbeatData": {
"type": "object",
"required": [
"status",
"appName"
],
"properties": {
"appName": {
"type": "string"
},
"cpu": {
"type": "number",
"format": "double",
"nullable": true
},
"environmentName": {
"type": "string",
"nullable": true
},
"ingressFqdn": {
"type": "string",
"nullable": true
},
"maxReplicas": {
"type": "integer",
"format": "int32",
"nullable": true
},
"memory": {
"type": "string",
"nullable": true
},
"minReplicas": {
"type": "integer",
"format": "int32",
"nullable": true
},
"provisioningState": {
"type": "string",
"nullable": true
},
"revision": {
"type": "string",
"nullable": true
},
"runningStatus": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/WorkloadHeartbeatStatus"
}
}
},
"AzureContainerRegistryHeartbeatData": {
"type": "object",
"required": [
"status",
"name",
"resourceGroup",
"location",
"skuName",
"adminUserEnabled",
"anonymousPullEnabled",
"publicNetworkAccess",
"networkRuleBypassOptions",
"ipRuleCount",
"encryptionKeyVaultUriPresent",
"encryptionKeyIdentifierPresent",
"policiesPresent",
"policyCount",
"privateEndpointConnectionCount",
"dataEndpointHostNames",
"zoneRedundancy",
"managedTagCount"
],
"properties": {
"adminUserEnabled": {
"type": "boolean"
},
"anonymousPullEnabled": {
"type": "boolean"
},
"creationDate": {
"type": "string",
"nullable": true
},
"dataEndpointEnabled": {
"type": "boolean",
"nullable": true
},
"dataEndpointHostNames": {
"type": "array",
"items": {
"type": "string"
}
},
"encryptionKeyIdentifierPresent": {
"type": "boolean"
},
"encryptionKeyVaultUriPresent": {
"type": "boolean"
},
"encryptionStatus": {
"type": "string",
"nullable": true
},
"ipRuleCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"location": {
"type": "string"
},
"loginServer": {
"type": "string",
"nullable": true
},
"managedTagCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"name": {
"type": "string"
},
"networkRuleBypassOptions": {
"type": "string"
},
"networkRuleDefaultAction": {
"type": "string",
"nullable": true
},
"policiesPresent": {
"type": "boolean"
},
"policyCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"privateEndpointConnectionCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"provisioningState": {
"type": "string",
"nullable": true
},
"publicNetworkAccess": {
"type": "string"
},
"resourceGroup": {
"type": "string"
},
"resourceId": {
"type": "string",
"nullable": true
},
"skuName": {
"type": "string"
},
"skuTier": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/ArtifactRegistryHeartbeatStatus"
},
"type": {
"type": "string",
"nullable": true
},
"zoneRedundancy": {
"type": "string"
}
}
},
"AzureCustomCertificateConfig": {
"type": "object",
"required": [
"keyVaultCertificateId"
],
"properties": {
"keyVaultCertificateId": {
"type": "string"
},
"keyVaultResourceId": {
"type": "string",
"nullable": true
}
}
},
"AzureDaemonHeartbeatData": {
"type": "object",
"required": [
"status",
"horizonClusterId",
"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",
"availability"
],
"properties": {
"accountName": {
"type": "string"
},
"availability": {
"$ref": "#/components/schemas/AiAvailabilityObservation"
},
"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
}
}
},
"AzureKeyVaultKeyHeartbeatData": {
"type": "object",
"required": [
"status",
"keyId",
"keyType",
"keyOperations"
],
"properties": {
"enabled": {
"type": "boolean",
"nullable": true
},
"keyId": {
"type": "string"
},
"keyOperations": {
"type": "array",
"items": {
"type": "string"
}
},
"keyType": {
"type": "string"
},
"recoveryLevel": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/KeyHeartbeatStatus"
}
}
},
"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"
}
}
},
"AzureSandboxGroupHeartbeatData": {
"type": "object",
"description": "Azure: the sandbox group's ARM state. The data plane has no list operation, so a sandbox count\nis not available here.",
"required": [
"status",
"sandboxGroup"
],
"properties": {
"provisioningState": {
"type": "string",
"nullable": true
},
"sandboxGroup": {
"type": "string"
},
"status": {
"$ref": "#/components/schemas/SandboxHeartbeatStatus"
}
}
},
"AzureServiceBusNamespaceHeartbeatData": {
"type": "object",
"required": [
"status",
"name",
"privateEndpointConnectionCount"
],
"properties": {
"createdAt": {
"type": "string",
"nullable": true
},
"disableLocalAuth": {
"type": "boolean",
"nullable": true
},
"location": {
"type": "string",
"nullable": true
},
"metricId": {
"type": "string",
"nullable": true
},
"minimumTlsVersion": {
"type": "string",
"nullable": true
},
"name": {
"type": "string"
},
"namespaceStatus": {
"type": "string",
"nullable": true
},
"premiumMessagingPartitions": {
"type": "integer",
"format": "int32",
"nullable": true
},
"privateEndpointConnectionCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"provisioningState": {
"type": "string",
"nullable": true
},
"publicNetworkAccess": {
"type": "string",
"nullable": true
},
"resourceGroup": {
"type": "string",
"nullable": true
},
"resourceId": {
"type": "string",
"nullable": true
},
"serviceBusEndpoint": {
"type": "string",
"nullable": true
},
"skuCapacity": {
"type": "integer",
"format": "int32",
"nullable": true
},
"skuName": {
"type": "string",
"nullable": true
},
"skuTier": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/QueueHeartbeatStatus"
},
"updatedAt": {
"type": "string",
"nullable": true
},
"zoneRedundant": {
"type": "boolean",
"nullable": true
}
}
},
"AzureServiceBusQueueHeartbeatData": {
"type": "object",
"required": [
"status",
"name",
"namespaceName"
],
"properties": {
"accessedAt": {
"type": "string",
"nullable": true
},
"activeMessageCount": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"autoDeleteOnIdle": {
"type": "string",
"nullable": true
},
"createdAt": {
"type": "string",
"nullable": true
},
"deadLetterMessageCount": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"deadLetteringOnMessageExpiration": {
"type": "boolean",
"nullable": true
},
"defaultMessageTimeToLive": {
"type": "string",
"nullable": true
},
"duplicateDetectionHistoryTimeWindow": {
"type": "string",
"nullable": true
},
"enableBatchedOperations": {
"type": "boolean",
"nullable": true
},
"enableExpress": {
"type": "boolean",
"nullable": true
},
"enablePartitioning": {
"type": "boolean",
"nullable": true
},
"endpoint": {
"type": "string",
"nullable": true
},
"forwardDeadLetteredMessagesTo": {
"type": "string",
"nullable": true
},
"forwardTo": {
"type": "string",
"nullable": true
},
"lockDuration": {
"type": "string",
"nullable": true
},
"maxDeliveryCount": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"maxMessageSizeInKilobytes": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"maxSizeInMegabytes": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"messageCount": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"name": {
"type": "string"
},
"namespaceName": {
"type": "string"
},
"queueStatus": {
"type": "string",
"nullable": true
},
"requiresDuplicateDetection": {
"type": "boolean",
"nullable": true
},
"requiresSession": {
"type": "boolean",
"nullable": true
},
"resourceGroup": {
"type": "string",
"nullable": true
},
"resourceId": {
"type": "string",
"nullable": true
},
"scheduledMessageCount": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"sizeInBytes": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"status": {
"$ref": "#/components/schemas/QueueHeartbeatStatus"
},
"transferDeadLetterMessageCount": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"transferMessageCount": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
},
"updatedAt": {
"type": "string",
"nullable": true
}
}
},
"AzureStorageAccountEndpoints": {
"type": "object",
"properties": {
"blob": {
"type": "string",
"nullable": true
},
"dfs": {
"type": "string",
"nullable": true
},
"file": {
"type": "string",
"nullable": true
},
"queue": {
"type": "string",
"nullable": true
},
"table": {
"type": "string",
"nullable": true
},
"web": {
"type": "string",
"nullable": true
}
}
},
"AzureStorageAccountHeartbeatData": {
"type": "object",
"required": [
"status",
"name",
"primaryEndpoints",
"secondaryEndpoints"
],
"properties": {
"allowBlobPublicAccess": {
"type": "boolean",
"nullable": true
},
"allowSharedKeyAccess": {
"type": "boolean",
"nullable": true
},
"encryptionKeySource": {
"type": "string",
"nullable": true
},
"kind": {
"type": "string",
"nullable": true
},
"location": {
"type": "string",
"nullable": true
},
"minimumTlsVersion": {
"type": "string",
"nullable": true
},
"name": {
"type": "string"
},
"networkBypass": {
"type": "string",
"nullable": true
},
"networkDefaultAction": {
"type": "string",
"nullable": true
},
"networkIpRuleCount": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"networkResourceAccessRuleCount": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"networkVirtualNetworkRuleCount": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"primaryEndpoints": {
"$ref": "#/components/schemas/AzureStorageAccountEndpoints"
},
"provisioningState": {
"type": "string",
"nullable": true
},
"publicNetworkAccess": {
"type": "string",
"nullable": true
},
"requireInfrastructureEncryption": {
"type": "boolean",
"nullable": true
},
"resourceGroup": {
"type": "string",
"nullable": true
},
"resourceId": {
"type": "string",
"nullable": true
},
"secondaryEndpoints": {
"$ref": "#/components/schemas/AzureStorageAccountEndpoints"
},
"skuName": {
"type": "string",
"nullable": true
},
"skuTier": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/StorageHeartbeatStatus"
},
"supportsHttpsTrafficOnly": {
"type": "boolean",
"nullable": true
}
}
},
"AzureTableKvHeartbeatData": {
"type": "object",
"required": [
"status",
"tableName",
"storageAccountName",
"tableExists"
],
"properties": {
"endpoint": {
"type": "string",
"nullable": true
},
"resourceGroup": {
"type": "string",
"nullable": true
},
"signedIdentifierCount": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"status": {
"$ref": "#/components/schemas/KvHeartbeatStatus"
},
"storageAccountKind": {
"type": "string",
"nullable": true
},
"storageAccountLocation": {
"type": "string",
"nullable": true
},
"storageAccountName": {
"type": "string"
},
"storageAccountPrimaryStatus": {
"type": "string",
"nullable": true
},
"storageAccountProvisioningState": {
"type": "string",
"nullable": true
},
"storageAccountResourceId": {
"type": "string",
"nullable": true
},
"tableExists": {
"type": "boolean"
},
"tableName": {
"type": "string"
}
}
},
"AzureVnetNetworkHeartbeatData": {
"type": "object",
"required": [
"status",
"isByoVnet"
],
"properties": {
"applicationGatewaySubnetName": {
"type": "string",
"nullable": true
},
"cidrBlock": {
"type": "string",
"nullable": true
},
"isByoVnet": {
"type": "boolean"
},
"lastByoVnetVerificationErrorCode": {
"type": "string",
"nullable": true
},
"location": {
"type": "string",
"nullable": true
},
"natGatewayId": {
"type": "string",
"nullable": true
},
"nsgId": {
"type": "string",
"nullable": true
},
"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
},
"BindingValue_Option_String": {
"oneOf": [
{
"nullable": true,
"type": "string"
},
{
"type": "object",
"description": "A Kubernetes Secret reference (must come before Expression)",
"required": [
"secretRef"
],
"properties": {
"secretRef": {
"$ref": "#/components/schemas/SecretReference"
}
}
},
{
"$ref": "#/components/schemas/Value",
"description": "A template expression (used by IaC template generators)"
}
],
"description": "Represents a value that can be either a concrete value, a template expression,\nor a reference to a Kubernetes Secret"
},
"BindingValue_String": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"description": "A Kubernetes Secret reference (must come before Expression)",
"required": [
"secretRef"
],
"properties": {
"secretRef": {
"$ref": "#/components/schemas/SecretReference"
}
}
},
{
"$ref": "#/components/schemas/Value",
"description": "A template expression (used by IaC template generators)"
}
],
"description": "Represents a value that can be either a concrete value, a template expression,\nor a reference to a Kubernetes Secret"
},
"BindingValue_Vec_String": {
"oneOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "object",
"description": "A Kubernetes Secret reference (must come before Expression)",
"required": [
"secretRef"
],
"properties": {
"secretRef": {
"$ref": "#/components/schemas/SecretReference"
}
}
},
{
"$ref": "#/components/schemas/Value",
"description": "A template expression (used by IaC template generators)"
}
],
"description": "Represents a value that can be either a concrete value, a template expression,\nor a reference to a Kubernetes Secret"
},
"BindingValue_u16": {
"oneOf": [
{
"type": "integer",
"format": "int32",
"minimum": 0
},
{
"type": "object",
"description": "A Kubernetes Secret reference (must come before Expression)",
"required": [
"secretRef"
],
"properties": {
"secretRef": {
"$ref": "#/components/schemas/SecretReference"
}
}
},
{
"$ref": "#/components/schemas/Value",
"description": "A template expression (used by IaC template generators)"
}
],
"description": "Represents a value that can be either a concrete value, a template expression,\nor a reference to a Kubernetes Secret"
},
"BindingValue_u8": {
"oneOf": [
{
"type": "integer",
"format": "int32",
"minimum": 0
},
{
"type": "object",
"description": "A Kubernetes Secret reference (must come before Expression)",
"required": [
"secretRef"
],
"properties": {
"secretRef": {
"$ref": "#/components/schemas/SecretReference"
}
}
},
{
"$ref": "#/components/schemas/Value",
"description": "A template expression (used by IaC template generators)"
}
],
"description": "Represents a value that can be either a concrete value, a template expression,\nor a reference to a Kubernetes Secret"
},
"BlobStorageBinding": {
"type": "object",
"description": "Azure Blob Storage binding configuration",
"required": [
"accountName",
"containerName"
],
"properties": {
"accountName": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "The name of the storage account"
},
"containerName": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "The name of the container"
}
}
},
"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": {
"nullable": true,
"description": "Pre-signed request for retrieving the body (for deployments)",
"allOf": [
{
"$ref": "#/components/schemas/PresignedRequest"
}
]
},
"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"
}
}
},
"BundleSignatureRequest": {
"type": "object",
"description": "Body of `POST /v1/deployments/{id}/bundle-signature`.",
"required": [
"manifest"
],
"properties": {
"manifest": {
"type": "string",
"description": "The bundle's `manifest.json`, base64-encoded, exactly as packaged."
}
}
},
"BundleSignatureResponse": {
"type": "object",
"description": "A signature over a bundle manifest.",
"required": [
"signature",
"publicKey"
],
"properties": {
"publicKey": {
"type": "string",
"description": "`ed25519:<base64>` public key that verifies it."
},
"signature": {
"type": "string",
"description": "`ed25519:<base64>` signature over the manifest bytes."
}
}
},
"BundleSource": {
"type": "object",
"description": "One OCI artifact and how to authenticate when pulling it.",
"required": [
"reference",
"credentials"
],
"properties": {
"credentials": {
"$ref": "#/components/schemas/SourceCredentials"
},
"reference": {
"type": "string"
}
}
},
"BundleSources": {
"type": "object",
"description": "The artifacts a bundle carries besides the release's own images.",
"required": [
"chart"
],
"properties": {
"chart": {
"$ref": "#/components/schemas/BundleSource",
"description": "The Helm chart, as an OCI reference (`registry/repository:version`)."
},
"deployCli": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ToolDownload"
},
"description": "`alien-deploy` builds for the site, matching this manager."
}
}
},
"ClientApi": {
"type": "string",
"description": "A public API accepted from an application client.",
"enum": [
"open-ai-chat-completions",
"open-ai-responses",
"anthropic-messages"
]
},
"CloudSqlPostgresBinding": {
"type": "object",
"description": "GCP Cloud SQL binding.",
"required": [
"host",
"port",
"database",
"username",
"serverCaCertificates",
"passwordSecretName"
],
"properties": {
"database": {
"$ref": "#/components/schemas/BindingValue_String"
},
"host": {
"$ref": "#/components/schemas/BindingValue_String"
},
"passwordSecretName": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "Secret Manager secret name of the connection password; resolved at load time."
},
"port": {
"$ref": "#/components/schemas/BindingValue_u16"
},
"serverCaCertificates": {
"$ref": "#/components/schemas/BindingValue_Vec_String",
"description": "Per-instance Cloud SQL server CA certificates, including every root accepted\nduring a CA rotation."
},
"username": {
"$ref": "#/components/schemas/BindingValue_String"
}
}
},
"CommandPayloadResponse": {
"type": "object",
"description": "Payload response containing params and response data from KV",
"required": [
"commandId"
],
"properties": {
"commandId": {
"type": "string"
},
"params": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/BodySpec"
}
]
},
"response": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/CommandResponse"
}
]
}
}
},
"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": {
"nullable": true,
"description": "Response data (only for succeeded/failed state)",
"allOf": [
{
"$ref": "#/components/schemas/CommandResponse"
}
]
},
"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": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/ComputeCapacityBlocker"
}
]
},
"currentMachines": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"desiredMachines": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"drainProgress": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/ComputeDrainProgress"
}
]
},
"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": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/ComputeCapacityRecommendation"
}
]
}
}
},
"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": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
}
}
},
"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": {
"nullable": true,
"description": "Optional failure-domain policy. Absence preserves the existing aggregate layout.",
"allOf": [
{
"$ref": "#/components/schemas/FailureDomainSelection"
}
]
},
"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": {
"nullable": true,
"description": "Optional failure-domain policy. Absence preserves the existing aggregate layout.",
"allOf": [
{
"$ref": "#/components/schemas/FailureDomainSelection"
}
]
},
"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": {
"containers": {
"type": "object",
"description": "Per-replica resources selected within each container's declared ranges.",
"additionalProperties": {
"$ref": "#/components/schemas/ContainerResourceSelection"
}
},
"pools": {
"type": "object",
"description": "Selected compute choices keyed by pool ID.",
"additionalProperties": {
"$ref": "#/components/schemas/ComputePoolSelection"
}
}
}
},
"ContainerAppsEnvironmentBinding": {
"type": "object",
"description": "Binding configuration for a pre-existing Azure Container Apps Environment.\n\nUsed when deploying to an existing environment instead of having Alien provision one.\nThis is useful for shared environments (e.g., test infrastructure) or enterprise\nsetups where environments are managed by a separate team.",
"required": [
"environmentName",
"resourceId",
"resourceGroupName",
"defaultDomain"
],
"properties": {
"defaultDomain": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "The default domain for applications in this environment."
},
"environmentName": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "The name of the Container Apps Environment in Azure."
},
"resourceGroupName": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "The Azure resource group that contains the environment.\nStored explicitly so consumers don't need to parse the ARM resource ID path."
},
"resourceId": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "The full Azure resource ID of the environment."
},
"staticIp": {
"nullable": true,
"description": "The static IP address of the environment (if applicable).",
"allOf": [
{
"$ref": "#/components/schemas/BindingValue_String"
}
]
}
}
},
"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"
]
}
}
}
]
}
]
},
"ContainerImageIdentity": {
"type": "object",
"description": "Image a running container reports.",
"required": [
"name",
"image"
],
"properties": {
"digest": {
"type": "string",
"description": "Registry manifest digest in `sha256:<hex>` form, when the runtime\nreports one.",
"nullable": true
},
"image": {
"type": "string",
"description": "Image reference reported by the container runtime."
},
"name": {
"type": "string",
"description": "Container name."
}
}
},
"ContainerResourceSelection": {
"type": "object",
"description": "Deployment-time resource allocation for a container. Omitted fields use release defaults.",
"properties": {
"cpu": {
"type": "number",
"format": "double",
"description": "CPU allocation in vCPUs.",
"nullable": true
},
"memory": {
"type": "string",
"description": "Memory allocation, using binary units such as Mi or Gi.",
"nullable": true
},
"volumeSizeGib": {
"type": "integer",
"format": "int32",
"description": "Persistent volume capacity per replica, in whole GiB. Omitted values\nuse the release default. Existing volumes can only grow.",
"minimum": 0,
"nullable": true
}
},
"additionalProperties": false
},
"CreatableTokenType": {
"type": "string",
"description": "Token kinds an admin can create through the API.",
"enum": [
"tunnel"
]
},
"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
},
"operationResultContract": {
"description": "Opaque result-handling contract the registry must persist atomically\nwith command creation before the command becomes executable."
},
"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"
},
"created": {
"type": "boolean",
"description": "Whether this request created the returned command. False means an\nidempotent replay returned a command created by another request."
},
"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": {
"nullable": true,
"description": "Storage upload info (only for storage mode)",
"allOf": [
{
"$ref": "#/components/schemas/StorageUpload"
}
]
}
}
},
"CreateDeploymentGroupRequest": {
"type": "object",
"required": [
"name"
],
"properties": {
"environmentVariables": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EnvironmentVariable"
},
"description": "Environment variables applied to each deployment the group creates."
},
"inputValues": {
"type": "object",
"description": "Stack input values applied to each deployment the group creates.",
"additionalProperties": {}
},
"maxDeployments": {
"type": "integer",
"format": "int64"
},
"name": {
"type": "string"
}
}
},
"CreateDeploymentRequest": {
"type": "object",
"required": [
"name",
"platform"
],
"properties": {
"basePlatform": {
"nullable": true,
"description": "Base cloud for a Kubernetes installation; omitted for cloud-native targets.",
"allOf": [
{
"$ref": "#/components/schemas/Platform"
}
]
},
"deploymentGroupId": {
"type": "string",
"nullable": true
},
"environmentVariables": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EnvironmentVariable"
},
"nullable": true
},
"inputValues": {
"type": "object",
"description": "Stack input values, by input name. Stored with the deployment and read by every\ndeployment step, like the values a setup collects.",
"additionalProperties": {}
},
"name": {
"type": "string"
},
"pinnedReleaseId": {
"type": "string",
"nullable": true
},
"platform": {
"$ref": "#/components/schemas/Platform"
},
"resourcePrefix": {
"type": "string",
"nullable": true
},
"setupHandoff": {
"$ref": "#/components/schemas/SetupHandoff",
"description": "Reserve an installation before an external setup package creates resources."
},
"setupMethod": {
"type": "string",
"nullable": true
},
"stackSettings": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/StackSettings"
}
]
}
}
},
"CreateDeploymentResponse": {
"type": "object",
"required": [
"deployment",
"deploymentModel"
],
"properties": {
"deployment": {
"$ref": "#/components/schemas/DeploymentResponse"
},
"deploymentModel": {
"$ref": "#/components/schemas/DeploymentModel"
},
"token": {
"type": "string",
"nullable": true
}
}
},
"CreateReleaseChannelRequest": {
"type": "object",
"description": "Body of `POST /v1/release-channels`.",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Lowercase letters, digits and hyphens, starting with a letter."
},
"releaseId": {
"type": "string",
"description": "Release the channel starts at.",
"nullable": true
}
}
},
"CreateReleaseRequest": {
"type": "object",
"required": [
"stack",
"projectId"
],
"properties": {
"channel": {
"type": "string",
"description": "Channel the release advances; `production` when absent. Deployments\nfollowing the channel roll out to it.",
"nullable": true
},
"gitMetadata": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/GitMetadata"
}
]
},
"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
},
"CreateTokenRequest": {
"type": "object",
"required": [
"type"
],
"properties": {
"deploymentGroupId": {
"type": "string",
"description": "Limit the token to one deployment group's deployments.",
"nullable": true
},
"type": {
"$ref": "#/components/schemas/CreatableTokenType"
}
}
},
"CreateTokenResponse": {
"type": "object",
"required": [
"token",
"deploymentGroupId"
],
"properties": {
"deploymentGroupId": {
"type": "string"
},
"token": {
"type": "string"
}
}
},
"CreatedTokenResponse": {
"allOf": [
{
"$ref": "#/components/schemas/TokenResponse"
},
{
"type": "object",
"required": [
"token"
],
"properties": {
"token": {
"type": "string",
"description": "The raw token. Shown once; only its hash is stored."
}
}
}
]
},
"CustomCertificateConfig": {
"type": "object",
"description": "Platform-specific certificate references for custom domains.",
"properties": {
"aws": {
"nullable": true,
"description": "AWS ACM certificate ARN",
"allOf": [
{
"$ref": "#/components/schemas/AwsCustomCertificateConfig"
}
]
},
"azure": {
"nullable": true,
"description": "Azure Key Vault certificate ID",
"allOf": [
{
"$ref": "#/components/schemas/AzureCustomCertificateConfig"
}
]
},
"gcp": {
"nullable": true,
"description": "GCP Certificate Manager certificate name",
"allOf": [
{
"$ref": "#/components/schemas/GcpCustomCertificateConfig"
}
]
},
"kubernetes": {
"nullable": true,
"description": "Kubernetes TLS Secret reference for Secret-backed route profiles.",
"allOf": [
{
"$ref": "#/components/schemas/KubernetesCustomCertificateConfig"
}
]
}
}
},
"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."
}
}
},
"CustomPluginOperationsConfig": {
"allOf": [
{
"$ref": "#/components/schemas/PluginOperationsConfig",
"description": "Settings and approval rules."
},
{
"type": "object",
"required": [
"name",
"version"
],
"properties": {
"name": {
"type": "string",
"description": "Plugin name as published."
},
"version": {
"type": "string",
"description": "Exact published version."
}
}
}
],
"description": "A published custom plugin at an exact version."
},
"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",
"retain",
"erase",
"detach",
"forget"
]
},
"DeleteDeploymentRequest": {
"type": "object",
"required": [
"action"
],
"properties": {
"action": {
"$ref": "#/components/schemas/DeleteDeploymentAction"
}
}
},
"DeleteDeploymentResponse": {
"type": "object",
"required": [
"action",
"message"
],
"properties": {
"action": {
"$ref": "#/components/schemas/DeleteDeploymentAction",
"description": "Accepted deletion action."
},
"cleanupRequired": {
"type": "boolean",
"description": "Whether the caller must continue deleting setup-owned resources.",
"nullable": true
},
"message": {
"type": "string",
"description": "Human-readable summary of the accepted operation."
}
}
},
"DeploymentAcquireUnavailableReason": {
"type": "string",
"description": "Why an explicitly requested deployment was not acquired.\n\nThese reasons are intentionally bounded and do not identify the session\nthat owns a competing lease.",
"enum": [
"contended",
"deferred",
"statusMismatch",
"deploymentModelMismatch",
"platformMismatch",
"setupMethodMismatch",
"acquireModeMismatch",
"limitReached"
]
},
"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": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/DeploymentGroupMinimal"
}
]
},
"deploymentGroupId": {
"type": "string"
},
"deploymentProtocolVersion": {
"type": "integer",
"format": "int32",
"description": "State protocol stored on this deployment and required by its runtime.",
"minimum": 0
},
"desiredReleaseId": {
"type": "string",
"nullable": true
},
"environmentInfo": {},
"error": {},
"id": {
"type": "string"
},
"importSource": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/ImportSourceKind"
}
]
},
"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."
}
}
},
"DeploymentRoutingResponse": {
"type": "object",
"description": "What a deployment follows and the release that makes it run.",
"required": [
"deploymentId",
"channel"
],
"properties": {
"channel": {
"type": "string"
},
"deploymentId": {
"type": "string"
},
"pinnedReleaseId": {
"type": "string",
"nullable": true
},
"releaseId": {
"type": "string",
"description": "The release the deployment is sent: the pin, else the channel's release.",
"nullable": true
}
}
},
"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": {
"nullable": true,
"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.",
"allOf": [
{
"$ref": "#/components/schemas/PublicEndpointTargetSettings"
}
]
}
}
},
"DynamicContainerHealthCheck": {
"type": "object",
"required": [
"path",
"port"
],
"properties": {
"path": {
"type": "string"
},
"port": {
"type": "integer",
"format": "int32",
"minimum": 0
}
}
},
"DynamicContainerReport": {
"type": "object",
"description": "What the Operator observed after applying one target generation.",
"required": [
"name",
"generation",
"status"
],
"properties": {
"generation": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"message": {
"type": "string",
"nullable": true
},
"name": {
"type": "string"
},
"status": {
"$ref": "#/components/schemas/DynamicContainerStatus"
}
}
},
"DynamicContainerStatus": {
"type": "string",
"enum": [
"pending",
"running",
"failing",
"stopped"
]
},
"DynamodbKvBinding": {
"type": "object",
"description": "AWS DynamoDB KV binding configuration",
"required": [
"tableName",
"region"
],
"properties": {
"endpointUrl": {
"nullable": true,
"description": "Optional endpoint URL for local testing or custom endpoints",
"allOf": [
{
"$ref": "#/components/schemas/BindingValue_String"
}
]
},
"region": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "The AWS region where the table is located"
},
"tableName": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "The DynamoDB table name"
}
}
},
"EcrArtifactRegistryBinding": {
"type": "object",
"description": "AWS ECR (Elastic Container Registry) binding configuration",
"required": [
"repositoryPrefix"
],
"properties": {
"legacyRepositoryPrefixes": {
"type": "array",
"items": {
"type": "string"
},
"description": "Repository prefixes this registry used before `repositoryPrefix`. Images already released\nunder them stay readable and keep their cross-account grants; nothing new is written there."
},
"legacySandboxRepositoryPrefixes": {
"type": "array",
"items": {
"type": "string"
},
"description": "Sandbox namespaces this registry used before `sandboxRepositoryPrefix`, read the same way."
},
"pullRoleArn": {
"nullable": true,
"description": "ARN of the IAM role for pull permissions (optional — omit for single-account)",
"allOf": [
{
"$ref": "#/components/schemas/BindingValue_String"
}
]
},
"pushRoleArn": {
"nullable": true,
"description": "ARN of the IAM role for push+pull permissions (optional — omit for single-account)",
"allOf": [
{
"$ref": "#/components/schemas/BindingValue_String"
}
]
},
"repositoryPrefix": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "Repository prefix for this registry (used to construct ECR repository names)"
},
"sandboxRepositoryPrefix": {
"nullable": true,
"description": "Optional namespace for sandbox images served by regional ECR pull-through caches.\nConfigure cache rules before enabling this; workers keep using `repositoryPrefix`.",
"allOf": [
{
"$ref": "#/components/schemas/BindingValue_String"
}
]
}
}
},
"EndpointAccess": {
"type": "string",
"description": "Reachability of the deployment's public endpoints, fixed at setup.",
"enum": [
"internet",
"private"
]
},
"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": {
"nullable": true,
"description": "Optional W3C trace context for the command invocation.",
"allOf": [
{
"$ref": "#/components/schemas/TraceContext"
}
]
}
}
},
"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"
}
}
},
"ExecutionClaim": {
"type": "object",
"required": [
"operationId",
"attemptId"
],
"properties": {
"attemptId": {
"type": "string"
},
"operationId": {
"type": "string"
}
}
},
"ExposeProtocol": {
"type": "string",
"description": "Protocol for public workload endpoints.",
"enum": [
"http",
"tcp"
]
},
"ExternalAiBinding": {
"type": "object",
"description": "External AI provider binding configuration (BYO-key).\n\nThe operator-supplied secret rides inside the binding via\n`BindingValue<String>`, so it is a literal on cloud platforms and gains\nKubernetes SecretRef resolution for free (`extract_binding_secrets` walks\nthe binding JSON for `secretRef`).",
"required": [
"provider",
"apiKey"
],
"properties": {
"apiKey": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "The provider API key. Resolved to plaintext in the worker environment\n(literal on cloud, Kubernetes Secret on K8s) so the SDK reads it directly."
},
"provider": {
"type": "string",
"description": "The external AI provider name (e.g., \"openai\", \"anthropic\")"
}
}
},
"ExternalAiHeartbeatData": {
"type": "object",
"required": [
"status",
"provider"
],
"properties": {
"availability": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/AiAvailabilityObservation"
}
]
},
"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"
}
}
},
"ExternalBinding": {
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/StorageBinding",
"description": "External storage binding (S3-compatible, GCS, Blob Storage)"
},
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"storage"
]
}
}
}
],
"description": "External storage binding (S3-compatible, GCS, Blob Storage)"
},
{
"allOf": [
{
"$ref": "#/components/schemas/QueueBinding",
"description": "External queue binding (Kafka, SQS, etc.)"
},
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"queue"
]
}
}
}
],
"description": "External queue binding (Kafka, SQS, etc.)"
},
{
"allOf": [
{
"$ref": "#/components/schemas/KvBinding",
"description": "External KV binding (Redis, etc.)"
},
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"kv"
]
}
}
}
],
"description": "External KV binding (Redis, etc.)"
},
{
"allOf": [
{
"$ref": "#/components/schemas/ArtifactRegistryBinding",
"description": "External artifact registry binding (OCI registry)"
},
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"artifact_registry"
]
}
}
}
],
"description": "External artifact registry binding (OCI registry)"
},
{
"allOf": [
{
"$ref": "#/components/schemas/VaultBinding",
"description": "External vault binding (HashiCorp Vault, etc.)"
},
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"vault"
]
}
}
}
],
"description": "External vault binding (HashiCorp Vault, etc.)"
},
{
"allOf": [
{
"$ref": "#/components/schemas/ContainerAppsEnvironmentBinding",
"description": "External Azure Container Apps Environment binding (pre-existing environment)"
},
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"container_apps_environment"
]
}
}
}
],
"description": "External Azure Container Apps Environment binding (pre-existing environment)"
},
{
"allOf": [
{
"$ref": "#/components/schemas/PostgresBinding",
"description": "External Postgres binding (operator-provided / BYO database)"
},
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"postgres"
]
}
}
}
],
"description": "External Postgres binding (operator-provided / BYO database)"
},
{
"allOf": [
{
"$ref": "#/components/schemas/ExternalAiBinding",
"description": "External AI provider binding (BYO-key OpenAI/Anthropic, etc.)"
},
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"ai"
]
}
}
}
],
"description": "External AI provider binding (BYO-key OpenAI/Anthropic, etc.)"
}
],
"description": "Represents a binding to pre-existing infrastructure.\n\nThe binding type must match the resource type it's applied to.\nValidated at runtime by the executor."
},
"ExternalBindings": {
"type": "object",
"description": "Map from resource ID to external binding.\n\nValidated at runtime: binding type must match resource type.",
"additionalProperties": {
"$ref": "#/components/schemas/ExternalBinding"
}
},
"ExternalPasswordSecretKeyRef": {
"type": "object",
"required": [
"secretKeyRef"
],
"properties": {
"secretKeyRef": {
"$ref": "#/components/schemas/SecretReference"
}
},
"additionalProperties": false
},
"ExternalPasswordSecretRef": {
"type": "object",
"required": [
"secretRef"
],
"properties": {
"secretRef": {
"$ref": "#/components/schemas/SecretReference"
}
},
"additionalProperties": false
},
"ExternalPostgresBinding": {
"type": "object",
"description": "Operator-provided / BYO database binding.",
"required": [
"host",
"port",
"database",
"username",
"password"
],
"properties": {
"database": {
"$ref": "#/components/schemas/BindingValue_String"
},
"host": {
"$ref": "#/components/schemas/BindingValue_String"
},
"password": {
"oneOf": [
{
"oneOf": [
{
"type": "string"
},
{
"$ref": "#/components/schemas/ExternalPasswordSecretRef"
},
{
"$ref": "#/components/schemas/ExternalPasswordSecretKeyRef"
}
]
}
],
"description": "Connection password or Kubernetes Secret reference. Kubernetes workloads resolve\nthe reference through secretKeyRef before the application loads its binding."
},
"port": {
"$ref": "#/components/schemas/BindingValue_u16"
},
"sslMode": {
"$ref": "#/components/schemas/ExternalPostgresSslMode",
"description": "Explicit TLS policy. Missing legacy configuration defaults to verified TLS."
},
"username": {
"$ref": "#/components/schemas/BindingValue_String"
}
}
},
"ExternalPostgresSslMode": {
"type": "string",
"description": "TLS policy for an operator-provided / BYO Postgres database.\n\nUnlike libpq's ambiguous `prefer` mode, both choices map exactly to the\nconnection settings exposed by every supported SDK.",
"enum": [
"verify-full",
"disable"
]
},
"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
}
}
},
"FirestoreKvBinding": {
"type": "object",
"description": "GCP Firestore KV binding configuration",
"required": [
"projectId",
"databaseId",
"collectionName"
],
"properties": {
"collectionName": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "The collection name for KV storage"
},
"databaseId": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "The Firestore database ID (default \"(default)\")"
},
"projectId": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "The GCP project ID"
}
}
},
"FlexibleServerPostgresBinding": {
"type": "object",
"description": "Azure Flexible Server binding.",
"required": [
"host",
"port",
"database",
"username",
"passwordSecretUri"
],
"properties": {
"database": {
"$ref": "#/components/schemas/BindingValue_String"
},
"host": {
"$ref": "#/components/schemas/BindingValue_String"
},
"passwordSecretUri": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "Key Vault secret URI of the connection password; resolved at load time."
},
"port": {
"$ref": "#/components/schemas/BindingValue_u16"
},
"username": {
"$ref": "#/components/schemas/BindingValue_String"
}
}
},
"GarArtifactRegistryBinding": {
"type": "object",
"description": "Google Artifact Registry binding configuration",
"required": [
"repositoryName"
],
"properties": {
"pullServiceAccountEmail": {
"nullable": true,
"description": "Optional service account email for pull permissions (omit for single-project)",
"allOf": [
{
"$ref": "#/components/schemas/BindingValue_String"
}
]
},
"pushServiceAccountEmail": {
"nullable": true,
"description": "Optional service account email for push+pull permissions (omit for single-project)",
"allOf": [
{
"$ref": "#/components/schemas/BindingValue_String"
}
]
},
"repositoryName": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "Repository name in the Artifact Registry (e.g., \"alien-test\").\nUsed as the default when cross-account access methods are called\nwithout a specific repo name."
}
}
},
"GcpAgentPlatformSandboxHeartbeatData": {
"type": "object",
"description": "GCP: the Agent Platform template sandboxes are cut from, and the engine it hangs under.\n\nNo sandbox count: that needs `aiplatform.sandboxEnvironments.list`, which only the management\npermission set holds. No template state either — emission is gated on reading it `ACTIVE`,\nwhich is what `status` already says.",
"required": [
"status",
"engine",
"templateId"
],
"properties": {
"engine": {
"type": "string",
"description": "Reasoning engine the template hangs under, without which the template id names nothing."
},
"status": {
"$ref": "#/components/schemas/SandboxHeartbeatStatus"
},
"templateId": {
"type": "string",
"description": "The template sandboxes are currently cut from."
}
}
},
"GcpArtifactRegistryHeartbeatData": {
"type": "object",
"required": [
"status",
"projectId",
"location",
"repositoryId",
"labelCount",
"cleanupPolicyCount",
"kmsKeyNamePresent",
"iamPolicyEtagPresent",
"iamBindingCount",
"iamRoles"
],
"properties": {
"cleanupPolicyCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"cleanupPolicyDryRun": {
"type": "boolean",
"nullable": true
},
"createTime": {
"type": "string",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"format": {
"type": "string",
"nullable": true
},
"iamBindingCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"iamPolicyEtagPresent": {
"type": "boolean"
},
"iamRoles": {
"type": "array",
"items": {
"type": "string"
}
},
"kmsKeyNamePresent": {
"type": "boolean"
},
"labelCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"location": {
"type": "string"
},
"mode": {
"type": "string",
"nullable": true
},
"name": {
"type": "string",
"nullable": true
},
"projectId": {
"type": "string"
},
"pullServiceAccountEmail": {
"type": "string",
"nullable": true
},
"pushServiceAccountEmail": {
"type": "string",
"nullable": true
},
"repositoryId": {
"type": "string"
},
"satisfiesPzs": {
"type": "boolean",
"nullable": true
},
"sizeBytes": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/ArtifactRegistryHeartbeatStatus"
},
"updateTime": {
"type": "string",
"nullable": true
}
}
},
"GcpCloudBuildHeartbeatData": {
"type": "object",
"required": [
"status",
"projectId",
"location",
"buildConfigId",
"environmentVariableCount"
],
"properties": {
"buildConfigId": {
"type": "string"
},
"environmentVariableCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"location": {
"type": "string"
},
"projectId": {
"type": "string"
},
"serviceAccount": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/BuildHeartbeatStatus"
}
}
},
"GcpCloudKmsKeyHeartbeatData": {
"type": "object",
"required": [
"status",
"cryptoKeyName",
"purpose"
],
"properties": {
"algorithm": {
"type": "string",
"nullable": true
},
"cryptoKeyName": {
"type": "string"
},
"primaryState": {
"type": "string",
"nullable": true
},
"primaryVersion": {
"type": "string",
"nullable": true
},
"purpose": {
"type": "string"
},
"status": {
"$ref": "#/components/schemas/KeyHeartbeatStatus"
}
}
},
"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": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
},
"memory": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
},
"name": {
"type": "string"
},
"nodes": {
"$ref": "#/components/schemas/ObservedCounts"
},
"providerFleets": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProviderFleetStatus"
}
},
"region": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/ComputeClusterHeartbeatStatus"
}
}
},
"GcpCustomCertificateConfig": {
"type": "object",
"required": [
"certificateName"
],
"properties": {
"certificateName": {
"type": "string"
}
}
},
"GcpDaemonHeartbeatData": {
"type": "object",
"required": [
"status",
"horizonClusterId",
"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
}
}
},
"GcpFederationTrust": {
"type": "object",
"description": "The exact manager identity trusted by a deployment-owned identity pool.",
"required": [
"issuer",
"subject"
],
"properties": {
"issuer": {
"type": "string",
"description": "OIDC issuer; Google or the manager's Kubernetes issuer."
},
"subject": {
"type": "string",
"description": "Exact immutable Google account ID or Kubernetes service-account subject."
}
},
"additionalProperties": false
},
"GcpFirestoreKvHeartbeatData": {
"type": "object",
"required": [
"status",
"databaseName",
"cmekEnabled",
"sourceInfoPresent"
],
"properties": {
"appEngineIntegrationMode": {
"type": "string",
"nullable": true
},
"cmekEnabled": {
"type": "boolean"
},
"concurrencyMode": {
"type": "string",
"nullable": true
},
"createTime": {
"type": "string",
"nullable": true
},
"databaseEdition": {
"type": "string",
"nullable": true
},
"databaseName": {
"type": "string"
},
"databaseType": {
"type": "string",
"nullable": true
},
"deleteProtectionState": {
"type": "string",
"nullable": true
},
"deleteTime": {
"type": "string",
"nullable": true
},
"earliestVersionTime": {
"type": "string",
"nullable": true
},
"endpoint": {
"type": "string",
"nullable": true
},
"locationId": {
"type": "string",
"nullable": true
},
"pointInTimeRecoveryEnablement": {
"type": "string",
"nullable": true
},
"projectId": {
"type": "string",
"nullable": true
},
"sourceInfoPresent": {
"type": "boolean"
},
"status": {
"$ref": "#/components/schemas/KvHeartbeatStatus"
},
"updateTime": {
"type": "string",
"nullable": true
},
"versionRetentionPeriod": {
"type": "string",
"nullable": true
}
}
},
"GcpManagementConfig": {
"type": "object",
"description": "GCP management configuration extracted from stack settings",
"required": [
"serviceAccountEmail"
],
"properties": {
"federationTrust": {
"nullable": true,
"description": "Available on managers supporting customer-owned target federation.\nNew GCP setup requires this capability; unaffected cloud metadata stays readable.",
"allOf": [
{
"$ref": "#/components/schemas/GcpFederationTrust"
}
]
},
"serviceAccountEmail": {
"type": "string",
"description": "Linked source account metadata; never a direct target trust grant."
}
}
},
"GcpPubSubQueueHeartbeatData": {
"type": "object",
"required": [
"status",
"topicName",
"topicLabels",
"subscriptionLabels",
"messageStorageAllowedPersistenceRegions",
"subscriptionPushAttributes"
],
"properties": {
"endpoint": {
"type": "string",
"nullable": true
},
"kmsKeyName": {
"type": "string",
"nullable": true
},
"messageStorageAllowedPersistenceRegions": {
"type": "array",
"items": {
"type": "string"
}
},
"messageStorageEnforceInTransit": {
"type": "boolean",
"nullable": true
},
"projectId": {
"type": "string",
"nullable": true
},
"schemaEncoding": {
"type": "string",
"nullable": true
},
"schemaFirstRevisionId": {
"type": "string",
"nullable": true
},
"schemaLastRevisionId": {
"type": "string",
"nullable": true
},
"schemaName": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/QueueHeartbeatStatus"
},
"subscriptionAckDeadlineSeconds": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"subscriptionDeadLetterMaxDeliveryAttempts": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"subscriptionDeadLetterTopic": {
"type": "string",
"nullable": true
},
"subscriptionDetached": {
"type": "boolean",
"nullable": true
},
"subscriptionEnableMessageOrdering": {
"type": "boolean",
"nullable": true
},
"subscriptionFilter": {
"type": "string",
"nullable": true
},
"subscriptionFullName": {
"type": "string",
"nullable": true
},
"subscriptionLabels": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"subscriptionMessageRetentionDuration": {
"type": "string",
"nullable": true
},
"subscriptionName": {
"type": "string",
"nullable": true
},
"subscriptionPushAttributes": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"subscriptionPushConfigPresent": {
"type": "boolean",
"nullable": true
},
"subscriptionPushEndpoint": {
"type": "string",
"nullable": true
},
"subscriptionPushNoWrapperWriteMetadata": {
"type": "boolean",
"nullable": true
},
"subscriptionPushOidcAudience": {
"type": "string",
"nullable": true
},
"subscriptionPushOidcServiceAccountEmail": {
"type": "string",
"nullable": true
},
"subscriptionPushPubsubWrapperWriteMetadata": {
"type": "boolean",
"nullable": true
},
"subscriptionRetainAckedMessages": {
"type": "boolean",
"nullable": true
},
"subscriptionState": {
"type": "string",
"nullable": true
},
"topicFullName": {
"type": "string",
"nullable": true
},
"topicLabels": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"topicMessageRetentionDuration": {
"type": "string",
"nullable": true
},
"topicName": {
"type": "string"
},
"topicState": {
"type": "string",
"nullable": true
}
}
},
"GcpRemoteStackManagementHeartbeatData": {
"type": "object",
"required": [
"status",
"roleBound",
"impersonationGranted"
],
"properties": {
"impersonationGranted": {
"type": "boolean"
},
"roleBound": {
"type": "boolean"
},
"serviceAccountEmail": {
"type": "string",
"nullable": true
},
"serviceAccountUniqueId": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/RemoteStackManagementHeartbeatStatus"
}
}
},
"GcpSecretManagerVaultHeartbeatData": {
"type": "object",
"required": [
"status",
"projectId",
"location",
"prefix",
"secretMetadataListed"
],
"properties": {
"location": {
"type": "string"
},
"prefix": {
"type": "string"
},
"projectId": {
"type": "string"
},
"secretMetadataListed": {
"type": "boolean"
},
"status": {
"$ref": "#/components/schemas/VaultHeartbeatStatus"
}
}
},
"GcpServiceAccountHeartbeatData": {
"type": "object",
"required": [
"status",
"email",
"projectBindingCount",
"projectRoles",
"serviceAccountBindingCount",
"serviceAccountRoles"
],
"properties": {
"description": {
"type": "string",
"nullable": true
},
"disabled": {
"type": "boolean",
"nullable": true
},
"displayName": {
"type": "string",
"nullable": true
},
"email": {
"type": "string"
},
"etag": {
"type": "string",
"nullable": true
},
"name": {
"type": "string",
"nullable": true
},
"oauth2ClientId": {
"type": "string",
"nullable": true
},
"projectBindingCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"projectId": {
"type": "string",
"nullable": true
},
"projectRoles": {
"type": "array",
"items": {
"type": "string"
}
},
"serviceAccountBindingCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"serviceAccountRoles": {
"type": "array",
"items": {
"type": "string"
}
},
"status": {
"$ref": "#/components/schemas/ServiceAccountHeartbeatStatus"
},
"uniqueId": {
"type": "string",
"nullable": true
}
}
},
"GcpServiceUsageActivationHeartbeatData": {
"type": "object",
"required": [
"status",
"projectId",
"serviceName",
"enabled"
],
"properties": {
"enabled": {
"type": "boolean"
},
"lastOperationName": {
"type": "string",
"nullable": true
},
"projectId": {
"type": "string"
},
"serviceName": {
"type": "string"
},
"serviceResourceName": {
"type": "string",
"nullable": true
},
"state": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/ServiceActivationHeartbeatStatus"
},
"title": {
"type": "string",
"nullable": true
}
}
},
"GcpVertexAiHeartbeatData": {
"type": "object",
"required": [
"status",
"project",
"location",
"availability"
],
"properties": {
"availability": {
"$ref": "#/components/schemas/AiAvailabilityObservation"
},
"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
}
}
},
"GcsStorageBinding": {
"type": "object",
"description": "Google Cloud Storage binding configuration",
"required": [
"bucketName"
],
"properties": {
"bucketName": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "The name of the GCS bucket"
}
}
},
"GetSecretResponse": {
"type": "object",
"description": "Response body for getting a secret.",
"required": [
"value"
],
"properties": {
"value": {
"type": "string"
}
}
},
"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": {
"maxSetupImportFormatVersion": {
"type": "integer",
"format": "int32",
"description": "Newest setup registration format accepted by this manager.",
"minimum": 0
},
"minSetupImportFormatVersion": {
"type": "integer",
"format": "int32",
"description": "Oldest setup registration format accepted by this manager.",
"minimum": 0
},
"operationResultContract": {
"type": "boolean",
"description": "True when operation result contracts are persisted before commands\nbecome executable."
},
"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"
]
},
"HelmRelease": {
"type": "object",
"description": "A Helm release, identified by its name and namespace.",
"required": [
"name",
"namespace"
],
"properties": {
"name": {
"type": "string",
"description": "Release name, as passed to `helm install`."
},
"namespace": {
"type": "string",
"description": "Kubernetes namespace the release is installed in."
}
}
},
"HorizonContainerHeartbeatData": {
"type": "object",
"required": [
"status",
"containerId",
"schedulingMode",
"replicas",
"attentionCount",
"replicaUnits",
"events"
],
"properties": {
"attentionCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"containerId": {
"type": "string"
},
"cpu": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
},
"events": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ManagedRuntimeEventSnapshot"
}
},
"image": {
"type": "string",
"nullable": true
},
"latestUpdateTimestamp": {
"type": "string",
"nullable": true
},
"memory": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
},
"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": {
"nullable": true,
"description": "Optional base cloud platform for Kubernetes setup targets such as\nEKS/GKE/AKS. The runtime platform remains Kubernetes.",
"allOf": [
{
"$ref": "#/components/schemas/Platform"
}
]
},
"helmRelease": {
"nullable": true,
"description": "Helm release that installed this deployment, for `helm` setups. Lets\nthe manager tell the deployment owner the exact `helm uninstall`\ncommand. Older clients omit it.",
"allOf": [
{
"$ref": "#/components/schemas/HelmRelease"
}
]
},
"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": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/Platform"
}
]
},
"publicSubdomain": {
"type": "string",
"description": "Subdomain to request under the generated domain, used by stores that assign one.",
"nullable": true
},
"resourcePrefix": {
"type": "string",
"description": "Stable prefix for resources owned by this deployment.",
"nullable": true
},
"scope": {
"type": "string",
"nullable": true
},
"setupItem": {
"type": "string",
"description": "Customer setup item selected from the deployment-group contract.",
"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": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/StackSettings"
}
]
}
}
},
"InitializeResponse": {
"type": "object",
"required": [
"deploymentId",
"deploymentModel"
],
"properties": {
"deploymentId": {
"type": "string"
},
"deploymentModel": {
"$ref": "#/components/schemas/DeploymentModel"
},
"token": {
"type": "string",
"nullable": true
}
}
},
"KeyHeartbeatData": {
"oneOf": [
{
"type": "object",
"required": [
"data",
"provider"
],
"properties": {
"data": {
"$ref": "#/components/schemas/AwsKmsKeyHeartbeatData"
},
"provider": {
"type": "string",
"enum": [
"aws-kms"
]
}
}
},
{
"type": "object",
"required": [
"data",
"provider"
],
"properties": {
"data": {
"$ref": "#/components/schemas/GcpCloudKmsKeyHeartbeatData"
},
"provider": {
"type": "string",
"enum": [
"gcp-cloud-kms"
]
}
}
},
{
"type": "object",
"required": [
"data",
"provider"
],
"properties": {
"data": {
"$ref": "#/components/schemas/AzureKeyVaultKeyHeartbeatData"
},
"provider": {
"type": "string",
"enum": [
"azure-key-vault"
]
}
}
}
]
},
"KeyHeartbeatStatus": {
"type": "object",
"required": [
"health",
"lifecycle"
],
"properties": {
"health": {
"$ref": "#/components/schemas/ObservedHealth"
},
"lifecycle": {
"$ref": "#/components/schemas/ProviderLifecycleState"
},
"message": {
"type": "string",
"nullable": true
}
}
},
"KeyVaultBinding": {
"type": "object",
"description": "Azure Key Vault binding configuration",
"required": [
"vaultName"
],
"properties": {
"vaultName": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "The Key Vault name"
}
}
},
"KubernetesBuildHeartbeatData": {
"type": "object",
"required": [
"status",
"jobName",
"namespace",
"conditionCount",
"events"
],
"properties": {
"active": {
"type": "integer",
"format": "int32",
"nullable": true
},
"completionTime": {
"type": "string",
"format": "date-time",
"nullable": true
},
"conditionCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"events": {
"type": "array",
"items": {
"$ref": "#/components/schemas/KubernetesEventSnapshot"
}
},
"failed": {
"type": "integer",
"format": "int32",
"nullable": true
},
"imageDigest": {
"type": "string",
"nullable": true
},
"jobName": {
"type": "string"
},
"namespace": {
"type": "string"
},
"startTime": {
"type": "string",
"format": "date-time",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/BuildHeartbeatStatus"
},
"succeeded": {
"type": "integer",
"format": "int32",
"nullable": true
}
}
},
"KubernetesCertificateMode": {
"oneOf": [
{
"type": "object",
"description": "Platform-managed cert imported into AWS ACM by the runtime.",
"required": [
"mode"
],
"properties": {
"mode": {
"type": "string",
"enum": [
"managedAcmImport"
]
},
"region": {
"type": "string",
"description": "ACM region. Defaults to the deployment region when omitted.",
"nullable": true
},
"tags": {
"type": "object",
"description": "Tags applied to runtime-imported ACM certificates.",
"additionalProperties": {
"type": "string"
}
}
}
},
{
"type": "object",
"description": "Customer-provided AWS ACM certificate ARN.",
"required": [
"certificateArn",
"mode"
],
"properties": {
"certificateArn": {
"type": "string",
"description": "Existing ACM certificate ARN."
},
"mode": {
"type": "string",
"enum": [
"awsAcmArn"
]
}
}
},
{
"type": "object",
"description": "Platform-managed cert written to a Kubernetes TLS Secret.",
"required": [
"secretNameTemplate",
"mode"
],
"properties": {
"mode": {
"type": "string",
"enum": [
"managedTlsSecret"
]
},
"secretNameTemplate": {
"type": "string",
"description": "Secret name template. Runtime may substitute resource/deployment tokens."
}
}
},
{
"allOf": [
{
"$ref": "#/components/schemas/KubernetesTlsSecretRef",
"description": "Customer-provided Kubernetes TLS Secret."
},
{
"type": "object",
"required": [
"mode"
],
"properties": {
"mode": {
"type": "string",
"enum": [
"tlsSecretRef"
]
}
}
}
],
"description": "Customer-provided Kubernetes TLS Secret."
},
{
"type": "object",
"description": "No TLS certificate should be configured by Alien.",
"required": [
"mode"
],
"properties": {
"mode": {
"type": "string",
"enum": [
"none"
]
}
}
}
],
"description": "Certificate publication or reference mode for Kubernetes public endpoints."
},
"KubernetesCloudReference": {
"type": "object",
"description": "Optional provider-specific identity for a cloud-backed Kubernetes cluster.",
"properties": {
"accountId": {
"type": "string",
"nullable": true
},
"clusterId": {
"type": "string",
"nullable": true
},
"clusterName": {
"type": "string",
"nullable": true
},
"projectId": {
"type": "string",
"nullable": true
},
"region": {
"type": "string",
"nullable": true
},
"resourceGroup": {
"type": "string",
"nullable": true
},
"subscriptionId": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"KubernetesClusterHeartbeatData": {
"type": "object",
"required": [
"status",
"nodeCounts",
"podCounts",
"name",
"events"
],
"properties": {
"cpu": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
},
"events": {
"type": "array",
"items": {
"$ref": "#/components/schemas/KubernetesEventSnapshot"
}
},
"memory": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
},
"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": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/KubernetesNodeUsage"
}
]
}
}
},
"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": {
"nullable": true,
"description": "Optional provider-specific cloud identity for existing clusters.",
"allOf": [
{
"$ref": "#/components/schemas/KubernetesCloudReference"
}
]
},
"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": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
},
"events": {
"type": "array",
"items": {
"$ref": "#/components/schemas/KubernetesEventSnapshot"
}
},
"memory": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
},
"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": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/KubernetesWorkloadStatus"
}
]
},
"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": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
},
"events": {
"type": "array",
"items": {
"$ref": "#/components/schemas/KubernetesEventSnapshot"
}
},
"memory": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
},
"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": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/KubernetesWorkloadStatus"
}
]
}
}
},
"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": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/KubernetesEventInvolvedObject"
}
]
},
"lastTimestamp": {
"type": "string",
"format": "date-time",
"nullable": true
},
"message": {
"type": "string"
},
"raw": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/Value"
}
]
},
"reason": {
"type": "string"
},
"source": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/KubernetesEventSource"
}
]
},
"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."
}
}
},
{
"type": "object",
"description": "Give each named public endpoint a hostname below a customer-owned base domain.",
"required": [
"baseDomain",
"route",
"certificate",
"mode"
],
"properties": {
"baseDomain": {
"type": "string",
"description": "DNS name without a wildcard or URL scheme, for example `app.example.com`."
},
"certificate": {
"$ref": "#/components/schemas/KubernetesCertificateMode",
"description": "One customer-owned certificate reference covering every endpoint hostname."
},
"mode": {
"type": "string",
"enum": [
"customBaseDomain"
]
},
"route": {
"$ref": "#/components/schemas/KubernetesRouteProfile",
"description": "Route profile shared by all public endpoints."
}
}
}
],
"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": {
"nullable": true,
"description": "Provider-specific route options that are required by the selected class.",
"allOf": [
{
"$ref": "#/components/schemas/KubernetesRouteProviderOptions"
}
]
}
}
},
"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": {
"nullable": true,
"description": "Provider-specific route options that are required by the selected class.",
"allOf": [
{
"$ref": "#/components/schemas/KubernetesRouteProviderOptions"
}
]
}
}
},
"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": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
},
"memory": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
},
"pods": {
"type": "integer",
"format": "int64",
"minimum": 0,
"nullable": true
}
}
},
"KubernetesNodeUsage": {
"type": "object",
"properties": {
"cpu": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
},
"memory": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
}
}
},
"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": {
"containers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ContainerImageIdentity"
}
},
"cpu": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
},
"memory": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
},
"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."
},
"KubernetesSandboxHeartbeatData": {
"type": "object",
"description": "Kubernetes: pods carrying the sandbox label, in the deployment's namespace.",
"required": [
"status",
"namespace",
"activeSessions",
"idlePods"
],
"properties": {
"activeSessions": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"idlePods": {
"type": "integer",
"format": "int32",
"description": "Claimed but unused pods waiting in the pool.",
"minimum": 0
},
"namespace": {
"type": "string"
},
"status": {
"$ref": "#/components/schemas/SandboxHeartbeatStatus"
}
}
},
"KubernetesSecretVaultBinding": {
"type": "object",
"description": "Kubernetes Secrets vault binding configuration",
"required": [
"namespace",
"vaultPrefix"
],
"properties": {
"namespace": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "The Kubernetes namespace where secrets are stored"
},
"vaultPrefix": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "The vault prefix for secret names (e.g., \"acme-monitoring-secrets\")"
}
}
},
"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": {
"nullable": true,
"description": "Cluster selection or creation settings.",
"allOf": [
{
"$ref": "#/components/schemas/KubernetesClusterSettings"
}
]
},
"exposure": {
"nullable": true,
"description": "Public HTTPS exposure contract shared by setup, Helm, and runtime.",
"allOf": [
{
"$ref": "#/components/schemas/KubernetesExposureSettings"
}
]
}
}
},
"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": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
},
"events": {
"type": "array",
"items": {
"$ref": "#/components/schemas/KubernetesEventSnapshot"
}
},
"memory": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
},
"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": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/KubernetesWorkloadStatus"
}
]
},
"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
}
}
},
"KvBinding": {
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/DynamodbKvBinding",
"description": "AWS DynamoDB binding"
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"dynamodb"
]
}
}
}
],
"description": "AWS DynamoDB binding"
},
{
"allOf": [
{
"$ref": "#/components/schemas/FirestoreKvBinding",
"description": "GCP Firestore binding"
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"firestore"
]
}
}
}
],
"description": "GCP Firestore binding"
},
{
"allOf": [
{
"$ref": "#/components/schemas/TableStorageKvBinding",
"description": "Azure Table Storage binding"
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"tablestorage"
]
}
}
}
],
"description": "Azure Table Storage binding"
},
{
"allOf": [
{
"$ref": "#/components/schemas/RedisKvBinding",
"description": "Redis binding (for Kubernetes/local)"
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"redis"
]
}
}
}
],
"description": "Redis binding (for Kubernetes/local)"
},
{
"allOf": [
{
"$ref": "#/components/schemas/LocalKvBinding",
"description": "Local development KV (for testing)"
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"local-kv"
]
}
}
}
],
"description": "Local development KV (for testing)"
}
],
"description": "Represents a KV binding for key-value storage across platforms"
},
"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
}
}
},
"ListReleaseChannelsResponse": {
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReleaseChannelResponse"
}
}
}
},
"ListReleasesResponse": {
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReleaseResponse"
},
"description": "Releases the caller may read, newest first."
}
}
},
"ListTokensResponse": {
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TokenResponse"
}
}
}
},
"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
}
}
},
"LocalArtifactRegistryBinding": {
"type": "object",
"description": "Local container registry binding configuration.\n\nThe local registry runs on localhost only and does not require authentication.\nSecurity boundary is the OS process isolation on the customer's machine.\nExternal image access is secured by the manager's registry proxy (deployment tokens).",
"required": [
"registryUrl",
"dataDir"
],
"properties": {
"dataDir": {
"$ref": "#/components/schemas/BindingValue_Option_String",
"description": "Optional base directory for registry data"
},
"registryUrl": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "The registry URL endpoint (e.g., \"localhost:5000\")"
}
}
},
"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": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/LocalRuntimeUnitStatus"
}
]
},
"cpu": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
},
"events": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LocalRuntimeEventSnapshot"
}
},
"image": {
"type": "string",
"nullable": true
},
"localUrl": {
"type": "string",
"nullable": true
},
"memory": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
},
"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": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/LocalRuntimeUnitStatus"
}
]
},
"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"
}
}
},
"LocalHttpQueueBinding": {
"type": "object",
"description": "Connection to one manager-owned local queue. Old SDKs reject its distinct service tag.",
"required": [
"endpoint"
],
"properties": {
"endpoint": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "Queue operation endpoint on the existing manager listener."
},
"token": {
"type": "string",
"description": "Queue-scoped credential, injected at process start rather than persisted in stack state.",
"nullable": true
}
}
},
"LocalKvBinding": {
"type": "object",
"description": "Local development KV binding configuration",
"required": [
"dataDir"
],
"properties": {
"dataDir": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "The base data directory for local storage"
},
"keyPrefix": {
"nullable": true,
"description": "Optional key prefix for namespacing",
"allOf": [
{
"$ref": "#/components/schemas/BindingValue_String"
}
]
}
}
},
"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"
]
},
"LocalPostgresBinding": {
"type": "object",
"description": "Local embedded Postgres binding.",
"required": [
"host",
"port",
"database",
"username",
"password"
],
"properties": {
"database": {
"$ref": "#/components/schemas/BindingValue_String"
},
"host": {
"$ref": "#/components/schemas/BindingValue_String"
},
"password": {
"type": "string"
},
"port": {
"$ref": "#/components/schemas/BindingValue_u16"
},
"username": {
"$ref": "#/components/schemas/BindingValue_String"
}
}
},
"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"
}
}
},
"LocalQueueBinding": {
"type": "object",
"description": "Local queue parameters",
"required": [
"queuePath"
],
"properties": {
"queuePath": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "Path to the queue's data directory; the `localqueue.v1` SQLite database\n(`localqueue.sqlite`) lives inside it"
}
}
},
"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": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/Value"
}
]
},
"severity": {
"$ref": "#/components/schemas/HeartbeatIssueSeverity"
},
"subject": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/LocalRuntimeEventSubject"
}
]
},
"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": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
},
"kind": {
"$ref": "#/components/schemas/LocalRuntimeUnitKind"
},
"memory": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
},
"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"
}
}
},
"LocalSandboxHeartbeatData": {
"type": "object",
"description": "Local: containers Docker still holds for this sandbox.",
"required": [
"status",
"activeSessions",
"routeServing"
],
"properties": {
"activeSessions": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"routeServing": {
"type": "boolean",
"description": "Whether the loopback route is serving in this process. False after a manager restart until\nthe next tick rebinds it."
},
"status": {
"$ref": "#/components/schemas/SandboxHeartbeatStatus"
}
}
},
"LocalServiceAccountHeartbeatData": {
"type": "object",
"required": [
"status",
"identity",
"configured"
],
"properties": {
"configured": {
"type": "boolean"
},
"identity": {
"type": "string"
},
"status": {
"$ref": "#/components/schemas/ServiceAccountHeartbeatStatus"
}
}
},
"LocalStorageBinding": {
"type": "object",
"description": "Local filesystem storage binding configuration",
"required": [
"storagePath"
],
"properties": {
"storagePath": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "The storage directory path (file:// URL or absolute path)"
}
}
},
"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"
}
}
},
"LocalVaultBinding": {
"type": "object",
"description": "Local development vault binding (for testing/development)",
"required": [
"vaultName",
"dataDir"
],
"properties": {
"dataDir": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "Directory where vault secrets are stored"
},
"vaultName": {
"type": "string",
"description": "The vault name for local storage"
}
}
},
"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": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
},
"events": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LocalRuntimeEventSnapshot"
}
},
"imagePathPresent": {
"type": "boolean"
},
"memory": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
},
"pid": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"process": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/LocalRuntimeUnitStatus"
}
]
},
"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": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
},
"machines": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MachinesComputeMachineStatus"
}
},
"memory": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
},
"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": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/Value"
}
]
},
"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": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/Value"
}
]
},
"eventId": {
"type": "string",
"nullable": true
},
"eventTime": {
"type": "string",
"format": "date-time",
"nullable": true
},
"firstTimestamp": {
"type": "string",
"format": "date-time",
"nullable": true
},
"involvedObject": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/ManagedRuntimeEventInvolvedObject"
}
]
},
"lastTimestamp": {
"type": "string",
"format": "date-time",
"nullable": true
},
"message": {
"type": "string"
},
"raw": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/Value"
}
]
},
"reason": {
"type": "string"
},
"source": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/ManagedRuntimeEventSource"
}
]
},
"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": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
},
"image": {
"type": "string",
"description": "Image this replica runs.",
"nullable": true
},
"ip": {
"type": "string",
"nullable": true
},
"machineId": {
"type": "string",
"nullable": true
},
"memory": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/MetricSample"
}
]
},
"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."
},
"ManagerCapabilities": {
"type": "object",
"required": [
"tunnels",
"charts"
],
"properties": {
"charts": {
"type": "boolean",
"description": "Helm charts at `oci://<registryHost>/charts/<stack>`."
},
"tunnels": {
"type": "boolean",
"description": "Requests into deployments through `/v1/deployments/{id}/tunnels/...`."
}
}
},
"ManagerInfoResponse": {
"type": "object",
"required": [
"url",
"registryHost",
"version",
"capabilities"
],
"properties": {
"bundleSigningKey": {
"type": "string",
"description": "Public key (`ed25519:<base64>`) that air-gapped environments verify\nbundles from this manager with.",
"nullable": true
},
"capabilities": {
"$ref": "#/components/schemas/ManagerCapabilities",
"description": "Features this manager serves."
},
"operatorImage": {
"type": "string",
"description": "Operator image the charts this manager serves install.",
"nullable": true
},
"registryHost": {
"type": "string",
"description": "Registry host (`host[:port]`) release images and charts are pulled from."
},
"url": {
"type": "string",
"description": "Public URL deployments and customers use to reach this manager."
},
"version": {
"type": "string",
"description": "Manager version."
}
}
},
"MetricSample": {
"type": "object",
"required": [
"value",
"unit"
],
"properties": {
"unit": {
"$ref": "#/components/schemas/MetricUnit"
},
"value": {
"type": "number",
"format": "double"
}
}
},
"MetricUnit": {
"type": "string",
"enum": [
"count",
"percent",
"bytes",
"cores",
"milliseconds",
"requests-per-second"
]
},
"NetworkHeartbeatData": {
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/AwsVpcNetworkHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"awsVpc"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/GcpVpcNetworkHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"gcpVpc"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/AzureVnetNetworkHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"azureVnet"
]
}
}
}
]
}
]
},
"NetworkHeartbeatStatus": {
"type": "object",
"required": [
"health",
"lifecycle",
"stale",
"partial",
"collectionIssues"
],
"properties": {
"collectionIssues": {
"type": "array",
"items": {
"$ref": "#/components/schemas/HeartbeatCollectionIssue"
}
},
"health": {
"$ref": "#/components/schemas/ObservedHealth"
},
"lifecycle": {
"$ref": "#/components/schemas/ProviderLifecycleState"
},
"message": {
"type": "string",
"nullable": true
},
"partial": {
"type": "boolean"
},
"stale": {
"type": "boolean"
}
}
},
"NetworkSettings": {
"oneOf": [
{
"type": "object",
"description": "Use the cloud provider's default VPC/network.\n\nDesigned for fast dev/test provisioning. No isolated VPC is created, so there\nis nothing to wait for or clean up. VMs receive ephemeral public IPs for internet\naccess — no NAT gateway is provisioned.\n\n- **AWS**: Discovers the account's default VPC. Subnets are public with auto-assigned IPs.\n- **GCP**: Discovers the project's `default` network and regional subnet. Instance\n templates include an `AccessConfig` to assign an ephemeral external IP.\n- **Azure**: Azure has no default VNet, so one is created along with a NAT Gateway.\n VMs stay private and use NAT for egress.\n\nNot recommended for production. Use `Create` instead.",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"use-default"
]
}
}
},
{
"type": "object",
"description": "Create a new isolated VPC/VNet with a managed NAT gateway.\n\nAll networking infrastructure is provisioned by Alien and cleaned up on delete.\nVMs use private IPs only; all outbound traffic routes through the NAT gateway.\n\nRecommended for production deployments.",
"required": [
"type"
],
"properties": {
"availability_zones": {
"type": "integer",
"format": "int32",
"description": "Number of availability zones (default: 2).",
"minimum": 0
},
"cidr": {
"type": "string",
"description": "VPC/VNet CIDR block. If not specified, auto-generated from stack ID\nto reduce conflicts (e.g., \"10.{hash}.0.0/16\").",
"nullable": true
},
"type": {
"type": "string",
"enum": [
"create"
]
}
}
},
{
"type": "object",
"description": "Use an existing VPC (AWS).\n\nAlien validates the references but creates no networking infrastructure.\nThe customer is responsible for routing and egress (NAT, proxy, VPN, etc.).",
"required": [
"vpc_id",
"public_subnet_ids",
"private_subnet_ids",
"type"
],
"properties": {
"private_subnet_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "IDs of private subnets"
},
"public_subnet_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "IDs of public subnets (required for public ingress)"
},
"security_group_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional security group IDs to use"
},
"type": {
"type": "string",
"enum": [
"byo-vpc-aws"
]
},
"vpc_id": {
"type": "string",
"description": "The ID of the existing VPC"
}
}
},
{
"type": "object",
"description": "Use an existing VPC (GCP).\n\nAlien validates the references but creates no networking infrastructure.\nThe customer is responsible for routing and egress (Cloud NAT, proxy, VPN, etc.).",
"required": [
"network_name",
"subnet_name",
"region",
"type"
],
"properties": {
"network_name": {
"type": "string",
"description": "The name of the existing VPC network"
},
"region": {
"type": "string",
"description": "The region of the subnet"
},
"subnet_name": {
"type": "string",
"description": "The name of the subnet to use"
},
"type": {
"type": "string",
"enum": [
"byo-vpc-gcp"
]
}
}
},
{
"type": "object",
"description": "Use an existing VNet (Azure).\n\nAlien validates the references but creates no networking infrastructure.\nThe customer is responsible for routing and egress (NAT Gateway, proxy, VPN, etc.).",
"required": [
"vnet_resource_id",
"public_subnet_name",
"private_subnet_name",
"type"
],
"properties": {
"application_gateway_subnet_name": {
"type": "string",
"description": "Name of the dedicated classic Application Gateway subnet within the VNet.",
"nullable": true
},
"private_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."
},
"ObservedApplicationImage": {
"type": "object",
"description": "A container image running in one observed application workload.",
"required": [
"workload",
"container",
"image"
],
"properties": {
"container": {
"type": "string",
"description": "Container name within the workload."
},
"digest": {
"type": "string",
"description": "Registry manifest digest in `sha256:<hex>` form, when the runtime\nreports one.",
"nullable": true
},
"image": {
"type": "string",
"description": "Image reference reported by the container runtime."
},
"workload": {
"type": "string",
"description": "Inventory identity of the workload, matching the `rawIdentity` of its\nobserved resource sample (for example `apps/v1:Deployment:shop:api`)."
}
}
},
"ObservedApplicationReport": {
"type": "object",
"description": "Application release the Operator observes running in its environment.\n\nThis identifies the customer's application, not the Operator: the\nOperator's own image is reported separately as [`OperatorImageReport`].",
"required": [
"source",
"complete",
"observedAt"
],
"properties": {
"chartName": {
"type": "string",
"description": "Helm chart name from the workloads' `helm.sh/chart` label. Present only\nwhen every labelled workload names the same chart.",
"nullable": true
},
"chartVersion": {
"type": "string",
"description": "Helm chart version from the same label.",
"nullable": true
},
"complete": {
"type": "boolean",
"description": "Whether every workload kind could be listed. When `false`, the chart\nand images describe only the workloads the Operator could read."
},
"images": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObservedApplicationImage"
},
"description": "Distinct container images running in the observed workloads."
},
"observedAt": {
"type": "string",
"format": "date-time",
"description": "When the workloads were read."
},
"source": {
"$ref": "#/components/schemas/ObservedApplicationSource",
"description": "Where this identity was read from."
}
}
},
"ObservedApplicationSource": {
"type": "string",
"description": "Where the Operator read the application identity from.",
"enum": [
"kubernetes"
]
},
"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": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/ObservedCounts"
}
]
},
"deploymentId": {
"type": "string",
"nullable": true
},
"displayName": {
"type": "string"
},
"health": {
"$ref": "#/components/schemas/ObservedHealth"
},
"images": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ContainerImageIdentity"
},
"description": "Distinct container images the resource's running instances report, when\nthe provider exposes them."
},
"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": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/ResourceType"
}
]
},
"scope": {
"type": "string",
"nullable": true
},
"version": {
"type": "string",
"description": "Release/version identity observed from the provider resource, when available.",
"nullable": true
}
}
},
"OperationApproval": {
"oneOf": [
{
"$ref": "#/components/schemas/OperationApprovalDecision",
"description": "Run without approval, or require it."
},
{
"type": "object",
"description": "A decision plus the highest risk tier a wildcard access request may cover.",
"required": [
"decision"
],
"properties": {
"decision": {
"$ref": "#/components/schemas/OperationApprovalDecision",
"description": "Run without approval, or require it."
},
"maxRisk": {
"type": "string",
"description": "Highest risk tier (`read-only`, `mutating`, `destructive`) a wildcard\naccess request for these operations may cover.",
"nullable": true
}
}
}
],
"description": "Approval rule for the operations a pattern matches."
},
"OperationApprovalDecision": {
"type": "string",
"description": "Whether matching operations run without approval.",
"enum": [
"auto",
"manual"
]
},
"OperationSettingValue": {
"oneOf": [
{
"type": "string",
"description": "A literal value."
},
{
"type": "object",
"description": "The value of a stack input.",
"required": [
"input"
],
"properties": {
"input": {
"type": "string",
"description": "Stack input id."
}
}
},
{
"type": "object",
"description": "Stack resources the plugin may act on, such as buckets or queues.",
"required": [
"resources"
],
"properties": {
"resources": {
"type": "array",
"items": {
"type": "string"
},
"description": "Resource ids in the same stack."
}
}
},
{
"type": "object",
"description": "An environment variable of the Operator process. Only for an Operator\ninstalled on its own, so secrets stay in its environment.",
"required": [
"env"
],
"properties": {
"env": {
"type": "string",
"description": "Environment variable name."
}
}
}
],
"description": "Value of one plugin setting."
},
"OperationsBundleDownload": {
"type": "object",
"description": "One bundle the Operator needs to download to reach `targetBundleHash`.\nThe manager mints a short-lived presigned GET URL per bundle — the\nOperator never holds real cloud storage credentials, mirroring the OCI\nregistry proxy's credential-injection pattern.",
"required": [
"plugin",
"pluginVersion",
"url"
],
"properties": {
"env": {
"type": "object",
"description": "Environment the plugin process runs with: its settings, which may hold\nsecrets. Store only in encrypted state, and never log the values.",
"additionalProperties": {
"type": "string"
}
},
"plugin": {
"type": "string",
"description": "Plugin name this bundle provides."
},
"pluginVersion": {
"type": "string",
"description": "Plugin version this bundle provides."
},
"url": {
"type": "string",
"description": "Presigned URL to GET the bundle ZIP from. Short-lived."
}
}
},
"OperationsConfig": {
"type": "object",
"description": "Operations declared by a stack, or by an Operator installed on its own.",
"properties": {
"custom": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CustomPluginOperationsConfig"
},
"description": "Published custom plugins, pinned to exact versions."
},
"plugins": {
"type": "object",
"description": "Built-in plugins, by plugin name.",
"additionalProperties": {
"$ref": "#/components/schemas/PluginOperationsConfig"
}
}
}
},
"OperationsReport": {
"type": "object",
"description": "Report-only summary of the operations the Operator has loaded, used to\nconfirm a bundle sync actually took effect.",
"properties": {
"loadedBundleHash": {
"type": "string",
"description": "Hash of the enabled-plugin bundle set the Operator currently has\nloaded. Compared against the platform's target hash to detect drift.",
"nullable": true
},
"operations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReportedOperation"
},
"description": "Operations currently loaded and executable by the Operator."
}
}
},
"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"
]
},
"OperatorImageReport": {
"type": "object",
"description": "Exact immutable Operator image identity observed by the running process.",
"required": [
"source",
"image",
"digest"
],
"properties": {
"digest": {
"type": "string",
"description": "Exact lowercase OCI digest in `sha256:digest` form."
},
"image": {
"type": "string",
"description": "Exact OCI image reference in `repository@sha256:digest` form."
},
"packageId": {
"type": "string",
"description": "Package ID when `source` is `package`; otherwise `null`.",
"nullable": true
},
"packageVersion": {
"type": "string",
"description": "Package version when `source` is `package`; otherwise `null`.",
"nullable": true
},
"source": {
"$ref": "#/components/schemas/OperatorImageSource",
"description": "How the installer selected this image."
}
}
},
"OperatorImageSource": {
"type": "string",
"description": "Origin of the exact Operator image running this process.",
"enum": [
"package",
"configured"
]
},
"ParameterStoreVaultBinding": {
"type": "object",
"description": "AWS SSM Parameter Store vault binding configuration",
"required": [
"vaultPrefix"
],
"properties": {
"vaultPrefix": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "The vault prefix for parameter names (e.g., \"my-stack-my-vault\")"
}
}
},
"Platform": {
"type": "string",
"description": "Represents the target cloud platform.",
"enum": [
"aws",
"gcp",
"azure",
"kubernetes",
"machines",
"local",
"test"
]
},
"PluginOperationsConfig": {
"type": "object",
"description": "Settings and approval rules for one plugin.",
"properties": {
"approval": {
"type": "object",
"description": "Approval rule per operation: an operation name, or `*` for all of them.\nOperations no rule matches need approval.",
"additionalProperties": {
"$ref": "#/components/schemas/OperationApproval"
}
},
"settings": {
"type": "object",
"description": "Values for the settings the plugin's manifest declares.",
"additionalProperties": {
"$ref": "#/components/schemas/OperationSettingValue"
}
}
}
},
"PostgresBinding": {
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/AuroraPostgresBinding",
"description": "AWS Aurora Serverless v2 (cluster endpoint + secret ARN)."
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"aurora"
]
}
}
}
],
"description": "AWS Aurora Serverless v2 (cluster endpoint + secret ARN)."
},
{
"allOf": [
{
"$ref": "#/components/schemas/AuroraPostgresBinding",
"description": "Aurora-managed JSON credentials. Separate tag makes older readers reject\nthis binding rather than treating the JSON document as a raw password."
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"aurora-managed"
]
}
}
}
],
"description": "Aurora-managed JSON credentials. Separate tag makes older readers reject\nthis binding rather than treating the JSON document as a raw password."
},
{
"allOf": [
{
"$ref": "#/components/schemas/CloudSqlPostgresBinding",
"description": "GCP Cloud SQL (host + secret name)."
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"cloud-sql"
]
}
}
}
],
"description": "GCP Cloud SQL (host + secret name)."
},
{
"allOf": [
{
"$ref": "#/components/schemas/FlexibleServerPostgresBinding",
"description": "Azure Database for PostgreSQL — Flexible Server (host + secret URI)."
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"flexible-server"
]
}
}
}
],
"description": "Azure Database for PostgreSQL — Flexible Server (host + secret URI)."
},
{
"allOf": [
{
"$ref": "#/components/schemas/ExternalPostgresBinding",
"description": "Operator-provided / BYO database (Kubernetes, on-prem, or cloud override)."
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"external"
]
}
}
}
],
"description": "Operator-provided / BYO database (Kubernetes, on-prem, or cloud override)."
},
{
"allOf": [
{
"$ref": "#/components/schemas/LocalPostgresBinding",
"description": "Local embedded Postgres process."
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"local-postgres"
]
}
}
}
],
"description": "Local embedded Postgres process."
}
],
"description": "Connection details for a Postgres database, one variant per backend."
},
"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"
},
"PromoteReleaseRequest": {
"type": "object",
"description": "Body of `POST /v1/releases/{id}/promote`.",
"required": [
"channel"
],
"properties": {
"channel": {
"type": "string"
}
}
},
"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"
]
},
"PubSubQueueBinding": {
"type": "object",
"description": "GCP Pub/Sub parameters",
"required": [
"topic",
"subscription"
],
"properties": {
"subscription": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "Full subscription name: projects/{project}/subscriptions/{subscription}"
},
"topic": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "Full topic name: projects/{project}/topics/{topic}"
}
}
},
"PublicEndpointOutput": {
"type": "object",
"description": "Runtime-resolved public endpoint metadata.",
"required": [
"url",
"host",
"protocol",
"port"
],
"properties": {
"host": {
"type": "string",
"description": "Hostname for this endpoint."
},
"loadBalancerEndpoint": {
"nullable": true,
"description": "Load balancer endpoint information for DNS management.",
"allOf": [
{
"$ref": "#/components/schemas/LoadBalancerEndpoint"
}
]
},
"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."
},
"QueueBinding": {
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/SqsQueueBinding",
"description": "AWS SQS binding"
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"sqs"
]
}
}
}
],
"description": "AWS SQS binding"
},
{
"allOf": [
{
"$ref": "#/components/schemas/PubSubQueueBinding",
"description": "GCP Pub/Sub binding"
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"pubsub"
]
}
}
}
],
"description": "GCP Pub/Sub binding"
},
{
"allOf": [
{
"$ref": "#/components/schemas/ServiceBusQueueBinding",
"description": "Azure Service Bus binding"
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"servicebus"
]
}
}
}
],
"description": "Azure Service Bus binding"
},
{
"allOf": [
{
"$ref": "#/components/schemas/LocalQueueBinding",
"description": "Local development queue binding"
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"local-queue"
]
}
}
}
],
"description": "Local development queue binding"
},
{
"allOf": [
{
"$ref": "#/components/schemas/LocalHttpQueueBinding",
"description": "Manager-owned local queue, accessed directly over HTTP."
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"local-queue-http"
]
}
}
}
],
"description": "Manager-owned local queue, accessed directly over HTTP."
}
],
"description": "Binding parameters for Queue at runtime or in templates."
},
"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"
]
},
"RecentLogEntry": {
"type": "object",
"required": [
"timestamp",
"severity",
"message",
"attributes"
],
"properties": {
"attributes": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"message": {
"type": "string"
},
"resource": {
"type": "string",
"description": "Workload that produced the entry (OTLP `service.name`).",
"nullable": true
},
"severity": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"RecentLogsResponse": {
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RecentLogEntry"
},
"description": "Oldest first."
}
}
},
"ReconcileRequest": {
"type": "object",
"required": [
"deploymentId",
"session",
"state"
],
"properties": {
"capabilities": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OperatorCapabilityReport"
}
},
"deploymentId": {
"type": "string"
},
"executionClaim": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/ExecutionClaim"
}
]
},
"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"
}
}
},
"RedisKvBinding": {
"type": "object",
"description": "Redis KV binding configuration",
"required": [
"connectionUrl"
],
"properties": {
"connectionUrl": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "Redis connection URL (e.g., \"redis://localhost:6379\" or \"rediss://...\")"
},
"database": {
"nullable": true,
"description": "Optional database number (0-15 for standard Redis)",
"allOf": [
{
"$ref": "#/components/schemas/BindingValue_u8"
}
]
},
"keyPrefix": {
"nullable": true,
"description": "Optional key prefix for namespacing",
"allOf": [
{
"$ref": "#/components/schemas/BindingValue_String"
}
]
}
}
},
"ReleaseChannelResponse": {
"type": "object",
"description": "A release channel.",
"required": [
"name",
"updatedAt",
"deployments"
],
"properties": {
"currentReleaseId": {
"type": "string",
"description": "Release the channel points at; absent until one is published or promoted to it.",
"nullable": true
},
"deployments": {
"type": "integer",
"format": "int64",
"description": "Deployments following the channel, pinned or not.",
"minimum": 0
},
"name": {
"type": "string"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
}
},
"ReleaseRequest": {
"type": "object",
"required": [
"deploymentId",
"session"
],
"properties": {
"deploymentId": {
"type": "string"
},
"executionClaim": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/ExecutionClaim"
}
]
},
"session": {
"type": "string"
}
}
},
"ReleaseResponse": {
"type": "object",
"required": [
"id",
"workspaceId",
"projectId",
"stack",
"createdAt"
],
"properties": {
"createdAt": {
"type": "string"
},
"gitMetadata": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/GitMetadataResponse"
}
]
},
"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"
}
}
},
"RemoteAwsBedrockAiBinding": {
"type": "object",
"required": [
"region"
],
"properties": {
"region": {
"type": "string"
}
},
"additionalProperties": false
},
"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."
},
"RemoteAwsKmsKeyBinding": {
"type": "object",
"required": [
"keyArn"
],
"properties": {
"keyArn": {
"type": "string"
},
"region": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"RemoteAwsSandboxBinding": {
"type": "object",
"description": "Concrete MicroVM sandbox topology returned to remote clients.\n\nDeliberately without the execution role and the egress connectors of the in-cloud binding: the\nprovider passes no role, and a binding carrying connectors is refused before it reaches here.",
"required": [
"imageArn",
"imageVersion",
"region",
"previewPorts",
"allowEgress"
],
"properties": {
"allowEgress": {
"type": "boolean",
"description": "Whether the declaration asked for open egress. Always true here, and sent rather than\nimplied so the client's own fail-open check on an empty connector list still has an answer."
},
"idlePauseSeconds": {
"type": "integer",
"format": "int32",
"description": "Idle seconds after which a sandbox pauses, where the declaration asked for one.",
"minimum": 0,
"nullable": true
},
"imageArn": {
"type": "string",
"description": "MicroVM image the credential lease authorizes sandboxes against."
},
"imageVersion": {
"type": "string",
"description": "Image version sandboxes are enumerated by together with the image."
},
"maxLifetimeSeconds": {
"type": "integer",
"format": "int32",
"description": "Wall-clock ceiling on a sandbox, where the declaration asked for one.",
"minimum": 0,
"nullable": true
},
"previewPorts": {
"type": "array",
"items": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"description": "Ports a sandbox capability may be minted for."
},
"region": {
"type": "string",
"description": "Region the MicroVMs run in."
}
},
"additionalProperties": false
},
"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."
},
"RemoteAzureFoundryAiBinding": {
"type": "object",
"required": [
"endpoint",
"account"
],
"properties": {
"account": {
"type": "string"
},
"endpoint": {
"type": "string"
}
},
"additionalProperties": false
},
"RemoteAzureKeyVaultKeyBinding": {
"type": "object",
"required": [
"keyId"
],
"properties": {
"keyId": {
"type": "string"
}
},
"additionalProperties": false
},
"RemoteAzureSandboxBinding": {
"type": "object",
"description": "Concrete sandbox-group topology returned to remote clients.\n\nThe ceilings travel because Azure applies them at create and nowhere else, so a remote caller\nthat does not send them gets the data plane's default rather than the declared size. They are\nnot a limit — a holder that ignores them gets whatever the data plane accepts.",
"required": [
"sandboxGroup",
"dataPlaneEndpoint",
"region",
"resourceGroup",
"diskImage",
"allowEgress"
],
"properties": {
"agent": {
"type": "boolean",
"description": "Uses the packaged agent HTTP transport; absent in released native images.",
"nullable": true
},
"allowEgress": {
"type": "boolean",
"description": "Whether the declaration asked for open egress. Always true here, sent explicitly because\nthe remote grant lets its holder create sandboxes the declared policy never reaches — a\nclient must read this rather than assume it from an absent field."
},
"cpu": {
"type": "string",
"description": "Declared sandbox ceilings, where the declaration named them.",
"nullable": true
},
"dataPlaneEndpoint": {
"type": "string",
"description": "Per-region data-plane host, which is separate from the ARM control plane."
},
"disk": {
"type": "string",
"nullable": true
},
"diskImage": {
"type": "string",
"description": "Catalog name or registry image every sandbox is created from. A registry image is\nstarted from the disk image built from it, found by label in the group."
},
"idlePauseSeconds": {
"type": "integer",
"format": "int32",
"description": "Idle seconds after which a sandbox pauses, where the declaration asked for one.",
"minimum": 0,
"nullable": true
},
"memory": {
"type": "string",
"nullable": true
},
"region": {
"type": "string",
"description": "Region the sandbox group lives in."
},
"resourceGroup": {
"type": "string",
"description": "Resource group the data-plane path is scoped by."
},
"sandboxGroup": {
"type": "string",
"description": "Sandbox group the credential lease authorizes sandboxes against."
}
},
"additionalProperties": false
},
"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
},
"RemoteDynamodbKvBinding": {
"type": "object",
"description": "Concrete DynamoDB KV topology returned to remote clients.",
"required": [
"tableName",
"region"
],
"properties": {
"region": {
"type": "string",
"description": "AWS region of the table."
},
"tableName": {
"type": "string",
"description": "DynamoDB table authorized by the credential lease."
}
},
"additionalProperties": false
},
"RemoteFirestoreKvBinding": {
"type": "object",
"description": "Concrete Firestore KV topology returned to remote clients.",
"required": [
"projectId",
"databaseId",
"collectionName"
],
"properties": {
"collectionName": {
"type": "string",
"description": "Firestore collection holding this store's entries."
},
"databaseId": {
"type": "string"
},
"projectId": {
"type": "string"
}
},
"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
},
"RemoteGcpCloudKmsKeyBinding": {
"type": "object",
"required": [
"cryptoKeyName"
],
"properties": {
"cryptoKeyName": {
"type": "string"
}
},
"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."
},
"RemoteGcpSandboxBinding": {
"type": "object",
"description": "Concrete Agent Platform topology returned to remote clients.\n\nThe egress policy itself lives on the environment template named below; `allow_egress` reports\nit so a client can decide without reading the template.",
"required": [
"engine",
"template",
"region"
],
"properties": {
"allowEgress": {
"type": "boolean",
"description": "Whether the declaration asked for open egress, as the template enforces it. Sent only when\ntrue: released clients reject unknown fields, so a deny binding must stay byte-identical."
},
"engine": {
"type": "string",
"description": "Reasoning engine the credential lease authorizes sandboxes under."
},
"maxLifetimeSeconds": {
"type": "integer",
"format": "int32",
"description": "Seconds a sandbox may live, where the declaration asked for one.",
"minimum": 0,
"nullable": true
},
"region": {
"type": "string",
"description": "Region selecting the regional aiplatform endpoint."
},
"template": {
"type": "string",
"description": "Environment template every sandbox is created from; it carries the image and the ceilings."
}
},
"additionalProperties": false
},
"RemoteGcpVertexAiBinding": {
"type": "object",
"required": [
"project",
"location"
],
"properties": {
"location": {
"type": "string"
},
"project": {
"type": "string"
}
},
"additionalProperties": false
},
"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
},
"RemotePubsubQueueBinding": {
"type": "object",
"description": "Concrete send-only queue topology returned to remote clients.",
"required": [
"topic",
"subscription"
],
"properties": {
"subscription": {
"type": "string"
},
"topic": {
"type": "string"
}
}
},
"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
},
"RemoteServiceBusQueueBinding": {
"type": "object",
"description": "Concrete send-only queue topology returned to remote clients.",
"required": [
"namespace",
"queueName"
],
"properties": {
"namespace": {
"type": "string"
},
"queueName": {
"type": "string"
}
}
},
"RemoteSqsQueueBinding": {
"type": "object",
"description": "Concrete send-only queue topology returned to remote clients.",
"required": [
"queueUrl"
],
"properties": {
"queueUrl": {
"type": "string"
}
}
},
"RemoteStackManagementHeartbeatData": {
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/AwsRemoteStackManagementHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"awsIamRole"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/GcpRemoteStackManagementHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"gcpServiceAccount"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/AzureRemoteStackManagementHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"azureManagedIdentity"
]
}
}
}
]
}
]
},
"RemoteStackManagementHeartbeatStatus": {
"type": "object",
"required": [
"health",
"lifecycle",
"stale",
"partial",
"collectionIssues"
],
"properties": {
"collectionIssues": {
"type": "array",
"items": {
"$ref": "#/components/schemas/HeartbeatCollectionIssue"
}
},
"health": {
"$ref": "#/components/schemas/ObservedHealth"
},
"lifecycle": {
"$ref": "#/components/schemas/ProviderLifecycleState"
},
"message": {
"type": "string",
"nullable": true
},
"partial": {
"type": "boolean"
},
"stale": {
"type": "boolean"
}
}
},
"RemoteTableStorageKvBinding": {
"type": "object",
"description": "Concrete Azure Table Storage KV topology returned to remote clients.",
"required": [
"resourceGroupName",
"accountName",
"tableName"
],
"properties": {
"accountName": {
"type": "string"
},
"resourceGroupName": {
"type": "string"
},
"tableName": {
"type": "string",
"description": "Table authorized by the credential lease."
}
},
"additionalProperties": false
},
"RenewRequest": {
"type": "object",
"required": [
"deploymentId",
"session"
],
"properties": {
"deploymentId": {
"type": "string"
},
"executionClaim": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/ExecutionClaim"
}
]
},
"session": {
"type": "string"
}
}
},
"ReportedOperation": {
"type": "object",
"description": "A single operation the Operator currently has loaded. Opaque identifiers\nonly — no tier, description, or other plugin business logic crosses into\nthis public crate.",
"required": [
"plugin",
"pluginVersion",
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Name of the operation within the plugin."
},
"plugin": {
"type": "string",
"description": "Name of the plugin that owns this operation."
},
"pluginVersion": {
"type": "string",
"description": "Version of the plugin that owns this operation."
}
}
},
"ReportedTelemetry": {
"type": "object",
"description": "One OTLP batch from the environment.",
"required": [
"signal",
"data"
],
"properties": {
"data": {
"type": "string",
"description": "OTLP protobuf, base64."
},
"id": {
"type": "integer",
"format": "int64",
"description": "The site's sequence number for the batch. The manager keeps the\nhighest one it has passed on and skips any it already has, so a\nreport sent again doesn't duplicate telemetry.",
"nullable": true
},
"signal": {
"type": "string",
"description": "`logs`, `metrics` or `traces`."
}
}
},
"ResolveBindingKind": {
"type": "string",
"enum": [
"ai"
]
},
"ResolveBindingRequest": {
"type": "object",
"description": "Request body for `POST /v1/bindings/resolve`.",
"required": [
"deploymentId"
],
"properties": {
"deploymentId": {
"type": "string",
"description": "Deployment containing the remote-enabled resource."
},
"kind": {
"nullable": true,
"description": "Deployment-level binding selector. V1 supports the unique managed AI resource.",
"allOf": [
{
"$ref": "#/components/schemas/ResolveBindingKind"
}
]
},
"resourceId": {
"type": "string",
"description": "Logical remote-enabled resource id in the deployment's stack state.",
"nullable": true
}
},
"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 a storage-audience access token.",
"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 Remote Bindings identity 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"
]
}
}
},
{
"type": "object",
"description": "Send-only Sqs queue and a short-lived credential lease.",
"required": [
"binding",
"clientConfig",
"expiresAt",
"service"
],
"properties": {
"binding": {
"$ref": "#/components/schemas/RemoteSqsQueueBinding"
},
"clientConfig": {
"$ref": "#/components/schemas/RemoteAwsClientConfig"
},
"expiresAt": {
"type": "string"
},
"service": {
"type": "string",
"enum": [
"sqs"
]
}
}
},
{
"type": "object",
"description": "Send-only Pubsub queue and a short-lived credential lease.",
"required": [
"binding",
"clientConfig",
"expiresAt",
"service"
],
"properties": {
"binding": {
"$ref": "#/components/schemas/RemotePubsubQueueBinding"
},
"clientConfig": {
"$ref": "#/components/schemas/RemoteGcpClientConfig"
},
"expiresAt": {
"type": "string"
},
"service": {
"type": "string",
"enum": [
"pubsub"
]
}
}
},
{
"type": "object",
"description": "Send-only Servicebus queue and a short-lived credential lease.",
"required": [
"binding",
"clientConfig",
"expiresAt",
"service"
],
"properties": {
"binding": {
"$ref": "#/components/schemas/RemoteServiceBusQueueBinding"
},
"clientConfig": {
"$ref": "#/components/schemas/RemoteAzureClientConfig"
},
"expiresAt": {
"type": "string"
},
"service": {
"type": "string",
"enum": [
"servicebus"
]
}
}
},
{
"type": "object",
"description": "AWS DynamoDB KV table and an AWS session.",
"required": [
"binding",
"clientConfig",
"expiresAt",
"service"
],
"properties": {
"binding": {
"$ref": "#/components/schemas/RemoteDynamodbKvBinding"
},
"clientConfig": {
"$ref": "#/components/schemas/RemoteAwsClientConfig"
},
"expiresAt": {
"type": "string"
},
"service": {
"type": "string",
"enum": [
"dynamodb"
]
}
}
},
{
"type": "object",
"description": "GCP Firestore KV collection and an access token.",
"required": [
"binding",
"clientConfig",
"expiresAt",
"service"
],
"properties": {
"binding": {
"$ref": "#/components/schemas/RemoteFirestoreKvBinding"
},
"clientConfig": {
"$ref": "#/components/schemas/RemoteGcpClientConfig"
},
"expiresAt": {
"type": "string"
},
"service": {
"type": "string",
"enum": [
"firestore"
]
}
}
},
{
"type": "object",
"description": "Azure Table Storage KV table and a storage-audience access token.",
"required": [
"binding",
"clientConfig",
"expiresAt",
"service"
],
"properties": {
"binding": {
"$ref": "#/components/schemas/RemoteTableStorageKvBinding"
},
"clientConfig": {
"$ref": "#/components/schemas/RemoteAzureClientConfig"
},
"expiresAt": {
"type": "string"
},
"service": {
"type": "string",
"enum": [
"tablestorage"
]
}
}
},
{
"type": "object",
"description": "AWS KMS key and an AWS session.",
"required": [
"binding",
"clientConfig",
"expiresAt",
"service"
],
"properties": {
"binding": {
"$ref": "#/components/schemas/RemoteAwsKmsKeyBinding"
},
"clientConfig": {
"$ref": "#/components/schemas/RemoteAwsClientConfig"
},
"expiresAt": {
"type": "string"
},
"service": {
"type": "string",
"enum": [
"kms"
]
}
}
},
{
"type": "object",
"description": "GCP Cloud KMS key and an access token.",
"required": [
"binding",
"clientConfig",
"expiresAt",
"service"
],
"properties": {
"binding": {
"$ref": "#/components/schemas/RemoteGcpCloudKmsKeyBinding"
},
"clientConfig": {
"$ref": "#/components/schemas/RemoteGcpClientConfig"
},
"expiresAt": {
"type": "string"
},
"service": {
"type": "string",
"enum": [
"cloud-kms"
]
}
}
},
{
"type": "object",
"description": "Azure Key Vault key and a vault-audience access token.",
"required": [
"binding",
"clientConfig",
"expiresAt",
"service"
],
"properties": {
"binding": {
"$ref": "#/components/schemas/RemoteAzureKeyVaultKeyBinding"
},
"clientConfig": {
"$ref": "#/components/schemas/RemoteAzureClientConfig"
},
"expiresAt": {
"type": "string"
},
"service": {
"type": "string",
"enum": [
"key-vault-key"
]
}
}
},
{
"type": "object",
"description": "AWS Bedrock and an AWS session.",
"required": [
"resourceId",
"binding",
"clientConfig",
"expiresAt",
"service"
],
"properties": {
"binding": {
"$ref": "#/components/schemas/RemoteAwsBedrockAiBinding"
},
"clientConfig": {
"$ref": "#/components/schemas/RemoteAwsClientConfig"
},
"expiresAt": {
"type": "string"
},
"resourceId": {
"type": "string"
},
"service": {
"type": "string",
"enum": [
"bedrock"
]
}
}
},
{
"type": "object",
"description": "GCP Vertex AI and an access token.",
"required": [
"resourceId",
"binding",
"clientConfig",
"expiresAt",
"service"
],
"properties": {
"binding": {
"$ref": "#/components/schemas/RemoteGcpVertexAiBinding"
},
"clientConfig": {
"$ref": "#/components/schemas/RemoteGcpClientConfig"
},
"expiresAt": {
"type": "string"
},
"resourceId": {
"type": "string"
},
"service": {
"type": "string",
"enum": [
"vertex"
]
}
}
},
{
"type": "object",
"description": "Azure AI Foundry and a Cognitive Services access token.",
"required": [
"resourceId",
"binding",
"clientConfig",
"expiresAt",
"service"
],
"properties": {
"binding": {
"$ref": "#/components/schemas/RemoteAzureFoundryAiBinding"
},
"clientConfig": {
"$ref": "#/components/schemas/RemoteAzureClientConfig"
},
"expiresAt": {
"type": "string"
},
"resourceId": {
"type": "string"
},
"service": {
"type": "string",
"enum": [
"foundry"
]
}
}
},
{
"type": "object",
"description": "AWS Lambda MicroVM sandbox and an AWS session.",
"required": [
"binding",
"clientConfig",
"expiresAt",
"service"
],
"properties": {
"binding": {
"$ref": "#/components/schemas/RemoteAwsSandboxBinding"
},
"clientConfig": {
"$ref": "#/components/schemas/RemoteAwsClientConfig"
},
"expiresAt": {
"type": "string"
},
"service": {
"type": "string",
"enum": [
"sandbox-aws"
]
}
}
},
{
"type": "object",
"description": "Azure Container Apps sandbox group and an Azure data-plane token.",
"required": [
"binding",
"clientConfig",
"expiresAt",
"service"
],
"properties": {
"binding": {
"$ref": "#/components/schemas/RemoteAzureSandboxBinding"
},
"clientConfig": {
"$ref": "#/components/schemas/RemoteAzureClientConfig"
},
"expiresAt": {
"type": "string"
},
"service": {
"type": "string",
"enum": [
"sandbox-azure"
]
}
}
},
{
"type": "object",
"description": "GCP Agent Platform reasoning engine and a GCP access token.",
"required": [
"binding",
"clientConfig",
"expiresAt",
"service"
],
"properties": {
"binding": {
"$ref": "#/components/schemas/RemoteGcpSandboxBinding"
},
"clientConfig": {
"$ref": "#/components/schemas/RemoteGcpClientConfig"
},
"expiresAt": {
"type": "string"
},
"service": {
"type": "string",
"enum": [
"sandbox-gcp-agent-platform"
]
}
}
}
],
"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"
]
}
}
},
{
"type": "object",
"required": [
"data",
"resourceType"
],
"properties": {
"data": {
"$ref": "#/components/schemas/KeyHeartbeatData"
},
"resourceType": {
"type": "string",
"enum": [
"key"
]
}
}
},
{
"type": "object",
"required": [
"data",
"resourceType"
],
"properties": {
"data": {
"$ref": "#/components/schemas/SandboxHeartbeatData"
},
"resourceType": {
"type": "string",
"enum": [
"sandbox"
]
}
}
}
]
},
"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"
}
}
},
"S3StorageBinding": {
"type": "object",
"description": "S3 storage binding configuration.\n\nTargets AWS S3 by default. Setting `endpoint` targets any S3-compatible\nstore instead (MinIO, Ceph RGW, NetApp StorageGRID, Cloudflare R2, ...),\nwhich is how Kubernetes deployments outside a cloud account attach the\ncustomer's existing object storage.",
"required": [
"bucketName"
],
"properties": {
"accessKeyId": {
"nullable": true,
"description": "Static access key ID. Unset means the ambient AWS credential chain.",
"allOf": [
{
"$ref": "#/components/schemas/BindingValue_String"
}
]
},
"bucketName": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "The name of the S3 bucket"
},
"endpoint": {
"nullable": true,
"description": "Endpoint of an S3-compatible store, e.g. `https://minio.internal:9000`.\nUnset means AWS S3.",
"allOf": [
{
"$ref": "#/components/schemas/BindingValue_String"
}
]
},
"forcePathStyle": {
"type": "boolean",
"description": "Use path-style URLs (`endpoint/bucket/key`) instead of virtual-hosted\nones (`bucket.endpoint/key`). Defaults to `true` when `endpoint` is\nset, since most S3-compatible stores require it.",
"nullable": true
},
"region": {
"nullable": true,
"description": "Region to sign requests for. Defaults to the ambient AWS region, or\n`us-east-1` for S3-compatible endpoints.",
"allOf": [
{
"$ref": "#/components/schemas/BindingValue_String"
}
]
},
"secretAccessKey": {
"nullable": true,
"description": "Static secret access key; required when `accessKeyId` is set.",
"allOf": [
{
"$ref": "#/components/schemas/BindingValue_String"
}
]
}
}
},
"SandboxHeartbeatData": {
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/AwsMicrovmSandboxHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"awsMicrovm"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/AzureSandboxGroupHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"azureSandboxGroup"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/GcpAgentPlatformSandboxHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"gcpAgentPlatform"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/KubernetesSandboxHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"kubernetesPods"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/LocalSandboxHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"local"
]
}
}
}
]
}
],
"description": "Content-free telemetry about what a sandbox resource is running.\n\nNever anything from inside a sandbox. A controller reaches only the cloud's management APIs,\nand the whole point of the resource is that the control plane cannot see what runs in it."
},
"SandboxHeartbeatStatus": {
"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"
}
}
},
"ScopeInfo": {
"type": "object",
"required": [
"type"
],
"properties": {
"deploymentGroupId": {
"type": "string",
"nullable": true
},
"deploymentId": {
"type": "string",
"nullable": true
},
"projectId": {
"type": "string",
"nullable": true
},
"type": {
"type": "string"
}
}
},
"SecretManagerVaultBinding": {
"type": "object",
"description": "GCP Secret Manager vault binding configuration",
"required": [
"vaultPrefix"
],
"properties": {
"vaultPrefix": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "The vault prefix for secret names (e.g., \"my-stack-my-vault\")"
}
}
},
"SecretReference": {
"type": "object",
"description": "Reference to a Kubernetes Secret",
"required": [
"name",
"key"
],
"properties": {
"key": {
"type": "string"
},
"name": {
"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"
}
}
},
"ServiceBusQueueBinding": {
"type": "object",
"description": "Azure Service Bus parameters",
"required": [
"namespace",
"queueName"
],
"properties": {
"namespace": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "Namespace name"
},
"queueName": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "Queue name"
}
}
},
"SetDeploymentChannelRequest": {
"type": "object",
"description": "Body of `PUT /v1/deployments/{id}/channel`.",
"required": [
"channel"
],
"properties": {
"channel": {
"type": "string"
}
}
},
"SetDeploymentPinRequest": {
"type": "object",
"description": "Body of `PUT /v1/deployments/{id}/pin`.",
"properties": {
"releaseId": {
"type": "string",
"description": "Release to pin to; absent unpins and returns to the channel's release.",
"nullable": true
}
}
},
"SetQuotaWarningOverridesRequest": {
"type": "object",
"description": "Replace the saved quota warning overrides. An empty list explicitly clears them.",
"required": [
"quotaWarningOverrides"
],
"properties": {
"quotaWarningOverrides": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"SetSecretRequest": {
"type": "object",
"description": "Request body for setting a secret.",
"required": [
"value"
],
"properties": {
"value": {
"type": "string"
}
}
},
"SetupHandoff": {
"type": "string",
"enum": [
"immediate",
"await-registration"
]
},
"SetupManagement": {
"type": "string",
"description": "Whether setup remains a separate administrator operation.",
"enum": [
"manual",
"automatic"
]
},
"SourceCredentials": {
"type": "string",
"enum": [
"caller",
"anonymous"
]
},
"SqsQueueBinding": {
"type": "object",
"description": "AWS SQS queue parameters",
"required": [
"queueUrl"
],
"properties": {
"queueUrl": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "Full SQS queue URL"
}
}
},
"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": {
"nullable": true,
"description": "Optional base cloud platform for Kubernetes setup targets such as\nEKS/GKE/AKS. The runtime platform remains Kubernetes.",
"allOf": [
{
"$ref": "#/components/schemas/Platform"
}
]
},
"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": {
"nullable": true,
"description": "Platform-derived management configuration, when this setup creates a\ncross-account/cross-tenant management identity.",
"allOf": [
{
"$ref": "#/components/schemas/ManagementConfig"
}
]
},
"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": {
"nullable": true,
"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.",
"allOf": [
{
"$ref": "#/components/schemas/ImportSourceKind"
}
]
},
"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": {
"nullable": true,
"description": "Platform whose controller owns this resource state. Defaults to the\ncontaining stack platform when absent.",
"allOf": [
{
"$ref": "#/components/schemas/Platform"
}
]
},
"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."
},
"description": {
"type": "string",
"nullable": true
},
"displayName": {
"type": "string",
"description": "Presentation metadata from the effective resource entry, outside runtime configuration.",
"nullable": true
},
"error": {
"nullable": true,
"description": "Stores the last error encountered during a failed step transition.",
"allOf": [
{
"$ref": "#/components/schemas/AlienError"
}
]
},
"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": {
"nullable": true,
"description": "The lifecycle of the resource (Frozen or Live).\nDefaults to Live if not specified.",
"allOf": [
{
"$ref": "#/components/schemas/ResourceLifecycle"
}
]
},
"outputs": {
"nullable": true,
"description": "Outputs generated by the resource (e.g., ARN, URL, Bucket Name).",
"allOf": [
{
"$ref": "#/components/schemas/BaseResourceOutputs"
}
]
},
"previousConfig": {
"nullable": true,
"description": "The previous resource configuration during updates.\nThis is set when an update is initiated and cleared when the update completes or fails.",
"allOf": [
{
"$ref": "#/components/schemas/BaseResource"
}
]
},
"progress": {
"type": "string",
"description": "Last reported step explanation for display only; not a machine-readable status.",
"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": {
"airgapped": {
"type": "boolean",
"description": "Deliver Kubernetes updates and reports as carried bundles instead of a live connection.\nThe Operator still executes deployments with the pull model."
},
"compute": {
"nullable": true,
"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.",
"allOf": [
{
"$ref": "#/components/schemas/ComputeSettings"
}
]
},
"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": {
"nullable": true,
"description": "Domain configuration (future).",
"allOf": [
{
"$ref": "#/components/schemas/DomainSettings"
}
]
},
"endpointAccess": {
"$ref": "#/components/schemas/EndpointAccess",
"description": "Who can reach public endpoints. Private access requires AWS managed containers.\nThis choice cannot change after setup; create a new deployment to change it."
},
"externalBindings": {
"nullable": true,
"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.",
"allOf": [
{
"$ref": "#/components/schemas/ExternalBindings"
}
]
},
"heartbeats": {
"$ref": "#/components/schemas/HeartbeatsMode",
"description": "How heartbeat health checks are handled.\n- off: No heartbeat permissions\n- on: Heartbeat enabled (default)"
},
"kubernetes": {
"nullable": true,
"description": "Kubernetes runtime substrate configuration.",
"allOf": [
{
"$ref": "#/components/schemas/KubernetesSettings"
}
]
},
"network": {
"nullable": true,
"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.",
"allOf": [
{
"$ref": "#/components/schemas/NetworkSettings"
}
]
},
"publicEndpoints": {
"type": "object",
"description": "Exact externally managed endpoint URLs, keyed by resource ID and endpoint name.\n\nThis is intended for adopted Machines deployments whose DNS and certificates remain\ncustomer-owned. The platform passes these URLs to the runtime without creating or\nreplacing DNS records or certificates.",
"additionalProperties": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"nullable": true
},
"quotaWarningOverrides": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provider quota identities whose preflight failures become visible warnings\nfor this deployment. Checks still run; deploy-time provider limits still apply.\nUnknown identities are rejected. An empty list restores normal blocking."
},
"setupManagement": {
"$ref": "#/components/schemas/SetupManagement",
"description": "Ongoing authority over infrastructure normally owned by setup. Automatic requires\nan explicit CLI setup grant; changing this setting alone never grants that authority."
},
"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"
}
}
}
},
"StatusReport": {
"type": "object",
"required": [
"state"
],
"properties": {
"heartbeats": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ResourceHeartbeat"
},
"description": "Resource observations captured by the Operator alongside this state."
},
"state": {
"type": "object",
"description": "Deployment state as the environment's Operator last recorded it.",
"additionalProperties": {}
},
"telemetry": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReportedTelemetry"
},
"description": "Telemetry the Operator buffered, as the OTLP batches it received."
},
"writtenAt": {
"type": "string",
"format": "date-time",
"description": "Site clock time when the report was written. Older clients omit it.",
"nullable": true
}
}
},
"StatusReportResponse": {
"type": "object",
"required": [
"status",
"telemetryAccepted"
],
"properties": {
"status": {
"type": "string"
},
"telemetryAccepted": {
"type": "integer",
"description": "Telemetry batches passed to the telemetry backend.",
"minimum": 0
},
"telemetryThrough": {
"type": "integer",
"format": "int64",
"description": "Highest batch the manager has passed on for this deployment, across\nreports.",
"nullable": true
}
}
},
"StorageBinding": {
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/S3StorageBinding",
"description": "AWS S3"
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"s3"
]
}
}
}
],
"description": "AWS S3"
},
{
"allOf": [
{
"$ref": "#/components/schemas/BlobStorageBinding",
"description": "Azure Blob Storage"
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"blob"
]
}
}
}
],
"description": "Azure Blob Storage"
},
{
"allOf": [
{
"$ref": "#/components/schemas/GcsStorageBinding",
"description": "Google Cloud Storage"
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"gcs"
]
}
}
}
],
"description": "Google Cloud Storage"
},
{
"allOf": [
{
"$ref": "#/components/schemas/LocalStorageBinding",
"description": "Local filesystem storage"
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"local-storage"
]
}
}
}
],
"description": "Local filesystem storage"
}
],
"description": "Service-type based storage binding that supports multiple storage providers"
},
"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": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/BodySpec"
}
]
},
"response": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/CommandResponse"
}
]
}
}
},
"SubmitResponseRequest": {
"allOf": [
{
"$ref": "#/components/schemas/CommandResponse",
"description": "The command response"
}
],
"description": "Request to submit a command response (from deployment)"
},
"TableStorageKvBinding": {
"type": "object",
"description": "Azure Table Storage KV binding configuration",
"required": [
"resourceGroupName",
"accountName",
"tableName"
],
"properties": {
"accountName": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "The storage account name"
},
"resourceGroupName": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "The Azure resource group name"
},
"tableName": {
"$ref": "#/components/schemas/BindingValue_String",
"description": "The table name"
}
}
},
"TargetDynamicContainer": {
"type": "object",
"description": "One release-independent container the Operator should run in its namespace.\nThe manager sends the complete set on every sync. An empty set removes\ncontainers previously owned by this deployment.",
"required": [
"name",
"generation",
"image",
"cpu",
"memory",
"replicas",
"ports",
"deleted"
],
"properties": {
"cpu": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"env": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"generation": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"healthCheck": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/DynamicContainerHealthCheck"
}
]
},
"image": {
"type": "string"
},
"memory": {
"type": "string"
},
"name": {
"type": "string"
},
"ports": {
"type": "array",
"items": {
"type": "integer",
"format": "int32",
"minimum": 0
}
},
"replicas": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"secretEnv": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"suspendedReason": {
"type": "string",
"description": "Stop an installed workload when its release no longer admits the image.",
"nullable": true
}
}
},
"TargetOperationsBundleSet": {
"type": "object",
"description": "Target operations-bundle set for the Operator to converge its loaded\nplugin registry toward, independent of any release/config target — a\nplugin can be enabled with no release change, so this is not nested under\n`TargetDeployment`.",
"required": [
"hash"
],
"properties": {
"bundles": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OperationsBundleDownload"
},
"description": "Presigned downloads for every bundle in the target set. The Operator\nfetches only the ones it doesn't already have loaded at the right\nversion; already-loaded bundles are harmless to re-download."
},
"hash": {
"type": "string",
"description": "Hash identifying this exact enabled-plugin set. Compare against\n`OperationsReport.loadedBundleHash` to detect drift."
}
}
},
"TelemetryMode": {
"type": "string",
"description": "How telemetry (logs, metrics, traces) is handled.",
"enum": [
"off",
"auto",
"approval-required"
]
},
"TokenResponse": {
"type": "object",
"required": [
"id",
"tokenType",
"keyPrefix",
"createdAt"
],
"properties": {
"createdAt": {
"type": "string"
},
"deploymentGroupId": {
"type": "string",
"nullable": true
},
"deploymentId": {
"type": "string",
"nullable": true
},
"id": {
"type": "string"
},
"keyPrefix": {
"type": "string"
},
"tokenType": {
"type": "string"
}
}
},
"ToolDownload": {
"type": "object",
"description": "A downloadable build of a tool.",
"required": [
"platform",
"url"
],
"properties": {
"platform": {
"type": "string",
"description": "`<os>-<arch>`, e.g. `linux-x86_64`."
},
"url": {
"type": "string"
}
}
},
"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
}
}
},
"UnacquiredDeployment": {
"type": "object",
"description": "Atomic outcome for one explicitly requested deployment that was not acquired.",
"required": [
"deploymentId",
"reason"
],
"properties": {
"deploymentId": {
"type": "string"
},
"reason": {
"$ref": "#/components/schemas/DeploymentAcquireUnavailableReason"
},
"retryAfter": {
"type": "string",
"format": "date-time",
"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": {},
"VaultBinding": {
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/ParameterStoreVaultBinding",
"description": "AWS SSM Parameter Store binding (SecureString)"
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"parameter-store"
]
}
}
}
],
"description": "AWS SSM Parameter Store binding (SecureString)"
},
{
"allOf": [
{
"$ref": "#/components/schemas/SecretManagerVaultBinding",
"description": "GCP Secret Manager binding"
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"secret-manager"
]
}
}
}
],
"description": "GCP Secret Manager binding"
},
{
"allOf": [
{
"$ref": "#/components/schemas/KeyVaultBinding",
"description": "Azure Key Vault binding"
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"key-vault"
]
}
}
}
],
"description": "Azure Key Vault binding"
},
{
"allOf": [
{
"$ref": "#/components/schemas/KubernetesSecretVaultBinding",
"description": "Kubernetes Secrets binding (native K8s secret storage)"
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"kubernetes-secret"
]
}
}
}
],
"description": "Kubernetes Secrets binding (native K8s secret storage)"
},
{
"allOf": [
{
"$ref": "#/components/schemas/LocalVaultBinding",
"description": "Local development vault"
},
{
"type": "object",
"required": [
"service"
],
"properties": {
"service": {
"type": "string",
"enum": [
"local-vault"
]
}
}
}
],
"description": "Local development vault"
}
],
"description": "Represents a vault binding for secure secret management"
},
"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"
}
}
},
"VaultMutationResponse": {
"type": "object",
"description": "Response body for successful Vault mutations.",
"required": [
"ok"
],
"properties": {
"ok": {
"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": "bindings",
"description": "Remote resource binding resolution"
},
{
"name": "vault",
"description": "Deployment Vault secret management"
},
{
"name": "telemetry",
"description": "OTLP telemetry ingestion"
},
{
"name": "commands",
"description": "Command management"
},
{
"name": "leases",
"description": "Lease management for polling deployments"
}
]
}