@quadnix/octo 0.0.29 → 0.1.0

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 (362) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +25 -3
  3. package/dist/app.type.d.ts +143 -4
  4. package/dist/app.type.js +80 -9
  5. package/dist/app.type.js.map +1 -1
  6. package/dist/decorators/action.decorator.d.ts +10 -6
  7. package/dist/decorators/action.decorator.js +19 -6
  8. package/dist/decorators/action.decorator.js.map +1 -1
  9. package/dist/decorators/anchor.decorator.d.ts +12 -5
  10. package/dist/decorators/anchor.decorator.js +12 -5
  11. package/dist/decorators/anchor.decorator.js.map +1 -1
  12. package/dist/decorators/enable-hook.decorator.d.ts +1 -1
  13. package/dist/decorators/enable-hook.decorator.js +1 -1
  14. package/dist/decorators/factory.decorator.d.ts +18 -34
  15. package/dist/decorators/factory.decorator.js +18 -34
  16. package/dist/decorators/factory.decorator.js.map +1 -1
  17. package/dist/decorators/model.decorator.d.ts +1 -1
  18. package/dist/decorators/model.decorator.js +1 -1
  19. package/dist/decorators/module.decorator.d.ts +16 -10
  20. package/dist/decorators/module.decorator.js +16 -10
  21. package/dist/decorators/module.decorator.js.map +1 -1
  22. package/dist/decorators/on-event.decorator.d.ts +5 -0
  23. package/dist/decorators/on-event.decorator.js +5 -0
  24. package/dist/decorators/on-event.decorator.js.map +1 -1
  25. package/dist/decorators/validate.decorator.d.ts +15 -1
  26. package/dist/decorators/validate.decorator.js +15 -1
  27. package/dist/decorators/validate.decorator.js.map +1 -1
  28. package/dist/errors/container.error.d.ts +18 -0
  29. package/dist/errors/container.error.js +18 -0
  30. package/dist/errors/container.error.js.map +1 -1
  31. package/dist/errors/index.d.ts +1 -0
  32. package/dist/errors/index.js +1 -0
  33. package/dist/errors/index.js.map +1 -1
  34. package/dist/errors/module.error.d.ts +6 -0
  35. package/dist/errors/module.error.js +6 -0
  36. package/dist/errors/module.error.js.map +1 -1
  37. package/dist/errors/node.error.d.ts +56 -0
  38. package/dist/errors/node.error.js +56 -0
  39. package/dist/errors/node.error.js.map +1 -1
  40. package/dist/errors/schema.error.d.ts +6 -0
  41. package/dist/errors/schema.error.js +6 -0
  42. package/dist/errors/schema.error.js.map +1 -1
  43. package/dist/errors/terraform.error.d.ts +19 -0
  44. package/dist/errors/terraform.error.js +23 -0
  45. package/dist/errors/terraform.error.js.map +1 -0
  46. package/dist/errors/transaction.error.d.ts +77 -0
  47. package/dist/errors/transaction.error.js +83 -0
  48. package/dist/errors/transaction.error.js.map +1 -1
  49. package/dist/events/action.event.d.ts +0 -2
  50. package/dist/events/action.event.js +0 -2
  51. package/dist/events/action.event.js.map +1 -1
  52. package/dist/events/event.model.d.ts +21 -5
  53. package/dist/events/event.model.js +11 -5
  54. package/dist/events/event.model.js.map +1 -1
  55. package/dist/events/hook/commit.hook.event.d.ts +0 -6
  56. package/dist/events/hook/commit.hook.event.js +0 -6
  57. package/dist/events/hook/commit.hook.event.js.map +1 -1
  58. package/dist/events/hook/hook.event.d.ts +0 -2
  59. package/dist/events/hook/hook.event.js +0 -2
  60. package/dist/events/hook/hook.event.js.map +1 -1
  61. package/dist/events/hook/model.hook.event.d.ts +0 -6
  62. package/dist/events/hook/model.hook.event.js +0 -6
  63. package/dist/events/hook/model.hook.event.js.map +1 -1
  64. package/dist/events/hook/resource.hook.event.d.ts +0 -6
  65. package/dist/events/hook/resource.hook.event.js +0 -6
  66. package/dist/events/hook/resource.hook.event.js.map +1 -1
  67. package/dist/events/index.d.ts +3 -0
  68. package/dist/events/index.js +3 -0
  69. package/dist/events/index.js.map +1 -1
  70. package/dist/events/mode-result.event.d.ts +57 -0
  71. package/dist/events/mode-result.event.js +24 -0
  72. package/dist/events/mode-result.event.js.map +1 -0
  73. package/dist/events/mode.event.d.ts +57 -0
  74. package/dist/events/mode.event.js +32 -0
  75. package/dist/events/mode.event.js.map +1 -0
  76. package/dist/events/module.event.d.ts +0 -2
  77. package/dist/events/module.event.js +0 -2
  78. package/dist/events/module.event.js.map +1 -1
  79. package/dist/events/registration.event.d.ts +18 -14
  80. package/dist/events/registration.event.js +18 -14
  81. package/dist/events/registration.event.js.map +1 -1
  82. package/dist/events/serialization.event.d.ts +15 -12
  83. package/dist/events/serialization.event.js +15 -12
  84. package/dist/events/serialization.event.js.map +1 -1
  85. package/dist/events/terraform.event.d.ts +42 -0
  86. package/dist/events/terraform.event.js +31 -0
  87. package/dist/events/terraform.event.js.map +1 -0
  88. package/dist/events/transaction.event.d.ts +0 -37
  89. package/dist/events/transaction.event.js +0 -28
  90. package/dist/events/transaction.event.js.map +1 -1
  91. package/dist/functions/container/container.d.ts +54 -13
  92. package/dist/functions/container/container.js +63 -18
  93. package/dist/functions/container/container.js.map +1 -1
  94. package/dist/functions/container/test-container.d.ts +43 -29
  95. package/dist/functions/container/test-container.js +71 -43
  96. package/dist/functions/container/test-container.js.map +1 -1
  97. package/dist/functions/dependency/dependency.d.ts +82 -8
  98. package/dist/functions/dependency/dependency.js +80 -14
  99. package/dist/functions/dependency/dependency.js.map +1 -1
  100. package/dist/functions/diff/aggregate-resource-actions.d.ts +19 -0
  101. package/dist/functions/diff/aggregate-resource-actions.js +41 -0
  102. package/dist/functions/diff/aggregate-resource-actions.js.map +1 -0
  103. package/dist/functions/diff/diff-metadata.d.ts +21 -3
  104. package/dist/functions/diff/diff-metadata.js +18 -0
  105. package/dist/functions/diff/diff-metadata.js.map +1 -1
  106. package/dist/functions/diff/diff.d.ts +55 -1
  107. package/dist/functions/diff/diff.js +44 -3
  108. package/dist/functions/diff/diff.js.map +1 -1
  109. package/dist/functions/diff/diff.utility.d.ts +17 -2
  110. package/dist/functions/diff/diff.utility.js +53 -38
  111. package/dist/functions/diff/diff.utility.js.map +1 -1
  112. package/dist/functions/hook/commit.hook.d.ts +16 -1
  113. package/dist/functions/hook/commit.hook.js +21 -6
  114. package/dist/functions/hook/commit.hook.js.map +1 -1
  115. package/dist/functions/hook/model-action.hook.d.ts +16 -1
  116. package/dist/functions/hook/model-action.hook.js +21 -6
  117. package/dist/functions/hook/model-action.hook.js.map +1 -1
  118. package/dist/functions/hook/resource-action.hook.d.ts +16 -1
  119. package/dist/functions/hook/resource-action.hook.js +21 -6
  120. package/dist/functions/hook/resource-action.hook.js.map +1 -1
  121. package/dist/functions/node/node-action.abstract.d.ts +23 -0
  122. package/dist/functions/node/node-action.abstract.js +20 -0
  123. package/dist/functions/node/node-action.abstract.js.map +1 -1
  124. package/dist/functions/node/node.abstract.d.ts +56 -5
  125. package/dist/functions/node/node.abstract.js +85 -12
  126. package/dist/functions/node/node.abstract.js.map +1 -1
  127. package/dist/functions/node/node.interface.d.ts +1 -0
  128. package/dist/functions/schema/schema.d.ts +7 -0
  129. package/dist/functions/schema/schema.js +9 -0
  130. package/dist/functions/schema/schema.js.map +1 -1
  131. package/dist/index.d.ts +5 -1
  132. package/dist/index.js +4 -1
  133. package/dist/index.js.map +1 -1
  134. package/dist/main.d.ts +244 -14
  135. package/dist/main.js +361 -72
  136. package/dist/main.js.map +1 -1
  137. package/dist/models/account/account.model.d.ts +37 -7
  138. package/dist/models/account/account.model.js +40 -8
  139. package/dist/models/account/account.model.js.map +1 -1
  140. package/dist/models/account/account.schema.d.ts +13 -1
  141. package/dist/models/account/account.schema.js +12 -0
  142. package/dist/models/account/account.schema.js.map +1 -1
  143. package/dist/models/app/app.model.d.ts +16 -1
  144. package/dist/models/app/app.model.js +19 -4
  145. package/dist/models/app/app.model.js.map +1 -1
  146. package/dist/models/app/app.schema.d.ts +6 -0
  147. package/dist/models/app/app.schema.js +6 -0
  148. package/dist/models/app/app.schema.js.map +1 -1
  149. package/dist/models/deployment/deployment.model.d.ts +13 -1
  150. package/dist/models/deployment/deployment.model.js +16 -4
  151. package/dist/models/deployment/deployment.model.js.map +1 -1
  152. package/dist/models/deployment/deployment.schema.d.ts +2 -0
  153. package/dist/models/deployment/deployment.schema.js +2 -0
  154. package/dist/models/deployment/deployment.schema.js.map +1 -1
  155. package/dist/models/environment/environment.model.d.ts +13 -1
  156. package/dist/models/environment/environment.model.js +20 -8
  157. package/dist/models/environment/environment.model.js.map +1 -1
  158. package/dist/models/environment/environment.schema.d.ts +2 -0
  159. package/dist/models/environment/environment.schema.js +2 -0
  160. package/dist/models/environment/environment.schema.js.map +1 -1
  161. package/dist/models/execution/execution.model.d.ts +20 -2
  162. package/dist/models/execution/execution.model.js +46 -28
  163. package/dist/models/execution/execution.model.js.map +1 -1
  164. package/dist/models/execution/execution.schema.d.ts +11 -0
  165. package/dist/models/execution/execution.schema.js +11 -0
  166. package/dist/models/execution/execution.schema.js.map +1 -1
  167. package/dist/models/filesystem/filesystem.model.d.ts +27 -1
  168. package/dist/models/filesystem/filesystem.model.js +30 -4
  169. package/dist/models/filesystem/filesystem.model.js.map +1 -1
  170. package/dist/models/filesystem/filesystem.schema.d.ts +5 -0
  171. package/dist/models/filesystem/filesystem.schema.js +5 -0
  172. package/dist/models/filesystem/filesystem.schema.js.map +1 -1
  173. package/dist/models/image/image.model.d.ts +17 -4
  174. package/dist/models/image/image.model.js +20 -7
  175. package/dist/models/image/image.model.js.map +1 -1
  176. package/dist/models/image/image.schema.d.ts +8 -0
  177. package/dist/models/image/image.schema.js +8 -0
  178. package/dist/models/image/image.schema.js.map +1 -1
  179. package/dist/models/model-action.interface.d.ts +17 -4
  180. package/dist/models/model.abstract.d.ts +96 -1
  181. package/dist/models/model.abstract.js +106 -7
  182. package/dist/models/model.abstract.js.map +1 -1
  183. package/dist/models/model.interface.d.ts +3 -0
  184. package/dist/models/pipeline/pipeline.model.d.ts +13 -1
  185. package/dist/models/pipeline/pipeline.model.js +18 -6
  186. package/dist/models/pipeline/pipeline.model.js.map +1 -1
  187. package/dist/models/pipeline/pipeline.schema.d.ts +8 -0
  188. package/dist/models/pipeline/pipeline.schema.js +8 -0
  189. package/dist/models/pipeline/pipeline.schema.js.map +1 -1
  190. package/dist/models/region/region.model.d.ts +16 -1
  191. package/dist/models/region/region.model.js +19 -4
  192. package/dist/models/region/region.model.js.map +1 -1
  193. package/dist/models/region/region.schema.d.ts +6 -0
  194. package/dist/models/region/region.schema.js +6 -0
  195. package/dist/models/region/region.schema.js.map +1 -1
  196. package/dist/models/server/server.model.d.ts +13 -1
  197. package/dist/models/server/server.model.js +16 -4
  198. package/dist/models/server/server.model.js.map +1 -1
  199. package/dist/models/server/server.schema.d.ts +3 -1
  200. package/dist/models/server/server.schema.js +3 -1
  201. package/dist/models/server/server.schema.js.map +1 -1
  202. package/dist/models/service/service.model.d.ts +15 -1
  203. package/dist/models/service/service.model.js +15 -1
  204. package/dist/models/service/service.model.js.map +1 -1
  205. package/dist/models/service/service.schema.d.ts +4 -1
  206. package/dist/models/service/service.schema.js +4 -1
  207. package/dist/models/service/service.schema.js.map +1 -1
  208. package/dist/models/subnet/subnet.model.d.ts +27 -3
  209. package/dist/models/subnet/subnet.model.js +40 -16
  210. package/dist/models/subnet/subnet.model.js.map +1 -1
  211. package/dist/models/subnet/subnet.schema.d.ts +9 -0
  212. package/dist/models/subnet/subnet.schema.js +9 -0
  213. package/dist/models/subnet/subnet.schema.js.map +1 -1
  214. package/dist/modes/apply-transaction.d.ts +23 -0
  215. package/dist/modes/apply-transaction.js +25 -0
  216. package/dist/modes/apply-transaction.js.map +1 -0
  217. package/dist/modes/commit.mode.d.ts +54 -0
  218. package/dist/modes/commit.mode.js +235 -0
  219. package/dist/modes/commit.mode.js.map +1 -0
  220. package/dist/modes/generate.mode.d.ts +29 -0
  221. package/dist/modes/generate.mode.js +49 -0
  222. package/dist/modes/generate.mode.js.map +1 -0
  223. package/dist/modes/run-action.mode.d.ts +30 -0
  224. package/dist/modes/run-action.mode.js +140 -0
  225. package/dist/modes/run-action.mode.js.map +1 -0
  226. package/dist/modes/validate.mode.d.ts +162 -0
  227. package/dist/modes/validate.mode.js +480 -0
  228. package/dist/modes/validate.mode.js.map +1 -0
  229. package/dist/modules/module.abstract.d.ts +51 -0
  230. package/dist/modules/module.abstract.js +36 -0
  231. package/dist/modules/module.abstract.js.map +1 -1
  232. package/dist/modules/module.container.d.ts +36 -0
  233. package/dist/modules/module.container.js +36 -0
  234. package/dist/modules/module.container.js.map +1 -1
  235. package/dist/modules/test-module.container.d.ts +139 -24
  236. package/dist/modules/test-module.container.js +410 -163
  237. package/dist/modules/test-module.container.js.map +1 -1
  238. package/dist/overlays/anchor.abstract.d.ts +32 -1
  239. package/dist/overlays/anchor.abstract.js +42 -11
  240. package/dist/overlays/anchor.abstract.js.map +1 -1
  241. package/dist/overlays/anchor.schema.d.ts +21 -0
  242. package/dist/overlays/anchor.schema.js +21 -0
  243. package/dist/overlays/anchor.schema.js.map +1 -1
  244. package/dist/overlays/overlay-data.repository.d.ts +18 -0
  245. package/dist/overlays/overlay-data.repository.js +18 -0
  246. package/dist/overlays/overlay-data.repository.js.map +1 -1
  247. package/dist/overlays/overlay.abstract.d.ts +56 -1
  248. package/dist/overlays/overlay.abstract.js +79 -20
  249. package/dist/overlays/overlay.abstract.js.map +1 -1
  250. package/dist/overlays/overlay.schema.d.ts +20 -0
  251. package/dist/overlays/overlay.schema.js +20 -0
  252. package/dist/overlays/overlay.schema.js.map +1 -1
  253. package/dist/resources/resource-action.interface.d.ts +26 -2
  254. package/dist/resources/resource-data.repository.d.ts +63 -1
  255. package/dist/resources/resource-data.repository.js +94 -4
  256. package/dist/resources/resource-data.repository.js.map +1 -1
  257. package/dist/resources/resource.abstract.d.ts +118 -3
  258. package/dist/resources/resource.abstract.js +166 -33
  259. package/dist/resources/resource.abstract.js.map +1 -1
  260. package/dist/resources/resource.schema.d.ts +29 -1
  261. package/dist/resources/resource.schema.js +28 -0
  262. package/dist/resources/resource.schema.js.map +1 -1
  263. package/dist/resources/terraform-resource.abstract.d.ts +44 -0
  264. package/dist/resources/terraform-resource.abstract.js +45 -0
  265. package/dist/resources/terraform-resource.abstract.js.map +1 -0
  266. package/dist/services/event/event.service.d.ts +30 -3
  267. package/dist/services/event/event.service.js +58 -16
  268. package/dist/services/event/event.service.js.map +1 -1
  269. package/dist/services/input/input.service.d.ts +52 -3
  270. package/dist/services/input/input.service.js +72 -8
  271. package/dist/services/input/input.service.js.map +1 -1
  272. package/dist/services/schema-translation/schema-translation.service.d.ts +9 -0
  273. package/dist/services/schema-translation/schema-translation.service.js +9 -0
  274. package/dist/services/schema-translation/schema-translation.service.js.map +1 -1
  275. package/dist/services/serialization/model/model-serialization.service.d.ts +26 -2
  276. package/dist/services/serialization/model/model-serialization.service.js +110 -62
  277. package/dist/services/serialization/model/model-serialization.service.js.map +1 -1
  278. package/dist/services/serialization/resource/resource-serialization.service.d.ts +33 -4
  279. package/dist/services/serialization/resource/resource-serialization.service.js +64 -28
  280. package/dist/services/serialization/resource/resource-serialization.service.js.map +1 -1
  281. package/dist/services/state-management/file-app-lock.utility.d.ts +43 -0
  282. package/dist/services/state-management/file-app-lock.utility.js +124 -0
  283. package/dist/services/state-management/file-app-lock.utility.js.map +1 -0
  284. package/dist/services/state-management/local-encryption.state-provider.d.ts +53 -2
  285. package/dist/services/state-management/local-encryption.state-provider.js +75 -49
  286. package/dist/services/state-management/local-encryption.state-provider.js.map +1 -1
  287. package/dist/services/state-management/local.state-provider.d.ts +49 -2
  288. package/dist/services/state-management/local.state-provider.js +70 -49
  289. package/dist/services/state-management/local.state-provider.js.map +1 -1
  290. package/dist/services/state-management/state-management.service.d.ts +141 -6
  291. package/dist/services/state-management/state-management.service.js +149 -4
  292. package/dist/services/state-management/state-management.service.js.map +1 -1
  293. package/dist/services/state-management/state-provider.interface.d.ts +55 -1
  294. package/dist/services/state-management/terraform-state.service.d.ts +76 -0
  295. package/dist/services/state-management/terraform-state.service.js +154 -0
  296. package/dist/services/state-management/terraform-state.service.js.map +1 -0
  297. package/dist/services/state-management/test.state-provider.d.ts +38 -1
  298. package/dist/services/state-management/test.state-provider.js +52 -21
  299. package/dist/services/state-management/test.state-provider.js.map +1 -1
  300. package/dist/services/terraform/terraform.service.d.ts +426 -0
  301. package/dist/services/terraform/terraform.service.js +995 -0
  302. package/dist/services/terraform/terraform.service.js.map +1 -0
  303. package/dist/services/terraform/terraform.type.d.ts +387 -0
  304. package/dist/services/terraform/terraform.type.js +579 -0
  305. package/dist/services/terraform/terraform.type.js.map +1 -0
  306. package/dist/services/transaction/transaction.service.d.ts +86 -10
  307. package/dist/services/transaction/transaction.service.js +387 -232
  308. package/dist/services/transaction/transaction.service.js.map +1 -1
  309. package/dist/services/validation/validation.service.d.ts +13 -1
  310. package/dist/services/validation/validation.service.js +12 -0
  311. package/dist/services/validation/validation.service.js.map +1 -1
  312. package/dist/utilities/array/array.utility.d.ts +3 -0
  313. package/dist/utilities/array/array.utility.js +3 -0
  314. package/dist/utilities/array/array.utility.js.map +1 -1
  315. package/dist/utilities/file/file.utility.d.ts +15 -0
  316. package/dist/utilities/file/file.utility.js +18 -1
  317. package/dist/utilities/file/file.utility.js.map +1 -1
  318. package/dist/utilities/hcl/hcl.utility.d.ts +61 -0
  319. package/dist/utilities/hcl/hcl.utility.js +229 -0
  320. package/dist/utilities/hcl/hcl.utility.js.map +1 -0
  321. package/dist/utilities/node/node.utility.d.ts +3 -0
  322. package/dist/utilities/node/node.utility.js +3 -0
  323. package/dist/utilities/node/node.utility.js.map +1 -1
  324. package/dist/utilities/object/object.utility.d.ts +12 -0
  325. package/dist/utilities/object/object.utility.js +12 -0
  326. package/dist/utilities/object/object.utility.js.map +1 -1
  327. package/dist/utilities/project/project.utility.d.ts +28 -0
  328. package/dist/utilities/project/project.utility.js +35 -0
  329. package/dist/utilities/project/project.utility.js.map +1 -0
  330. package/dist/utilities/string/string.utility.d.ts +21 -0
  331. package/dist/utilities/string/string.utility.js +39 -0
  332. package/dist/utilities/string/string.utility.js.map +1 -0
  333. package/dist/utilities/terraform/terraform.utility.d.ts +227 -0
  334. package/dist/utilities/terraform/terraform.utility.js +434 -0
  335. package/dist/utilities/terraform/terraform.utility.js.map +1 -0
  336. package/dist/utilities/test-helpers/test-classes.d.ts +18 -31
  337. package/dist/utilities/test-helpers/test-classes.js +18 -41
  338. package/dist/utilities/test-helpers/test-classes.js.map +1 -1
  339. package/dist/utilities/test-helpers/test-models.js +12 -0
  340. package/dist/utilities/test-helpers/test-models.js.map +1 -1
  341. package/dist/utilities/test-helpers/test-modes.d.ts +315 -0
  342. package/dist/utilities/test-helpers/test-modes.js +463 -0
  343. package/dist/utilities/test-helpers/test-modes.js.map +1 -0
  344. package/dist/utilities/test-helpers/test-modules.d.ts +41 -0
  345. package/dist/utilities/test-helpers/test-modules.js +79 -0
  346. package/dist/utilities/test-helpers/test-modules.js.map +1 -0
  347. package/dist/utilities/test-helpers/test-overlays.d.ts +17 -1
  348. package/dist/utilities/test-helpers/test-overlays.js +49 -5
  349. package/dist/utilities/test-helpers/test-overlays.js.map +1 -1
  350. package/dist/utilities/test-helpers/test-resources.d.ts +19 -1
  351. package/dist/utilities/test-helpers/test-resources.js +61 -3
  352. package/dist/utilities/test-helpers/test-resources.js.map +1 -1
  353. package/dist/utilities/validation/validation.utility.d.ts +24 -0
  354. package/dist/utilities/validation/validation.utility.js +24 -0
  355. package/dist/utilities/validation/validation.utility.js.map +1 -1
  356. package/package.json +6 -5
  357. package/dist/services/capture/capture.service.d.ts +0 -19
  358. package/dist/services/capture/capture.service.js +0 -43
  359. package/dist/services/capture/capture.service.js.map +0 -1
  360. package/dist/utilities/cidr/cidr.utility.d.ts +0 -10
  361. package/dist/utilities/cidr/cidr.utility.js +0 -51
  362. package/dist/utilities/cidr/cidr.utility.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"execution.model.js","sourceRoot":"","sources":["../../../src/models/execution/execution.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution.model.js","sourceRoot":"","sources":["../../../src/models/execution/execution.model.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,17 @@
1
1
  import type { IModelReference } from '../model.interface.js';
2
2
  /**
3
+ * Schema of the {@link Execution} model.
4
+ *
3
5
  * @group Models/Execution
4
6
  */
5
7
  export declare class ExecutionSchema {
8
+ /**
9
+ * The deployment whose code this execution runs.
10
+ */
6
11
  deployment: IModelReference;
12
+ /**
13
+ * The environment this execution runs in.
14
+ */
7
15
  environment: IModelReference;
8
16
  /**
9
17
  * A set of environment variables to be passed to the Docker container.
@@ -13,5 +21,8 @@ export declare class ExecutionSchema {
13
21
  environmentVariables: {
14
22
  [key: string]: string;
15
23
  };
24
+ /**
25
+ * The subnet this execution is placed in. It must belong to the same region as the environment.
26
+ */
16
27
  subnet: IModelReference;
17
28
  }
@@ -10,11 +10,19 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  import { Validate } from '../../decorators/validate.decorator.js';
11
11
  import { Schema } from '../../functions/schema/schema.js';
12
12
  /**
13
+ * Schema of the {@link Execution} model.
14
+ *
13
15
  * @group Models/Execution
14
16
  */
15
17
  export class ExecutionSchema {
16
18
  constructor() {
19
+ /**
20
+ * The deployment whose code this execution runs.
21
+ */
17
22
  this.deployment = Schema();
23
+ /**
24
+ * The environment this execution runs in.
25
+ */
18
26
  this.environment = Schema();
19
27
  /**
20
28
  * A set of environment variables to be passed to the Docker container.
@@ -22,6 +30,9 @@ export class ExecutionSchema {
22
30
  * option while running a Docker container.
23
31
  */
24
32
  this.environmentVariables = Schema();
33
+ /**
34
+ * The subnet this execution is placed in. It must belong to the same region as the environment.
35
+ */
25
36
  this.subnet = Schema();
26
37
  }
27
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"execution.schema.js","sourceRoot":"","sources":["../../../src/models/execution/execution.schema.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAG1D;;GAEG;AACH,MAAM,OAAO,eAAe;IAA5B;QACE,eAAU,GAAG,MAAM,EAAmB,CAAC;QAEvC,gBAAW,GAAG,MAAM,EAAmB,CAAC;QAExC;;;;WAIG;QAOH,yBAAoB,GAAG,MAAM,EAA6B,CAAC;QAE3D,WAAM,GAAG,MAAM,EAAmB,CAAC;IACrC,CAAC;CAAA;AAHC;IANC,QAAQ,CAAC;QACR,QAAQ,EAAE,CAAC,KAAgC,EAAY,EAAE;YACvD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE;KAC/E,CAAC;;6DACyD"}
1
+ {"version":3,"file":"execution.schema.js","sourceRoot":"","sources":["../../../src/models/execution/execution.schema.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAG1D;;;;GAIG;AACH,MAAM,OAAO,eAAe;IAA5B;QACE;;WAEG;QACH,eAAU,GAAG,MAAM,EAAmB,CAAC;QAEvC;;WAEG;QACH,gBAAW,GAAG,MAAM,EAAmB,CAAC;QAExC;;;;WAIG;QAOH,yBAAoB,GAAG,MAAM,EAA6B,CAAC;QAE3D;;WAEG;QACH,WAAM,GAAG,MAAM,EAAmB,CAAC;IACrC,CAAC;CAAA;AANC;IANC,QAAQ,CAAC;QACR,QAAQ,EAAE,CAAC,KAAgC,EAAY,EAAE;YACvD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE;KAC/E,CAAC;;6DACyD"}
@@ -2,12 +2,38 @@ import type { UnknownModel } from '../../app.type.js';
2
2
  import { AModel } from '../model.abstract.js';
3
3
  import { FilesystemSchema } from './filesystem.schema.js';
4
4
  /**
5
+ * A Filesystem model is a network filesystem shared by the executions of a region.
6
+ * It exists so that state which must outlive a container - uploads, caches, shared data - has somewhere to live.
7
+ *
8
+ * A filesystem belongs to one {@link Region}. Mounting it into a {@link Subnet} is the job of a module,
9
+ * e.g. `AwsSimpleSubnetModule` via its `localFilesystems` input.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * const filesystem = new Filesystem('shared-uploads');
14
+ * region.addFilesystem(filesystem);
15
+ * ```
16
+ *
5
17
  * @group Models/Filesystem
18
+ *
19
+ * @see Definition of [Default Models](/docs/fundamentals/models#default-models).
6
20
  */
7
21
  export declare class Filesystem extends AModel<FilesystemSchema, Filesystem> {
8
22
  readonly filesystemName: string;
23
+ /**
24
+ * @param filesystemName The name of the filesystem, unique within its region.
25
+ */
9
26
  constructor(filesystemName: string);
27
+ /**
28
+ * @internal
29
+ */
30
+ static unSynth(filesystem: FilesystemSchema, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<Filesystem>;
31
+ /**
32
+ * @internal
33
+ */
10
34
  setContext(): string | undefined;
35
+ /**
36
+ * @internal
37
+ */
11
38
  synth(): FilesystemSchema;
12
- static unSynth(filesystem: FilesystemSchema, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<Filesystem>;
13
39
  }
@@ -13,13 +13,40 @@ import { Model } from '../../decorators/model.decorator.js';
13
13
  import { AModel } from '../model.abstract.js';
14
14
  import { FilesystemSchema } from './filesystem.schema.js';
15
15
  /**
16
+ * A Filesystem model is a network filesystem shared by the executions of a region.
17
+ * It exists so that state which must outlive a container - uploads, caches, shared data - has somewhere to live.
18
+ *
19
+ * A filesystem belongs to one {@link Region}. Mounting it into a {@link Subnet} is the job of a module,
20
+ * e.g. `AwsSimpleSubnetModule` via its `localFilesystems` input.
21
+ *
22
+ * @example
23
+ * ```ts
24
+ * const filesystem = new Filesystem('shared-uploads');
25
+ * region.addFilesystem(filesystem);
26
+ * ```
27
+ *
16
28
  * @group Models/Filesystem
29
+ *
30
+ * @see Definition of [Default Models](/docs/fundamentals/models#default-models).
17
31
  */
18
32
  let Filesystem = Filesystem_1 = class Filesystem extends AModel {
33
+ /**
34
+ * @param filesystemName The name of the filesystem, unique within its region.
35
+ */
19
36
  constructor(filesystemName) {
20
37
  super();
21
38
  this.filesystemName = filesystemName;
22
39
  }
40
+ /**
41
+ * @internal
42
+ */
43
+ static async unSynth(filesystem, deReferenceContext) {
44
+ assert(!!deReferenceContext);
45
+ return new Filesystem_1(filesystem.filesystemName);
46
+ }
47
+ /**
48
+ * @internal
49
+ */
23
50
  setContext() {
24
51
  const parents = this.getParents();
25
52
  const region = parents['region']?.[0]?.to;
@@ -28,15 +55,14 @@ let Filesystem = Filesystem_1 = class Filesystem extends AModel {
28
55
  }
29
56
  return [`${this.constructor.NODE_NAME}=${this.filesystemName}`, region.getContext()].join(',');
30
57
  }
58
+ /**
59
+ * @internal
60
+ */
31
61
  synth() {
32
62
  return {
33
63
  filesystemName: this.filesystemName,
34
64
  };
35
65
  }
36
- static async unSynth(filesystem, deReferenceContext) {
37
- assert(!!deReferenceContext);
38
- return new Filesystem_1(filesystem.filesystemName);
39
- }
40
66
  };
41
67
  Filesystem = Filesystem_1 = __decorate([
42
68
  Model('@octo', 'filesystem', FilesystemSchema),
@@ -1 +1 @@
1
- {"version":3,"file":"filesystem.model.js","sourceRoot":"","sources":["../../../src/models/filesystem/filesystem.model.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D;;GAEG;AAEI,IAAM,UAAU,kBAAhB,MAAM,UAAW,SAAQ,MAAoC;IAGlE,YAAY,cAAsB;QAChC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAEQ,UAAU;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,GAAI,IAAI,CAAC,WAAiC,CAAC,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAC9G,GAAG,CACJ,CAAC;IACJ,CAAC;IAEQ,KAAK;QACZ,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAC;IACJ,CAAC;IAED,MAAM,CAAU,KAAK,CAAC,OAAO,CAC3B,UAA4B,EAC5B,kBAA8D;QAE9D,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAE7B,OAAO,IAAI,YAAU,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IACnD,CAAC;CACF,CAAA;AAjCY,UAAU;IADtB,KAAK,CAAa,OAAO,EAAE,YAAY,EAAE,gBAAgB,CAAC;;GAC9C,UAAU,CAiCtB"}
1
+ {"version":3,"file":"filesystem.model.js","sourceRoot":"","sources":["../../../src/models/filesystem/filesystem.model.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D;;;;;;;;;;;;;;;;GAgBG;AAEI,IAAM,UAAU,kBAAhB,MAAM,UAAW,SAAQ,MAAoC;IAGlE;;OAEG;IACH,YAAY,cAAsB;QAChC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,MAAM,CAAU,KAAK,CAAC,OAAO,CAC3B,UAA4B,EAC5B,kBAA8D;QAE9D,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAE7B,OAAO,IAAI,YAAU,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACM,UAAU;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,GAAI,IAAI,CAAC,WAAiC,CAAC,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAC9G,GAAG,CACJ,CAAC;IACJ,CAAC;IAED;;OAEG;IACM,KAAK;QACZ,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAC;IACJ,CAAC;CACF,CAAA;AA7CY,UAAU;IADtB,KAAK,CAAa,OAAO,EAAE,YAAY,EAAE,gBAAgB,CAAC;;GAC9C,UAAU,CA6CtB"}
@@ -1,6 +1,11 @@
1
1
  /**
2
+ * Schema of the {@link Filesystem} model.
3
+ *
2
4
  * @group Models/Filesystem
3
5
  */
4
6
  export declare class FilesystemSchema {
7
+ /**
8
+ * The name of the filesystem, unique within its {@link Region}.
9
+ */
5
10
  filesystemName: string;
6
11
  }
@@ -10,10 +10,15 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  import { Validate } from '../../decorators/validate.decorator.js';
11
11
  import { Schema } from '../../functions/schema/schema.js';
12
12
  /**
13
+ * Schema of the {@link Filesystem} model.
14
+ *
13
15
  * @group Models/Filesystem
14
16
  */
15
17
  export class FilesystemSchema {
16
18
  constructor() {
19
+ /**
20
+ * The name of the filesystem, unique within its {@link Region}.
21
+ */
17
22
  this.filesystemName = Schema();
18
23
  }
19
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"filesystem.schema.js","sourceRoot":"","sources":["../../../src/models/filesystem/filesystem.schema.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAE1D;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAA7B;QAEE,mBAAc,GAAG,MAAM,EAAU,CAAC;IACpC,CAAC;CAAA;AADC;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAE,CAAC;;wDAC3D"}
1
+ {"version":3,"file":"filesystem.schema.js","sourceRoot":"","sources":["../../../src/models/filesystem/filesystem.schema.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAE1D;;;;GAIG;AACH,MAAM,OAAO,gBAAgB;IAA7B;QACE;;WAEG;QAEH,mBAAc,GAAG,MAAM,EAAU,CAAC;IACpC,CAAC;CAAA;AADC;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAE,CAAC;;wDAC3D"}
@@ -3,12 +3,12 @@ import { AModel } from '../model.abstract.js';
3
3
  import { ImageSchema } from './image.schema.js';
4
4
  /**
5
5
  * An Image model represents a Docker image, to either build, or run, your microservices.
6
+ * Images belong to the {@link App} rather than to a region, so the same image can be deployed anywhere.
6
7
  *
7
8
  * @example
8
9
  * ```ts
9
- * const image = new Image('nginx', '2.4', { dockerfilePath: './Dockerfile' });
10
- *
11
- * const image = new Image('docker/hello-world', '1.0', { dockerfilePath: './Dockerfile' });
10
+ * const image = new Image('nginx', '2.4');
11
+ * app.addImage(image);
12
12
  * ```
13
13
  *
14
14
  * @group Models/Image
@@ -19,8 +19,21 @@ export declare class Image extends AModel<ImageSchema, Image> {
19
19
  readonly imageFamily: string;
20
20
  readonly imageId: string;
21
21
  readonly imageName: string;
22
+ /**
23
+ * @param imageFamily The repository name shared by all versions of this image.
24
+ * @param imageName The version or tag of this image within its family.
25
+ */
22
26
  constructor(imageFamily: string, imageName: string);
27
+ /**
28
+ * @internal
29
+ */
30
+ static unSynth(image: ImageSchema, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<Image>;
31
+ /**
32
+ * @internal
33
+ */
23
34
  setContext(): string | undefined;
35
+ /**
36
+ * @internal
37
+ */
24
38
  synth(): ImageSchema;
25
- static unSynth(image: ImageSchema, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<Image>;
26
39
  }
@@ -14,12 +14,12 @@ import { AModel } from '../model.abstract.js';
14
14
  import { ImageSchema } from './image.schema.js';
15
15
  /**
16
16
  * An Image model represents a Docker image, to either build, or run, your microservices.
17
+ * Images belong to the {@link App} rather than to a region, so the same image can be deployed anywhere.
17
18
  *
18
19
  * @example
19
20
  * ```ts
20
- * const image = new Image('nginx', '2.4', { dockerfilePath: './Dockerfile' });
21
- *
22
- * const image = new Image('docker/hello-world', '1.0', { dockerfilePath: './Dockerfile' });
21
+ * const image = new Image('nginx', '2.4');
22
+ * app.addImage(image);
23
23
  * ```
24
24
  *
25
25
  * @group Models/Image
@@ -27,12 +27,26 @@ import { ImageSchema } from './image.schema.js';
27
27
  * @see Definition of [Default Models](/docs/fundamentals/models#default-models).
28
28
  */
29
29
  let Image = Image_1 = class Image extends AModel {
30
+ /**
31
+ * @param imageFamily The repository name shared by all versions of this image.
32
+ * @param imageName The version or tag of this image within its family.
33
+ */
30
34
  constructor(imageFamily, imageName) {
31
35
  super();
32
36
  this.imageFamily = imageFamily;
33
37
  this.imageId = `${imageFamily}/${imageName}`;
34
38
  this.imageName = imageName;
35
39
  }
40
+ /**
41
+ * @internal
42
+ */
43
+ static async unSynth(image, deReferenceContext) {
44
+ assert(!!deReferenceContext);
45
+ return new Image_1(image.imageFamily, image.imageName);
46
+ }
47
+ /**
48
+ * @internal
49
+ */
36
50
  setContext() {
37
51
  const parents = this.getParents();
38
52
  const app = parents['app']?.[0]?.to;
@@ -41,6 +55,9 @@ let Image = Image_1 = class Image extends AModel {
41
55
  }
42
56
  return [`${this.constructor.NODE_NAME}=${this.imageId}`, app.getContext()].join(',');
43
57
  }
58
+ /**
59
+ * @internal
60
+ */
44
61
  synth() {
45
62
  return {
46
63
  imageFamily: this.imageFamily,
@@ -48,10 +65,6 @@ let Image = Image_1 = class Image extends AModel {
48
65
  imageName: this.imageName,
49
66
  };
50
67
  }
51
- static async unSynth(image, deReferenceContext) {
52
- assert(!!deReferenceContext);
53
- return new Image_1(image.imageFamily, image.imageName);
54
- }
55
68
  };
56
69
  Image = Image_1 = __decorate([
57
70
  Model('@octo', 'image', ImageSchema),
@@ -1 +1 @@
1
- {"version":3,"file":"image.model.js","sourceRoot":"","sources":["../../../src/models/image/image.model.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;;;;;;;;;;;GAaG;AAEI,IAAM,KAAK,aAAX,MAAM,KAAM,SAAQ,MAA0B;IAOnD,YAAY,WAAmB,EAAE,SAAiB;QAChD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,GAAG,WAAW,IAAI,SAAS,EAAE,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAEQ,UAAU;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACpC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,GAAI,IAAI,CAAC,WAA4B,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzG,CAAC;IAEQ,KAAK;QACZ,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;IAED,MAAM,CAAU,KAAK,CAAC,OAAO,CAC3B,KAAkB,EAClB,kBAA8D;QAE9D,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAE7B,OAAO,IAAI,OAAK,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;CACF,CAAA;AAvCY,KAAK;IADjB,KAAK,CAAQ,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC;;GAC/B,KAAK,CAuCjB"}
1
+ {"version":3,"file":"image.model.js","sourceRoot":"","sources":["../../../src/models/image/image.model.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;;;;;;;;;;;GAaG;AAEI,IAAM,KAAK,aAAX,MAAM,KAAM,SAAQ,MAA0B;IAOnD;;;OAGG;IACH,YAAY,WAAmB,EAAE,SAAiB;QAChD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,GAAG,WAAW,IAAI,SAAS,EAAE,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,MAAM,CAAU,KAAK,CAAC,OAAO,CAC3B,KAAkB,EAClB,kBAA8D;QAE9D,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAE7B,OAAO,IAAI,OAAK,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACM,UAAU;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACpC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,GAAI,IAAI,CAAC,WAA4B,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzG,CAAC;IAED;;OAEG;IACM,KAAK;QACZ,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;CACF,CAAA;AApDY,KAAK;IADjB,KAAK,CAAQ,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC;;GAC/B,KAAK,CAoDjB"}
@@ -1,12 +1,20 @@
1
1
  /**
2
+ * Schema of the {@link Image} model.
3
+ *
2
4
  * @group Models/Image
3
5
  */
4
6
  export declare class ImageSchema {
7
+ /**
8
+ * The family this image belongs to, i.e. the repository name shared by all of its versions.
9
+ */
5
10
  imageFamily: string;
6
11
  /**
7
12
  * An imageId is the unique identifier for this image.
8
13
  * - Format of imageId is `{imageFamily}/{imageName}`
9
14
  */
10
15
  imageId: string;
16
+ /**
17
+ * The name of this image within its family, i.e. its version or tag.
18
+ */
11
19
  imageName: string;
12
20
  }
@@ -10,16 +10,24 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  import { Validate } from '../../decorators/validate.decorator.js';
11
11
  import { Schema } from '../../functions/schema/schema.js';
12
12
  /**
13
+ * Schema of the {@link Image} model.
14
+ *
13
15
  * @group Models/Image
14
16
  */
15
17
  export class ImageSchema {
16
18
  constructor() {
19
+ /**
20
+ * The family this image belongs to, i.e. the repository name shared by all of its versions.
21
+ */
17
22
  this.imageFamily = Schema();
18
23
  /**
19
24
  * An imageId is the unique identifier for this image.
20
25
  * - Format of imageId is `{imageFamily}/{imageName}`
21
26
  */
22
27
  this.imageId = Schema();
28
+ /**
29
+ * The name of this image within its family, i.e. its version or tag.
30
+ */
23
31
  this.imageName = Schema();
24
32
  }
25
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"image.schema.js","sourceRoot":"","sources":["../../../src/models/image/image.schema.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAE1D;;GAEG;AACH,MAAM,OAAO,WAAW;IAAxB;QAEE,gBAAW,GAAG,MAAM,EAAU,CAAC;QAE/B;;;WAGG;QACH,YAAO,GAAG,MAAM,EAAU,CAAC;QAG3B,cAAS,GAAG,MAAM,EAAU,CAAC;IAC/B,CAAC;CAAA;AAVC;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,EAAE,CAAC;;gDAClE;AAS/B;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,gCAAgC,EAAE,EAAE,CAAC;;8CACnE"}
1
+ {"version":3,"file":"image.schema.js","sourceRoot":"","sources":["../../../src/models/image/image.schema.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAE1D;;;;GAIG;AACH,MAAM,OAAO,WAAW;IAAxB;QACE;;WAEG;QAEH,gBAAW,GAAG,MAAM,EAAU,CAAC;QAE/B;;;WAGG;QACH,YAAO,GAAG,MAAM,EAAU,CAAC;QAE3B;;WAEG;QAEH,cAAS,GAAG,MAAM,EAAU,CAAC;IAC/B,CAAC;CAAA;AAbC;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,EAAE,CAAC;;gDAClE;AAY/B;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,gCAAgC,EAAE,EAAE,CAAC;;8CACnE"}
@@ -1,18 +1,31 @@
1
1
  import type { ActionOutputs, EnhancedModuleSchema, UnknownModule } from '../app.type.js';
2
2
  import type { Diff } from '../functions/diff/diff.js';
3
3
  /**
4
- * Model Actions are translation functions between Diff and underlying resources.
5
- * These actions can translate a specific type of Diff into individual resources.
4
+ * A model action translates a change in intent into resources.
5
+ *
6
+ * Octo diffs your models, and for every {@link Diff} it produces it asks each registered action
7
+ * whether the diff is its concern. The actions that accept it declare the resources that change
8
+ * has to bring about. This is the only place a model becomes infrastructure.
9
+ *
10
+ * Register the class with {@link Action}, and a {@link Factory} to construct it.
6
11
  *
7
12
  * @group Models
13
+ *
14
+ * @see Definition of [Actions](/docs/fundamentals/actions).
8
15
  */
9
16
  export interface IModelAction<T extends UnknownModule> {
10
17
  /**
11
- * This function determines if the handle is applicable to the diff.
18
+ * Whether this action handles the given diff.
19
+ * Typically a check on the diff's node, field, and action.
12
20
  */
13
21
  filter(diff: Diff): boolean;
14
22
  /**
15
- * This function contains the logic to apply the diff(s) to the underlying infrastructure.
23
+ * Declares the resources this diff calls for.
24
+ *
25
+ * @param diff The diff that passed {@link IModelAction.filter}.
26
+ * @param actionInputs The module's inputs, metadata, and the nodes it produced.
27
+ * @param actionOutputs The resources declared so far by earlier actions in this transaction.
28
+ * @returns `actionOutputs`, with this action's resources added.
16
29
  */
17
30
  handle(diff: Diff, actionInputs: EnhancedModuleSchema<T>, actionOutputs: ActionOutputs): Promise<ActionOutputs>;
18
31
  }
@@ -6,35 +6,130 @@ import type { BaseOverlaySchema } from '../overlays/overlay.schema.js';
6
6
  import type { BaseResourceSchema } from '../resources/resource.schema.js';
7
7
  import type { IModel } from './model.interface.js';
8
8
  /**
9
+ * The base class of every model - the nodes that describe your infrastructure as *intent*,
10
+ * before any cloud resource is involved.
11
+ *
12
+ * You rarely extend `AModel` directly. Extend one of the base models Octo ships - {@link App},
13
+ * {@link Region}, {@link Server}, and so on - so that the rest of the ecosystem knows what your
14
+ * model is. `AModel` is where the behavior common to all of them lives: anchors, and the queries a
15
+ * module uses to find what other modules have already built.
16
+ *
9
17
  * @group Models
18
+ *
19
+ * @see Definition of [Models](/docs/fundamentals/models).
10
20
  */
11
21
  export declare abstract class AModel<S, T extends UnknownModel> extends ANode<S, T> implements IModel<S, T> {
22
+ /**
23
+ * The anchors attached to this model, whether declared on it or borrowed from another model.
24
+ */
12
25
  readonly anchors: (MatchingAnchor<BaseAnchorSchema> | UnknownAnchor)[];
26
+ /**
27
+ * @internal
28
+ */
29
+ static unSynth(...args: unknown[]): Promise<UnknownModel>;
30
+ /**
31
+ * To attach an {@link AAnchor} to this model.
32
+ * An anchor is only added once - re-adding the same anchor, identified by its ID and parent, throws.
33
+ */
13
34
  addAnchor(anchor: MatchingAnchor<BaseAnchorSchema> | UnknownAnchor): void;
35
+ /**
36
+ * @internal
37
+ */
14
38
  deriveDependencyField(): string | undefined;
39
+ /**
40
+ * @internal
41
+ */
15
42
  diff(): Promise<Diff[]>;
43
+ /**
44
+ * @internal
45
+ */
16
46
  diffProperties(): Promise<Diff[]>;
47
+ /**
48
+ * To get an attached anchor by its ID.
49
+ *
50
+ * @param anchorId The ID of the anchor.
51
+ * @param parent The model that declared the anchor. Defaults to self.
52
+ */
17
53
  getAnchor(anchorId: string, parent?: UnknownModel): UnknownAnchor | undefined;
54
+ /**
55
+ * The position of an attached anchor in {@link AModel.anchors}, or `-1` when it is not attached.
56
+ *
57
+ * @param anchorId The ID of the anchor.
58
+ * @param parent The model that declared the anchor. Defaults to self.
59
+ */
18
60
  getAnchorIndex(anchorId: string, parent?: UnknownModel): number;
61
+ /**
62
+ * To get all attached anchors, narrowed by anchor class and/or by the value of their properties.
63
+ *
64
+ * @param filters Each filter is a property `key` the anchor must carry with the given `value`.
65
+ * @param types The anchor classes to keep. An empty list keeps every class.
66
+ */
19
67
  getAnchors(filters?: {
20
68
  key: string;
21
69
  value: unknown;
22
70
  }[], types?: Constructable<MatchingAnchor<BaseAnchorSchema> | UnknownAnchor>[]): UnknownAnchor[];
71
+ /**
72
+ * To find anchors by their *schema* rather than by their class.
73
+ *
74
+ * This is how a module consumes what another module produced without importing its classes -
75
+ * you match on the shape you need, and any anchor satisfying that shape is returned.
76
+ * Anchors that do not satisfy the schema are skipped, not reported as errors.
77
+ *
78
+ * @param from The anchor schema to match against.
79
+ * @param propertyFilters Each filter is a property `key` the anchor must carry with the given `value`.
80
+ * @param options `searchBoundaryMembers` searches the whole boundary this model belongs to.
81
+ * Set it to `false` to search only this model.
82
+ *
83
+ * @see Definition of [Anchors](/docs/fundamentals/anchors).
84
+ */
23
85
  getAnchorsMatchingSchema<S extends BaseAnchorSchema>(from: Constructable<S>, propertyFilters?: ObjectKeyValue<S['properties']>[], { searchBoundaryMembers }?: {
24
86
  searchBoundaryMembers?: boolean;
25
87
  }): Promise<MatchingAnchor<S>[]>;
88
+ /**
89
+ * To find models by their schema. See {@link AModel.getAnchorsMatchingSchema}.
90
+ *
91
+ * @param schema The model schema to match against.
92
+ * @param filters Each filter is a schema `key` the model must carry with the given `value`.
93
+ * @param options `searchBoundaryMembers` searches the whole boundary this model belongs to.
94
+ * Set it to `false` to search only this model.
95
+ */
26
96
  getModelsMatchingSchema<S extends object>(schema: Constructable<S>, filters?: ObjectKeyValue<S>[], { searchBoundaryMembers }?: {
27
97
  searchBoundaryMembers?: boolean;
28
98
  }): Promise<MatchingModel<S>[]>;
99
+ /**
100
+ * To find overlays by their schema. See {@link AModel.getAnchorsMatchingSchema}.
101
+ *
102
+ * @param schema The overlay schema to match against.
103
+ * @param propertyFilters Each filter is a property `key` the overlay must carry with the given `value`.
104
+ * @param options `searchBoundaryMembers` searches the whole boundary this model belongs to.
105
+ * Set it to `false` to search only this model.
106
+ */
29
107
  getOverlaysMatchingSchema<S extends BaseOverlaySchema>(schema: Constructable<S>, propertyFilters?: ObjectKeyValue<S['properties']>[], { searchBoundaryMembers }?: {
30
108
  searchBoundaryMembers?: boolean;
31
109
  }): Promise<MatchingModel<S>[]>;
110
+ /**
111
+ * To find resources by their schema. See {@link AModel.getAnchorsMatchingSchema}.
112
+ *
113
+ * Only resources produced by the modules that own the searched models are considered, so this
114
+ * returns another module's resources rather than every resource in the run.
115
+ *
116
+ * @param schema The resource schema to match against.
117
+ * @param propertyFilters Each filter is a property `key` the resource must carry with the given `value`.
118
+ * @param responseFilters Each filter is a response `key` the resource must carry with the given `value`.
119
+ * @param options `searchBoundaryMembers` searches the whole boundary this model belongs to.
120
+ * Set it to `false` to search only this model.
121
+ */
32
122
  getResourcesMatchingSchema<S extends BaseResourceSchema>(schema: Constructable<S>, propertyFilters?: ObjectKeyValue<S['properties']>[], responseFilters?: ObjectKeyValue<S['response']>[], { searchBoundaryMembers }?: {
33
123
  searchBoundaryMembers?: boolean;
34
124
  }): Promise<MatchingResource<S>[]>;
125
+ /**
126
+ * To detach every anchor from this model.
127
+ */
35
128
  removeAllAnchors(): void;
129
+ /**
130
+ * To detach an anchor from this model. Detaching an anchor that is not attached is a no-op.
131
+ */
36
132
  removeAnchor(anchor: MatchingAnchor<BaseAnchorSchema> | UnknownAnchor): void;
37
133
  abstract setContext(): string | undefined;
38
134
  abstract synth(): S;
39
- static unSynth(...args: unknown[]): Promise<UnknownModel>;
40
135
  }