@alienplatform/core 1.3.5 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (479) hide show
  1. package/.turbo/turbo-build.log +15 -15
  2. package/AGENTS.md +3 -3
  3. package/dist/index.d.ts +22033 -2518
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +212 -66
  6. package/dist/index.js.map +1 -1
  7. package/dist/stack.js +4467 -706
  8. package/dist/stack.js.map +1 -1
  9. package/dist/tests/index.d.ts +1 -1
  10. package/dist/tests/index.js +1 -1
  11. package/dist/tests/index.js.map +1 -1
  12. package/package.json +1 -1
  13. package/src/__tests__/__snapshots__/stack.test.ts.snap +23 -15
  14. package/src/__tests__/error.test.ts +1 -1
  15. package/src/__tests__/stack.test.ts +42 -23
  16. package/src/container.ts +21 -8
  17. package/src/daemon.ts +170 -0
  18. package/src/error.ts +2 -2
  19. package/src/generated/index.ts +391 -9
  20. package/src/generated/schemas/agentStatus.json +1 -1
  21. package/src/generated/schemas/alienEvent.json +1 -1
  22. package/src/generated/schemas/artifactRegistryHeartbeatData.json +1 -0
  23. package/src/generated/schemas/artifactRegistryHeartbeatStatus.json +1 -0
  24. package/src/generated/schemas/awsArtifactRegistryImportData.json +1 -0
  25. package/src/generated/schemas/awsBuildImportData.json +1 -0
  26. package/src/generated/schemas/awsCodeBuildHeartbeatData.json +1 -0
  27. package/src/generated/schemas/awsComputeClusterHeartbeatData.json +1 -0
  28. package/src/generated/schemas/awsComputeClusterImportData.json +1 -0
  29. package/src/generated/schemas/awsDaemonHeartbeatData.json +1 -0
  30. package/src/generated/schemas/awsDynamoDbKeySchemaElement.json +1 -0
  31. package/src/generated/schemas/awsDynamoDbKvHeartbeatData.json +1 -0
  32. package/src/generated/schemas/awsEcrArtifactRegistryHeartbeatData.json +1 -0
  33. package/src/generated/schemas/awsEcrRepositoryHeartbeatData.json +1 -0
  34. package/src/generated/schemas/awsIamRoleServiceAccountHeartbeatData.json +1 -0
  35. package/src/generated/schemas/awsKvImportData.json +1 -0
  36. package/src/generated/schemas/awsLambdaWorkerHeartbeatData.json +1 -0
  37. package/src/generated/schemas/awsNetworkImportData.json +1 -0
  38. package/src/generated/schemas/awsParameterStoreVaultHeartbeatData.json +1 -0
  39. package/src/generated/schemas/awsPermissionEffect.json +1 -0
  40. package/src/generated/schemas/awsPlatformPermission.json +1 -1
  41. package/src/generated/schemas/awsQueueImportData.json +1 -0
  42. package/src/generated/schemas/awsRemoteStackManagementHeartbeatData.json +1 -0
  43. package/src/generated/schemas/awsRemoteStackManagementImportData.json +1 -0
  44. package/src/generated/schemas/awsS3StorageHeartbeatData.json +1 -0
  45. package/src/generated/schemas/awsServiceAccountImportData.json +1 -0
  46. package/src/generated/schemas/awsSqsQueueHeartbeatData.json +1 -0
  47. package/src/generated/schemas/awsStorageImportData.json +1 -0
  48. package/src/generated/schemas/awsVaultImportData.json +1 -0
  49. package/src/generated/schemas/awsVpcNetworkHeartbeatData.json +1 -0
  50. package/src/generated/schemas/awsWorkerImportData.json +1 -0
  51. package/src/generated/schemas/azureArtifactRegistryImportData.json +1 -0
  52. package/src/generated/schemas/azureBlobStorageHeartbeatData.json +1 -0
  53. package/src/generated/schemas/azureBuildImportData.json +1 -0
  54. package/src/generated/schemas/azureComputeClusterHeartbeatData.json +1 -0
  55. package/src/generated/schemas/azureComputeClusterImportData.json +1 -0
  56. package/src/generated/schemas/azureContainerAppsBuildHeartbeatData.json +1 -0
  57. package/src/generated/schemas/azureContainerAppsEnvironmentHeartbeatData.json +1 -0
  58. package/src/generated/schemas/azureContainerAppsEnvironmentHeartbeatStatus.json +1 -0
  59. package/src/generated/schemas/azureContainerAppsEnvironmentImportData.json +1 -0
  60. package/src/generated/schemas/azureContainerAppsEnvironmentWorkloadProfile.json +1 -0
  61. package/src/generated/schemas/azureContainerAppsWorkerHeartbeatData.json +1 -0
  62. package/src/generated/schemas/azureContainerRegistryHeartbeatData.json +1 -0
  63. package/src/generated/schemas/azureDaemonHeartbeatData.json +1 -0
  64. package/src/generated/schemas/azureKeyVaultHeartbeatData.json +1 -0
  65. package/src/generated/schemas/azureKvImportData.json +1 -0
  66. package/src/generated/schemas/azureManagedIdentityServiceAccountHeartbeatData.json +1 -0
  67. package/src/generated/schemas/azureManagementConfig.json +1 -1
  68. package/src/generated/schemas/azureNetworkImportData.json +1 -0
  69. package/src/generated/schemas/azurePlatformPermission.json +1 -1
  70. package/src/generated/schemas/azureQueueImportData.json +1 -0
  71. package/src/generated/schemas/azureRemoteStackManagementHeartbeatData.json +1 -0
  72. package/src/generated/schemas/azureRemoteStackManagementImportData.json +1 -0
  73. package/src/generated/schemas/azureResourceGroupHeartbeatData.json +1 -0
  74. package/src/generated/schemas/azureResourceGroupHeartbeatStatus.json +1 -0
  75. package/src/generated/schemas/azureResourceGroupImportData.json +1 -0
  76. package/src/generated/schemas/azureResourceProviderActivationHeartbeatData.json +1 -0
  77. package/src/generated/schemas/azureServiceAccountImportData.json +1 -0
  78. package/src/generated/schemas/azureServiceActivationImportData.json +1 -0
  79. package/src/generated/schemas/azureServiceBusNamespaceHeartbeatData.json +1 -0
  80. package/src/generated/schemas/azureServiceBusNamespaceImportData.json +1 -0
  81. package/src/generated/schemas/azureServiceBusQueueHeartbeatData.json +1 -0
  82. package/src/generated/schemas/azureStorageAccountEndpoints.json +1 -0
  83. package/src/generated/schemas/azureStorageAccountHeartbeatData.json +1 -0
  84. package/src/generated/schemas/azureStorageAccountImportData.json +1 -0
  85. package/src/generated/schemas/azureStorageImportData.json +1 -0
  86. package/src/generated/schemas/azureTableKvHeartbeatData.json +1 -0
  87. package/src/generated/schemas/azureVaultImportData.json +1 -0
  88. package/src/generated/schemas/azureVnetNetworkHeartbeatData.json +1 -0
  89. package/src/generated/schemas/azureWorkerImportData.json +1 -0
  90. package/src/generated/schemas/baseResource.json +1 -1
  91. package/src/generated/schemas/baseResourceOutputs.json +1 -1
  92. package/src/generated/schemas/build.json +1 -1
  93. package/src/generated/schemas/buildHeartbeatData.json +1 -0
  94. package/src/generated/schemas/buildHeartbeatStatus.json +1 -0
  95. package/src/generated/schemas/computeCapacityBlocker.json +1 -0
  96. package/src/generated/schemas/computeCapacityBlockerCategory.json +1 -0
  97. package/src/generated/schemas/computeCapacityGroupStatus.json +1 -0
  98. package/src/generated/schemas/computeCapacityRecommendation.json +1 -0
  99. package/src/generated/schemas/computeClusterHeartbeatData.json +1 -0
  100. package/src/generated/schemas/computeClusterHeartbeatStatus.json +1 -0
  101. package/src/generated/schemas/container.json +1 -1
  102. package/src/generated/schemas/containerHeartbeatData.json +1 -0
  103. package/src/generated/schemas/containerOutputs.json +1 -1
  104. package/src/generated/schemas/containerStatus.json +1 -1
  105. package/src/generated/schemas/customCertificateConfig.json +1 -1
  106. package/src/generated/schemas/customDomainConfig.json +1 -1
  107. package/src/generated/schemas/daemon.json +1 -0
  108. package/src/generated/schemas/daemonCode.json +1 -0
  109. package/src/generated/schemas/daemonHeartbeatData.json +1 -0
  110. package/src/generated/schemas/daemonOutputs.json +1 -0
  111. package/src/generated/schemas/devResourceInfo.json +1 -1
  112. package/src/generated/schemas/devStatus.json +1 -1
  113. package/src/generated/schemas/domainSettings.json +1 -1
  114. package/src/generated/schemas/eventChange.json +1 -1
  115. package/src/generated/schemas/gcpArtifactRegistryHeartbeatData.json +1 -0
  116. package/src/generated/schemas/gcpArtifactRegistryImportData.json +1 -0
  117. package/src/generated/schemas/gcpBuildImportData.json +1 -0
  118. package/src/generated/schemas/gcpCloudBuildHeartbeatData.json +1 -0
  119. package/src/generated/schemas/gcpCloudRunWorkerHeartbeatData.json +1 -0
  120. package/src/generated/schemas/gcpCloudStorageHeartbeatData.json +1 -0
  121. package/src/generated/schemas/gcpComputeClusterHeartbeatData.json +1 -0
  122. package/src/generated/schemas/gcpComputeClusterImportData.json +1 -0
  123. package/src/generated/schemas/gcpDaemonHeartbeatData.json +1 -0
  124. package/src/generated/schemas/gcpFirestoreKvHeartbeatData.json +1 -0
  125. package/src/generated/schemas/gcpKvImportData.json +1 -0
  126. package/src/generated/schemas/gcpNetworkImportData.json +1 -0
  127. package/src/generated/schemas/gcpPlatformPermission.json +1 -1
  128. package/src/generated/schemas/gcpPubSubQueueHeartbeatData.json +1 -0
  129. package/src/generated/schemas/gcpQueueImportData.json +1 -0
  130. package/src/generated/schemas/gcpRemoteStackManagementHeartbeatData.json +1 -0
  131. package/src/generated/schemas/gcpRemoteStackManagementImportData.json +1 -0
  132. package/src/generated/schemas/gcpSecretManagerVaultHeartbeatData.json +1 -0
  133. package/src/generated/schemas/gcpServiceAccountHeartbeatData.json +1 -0
  134. package/src/generated/schemas/gcpServiceAccountImportData.json +1 -0
  135. package/src/generated/schemas/gcpServiceActivationImportData.json +1 -0
  136. package/src/generated/schemas/gcpServiceUsageActivationHeartbeatData.json +1 -0
  137. package/src/generated/schemas/gcpStorageImportData.json +1 -0
  138. package/src/generated/schemas/gcpVaultImportData.json +1 -0
  139. package/src/generated/schemas/gcpVpcNetworkHeartbeatData.json +1 -0
  140. package/src/generated/schemas/gcpWorkerImportData.json +1 -0
  141. package/src/generated/schemas/heartbeatBackend.json +1 -0
  142. package/src/generated/schemas/heartbeatCollectionIssue.json +1 -0
  143. package/src/generated/schemas/heartbeatCollectionIssueReason.json +1 -0
  144. package/src/generated/schemas/heartbeatIssueSeverity.json +1 -0
  145. package/src/generated/schemas/horizonContainerHeartbeatData.json +1 -0
  146. package/src/generated/schemas/horizonWorkloadSchedulingMode.json +1 -0
  147. package/src/generated/schemas/importSourceKind.json +1 -0
  148. package/src/generated/schemas/importedResource.json +1 -0
  149. package/src/generated/schemas/ingress.json +1 -1
  150. package/src/generated/schemas/kubernetesBuildHeartbeatData.json +1 -0
  151. package/src/generated/schemas/kubernetesCertificateMode.json +1 -0
  152. package/src/generated/schemas/kubernetesCloudReference.json +1 -0
  153. package/src/generated/schemas/kubernetesClusterHeartbeatData.json +1 -0
  154. package/src/generated/schemas/kubernetesClusterNodeStatus.json +1 -0
  155. package/src/generated/schemas/kubernetesClusterOwnership.json +1 -0
  156. package/src/generated/schemas/kubernetesClusterSettings.json +1 -0
  157. package/src/generated/schemas/kubernetesContainerHeartbeatData.json +1 -0
  158. package/src/generated/schemas/kubernetesCustomCertificateConfig.json +1 -0
  159. package/src/generated/schemas/kubernetesDaemonHeartbeatData.json +1 -0
  160. package/src/generated/schemas/kubernetesEventInvolvedObject.json +1 -0
  161. package/src/generated/schemas/kubernetesEventSnapshot.json +1 -0
  162. package/src/generated/schemas/kubernetesEventSource.json +1 -0
  163. package/src/generated/schemas/kubernetesExposureSettings.json +1 -0
  164. package/src/generated/schemas/kubernetesGatewayRouteProfile.json +1 -0
  165. package/src/generated/schemas/kubernetesIngressRouteProfile.json +1 -0
  166. package/src/generated/schemas/kubernetesNodeConditionStatus.json +1 -0
  167. package/src/generated/schemas/kubernetesNodeResources.json +1 -0
  168. package/src/generated/schemas/kubernetesNodeUsage.json +1 -0
  169. package/src/generated/schemas/kubernetesOwnerReference.json +1 -0
  170. package/src/generated/schemas/kubernetesPodRuntimeUnitStatus.json +1 -0
  171. package/src/generated/schemas/kubernetesRouteProfile.json +1 -0
  172. package/src/generated/schemas/kubernetesRouteProviderOptions.json +1 -0
  173. package/src/generated/schemas/kubernetesSecretVaultHeartbeatData.json +1 -0
  174. package/src/generated/schemas/kubernetesSettings.json +1 -0
  175. package/src/generated/schemas/kubernetesTlsSecretRef.json +1 -0
  176. package/src/generated/schemas/kubernetesWorkerHeartbeatData.json +1 -0
  177. package/src/generated/schemas/kubernetesWorkloadCondition.json +1 -0
  178. package/src/generated/schemas/kubernetesWorkloadKind.json +1 -0
  179. package/src/generated/schemas/kubernetesWorkloadStatus.json +1 -0
  180. package/src/generated/schemas/kvHeartbeatData.json +1 -0
  181. package/src/generated/schemas/kvHeartbeatStatus.json +1 -0
  182. package/src/generated/schemas/localArtifactRegistryHeartbeatData.json +1 -0
  183. package/src/generated/schemas/localComputeClusterHeartbeatData.json +1 -0
  184. package/src/generated/schemas/localContainerHeartbeatData.json +1 -0
  185. package/src/generated/schemas/localDaemonHeartbeatData.json +1 -0
  186. package/src/generated/schemas/localKvHeartbeatData.json +1 -0
  187. package/src/generated/schemas/localQueueHeartbeatData.json +1 -0
  188. package/src/generated/schemas/localRuntimeEventSnapshot.json +1 -0
  189. package/src/generated/schemas/localRuntimeEventSubject.json +1 -0
  190. package/src/generated/schemas/localRuntimeUnitKind.json +1 -0
  191. package/src/generated/schemas/localRuntimeUnitStatus.json +1 -0
  192. package/src/generated/schemas/localServiceAccountHeartbeatData.json +1 -0
  193. package/src/generated/schemas/localStorageHeartbeatData.json +1 -0
  194. package/src/generated/schemas/localVaultHeartbeatData.json +1 -0
  195. package/src/generated/schemas/localWorkerHeartbeatData.json +1 -0
  196. package/src/generated/schemas/managedRuntimeEventInvolvedObject.json +1 -0
  197. package/src/generated/schemas/managedRuntimeEventSnapshot.json +1 -0
  198. package/src/generated/schemas/managedRuntimeEventSource.json +1 -0
  199. package/src/generated/schemas/managedRuntimeUnitStatus.json +1 -0
  200. package/src/generated/schemas/managementConfig.json +1 -1
  201. package/src/generated/schemas/managementPermissions.json +1 -1
  202. package/src/generated/schemas/metricSample.json +1 -0
  203. package/src/generated/schemas/metricUnit.json +1 -0
  204. package/src/generated/schemas/networkHeartbeatData.json +1 -0
  205. package/src/generated/schemas/networkHeartbeatStatus.json +1 -0
  206. package/src/generated/schemas/observedCounts.json +1 -0
  207. package/src/generated/schemas/observedHealth.json +1 -0
  208. package/src/generated/schemas/permissionGrant.json +1 -1
  209. package/src/generated/schemas/permissionProfile.json +1 -1
  210. package/src/generated/schemas/permissionSet.json +1 -1
  211. package/src/generated/schemas/permissionSetReference.json +1 -1
  212. package/src/generated/schemas/permissionsConfig.json +1 -1
  213. package/src/generated/schemas/persistentStorage.json +1 -1
  214. package/src/generated/schemas/platformPermissions.json +1 -1
  215. package/src/generated/schemas/providerFleetStatus.json +1 -0
  216. package/src/generated/schemas/providerLifecycleState.json +1 -0
  217. package/src/generated/schemas/queueHeartbeatData.json +1 -0
  218. package/src/generated/schemas/queueHeartbeatStatus.json +1 -0
  219. package/src/generated/schemas/rawHeartbeatSnippet.json +1 -0
  220. package/src/generated/schemas/rawHeartbeatSnippetFormat.json +1 -0
  221. package/src/generated/schemas/readinessProbe.json +1 -1
  222. package/src/generated/schemas/remoteStackManagementHeartbeatData.json +1 -0
  223. package/src/generated/schemas/remoteStackManagementHeartbeatStatus.json +1 -0
  224. package/src/generated/schemas/resourceEntry.json +1 -1
  225. package/src/generated/schemas/resourceHeartbeat.json +1 -0
  226. package/src/generated/schemas/resourceHeartbeatData.json +1 -0
  227. package/src/generated/schemas/resourceRef.json +1 -1
  228. package/src/generated/schemas/resourceType.json +1 -1
  229. package/src/generated/schemas/serviceAccount.json +1 -1
  230. package/src/generated/schemas/serviceAccountHeartbeatData.json +1 -0
  231. package/src/generated/schemas/serviceAccountHeartbeatStatus.json +1 -0
  232. package/src/generated/schemas/serviceActivationHeartbeatData.json +1 -0
  233. package/src/generated/schemas/serviceActivationHeartbeatStatus.json +1 -0
  234. package/src/generated/schemas/stack.json +1 -1
  235. package/src/generated/schemas/stackImportRequest.json +1 -0
  236. package/src/generated/schemas/stackImportResponse.json +1 -0
  237. package/src/generated/schemas/stackResourceState.json +1 -1
  238. package/src/generated/schemas/stackSettings.json +1 -1
  239. package/src/generated/schemas/stackState.json +1 -1
  240. package/src/generated/schemas/storageHeartbeatData.json +1 -0
  241. package/src/generated/schemas/storageHeartbeatStatus.json +1 -0
  242. package/src/generated/schemas/value.json +1 -0
  243. package/src/generated/schemas/vault.json +1 -1
  244. package/src/generated/schemas/vaultHeartbeatData.json +1 -0
  245. package/src/generated/schemas/vaultHeartbeatStatus.json +1 -0
  246. package/src/generated/schemas/worker.json +1 -0
  247. package/src/generated/schemas/workerCode.json +1 -0
  248. package/src/generated/schemas/workerHeartbeatData.json +1 -0
  249. package/src/generated/schemas/workerOutputs.json +1 -0
  250. package/src/generated/schemas/workerTrigger.json +1 -0
  251. package/src/generated/schemas/workloadHeartbeatStatus.json +1 -0
  252. package/src/generated/schemas/workloadReplicaStatus.json +1 -0
  253. package/src/generated/zod/agent-status-schema.ts +1 -1
  254. package/src/generated/zod/alien-event-schema.ts +5 -4
  255. package/src/generated/zod/artifact-registry-heartbeat-data-schema.ts +22 -0
  256. package/src/generated/zod/artifact-registry-heartbeat-status-schema.ts +26 -0
  257. package/src/generated/zod/aws-artifact-registry-import-data-schema.ts +21 -0
  258. package/src/generated/zod/aws-build-import-data-schema.ts +19 -0
  259. package/src/generated/zod/aws-code-build-heartbeat-data-schema.ts +35 -0
  260. package/src/generated/zod/aws-compute-cluster-heartbeat-data-schema.ts +37 -0
  261. package/src/generated/zod/aws-compute-cluster-import-data-schema.ts +17 -0
  262. package/src/generated/zod/aws-daemon-heartbeat-data-schema.ts +35 -0
  263. package/src/generated/zod/aws-dynamo-db-key-schema-element-schema.ts +13 -0
  264. package/src/generated/zod/aws-dynamo-db-kv-heartbeat-data-schema.ts +38 -0
  265. package/src/generated/zod/aws-ecr-artifact-registry-heartbeat-data-schema.ts +27 -0
  266. package/src/generated/zod/aws-ecr-repository-heartbeat-data-schema.ts +20 -0
  267. package/src/generated/zod/aws-iam-role-service-account-heartbeat-data-schema.ts +34 -0
  268. package/src/generated/zod/aws-kv-import-data-schema.ts +16 -0
  269. package/src/generated/zod/aws-lambda-worker-heartbeat-data-schema.ts +34 -0
  270. package/src/generated/zod/aws-network-import-data-schema.ts +26 -0
  271. package/src/generated/zod/aws-parameter-store-vault-heartbeat-data-schema.ts +27 -0
  272. package/src/generated/zod/aws-permission-effect-schema.ts +10 -0
  273. package/src/generated/zod/aws-platform-permission-schema.ts +7 -1
  274. package/src/generated/zod/aws-queue-import-data-schema.ts +17 -0
  275. package/src/generated/zod/aws-remote-stack-management-heartbeat-data-schema.ts +18 -0
  276. package/src/generated/zod/aws-remote-stack-management-import-data-schema.ts +17 -0
  277. package/src/generated/zod/aws-s3-storage-heartbeat-data-schema.ts +31 -0
  278. package/src/generated/zod/aws-service-account-import-data-schema.ts +17 -0
  279. package/src/generated/zod/aws-sqs-queue-heartbeat-data-schema.ts +38 -0
  280. package/src/generated/zod/aws-storage-import-data-schema.ts +16 -0
  281. package/src/generated/zod/aws-vault-import-data-schema.ts +17 -0
  282. package/src/generated/zod/aws-vpc-network-heartbeat-data-schema.ts +26 -0
  283. package/src/generated/zod/aws-worker-import-data-schema.ts +25 -0
  284. package/src/generated/zod/azure-artifact-registry-import-data-schema.ts +20 -0
  285. package/src/generated/zod/azure-blob-storage-heartbeat-data-schema.ts +43 -0
  286. package/src/generated/zod/azure-build-import-data-schema.ts +21 -0
  287. package/src/generated/zod/azure-compute-cluster-heartbeat-data-schema.ts +37 -0
  288. package/src/generated/zod/azure-compute-cluster-import-data-schema.ts +17 -0
  289. package/src/generated/zod/azure-container-apps-build-heartbeat-data-schema.ts +20 -0
  290. package/src/generated/zod/azure-container-apps-environment-heartbeat-data-schema.ts +32 -0
  291. package/src/generated/zod/azure-container-apps-environment-heartbeat-status-schema.ts +26 -0
  292. package/src/generated/zod/azure-container-apps-environment-import-data-schema.ts +20 -0
  293. package/src/generated/zod/azure-container-apps-environment-workload-profile-schema.ts +15 -0
  294. package/src/generated/zod/azure-container-apps-worker-heartbeat-data-schema.ts +25 -0
  295. package/src/generated/zod/azure-container-registry-heartbeat-data-schema.ts +41 -0
  296. package/src/generated/zod/azure-daemon-heartbeat-data-schema.ts +35 -0
  297. package/src/generated/zod/azure-key-vault-heartbeat-data-schema.ts +31 -0
  298. package/src/generated/zod/azure-kv-import-data-schema.ts +19 -0
  299. package/src/generated/zod/azure-managed-identity-service-account-heartbeat-data-schema.ts +30 -0
  300. package/src/generated/zod/azure-management-config-schema.ts +3 -4
  301. package/src/generated/zod/azure-network-import-data-schema.ts +22 -0
  302. package/src/generated/zod/azure-platform-permission-schema.ts +3 -1
  303. package/src/generated/zod/azure-queue-import-data-schema.ts +18 -0
  304. package/src/generated/zod/azure-remote-stack-management-heartbeat-data-schema.ts +22 -0
  305. package/src/generated/zod/azure-remote-stack-management-import-data-schema.ts +21 -0
  306. package/src/generated/zod/azure-resource-group-heartbeat-data-schema.ts +22 -0
  307. package/src/generated/zod/azure-resource-group-heartbeat-status-schema.ts +26 -0
  308. package/src/generated/zod/azure-resource-group-import-data-schema.ts +17 -0
  309. package/src/generated/zod/azure-resource-provider-activation-heartbeat-data-schema.ts +21 -0
  310. package/src/generated/zod/azure-service-account-import-data-schema.ts +20 -0
  311. package/src/generated/zod/azure-service-activation-import-data-schema.ts +17 -0
  312. package/src/generated/zod/azure-service-bus-namespace-heartbeat-data-schema.ts +34 -0
  313. package/src/generated/zod/azure-service-bus-namespace-import-data-schema.ts +18 -0
  314. package/src/generated/zod/azure-service-bus-queue-heartbeat-data-schema.ts +46 -0
  315. package/src/generated/zod/azure-storage-account-endpoints-schema.ts +17 -0
  316. package/src/generated/zod/azure-storage-account-heartbeat-data-schema.ts +42 -0
  317. package/src/generated/zod/azure-storage-account-import-data-schema.ts +22 -0
  318. package/src/generated/zod/azure-storage-import-data-schema.ts +18 -0
  319. package/src/generated/zod/azure-table-kv-heartbeat-data-schema.ts +26 -0
  320. package/src/generated/zod/azure-vault-import-data-schema.ts +18 -0
  321. package/src/generated/zod/azure-vnet-network-heartbeat-data-schema.ts +27 -0
  322. package/src/generated/zod/azure-worker-import-data-schema.ts +18 -0
  323. package/src/generated/zod/build-heartbeat-data-schema.ts +22 -0
  324. package/src/generated/zod/build-heartbeat-status-schema.ts +26 -0
  325. package/src/generated/zod/compute-capacity-blocker-category-schema.ts +10 -0
  326. package/src/generated/zod/compute-capacity-blocker-schema.ts +19 -0
  327. package/src/generated/zod/compute-capacity-group-status-schema.ts +25 -0
  328. package/src/generated/zod/compute-capacity-recommendation-schema.ts +18 -0
  329. package/src/generated/zod/compute-cluster-heartbeat-data-schema.ts +22 -0
  330. package/src/generated/zod/compute-cluster-heartbeat-status-schema.ts +26 -0
  331. package/src/generated/zod/container-heartbeat-data-schema.ts +19 -0
  332. package/src/generated/zod/container-outputs-schema.ts +2 -2
  333. package/src/generated/zod/container-schema.ts +3 -3
  334. package/src/generated/zod/container-status-schema.ts +2 -2
  335. package/src/generated/zod/custom-certificate-config-schema.ts +4 -0
  336. package/src/generated/zod/daemon-code-schema.ts +20 -0
  337. package/src/generated/zod/daemon-heartbeat-data-schema.ts +25 -0
  338. package/src/generated/zod/daemon-outputs-schema.ts +13 -0
  339. package/src/generated/zod/daemon-schema.ts +35 -0
  340. package/src/generated/zod/dev-resource-info-schema.ts +1 -1
  341. package/src/generated/zod/gcp-artifact-registry-heartbeat-data-schema.ts +35 -0
  342. package/src/generated/zod/gcp-artifact-registry-import-data-schema.ts +21 -0
  343. package/src/generated/zod/gcp-build-import-data-schema.ts +22 -0
  344. package/src/generated/zod/gcp-cloud-build-heartbeat-data-schema.ts +20 -0
  345. package/src/generated/zod/gcp-cloud-run-worker-heartbeat-data-schema.ts +29 -0
  346. package/src/generated/zod/gcp-cloud-storage-heartbeat-data-schema.ts +33 -0
  347. package/src/generated/zod/gcp-compute-cluster-heartbeat-data-schema.ts +37 -0
  348. package/src/generated/zod/gcp-compute-cluster-import-data-schema.ts +17 -0
  349. package/src/generated/zod/gcp-daemon-heartbeat-data-schema.ts +35 -0
  350. package/src/generated/zod/gcp-firestore-kv-heartbeat-data-schema.ts +32 -0
  351. package/src/generated/zod/gcp-kv-import-data-schema.ts +17 -0
  352. package/src/generated/zod/gcp-network-import-data-schema.ts +22 -0
  353. package/src/generated/zod/gcp-platform-permission-schema.ts +3 -1
  354. package/src/generated/zod/gcp-pub-sub-queue-heartbeat-data-schema.ts +54 -0
  355. package/src/generated/zod/gcp-queue-import-data-schema.ts +19 -0
  356. package/src/generated/zod/gcp-remote-stack-management-heartbeat-data-schema.ts +19 -0
  357. package/src/generated/zod/gcp-remote-stack-management-import-data-schema.ts +19 -0
  358. package/src/generated/zod/gcp-secret-manager-vault-heartbeat-data-schema.ts +19 -0
  359. package/src/generated/zod/gcp-service-account-heartbeat-data-schema.ts +28 -0
  360. package/src/generated/zod/gcp-service-account-import-data-schema.ts +18 -0
  361. package/src/generated/zod/gcp-service-activation-import-data-schema.ts +17 -0
  362. package/src/generated/zod/gcp-service-usage-activation-heartbeat-data-schema.ts +22 -0
  363. package/src/generated/zod/gcp-storage-import-data-schema.ts +18 -0
  364. package/src/generated/zod/gcp-vault-import-data-schema.ts +16 -0
  365. package/src/generated/zod/gcp-vpc-network-heartbeat-data-schema.ts +25 -0
  366. package/src/generated/zod/gcp-worker-import-data-schema.ts +23 -0
  367. package/src/generated/zod/heartbeat-backend-schema.ts +10 -0
  368. package/src/generated/zod/heartbeat-collection-issue-reason-schema.ts +10 -0
  369. package/src/generated/zod/heartbeat-collection-issue-schema.ts +21 -0
  370. package/src/generated/zod/heartbeat-issue-severity-schema.ts +10 -0
  371. package/src/generated/zod/horizon-container-heartbeat-data-schema.ts +41 -0
  372. package/src/generated/zod/horizon-workload-scheduling-mode-schema.ts +10 -0
  373. package/src/generated/zod/import-source-kind-schema.ts +13 -0
  374. package/src/generated/zod/imported-resource-schema.ts +22 -0
  375. package/src/generated/zod/index.ts +391 -9
  376. package/src/generated/zod/ingress-schema.ts +2 -2
  377. package/src/generated/zod/kubernetes-build-heartbeat-data-schema.ts +28 -0
  378. package/src/generated/zod/kubernetes-certificate-mode-schema.ts +30 -0
  379. package/src/generated/zod/kubernetes-cloud-reference-schema.ts +21 -0
  380. package/src/generated/zod/kubernetes-cluster-heartbeat-data-schema.ts +41 -0
  381. package/src/generated/zod/kubernetes-cluster-node-status-schema.ts +35 -0
  382. package/src/generated/zod/kubernetes-cluster-ownership-schema.ts +13 -0
  383. package/src/generated/zod/kubernetes-cluster-settings-schema.ts +23 -0
  384. package/src/generated/zod/kubernetes-container-heartbeat-data-schema.ts +45 -0
  385. package/src/generated/zod/kubernetes-custom-certificate-config-schema.ts +15 -0
  386. package/src/generated/zod/kubernetes-daemon-heartbeat-data-schema.ts +42 -0
  387. package/src/generated/zod/kubernetes-event-involved-object-schema.ts +18 -0
  388. package/src/generated/zod/kubernetes-event-snapshot-schema.ts +30 -0
  389. package/src/generated/zod/kubernetes-event-source-schema.ts +13 -0
  390. package/src/generated/zod/kubernetes-exposure-settings-schema.ts +34 -0
  391. package/src/generated/zod/kubernetes-gateway-route-profile-schema.ts +27 -0
  392. package/src/generated/zod/kubernetes-ingress-route-profile-schema.ts +26 -0
  393. package/src/generated/zod/kubernetes-node-condition-status-schema.ts +15 -0
  394. package/src/generated/zod/kubernetes-node-resources-schema.ts +19 -0
  395. package/src/generated/zod/kubernetes-node-usage-schema.ts +18 -0
  396. package/src/generated/zod/kubernetes-owner-reference-schema.ts +15 -0
  397. package/src/generated/zod/kubernetes-pod-runtime-unit-status-schema.ts +31 -0
  398. package/src/generated/zod/kubernetes-route-profile-schema.ts +19 -0
  399. package/src/generated/zod/kubernetes-route-provider-options-schema.ts +27 -0
  400. package/src/generated/zod/kubernetes-secret-vault-heartbeat-data-schema.ts +18 -0
  401. package/src/generated/zod/kubernetes-settings-schema.ts +22 -0
  402. package/src/generated/zod/kubernetes-tls-secret-ref-schema.ts +16 -0
  403. package/src/generated/zod/kubernetes-worker-heartbeat-data-schema.ts +46 -0
  404. package/src/generated/zod/kubernetes-workload-condition-schema.ts +16 -0
  405. package/src/generated/zod/kubernetes-workload-kind-schema.ts +10 -0
  406. package/src/generated/zod/kubernetes-workload-status-schema.ts +22 -0
  407. package/src/generated/zod/kv-heartbeat-data-schema.ts +22 -0
  408. package/src/generated/zod/kv-heartbeat-status-schema.ts +26 -0
  409. package/src/generated/zod/local-artifact-registry-heartbeat-data-schema.ts +17 -0
  410. package/src/generated/zod/local-compute-cluster-heartbeat-data-schema.ts +30 -0
  411. package/src/generated/zod/local-container-heartbeat-data-schema.ts +39 -0
  412. package/src/generated/zod/local-daemon-heartbeat-data-schema.ts +30 -0
  413. package/src/generated/zod/local-kv-heartbeat-data-schema.ts +20 -0
  414. package/src/generated/zod/local-queue-heartbeat-data-schema.ts +18 -0
  415. package/src/generated/zod/local-runtime-event-snapshot-schema.ts +26 -0
  416. package/src/generated/zod/local-runtime-event-subject-schema.ts +14 -0
  417. package/src/generated/zod/local-runtime-unit-kind-schema.ts +10 -0
  418. package/src/generated/zod/local-runtime-unit-status-schema.ts +28 -0
  419. package/src/generated/zod/local-service-account-heartbeat-data-schema.ts +17 -0
  420. package/src/generated/zod/local-storage-heartbeat-data-schema.ts +20 -0
  421. package/src/generated/zod/local-vault-heartbeat-data-schema.ts +21 -0
  422. package/src/generated/zod/local-worker-heartbeat-data-schema.ts +35 -0
  423. package/src/generated/zod/managed-runtime-event-involved-object-schema.ts +20 -0
  424. package/src/generated/zod/managed-runtime-event-snapshot-schema.ts +34 -0
  425. package/src/generated/zod/managed-runtime-event-source-schema.ts +13 -0
  426. package/src/generated/zod/managed-runtime-unit-status-schema.ts +34 -0
  427. package/src/generated/zod/metric-sample-schema.ts +16 -0
  428. package/src/generated/zod/metric-unit-schema.ts +10 -0
  429. package/src/generated/zod/network-heartbeat-data-schema.ts +19 -0
  430. package/src/generated/zod/network-heartbeat-status-schema.ts +26 -0
  431. package/src/generated/zod/observed-counts-schema.ts +14 -0
  432. package/src/generated/zod/observed-health-schema.ts +10 -0
  433. package/src/generated/zod/permission-grant-schema.ts +3 -1
  434. package/src/generated/zod/persistent-storage-schema.ts +2 -5
  435. package/src/generated/zod/provider-fleet-status-schema.ts +16 -0
  436. package/src/generated/zod/provider-lifecycle-state-schema.ts +10 -0
  437. package/src/generated/zod/queue-heartbeat-data-schema.ts +22 -0
  438. package/src/generated/zod/queue-heartbeat-status-schema.ts +26 -0
  439. package/src/generated/zod/raw-heartbeat-snippet-format-schema.ts +10 -0
  440. package/src/generated/zod/raw-heartbeat-snippet-schema.ts +19 -0
  441. package/src/generated/zod/readiness-probe-schema.ts +2 -2
  442. package/src/generated/zod/remote-stack-management-heartbeat-data-schema.ts +19 -0
  443. package/src/generated/zod/remote-stack-management-heartbeat-status-schema.ts +26 -0
  444. package/src/generated/zod/resource-heartbeat-data-schema.ts +124 -0
  445. package/src/generated/zod/resource-heartbeat-schema.ts +34 -0
  446. package/src/generated/zod/service-account-heartbeat-data-schema.ts +22 -0
  447. package/src/generated/zod/service-account-heartbeat-status-schema.ts +26 -0
  448. package/src/generated/zod/service-activation-heartbeat-data-schema.ts +16 -0
  449. package/src/generated/zod/service-activation-heartbeat-status-schema.ts +26 -0
  450. package/src/generated/zod/stack-import-request-schema.ts +46 -0
  451. package/src/generated/zod/stack-import-response-schema.ts +24 -0
  452. package/src/generated/zod/stack-resource-state-schema.ts +5 -2
  453. package/src/generated/zod/stack-schema.ts +5 -1
  454. package/src/generated/zod/stack-settings-schema.ts +4 -0
  455. package/src/generated/zod/storage-heartbeat-data-schema.ts +22 -0
  456. package/src/generated/zod/storage-heartbeat-status-schema.ts +26 -0
  457. package/src/generated/zod/value-schema.ts +10 -0
  458. package/src/generated/zod/vault-heartbeat-data-schema.ts +25 -0
  459. package/src/generated/zod/vault-heartbeat-status-schema.ts +26 -0
  460. package/src/generated/zod/vault-schema.ts +2 -2
  461. package/src/generated/zod/{function-code-schema.ts → worker-code-schema.ts} +4 -4
  462. package/src/generated/zod/worker-heartbeat-data-schema.ts +25 -0
  463. package/src/generated/zod/{function-outputs-schema.ts → worker-outputs-schema.ts} +6 -6
  464. package/src/generated/zod/worker-schema.ts +43 -0
  465. package/src/generated/zod/{function-trigger-schema.ts → worker-trigger-schema.ts} +4 -4
  466. package/src/generated/zod/workload-heartbeat-status-schema.ts +26 -0
  467. package/src/generated/zod/workload-replica-status-schema.ts +17 -0
  468. package/src/get-resource-outputs.ts +4 -4
  469. package/src/index.ts +310 -1
  470. package/src/resource.ts +1 -1
  471. package/src/service-account.ts +2 -2
  472. package/src/stack.ts +11 -1
  473. package/src/vault.ts +1 -1
  474. package/src/{function.ts → worker.ts} +63 -64
  475. package/src/generated/schemas/function.json +0 -1
  476. package/src/generated/schemas/functionCode.json +0 -1
  477. package/src/generated/schemas/functionOutputs.json +0 -1
  478. package/src/generated/schemas/functionTrigger.json +0 -1
  479. package/src/generated/zod/function-schema.ts +0 -43
