@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.
- package/LICENSE +661 -0
- package/README.md +117 -8
- package/dist/app.type.d.ts +277 -19
- 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 +4 -6
- package/dist/decorators/model.decorator.js +2 -7
- package/dist/decorators/model.decorator.js.map +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 +7 -2
- package/dist/decorators/on-event.decorator.js +5 -0
- package/dist/decorators/on-event.decorator.js.map +1 -1
- package/dist/decorators/resource.decorator.d.ts +50 -1
- package/dist/decorators/resource.decorator.js +38 -1
- package/dist/decorators/resource.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 +14 -1
- package/dist/errors/schema.error.js +11 -1
- package/dist/errors/schema.error.js.map +1 -1
- package/dist/errors/terraform.error.d.ts +20 -0
- package/dist/errors/terraform.error.js +24 -0
- package/dist/errors/terraform.error.js.map +1 -0
- package/dist/errors/transaction.error.d.ts +93 -2
- package/dist/errors/transaction.error.js +83 -0
- package/dist/errors/transaction.error.js.map +1 -1
- package/dist/events/action.event.d.ts +8 -4
- package/dist/events/action.event.js +2 -4
- package/dist/events/action.event.js.map +1 -1
- package/dist/events/command.event.d.ts +43 -0
- package/dist/events/command.event.js +33 -0
- package/dist/events/command.event.js.map +1 -0
- package/dist/events/event.model.d.ts +26 -8
- package/dist/events/event.model.js +15 -7
- package/dist/events/event.model.js.map +1 -1
- package/dist/events/hook/commit.hook.event.d.ts +1 -7
- 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 +1 -3
- 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 +1 -7
- 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 +1 -7
- 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 +5 -0
- package/dist/events/index.js +5 -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 +61 -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 +7 -5
- package/dist/events/module.event.js +3 -4
- package/dist/events/module.event.js.map +1 -1
- package/dist/events/registration.event.d.ts +19 -15
- package/dist/events/registration.event.js +18 -14
- package/dist/events/registration.event.js.map +1 -1
- package/dist/events/serialization.event.d.ts +16 -13
- package/dist/events/serialization.event.js +15 -12
- package/dist/events/serialization.event.js.map +1 -1
- package/dist/events/state.event.d.ts +102 -0
- package/dist/events/state.event.js +69 -0
- package/dist/events/state.event.js.map +1 -0
- package/dist/events/terraform.event.d.ts +78 -0
- package/dist/events/terraform.event.js +55 -0
- package/dist/events/terraform.event.js.map +1 -0
- package/dist/events/transaction.event.d.ts +3 -40
- package/dist/events/transaction.event.js +1 -29
- package/dist/events/transaction.event.js.map +1 -1
- package/dist/functions/container/container.d.ts +54 -13
- package/dist/functions/container/container.js +64 -19
- 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 +84 -23
- package/dist/functions/dependency/dependency.js +84 -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 +68 -7
- package/dist/functions/diff/diff.js +44 -3
- package/dist/functions/diff/diff.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 -2
- package/dist/functions/node/node-action.abstract.js +22 -8
- 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 +106 -22
- package/dist/functions/node/node.abstract.js.map +1 -1
- package/dist/functions/node/node.interface.d.ts +3 -1
- package/dist/functions/schema/schema.d.ts +7 -0
- package/dist/functions/schema/schema.js +10 -1
- package/dist/functions/schema/schema.js.map +1 -1
- package/dist/index.d.ts +12 -6
- package/dist/index.js +9 -4
- package/dist/index.js.map +1 -1
- package/dist/index.type.d.ts +5 -0
- package/dist/index.type.js +2 -0
- package/dist/index.type.js.map +1 -0
- package/dist/main.d.ts +245 -14
- package/dist/main.js +377 -72
- package/dist/main.js.map +1 -1
- package/dist/models/account/account.model.d.ts +43 -7
- package/dist/models/account/account.model.js +56 -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 +13 -8
- package/dist/models/app/app.model.js +17 -32
- 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 +6 -0
- package/dist/models/deployment/deployment.schema.js +6 -0
- package/dist/models/deployment/deployment.schema.js.map +1 -1
- package/dist/models/environment/environment.model.d.ts +15 -3
- package/dist/models/environment/environment.model.js +22 -10
- 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 +21 -3
- package/dist/models/execution/execution.model.js +47 -29
- 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 +19 -5
- package/dist/models/image/image.model.js +25 -11
- 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 +107 -8
- 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 +14 -2
- package/dist/models/pipeline/pipeline.model.js +19 -7
- 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 +15 -3
- package/dist/models/server/server.model.js +18 -6
- 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 +37 -6
- package/dist/models/service/service.model.js +65 -11
- package/dist/models/service/service.model.js.map +1 -1
- package/dist/models/service/service.schema.d.ts +48 -1
- package/dist/models/service/service.schema.js +56 -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 +30 -0
- package/dist/modes/generate.mode.js +50 -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 +186 -0
- package/dist/modes/validate.mode.js +558 -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 +43 -1
- package/dist/modules/module.container.js +77 -5
- package/dist/modules/module.container.js.map +1 -1
- package/dist/modules/test-module.container.d.ts +139 -25
- package/dist/modules/test-module.container.js +383 -199
- 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 +29 -3
- 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 +163 -6
- package/dist/resources/resource.abstract.js +223 -59
- package/dist/resources/resource.abstract.js.map +1 -1
- package/dist/resources/resource.interface.d.ts +0 -2
- package/dist/resources/resource.schema.d.ts +39 -1
- package/dist/resources/resource.schema.js +38 -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 +32 -5
- 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 +82 -5
- package/dist/services/input/input.service.js +143 -12
- 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 +25 -3
- package/dist/services/serialization/model/model-serialization.service.js +113 -62
- package/dist/services/serialization/model/model-serialization.service.js.map +1 -1
- package/dist/services/serialization/resource/resource-serialization.service.d.ts +36 -6
- package/dist/services/serialization/resource/resource-serialization.service.js +77 -28
- package/dist/services/serialization/resource/resource-serialization.service.js.map +1 -1
- package/dist/services/state-management/local.state-provider.d.ts +67 -4
- package/dist/services/state-management/local.state-provider.js +168 -41
- package/dist/services/state-management/local.state-provider.js.map +1 -1
- package/dist/services/state-management/remote.state-provider.d.ts +216 -0
- package/dist/services/state-management/remote.state-provider.js +645 -0
- package/dist/services/state-management/remote.state-provider.js.map +1 -0
- package/dist/services/state-management/state-management.service.d.ts +195 -17
- package/dist/services/state-management/state-management.service.js +259 -10
- package/dist/services/state-management/state-management.service.js.map +1 -1
- package/dist/services/state-management/state-provider.interface.d.ts +98 -3
- package/dist/services/state-management/state-provider.interface.js +14 -1
- package/dist/services/state-management/state-provider.interface.js.map +1 -1
- package/dist/services/state-management/terraform-state.service.d.ts +99 -0
- package/dist/services/state-management/terraform-state.service.js +197 -0
- package/dist/services/state-management/terraform-state.service.js.map +1 -0
- package/dist/services/state-management/test.state-provider.d.ts +42 -4
- package/dist/services/state-management/test.state-provider.js +77 -25
- package/dist/services/state-management/test.state-provider.js.map +1 -1
- package/dist/services/terraform/terraform.service.d.ts +480 -0
- package/dist/services/terraform/terraform.service.js +1082 -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 +110 -10
- package/dist/services/transaction/transaction.service.js +570 -251
- package/dist/services/transaction/transaction.service.js.map +1 -1
- package/dist/services/validation/validation.service.d.ts +15 -3
- 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/{functions → utilities}/diff/diff.utility.d.ts +19 -3
- package/dist/{functions → utilities}/diff/diff.utility.js +57 -41
- package/dist/utilities/diff/diff.utility.js.map +1 -0
- package/dist/utilities/file/file.utility.d.ts +16 -2
- package/dist/utilities/file/file.utility.js +23 -61
- package/dist/utilities/file/file.utility.js.map +1 -1
- package/dist/utilities/hcl/hcl.utility.d.ts +128 -0
- package/dist/utilities/hcl/hcl.utility.js +402 -0
- package/dist/utilities/hcl/hcl.utility.js.map +1 -0
- package/dist/utilities/http/http.utility.d.ts +57 -0
- package/dist/utilities/http/http.utility.js +98 -0
- package/dist/utilities/http/http.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 +41 -0
- package/dist/utilities/string/string.utility.js +65 -0
- package/dist/utilities/string/string.utility.js.map +1 -0
- package/dist/utilities/terraform/terraform.utility.d.ts +276 -0
- package/dist/utilities/terraform/terraform.utility.js +623 -0
- package/dist/utilities/terraform/terraform.utility.js.map +1 -0
- package/dist/utilities/test-helpers/test-classes.d.ts +36 -30
- package/dist/utilities/test-helpers/test-classes.js +38 -39
- package/dist/utilities/test-helpers/test-classes.js.map +1 -1
- package/dist/utilities/test-helpers/test-models.d.ts +8 -1
- package/dist/utilities/test-helpers/test-models.js +37 -12
- 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 +486 -0
- package/dist/utilities/test-helpers/test-modes.js.map +1 -0
- package/dist/utilities/test-helpers/test-modules.d.ts +47 -0
- package/dist/utilities/test-helpers/test-modules.js +85 -0
- package/dist/utilities/test-helpers/test-modules.js.map +1 -0
- package/dist/utilities/test-helpers/test-overlays.d.ts +20 -2
- package/dist/utilities/test-helpers/test-overlays.js +56 -6
- package/dist/utilities/test-helpers/test-overlays.js.map +1 -1
- package/dist/utilities/test-helpers/test-resources.d.ts +23 -3
- package/dist/utilities/test-helpers/test-resources.js +83 -23
- 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 +12 -6
- package/dist/functions/diff/diff.utility.js.map +0 -1
- 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/services/state-management/local-encryption.state-provider.d.ts +0 -20
- package/dist/services/state-management/local-encryption.state-provider.js +0 -90
- package/dist/services/state-management/local-encryption.state-provider.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
|
@@ -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
|
}
|
|
@@ -2,19 +2,45 @@ import { MatchingAnchor, MatchingModel, MatchingResource, NodeType, } from '../a
|
|
|
2
2
|
import { NodeError, SchemaError, ValidationTransactionError } from '../errors/index.js';
|
|
3
3
|
import { Container } from '../functions/container/container.js';
|
|
4
4
|
import { Diff, DiffAction } from '../functions/diff/diff.js';
|
|
5
|
-
import { DiffUtility } from '../functions/diff/diff.utility.js';
|
|
6
5
|
import { ANode } from '../functions/node/node.abstract.js';
|
|
7
6
|
import { getSchemaInstance } from '../functions/schema/schema.js';
|
|
8
7
|
import { InputService } from '../services/input/input.service.js';
|
|
9
8
|
import { SchemaTranslationService } from '../services/schema-translation/schema-translation.service.js';
|
|
9
|
+
import { DiffUtility } from '../utilities/diff/diff.utility.js';
|
|
10
10
|
/**
|
|
11
|
+
* The base class of every model - the nodes that describe your infrastructure as *intent*,
|
|
12
|
+
* before any cloud resource is involved.
|
|
13
|
+
*
|
|
14
|
+
* You rarely extend `AModel` directly. Extend one of the base models Octo ships - {@link App},
|
|
15
|
+
* {@link Region}, {@link Server}, and so on - so that the rest of the ecosystem knows what your
|
|
16
|
+
* model is. `AModel` is where the behavior common to all of them lives: anchors, and the queries a
|
|
17
|
+
* module uses to find what other modules have already built.
|
|
18
|
+
*
|
|
11
19
|
* @group Models
|
|
20
|
+
*
|
|
21
|
+
* @see Definition of [Models](/docs/fundamentals/models).
|
|
12
22
|
*/
|
|
13
23
|
export class AModel extends ANode {
|
|
14
24
|
constructor() {
|
|
15
25
|
super(...arguments);
|
|
26
|
+
/**
|
|
27
|
+
* The anchors attached to this model, whether declared on it or borrowed from another model.
|
|
28
|
+
*/
|
|
16
29
|
this.anchors = [];
|
|
17
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* @internal
|
|
33
|
+
*/
|
|
34
|
+
static async unSynth(...args) {
|
|
35
|
+
if (args.length > 4) {
|
|
36
|
+
throw new Error('Too many args in unSynth()');
|
|
37
|
+
}
|
|
38
|
+
throw new Error('Method not implemented! Use derived class implementation');
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* To attach an {@link AAnchor} to this model.
|
|
42
|
+
* An anchor is only added once - re-adding the same anchor, identified by its ID and parent, throws.
|
|
43
|
+
*/
|
|
18
44
|
addAnchor(anchor) {
|
|
19
45
|
const existingAnchor = anchor instanceof MatchingAnchor
|
|
20
46
|
? this.getAnchor(anchor.getActual().anchorId, anchor.getActual().getParent())
|
|
@@ -26,8 +52,12 @@ export class AModel extends ANode {
|
|
|
26
52
|
this.anchors.push(anchor);
|
|
27
53
|
}
|
|
28
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* @internal
|
|
57
|
+
*/
|
|
29
58
|
deriveDependencyField() {
|
|
30
|
-
if (this.
|
|
59
|
+
if (this.constructor.NODE_NAME === 'app' &&
|
|
60
|
+
!this.getDependencies().some((d) => d.isChildRelationship())) {
|
|
31
61
|
return 'name';
|
|
32
62
|
}
|
|
33
63
|
else if (this.constructor.NODE_TYPE === NodeType.OVERLAY) {
|
|
@@ -37,6 +67,9 @@ export class AModel extends ANode {
|
|
|
37
67
|
.find((d) => d.getRelationship() !== undefined)
|
|
38
68
|
?.getRelationship().onField;
|
|
39
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* @internal
|
|
72
|
+
*/
|
|
40
73
|
async diff() {
|
|
41
74
|
const diffs = [];
|
|
42
75
|
const field = this.deriveDependencyField();
|
|
@@ -69,9 +102,18 @@ export class AModel extends ANode {
|
|
|
69
102
|
diffs.push(...propertyDiffs);
|
|
70
103
|
return diffs;
|
|
71
104
|
}
|
|
105
|
+
/**
|
|
106
|
+
* @internal
|
|
107
|
+
*/
|
|
72
108
|
async diffProperties() {
|
|
73
109
|
return [];
|
|
74
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* To get an attached anchor by its ID.
|
|
113
|
+
*
|
|
114
|
+
* @param anchorId The ID of the anchor.
|
|
115
|
+
* @param parent The model that declared the anchor. Defaults to self.
|
|
116
|
+
*/
|
|
75
117
|
getAnchor(anchorId, parent) {
|
|
76
118
|
const index = this.getAnchorIndex(anchorId, parent);
|
|
77
119
|
if (index === -1) {
|
|
@@ -85,6 +127,12 @@ export class AModel extends ANode {
|
|
|
85
127
|
return anchor;
|
|
86
128
|
}
|
|
87
129
|
}
|
|
130
|
+
/**
|
|
131
|
+
* The position of an attached anchor in {@link AModel.anchors}, or `-1` when it is not attached.
|
|
132
|
+
*
|
|
133
|
+
* @param anchorId The ID of the anchor.
|
|
134
|
+
* @param parent The model that declared the anchor. Defaults to self.
|
|
135
|
+
*/
|
|
88
136
|
getAnchorIndex(anchorId, parent) {
|
|
89
137
|
return this.anchors.findIndex((a) => {
|
|
90
138
|
if (a instanceof MatchingAnchor) {
|
|
@@ -96,6 +144,12 @@ export class AModel extends ANode {
|
|
|
96
144
|
}
|
|
97
145
|
});
|
|
98
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* To get all attached anchors, narrowed by anchor class and/or by the value of their properties.
|
|
149
|
+
*
|
|
150
|
+
* @param filters Each filter is a property `key` the anchor must carry with the given `value`.
|
|
151
|
+
* @param types The anchor classes to keep. An empty list keeps every class.
|
|
152
|
+
*/
|
|
99
153
|
getAnchors(filters = [], types = []) {
|
|
100
154
|
return this.anchors
|
|
101
155
|
.filter((a) => !types.length || types.some((t) => a instanceof t))
|
|
@@ -109,6 +163,20 @@ export class AModel extends ANode {
|
|
|
109
163
|
}))
|
|
110
164
|
.map((a) => (a instanceof MatchingAnchor ? a.getActual() : a));
|
|
111
165
|
}
|
|
166
|
+
/**
|
|
167
|
+
* To find anchors by their *schema* rather than by their class.
|
|
168
|
+
*
|
|
169
|
+
* This is how a module consumes what another module produced without importing its classes -
|
|
170
|
+
* you match on the shape you need, and any anchor satisfying that shape is returned.
|
|
171
|
+
* Anchors that do not satisfy the schema are skipped, not reported as errors.
|
|
172
|
+
*
|
|
173
|
+
* @param from The anchor schema to match against.
|
|
174
|
+
* @param propertyFilters Each filter is a property `key` the anchor must carry with the given `value`.
|
|
175
|
+
* @param options `searchBoundaryMembers` searches the whole boundary this model belongs to.
|
|
176
|
+
* Set it to `false` to search only this model.
|
|
177
|
+
*
|
|
178
|
+
* @see Definition of [Anchors](/docs/fundamentals/anchors).
|
|
179
|
+
*/
|
|
112
180
|
async getAnchorsMatchingSchema(from, propertyFilters = [], { searchBoundaryMembers = true } = {}) {
|
|
113
181
|
const matches = [];
|
|
114
182
|
const container = Container.getInstance();
|
|
@@ -136,6 +204,14 @@ export class AModel extends ANode {
|
|
|
136
204
|
}
|
|
137
205
|
return matches.map((m) => new MatchingAnchor(m[0], m[1]));
|
|
138
206
|
}
|
|
207
|
+
/**
|
|
208
|
+
* To find models by their schema. See {@link AModel.getAnchorsMatchingSchema}.
|
|
209
|
+
*
|
|
210
|
+
* @param schema The model schema to match against.
|
|
211
|
+
* @param filters Each filter is a schema `key` the model must carry with the given `value`.
|
|
212
|
+
* @param options `searchBoundaryMembers` searches the whole boundary this model belongs to.
|
|
213
|
+
* Set it to `false` to search only this model.
|
|
214
|
+
*/
|
|
139
215
|
async getModelsMatchingSchema(schema, filters = [], { searchBoundaryMembers = true } = {}) {
|
|
140
216
|
const matches = [];
|
|
141
217
|
const container = Container.getInstance();
|
|
@@ -162,6 +238,14 @@ export class AModel extends ANode {
|
|
|
162
238
|
}
|
|
163
239
|
return matches.map((m) => new MatchingModel(m[0], m[1]));
|
|
164
240
|
}
|
|
241
|
+
/**
|
|
242
|
+
* To find overlays by their schema. See {@link AModel.getAnchorsMatchingSchema}.
|
|
243
|
+
*
|
|
244
|
+
* @param schema The overlay schema to match against.
|
|
245
|
+
* @param propertyFilters Each filter is a property `key` the overlay must carry with the given `value`.
|
|
246
|
+
* @param options `searchBoundaryMembers` searches the whole boundary this model belongs to.
|
|
247
|
+
* Set it to `false` to search only this model.
|
|
248
|
+
*/
|
|
165
249
|
async getOverlaysMatchingSchema(schema, propertyFilters = [], { searchBoundaryMembers = true } = {}) {
|
|
166
250
|
const matches = [];
|
|
167
251
|
const container = Container.getInstance();
|
|
@@ -190,6 +274,18 @@ export class AModel extends ANode {
|
|
|
190
274
|
}
|
|
191
275
|
return matches.map((m) => new MatchingModel(m[0], m[1]));
|
|
192
276
|
}
|
|
277
|
+
/**
|
|
278
|
+
* To find resources by their schema. See {@link AModel.getAnchorsMatchingSchema}.
|
|
279
|
+
*
|
|
280
|
+
* Only resources produced by the modules that own the searched models are considered, so this
|
|
281
|
+
* returns another module's resources rather than every resource in the run.
|
|
282
|
+
*
|
|
283
|
+
* @param schema The resource schema to match against.
|
|
284
|
+
* @param propertyFilters Each filter is a property `key` the resource must carry with the given `value`.
|
|
285
|
+
* @param responseFilters Each filter is a response `key` the resource must carry with the given `value`.
|
|
286
|
+
* @param options `searchBoundaryMembers` searches the whole boundary this model belongs to.
|
|
287
|
+
* Set it to `false` to search only this model.
|
|
288
|
+
*/
|
|
193
289
|
async getResourcesMatchingSchema(schema, propertyFilters = [], responseFilters = [], { searchBoundaryMembers = true } = {}) {
|
|
194
290
|
const matches = [];
|
|
195
291
|
const container = Container.getInstance();
|
|
@@ -207,6 +303,9 @@ export class AModel extends ANode {
|
|
|
207
303
|
const moduleId = model.constructor.NODE_TYPE === NodeType.OVERLAY
|
|
208
304
|
? inputService.getModuleIdFromOverlay(model)
|
|
209
305
|
: inputService.getModuleIdFromModel(model);
|
|
306
|
+
if (moduleId === undefined) {
|
|
307
|
+
continue;
|
|
308
|
+
}
|
|
210
309
|
const moduleResources = inputService.getModuleResources(moduleId);
|
|
211
310
|
for (const r of moduleResources) {
|
|
212
311
|
try {
|
|
@@ -226,12 +325,18 @@ export class AModel extends ANode {
|
|
|
226
325
|
}
|
|
227
326
|
return matches.map((m) => new MatchingResource(m[0], m[1]));
|
|
228
327
|
}
|
|
328
|
+
/**
|
|
329
|
+
* To detach every anchor from this model.
|
|
330
|
+
*/
|
|
229
331
|
removeAllAnchors() {
|
|
230
332
|
const anchors = this.getAnchors();
|
|
231
333
|
while (anchors.length > 0) {
|
|
232
334
|
this.removeAnchor(anchors.shift());
|
|
233
335
|
}
|
|
234
336
|
}
|
|
337
|
+
/**
|
|
338
|
+
* To detach an anchor from this model. Detaching an anchor that is not attached is a no-op.
|
|
339
|
+
*/
|
|
235
340
|
removeAnchor(anchor) {
|
|
236
341
|
const existingAnchorIndex = anchor instanceof MatchingAnchor
|
|
237
342
|
? this.getAnchorIndex(anchor.getActual().anchorId, anchor.getActual().getParent())
|
|
@@ -240,11 +345,5 @@ export class AModel extends ANode {
|
|
|
240
345
|
this.anchors.splice(existingAnchorIndex, 1);
|
|
241
346
|
}
|
|
242
347
|
}
|
|
243
|
-
static async unSynth(...args) {
|
|
244
|
-
if (args.length > 4) {
|
|
245
|
-
throw new Error('Too many args in unSynth()');
|
|
246
|
-
}
|
|
247
|
-
throw new Error('Method not implemented! Use derived class implementation');
|
|
248
|
-
}
|
|
249
348
|
}
|
|
250
349
|
//# sourceMappingURL=model.abstract.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.abstract.js","sourceRoot":"","sources":["../../src/models/model.abstract.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"model.abstract.js","sourceRoot":"","sources":["../../src/models/model.abstract.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,6 +58,9 @@ export interface IModel<S, T extends UnknownModel> extends INode<S, T> {
|
|
|
58
58
|
removeAnchor(anchor: MatchingAnchor<BaseAnchorSchema> | AAnchor<BaseAnchorSchema, UnknownModel>): void;
|
|
59
59
|
}
|
|
60
60
|
/**
|
|
61
|
+
* A pointer to another model, held as its context string rather than as an object reference.
|
|
62
|
+
* Schemas use it wherever one model refers to another, so that a serialized model stays flat.
|
|
63
|
+
*
|
|
61
64
|
* @group Models
|
|
62
65
|
*/
|
|
63
66
|
export interface IModelReference extends INodeReference {
|
|
@@ -2,7 +2,7 @@ import type { UnknownModel } from '../../app.type.js';
|
|
|
2
2
|
import { AModel } from '../model.abstract.js';
|
|
3
3
|
import { PipelineSchema } from './pipeline.schema.js';
|
|
4
4
|
/**
|
|
5
|
-
* A Pipeline model is a CI/CD pipeline
|
|
5
|
+
* A Pipeline model is a CI/CD pipeline that automates tasks,
|
|
6
6
|
* including building and deploying code, running Octo projects, and more.
|
|
7
7
|
*
|
|
8
8
|
* :::danger Danger
|
|
@@ -21,8 +21,20 @@ import { PipelineSchema } from './pipeline.schema.js';
|
|
|
21
21
|
export declare class Pipeline extends AModel<PipelineSchema, Pipeline> {
|
|
22
22
|
readonly instructionSet: string[];
|
|
23
23
|
readonly pipelineName: string;
|
|
24
|
+
/**
|
|
25
|
+
* @param pipelineName The name of the pipeline, unique within the app.
|
|
26
|
+
*/
|
|
24
27
|
constructor(pipelineName: string);
|
|
28
|
+
/**
|
|
29
|
+
* @internal
|
|
30
|
+
*/
|
|
31
|
+
static unSynth(pipeline: PipelineSchema, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<Pipeline>;
|
|
32
|
+
/**
|
|
33
|
+
* @internal
|
|
34
|
+
*/
|
|
25
35
|
setContext(): string | undefined;
|
|
36
|
+
/**
|
|
37
|
+
* @internal
|
|
38
|
+
*/
|
|
26
39
|
synth(): PipelineSchema;
|
|
27
|
-
static unSynth(pipeline: PipelineSchema, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<Pipeline>;
|
|
28
40
|
}
|
|
@@ -13,7 +13,7 @@ import { Model } from '../../decorators/model.decorator.js';
|
|
|
13
13
|
import { AModel } from '../model.abstract.js';
|
|
14
14
|
import { PipelineSchema } from './pipeline.schema.js';
|
|
15
15
|
/**
|
|
16
|
-
* A Pipeline model is a CI/CD pipeline
|
|
16
|
+
* A Pipeline model is a CI/CD pipeline that automates tasks,
|
|
17
17
|
* including building and deploying code, running Octo projects, and more.
|
|
18
18
|
*
|
|
19
19
|
* :::danger Danger
|
|
@@ -30,11 +30,26 @@ import { PipelineSchema } from './pipeline.schema.js';
|
|
|
30
30
|
* @see Definition of [Default Models](/docs/fundamentals/models#default-models).
|
|
31
31
|
*/
|
|
32
32
|
let Pipeline = Pipeline_1 = class Pipeline extends AModel {
|
|
33
|
+
/**
|
|
34
|
+
* @param pipelineName The name of the pipeline, unique within the app.
|
|
35
|
+
*/
|
|
33
36
|
constructor(pipelineName) {
|
|
34
37
|
super();
|
|
35
38
|
this.instructionSet = [];
|
|
36
39
|
this.pipelineName = pipelineName;
|
|
37
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* @internal
|
|
43
|
+
*/
|
|
44
|
+
static async unSynth(pipeline, deReferenceContext) {
|
|
45
|
+
assert(!!deReferenceContext);
|
|
46
|
+
const newPipeline = new Pipeline_1(pipeline.pipelineName);
|
|
47
|
+
newPipeline.instructionSet.push(...pipeline.instructionSet);
|
|
48
|
+
return newPipeline;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* @internal
|
|
52
|
+
*/
|
|
38
53
|
setContext() {
|
|
39
54
|
const parents = this.getParents();
|
|
40
55
|
const app = parents['app']?.[0]?.to;
|
|
@@ -43,18 +58,15 @@ let Pipeline = Pipeline_1 = class Pipeline extends AModel {
|
|
|
43
58
|
}
|
|
44
59
|
return [`${this.constructor.NODE_NAME}=${this.pipelineName}`, app.getContext()].join(',');
|
|
45
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* @internal
|
|
63
|
+
*/
|
|
46
64
|
synth() {
|
|
47
65
|
return {
|
|
48
66
|
instructionSet: JSON.parse(JSON.stringify(this.instructionSet)),
|
|
49
67
|
pipelineName: this.pipelineName,
|
|
50
68
|
};
|
|
51
69
|
}
|
|
52
|
-
static async unSynth(pipeline, deReferenceContext) {
|
|
53
|
-
assert(!!deReferenceContext);
|
|
54
|
-
const newPipeline = new Pipeline_1(pipeline.pipelineName);
|
|
55
|
-
newPipeline.instructionSet.push(...pipeline.instructionSet);
|
|
56
|
-
return newPipeline;
|
|
57
|
-
}
|
|
58
70
|
};
|
|
59
71
|
Pipeline = Pipeline_1 = __decorate([
|
|
60
72
|
Model('@octo', 'pipeline', PipelineSchema),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.model.js","sourceRoot":"","sources":["../../../src/models/pipeline/pipeline.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,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;;;;;;;;;;;;;;GAgBG;AAEI,IAAM,QAAQ,gBAAd,MAAM,QAAS,SAAQ,MAAgC;IAK5D,YAAY,YAAoB;QAC9B,KAAK,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"pipeline.model.js","sourceRoot":"","sources":["../../../src/models/pipeline/pipeline.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,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;;;;;;;;;;;;;;GAgBG;AAEI,IAAM,QAAQ,gBAAd,MAAM,QAAS,SAAQ,MAAgC;IAK5D;;OAEG;IACH,YAAY,YAAoB;QAC9B,KAAK,EAAE,CAAC;QARD,mBAAc,GAAa,EAAE,CAAC;QASrC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,MAAM,CAAU,KAAK,CAAC,OAAO,CAC3B,QAAwB,EACxB,kBAA8D;QAE9D,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAE7B,MAAM,WAAW,GAAG,IAAI,UAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACxD,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC5D,OAAO,WAAW,CAAC;IACrB,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,WAA+B,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjH,CAAC;IAED;;OAEG;IACM,KAAK;QACZ,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC/D,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;IACJ,CAAC;CACF,CAAA;AAhDY,QAAQ;IADpB,KAAK,CAAW,OAAO,EAAE,UAAU,EAAE,cAAc,CAAC;;GACxC,QAAQ,CAgDpB"}
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* Schema of the {@link Pipeline} model.
|
|
3
|
+
*
|
|
2
4
|
* @group Models/Pipeline
|
|
3
5
|
*/
|
|
4
6
|
export declare class PipelineSchema {
|
|
7
|
+
/**
|
|
8
|
+
* The ordered steps the pipeline runs.
|
|
9
|
+
*/
|
|
5
10
|
instructionSet: string[];
|
|
11
|
+
/**
|
|
12
|
+
* The name of the pipeline, unique within the {@link App}.
|
|
13
|
+
*/
|
|
6
14
|
pipelineName: string;
|
|
7
15
|
}
|
|
@@ -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 Pipeline} model.
|
|
14
|
+
*
|
|
13
15
|
* @group Models/Pipeline
|
|
14
16
|
*/
|
|
15
17
|
export class PipelineSchema {
|
|
16
18
|
constructor() {
|
|
19
|
+
/**
|
|
20
|
+
* The ordered steps the pipeline runs.
|
|
21
|
+
*/
|
|
17
22
|
this.instructionSet = Schema();
|
|
23
|
+
/**
|
|
24
|
+
* The name of the pipeline, unique within the {@link App}.
|
|
25
|
+
*/
|
|
18
26
|
this.pipelineName = Schema();
|
|
19
27
|
}
|
|
20
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.schema.js","sourceRoot":"","sources":["../../../src/models/pipeline/pipeline.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":"pipeline.schema.js","sourceRoot":"","sources":["../../../src/models/pipeline/pipeline.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,cAAc;IAA3B;QACE;;WAEG;QACH,mBAAc,GAAG,MAAM,EAAY,CAAC;QAEpC;;WAEG;QAEH,iBAAY,GAAG,MAAM,EAAU,CAAC;IAClC,CAAC;CAAA;AADC;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAE,CAAC;;oDAC7D"}
|
|
@@ -20,17 +20,32 @@ import { RegionSchema } from './region.schema.js';
|
|
|
20
20
|
*/
|
|
21
21
|
export declare class Region extends AModel<RegionSchema, Region> {
|
|
22
22
|
readonly regionId: string;
|
|
23
|
+
/**
|
|
24
|
+
* @param regionId The ID of the region, unique within its account.
|
|
25
|
+
*/
|
|
23
26
|
constructor(regionId: string);
|
|
27
|
+
/**
|
|
28
|
+
* @internal
|
|
29
|
+
*/
|
|
30
|
+
static unSynth(region: RegionSchema, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<Region>;
|
|
24
31
|
/**
|
|
25
32
|
* To add an {@link Environment}.
|
|
26
33
|
*/
|
|
27
34
|
addEnvironment(environment: Environment): void;
|
|
35
|
+
/**
|
|
36
|
+
* To add a {@link Filesystem}.
|
|
37
|
+
*/
|
|
28
38
|
addFilesystem(filesystem: Filesystem): void;
|
|
29
39
|
/**
|
|
30
40
|
* To add a {@link Subnet}.
|
|
31
41
|
*/
|
|
32
42
|
addSubnet(subnet: Subnet): void;
|
|
43
|
+
/**
|
|
44
|
+
* @internal
|
|
45
|
+
*/
|
|
33
46
|
setContext(): string | undefined;
|
|
47
|
+
/**
|
|
48
|
+
* @internal
|
|
49
|
+
*/
|
|
34
50
|
synth(): RegionSchema;
|
|
35
|
-
static unSynth(region: RegionSchema, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<Region>;
|
|
36
51
|
}
|
|
@@ -29,10 +29,20 @@ import { RegionSchema } from './region.schema.js';
|
|
|
29
29
|
* @see Definition of [Default Models](/docs/fundamentals/models#default-models).
|
|
30
30
|
*/
|
|
31
31
|
let Region = Region_1 = class Region extends AModel {
|
|
32
|
+
/**
|
|
33
|
+
* @param regionId The ID of the region, unique within its account.
|
|
34
|
+
*/
|
|
32
35
|
constructor(regionId) {
|
|
33
36
|
super();
|
|
34
37
|
this.regionId = regionId;
|
|
35
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* @internal
|
|
41
|
+
*/
|
|
42
|
+
static async unSynth(region, deReferenceContext) {
|
|
43
|
+
assert(!!deReferenceContext);
|
|
44
|
+
return new Region_1(region.regionId);
|
|
45
|
+
}
|
|
36
46
|
/**
|
|
37
47
|
* To add an {@link Environment}.
|
|
38
48
|
*/
|
|
@@ -47,6 +57,9 @@ let Region = Region_1 = class Region extends AModel {
|
|
|
47
57
|
}
|
|
48
58
|
this.addChild('regionId', environment, 'environmentName');
|
|
49
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* To add a {@link Filesystem}.
|
|
62
|
+
*/
|
|
50
63
|
addFilesystem(filesystem) {
|
|
51
64
|
const childrenDependencies = this.getChildren('filesystem');
|
|
52
65
|
if (!childrenDependencies['filesystem'])
|
|
@@ -72,6 +85,9 @@ let Region = Region_1 = class Region extends AModel {
|
|
|
72
85
|
}
|
|
73
86
|
this.addChild('regionId', subnet, 'subnetId');
|
|
74
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* @internal
|
|
90
|
+
*/
|
|
75
91
|
setContext() {
|
|
76
92
|
const parents = this.getParents();
|
|
77
93
|
const account = parents['account']?.[0]?.to;
|
|
@@ -80,15 +96,14 @@ let Region = Region_1 = class Region extends AModel {
|
|
|
80
96
|
}
|
|
81
97
|
return [`${this.constructor.NODE_NAME}=${this.regionId}`, account.getContext()].join(',');
|
|
82
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* @internal
|
|
101
|
+
*/
|
|
83
102
|
synth() {
|
|
84
103
|
return {
|
|
85
104
|
regionId: this.regionId,
|
|
86
105
|
};
|
|
87
106
|
}
|
|
88
|
-
static async unSynth(region, deReferenceContext) {
|
|
89
|
-
assert(!!deReferenceContext);
|
|
90
|
-
return new Region_1(region.regionId);
|
|
91
|
-
}
|
|
92
107
|
};
|
|
93
108
|
Region = Region_1 = __decorate([
|
|
94
109
|
Model('@octo', 'region', RegionSchema),
|