@quadnix/octo 0.0.30 → 0.2.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 (383) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +117 -8
  3. package/dist/app.type.d.ts +277 -19
  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 +4 -6
  18. package/dist/decorators/model.decorator.js +2 -7
  19. package/dist/decorators/model.decorator.js.map +1 -1
  20. package/dist/decorators/module.decorator.d.ts +16 -10
  21. package/dist/decorators/module.decorator.js +16 -10
  22. package/dist/decorators/module.decorator.js.map +1 -1
  23. package/dist/decorators/on-event.decorator.d.ts +7 -2
  24. package/dist/decorators/on-event.decorator.js +5 -0
  25. package/dist/decorators/on-event.decorator.js.map +1 -1
  26. package/dist/decorators/resource.decorator.d.ts +50 -1
  27. package/dist/decorators/resource.decorator.js +38 -1
  28. package/dist/decorators/resource.decorator.js.map +1 -1
  29. package/dist/decorators/validate.decorator.d.ts +15 -1
  30. package/dist/decorators/validate.decorator.js +15 -1
  31. package/dist/decorators/validate.decorator.js.map +1 -1
  32. package/dist/errors/container.error.d.ts +18 -0
  33. package/dist/errors/container.error.js +18 -0
  34. package/dist/errors/container.error.js.map +1 -1
  35. package/dist/errors/index.d.ts +1 -0
  36. package/dist/errors/index.js +1 -0
  37. package/dist/errors/index.js.map +1 -1
  38. package/dist/errors/module.error.d.ts +6 -0
  39. package/dist/errors/module.error.js +6 -0
  40. package/dist/errors/module.error.js.map +1 -1
  41. package/dist/errors/node.error.d.ts +56 -0
  42. package/dist/errors/node.error.js +56 -0
  43. package/dist/errors/node.error.js.map +1 -1
  44. package/dist/errors/schema.error.d.ts +14 -1
  45. package/dist/errors/schema.error.js +11 -1
  46. package/dist/errors/schema.error.js.map +1 -1
  47. package/dist/errors/terraform.error.d.ts +20 -0
  48. package/dist/errors/terraform.error.js +24 -0
  49. package/dist/errors/terraform.error.js.map +1 -0
  50. package/dist/errors/transaction.error.d.ts +93 -2
  51. package/dist/errors/transaction.error.js +83 -0
  52. package/dist/errors/transaction.error.js.map +1 -1
  53. package/dist/events/action.event.d.ts +8 -4
  54. package/dist/events/action.event.js +2 -4
  55. package/dist/events/action.event.js.map +1 -1
  56. package/dist/events/command.event.d.ts +43 -0
  57. package/dist/events/command.event.js +33 -0
  58. package/dist/events/command.event.js.map +1 -0
  59. package/dist/events/event.model.d.ts +26 -8
  60. package/dist/events/event.model.js +15 -7
  61. package/dist/events/event.model.js.map +1 -1
  62. package/dist/events/hook/commit.hook.event.d.ts +1 -7
  63. package/dist/events/hook/commit.hook.event.js +0 -6
  64. package/dist/events/hook/commit.hook.event.js.map +1 -1
  65. package/dist/events/hook/hook.event.d.ts +1 -3
  66. package/dist/events/hook/hook.event.js +0 -2
  67. package/dist/events/hook/hook.event.js.map +1 -1
  68. package/dist/events/hook/model.hook.event.d.ts +1 -7
  69. package/dist/events/hook/model.hook.event.js +0 -6
  70. package/dist/events/hook/model.hook.event.js.map +1 -1
  71. package/dist/events/hook/resource.hook.event.d.ts +1 -7
  72. package/dist/events/hook/resource.hook.event.js +0 -6
  73. package/dist/events/hook/resource.hook.event.js.map +1 -1
  74. package/dist/events/index.d.ts +5 -0
  75. package/dist/events/index.js +5 -0
  76. package/dist/events/index.js.map +1 -1
  77. package/dist/events/mode-result.event.d.ts +57 -0
  78. package/dist/events/mode-result.event.js +24 -0
  79. package/dist/events/mode-result.event.js.map +1 -0
  80. package/dist/events/mode.event.d.ts +61 -0
  81. package/dist/events/mode.event.js +32 -0
  82. package/dist/events/mode.event.js.map +1 -0
  83. package/dist/events/module.event.d.ts +7 -5
  84. package/dist/events/module.event.js +3 -4
  85. package/dist/events/module.event.js.map +1 -1
  86. package/dist/events/registration.event.d.ts +19 -15
  87. package/dist/events/registration.event.js +18 -14
  88. package/dist/events/registration.event.js.map +1 -1
  89. package/dist/events/serialization.event.d.ts +16 -13
  90. package/dist/events/serialization.event.js +15 -12
  91. package/dist/events/serialization.event.js.map +1 -1
  92. package/dist/events/state.event.d.ts +102 -0
  93. package/dist/events/state.event.js +69 -0
  94. package/dist/events/state.event.js.map +1 -0
  95. package/dist/events/terraform.event.d.ts +78 -0
  96. package/dist/events/terraform.event.js +55 -0
  97. package/dist/events/terraform.event.js.map +1 -0
  98. package/dist/events/transaction.event.d.ts +3 -40
  99. package/dist/events/transaction.event.js +1 -29
  100. package/dist/events/transaction.event.js.map +1 -1
  101. package/dist/functions/container/container.d.ts +54 -13
  102. package/dist/functions/container/container.js +64 -19
  103. package/dist/functions/container/container.js.map +1 -1
  104. package/dist/functions/container/test-container.d.ts +43 -29
  105. package/dist/functions/container/test-container.js +71 -43
  106. package/dist/functions/container/test-container.js.map +1 -1
  107. package/dist/functions/dependency/dependency.d.ts +84 -23
  108. package/dist/functions/dependency/dependency.js +84 -14
  109. package/dist/functions/dependency/dependency.js.map +1 -1
  110. package/dist/functions/diff/aggregate-resource-actions.d.ts +19 -0
  111. package/dist/functions/diff/aggregate-resource-actions.js +41 -0
  112. package/dist/functions/diff/aggregate-resource-actions.js.map +1 -0
  113. package/dist/functions/diff/diff-metadata.d.ts +21 -3
  114. package/dist/functions/diff/diff-metadata.js +18 -0
  115. package/dist/functions/diff/diff-metadata.js.map +1 -1
  116. package/dist/functions/diff/diff.d.ts +68 -7
  117. package/dist/functions/diff/diff.js +44 -3
  118. package/dist/functions/diff/diff.js.map +1 -1
  119. package/dist/functions/hook/commit.hook.d.ts +16 -1
  120. package/dist/functions/hook/commit.hook.js +21 -6
  121. package/dist/functions/hook/commit.hook.js.map +1 -1
  122. package/dist/functions/hook/model-action.hook.d.ts +16 -1
  123. package/dist/functions/hook/model-action.hook.js +21 -6
  124. package/dist/functions/hook/model-action.hook.js.map +1 -1
  125. package/dist/functions/hook/resource-action.hook.d.ts +16 -1
  126. package/dist/functions/hook/resource-action.hook.js +21 -6
  127. package/dist/functions/hook/resource-action.hook.js.map +1 -1
  128. package/dist/functions/node/node-action.abstract.d.ts +23 -2
  129. package/dist/functions/node/node-action.abstract.js +22 -8
  130. package/dist/functions/node/node-action.abstract.js.map +1 -1
  131. package/dist/functions/node/node.abstract.d.ts +56 -5
  132. package/dist/functions/node/node.abstract.js +106 -22
  133. package/dist/functions/node/node.abstract.js.map +1 -1
  134. package/dist/functions/node/node.interface.d.ts +3 -1
  135. package/dist/functions/schema/schema.d.ts +7 -0
  136. package/dist/functions/schema/schema.js +10 -1
  137. package/dist/functions/schema/schema.js.map +1 -1
  138. package/dist/index.d.ts +12 -6
  139. package/dist/index.js +9 -4
  140. package/dist/index.js.map +1 -1
  141. package/dist/index.type.d.ts +5 -0
  142. package/dist/index.type.js +2 -0
  143. package/dist/index.type.js.map +1 -0
  144. package/dist/main.d.ts +245 -14
  145. package/dist/main.js +377 -72
  146. package/dist/main.js.map +1 -1
  147. package/dist/models/account/account.model.d.ts +43 -7
  148. package/dist/models/account/account.model.js +56 -8
  149. package/dist/models/account/account.model.js.map +1 -1
  150. package/dist/models/account/account.schema.d.ts +13 -1
  151. package/dist/models/account/account.schema.js +12 -0
  152. package/dist/models/account/account.schema.js.map +1 -1
  153. package/dist/models/app/app.model.d.ts +13 -8
  154. package/dist/models/app/app.model.js +17 -32
  155. package/dist/models/app/app.model.js.map +1 -1
  156. package/dist/models/app/app.schema.d.ts +6 -0
  157. package/dist/models/app/app.schema.js +6 -0
  158. package/dist/models/app/app.schema.js.map +1 -1
  159. package/dist/models/deployment/deployment.model.d.ts +13 -1
  160. package/dist/models/deployment/deployment.model.js +16 -4
  161. package/dist/models/deployment/deployment.model.js.map +1 -1
  162. package/dist/models/deployment/deployment.schema.d.ts +6 -0
  163. package/dist/models/deployment/deployment.schema.js +6 -0
  164. package/dist/models/deployment/deployment.schema.js.map +1 -1
  165. package/dist/models/environment/environment.model.d.ts +15 -3
  166. package/dist/models/environment/environment.model.js +22 -10
  167. package/dist/models/environment/environment.model.js.map +1 -1
  168. package/dist/models/environment/environment.schema.d.ts +2 -0
  169. package/dist/models/environment/environment.schema.js +2 -0
  170. package/dist/models/environment/environment.schema.js.map +1 -1
  171. package/dist/models/execution/execution.model.d.ts +21 -3
  172. package/dist/models/execution/execution.model.js +47 -29
  173. package/dist/models/execution/execution.model.js.map +1 -1
  174. package/dist/models/execution/execution.schema.d.ts +11 -0
  175. package/dist/models/execution/execution.schema.js +11 -0
  176. package/dist/models/execution/execution.schema.js.map +1 -1
  177. package/dist/models/filesystem/filesystem.model.d.ts +27 -1
  178. package/dist/models/filesystem/filesystem.model.js +30 -4
  179. package/dist/models/filesystem/filesystem.model.js.map +1 -1
  180. package/dist/models/filesystem/filesystem.schema.d.ts +5 -0
  181. package/dist/models/filesystem/filesystem.schema.js +5 -0
  182. package/dist/models/filesystem/filesystem.schema.js.map +1 -1
  183. package/dist/models/image/image.model.d.ts +19 -5
  184. package/dist/models/image/image.model.js +25 -11
  185. package/dist/models/image/image.model.js.map +1 -1
  186. package/dist/models/image/image.schema.d.ts +8 -0
  187. package/dist/models/image/image.schema.js +8 -0
  188. package/dist/models/image/image.schema.js.map +1 -1
  189. package/dist/models/model-action.interface.d.ts +17 -4
  190. package/dist/models/model.abstract.d.ts +96 -1
  191. package/dist/models/model.abstract.js +107 -8
  192. package/dist/models/model.abstract.js.map +1 -1
  193. package/dist/models/model.interface.d.ts +3 -0
  194. package/dist/models/pipeline/pipeline.model.d.ts +14 -2
  195. package/dist/models/pipeline/pipeline.model.js +19 -7
  196. package/dist/models/pipeline/pipeline.model.js.map +1 -1
  197. package/dist/models/pipeline/pipeline.schema.d.ts +8 -0
  198. package/dist/models/pipeline/pipeline.schema.js +8 -0
  199. package/dist/models/pipeline/pipeline.schema.js.map +1 -1
  200. package/dist/models/region/region.model.d.ts +16 -1
  201. package/dist/models/region/region.model.js +19 -4
  202. package/dist/models/region/region.model.js.map +1 -1
  203. package/dist/models/region/region.schema.d.ts +6 -0
  204. package/dist/models/region/region.schema.js +6 -0
  205. package/dist/models/region/region.schema.js.map +1 -1
  206. package/dist/models/server/server.model.d.ts +15 -3
  207. package/dist/models/server/server.model.js +18 -6
  208. package/dist/models/server/server.model.js.map +1 -1
  209. package/dist/models/server/server.schema.d.ts +3 -1
  210. package/dist/models/server/server.schema.js +3 -1
  211. package/dist/models/server/server.schema.js.map +1 -1
  212. package/dist/models/service/service.model.d.ts +37 -6
  213. package/dist/models/service/service.model.js +65 -11
  214. package/dist/models/service/service.model.js.map +1 -1
  215. package/dist/models/service/service.schema.d.ts +48 -1
  216. package/dist/models/service/service.schema.js +56 -1
  217. package/dist/models/service/service.schema.js.map +1 -1
  218. package/dist/models/subnet/subnet.model.d.ts +27 -3
  219. package/dist/models/subnet/subnet.model.js +40 -16
  220. package/dist/models/subnet/subnet.model.js.map +1 -1
  221. package/dist/models/subnet/subnet.schema.d.ts +9 -0
  222. package/dist/models/subnet/subnet.schema.js +9 -0
  223. package/dist/models/subnet/subnet.schema.js.map +1 -1
  224. package/dist/modes/apply-transaction.d.ts +23 -0
  225. package/dist/modes/apply-transaction.js +25 -0
  226. package/dist/modes/apply-transaction.js.map +1 -0
  227. package/dist/modes/commit.mode.d.ts +54 -0
  228. package/dist/modes/commit.mode.js +235 -0
  229. package/dist/modes/commit.mode.js.map +1 -0
  230. package/dist/modes/generate.mode.d.ts +30 -0
  231. package/dist/modes/generate.mode.js +50 -0
  232. package/dist/modes/generate.mode.js.map +1 -0
  233. package/dist/modes/run-action.mode.d.ts +30 -0
  234. package/dist/modes/run-action.mode.js +140 -0
  235. package/dist/modes/run-action.mode.js.map +1 -0
  236. package/dist/modes/validate.mode.d.ts +186 -0
  237. package/dist/modes/validate.mode.js +558 -0
  238. package/dist/modes/validate.mode.js.map +1 -0
  239. package/dist/modules/module.abstract.d.ts +51 -0
  240. package/dist/modules/module.abstract.js +36 -0
  241. package/dist/modules/module.abstract.js.map +1 -1
  242. package/dist/modules/module.container.d.ts +43 -1
  243. package/dist/modules/module.container.js +77 -5
  244. package/dist/modules/module.container.js.map +1 -1
  245. package/dist/modules/test-module.container.d.ts +139 -25
  246. package/dist/modules/test-module.container.js +383 -199
  247. package/dist/modules/test-module.container.js.map +1 -1
  248. package/dist/overlays/anchor.abstract.d.ts +32 -1
  249. package/dist/overlays/anchor.abstract.js +42 -11
  250. package/dist/overlays/anchor.abstract.js.map +1 -1
  251. package/dist/overlays/anchor.schema.d.ts +21 -0
  252. package/dist/overlays/anchor.schema.js +21 -0
  253. package/dist/overlays/anchor.schema.js.map +1 -1
  254. package/dist/overlays/overlay-data.repository.d.ts +18 -0
  255. package/dist/overlays/overlay-data.repository.js +18 -0
  256. package/dist/overlays/overlay-data.repository.js.map +1 -1
  257. package/dist/overlays/overlay.abstract.d.ts +56 -1
  258. package/dist/overlays/overlay.abstract.js +79 -20
  259. package/dist/overlays/overlay.abstract.js.map +1 -1
  260. package/dist/overlays/overlay.schema.d.ts +20 -0
  261. package/dist/overlays/overlay.schema.js +20 -0
  262. package/dist/overlays/overlay.schema.js.map +1 -1
  263. package/dist/resources/resource-action.interface.d.ts +29 -3
  264. package/dist/resources/resource-data.repository.d.ts +63 -1
  265. package/dist/resources/resource-data.repository.js +94 -4
  266. package/dist/resources/resource-data.repository.js.map +1 -1
  267. package/dist/resources/resource.abstract.d.ts +163 -6
  268. package/dist/resources/resource.abstract.js +223 -59
  269. package/dist/resources/resource.abstract.js.map +1 -1
  270. package/dist/resources/resource.interface.d.ts +0 -2
  271. package/dist/resources/resource.schema.d.ts +39 -1
  272. package/dist/resources/resource.schema.js +38 -0
  273. package/dist/resources/resource.schema.js.map +1 -1
  274. package/dist/resources/terraform-resource.abstract.d.ts +44 -0
  275. package/dist/resources/terraform-resource.abstract.js +45 -0
  276. package/dist/resources/terraform-resource.abstract.js.map +1 -0
  277. package/dist/services/event/event.service.d.ts +32 -5
  278. package/dist/services/event/event.service.js +58 -16
  279. package/dist/services/event/event.service.js.map +1 -1
  280. package/dist/services/input/input.service.d.ts +82 -5
  281. package/dist/services/input/input.service.js +143 -12
  282. package/dist/services/input/input.service.js.map +1 -1
  283. package/dist/services/schema-translation/schema-translation.service.d.ts +9 -0
  284. package/dist/services/schema-translation/schema-translation.service.js +9 -0
  285. package/dist/services/schema-translation/schema-translation.service.js.map +1 -1
  286. package/dist/services/serialization/model/model-serialization.service.d.ts +25 -3
  287. package/dist/services/serialization/model/model-serialization.service.js +113 -62
  288. package/dist/services/serialization/model/model-serialization.service.js.map +1 -1
  289. package/dist/services/serialization/resource/resource-serialization.service.d.ts +36 -6
  290. package/dist/services/serialization/resource/resource-serialization.service.js +77 -28
  291. package/dist/services/serialization/resource/resource-serialization.service.js.map +1 -1
  292. package/dist/services/state-management/local.state-provider.d.ts +67 -4
  293. package/dist/services/state-management/local.state-provider.js +168 -41
  294. package/dist/services/state-management/local.state-provider.js.map +1 -1
  295. package/dist/services/state-management/remote.state-provider.d.ts +216 -0
  296. package/dist/services/state-management/remote.state-provider.js +645 -0
  297. package/dist/services/state-management/remote.state-provider.js.map +1 -0
  298. package/dist/services/state-management/state-management.service.d.ts +195 -17
  299. package/dist/services/state-management/state-management.service.js +259 -10
  300. package/dist/services/state-management/state-management.service.js.map +1 -1
  301. package/dist/services/state-management/state-provider.interface.d.ts +98 -3
  302. package/dist/services/state-management/state-provider.interface.js +14 -1
  303. package/dist/services/state-management/state-provider.interface.js.map +1 -1
  304. package/dist/services/state-management/terraform-state.service.d.ts +99 -0
  305. package/dist/services/state-management/terraform-state.service.js +197 -0
  306. package/dist/services/state-management/terraform-state.service.js.map +1 -0
  307. package/dist/services/state-management/test.state-provider.d.ts +42 -4
  308. package/dist/services/state-management/test.state-provider.js +77 -25
  309. package/dist/services/state-management/test.state-provider.js.map +1 -1
  310. package/dist/services/terraform/terraform.service.d.ts +480 -0
  311. package/dist/services/terraform/terraform.service.js +1082 -0
  312. package/dist/services/terraform/terraform.service.js.map +1 -0
  313. package/dist/services/terraform/terraform.type.d.ts +387 -0
  314. package/dist/services/terraform/terraform.type.js +579 -0
  315. package/dist/services/terraform/terraform.type.js.map +1 -0
  316. package/dist/services/transaction/transaction.service.d.ts +110 -10
  317. package/dist/services/transaction/transaction.service.js +570 -251
  318. package/dist/services/transaction/transaction.service.js.map +1 -1
  319. package/dist/services/validation/validation.service.d.ts +15 -3
  320. package/dist/services/validation/validation.service.js +12 -0
  321. package/dist/services/validation/validation.service.js.map +1 -1
  322. package/dist/utilities/array/array.utility.d.ts +3 -0
  323. package/dist/utilities/array/array.utility.js +3 -0
  324. package/dist/utilities/array/array.utility.js.map +1 -1
  325. package/dist/{functions → utilities}/diff/diff.utility.d.ts +19 -3
  326. package/dist/{functions → utilities}/diff/diff.utility.js +57 -41
  327. package/dist/utilities/diff/diff.utility.js.map +1 -0
  328. package/dist/utilities/file/file.utility.d.ts +16 -2
  329. package/dist/utilities/file/file.utility.js +23 -61
  330. package/dist/utilities/file/file.utility.js.map +1 -1
  331. package/dist/utilities/hcl/hcl.utility.d.ts +128 -0
  332. package/dist/utilities/hcl/hcl.utility.js +402 -0
  333. package/dist/utilities/hcl/hcl.utility.js.map +1 -0
  334. package/dist/utilities/http/http.utility.d.ts +57 -0
  335. package/dist/utilities/http/http.utility.js +98 -0
  336. package/dist/utilities/http/http.utility.js.map +1 -0
  337. package/dist/utilities/node/node.utility.d.ts +3 -0
  338. package/dist/utilities/node/node.utility.js +3 -0
  339. package/dist/utilities/node/node.utility.js.map +1 -1
  340. package/dist/utilities/object/object.utility.d.ts +12 -0
  341. package/dist/utilities/object/object.utility.js +12 -0
  342. package/dist/utilities/object/object.utility.js.map +1 -1
  343. package/dist/utilities/project/project.utility.d.ts +28 -0
  344. package/dist/utilities/project/project.utility.js +35 -0
  345. package/dist/utilities/project/project.utility.js.map +1 -0
  346. package/dist/utilities/string/string.utility.d.ts +41 -0
  347. package/dist/utilities/string/string.utility.js +65 -0
  348. package/dist/utilities/string/string.utility.js.map +1 -0
  349. package/dist/utilities/terraform/terraform.utility.d.ts +276 -0
  350. package/dist/utilities/terraform/terraform.utility.js +623 -0
  351. package/dist/utilities/terraform/terraform.utility.js.map +1 -0
  352. package/dist/utilities/test-helpers/test-classes.d.ts +36 -30
  353. package/dist/utilities/test-helpers/test-classes.js +38 -39
  354. package/dist/utilities/test-helpers/test-classes.js.map +1 -1
  355. package/dist/utilities/test-helpers/test-models.d.ts +8 -1
  356. package/dist/utilities/test-helpers/test-models.js +37 -12
  357. package/dist/utilities/test-helpers/test-models.js.map +1 -1
  358. package/dist/utilities/test-helpers/test-modes.d.ts +315 -0
  359. package/dist/utilities/test-helpers/test-modes.js +486 -0
  360. package/dist/utilities/test-helpers/test-modes.js.map +1 -0
  361. package/dist/utilities/test-helpers/test-modules.d.ts +47 -0
  362. package/dist/utilities/test-helpers/test-modules.js +85 -0
  363. package/dist/utilities/test-helpers/test-modules.js.map +1 -0
  364. package/dist/utilities/test-helpers/test-overlays.d.ts +20 -2
  365. package/dist/utilities/test-helpers/test-overlays.js +56 -6
  366. package/dist/utilities/test-helpers/test-overlays.js.map +1 -1
  367. package/dist/utilities/test-helpers/test-resources.d.ts +23 -3
  368. package/dist/utilities/test-helpers/test-resources.js +83 -23
  369. package/dist/utilities/test-helpers/test-resources.js.map +1 -1
  370. package/dist/utilities/validation/validation.utility.d.ts +24 -0
  371. package/dist/utilities/validation/validation.utility.js +24 -0
  372. package/dist/utilities/validation/validation.utility.js.map +1 -1
  373. package/package.json +12 -6
  374. package/dist/functions/diff/diff.utility.js.map +0 -1
  375. package/dist/services/capture/capture.service.d.ts +0 -19
  376. package/dist/services/capture/capture.service.js +0 -43
  377. package/dist/services/capture/capture.service.js.map +0 -1
  378. package/dist/services/state-management/local-encryption.state-provider.d.ts +0 -20
  379. package/dist/services/state-management/local-encryption.state-provider.js +0 -90
  380. package/dist/services/state-management/local-encryption.state-provider.js.map +0 -1
  381. package/dist/utilities/cidr/cidr.utility.d.ts +0 -10
  382. package/dist/utilities/cidr/cidr.utility.js +0 -51
  383. package/dist/utilities/cidr/cidr.utility.js.map +0 -1