@@ -1 +1 @@
1
- {"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":{"description":"The current resource configuration.","type":"object","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":{"type":"string","description":"Resource type identifier that determines the specific kind of resource. This field is used for polymorphic deserialization and resource-specific behavior.","examples":["function","storage","queue","redis","postgres"],"x-readme-ref-name":"ResourceType"}},"additionalProperties":true,"x-readme-ref-name":"BaseResource"},"dependencies":{"type":"array","items":{"type":"object","description":"New ResourceRef that works with any resource type.\nThis can eventually replace the enum-based ResourceRef for full extensibility.","required":["type","id"],"properties":{"id":{"type":"string"},"type":{"type":"string","description":"Resource type identifier that determines the specific kind of resource. This field is used for polymorphic deserialization and resource-specific behavior.","examples":["function","storage","queue","redis","postgres"],"x-readme-ref-name":"ResourceType"}},"x-readme-ref-name":"ResourceRef"},"description":"Complete list of dependencies for this resource, including infrastructure dependencies.\nThis preserves the full dependency information from the stack definition."},"error":{"oneOf":[{"type":"null"},{"description":"Stores the last error encountered during a failed step transition.","type":"object","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","null"],"description":"Optional human-facing remediation hint."},"httpStatusCode":{"type":["integer","null"],"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},"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."}},"x-readme-ref-name":"AlienError"}]},"isExternallyProvisioned":{"type":"boolean","description":"True if the resource was provisioned by an external system (e.g., CloudFormation).\nDefaults to false, indicating dynamic provisioning by the executor."},"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":{"oneOf":[{"type":"null"},{"description":"The lifecycle of the resource (Frozen or Live).\nDefaults to Live if not specified.","type":"string","enum":["frozen","live"],"x-readme-ref-name":"ResourceLifecycle"}]},"outputs":{"oneOf":[{"type":"null"},{"description":"Outputs generated by the resource (e.g., ARN, URL, Bucket Name).","type":"object","required":["type"],"properties":{"type":{"type":"string","description":"Resource type identifier that determines the specific kind of resource. This field is used for polymorphic deserialization and resource-specific behavior.","examples":["function","storage","queue","redis","postgres"],"x-readme-ref-name":"ResourceType"}},"additionalProperties":true,"x-readme-ref-name":"BaseResourceOutputs"}]},"previousConfig":{"oneOf":[{"type":"null"},{"description":"The previous resource configuration during updates.\nThis is set when an update is initiated and cleared when the update completes or fails.","type":"object","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":{"type":"string","description":"Resource type identifier that determines the specific kind of resource. This field is used for polymorphic deserialization and resource-specific behavior.","examples":["function","storage","queue","redis","postgres"],"x-readme-ref-name":"ResourceType"}},"additionalProperties":true,"x-readme-ref-name":"BaseResource"}]},"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":{"description":"High-level status derived from the internal state.","type":"string","enum":["pending","provisioning","provision-failed","running","updating","update-failed","deleting","delete-failed","deleted","refresh-failed"],"x-readme-ref-name":"ResourceStatus"},"type":{"type":"string","description":"The high-level type of the resource (e.g., Function::RESOURCE_TYPE, Storage::RESOURCE_TYPE)."}},"x-readme-ref-name":"StackResourceState"}
1
+ {"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":{"description":"The current resource configuration.","type":"object","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":{"type":"string","description":"Resource type identifier that determines the specific kind of resource. This field is used for polymorphic deserialization and resource-specific behavior.","examples":["worker","storage","queue","redis","postgres"],"x-readme-ref-name":"ResourceType"}},"additionalProperties":true,"x-readme-ref-name":"BaseResource"},"controllerPlatform":{"oneOf":[{"type":"null"},{"description":"Platform whose controller owns this resource state. Defaults to the\ncontaining stack platform when absent.","type":"string","enum":["aws","gcp","azure","kubernetes","local","test"],"x-readme-ref-name":"Platform"}]},"dependencies":{"type":"array","items":{"type":"object","description":"New ResourceRef that works with any resource type.\nThis can eventually replace the enum-based ResourceRef for full extensibility.","required":["type","id"],"properties":{"id":{"type":"string"},"type":{"type":"string","description":"Resource type identifier that determines the specific kind of resource. This field is used for polymorphic deserialization and resource-specific behavior.","examples":["worker","storage","queue","redis","postgres"],"x-readme-ref-name":"ResourceType"}},"x-readme-ref-name":"ResourceRef"},"description":"Complete list of dependencies for this resource, including infrastructure dependencies.\nThis preserves the full dependency information from the stack definition."},"error":{"oneOf":[{"type":"null"},{"description":"Stores the last error encountered during a failed step transition.","type":"object","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","null"],"description":"Optional human-facing remediation hint."},"httpStatusCode":{"type":["integer","null"],"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},"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."}},"x-readme-ref-name":"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":{"oneOf":[{"type":"null"},{"description":"The lifecycle of the resource (Frozen or Live).\nDefaults to Live if not specified.","type":"string","enum":["frozen","live"],"x-readme-ref-name":"ResourceLifecycle"}]},"outputs":{"oneOf":[{"type":"null"},{"description":"Outputs generated by the resource (e.g., ARN, URL, Bucket Name).","type":"object","required":["type"],"properties":{"type":{"type":"string","description":"Resource type identifier that determines the specific kind of resource. This field is used for polymorphic deserialization and resource-specific behavior.","examples":["worker","storage","queue","redis","postgres"],"x-readme-ref-name":"ResourceType"}},"additionalProperties":true,"x-readme-ref-name":"BaseResourceOutputs"}]},"previousConfig":{"oneOf":[{"type":"null"},{"description":"The previous resource configuration during updates.\nThis is set when an update is initiated and cleared when the update completes or fails.","type":"object","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":{"type":"string","description":"Resource type identifier that determines the specific kind of resource. This field is used for polymorphic deserialization and resource-specific behavior.","examples":["worker","storage","queue","redis","postgres"],"x-readme-ref-name":"ResourceType"}},"additionalProperties":true,"x-readme-ref-name":"BaseResource"}]},"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":{"description":"High-level status derived from the internal state.","type":"string","enum":["pending","provisioning","provision-failed","running","updating","update-failed","deleting","delete-failed","deleted","refresh-failed"],"x-readme-ref-name":"ResourceStatus"},"type":{"type":"string","description":"The high-level type of the resource (e.g., Worker::RESOURCE_TYPE, Storage::RESOURCE_TYPE)."}},"x-readme-ref-name":"StackResourceState"}
@@ -1 +1 @@
1
- {"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":{"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.","type":"string","enum":["push","pull"],"x-readme-ref-name":"DeploymentModel"},"domains":{"oneOf":[{"type":"null"},{"description":"Domain configuration (future).","type":"object","properties":{"customDomains":{"type":["object","null"],"description":"Custom domain configuration per resource ID.","additionalProperties":{"type":"object","description":"Custom domain configuration for a single resource.","required":["domain","certificate"],"properties":{"certificate":{"description":"Customer-provided certificate reference.","type":"object","properties":{"aws":{"oneOf":[{"type":"null"},{"description":"AWS ACM certificate ARN","type":"object","required":["certificateArn"],"properties":{"certificateArn":{"type":"string"}},"x-readme-ref-name":"AwsCustomCertificateConfig"}]},"azure":{"oneOf":[{"type":"null"},{"description":"Azure Key Vault certificate ID","type":"object","required":["keyVaultCertificateId"],"properties":{"keyVaultCertificateId":{"type":"string"}},"x-readme-ref-name":"AzureCustomCertificateConfig"}]},"gcp":{"oneOf":[{"type":"null"},{"description":"GCP Certificate Manager certificate name","type":"object","required":["certificateName"],"properties":{"certificateName":{"type":"string"}},"x-readme-ref-name":"GcpCustomCertificateConfig"}]}},"x-readme-ref-name":"CustomCertificateConfig"},"domain":{"type":"string","description":"Fully qualified domain name to use."}},"x-readme-ref-name":"CustomDomainConfig"},"propertyNames":{"type":"string"}}},"x-readme-ref-name":"DomainSettings"}]},"externalBindings":{"type":["object","null"],"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."},"heartbeats":{"description":"How heartbeat health checks are handled.\n- off: No heartbeat permissions\n- on: Heartbeat enabled (default)","type":"string","enum":["off","on"],"x-readme-ref-name":"HeartbeatsMode"},"network":{"oneOf":[{"type":"null"},{"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.","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","null"],"description":"VPC/VNet CIDR block. If not specified, auto-generated from stack ID\nto reduce conflicts (e.g., \"10.{hash}.0.0/16\")."},"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":{"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"}}}],"x-readme-ref-name":"NetworkSettings"}]},"telemetry":{"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","type":"string","enum":["off","auto","approval-required"],"x-readme-ref-name":"TelemetryMode"},"updates":{"description":"How updates are delivered.\n- auto: Updates deploy automatically (default)\n- approval-required: Updates wait for explicit approval","type":"string","enum":["auto","approval-required"],"x-readme-ref-name":"UpdatesMode"}},"x-readme-ref-name":"StackSettings"}
1
+ {"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":{"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.","type":"string","enum":["push","pull"],"x-readme-ref-name":"DeploymentModel"},"domains":{"oneOf":[{"type":"null"},{"description":"Domain configuration (future).","type":"object","properties":{"customDomains":{"type":["object","null"],"description":"Custom domain configuration per resource ID.","additionalProperties":{"type":"object","description":"Custom domain configuration for a single resource.","required":["domain","certificate"],"properties":{"certificate":{"description":"Customer-provided certificate reference.","type":"object","properties":{"aws":{"oneOf":[{"type":"null"},{"description":"AWS ACM certificate ARN","type":"object","required":["certificateArn"],"properties":{"certificateArn":{"type":"string"}},"x-readme-ref-name":"AwsCustomCertificateConfig"}]},"azure":{"oneOf":[{"type":"null"},{"description":"Azure Key Vault certificate ID","type":"object","required":["keyVaultCertificateId"],"properties":{"keyVaultCertificateId":{"type":"string"}},"x-readme-ref-name":"AzureCustomCertificateConfig"}]},"gcp":{"oneOf":[{"type":"null"},{"description":"GCP Certificate Manager certificate name","type":"object","required":["certificateName"],"properties":{"certificateName":{"type":"string"}},"x-readme-ref-name":"GcpCustomCertificateConfig"}]},"kubernetes":{"oneOf":[{"type":"null"},{"description":"Kubernetes TLS Secret reference for Secret-backed route profiles.","type":"object","required":["tlsSecretRef"],"properties":{"tlsSecretRef":{"description":"Existing TLS Secret containing `tls.crt` and `tls.key`.","type":"object","required":["secretName"],"properties":{"namespace":{"type":["string","null"],"description":"Secret namespace. Defaults to the release namespace when omitted."},"secretName":{"type":"string","description":"Secret name."}},"x-readme-ref-name":"KubernetesTlsSecretRef"}},"x-readme-ref-name":"KubernetesCustomCertificateConfig"}]}},"x-readme-ref-name":"CustomCertificateConfig"},"domain":{"type":"string","description":"Fully qualified domain name to use."}},"x-readme-ref-name":"CustomDomainConfig"},"propertyNames":{"type":"string"}}},"x-readme-ref-name":"DomainSettings"}]},"externalBindings":{"type":["object","null"],"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."},"heartbeats":{"description":"How heartbeat health checks are handled.\n- off: No heartbeat permissions\n- on: Heartbeat enabled (default)","type":"string","enum":["off","on"],"x-readme-ref-name":"HeartbeatsMode"},"kubernetes":{"oneOf":[{"type":"null"},{"description":"Kubernetes runtime substrate configuration.","type":"object","properties":{"cluster":{"oneOf":[{"type":"null"},{"description":"Cluster selection or creation settings.","type":"object","required":["ownership"],"properties":{"cloud":{"oneOf":[{"type":"null"},{"description":"Optional provider-specific cloud identity for existing clusters.","type":"object","properties":{"accountId":{"type":["string","null"]},"clusterId":{"type":["string","null"]},"clusterName":{"type":["string","null"]},"projectId":{"type":["string","null"]},"region":{"type":["string","null"]},"resourceGroup":{"type":["string","null"]},"subscriptionId":{"type":["string","null"]}},"additionalProperties":false,"x-readme-ref-name":"KubernetesCloudReference"}]},"namespace":{"type":["string","null"],"description":"Namespace where the Alien chart and application resources run."},"ownership":{"description":"Whether Alien should create the cluster, use a setup-owned existing\ncluster, or bind to an external/on-prem cluster.","type":"string","enum":["managed","existing","external"],"x-readme-ref-name":"KubernetesClusterOwnership"}},"x-readme-ref-name":"KubernetesClusterSettings"}]},"exposure":{"oneOf":[{"type":"null"},{"description":"Public HTTPS exposure contract shared by setup, Helm, and runtime.","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":{"description":"How managed certificate material reaches the route profile.","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","null"],"description":"ACM region. Defaults to the deployment region when omitted."},"tags":{"type":"object","description":"Tags applied to runtime-imported ACM certificates.","additionalProperties":{"type":"string"},"propertyNames":{"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":[{"description":"Customer-provided Kubernetes TLS Secret.","type":"object","required":["secretName"],"properties":{"namespace":{"type":["string","null"],"description":"Secret namespace. Defaults to the release namespace when omitted."},"secretName":{"type":"string","description":"Secret name."}},"x-readme-ref-name":"KubernetesTlsSecretRef"},{"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"]}}}],"x-readme-ref-name":"KubernetesCertificateMode"},"mode":{"type":"string","enum":["generated"]},"route":{"description":"Runtime route profile to materialize.","oneOf":[{"allOf":[{"description":"`networking.k8s.io/v1` Ingress route profile.","type":"object","required":["ingressClassName"],"properties":{"annotations":{"type":"object","description":"Annotations applied to route objects.","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"controller":{"type":["string","null"],"description":"Route controller identifier, for example `eks.amazonaws.com/alb`."},"ingressClassName":{"type":"string","description":"`spec.ingressClassName` for generated Ingresses."},"labels":{"type":"object","description":"Labels applied to route objects.","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"provider":{"oneOf":[{"type":"null"},{"description":"Provider-specific route options that are required by the selected class.","oneOf":[{"type":"object","description":"AWS ALB route options for EKS.","required":["scheme","targetType","provider"],"properties":{"ipAddressType":{"type":["string","null"],"description":"Optional ALB IP address type, such as `dualstack`."},"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","null"],"description":"Optional static address name for the Gateway frontend."}}},{"type":"object","description":"Azure Application Gateway for Containers route options.","required":["frontend","provider"],"properties":{"albName":{"type":["string","null"],"description":"Optional ALB name when using BYO Application Gateway resources."},"albNamespace":{"type":["string","null"],"description":"Optional ALB namespace when using BYO Application Gateway resources."},"frontend":{"type":"string","description":"Public or internal frontend exposure."},"provider":{"type":"string","enum":["azureApplicationGatewayForContainers"]}}}],"x-readme-ref-name":"KubernetesRouteProviderOptions"}]}},"x-readme-ref-name":"KubernetesIngressRouteProfile"},{"type":"object","required":["routeApi"],"properties":{"routeApi":{"type":"string","enum":["ingress"]}}}],"description":"`networking.k8s.io/v1` Ingress route profile."},{"allOf":[{"description":"Gateway API `Gateway` + `HTTPRoute` route profile.","type":"object","required":["gatewayClassName","listenerPort"],"properties":{"annotations":{"type":"object","description":"Annotations applied to route objects.","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"controller":{"type":["string","null"],"description":"Route controller identifier, for example a cloud Gateway controller."},"gatewayClassName":{"type":"string","description":"GatewayClass selected for generated Gateways."},"labels":{"type":"object","description":"Labels applied to route objects.","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"listenerPort":{"type":"integer","format":"int32","description":"Listener port, usually 443.","minimum":0},"provider":{"oneOf":[{"type":"null"},{"description":"Provider-specific route options that are required by the selected class.","oneOf":[{"type":"object","description":"AWS ALB route options for EKS.","required":["scheme","targetType","provider"],"properties":{"ipAddressType":{"type":["string","null"],"description":"Optional ALB IP address type, such as `dualstack`."},"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","null"],"description":"Optional static address name for the Gateway frontend."}}},{"type":"object","description":"Azure Application Gateway for Containers route options.","required":["frontend","provider"],"properties":{"albName":{"type":["string","null"],"description":"Optional ALB name when using BYO Application Gateway resources."},"albNamespace":{"type":["string","null"],"description":"Optional ALB namespace when using BYO Application Gateway resources."},"frontend":{"type":"string","description":"Public or internal frontend exposure."},"provider":{"type":"string","enum":["azureApplicationGatewayForContainers"]}}}],"x-readme-ref-name":"KubernetesRouteProviderOptions"}]}},"x-readme-ref-name":"KubernetesGatewayRouteProfile"},{"type":"object","required":["routeApi"],"properties":{"routeApi":{"type":"string","enum":["gateway"]}}}],"description":"Gateway API `Gateway` + `HTTPRoute` route profile."}],"x-readme-ref-name":"KubernetesRouteProfile"}}},{"type":"object","description":"Use a customer hostname and customer-owned certificate reference.","required":["domain","route","certificate","mode"],"properties":{"certificate":{"description":"Customer-owned certificate reference consumed by the route profile.","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","null"],"description":"ACM region. Defaults to the deployment region when omitted."},"tags":{"type":"object","description":"Tags applied to runtime-imported ACM certificates.","additionalProperties":{"type":"string"},"propertyNames":{"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":[{"description":"Customer-provided Kubernetes TLS Secret.","type":"object","required":["secretName"],"properties":{"namespace":{"type":["string","null"],"description":"Secret namespace. Defaults to the release namespace when omitted."},"secretName":{"type":"string","description":"Secret name."}},"x-readme-ref-name":"KubernetesTlsSecretRef"},{"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"]}}}],"x-readme-ref-name":"KubernetesCertificateMode"},"domain":{"type":"string","description":"Hostname routed by the Kubernetes public endpoint."},"mode":{"type":"string","enum":["custom"]},"route":{"description":"Runtime route profile to materialize.","oneOf":[{"allOf":[{"description":"`networking.k8s.io/v1` Ingress route profile.","type":"object","required":["ingressClassName"],"properties":{"annotations":{"type":"object","description":"Annotations applied to route objects.","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"controller":{"type":["string","null"],"description":"Route controller identifier, for example `eks.amazonaws.com/alb`."},"ingressClassName":{"type":"string","description":"`spec.ingressClassName` for generated Ingresses."},"labels":{"type":"object","description":"Labels applied to route objects.","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"provider":{"oneOf":[{"type":"null"},{"description":"Provider-specific route options that are required by the selected class.","oneOf":[{"type":"object","description":"AWS ALB route options for EKS.","required":["scheme","targetType","provider"],"properties":{"ipAddressType":{"type":["string","null"],"description":"Optional ALB IP address type, such as `dualstack`."},"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","null"],"description":"Optional static address name for the Gateway frontend."}}},{"type":"object","description":"Azure Application Gateway for Containers route options.","required":["frontend","provider"],"properties":{"albName":{"type":["string","null"],"description":"Optional ALB name when using BYO Application Gateway resources."},"albNamespace":{"type":["string","null"],"description":"Optional ALB namespace when using BYO Application Gateway resources."},"frontend":{"type":"string","description":"Public or internal frontend exposure."},"provider":{"type":"string","enum":["azureApplicationGatewayForContainers"]}}}],"x-readme-ref-name":"KubernetesRouteProviderOptions"}]}},"x-readme-ref-name":"KubernetesIngressRouteProfile"},{"type":"object","required":["routeApi"],"properties":{"routeApi":{"type":"string","enum":["ingress"]}}}],"description":"`networking.k8s.io/v1` Ingress route profile."},{"allOf":[{"description":"Gateway API `Gateway` + `HTTPRoute` route profile.","type":"object","required":["gatewayClassName","listenerPort"],"properties":{"annotations":{"type":"object","description":"Annotations applied to route objects.","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"controller":{"type":["string","null"],"description":"Route controller identifier, for example a cloud Gateway controller."},"gatewayClassName":{"type":"string","description":"GatewayClass selected for generated Gateways."},"labels":{"type":"object","description":"Labels applied to route objects.","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"listenerPort":{"type":"integer","format":"int32","description":"Listener port, usually 443.","minimum":0},"provider":{"oneOf":[{"type":"null"},{"description":"Provider-specific route options that are required by the selected class.","oneOf":[{"type":"object","description":"AWS ALB route options for EKS.","required":["scheme","targetType","provider"],"properties":{"ipAddressType":{"type":["string","null"],"description":"Optional ALB IP address type, such as `dualstack`."},"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","null"],"description":"Optional static address name for the Gateway frontend."}}},{"type":"object","description":"Azure Application Gateway for Containers route options.","required":["frontend","provider"],"properties":{"albName":{"type":["string","null"],"description":"Optional ALB name when using BYO Application Gateway resources."},"albNamespace":{"type":["string","null"],"description":"Optional ALB namespace when using BYO Application Gateway resources."},"frontend":{"type":"string","description":"Public or internal frontend exposure."},"provider":{"type":"string","enum":["azureApplicationGatewayForContainers"]}}}],"x-readme-ref-name":"KubernetesRouteProviderOptions"}]}},"x-readme-ref-name":"KubernetesGatewayRouteProfile"},{"type":"object","required":["routeApi"],"properties":{"routeApi":{"type":"string","enum":["gateway"]}}}],"description":"Gateway API `Gateway` + `HTTPRoute` route profile."}],"x-readme-ref-name":"KubernetesRouteProfile"}}}],"x-readme-ref-name":"KubernetesExposureSettings"}]}},"x-readme-ref-name":"KubernetesSettings"}]},"network":{"oneOf":[{"type":"null"},{"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.","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","null"],"description":"VPC/VNet CIDR block. If not specified, auto-generated from stack ID\nto reduce conflicts (e.g., \"10.{hash}.0.0/16\")."},"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":{"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"}}}],"x-readme-ref-name":"NetworkSettings"}]},"telemetry":{"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","type":"string","enum":["off","auto","approval-required"],"x-readme-ref-name":"TelemetryMode"},"updates":{"description":"How updates are delivered.\n- auto: Updates deploy automatically (default)\n- approval-required: Updates wait for explicit approval","type":"string","enum":["auto","approval-required"],"x-readme-ref-name":"UpdatesMode"}},"x-readme-ref-name":"StackSettings"}
@@ -1 +1 @@
1
- {"type":"object","description":"Represents the collective state of all resources in a stack, including platform and pending actions.","required":["platform","resources","resourcePrefix"],"properties":{"platform":{"description":"The target platform for this stack state.","type":"string","enum":["aws","gcp","azure","kubernetes","local","test"],"x-readme-ref-name":"Platform"},"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":{"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":{"description":"The current resource configuration.","type":"object","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":{"type":"string","description":"Resource type identifier that determines the specific kind of resource. This field is used for polymorphic deserialization and resource-specific behavior.","examples":["function","storage","queue","redis","postgres"],"x-readme-ref-name":"ResourceType"}},"additionalProperties":true,"x-readme-ref-name":"BaseResource"},"dependencies":{"type":"array","items":{"type":"object","description":"New ResourceRef that works with any resource type.\nThis can eventually replace the enum-based ResourceRef for full extensibility.","required":["type","id"],"properties":{"id":{"type":"string"},"type":{"type":"string","description":"Resource type identifier that determines the specific kind of resource. This field is used for polymorphic deserialization and resource-specific behavior.","examples":["function","storage","queue","redis","postgres"],"x-readme-ref-name":"ResourceType"}},"x-readme-ref-name":"ResourceRef"},"description":"Complete list of dependencies for this resource, including infrastructure dependencies.\nThis preserves the full dependency information from the stack definition."},"error":{"oneOf":[{"type":"null"},{"description":"Stores the last error encountered during a failed step transition.","type":"object","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","null"],"description":"Optional human-facing remediation hint."},"httpStatusCode":{"type":["integer","null"],"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},"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."}},"x-readme-ref-name":"AlienError"}]},"isExternallyProvisioned":{"type":"boolean","description":"True if the resource was provisioned by an external system (e.g., CloudFormation).\nDefaults to false, indicating dynamic provisioning by the executor."},"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":{"oneOf":[{"type":"null"},{"description":"The lifecycle of the resource (Frozen or Live).\nDefaults to Live if not specified.","type":"string","enum":["frozen","live"],"x-readme-ref-name":"ResourceLifecycle"}]},"outputs":{"oneOf":[{"type":"null"},{"description":"Outputs generated by the resource (e.g., ARN, URL, Bucket Name).","type":"object","required":["type"],"properties":{"type":{"type":"string","description":"Resource type identifier that determines the specific kind of resource. This field is used for polymorphic deserialization and resource-specific behavior.","examples":["function","storage","queue","redis","postgres"],"x-readme-ref-name":"ResourceType"}},"additionalProperties":true,"x-readme-ref-name":"BaseResourceOutputs"}]},"previousConfig":{"oneOf":[{"type":"null"},{"description":"The previous resource configuration during updates.\nThis is set when an update is initiated and cleared when the update completes or fails.","type":"object","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":{"type":"string","description":"Resource type identifier that determines the specific kind of resource. This field is used for polymorphic deserialization and resource-specific behavior.","examples":["function","storage","queue","redis","postgres"],"x-readme-ref-name":"ResourceType"}},"additionalProperties":true,"x-readme-ref-name":"BaseResource"}]},"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":{"description":"High-level status derived from the internal state.","type":"string","enum":["pending","provisioning","provision-failed","running","updating","update-failed","deleting","delete-failed","deleted","refresh-failed"],"x-readme-ref-name":"ResourceStatus"},"type":{"type":"string","description":"The high-level type of the resource (e.g., Function::RESOURCE_TYPE, Storage::RESOURCE_TYPE)."}},"x-readme-ref-name":"StackResourceState"},"propertyNames":{"type":"string"}}},"x-readme-ref-name":"StackState"}
1
+ {"type":"object","description":"Represents the collective state of all resources in a stack, including platform and pending actions.","required":["platform","resources","resourcePrefix"],"properties":{"platform":{"description":"The target platform for this stack state.","type":"string","enum":["aws","gcp","azure","kubernetes","local","test"],"x-readme-ref-name":"Platform"},"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":{"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":{"description":"The current resource configuration.","type":"object","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":{"type":"string","description":"Resource type identifier that determines the specific kind of resource. This field is used for polymorphic deserialization and resource-specific behavior.","examples":["worker","storage","queue","redis","postgres"],"x-readme-ref-name":"ResourceType"}},"additionalProperties":true,"x-readme-ref-name":"BaseResource"},"controllerPlatform":{"oneOf":[{"type":"null"},{"description":"Platform whose controller owns this resource state. Defaults to the\ncontaining stack platform when absent.","type":"string","enum":["aws","gcp","azure","kubernetes","local","test"],"x-readme-ref-name":"Platform"}]},"dependencies":{"type":"array","items":{"type":"object","description":"New ResourceRef that works with any resource type.\nThis can eventually replace the enum-based ResourceRef for full extensibility.","required":["type","id"],"properties":{"id":{"type":"string"},"type":{"type":"string","description":"Resource type identifier that determines the specific kind of resource. This field is used for polymorphic deserialization and resource-specific behavior.","examples":["worker","storage","queue","redis","postgres"],"x-readme-ref-name":"ResourceType"}},"x-readme-ref-name":"ResourceRef"},"description":"Complete list of dependencies for this resource, including infrastructure dependencies.\nThis preserves the full dependency information from the stack definition."},"error":{"oneOf":[{"type":"null"},{"description":"Stores the last error encountered during a failed step transition.","type":"object","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","null"],"description":"Optional human-facing remediation hint."},"httpStatusCode":{"type":["integer","null"],"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},"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."}},"x-readme-ref-name":"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":{"oneOf":[{"type":"null"},{"description":"The lifecycle of the resource (Frozen or Live).\nDefaults to Live if not specified.","type":"string","enum":["frozen","live"],"x-readme-ref-name":"ResourceLifecycle"}]},"outputs":{"oneOf":[{"type":"null"},{"description":"Outputs generated by the resource (e.g., ARN, URL, Bucket Name).","type":"object","required":["type"],"properties":{"type":{"type":"string","description":"Resource type identifier that determines the specific kind of resource. This field is used for polymorphic deserialization and resource-specific behavior.","examples":["worker","storage","queue","redis","postgres"],"x-readme-ref-name":"ResourceType"}},"additionalProperties":true,"x-readme-ref-name":"BaseResourceOutputs"}]},"previousConfig":{"oneOf":[{"type":"null"},{"description":"The previous resource configuration during updates.\nThis is set when an update is initiated and cleared when the update completes or fails.","type":"object","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":{"type":"string","description":"Resource type identifier that determines the specific kind of resource. This field is used for polymorphic deserialization and resource-specific behavior.","examples":["worker","storage","queue","redis","postgres"],"x-readme-ref-name":"ResourceType"}},"additionalProperties":true,"x-readme-ref-name":"BaseResource"}]},"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":{"description":"High-level status derived from the internal state.","type":"string","enum":["pending","provisioning","provision-failed","running","updating","update-failed","deleting","delete-failed","deleted","refresh-failed"],"x-readme-ref-name":"ResourceStatus"},"type":{"type":"string","description":"The high-level type of the resource (e.g., Worker::RESOURCE_TYPE, Storage::RESOURCE_TYPE)."}},"x-readme-ref-name":"StackResourceState"},"propertyNames":{"type":"string"}}},"x-readme-ref-name":"StackState"}
@@ -0,0 +1 @@
1
+ {"oneOf":[{"allOf":[{"type":"object","required":["status","name","lifecyclePresent","encryptionConfigPresent","publicAccessBlockPresent"],"properties":{"blockPublicAcls":{"type":["boolean","null"]},"blockPublicPolicy":{"type":["boolean","null"]},"bucketAclPresent":{"type":["boolean","null"]},"bucketLocation":{"type":["string","null"]},"bucketPolicyPresent":{"type":["boolean","null"]},"encryptionConfigPresent":{"type":"boolean"},"encryptionEnabled":{"type":["boolean","null"]},"ignorePublicAcls":{"type":["boolean","null"]},"lifecyclePresent":{"type":"boolean"},"lifecycleRuleCount":{"type":["integer","null"],"format":"int64","minimum":0},"name":{"type":"string"},"publicAccessBlockPresent":{"type":"boolean"},"region":{"type":["string","null"]},"restrictPublicBuckets":{"type":["boolean","null"]},"status":{"type":"object","required":["health","lifecycle","stale","partial","collectionIssues"],"properties":{"collectionIssues":{"type":"array","items":{"type":"object","required":["source","reason","severity","message"],"properties":{"message":{"type":"string"},"reason":{"type":"string","enum":["forbidden","not-installed","api-unavailable","collection-failed","timed-out"],"x-readme-ref-name":"HeartbeatCollectionIssueReason"},"severity":{"type":"string","enum":["info","warning","error"],"x-readme-ref-name":"HeartbeatIssueSeverity"},"source":{"type":"string"}},"x-readme-ref-name":"HeartbeatCollectionIssue"}},"health":{"type":"string","enum":["unknown","healthy","degraded","unhealthy"],"x-readme-ref-name":"ObservedHealth"},"lifecycle":{"type":"string","enum":["unknown","creating","updating","running","scaling","stopping","stopped","deleting","deleted","failed"],"x-readme-ref-name":"ProviderLifecycleState"},"message":{"type":["string","null"]},"partial":{"type":"boolean"},"stale":{"type":"boolean"}},"x-readme-ref-name":"StorageHeartbeatStatus"},"versioningEnabled":{"type":["boolean","null"]},"versioningStatus":{"type":["string","null"]}},"x-readme-ref-name":"AwsS3StorageHeartbeatData"},{"type":"object","required":["backend"],"properties":{"backend":{"type":"string","enum":["awsS3"]}}}]},{"allOf":[{"type":"object","required":["status","name","lifecyclePresent","encryptionConfigPresent"],"properties":{"bucketId":{"type":["string","null"]},"defaultKmsKeyName":{"type":["string","null"]},"encryptionConfigPresent":{"type":"boolean"},"lifecyclePresent":{"type":"boolean"},"lifecycleRuleCount":{"type":["integer","null"],"format":"int64","minimum":0},"location":{"type":["string","null"]},"locationType":{"type":["string","null"]},"name":{"type":"string"},"publicAccessPrevention":{"type":["string","null"]},"retentionPeriod":{"type":["string","null"]},"retentionPolicyEffectiveTime":{"type":["string","null"]},"retentionPolicyIsLocked":{"type":["boolean","null"]},"softDeleteEffectiveTime":{"type":["string","null"]},"softDeleteRetentionDurationSeconds":{"type":["string","null"]},"status":{"type":"object","required":["health","lifecycle","stale","partial","collectionIssues"],"properties":{"collectionIssues":{"type":"array","items":{"type":"object","required":["source","reason","severity","message"],"properties":{"message":{"type":"string"},"reason":{"type":"string","enum":["forbidden","not-installed","api-unavailable","collection-failed","timed-out"],"x-readme-ref-name":"HeartbeatCollectionIssueReason"},"severity":{"type":"string","enum":["info","warning","error"],"x-readme-ref-name":"HeartbeatIssueSeverity"},"source":{"type":"string"}},"x-readme-ref-name":"HeartbeatCollectionIssue"}},"health":{"type":"string","enum":["unknown","healthy","degraded","unhealthy"],"x-readme-ref-name":"ObservedHealth"},"lifecycle":{"type":"string","enum":["unknown","creating","updating","running","scaling","stopping","stopped","deleting","deleted","failed"],"x-readme-ref-name":"ProviderLifecycleState"},"message":{"type":["string","null"]},"partial":{"type":"boolean"},"stale":{"type":"boolean"}},"x-readme-ref-name":"StorageHeartbeatStatus"},"storageClass":{"type":["string","null"]},"uniformBucketLevelAccessEnabled":{"type":["boolean","null"]},"uniformBucketLevelAccessLockedTime":{"type":["string","null"]},"versioningEnabled":{"type":["boolean","null"]}},"x-readme-ref-name":"GcpCloudStorageHeartbeatData"},{"type":"object","required":["backend"],"properties":{"backend":{"type":"string","enum":["gcpCloudStorage"]}}}]},{"allOf":[{"type":"object","required":["status","name"],"properties":{"accessTier":{"type":["string","null"]},"accountKind":{"type":["string","null"]},"allowBlobPublicAccess":{"type":["boolean","null"]},"blobDeleteRetentionDays":{"type":["integer","null"],"format":"int64","minimum":0},"blobDeleteRetentionEnabled":{"type":["boolean","null"]},"blobEncryptionEnabled":{"type":["boolean","null"]},"blobVersioningEnabled":{"type":["boolean","null"]},"changeFeedEnabled":{"type":["boolean","null"]},"changeFeedRetentionDays":{"type":["integer","null"],"format":"int64","minimum":0},"containerDeleteRetentionDays":{"type":["integer","null"],"format":"int64","minimum":0},"containerDeleteRetentionEnabled":{"type":["boolean","null"]},"containerPublicAccess":{"type":["string","null"]},"encryptionKeySource":{"type":["string","null"]},"fileEncryptionEnabled":{"type":["boolean","null"]},"location":{"type":["string","null"]},"name":{"type":"string"},"primaryLocation":{"type":["string","null"]},"provisioningState":{"type":["string","null"]},"publicNetworkAccess":{"type":["string","null"]},"queueEncryptionEnabled":{"type":["boolean","null"]},"resourceGroup":{"type":["string","null"]},"secondaryLocation":{"type":["string","null"]},"skuName":{"type":["string","null"]},"skuTier":{"type":["string","null"]},"status":{"type":"object","required":["health","lifecycle","stale","partial","collectionIssues"],"properties":{"collectionIssues":{"type":"array","items":{"type":"object","required":["source","reason","severity","message"],"properties":{"message":{"type":"string"},"reason":{"type":"string","enum":["forbidden","not-installed","api-unavailable","collection-failed","timed-out"],"x-readme-ref-name":"HeartbeatCollectionIssueReason"},"severity":{"type":"string","enum":["info","warning","error"],"x-readme-ref-name":"HeartbeatIssueSeverity"},"source":{"type":"string"}},"x-readme-ref-name":"HeartbeatCollectionIssue"}},"health":{"type":"string","enum":["unknown","healthy","degraded","unhealthy"],"x-readme-ref-name":"ObservedHealth"},"lifecycle":{"type":"string","enum":["unknown","creating","updating","running","scaling","stopping","stopped","deleting","deleted","failed"],"x-readme-ref-name":"ProviderLifecycleState"},"message":{"type":["string","null"]},"partial":{"type":"boolean"},"stale":{"type":"boolean"}},"x-readme-ref-name":"StorageHeartbeatStatus"},"statusOfPrimary":{"type":["string","null"]},"statusOfSecondary":{"type":["string","null"]},"storageAccountName":{"type":["string","null"]},"tableEncryptionEnabled":{"type":["boolean","null"]}},"x-readme-ref-name":"AzureBlobStorageHeartbeatData"},{"type":"object","required":["backend"],"properties":{"backend":{"type":"string","enum":["azureBlob"]}}}]},{"allOf":[{"type":"object","required":["status","path","pathExists"],"properties":{"isDirectory":{"type":["boolean","null"]},"modifiedAt":{"type":["string","null"],"format":"date-time"},"path":{"type":"string"},"pathExists":{"type":"boolean"},"readonly":{"type":["boolean","null"]},"status":{"type":"object","required":["health","lifecycle","stale","partial","collectionIssues"],"properties":{"collectionIssues":{"type":"array","items":{"type":"object","required":["source","reason","severity","message"],"properties":{"message":{"type":"string"},"reason":{"type":"string","enum":["forbidden","not-installed","api-unavailable","collection-failed","timed-out"],"x-readme-ref-name":"HeartbeatCollectionIssueReason"},"severity":{"type":"string","enum":["info","warning","error"],"x-readme-ref-name":"HeartbeatIssueSeverity"},"source":{"type":"string"}},"x-readme-ref-name":"HeartbeatCollectionIssue"}},"health":{"type":"string","enum":["unknown","healthy","degraded","unhealthy"],"x-readme-ref-name":"ObservedHealth"},"lifecycle":{"type":"string","enum":["unknown","creating","updating","running","scaling","stopping","stopped","deleting","deleted","failed"],"x-readme-ref-name":"ProviderLifecycleState"},"message":{"type":["string","null"]},"partial":{"type":"boolean"},"stale":{"type":"boolean"}},"x-readme-ref-name":"StorageHeartbeatStatus"}},"x-readme-ref-name":"LocalStorageHeartbeatData"},{"type":"object","required":["backend"],"properties":{"backend":{"type":"string","enum":["local"]}}}]}],"x-readme-ref-name":"StorageHeartbeatData"}
@@ -0,0 +1 @@
1
+ {"type":"object","required":["health","lifecycle","stale","partial","collectionIssues"],"properties":{"collectionIssues":{"type":"array","items":{"type":"object","required":["source","reason","severity","message"],"properties":{"message":{"type":"string"},"reason":{"type":"string","enum":["forbidden","not-installed","api-unavailable","collection-failed","timed-out"],"x-readme-ref-name":"HeartbeatCollectionIssueReason"},"severity":{"type":"string","enum":["info","warning","error"],"x-readme-ref-name":"HeartbeatIssueSeverity"},"source":{"type":"string"}},"x-readme-ref-name":"HeartbeatCollectionIssue"}},"health":{"type":"string","enum":["unknown","healthy","degraded","unhealthy"],"x-readme-ref-name":"ObservedHealth"},"lifecycle":{"type":"string","enum":["unknown","creating","updating","running","scaling","stopping","stopped","deleting","deleted","failed"],"x-readme-ref-name":"ProviderLifecycleState"},"message":{"type":["string","null"]},"partial":{"type":"boolean"},"stale":{"type":"boolean"}},"x-readme-ref-name":"StorageHeartbeatStatus"}
@@ -0,0 +1 @@
1
+ {"x-readme-ref-name":"Value"}
@@ -1 +1 @@
1
- {"type":"object","description":"Represents a secure vault for storing secrets.\nThis resource provides a platform-agnostic interface over cloud-native secret management services:\n- AWS: AWS Secrets Manager with prefixed secret names\n- GCP: Secret Manager with prefixed secret names\n- Azure: Key Vault resource\n\nThe vault acts as a namespace for secrets and controls access permissions for functions and services.","required":["id"],"properties":{"id":{"type":"string","description":"Unique identifier for the vault. Must contain only alphanumeric characters, hyphens, and underscores ([A-Za-z0-9-_]).\nMaximum 64 characters."}},"additionalProperties":false,"x-readme-ref-name":"Vault"}
1
+ {"type":"object","description":"Represents a secure vault for storing secrets.\nThis resource provides a platform-agnostic interface over cloud-native secret management services:\n- AWS: AWS Secrets Manager with prefixed secret names\n- GCP: Secret Manager with prefixed secret names\n- Azure: Key Vault resource\n\nThe vault acts as a namespace for secrets and controls access permissions for workers and services.","required":["id"],"properties":{"id":{"type":"string","description":"Unique identifier for the vault. Must contain only alphanumeric characters, hyphens, and underscores ([A-Za-z0-9-_]).\nMaximum 64 characters."}},"additionalProperties":false,"x-readme-ref-name":"Vault"}
@@ -0,0 +1 @@
1
+ {"oneOf":[{"allOf":[{"type":"object","required":["status","accountId","region","prefix","parameterMetadataSampled"],"properties":{"accountId":{"type":"string"},"hasMoreParameters":{"type":["boolean","null"]},"latestModifiedAt":{"type":["string","null"],"format":"date-time"},"parameterMetadataSampled":{"type":"boolean"},"prefix":{"type":"string"},"region":{"type":"string"},"sampledAdvancedTierCount":{"type":["integer","null"],"format":"int32","minimum":0},"sampledKmsKeyMetadataPresentCount":{"type":["integer","null"],"format":"int32","minimum":0},"sampledParameterCount":{"type":["integer","null"],"format":"int32","minimum":0},"sampledSecureStringCount":{"type":["integer","null"],"format":"int32","minimum":0},"sampledStringCount":{"type":["integer","null"],"format":"int32","minimum":0},"sampledStringListCount":{"type":["integer","null"],"format":"int32","minimum":0},"status":{"type":"object","required":["health","lifecycle","stale","partial","collectionIssues"],"properties":{"collectionIssues":{"type":"array","items":{"type":"object","required":["source","reason","severity","message"],"properties":{"message":{"type":"string"},"reason":{"type":"string","enum":["forbidden","not-installed","api-unavailable","collection-failed","timed-out"],"x-readme-ref-name":"HeartbeatCollectionIssueReason"},"severity":{"type":"string","enum":["info","warning","error"],"x-readme-ref-name":"HeartbeatIssueSeverity"},"source":{"type":"string"}},"x-readme-ref-name":"HeartbeatCollectionIssue"}},"health":{"type":"string","enum":["unknown","healthy","degraded","unhealthy"],"x-readme-ref-name":"ObservedHealth"},"lifecycle":{"type":"string","enum":["unknown","creating","updating","running","scaling","stopping","stopped","deleting","deleted","failed"],"x-readme-ref-name":"ProviderLifecycleState"},"message":{"type":["string","null"]},"partial":{"type":"boolean"},"stale":{"type":"boolean"}},"x-readme-ref-name":"VaultHeartbeatStatus"}},"x-readme-ref-name":"AwsParameterStoreVaultHeartbeatData"},{"type":"object","required":["backend"],"properties":{"backend":{"type":"string","enum":["awsParameterStore"]}}}]},{"allOf":[{"type":"object","required":["status","projectId","location","prefix","secretMetadataListed"],"properties":{"location":{"type":"string"},"prefix":{"type":"string"},"projectId":{"type":"string"},"secretMetadataListed":{"type":"boolean"},"status":{"type":"object","required":["health","lifecycle","stale","partial","collectionIssues"],"properties":{"collectionIssues":{"type":"array","items":{"type":"object","required":["source","reason","severity","message"],"properties":{"message":{"type":"string"},"reason":{"type":"string","enum":["forbidden","not-installed","api-unavailable","collection-failed","timed-out"],"x-readme-ref-name":"HeartbeatCollectionIssueReason"},"severity":{"type":"string","enum":["info","warning","error"],"x-readme-ref-name":"HeartbeatIssueSeverity"},"source":{"type":"string"}},"x-readme-ref-name":"HeartbeatCollectionIssue"}},"health":{"type":"string","enum":["unknown","healthy","degraded","unhealthy"],"x-readme-ref-name":"ObservedHealth"},"lifecycle":{"type":"string","enum":["unknown","creating","updating","running","scaling","stopping","stopped","deleting","deleted","failed"],"x-readme-ref-name":"ProviderLifecycleState"},"message":{"type":["string","null"]},"partial":{"type":"boolean"},"stale":{"type":"boolean"}},"x-readme-ref-name":"VaultHeartbeatStatus"}},"x-readme-ref-name":"GcpSecretManagerVaultHeartbeatData"},{"type":"object","required":["backend"],"properties":{"backend":{"type":"string","enum":["gcpSecretManager"]}}}]},{"allOf":[{"type":"object","required":["status","name","softDeleteEnabled","softDeleteRetentionDays","rbacAuthorizationEnabled","publicNetworkAccess","accessPolicyCount","privateEndpointConnectionCount","secretMetadataListed"],"properties":{"accessPolicyCount":{"type":"integer","format":"int32","minimum":0},"location":{"type":["string","null"]},"name":{"type":"string"},"privateEndpointConnectionCount":{"type":"integer","format":"int32","minimum":0},"provisioningState":{"type":["string","null"]},"publicNetworkAccess":{"type":"string"},"purgeProtectionEnabled":{"type":["boolean","null"]},"rbacAuthorizationEnabled":{"type":"boolean"},"resourceGroup":{"type":["string","null"]},"resourceId":{"type":["string","null"]},"secretMetadataListed":{"type":"boolean"},"skuFamily":{"type":["string","null"]},"skuName":{"type":["string","null"]},"softDeleteEnabled":{"type":"boolean"},"softDeleteRetentionDays":{"type":"integer","format":"int32"},"status":{"type":"object","required":["health","lifecycle","stale","partial","collectionIssues"],"properties":{"collectionIssues":{"type":"array","items":{"type":"object","required":["source","reason","severity","message"],"properties":{"message":{"type":"string"},"reason":{"type":"string","enum":["forbidden","not-installed","api-unavailable","collection-failed","timed-out"],"x-readme-ref-name":"HeartbeatCollectionIssueReason"},"severity":{"type":"string","enum":["info","warning","error"],"x-readme-ref-name":"HeartbeatIssueSeverity"},"source":{"type":"string"}},"x-readme-ref-name":"HeartbeatCollectionIssue"}},"health":{"type":"string","enum":["unknown","healthy","degraded","unhealthy"],"x-readme-ref-name":"ObservedHealth"},"lifecycle":{"type":"string","enum":["unknown","creating","updating","running","scaling","stopping","stopped","deleting","deleted","failed"],"x-readme-ref-name":"ProviderLifecycleState"},"message":{"type":["string","null"]},"partial":{"type":"boolean"},"stale":{"type":"boolean"}},"x-readme-ref-name":"VaultHeartbeatStatus"},"vaultUri":{"type":["string","null"]}},"x-readme-ref-name":"AzureKeyVaultHeartbeatData"},{"type":"object","required":["backend"],"properties":{"backend":{"type":"string","enum":["azureKeyVault"]}}}]},{"allOf":[{"type":"object","required":["status","namespace","prefix","secretMetadataListed"],"properties":{"namespace":{"type":"string"},"prefix":{"type":"string"},"secretMetadataListed":{"type":"boolean"},"status":{"type":"object","required":["health","lifecycle","stale","partial","collectionIssues"],"properties":{"collectionIssues":{"type":"array","items":{"type":"object","required":["source","reason","severity","message"],"properties":{"message":{"type":"string"},"reason":{"type":"string","enum":["forbidden","not-installed","api-unavailable","collection-failed","timed-out"],"x-readme-ref-name":"HeartbeatCollectionIssueReason"},"severity":{"type":"string","enum":["info","warning","error"],"x-readme-ref-name":"HeartbeatIssueSeverity"},"source":{"type":"string"}},"x-readme-ref-name":"HeartbeatCollectionIssue"}},"health":{"type":"string","enum":["unknown","healthy","degraded","unhealthy"],"x-readme-ref-name":"ObservedHealth"},"lifecycle":{"type":"string","enum":["unknown","creating","updating","running","scaling","stopping","stopped","deleting","deleted","failed"],"x-readme-ref-name":"ProviderLifecycleState"},"message":{"type":["string","null"]},"partial":{"type":"boolean"},"stale":{"type":"boolean"}},"x-readme-ref-name":"VaultHeartbeatStatus"}},"x-readme-ref-name":"KubernetesSecretVaultHeartbeatData"},{"type":"object","required":["backend"],"properties":{"backend":{"type":"string","enum":["kubernetesSecret"]}}}]},{"allOf":[{"type":"object","required":["status","path","pathExists","secretMetadataListed"],"properties":{"isDirectory":{"type":["boolean","null"]},"modifiedAt":{"type":["string","null"],"format":"date-time"},"path":{"type":"string"},"pathExists":{"type":"boolean"},"readonly":{"type":["boolean","null"]},"secretMetadataListed":{"type":"boolean"},"status":{"type":"object","required":["health","lifecycle","stale","partial","collectionIssues"],"properties":{"collectionIssues":{"type":"array","items":{"type":"object","required":["source","reason","severity","message"],"properties":{"message":{"type":"string"},"reason":{"type":"string","enum":["forbidden","not-installed","api-unavailable","collection-failed","timed-out"],"x-readme-ref-name":"HeartbeatCollectionIssueReason"},"severity":{"type":"string","enum":["info","warning","error"],"x-readme-ref-name":"HeartbeatIssueSeverity"},"source":{"type":"string"}},"x-readme-ref-name":"HeartbeatCollectionIssue"}},"health":{"type":"string","enum":["unknown","healthy","degraded","unhealthy"],"x-readme-ref-name":"ObservedHealth"},"lifecycle":{"type":"string","enum":["unknown","creating","updating","running","scaling","stopping","stopped","deleting","deleted","failed"],"x-readme-ref-name":"ProviderLifecycleState"},"message":{"type":["string","null"]},"partial":{"type":"boolean"},"stale":{"type":"boolean"}},"x-readme-ref-name":"VaultHeartbeatStatus"}},"x-readme-ref-name":"LocalVaultHeartbeatData"},{"type":"object","required":["backend"],"properties":{"backend":{"type":"string","enum":["local"]}}}]}],"x-readme-ref-name":"VaultHeartbeatData"}
@@ -0,0 +1 @@
1
+ {"type":"object","required":["health","lifecycle","stale","partial","collectionIssues"],"properties":{"collectionIssues":{"type":"array","items":{"type":"object","required":["source","reason","severity","message"],"properties":{"message":{"type":"string"},"reason":{"type":"string","enum":["forbidden","not-installed","api-unavailable","collection-failed","timed-out"],"x-readme-ref-name":"HeartbeatCollectionIssueReason"},"severity":{"type":"string","enum":["info","warning","error"],"x-readme-ref-name":"HeartbeatIssueSeverity"},"source":{"type":"string"}},"x-readme-ref-name":"HeartbeatCollectionIssue"}},"health":{"type":"string","enum":["unknown","healthy","degraded","unhealthy"],"x-readme-ref-name":"ObservedHealth"},"lifecycle":{"type":"string","enum":["unknown","creating","updating","running","scaling","stopping","stopped","deleting","deleted","failed"],"x-readme-ref-name":"ProviderLifecycleState"},"message":{"type":["string","null"]},"partial":{"type":"boolean"},"stale":{"type":"boolean"}},"x-readme-ref-name":"VaultHeartbeatStatus"}
@@ -0,0 +1 @@
1
+ {"type":"object","description":"Represents a serverless worker that executes code in response to triggers or direct invocations.\nWorkers are the primary compute resource in serverless applications, designed to be stateless and ephemeral.","required":["id","links","triggers","permissions","code"],"properties":{"code":{"description":"Code for the worker, either a pre-built image or source code to be built.","oneOf":[{"type":"object","description":"Container image.","required":["image","type"],"properties":{"image":{"type":"string","description":"Container image (e.g., `ghcr.io/myorg/myimage:latest`)."},"type":{"type":"string","enum":["image"]}}},{"type":"object","description":"Source code to be built.","required":["src","toolchain","type"],"properties":{"src":{"type":"string","description":"The source directory to build from"},"toolchain":{"oneOf":[{"type":"object","description":"Rust with Cargo build system","required":["binaryName","type"],"properties":{"binaryName":{"type":"string","description":"Name of the binary to build and run"},"type":{"type":"string","enum":["rust"]}}},{"type":"object","description":"TypeScript/JavaScript compiled to single executable with Bun","required":["type"],"properties":{"binaryName":{"type":["string","null"],"description":"Name of the compiled binary (defaults to package.json name if not specified)"},"type":{"type":"string","enum":["typescript"]}}},{"type":"object","description":"Docker build from Dockerfile","required":["type"],"properties":{"buildArgs":{"type":["object","null"],"description":"Build arguments for docker build","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"dockerfile":{"type":["string","null"],"description":"Dockerfile path relative to src (default: \"Dockerfile\")"},"target":{"type":["string","null"],"description":"Multi-stage build target"},"type":{"type":"string","enum":["docker"]}}}],"description":"Toolchain configuration with type-safe options","x-readme-ref-name":"ToolchainConfig"},"type":{"type":"string","enum":["source"]}}}],"x-readme-ref-name":"WorkerCode"},"commandsEnabled":{"type":"boolean","description":"Whether the worker can receive remote commands via the Commands protocol.\nWhen enabled, the runtime polls the manager for pending commands and executes registered handlers.","default":false},"concurrencyLimit":{"type":["integer","null"],"format":"int32","description":"Maximum number of concurrent executions allowed for the worker.\nNone means platform default applies.","minimum":0},"environment":{"type":"object","description":"Key-value pairs to set as environment variables for the worker.","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"id":{"type":"string","description":"Identifier for the worker. Must contain only alphanumeric characters, hyphens, and underscores ([A-Za-z0-9-_]).\nMaximum 64 characters."},"ingress":{"oneOf":[{"description":"Controls network accessibility of the worker.","type":"string","enum":["public","private"],"x-readme-ref-name":"Ingress"}],"default":"private"},"links":{"type":"array","items":{"type":"object","description":"New ResourceRef that works with any resource type.\nThis can eventually replace the enum-based ResourceRef for full extensibility.","required":["type","id"],"properties":{"id":{"type":"string"},"type":{"type":"string","description":"Resource type identifier that determines the specific kind of resource. This field is used for polymorphic deserialization and resource-specific behavior.","examples":["worker","storage","queue","redis","postgres"],"x-readme-ref-name":"ResourceType"}},"x-readme-ref-name":"ResourceRef"},"description":"List of resource references this worker depends on."},"memoryMb":{"type":"integer","format":"int32","description":"Memory allocated to the worker in megabytes (MB).\nDefault: 256\n\nPlatform-specific constraints:\n- **AWS Lambda**: 128–10240 MB in 1 MB increments\n- **GCP Cloud Run**: 128–32768 MB\n- **Azure Container Apps**: fixed CPU/memory pairs — 512, 1024, 1536, 2048, 2560,\n 3072, 3584, 4096 MB. Values below 512 are automatically rounded up at deploy time.","default":256,"minimum":0},"permissions":{"type":"string","description":"Permission profile name that defines the permissions granted to this worker.\nThis references a profile defined in the stack's permission definitions."},"readinessProbe":{"oneOf":[{"type":"null"},{"description":"Optional readiness probe configuration.\nOnly applicable for workers with Public ingress.\nWhen configured, the probe will be executed after provisioning/update to verify the worker is ready.","type":"object","properties":{"method":{"description":"HTTP method to use for the probe request.\nDefault: GET","type":"string","enum":["GET","POST","PUT","DELETE","HEAD","OPTIONS","PATCH"],"x-readme-ref-name":"HttpMethod"},"path":{"type":"string","description":"Path to request for the probe (e.g., \"/health\", \"/ready\").\nDefault: \"/\""}},"x-readme-ref-name":"ReadinessProbe"}]},"timeoutSeconds":{"type":"integer","format":"int32","description":"Maximum execution time for the worker in seconds.\nConstraints: 1‑3600 seconds (platform-specific limits may apply)\nDefault: 30","default":180,"minimum":0},"triggers":{"type":"array","items":{"oneOf":[{"type":"object","description":"Worker triggered by queue messages (always 1 message per invocation)","required":["queue","type"],"properties":{"queue":{"type":"object","description":"Reference to the queue resource","required":["type","id"],"properties":{"id":{"type":"string"},"type":{"type":"string","description":"Resource type identifier that determines the specific kind of resource. This field is used for polymorphic deserialization and resource-specific behavior.","examples":["worker","storage","queue","redis","postgres"],"x-readme-ref-name":"ResourceType"}},"x-readme-ref-name":"ResourceRef"},"type":{"type":"string","enum":["queue"]}}},{"type":"object","description":"Worker triggered by storage events (object created, deleted, etc.)","required":["storage","events","type"],"properties":{"events":{"type":"array","items":{"type":"string"},"description":"Events to trigger on (e.g., [\"created\", \"deleted\"])"},"storage":{"type":"object","description":"Reference to the storage resource","required":["type","id"],"properties":{"id":{"type":"string"},"type":{"type":"string","description":"Resource type identifier that determines the specific kind of resource. This field is used for polymorphic deserialization and resource-specific behavior.","examples":["worker","storage","queue","redis","postgres"],"x-readme-ref-name":"ResourceType"}},"x-readme-ref-name":"ResourceRef"},"type":{"type":"string","enum":["storage"]}}},{"type":"object","description":"Worker triggered on a schedule (cron expression)","required":["cron","type"],"properties":{"cron":{"type":"string","description":"Cron expression for scheduling (standard 5-field unix cron)"},"type":{"type":"string","enum":["schedule"]}}}],"description":"Defines what triggers a worker execution.","x-readme-ref-name":"WorkerTrigger"},"description":"List of triggers that define what events automatically invoke this worker.\nIf empty, the worker is only invokable directly via HTTP calls or platform-specific invocation APIs.\nWhen configured, the worker will be automatically invoked when any of the specified trigger conditions are met."}},"additionalProperties":false,"x-readme-ref-name":"Worker"}
@@ -0,0 +1 @@
1
+ {"oneOf":[{"type":"object","description":"Container image.","required":["image","type"],"properties":{"image":{"type":"string","description":"Container image (e.g., `ghcr.io/myorg/myimage:latest`)."},"type":{"type":"string","enum":["image"]}}},{"type":"object","description":"Source code to be built.","required":["src","toolchain","type"],"properties":{"src":{"type":"string","description":"The source directory to build from"},"toolchain":{"oneOf":[{"type":"object","description":"Rust with Cargo build system","required":["binaryName","type"],"properties":{"binaryName":{"type":"string","description":"Name of the binary to build and run"},"type":{"type":"string","enum":["rust"]}}},{"type":"object","description":"TypeScript/JavaScript compiled to single executable with Bun","required":["type"],"properties":{"binaryName":{"type":["string","null"],"description":"Name of the compiled binary (defaults to package.json name if not specified)"},"type":{"type":"string","enum":["typescript"]}}},{"type":"object","description":"Docker build from Dockerfile","required":["type"],"properties":{"buildArgs":{"type":["object","null"],"description":"Build arguments for docker build","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"dockerfile":{"type":["string","null"],"description":"Dockerfile path relative to src (default: \"Dockerfile\")"},"target":{"type":["string","null"],"description":"Multi-stage build target"},"type":{"type":"string","enum":["docker"]}}}],"description":"Toolchain configuration with type-safe options","x-readme-ref-name":"ToolchainConfig"},"type":{"type":"string","enum":["source"]}}}],"description":"Specifies the source of the worker's executable code.\nThis can be a pre-built container image or source code that the system will build.","x-readme-ref-name":"WorkerCode"}
@@ -0,0 +1 @@
1
+ {"oneOf":[{"allOf":[{"type":"object","required":["status","functionName","layerCount","functionUrlCorsPresent","triggerCount"],"properties":{"codeSha256":{"type":["string","null"]},"functionName":{"type":"string"},"functionUrlAuthType":{"type":["string","null"]},"functionUrlCorsPresent":{"type":"boolean"},"lastModified":{"type":["string","null"]},"lastUpdateStatus":{"type":["string","null"]},"lastUpdateStatusReason":{"type":["string","null"]},"lastUpdateStatusReasonCode":{"type":["string","null"]},"layerCount":{"type":"integer","format":"int32","minimum":0},"memorySizeMb":{"type":["integer","null"],"format":"int64"},"packageType":{"type":["string","null"]},"revisionId":{"type":["string","null"]},"runtime":{"type":["string","null"]},"state":{"type":["string","null"]},"stateReason":{"type":["string","null"]},"stateReasonCode":{"type":["string","null"]},"status":{"type":"object","required":["health","lifecycle","stale","partial","collectionIssues"],"properties":{"collectionIssues":{"type":"array","items":{"type":"object","required":["source","reason","severity","message"],"properties":{"message":{"type":"string"},"reason":{"type":"string","enum":["forbidden","not-installed","api-unavailable","collection-failed","timed-out"],"x-readme-ref-name":"HeartbeatCollectionIssueReason"},"severity":{"type":"string","enum":["info","warning","error"],"x-readme-ref-name":"HeartbeatIssueSeverity"},"source":{"type":"string"}},"x-readme-ref-name":"HeartbeatCollectionIssue"}},"health":{"type":"string","enum":["unknown","healthy","degraded","unhealthy"],"x-readme-ref-name":"ObservedHealth"},"lifecycle":{"type":"string","enum":["unknown","creating","updating","running","scaling","stopping","stopped","deleting","deleted","failed"],"x-readme-ref-name":"ProviderLifecycleState"},"message":{"type":["string","null"]},"partial":{"type":"boolean"},"stale":{"type":"boolean"}},"x-readme-ref-name":"WorkloadHeartbeatStatus"},"timeoutSeconds":{"type":["integer","null"],"format":"int64"},"triggerCount":{"type":"integer","format":"int32","minimum":0},"version":{"type":["string","null"]}},"x-readme-ref-name":"AwsLambdaWorkerHeartbeatData"},{"type":"object","required":["backend"],"properties":{"backend":{"type":"string","enum":["awsLambda"]}}}]},{"allOf":[{"type":"object","required":["status","service","urls","trafficCount"],"properties":{"containerImage":{"type":["string","null"]},"cpuLimit":{"type":["string","null"]},"generation":{"type":["integer","null"],"format":"int64"},"latestCreatedRevision":{"type":["string","null"]},"latestReadyRevision":{"type":["string","null"]},"maxInstanceCount":{"type":["integer","null"],"format":"int32"},"memoryLimit":{"type":["string","null"]},"minInstanceCount":{"type":["integer","null"],"format":"int32"},"observedGeneration":{"type":["integer","null"],"format":"int64"},"region":{"type":["string","null"]},"service":{"type":"string"},"status":{"type":"object","required":["health","lifecycle","stale","partial","collectionIssues"],"properties":{"collectionIssues":{"type":"array","items":{"type":"object","required":["source","reason","severity","message"],"properties":{"message":{"type":"string"},"reason":{"type":"string","enum":["forbidden","not-installed","api-unavailable","collection-failed","timed-out"],"x-readme-ref-name":"HeartbeatCollectionIssueReason"},"severity":{"type":"string","enum":["info","warning","error"],"x-readme-ref-name":"HeartbeatIssueSeverity"},"source":{"type":"string"}},"x-readme-ref-name":"HeartbeatCollectionIssue"}},"health":{"type":"string","enum":["unknown","healthy","degraded","unhealthy"],"x-readme-ref-name":"ObservedHealth"},"lifecycle":{"type":"string","enum":["unknown","creating","updating","running","scaling","stopping","stopped","deleting","deleted","failed"],"x-readme-ref-name":"ProviderLifecycleState"},"message":{"type":["string","null"]},"partial":{"type":"boolean"},"stale":{"type":"boolean"}},"x-readme-ref-name":"WorkloadHeartbeatStatus"},"trafficCount":{"type":"integer","format":"int32","minimum":0},"uri":{"type":["string","null"]},"urls":{"type":"array","items":{"type":"string"}}},"x-readme-ref-name":"GcpCloudRunWorkerHeartbeatData"},{"type":"object","required":["backend"],"properties":{"backend":{"type":"string","enum":["gcpCloudRun"]}}}]},{"allOf":[{"type":"object","required":["status","appName"],"properties":{"appName":{"type":"string"},"cpu":{"type":["number","null"],"format":"double"},"environmentName":{"type":["string","null"]},"ingressFqdn":{"type":["string","null"]},"maxReplicas":{"type":["integer","null"],"format":"int32"},"memory":{"type":["string","null"]},"minReplicas":{"type":["integer","null"],"format":"int32"},"provisioningState":{"type":["string","null"]},"revision":{"type":["string","null"]},"runningStatus":{"type":["string","null"]},"status":{"type":"object","required":["health","lifecycle","stale","partial","collectionIssues"],"properties":{"collectionIssues":{"type":"array","items":{"type":"object","required":["source","reason","severity","message"],"properties":{"message":{"type":"string"},"reason":{"type":"string","enum":["forbidden","not-installed","api-unavailable","collection-failed","timed-out"],"x-readme-ref-name":"HeartbeatCollectionIssueReason"},"severity":{"type":"string","enum":["info","warning","error"],"x-readme-ref-name":"HeartbeatIssueSeverity"},"source":{"type":"string"}},"x-readme-ref-name":"HeartbeatCollectionIssue"}},"health":{"type":"string","enum":["unknown","healthy","degraded","unhealthy"],"x-readme-ref-name":"ObservedHealth"},"lifecycle":{"type":"string","enum":["unknown","creating","updating","running","scaling","stopping","stopped","deleting","deleted","failed"],"x-readme-ref-name":"ProviderLifecycleState"},"message":{"type":["string","null"]},"partial":{"type":"boolean"},"stale":{"type":"boolean"}},"x-readme-ref-name":"WorkloadHeartbeatStatus"}},"x-readme-ref-name":"AzureContainerAppsWorkerHeartbeatData"},{"type":"object","required":["backend"],"properties":{"backend":{"type":"string","enum":["azureContainerApps"]}}}]},{"allOf":[{"type":"object","required":["status","namespace","name","workloadKind","replicas","pods","triggerCount","events"],"properties":{"cpu":{"oneOf":[{"type":"null"},{"type":"object","required":["value","unit"],"properties":{"unit":{"type":"string","enum":["count","percent","bytes","cores","milliseconds","requests-per-second"],"x-readme-ref-name":"MetricUnit"},"value":{"type":"number","format":"double"}},"x-readme-ref-name":"MetricSample"}]},"events":{"type":"array","items":{"type":"object","required":["reason","message"],"properties":{"count":{"type":["integer","null"],"format":"int32"},"eventTime":{"type":["string","null"],"format":"date-time"},"firstTimestamp":{"type":["string","null"],"format":"date-time"},"involvedObject":{"oneOf":[{"type":"null"},{"type":"object","properties":{"apiVersion":{"type":["string","null"]},"fieldPath":{"type":["string","null"]},"kind":{"type":["string","null"]},"name":{"type":["string","null"]},"namespace":{"type":["string","null"]},"resourceVersion":{"type":["string","null"]},"uid":{"type":["string","null"]}},"x-readme-ref-name":"KubernetesEventInvolvedObject"}]},"lastTimestamp":{"type":["string","null"],"format":"date-time"},"message":{"type":"string"},"raw":{"oneOf":[{"type":"null"},{"x-readme-ref-name":"Value"}]},"reason":{"type":"string"},"source":{"oneOf":[{"type":"null"},{"type":"object","properties":{"component":{"type":["string","null"]},"host":{"type":["string","null"]}},"x-readme-ref-name":"KubernetesEventSource"}]},"type":{"type":["string","null"]}},"x-readme-ref-name":"KubernetesEventSnapshot"}},"memory":{"oneOf":[{"type":"null"},{"type":"object","required":["value","unit"],"properties":{"unit":{"type":"string","enum":["count","percent","bytes","cores","milliseconds","requests-per-second"],"x-readme-ref-name":"MetricUnit"},"value":{"type":"number","format":"double"}},"x-readme-ref-name":"MetricSample"}]},"name":{"type":"string"},"namespace":{"type":"string"},"pods":{"type":"array","items":{"type":"object","required":["name","ready","restartCount","ownerReferences"],"properties":{"cpu":{"oneOf":[{"type":"null"},{"type":"object","required":["value","unit"],"properties":{"unit":{"type":"string","enum":["count","percent","bytes","cores","milliseconds","requests-per-second"],"x-readme-ref-name":"MetricUnit"},"value":{"type":"number","format":"double"}},"x-readme-ref-name":"MetricSample"}]},"memory":{"oneOf":[{"type":"null"},{"type":"object","required":["value","unit"],"properties":{"unit":{"type":"string","enum":["count","percent","bytes","cores","milliseconds","requests-per-second"],"x-readme-ref-name":"MetricUnit"},"value":{"type":"number","format":"double"}},"x-readme-ref-name":"MetricSample"}]},"name":{"type":"string"},"nodeName":{"type":["string","null"]},"ownerReferences":{"type":"array","items":{"type":"object","required":["kind","name","uid","controller"],"properties":{"controller":{"type":"boolean"},"kind":{"type":"string"},"name":{"type":"string"},"uid":{"type":"string"}},"x-readme-ref-name":"KubernetesOwnerReference"}},"phase":{"type":["string","null"]},"podIp":{"type":["string","null"]},"ready":{"type":"boolean"},"restartCount":{"type":"integer","format":"int32","minimum":0},"terminatedReason":{"type":["string","null"]},"uid":{"type":["string","null"]},"waitingReason":{"type":["string","null"]}},"x-readme-ref-name":"KubernetesPodRuntimeUnitStatus"}},"replicas":{"type":"object","properties":{"available":{"type":["integer","null"],"format":"int32","minimum":0},"current":{"type":["integer","null"],"format":"int32","minimum":0},"desired":{"type":["integer","null"],"format":"int32","minimum":0},"misscheduled":{"type":["integer","null"],"format":"int32","minimum":0},"ready":{"type":["integer","null"],"format":"int32","minimum":0},"updated":{"type":["integer","null"],"format":"int32","minimum":0}},"x-readme-ref-name":"WorkloadReplicaStatus"},"restarts":{"type":["integer","null"],"format":"int32","minimum":0},"status":{"type":"object","required":["health","lifecycle","stale","partial","collectionIssues"],"properties":{"collectionIssues":{"type":"array","items":{"type":"object","required":["source","reason","severity","message"],"properties":{"message":{"type":"string"},"reason":{"type":"string","enum":["forbidden","not-installed","api-unavailable","collection-failed","timed-out"],"x-readme-ref-name":"HeartbeatCollectionIssueReason"},"severity":{"type":"string","enum":["info","warning","error"],"x-readme-ref-name":"HeartbeatIssueSeverity"},"source":{"type":"string"}},"x-readme-ref-name":"HeartbeatCollectionIssue"}},"health":{"type":"string","enum":["unknown","healthy","degraded","unhealthy"],"x-readme-ref-name":"ObservedHealth"},"lifecycle":{"type":"string","enum":["unknown","creating","updating","running","scaling","stopping","stopped","deleting","deleted","failed"],"x-readme-ref-name":"ProviderLifecycleState"},"message":{"type":["string","null"]},"partial":{"type":"boolean"},"stale":{"type":"boolean"}},"x-readme-ref-name":"WorkloadHeartbeatStatus"},"triggerCount":{"type":"integer","format":"int32","minimum":0},"workload":{"oneOf":[{"type":"null"},{"type":"object","required":["conditions"],"properties":{"availableReplicas":{"type":["integer","null"],"format":"int32","minimum":0},"conditions":{"type":"array","items":{"type":"object","required":["type","status"],"properties":{"lastTransitionTime":{"type":["string","null"],"format":"date-time"},"message":{"type":["string","null"]},"reason":{"type":["string","null"]},"status":{"type":"string"},"type":{"type":"string"}},"x-readme-ref-name":"KubernetesWorkloadCondition"}},"desiredGeneration":{"type":["integer","null"],"format":"int64"},"desiredReplicas":{"type":["integer","null"],"format":"int32","minimum":0},"observedGeneration":{"type":["integer","null"],"format":"int64"},"readyReplicas":{"type":["integer","null"],"format":"int32","minimum":0},"rolloutReason":{"type":["string","null"]},"updatedReplicas":{"type":["integer","null"],"format":"int32","minimum":0}},"x-readme-ref-name":"KubernetesWorkloadStatus"}]},"workloadKind":{"type":"string","enum":["deployment","statefulSet","daemonSet","replicaSet","pod"],"x-readme-ref-name":"KubernetesWorkloadKind"}},"x-readme-ref-name":"KubernetesWorkerHeartbeatData"},{"type":"object","required":["backend"],"properties":{"backend":{"type":"string","enum":["kubernetes"]}}}]},{"allOf":[{"type":"object","required":["status","commandSupported","imagePathPresent","triggerCount","events"],"properties":{"commandSupported":{"type":"boolean"},"cpu":{"oneOf":[{"type":"null"},{"type":"object","required":["value","unit"],"properties":{"unit":{"type":"string","enum":["count","percent","bytes","cores","milliseconds","requests-per-second"],"x-readme-ref-name":"MetricUnit"},"value":{"type":"number","format":"double"}},"x-readme-ref-name":"MetricSample"}]},"events":{"type":"array","items":{"type":"object","required":["timestamp","severity","kind","message"],"properties":{"kind":{"type":"string"},"message":{"type":"string"},"raw":{"oneOf":[{"type":"null"},{"x-readme-ref-name":"Value"}]},"severity":{"type":"string","enum":["info","warning","error"],"x-readme-ref-name":"HeartbeatIssueSeverity"},"subject":{"oneOf":[{"type":"null"},{"type":"object","required":["kind"],"properties":{"id":{"type":["string","null"]},"kind":{"type":"string"},"name":{"type":["string","null"]}},"x-readme-ref-name":"LocalRuntimeEventSubject"}]},"timestamp":{"type":"string","format":"date-time"}},"x-readme-ref-name":"LocalRuntimeEventSnapshot"}},"imagePathPresent":{"type":"boolean"},"memory":{"oneOf":[{"type":"null"},{"type":"object","required":["value","unit"],"properties":{"unit":{"type":"string","enum":["count","percent","bytes","cores","milliseconds","requests-per-second"],"x-readme-ref-name":"MetricUnit"},"value":{"type":"number","format":"double"}},"x-readme-ref-name":"MetricSample"}]},"pid":{"type":["integer","null"],"format":"int32","minimum":0},"process":{"oneOf":[{"type":"null"},{"type":"object","required":["unitId","name","kind","ready"],"properties":{"cpu":{"oneOf":[{"type":"null"},{"type":"object","required":["value","unit"],"properties":{"unit":{"type":"string","enum":["count","percent","bytes","cores","milliseconds","requests-per-second"],"x-readme-ref-name":"MetricUnit"},"value":{"type":"number","format":"double"}},"x-readme-ref-name":"MetricSample"}]},"kind":{"type":"string","enum":["container","process","daemon"],"x-readme-ref-name":"LocalRuntimeUnitKind"},"memory":{"oneOf":[{"type":"null"},{"type":"object","required":["value","unit"],"properties":{"unit":{"type":"string","enum":["count","percent","bytes","cores","milliseconds","requests-per-second"],"x-readme-ref-name":"MetricUnit"},"value":{"type":"number","format":"double"}},"x-readme-ref-name":"MetricSample"}]},"name":{"type":"string"},"phase":{"type":["string","null"]},"pid":{"type":["integer","null"],"format":"int32","minimum":0},"ready":{"type":"boolean"},"restartCount":{"type":["integer","null"],"format":"int32","minimum":0},"unitId":{"type":"string"}},"x-readme-ref-name":"LocalRuntimeUnitStatus"}]},"readinessProbeOk":{"type":["boolean","null"]},"status":{"type":"object","required":["health","lifecycle","stale","partial","collectionIssues"],"properties":{"collectionIssues":{"type":"array","items":{"type":"object","required":["source","reason","severity","message"],"properties":{"message":{"type":"string"},"reason":{"type":"string","enum":["forbidden","not-installed","api-unavailable","collection-failed","timed-out"],"x-readme-ref-name":"HeartbeatCollectionIssueReason"},"severity":{"type":"string","enum":["info","warning","error"],"x-readme-ref-name":"HeartbeatIssueSeverity"},"source":{"type":"string"}},"x-readme-ref-name":"HeartbeatCollectionIssue"}},"health":{"type":"string","enum":["unknown","healthy","degraded","unhealthy"],"x-readme-ref-name":"ObservedHealth"},"lifecycle":{"type":"string","enum":["unknown","creating","updating","running","scaling","stopping","stopped","deleting","deleted","failed"],"x-readme-ref-name":"ProviderLifecycleState"},"message":{"type":["string","null"]},"partial":{"type":"boolean"},"stale":{"type":"boolean"}},"x-readme-ref-name":"WorkloadHeartbeatStatus"},"triggerCount":{"type":"integer","format":"int32","minimum":0}},"x-readme-ref-name":"LocalWorkerHeartbeatData"},{"type":"object","required":["backend"],"properties":{"backend":{"type":"string","enum":["local"]}}}]}],"x-readme-ref-name":"WorkerHeartbeatData"}
@@ -0,0 +1 @@
1
+ {"type":"object","description":"Outputs generated by a successfully provisioned Worker.","required":["workerName"],"properties":{"commandsPushTarget":{"type":["string","null"],"description":"Push target for commands delivery. Platform-specific:\n- AWS: Lambda function name or ARN\n- GCP: Full Pub/Sub topic path (projects/{project}/topics/{topic})\n- Azure: Service Bus \"{namespace}/{queue}\""},"identifier":{"type":["string","null"],"description":"The ARN or platform-specific identifier."},"loadBalancerEndpoint":{"oneOf":[{"type":"null"},{"description":"Load balancer endpoint information for DNS management (optional).\nUsed by the DNS controller to create custom domain mappings.","type":"object","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","null"],"description":"AWS Route53 hosted zone ID (for ALIAS records). Only set on AWS."}},"x-readme-ref-name":"LoadBalancerEndpoint"}]},"url":{"type":["string","null"],"description":"The invocation URL (if applicable, e.g., for public ingress or specific platforms)."},"workerName":{"type":"string","description":"The platform-specific worker name."}},"x-readme-ref-name":"WorkerOutputs"}
@@ -0,0 +1 @@
1
+ {"oneOf":[{"type":"object","description":"Worker triggered by queue messages (always 1 message per invocation)","required":["queue","type"],"properties":{"queue":{"type":"object","description":"Reference to the queue resource","required":["type","id"],"properties":{"id":{"type":"string"},"type":{"type":"string","description":"Resource type identifier that determines the specific kind of resource. This field is used for polymorphic deserialization and resource-specific behavior.","examples":["worker","storage","queue","redis","postgres"],"x-readme-ref-name":"ResourceType"}},"x-readme-ref-name":"ResourceRef"},"type":{"type":"string","enum":["queue"]}}},{"type":"object","description":"Worker triggered by storage events (object created, deleted, etc.)","required":["storage","events","type"],"properties":{"events":{"type":"array","items":{"type":"string"},"description":"Events to trigger on (e.g., [\"created\", \"deleted\"])"},"storage":{"type":"object","description":"Reference to the storage resource","required":["type","id"],"properties":{"id":{"type":"string"},"type":{"type":"string","description":"Resource type identifier that determines the specific kind of resource. This field is used for polymorphic deserialization and resource-specific behavior.","examples":["worker","storage","queue","redis","postgres"],"x-readme-ref-name":"ResourceType"}},"x-readme-ref-name":"ResourceRef"},"type":{"type":"string","enum":["storage"]}}},{"type":"object","description":"Worker triggered on a schedule (cron expression)","required":["cron","type"],"properties":{"cron":{"type":"string","description":"Cron expression for scheduling (standard 5-field unix cron)"},"type":{"type":"string","enum":["schedule"]}}}],"description":"Defines what triggers a worker execution.","x-readme-ref-name":"WorkerTrigger"}
@@ -0,0 +1 @@
1
+ {"type":"object","required":["health","lifecycle","stale","partial","collectionIssues"],"properties":{"collectionIssues":{"type":"array","items":{"type":"object","required":["source","reason","severity","message"],"properties":{"message":{"type":"string"},"reason":{"type":"string","enum":["forbidden","not-installed","api-unavailable","collection-failed","timed-out"],"x-readme-ref-name":"HeartbeatCollectionIssueReason"},"severity":{"type":"string","enum":["info","warning","error"],"x-readme-ref-name":"HeartbeatIssueSeverity"},"source":{"type":"string"}},"x-readme-ref-name":"HeartbeatCollectionIssue"}},"health":{"type":"string","enum":["unknown","healthy","degraded","unhealthy"],"x-readme-ref-name":"ObservedHealth"},"lifecycle":{"type":"string","enum":["unknown","creating","updating","running","scaling","stopping","stopped","deleting","deleted","failed"],"x-readme-ref-name":"ProviderLifecycleState"},"message":{"type":["string","null"]},"partial":{"type":"boolean"},"stale":{"type":"boolean"}},"x-readme-ref-name":"WorkloadHeartbeatStatus"}
@@ -0,0 +1 @@
1
+ {"type":"object","properties":{"available":{"type":["integer","null"],"format":"int32","minimum":0},"current":{"type":["integer","null"],"format":"int32","minimum":0},"desired":{"type":["integer","null"],"format":"int32","minimum":0},"misscheduled":{"type":["integer","null"],"format":"int32","minimum":0},"ready":{"type":["integer","null"],"format":"int32","minimum":0},"updated":{"type":["integer","null"],"format":"int32","minimum":0}},"x-readme-ref-name":"WorkloadReplicaStatus"}
@@ -17,7 +17,7 @@ export const AgentStatusSchema = z.object({
17
17
  get "error"(){
18
18
  return z.union([AlienErrorSchema, z.null()]).optional()
19
19
  },
20
- "id": z.string().describe("Agent ID (e.g., ag_xyz123)"),
20
+ "id": z.string().describe("Deployment ID (e.g., dep_xyz123)"),
21
21
  "name": z.string().describe("Agent name (from --agent-name flag)"),
22
22
  "resources": z.object({
23
23
 
@@ -28,7 +28,7 @@ export const AlienEventSchema = z.union([z.object({
28
28
  }), z.object({
29
29
  "relatedResources": z.optional(z.array(z.string()).describe("All resource names sharing this build (for deduped container groups)")),
30
30
  "resourceName": z.string().describe("Name of the resource being built"),
31
- "resourceType": z.string().describe("Type of the resource: \"function\", \"container\", \"worker\""),
31
+ "resourceType": z.string().describe("Type of the resource: \"worker\", \"container\""),
32
32
  "type": z.enum(["BuildingResource"])
33
33
  }), z.object({
34
34
  "image": z.string().describe("Name of the image being built"),
@@ -40,12 +40,13 @@ get "progress"(){
40
40
  },
41
41
  "type": z.enum(["PushingImage"])
42
42
  }), z.object({
43
- "platform": z.string().describe("Target platform"),
43
+ "destination": z.string().describe("Human-readable destination for pushed images").nullish(),
44
+ "platform": z.string().describe("Target platform"),
44
45
  "stack": z.string().describe("Name of the stack being pushed"),
45
46
  "type": z.enum(["PushingStack"])
46
47
  }), z.object({
47
48
  "resourceName": z.string().describe("Name of the resource being pushed"),
48
- "resourceType": z.string().describe("Type of the resource: \"function\", \"container\", \"worker\""),
49
+ "resourceType": z.string().describe("Type of the resource: \"worker\", \"container\""),
49
50
  "type": z.enum(["PushingResource"])
50
51
  }), z.object({
51
52
  "project": z.string().describe("Project name"),
@@ -89,7 +90,7 @@ get "progress"(){
89
90
  "type": z.enum(["DeployingStack"])
90
91
  }), z.object({
91
92
  "stackName": z.string().describe("Name of the stack being tested"),
92
- "type": z.enum(["RunningTestFunction"])
93
+ "type": z.enum(["RunningTestWorker"])
93
94
  }), z.object({
94
95
  "stackName": z.string().describe("Name of the stack being cleaned up"),
95
96
  "strategyName": z.string().describe("Name of the deployment strategy being used for cleanup"),
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Generated by Kubb (https://kubb.dev/).
3
+ * Do not edit manually.
4
+ */
5
+
6
+ import * as z from "zod";
7
+ import { AwsEcrArtifactRegistryHeartbeatDataSchema } from "./aws-ecr-artifact-registry-heartbeat-data-schema.js";
8
+ import { AzureContainerRegistryHeartbeatDataSchema } from "./azure-container-registry-heartbeat-data-schema.js";
9
+ import { GcpArtifactRegistryHeartbeatDataSchema } from "./gcp-artifact-registry-heartbeat-data-schema.js";
10
+ import { LocalArtifactRegistryHeartbeatDataSchema } from "./local-artifact-registry-heartbeat-data-schema.js";
11
+
12
+ export const ArtifactRegistryHeartbeatDataSchema = z.union([z.lazy(() => AwsEcrArtifactRegistryHeartbeatDataSchema).and(z.object({
13
+ "backend": z.enum(["awsEcr"])
14
+ })), z.lazy(() => GcpArtifactRegistryHeartbeatDataSchema).and(z.object({
15
+ "backend": z.enum(["gcpArtifactRegistry"])
16
+ })), z.lazy(() => AzureContainerRegistryHeartbeatDataSchema).and(z.object({
17
+ "backend": z.enum(["azureContainerRegistry"])
18
+ })), z.lazy(() => LocalArtifactRegistryHeartbeatDataSchema).and(z.object({
19
+ "backend": z.enum(["local"])
20
+ }))])
21
+
22
+ export type ArtifactRegistryHeartbeatData = z.infer<typeof ArtifactRegistryHeartbeatDataSchema>
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Generated by Kubb (https://kubb.dev/).
3
+ * Do not edit manually.
4
+ */
5
+
6
+ import * as z from "zod";
7
+ import { HeartbeatCollectionIssueSchema } from "./heartbeat-collection-issue-schema.js";
8
+ import { ObservedHealthSchema } from "./observed-health-schema.js";
9
+ import { ProviderLifecycleStateSchema } from "./provider-lifecycle-state-schema.js";
10
+
11
+ export const ArtifactRegistryHeartbeatStatusSchema = z.object({
12
+ get "collectionIssues"(){
13
+ return z.array(HeartbeatCollectionIssueSchema)
14
+ },
15
+ get "health"(){
16
+ return ObservedHealthSchema
17
+ },
18
+ get "lifecycle"(){
19
+ return ProviderLifecycleStateSchema
20
+ },
21
+ "message": z.string().nullish(),
22
+ "partial": z.boolean(),
23
+ "stale": z.boolean()
24
+ })
25
+
26
+ export type ArtifactRegistryHeartbeatStatus = z.infer<typeof ArtifactRegistryHeartbeatStatusSchema>
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Generated by Kubb (https://kubb.dev/).
3
+ * Do not edit manually.
4
+ */
5
+
6
+ import * as z from "zod";
7
+
8
+ /**
9
+ * @description AWS ArtifactRegistry ImportData.
10
+ */
11
+ export const AwsArtifactRegistryImportDataSchema = z.object({
12
+ "accountId": z.string().describe("AWS account ID that owns the ECR registry."),
13
+ "pullRoleArn": z.string().describe("IAM role ARN with pull-only access."),
14
+ "pushRoleArn": z.string().describe("IAM role ARN with push and pull access."),
15
+ "region": z.string().describe("AWS region for the registry endpoint."),
16
+ "registryEndpoint": z.string().describe("Docker registry endpoint."),
17
+ "registryId": z.string().describe("Registry identifier in `account:region` form."),
18
+ "repositoryPrefix": z.string().describe("Prefix used for repositories owned by this stack.")
19
+ }).describe("AWS ArtifactRegistry ImportData.")
20
+
21
+ export type AwsArtifactRegistryImportData = z.infer<typeof AwsArtifactRegistryImportDataSchema>