@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.
- package/LICENSE +661 -0
- package/README.md +25 -3
- package/dist/app.type.d.ts +143 -4
- package/dist/app.type.js +80 -9
- package/dist/app.type.js.map +1 -1
- package/dist/decorators/action.decorator.d.ts +10 -6
- package/dist/decorators/action.decorator.js +19 -6
- package/dist/decorators/action.decorator.js.map +1 -1
- package/dist/decorators/anchor.decorator.d.ts +12 -5
- package/dist/decorators/anchor.decorator.js +12 -5
- package/dist/decorators/anchor.decorator.js.map +1 -1
- package/dist/decorators/enable-hook.decorator.d.ts +1 -1
- package/dist/decorators/enable-hook.decorator.js +1 -1
- package/dist/decorators/factory.decorator.d.ts +18 -34
- package/dist/decorators/factory.decorator.js +18 -34
- package/dist/decorators/factory.decorator.js.map +1 -1
- package/dist/decorators/model.decorator.d.ts +1 -1
- package/dist/decorators/model.decorator.js +1 -1
- package/dist/decorators/module.decorator.d.ts +16 -10
- package/dist/decorators/module.decorator.js +16 -10
- package/dist/decorators/module.decorator.js.map +1 -1
- package/dist/decorators/on-event.decorator.d.ts +5 -0
- package/dist/decorators/on-event.decorator.js +5 -0
- package/dist/decorators/on-event.decorator.js.map +1 -1
- package/dist/decorators/validate.decorator.d.ts +15 -1
- package/dist/decorators/validate.decorator.js +15 -1
- package/dist/decorators/validate.decorator.js.map +1 -1
- package/dist/errors/container.error.d.ts +18 -0
- package/dist/errors/container.error.js +18 -0
- package/dist/errors/container.error.js.map +1 -1
- package/dist/errors/index.d.ts +1 -0
- package/dist/errors/index.js +1 -0
- package/dist/errors/index.js.map +1 -1
- package/dist/errors/module.error.d.ts +6 -0
- package/dist/errors/module.error.js +6 -0
- package/dist/errors/module.error.js.map +1 -1
- package/dist/errors/node.error.d.ts +56 -0
- package/dist/errors/node.error.js +56 -0
- package/dist/errors/node.error.js.map +1 -1
- package/dist/errors/schema.error.d.ts +6 -0
- package/dist/errors/schema.error.js +6 -0
- package/dist/errors/schema.error.js.map +1 -1
- package/dist/errors/terraform.error.d.ts +19 -0
- package/dist/errors/terraform.error.js +23 -0
- package/dist/errors/terraform.error.js.map +1 -0
- package/dist/errors/transaction.error.d.ts +77 -0
- package/dist/errors/transaction.error.js +83 -0
- package/dist/errors/transaction.error.js.map +1 -1
- package/dist/events/action.event.d.ts +0 -2
- package/dist/events/action.event.js +0 -2
- package/dist/events/action.event.js.map +1 -1
- package/dist/events/event.model.d.ts +21 -5
- package/dist/events/event.model.js +11 -5
- package/dist/events/event.model.js.map +1 -1
- package/dist/events/hook/commit.hook.event.d.ts +0 -6
- package/dist/events/hook/commit.hook.event.js +0 -6
- package/dist/events/hook/commit.hook.event.js.map +1 -1
- package/dist/events/hook/hook.event.d.ts +0 -2
- package/dist/events/hook/hook.event.js +0 -2
- package/dist/events/hook/hook.event.js.map +1 -1
- package/dist/events/hook/model.hook.event.d.ts +0 -6
- package/dist/events/hook/model.hook.event.js +0 -6
- package/dist/events/hook/model.hook.event.js.map +1 -1
- package/dist/events/hook/resource.hook.event.d.ts +0 -6
- package/dist/events/hook/resource.hook.event.js +0 -6
- package/dist/events/hook/resource.hook.event.js.map +1 -1
- package/dist/events/index.d.ts +3 -0
- package/dist/events/index.js +3 -0
- package/dist/events/index.js.map +1 -1
- package/dist/events/mode-result.event.d.ts +57 -0
- package/dist/events/mode-result.event.js +24 -0
- package/dist/events/mode-result.event.js.map +1 -0
- package/dist/events/mode.event.d.ts +57 -0
- package/dist/events/mode.event.js +32 -0
- package/dist/events/mode.event.js.map +1 -0
- package/dist/events/module.event.d.ts +0 -2
- package/dist/events/module.event.js +0 -2
- package/dist/events/module.event.js.map +1 -1
- package/dist/events/registration.event.d.ts +18 -14
- package/dist/events/registration.event.js +18 -14
- package/dist/events/registration.event.js.map +1 -1
- package/dist/events/serialization.event.d.ts +15 -12
- package/dist/events/serialization.event.js +15 -12
- package/dist/events/serialization.event.js.map +1 -1
- package/dist/events/terraform.event.d.ts +42 -0
- package/dist/events/terraform.event.js +31 -0
- package/dist/events/terraform.event.js.map +1 -0
- package/dist/events/transaction.event.d.ts +0 -37
- package/dist/events/transaction.event.js +0 -28
- package/dist/events/transaction.event.js.map +1 -1
- package/dist/functions/container/container.d.ts +54 -13
- package/dist/functions/container/container.js +63 -18
- package/dist/functions/container/container.js.map +1 -1
- package/dist/functions/container/test-container.d.ts +43 -29
- package/dist/functions/container/test-container.js +71 -43
- package/dist/functions/container/test-container.js.map +1 -1
- package/dist/functions/dependency/dependency.d.ts +82 -8
- package/dist/functions/dependency/dependency.js +80 -14
- package/dist/functions/dependency/dependency.js.map +1 -1
- package/dist/functions/diff/aggregate-resource-actions.d.ts +19 -0
- package/dist/functions/diff/aggregate-resource-actions.js +41 -0
- package/dist/functions/diff/aggregate-resource-actions.js.map +1 -0
- package/dist/functions/diff/diff-metadata.d.ts +21 -3
- package/dist/functions/diff/diff-metadata.js +18 -0
- package/dist/functions/diff/diff-metadata.js.map +1 -1
- package/dist/functions/diff/diff.d.ts +55 -1
- package/dist/functions/diff/diff.js +44 -3
- package/dist/functions/diff/diff.js.map +1 -1
- package/dist/functions/diff/diff.utility.d.ts +17 -2
- package/dist/functions/diff/diff.utility.js +53 -38
- package/dist/functions/diff/diff.utility.js.map +1 -1
- package/dist/functions/hook/commit.hook.d.ts +16 -1
- package/dist/functions/hook/commit.hook.js +21 -6
- package/dist/functions/hook/commit.hook.js.map +1 -1
- package/dist/functions/hook/model-action.hook.d.ts +16 -1
- package/dist/functions/hook/model-action.hook.js +21 -6
- package/dist/functions/hook/model-action.hook.js.map +1 -1
- package/dist/functions/hook/resource-action.hook.d.ts +16 -1
- package/dist/functions/hook/resource-action.hook.js +21 -6
- package/dist/functions/hook/resource-action.hook.js.map +1 -1
- package/dist/functions/node/node-action.abstract.d.ts +23 -0
- package/dist/functions/node/node-action.abstract.js +20 -0
- package/dist/functions/node/node-action.abstract.js.map +1 -1
- package/dist/functions/node/node.abstract.d.ts +56 -5
- package/dist/functions/node/node.abstract.js +85 -12
- package/dist/functions/node/node.abstract.js.map +1 -1
- package/dist/functions/node/node.interface.d.ts +1 -0
- package/dist/functions/schema/schema.d.ts +7 -0
- package/dist/functions/schema/schema.js +9 -0
- package/dist/functions/schema/schema.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts +244 -14
- package/dist/main.js +361 -72
- package/dist/main.js.map +1 -1
- package/dist/models/account/account.model.d.ts +37 -7
- package/dist/models/account/account.model.js +40 -8
- package/dist/models/account/account.model.js.map +1 -1
- package/dist/models/account/account.schema.d.ts +13 -1
- package/dist/models/account/account.schema.js +12 -0
- package/dist/models/account/account.schema.js.map +1 -1
- package/dist/models/app/app.model.d.ts +16 -1
- package/dist/models/app/app.model.js +19 -4
- package/dist/models/app/app.model.js.map +1 -1
- package/dist/models/app/app.schema.d.ts +6 -0
- package/dist/models/app/app.schema.js +6 -0
- package/dist/models/app/app.schema.js.map +1 -1
- package/dist/models/deployment/deployment.model.d.ts +13 -1
- package/dist/models/deployment/deployment.model.js +16 -4
- package/dist/models/deployment/deployment.model.js.map +1 -1
- package/dist/models/deployment/deployment.schema.d.ts +2 -0
- package/dist/models/deployment/deployment.schema.js +2 -0
- package/dist/models/deployment/deployment.schema.js.map +1 -1
- package/dist/models/environment/environment.model.d.ts +13 -1
- package/dist/models/environment/environment.model.js +20 -8
- package/dist/models/environment/environment.model.js.map +1 -1
- package/dist/models/environment/environment.schema.d.ts +2 -0
- package/dist/models/environment/environment.schema.js +2 -0
- package/dist/models/environment/environment.schema.js.map +1 -1
- package/dist/models/execution/execution.model.d.ts +20 -2
- package/dist/models/execution/execution.model.js +46 -28
- package/dist/models/execution/execution.model.js.map +1 -1
- package/dist/models/execution/execution.schema.d.ts +11 -0
- package/dist/models/execution/execution.schema.js +11 -0
- package/dist/models/execution/execution.schema.js.map +1 -1
- package/dist/models/filesystem/filesystem.model.d.ts +27 -1
- package/dist/models/filesystem/filesystem.model.js +30 -4
- package/dist/models/filesystem/filesystem.model.js.map +1 -1
- package/dist/models/filesystem/filesystem.schema.d.ts +5 -0
- package/dist/models/filesystem/filesystem.schema.js +5 -0
- package/dist/models/filesystem/filesystem.schema.js.map +1 -1
- package/dist/models/image/image.model.d.ts +17 -4
- package/dist/models/image/image.model.js +20 -7
- package/dist/models/image/image.model.js.map +1 -1
- package/dist/models/image/image.schema.d.ts +8 -0
- package/dist/models/image/image.schema.js +8 -0
- package/dist/models/image/image.schema.js.map +1 -1
- package/dist/models/model-action.interface.d.ts +17 -4
- package/dist/models/model.abstract.d.ts +96 -1
- package/dist/models/model.abstract.js +106 -7
- package/dist/models/model.abstract.js.map +1 -1
- package/dist/models/model.interface.d.ts +3 -0
- package/dist/models/pipeline/pipeline.model.d.ts +13 -1
- package/dist/models/pipeline/pipeline.model.js +18 -6
- package/dist/models/pipeline/pipeline.model.js.map +1 -1
- package/dist/models/pipeline/pipeline.schema.d.ts +8 -0
- package/dist/models/pipeline/pipeline.schema.js +8 -0
- package/dist/models/pipeline/pipeline.schema.js.map +1 -1
- package/dist/models/region/region.model.d.ts +16 -1
- package/dist/models/region/region.model.js +19 -4
- package/dist/models/region/region.model.js.map +1 -1
- package/dist/models/region/region.schema.d.ts +6 -0
- package/dist/models/region/region.schema.js +6 -0
- package/dist/models/region/region.schema.js.map +1 -1
- package/dist/models/server/server.model.d.ts +13 -1
- package/dist/models/server/server.model.js +16 -4
- package/dist/models/server/server.model.js.map +1 -1
- package/dist/models/server/server.schema.d.ts +3 -1
- package/dist/models/server/server.schema.js +3 -1
- package/dist/models/server/server.schema.js.map +1 -1
- package/dist/models/service/service.model.d.ts +15 -1
- package/dist/models/service/service.model.js +15 -1
- package/dist/models/service/service.model.js.map +1 -1
- package/dist/models/service/service.schema.d.ts +4 -1
- package/dist/models/service/service.schema.js +4 -1
- package/dist/models/service/service.schema.js.map +1 -1
- package/dist/models/subnet/subnet.model.d.ts +27 -3
- package/dist/models/subnet/subnet.model.js +40 -16
- package/dist/models/subnet/subnet.model.js.map +1 -1
- package/dist/models/subnet/subnet.schema.d.ts +9 -0
- package/dist/models/subnet/subnet.schema.js +9 -0
- package/dist/models/subnet/subnet.schema.js.map +1 -1
- package/dist/modes/apply-transaction.d.ts +23 -0
- package/dist/modes/apply-transaction.js +25 -0
- package/dist/modes/apply-transaction.js.map +1 -0
- package/dist/modes/commit.mode.d.ts +54 -0
- package/dist/modes/commit.mode.js +235 -0
- package/dist/modes/commit.mode.js.map +1 -0
- package/dist/modes/generate.mode.d.ts +29 -0
- package/dist/modes/generate.mode.js +49 -0
- package/dist/modes/generate.mode.js.map +1 -0
- package/dist/modes/run-action.mode.d.ts +30 -0
- package/dist/modes/run-action.mode.js +140 -0
- package/dist/modes/run-action.mode.js.map +1 -0
- package/dist/modes/validate.mode.d.ts +162 -0
- package/dist/modes/validate.mode.js +480 -0
- package/dist/modes/validate.mode.js.map +1 -0
- package/dist/modules/module.abstract.d.ts +51 -0
- package/dist/modules/module.abstract.js +36 -0
- package/dist/modules/module.abstract.js.map +1 -1
- package/dist/modules/module.container.d.ts +36 -0
- package/dist/modules/module.container.js +36 -0
- package/dist/modules/module.container.js.map +1 -1
- package/dist/modules/test-module.container.d.ts +139 -24
- package/dist/modules/test-module.container.js +410 -163
- package/dist/modules/test-module.container.js.map +1 -1
- package/dist/overlays/anchor.abstract.d.ts +32 -1
- package/dist/overlays/anchor.abstract.js +42 -11
- package/dist/overlays/anchor.abstract.js.map +1 -1
- package/dist/overlays/anchor.schema.d.ts +21 -0
- package/dist/overlays/anchor.schema.js +21 -0
- package/dist/overlays/anchor.schema.js.map +1 -1
- package/dist/overlays/overlay-data.repository.d.ts +18 -0
- package/dist/overlays/overlay-data.repository.js +18 -0
- package/dist/overlays/overlay-data.repository.js.map +1 -1
- package/dist/overlays/overlay.abstract.d.ts +56 -1
- package/dist/overlays/overlay.abstract.js +79 -20
- package/dist/overlays/overlay.abstract.js.map +1 -1
- package/dist/overlays/overlay.schema.d.ts +20 -0
- package/dist/overlays/overlay.schema.js +20 -0
- package/dist/overlays/overlay.schema.js.map +1 -1
- package/dist/resources/resource-action.interface.d.ts +26 -2
- package/dist/resources/resource-data.repository.d.ts +63 -1
- package/dist/resources/resource-data.repository.js +94 -4
- package/dist/resources/resource-data.repository.js.map +1 -1
- package/dist/resources/resource.abstract.d.ts +118 -3
- package/dist/resources/resource.abstract.js +166 -33
- package/dist/resources/resource.abstract.js.map +1 -1
- package/dist/resources/resource.schema.d.ts +29 -1
- package/dist/resources/resource.schema.js +28 -0
- package/dist/resources/resource.schema.js.map +1 -1
- package/dist/resources/terraform-resource.abstract.d.ts +44 -0
- package/dist/resources/terraform-resource.abstract.js +45 -0
- package/dist/resources/terraform-resource.abstract.js.map +1 -0
- package/dist/services/event/event.service.d.ts +30 -3
- package/dist/services/event/event.service.js +58 -16
- package/dist/services/event/event.service.js.map +1 -1
- package/dist/services/input/input.service.d.ts +52 -3
- package/dist/services/input/input.service.js +72 -8
- package/dist/services/input/input.service.js.map +1 -1
- package/dist/services/schema-translation/schema-translation.service.d.ts +9 -0
- package/dist/services/schema-translation/schema-translation.service.js +9 -0
- package/dist/services/schema-translation/schema-translation.service.js.map +1 -1
- package/dist/services/serialization/model/model-serialization.service.d.ts +26 -2
- package/dist/services/serialization/model/model-serialization.service.js +110 -62
- package/dist/services/serialization/model/model-serialization.service.js.map +1 -1
- package/dist/services/serialization/resource/resource-serialization.service.d.ts +33 -4
- package/dist/services/serialization/resource/resource-serialization.service.js +64 -28
- package/dist/services/serialization/resource/resource-serialization.service.js.map +1 -1
- package/dist/services/state-management/file-app-lock.utility.d.ts +43 -0
- package/dist/services/state-management/file-app-lock.utility.js +124 -0
- package/dist/services/state-management/file-app-lock.utility.js.map +1 -0
- package/dist/services/state-management/local-encryption.state-provider.d.ts +53 -2
- package/dist/services/state-management/local-encryption.state-provider.js +75 -49
- package/dist/services/state-management/local-encryption.state-provider.js.map +1 -1
- package/dist/services/state-management/local.state-provider.d.ts +49 -2
- package/dist/services/state-management/local.state-provider.js +70 -49
- package/dist/services/state-management/local.state-provider.js.map +1 -1
- package/dist/services/state-management/state-management.service.d.ts +141 -6
- package/dist/services/state-management/state-management.service.js +149 -4
- package/dist/services/state-management/state-management.service.js.map +1 -1
- package/dist/services/state-management/state-provider.interface.d.ts +55 -1
- package/dist/services/state-management/terraform-state.service.d.ts +76 -0
- package/dist/services/state-management/terraform-state.service.js +154 -0
- package/dist/services/state-management/terraform-state.service.js.map +1 -0
- package/dist/services/state-management/test.state-provider.d.ts +38 -1
- package/dist/services/state-management/test.state-provider.js +52 -21
- package/dist/services/state-management/test.state-provider.js.map +1 -1
- package/dist/services/terraform/terraform.service.d.ts +426 -0
- package/dist/services/terraform/terraform.service.js +995 -0
- package/dist/services/terraform/terraform.service.js.map +1 -0
- package/dist/services/terraform/terraform.type.d.ts +387 -0
- package/dist/services/terraform/terraform.type.js +579 -0
- package/dist/services/terraform/terraform.type.js.map +1 -0
- package/dist/services/transaction/transaction.service.d.ts +86 -10
- package/dist/services/transaction/transaction.service.js +387 -232
- package/dist/services/transaction/transaction.service.js.map +1 -1
- package/dist/services/validation/validation.service.d.ts +13 -1
- package/dist/services/validation/validation.service.js +12 -0
- package/dist/services/validation/validation.service.js.map +1 -1
- package/dist/utilities/array/array.utility.d.ts +3 -0
- package/dist/utilities/array/array.utility.js +3 -0
- package/dist/utilities/array/array.utility.js.map +1 -1
- package/dist/utilities/file/file.utility.d.ts +15 -0
- package/dist/utilities/file/file.utility.js +18 -1
- package/dist/utilities/file/file.utility.js.map +1 -1
- package/dist/utilities/hcl/hcl.utility.d.ts +61 -0
- package/dist/utilities/hcl/hcl.utility.js +229 -0
- package/dist/utilities/hcl/hcl.utility.js.map +1 -0
- package/dist/utilities/node/node.utility.d.ts +3 -0
- package/dist/utilities/node/node.utility.js +3 -0
- package/dist/utilities/node/node.utility.js.map +1 -1
- package/dist/utilities/object/object.utility.d.ts +12 -0
- package/dist/utilities/object/object.utility.js +12 -0
- package/dist/utilities/object/object.utility.js.map +1 -1
- package/dist/utilities/project/project.utility.d.ts +28 -0
- package/dist/utilities/project/project.utility.js +35 -0
- package/dist/utilities/project/project.utility.js.map +1 -0
- package/dist/utilities/string/string.utility.d.ts +21 -0
- package/dist/utilities/string/string.utility.js +39 -0
- package/dist/utilities/string/string.utility.js.map +1 -0
- package/dist/utilities/terraform/terraform.utility.d.ts +227 -0
- package/dist/utilities/terraform/terraform.utility.js +434 -0
- package/dist/utilities/terraform/terraform.utility.js.map +1 -0
- package/dist/utilities/test-helpers/test-classes.d.ts +18 -31
- package/dist/utilities/test-helpers/test-classes.js +18 -41
- package/dist/utilities/test-helpers/test-classes.js.map +1 -1
- package/dist/utilities/test-helpers/test-models.js +12 -0
- package/dist/utilities/test-helpers/test-models.js.map +1 -1
- package/dist/utilities/test-helpers/test-modes.d.ts +315 -0
- package/dist/utilities/test-helpers/test-modes.js +463 -0
- package/dist/utilities/test-helpers/test-modes.js.map +1 -0
- package/dist/utilities/test-helpers/test-modules.d.ts +41 -0
- package/dist/utilities/test-helpers/test-modules.js +79 -0
- package/dist/utilities/test-helpers/test-modules.js.map +1 -0
- package/dist/utilities/test-helpers/test-overlays.d.ts +17 -1
- package/dist/utilities/test-helpers/test-overlays.js +49 -5
- package/dist/utilities/test-helpers/test-overlays.js.map +1 -1
- package/dist/utilities/test-helpers/test-resources.d.ts +19 -1
- package/dist/utilities/test-helpers/test-resources.js +61 -3
- package/dist/utilities/test-helpers/test-resources.js.map +1 -1
- package/dist/utilities/validation/validation.utility.d.ts +24 -0
- package/dist/utilities/validation/validation.utility.js +24 -0
- package/dist/utilities/validation/validation.utility.js.map +1 -1
- package/package.json +6 -5
- package/dist/services/capture/capture.service.d.ts +0 -19
- package/dist/services/capture/capture.service.js +0 -43
- package/dist/services/capture/capture.service.js.map +0 -1
- package/dist/utilities/cidr/cidr.utility.d.ts +0 -10
- package/dist/utilities/cidr/cidr.utility.js +0 -51
- 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":";;;;;;;;;;AACA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD;;;;;;;;;;;;;;;GAeG;AAEI,IAAM,SAAS,iBAAf,MAAM,SAAU,SAAQ,MAAkC;IAG/D,YAAY,UAAsB,EAAE,WAAwB,EAAE,MAAc;QAC1E,KAAK,EAAE,CAAC;
|
|
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
|
|
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
|
|
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"}
|
|
@@ -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
|
|
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'
|
|
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'
|
|
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;
|
|
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
|
|
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
|
-
*
|
|
5
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
}
|