@@ -11,7 +11,7 @@ import { ExecutionSchema } from './execution.schema.js';
11
11
  * @example
12
12
  * ```ts
13
13
  * const deployment = new Deployment('v1');
14
- * const environment = new Environment('qa');
14
+ * const environment = new Environment('staging');
15
15
  * const subnet = new Subnet(region, 'private');
16
16
  * const execution = new Execution(deployment, environment, subnet);
17
17
  * ```
@@ -22,13 +22,31 @@ import { ExecutionSchema } from './execution.schema.js';
22
22
  */
23
23
  export declare class Execution extends AModel<ExecutionSchema, Execution> {
24
24
  readonly environmentVariables: Map<string, string>;
25
- constructor(deployment: Deployment, environment: Environment, subnet: Subnet);
26
25
  /**
27
26
  * An `executionId` is a unique identifier for this execution.
28
27
  * - Format of executionId is `{serverKey}-{deploymentTag}-{regionId}-{environmentName}-{subnetName}`
29
28
  */
30
29
  get executionId(): string;
30
+ /**
31
+ * All three parents claim the new execution as their child, so the graph is complete on construction.
32
+ *
33
+ * @param deployment The deployment whose code this execution runs.
34
+ * @param environment The environment this execution runs in.
35
+ * @param subnet The subnet this execution is placed in.
36
+ * @throws {@link ModelError} If the environment and subnet are in different regions, or an
37
+ * identical execution already exists.
38
+ */
39
+ constructor(deployment: Deployment, environment: Environment, subnet: Subnet);
40
+ /**
41
+ * @internal
42
+ */
43
+ static unSynth(execution: ExecutionSchema, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<Execution>;
44
+ /**
45
+ * @internal
46
+ */
31
47
  setContext(): string | undefined;
48
+ /**
49
+ * @internal
50
+ */
32
51
  synth(): ExecutionSchema;
33
- static unSynth(execution: ExecutionSchema, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<Execution>;
34
52
  }
@@ -25,7 +25,7 @@ import { ExecutionSchema } from './execution.schema.js';
25
25
  * @example
26
26
  * ```ts
27
27
  * const deployment = new Deployment('v1');
28
- * const environment = new Environment('qa');
28
+ * const environment = new Environment('staging');
29
29
  * const subnet = new Subnet(region, 'private');
30
30
  * const execution = new Execution(deployment, environment, subnet);
31
31
  * ```
@@ -35,6 +35,34 @@ import { ExecutionSchema } from './execution.schema.js';
35
35
  * @see Definition of [Default Models](/docs/fundamentals/models#default-models).
36
36
  */
37
37
  let Execution = Execution_1 = class Execution extends AModel {
38
+ /**
39
+ * An `executionId` is a unique identifier for this execution.
40
+ * - Format of executionId is `{serverKey}-{deploymentTag}-{regionId}-{environmentName}-{subnetName}`
41
+ */
42
+ get executionId() {
43
+ const parents = this.getParents();
44
+ const deployment = parents['deployment'][0].to;
45
+ const server = deployment.getParents()['server'][0].to;
46
+ const environment = parents['environment'][0].to;
47
+ const region = environment.getParents()['region'][0].to;
48
+ const subnet = parents['subnet'][0].to;
49
+ return [
50
+ server.serverKey,
51
+ deployment.deploymentTag,
52
+ region.regionId,
53
+ environment.environmentName,
54
+ subnet.subnetName,
55
+ ].join('-');
56
+ }
57
+ /**
58
+ * All three parents claim the new execution as their child, so the graph is complete on construction.
59
+ *
60
+ * @param deployment The deployment whose code this execution runs.
61
+ * @param environment The environment this execution runs in.
62
+ * @param subnet The subnet this execution is placed in.
63
+ * @throws {@link ModelError} If the environment and subnet are in different regions, or an
64
+ * identical execution already exists.
65
+ */
38
66
  constructor(deployment, environment, subnet) {
39
67
  super();
40
68
  this.environmentVariables = new Map();
@@ -62,24 +90,23 @@ let Execution = Execution_1 = class Execution extends AModel {
62
90
  subnet.addChild('subnetId', this, 'executionId');
63
91
  }
64
92
  /**
65
- * An `executionId` is a unique identifier for this execution.
66
- * - Format of executionId is `{serverKey}-{deploymentTag}-{regionId}-{environmentName}-{subnetName}`
93
+ * @internal
67
94
  */
68
- get executionId() {
69
- const parents = this.getParents();
70
- const deployment = parents['deployment'][0].to;
71
- const server = deployment.getParents()['server'][0].to;
72
- const environment = parents['environment'][0].to;
73
- const region = environment.getParents()['region'][0].to;
74
- const subnet = parents['subnet'][0].to;
75
- return [
76
- server.serverKey,
77
- deployment.deploymentTag,
78
- region.regionId,
79
- environment.environmentName,
80
- subnet.subnetName,
81
- ].join('-');
95
+ static async unSynth(execution, deReferenceContext) {
96
+ const [deployment, environment, subnet] = (await Promise.all([
97
+ deReferenceContext(execution.deployment.context),
98
+ deReferenceContext(execution.environment.context),
99
+ deReferenceContext(execution.subnet.context),
100
+ ]));
101
+ const newExecution = new Execution_1(deployment, environment, subnet);
102
+ for (const [key, value] of Object.entries(execution.environmentVariables)) {
103
+ newExecution.environmentVariables.set(key, value);
104
+ }
105
+ return newExecution;
82
106
  }
107
+ /**
108
+ * @internal
109
+ */
83
110
  setContext() {
84
111
  const parents = this.getParents();
85
112
  const deployment = parents['deployment']?.[0]?.to;
@@ -95,6 +122,9 @@ let Execution = Execution_1 = class Execution extends AModel {
95
122
  subnet.getContext(),
96
123
  ].join(',');
97
124
  }
125
+ /**
126
+ * @internal
127
+ */
98
128
  synth() {
99
129
  const parents = this.getParents();
100
130
  const deployment = parents['deployment'][0]['to'];
@@ -107,18 +137,6 @@ let Execution = Execution_1 = class Execution extends AModel {
107
137
  subnet: { context: subnet.getContext() },
108
138
  };
109
139
  }
110
- static async unSynth(execution, deReferenceContext) {
111
- const [deployment, environment, subnet] = (await Promise.all([
112
- deReferenceContext(execution.deployment.context),
113
- deReferenceContext(execution.environment.context),
114
- deReferenceContext(execution.subnet.context),
115
- ]));
116
- const newExecution = new Execution_1(deployment, environment, subnet);
117
- for (const [key, value] of Object.entries(execution.environmentVariables)) {
118
- newExecution.environmentVariables.set(key, value);
119
- }
120
- return newExecution;
121
- }
122
140
  };
123
141
  Execution = Execution_1 = __decorate([
124
142
  Model('@octo', 'execution', ExecutionSchema),
@@ -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"}
@@ -2,13 +2,14 @@ import type { UnknownModel } from '../../app.type.js';
2
2
  import { AModel } from '../model.abstract.js';
3
3
  import { ImageSchema } from './image.schema.js';
4
4
  /**
5
- * An Image model represents a Docker image, to either build, or run, your microservices.
5
+ * An Image model represents a Docker image, to either build, or run, your services.
6
+ * Images belong to an {@link Account}: an image is used only inside the account it sits in, and is
7
+ * linked to each of its regions it is published into.
6
8
  *
7
9
  * @example
8
10
  * ```ts
9
- * const image = new Image('nginx', '2.4', { dockerfilePath: './Dockerfile' });
10
- *
11
- * const image = new Image('docker/hello-world', '1.0', { dockerfilePath: './Dockerfile' });
11
+ * const image = new Image('nginx', '2.4');
12
+ * account.addImage(image);
12
13
  * ```
13
14
  *
14
15
  * @group Models/Image
@@ -19,8 +20,21 @@ export declare class Image extends AModel<ImageSchema, Image> {
19
20
  readonly imageFamily: string;
20
21
  readonly imageId: string;
21
22
  readonly imageName: string;
23
+ /**
24
+ * @param imageFamily The repository name shared by all versions of this image.
25
+ * @param imageName The version or tag of this image within its family.
26
+ */
22
27
  constructor(imageFamily: string, imageName: string);
28
+ /**
29
+ * @internal
30
+ */
31
+ static unSynth(image: ImageSchema, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<Image>;
32
+ /**
33
+ * @internal
34
+ */
23
35
  setContext(): string | undefined;
36
+ /**
37
+ * @internal
38
+ */
24
39
  synth(): ImageSchema;
25
- static unSynth(image: ImageSchema, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<Image>;
26
40
  }
@@ -13,13 +13,14 @@ import { Model } from '../../decorators/model.decorator.js';
13
13
  import { AModel } from '../model.abstract.js';
14
14
  import { ImageSchema } from './image.schema.js';
15
15
  /**
16
- * An Image model represents a Docker image, to either build, or run, your microservices.
16
+ * An Image model represents a Docker image, to either build, or run, your services.
17
+ * Images belong to an {@link Account}: an image is used only inside the account it sits in, and is
18
+ * linked to each of its regions it is published into.
17
19
  *
18
20
  * @example
19
21
  * ```ts
20
- * const image = new Image('nginx', '2.4', { dockerfilePath: './Dockerfile' });
21
- *
22
- * const image = new Image('docker/hello-world', '1.0', { dockerfilePath: './Dockerfile' });
22
+ * const image = new Image('nginx', '2.4');
23
+ * account.addImage(image);
23
24
  * ```
24
25
  *
25
26
  * @group Models/Image
@@ -27,20 +28,37 @@ import { ImageSchema } from './image.schema.js';
27
28
  * @see Definition of [Default Models](/docs/fundamentals/models#default-models).
28
29
  */
29
30
  let Image = Image_1 = class Image extends AModel {
31
+ /**
32
+ * @param imageFamily The repository name shared by all versions of this image.
33
+ * @param imageName The version or tag of this image within its family.
34
+ */
30
35
  constructor(imageFamily, imageName) {
31
36
  super();
32
37
  this.imageFamily = imageFamily;
33
38
  this.imageId = `${imageFamily}/${imageName}`;
34
39
  this.imageName = imageName;
35
40
  }
41
+ /**
42
+ * @internal
43
+ */
44
+ static async unSynth(image, deReferenceContext) {
45
+ assert(!!deReferenceContext);
46
+ return new Image_1(image.imageFamily, image.imageName);
47
+ }
48
+ /**
49
+ * @internal
50
+ */
36
51
  setContext() {
37
52
  const parents = this.getParents();
38
- const app = parents['app']?.[0]?.to;
39
- if (!app) {
53
+ const account = parents['account']?.[0]?.to;
54
+ if (!account) {
40
55
  return undefined;
41
56
  }
42
- return [`${this.constructor.NODE_NAME}=${this.imageId}`, app.getContext()].join(',');
57
+ return [`${this.constructor.NODE_NAME}=${this.imageId}`, account.getContext()].join(',');
43
58
  }
59
+ /**
60
+ * @internal
61
+ */
44
62
  synth() {
45
63
  return {
46
64
  imageFamily: this.imageFamily,
@@ -48,10 +66,6 @@ let Image = Image_1 = class Image extends AModel {
48
66
  imageName: this.imageName,
49
67
  };
50
68
  }
51
- static async unSynth(image, deReferenceContext) {
52
- assert(!!deReferenceContext);
53
- return new Image_1(image.imageFamily, image.imageName);
54
- }
55
69
  };
56
70
  Image = Image_1 = __decorate([
57
71
  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;;;;;;;;;;;;;;GAcG;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,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,GAAI,IAAI,CAAC,WAA4B,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7G,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
  }