@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
|
@@ -1,10 +1,30 @@
|
|
|
1
1
|
import type { BaseAnchorSchema } from './anchor.schema.js';
|
|
2
2
|
/**
|
|
3
|
+
* The schema every overlay schema extends.
|
|
4
|
+
*
|
|
5
|
+
* An overlay schema narrows `properties` to the fields the overlay carries.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* export class MyOverlaySchema extends BaseOverlaySchema {
|
|
10
|
+
* override properties = Schema<{ subnetName: string }>();
|
|
11
|
+
* }
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
3
14
|
* @group Overlays
|
|
4
15
|
*/
|
|
5
16
|
export declare class BaseOverlaySchema {
|
|
17
|
+
/**
|
|
18
|
+
* The anchors this overlay was built from, i.e. the models it joins.
|
|
19
|
+
*/
|
|
6
20
|
anchors: BaseAnchorSchema[];
|
|
21
|
+
/**
|
|
22
|
+
* The ID of the overlay, unique across the infrastructure.
|
|
23
|
+
*/
|
|
7
24
|
overlayId: string;
|
|
25
|
+
/**
|
|
26
|
+
* The properties of the overlay.
|
|
27
|
+
*/
|
|
8
28
|
properties: {
|
|
9
29
|
[key: string]: unknown;
|
|
10
30
|
};
|
|
@@ -1,11 +1,31 @@
|
|
|
1
1
|
import { Schema } from '../functions/schema/schema.js';
|
|
2
2
|
/**
|
|
3
|
+
* The schema every overlay schema extends.
|
|
4
|
+
*
|
|
5
|
+
* An overlay schema narrows `properties` to the fields the overlay carries.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* export class MyOverlaySchema extends BaseOverlaySchema {
|
|
10
|
+
* override properties = Schema<{ subnetName: string }>();
|
|
11
|
+
* }
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
3
14
|
* @group Overlays
|
|
4
15
|
*/
|
|
5
16
|
export class BaseOverlaySchema {
|
|
6
17
|
constructor() {
|
|
18
|
+
/**
|
|
19
|
+
* The anchors this overlay was built from, i.e. the models it joins.
|
|
20
|
+
*/
|
|
7
21
|
this.anchors = Schema();
|
|
22
|
+
/**
|
|
23
|
+
* The ID of the overlay, unique across the infrastructure.
|
|
24
|
+
*/
|
|
8
25
|
this.overlayId = Schema();
|
|
26
|
+
/**
|
|
27
|
+
* The properties of the overlay.
|
|
28
|
+
*/
|
|
9
29
|
this.properties = Schema();
|
|
10
30
|
}
|
|
11
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlay.schema.js","sourceRoot":"","sources":["../../src/overlays/overlay.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAGvD
|
|
1
|
+
{"version":3,"file":"overlay.schema.js","sourceRoot":"","sources":["../../src/overlays/overlay.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAGvD;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,iBAAiB;IAA9B;QACE;;WAEG;QACH,YAAO,GAAG,MAAM,EAAsB,CAAC;QAEvC;;WAEG;QACH,cAAS,GAAG,MAAM,EAAU,CAAC;QAE7B;;WAEG;QACH,eAAU,GAAG,MAAM,EAA8B,CAAC;IACpD,CAAC;CAAA"}
|
|
@@ -1,11 +1,37 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { UnknownResource } from '../app.type.js';
|
|
2
2
|
import type { Diff } from '../functions/diff/diff.js';
|
|
3
|
+
import type { ANodeAction } from '../functions/node/node-action.abstract.js';
|
|
3
4
|
/**
|
|
5
|
+
* A resource action creates, updates, or destroys one piece of real infrastructure.
|
|
6
|
+
*
|
|
7
|
+
* Actions belong to *external* resources - the ones Octo drives itself through a cloud provider's
|
|
8
|
+
* SDK. A resource whose lifecycle terraform manages ({@link ATerraformResource}) must not have one;
|
|
9
|
+
* registering an action for it throws.
|
|
10
|
+
*
|
|
11
|
+
* The class extends {@link ANodeAction}, which gives it the container and `log()`. Register it with
|
|
12
|
+
* {@link Action}, and a {@link Factory} to construct it.
|
|
13
|
+
*
|
|
4
14
|
* @group Resources
|
|
15
|
+
*
|
|
16
|
+
* @see Definition of [Actions](/docs/fundamentals/actions).
|
|
5
17
|
*/
|
|
6
|
-
export interface IResourceAction<T extends UnknownResource> {
|
|
18
|
+
export interface IResourceAction<T extends UnknownResource> extends ANodeAction {
|
|
19
|
+
/**
|
|
20
|
+
* How long the action may run before Octo aborts it.
|
|
21
|
+
*
|
|
22
|
+
* @defaultValue `90000`
|
|
23
|
+
*/
|
|
7
24
|
actionTimeoutInMs?: number;
|
|
25
|
+
/**
|
|
26
|
+
* Whether this action handles the given diff.
|
|
27
|
+
* Typically a check on the diff's resource, field, and action.
|
|
28
|
+
*/
|
|
8
29
|
filter(diff: Diff): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Performs the change against the cloud provider.
|
|
32
|
+
*
|
|
33
|
+
* @returns What the provider reported back, which Octo records as the resource's `response`.
|
|
34
|
+
* Return nothing when the action has no output, e.g. a delete.
|
|
35
|
+
*/
|
|
9
36
|
handle(diff: Diff): Promise<T['response']> | Promise<void>;
|
|
10
|
-
mock?(diff: Diff, capture: Partial<ResourceSchema<T>['response']>): Promise<T['response']> | Promise<void>;
|
|
11
37
|
}
|
|
@@ -8,29 +8,91 @@ export declare class ResourceDataRepository {
|
|
|
8
8
|
private oldResources;
|
|
9
9
|
private newResources;
|
|
10
10
|
private dirtyResources;
|
|
11
|
+
/**
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
11
14
|
constructor(actualResources: UnknownResource[], oldResources: UnknownResource[], newResources: UnknownResource[]);
|
|
15
|
+
/**
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
12
18
|
addActualResource(resource: UnknownResource): void;
|
|
19
|
+
/**
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
13
22
|
addNewResource(resource: UnknownResource): void;
|
|
23
|
+
/**
|
|
24
|
+
* @internal
|
|
25
|
+
*/
|
|
14
26
|
diff(): Promise<Diff[]>;
|
|
27
|
+
/**
|
|
28
|
+
* @internal
|
|
29
|
+
*/
|
|
15
30
|
diffDirty(): Promise<Diff[]>;
|
|
31
|
+
/**
|
|
32
|
+
* @internal
|
|
33
|
+
*/
|
|
16
34
|
diffValidate(): Diff[];
|
|
35
|
+
/**
|
|
36
|
+
* @internal
|
|
37
|
+
*/
|
|
17
38
|
ensureDiffsNotOperatingOnDirtyResources(diffs: Diff[]): void;
|
|
39
|
+
/**
|
|
40
|
+
* @internal
|
|
41
|
+
*/
|
|
18
42
|
getActualResourceByContext(context: string): UnknownResource | undefined;
|
|
19
|
-
|
|
43
|
+
/**
|
|
44
|
+
* @internal
|
|
45
|
+
*/
|
|
20
46
|
getActualResourcesByProperties(filters?: {
|
|
21
47
|
key: string;
|
|
22
48
|
value: any;
|
|
23
49
|
}[]): UnknownResource[];
|
|
50
|
+
/**
|
|
51
|
+
* @internal
|
|
52
|
+
*/
|
|
53
|
+
getNewResourceByContext(context: string): UnknownResource | undefined;
|
|
54
|
+
/**
|
|
55
|
+
* @internal
|
|
56
|
+
*/
|
|
24
57
|
getNewResourcesByProperties(filters?: {
|
|
25
58
|
key: string;
|
|
26
59
|
value: any;
|
|
27
60
|
}[]): UnknownResource[];
|
|
61
|
+
/**
|
|
62
|
+
* @internal
|
|
63
|
+
*/
|
|
28
64
|
removeNewResource(resource: UnknownResource): void;
|
|
65
|
+
/**
|
|
66
|
+
* Marks the new (desired) resource graph as applied: the actual graph becomes the new graph and
|
|
67
|
+
* nothing is dirty. Used by terraform commit, where terraform has already applied the desired
|
|
68
|
+
* state.
|
|
69
|
+
*
|
|
70
|
+
* `excludeResourceContexts` names resources a partial commit could not confirm. They are left out
|
|
71
|
+
* of the actual graph, so the next run plans to create them again - which terraform reconciles
|
|
72
|
+
* against its own state as a no-op if they do exist. Recording less than reality is recoverable;
|
|
73
|
+
* recording more is not.
|
|
74
|
+
*
|
|
75
|
+
* `retainResourceContexts` names resources whose deletion did not run. Each is carried over from
|
|
76
|
+
* the graph being replaced, along with the parents it needs to deserialize with, and joins both
|
|
77
|
+
* graphs: the actual graph records it as still present, and the new graph is what the next run
|
|
78
|
+
* diffs against, which is what plans its deletion again.
|
|
79
|
+
*/
|
|
80
|
+
syncActualToNew(excludeResourceContexts?: Set<string>, retainResourceContexts?: Set<string>): void;
|
|
81
|
+
/**
|
|
82
|
+
* Collects the named resources out of the actual graph, closed over their parents.
|
|
83
|
+
*
|
|
84
|
+
* A resource deserializes by de-referencing every parent it names, so a resource is only worth
|
|
85
|
+
* keeping when the graph keeps the parents above it too.
|
|
86
|
+
*/
|
|
87
|
+
private collectWithParents;
|
|
29
88
|
}
|
|
30
89
|
/**
|
|
31
90
|
* @internal
|
|
32
91
|
*/
|
|
33
92
|
export declare class ResourceDataRepositoryFactory {
|
|
34
93
|
private static instance;
|
|
94
|
+
/**
|
|
95
|
+
* @internal
|
|
96
|
+
*/
|
|
35
97
|
static create(forceNew?: boolean, actualResources?: UnknownResource[], oldResources?: UnknownResource[], newResources?: UnknownResource[]): Promise<ResourceDataRepository>;
|
|
36
98
|
}
|
|
@@ -4,7 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
import { NodeType } from '../app.type.js';
|
|
7
|
+
import { MatchingResource, NodeType } from '../app.type.js';
|
|
8
8
|
import { Factory } from '../decorators/factory.decorator.js';
|
|
9
9
|
import { DiffsOnDirtyResourcesTransactionError, ResourceError } from '../errors/index.js';
|
|
10
10
|
import { Diff, DiffAction } from '../functions/diff/diff.js';
|
|
@@ -12,6 +12,9 @@ import { Diff, DiffAction } from '../functions/diff/diff.js';
|
|
|
12
12
|
* @internal
|
|
13
13
|
*/
|
|
14
14
|
export class ResourceDataRepository {
|
|
15
|
+
/**
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
15
18
|
constructor(actualResources, oldResources, newResources) {
|
|
16
19
|
this.actualResources = actualResources;
|
|
17
20
|
this.oldResources = oldResources;
|
|
@@ -29,6 +32,9 @@ export class ResourceDataRepository {
|
|
|
29
32
|
}
|
|
30
33
|
}
|
|
31
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* @internal
|
|
37
|
+
*/
|
|
32
38
|
addActualResource(resource) {
|
|
33
39
|
if (resource.constructor.NODE_TYPE !== NodeType.RESOURCE) {
|
|
34
40
|
throw new ResourceError('Adding non-resource node!', resource);
|
|
@@ -42,6 +48,9 @@ export class ResourceDataRepository {
|
|
|
42
48
|
throw new ResourceError('Resource in actual already exists!', resource);
|
|
43
49
|
}
|
|
44
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* @internal
|
|
53
|
+
*/
|
|
45
54
|
addNewResource(resource) {
|
|
46
55
|
if (resource.constructor.NODE_TYPE !== NodeType.RESOURCE) {
|
|
47
56
|
throw new ResourceError('Adding non-resource node!', resource);
|
|
@@ -60,6 +69,9 @@ export class ResourceDataRepository {
|
|
|
60
69
|
resource.cloneResponseInPlace(this.oldResources[oIndex]);
|
|
61
70
|
}
|
|
62
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* @internal
|
|
74
|
+
*/
|
|
63
75
|
async diff() {
|
|
64
76
|
const oldResources = this.oldResources.reduce((accumulator, current) => ({ ...accumulator, [current.getContext()]: current }), {});
|
|
65
77
|
const newResources = this.newResources.reduce((accumulator, current) => ({ ...accumulator, [current.getContext()]: current }), {});
|
|
@@ -94,6 +106,9 @@ export class ResourceDataRepository {
|
|
|
94
106
|
}
|
|
95
107
|
return diffs;
|
|
96
108
|
}
|
|
109
|
+
/**
|
|
110
|
+
* @internal
|
|
111
|
+
*/
|
|
97
112
|
async diffDirty() {
|
|
98
113
|
const actualResources = this.actualResources.reduce((accumulator, current) => ({ ...accumulator, [current.getContext()]: current }), {});
|
|
99
114
|
const newResources = this.newResources.reduce((accumulator, current) => ({ ...accumulator, [current.getContext()]: current }), {});
|
|
@@ -128,6 +143,9 @@ export class ResourceDataRepository {
|
|
|
128
143
|
}
|
|
129
144
|
return diffs;
|
|
130
145
|
}
|
|
146
|
+
/**
|
|
147
|
+
* @internal
|
|
148
|
+
*/
|
|
131
149
|
diffValidate() {
|
|
132
150
|
const diffs = [];
|
|
133
151
|
for (const resource of this.actualResources) {
|
|
@@ -135,23 +153,41 @@ export class ResourceDataRepository {
|
|
|
135
153
|
}
|
|
136
154
|
return diffs;
|
|
137
155
|
}
|
|
156
|
+
/**
|
|
157
|
+
* @internal
|
|
158
|
+
*/
|
|
138
159
|
ensureDiffsNotOperatingOnDirtyResources(diffs) {
|
|
139
160
|
if (diffs.some((d) => this.dirtyResources.some((dr) => d.node.hasAncestor(dr)))) {
|
|
140
161
|
throw new DiffsOnDirtyResourcesTransactionError('Cannot operate diff on dirty resources!', diffs, this.dirtyResources);
|
|
141
162
|
}
|
|
142
163
|
}
|
|
164
|
+
/**
|
|
165
|
+
* @internal
|
|
166
|
+
*/
|
|
143
167
|
getActualResourceByContext(context) {
|
|
144
168
|
return this.actualResources.find((r) => r.getContext() === context);
|
|
145
169
|
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
170
|
+
/**
|
|
171
|
+
* @internal
|
|
172
|
+
*/
|
|
149
173
|
getActualResourcesByProperties(filters = []) {
|
|
150
174
|
return this.actualResources.filter((r) => filters.every((c) => r.properties[c.key] === c.value));
|
|
151
175
|
}
|
|
176
|
+
/**
|
|
177
|
+
* @internal
|
|
178
|
+
*/
|
|
179
|
+
getNewResourceByContext(context) {
|
|
180
|
+
return this.newResources.find((r) => r.getContext() === context);
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* @internal
|
|
184
|
+
*/
|
|
152
185
|
getNewResourcesByProperties(filters = []) {
|
|
153
186
|
return this.newResources.filter((r) => filters.every((c) => r.properties[c.key] === c.value));
|
|
154
187
|
}
|
|
188
|
+
/**
|
|
189
|
+
* @internal
|
|
190
|
+
*/
|
|
155
191
|
removeNewResource(resource) {
|
|
156
192
|
if (resource.constructor.NODE_TYPE !== NodeType.RESOURCE) {
|
|
157
193
|
throw new ResourceError('Removing non-resource node!', resource);
|
|
@@ -164,11 +200,65 @@ export class ResourceDataRepository {
|
|
|
164
200
|
this.newResources.splice(rIndex, 1);
|
|
165
201
|
}
|
|
166
202
|
}
|
|
203
|
+
/**
|
|
204
|
+
* Marks the new (desired) resource graph as applied: the actual graph becomes the new graph and
|
|
205
|
+
* nothing is dirty. Used by terraform commit, where terraform has already applied the desired
|
|
206
|
+
* state.
|
|
207
|
+
*
|
|
208
|
+
* `excludeResourceContexts` names resources a partial commit could not confirm. They are left out
|
|
209
|
+
* of the actual graph, so the next run plans to create them again - which terraform reconciles
|
|
210
|
+
* against its own state as a no-op if they do exist. Recording less than reality is recoverable;
|
|
211
|
+
* recording more is not.
|
|
212
|
+
*
|
|
213
|
+
* `retainResourceContexts` names resources whose deletion did not run. Each is carried over from
|
|
214
|
+
* the graph being replaced, along with the parents it needs to deserialize with, and joins both
|
|
215
|
+
* graphs: the actual graph records it as still present, and the new graph is what the next run
|
|
216
|
+
* diffs against, which is what plans its deletion again.
|
|
217
|
+
*/
|
|
218
|
+
syncActualToNew(excludeResourceContexts = new Set(), retainResourceContexts = new Set()) {
|
|
219
|
+
for (const resource of this.collectWithParents(retainResourceContexts)) {
|
|
220
|
+
const rIndex = this.newResources.findIndex((r) => r.getContext() === resource.getContext());
|
|
221
|
+
if (rIndex === -1) {
|
|
222
|
+
this.newResources.push(resource);
|
|
223
|
+
}
|
|
224
|
+
else if (this.newResources[rIndex].isMarkedDeleted()) {
|
|
225
|
+
this.newResources[rIndex] = resource;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
this.actualResources = this.newResources.filter((r) => !excludeResourceContexts.has(r.getContext()));
|
|
229
|
+
this.dirtyResources = [];
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Collects the named resources out of the actual graph, closed over their parents.
|
|
233
|
+
*
|
|
234
|
+
* A resource deserializes by de-referencing every parent it names, so a resource is only worth
|
|
235
|
+
* keeping when the graph keeps the parents above it too.
|
|
236
|
+
*/
|
|
237
|
+
collectWithParents(resourceContexts) {
|
|
238
|
+
const collected = new Map();
|
|
239
|
+
const contextsToProcess = [...resourceContexts];
|
|
240
|
+
while (contextsToProcess.length > 0) {
|
|
241
|
+
const context = contextsToProcess.shift();
|
|
242
|
+
if (collected.has(context)) {
|
|
243
|
+
continue;
|
|
244
|
+
}
|
|
245
|
+
const resource = this.actualResources.find((r) => r.getContext() === context);
|
|
246
|
+
if (!resource) {
|
|
247
|
+
continue;
|
|
248
|
+
}
|
|
249
|
+
collected.set(context, resource);
|
|
250
|
+
contextsToProcess.push(...resource.parents.map((p) => (p instanceof MatchingResource ? p.getActual() : p).getContext()));
|
|
251
|
+
}
|
|
252
|
+
return [...collected.values()];
|
|
253
|
+
}
|
|
167
254
|
}
|
|
168
255
|
/**
|
|
169
256
|
* @internal
|
|
170
257
|
*/
|
|
171
258
|
let ResourceDataRepositoryFactory = class ResourceDataRepositoryFactory {
|
|
259
|
+
/**
|
|
260
|
+
* @internal
|
|
261
|
+
*/
|
|
172
262
|
static async create(forceNew = false, actualResources = [], oldResources = [], newResources = []) {
|
|
173
263
|
if (!this.instance) {
|
|
174
264
|
this.instance = new ResourceDataRepository(actualResources, oldResources, newResources);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-data.repository.js","sourceRoot":"","sources":["../../src/resources/resource-data.repository.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resource-data.repository.js","sourceRoot":"","sources":["../../src/resources/resource-data.repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,16 +5,104 @@ import { ANode } from '../functions/node/node.abstract.js';
|
|
|
5
5
|
import type { IResource } from './resource.interface.js';
|
|
6
6
|
import type { BaseResourceSchema } from './resource.schema.js';
|
|
7
7
|
/**
|
|
8
|
+
* The base class of every resource - the nodes that describe actual cloud infrastructure.
|
|
9
|
+
*
|
|
10
|
+
* Where a model says *what you want*, a resource says *what exists*. Resources are never constructed
|
|
11
|
+
* by you directly; a model action declares them, and Octo diffs the declared graph against the last
|
|
12
|
+
* committed one to decide what to create, update, or destroy.
|
|
13
|
+
*
|
|
14
|
+
* A resource is identified by its `resourceId`, configured by its `properties`, and reports back
|
|
15
|
+
* through its `response` once the infrastructure exists. The ID it is created with is its
|
|
16
|
+
* `localResourceId`, which only has to be unique within its `scope`: where the node creating the
|
|
17
|
+
* resource sits in the model graph. Octo makes the `resourceId` from the two.
|
|
18
|
+
*
|
|
19
|
+
* Most resources extend {@link ATerraformResource} rather than this class.
|
|
20
|
+
*
|
|
8
21
|
* @group Resources
|
|
22
|
+
*
|
|
23
|
+
* @see Definition of [Resources](/docs/fundamentals/resources).
|
|
9
24
|
*/
|
|
10
25
|
export declare abstract class AResource<S extends BaseResourceSchema, T extends UnknownResource> extends ANode<S, T> implements IResource<S, T> {
|
|
11
|
-
readonly
|
|
26
|
+
readonly localResourceId: S['localResourceId'];
|
|
12
27
|
readonly properties: S['properties'];
|
|
13
|
-
|
|
28
|
+
/**
|
|
29
|
+
* Whether destroying a resource of this class loses data octo cannot put back. Set by {@link Resource}.
|
|
30
|
+
*
|
|
31
|
+
* @internal
|
|
32
|
+
*/
|
|
33
|
+
static readonly DESTROY_LOSES_DATA: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* The names this class declares unique, each by the properties whose values form its domain. Set by
|
|
36
|
+
* {@link Resource}.
|
|
37
|
+
*
|
|
38
|
+
* @internal
|
|
39
|
+
*/
|
|
40
|
+
static readonly UNIQUE_PROPERTIES: {
|
|
41
|
+
path: string;
|
|
42
|
+
within: string[];
|
|
43
|
+
}[];
|
|
44
|
+
/**
|
|
45
|
+
* The scope every resource constructed now is created in. The transaction sets it around each model
|
|
46
|
+
* action.
|
|
47
|
+
*/
|
|
48
|
+
private static constructionScope;
|
|
49
|
+
/**
|
|
50
|
+
* The resources this one is built on top of. A parent is always created before its children,
|
|
51
|
+
* and destroyed after them.
|
|
52
|
+
*/
|
|
14
53
|
readonly parents: (MatchingResource<BaseResourceSchema> | UnknownResource)[];
|
|
54
|
+
/**
|
|
55
|
+
* What the cloud provider reported back about this resource, e.g. an ARN or a generated ID.
|
|
56
|
+
* It is empty until the resource has actually been created, and is what other resources read
|
|
57
|
+
* when they need to reference this one.
|
|
58
|
+
*/
|
|
15
59
|
readonly response: S['response'];
|
|
60
|
+
/**
|
|
61
|
+
* The contexts of the models this resource is placed under, sorted. Octo derives it from the node
|
|
62
|
+
* whose action created the resource; a resource created outside a model action has an empty scope.
|
|
63
|
+
*/
|
|
64
|
+
readonly scope: string[];
|
|
65
|
+
/**
|
|
66
|
+
* The tags applied to this resource. See {@link Octo.registerTags} to set them in bulk.
|
|
67
|
+
*/
|
|
16
68
|
readonly tags: S['tags'];
|
|
17
|
-
|
|
69
|
+
/**
|
|
70
|
+
* The ID of the resource, unique across the infrastructure: its `localResourceId`, followed by a
|
|
71
|
+
* hash of its scope when it has one.
|
|
72
|
+
*/
|
|
73
|
+
get resourceId(): S['resourceId'];
|
|
74
|
+
private _deleteMarker;
|
|
75
|
+
/**
|
|
76
|
+
* @param localResourceId The ID of the resource, unique within its scope.
|
|
77
|
+
* @param properties The desired configuration of the resource.
|
|
78
|
+
* @param parents The resources this one is built on top of.
|
|
79
|
+
* @throws {@link ResourceError} If the resource ID is not alphanumeric with `-`, `_`, or `/`.
|
|
80
|
+
*/
|
|
81
|
+
protected constructor(localResourceId: S['localResourceId'], properties: S['properties'], parents?: (MatchingResource<BaseResourceSchema> | UnknownResource)[]);
|
|
82
|
+
/**
|
|
83
|
+
* @internal
|
|
84
|
+
*/
|
|
85
|
+
static cloneResource<T extends UnknownResource>(sourceResource: T, deReferenceResource: (context: string) => Promise<UnknownResource>): Promise<T>;
|
|
86
|
+
/**
|
|
87
|
+
* Constructs resources in the given scope.
|
|
88
|
+
*
|
|
89
|
+
* @internal
|
|
90
|
+
*/
|
|
91
|
+
static constructInScope<R>(scope: string[], construct: () => R): R;
|
|
92
|
+
/**
|
|
93
|
+
* Runs a model action, so every resource it constructs is created in the given scope.
|
|
94
|
+
* Model actions run one at a time, which is what makes the scope safe to hold statically.
|
|
95
|
+
*
|
|
96
|
+
* @internal
|
|
97
|
+
*/
|
|
98
|
+
static runInScope<R>(scope: string[], run: () => Promise<R>): Promise<R>;
|
|
99
|
+
/**
|
|
100
|
+
* @internal
|
|
101
|
+
*/
|
|
102
|
+
static unSynth<S extends BaseResourceSchema, T>(deserializationClass: any, resource: S, deReferenceResource: (context: string) => Promise<UnknownResource>): Promise<T>;
|
|
103
|
+
/**
|
|
104
|
+
* @internal
|
|
105
|
+
*/
|
|
18
106
|
addChild(onField: keyof T | string, child: UnknownResource, toField: string): {
|
|
19
107
|
childToParentDependency: Dependency;
|
|
20
108
|
parentToChildDependency: Dependency;
|
|
@@ -30,20 +118,59 @@ export declare abstract class AResource<S extends BaseResourceSchema, T extends
|
|
|
30
118
|
thatToThisDependency: Dependency;
|
|
31
119
|
thisToThatDependency: Dependency;
|
|
32
120
|
};
|
|
121
|
+
/**
|
|
122
|
+
* @internal
|
|
123
|
+
*/
|
|
33
124
|
clonePropertiesInPlace(sourceResource: T): void;
|
|
34
|
-
|
|
125
|
+
/**
|
|
126
|
+
* @internal
|
|
127
|
+
*/
|
|
35
128
|
cloneResourceInPlace(sourceResource: T, deReferenceResource: (context: string) => Promise<UnknownResource>): Promise<void>;
|
|
129
|
+
/**
|
|
130
|
+
* @internal
|
|
131
|
+
*/
|
|
36
132
|
cloneResponseInPlace(sourceResource: UnknownResource): void;
|
|
133
|
+
/**
|
|
134
|
+
* @internal
|
|
135
|
+
*/
|
|
37
136
|
cloneTagsInPlace(sourceResource: UnknownResource): void;
|
|
137
|
+
/**
|
|
138
|
+
* @internal
|
|
139
|
+
*/
|
|
38
140
|
diff(previous: T): Promise<Diff[]>;
|
|
141
|
+
/**
|
|
142
|
+
* @internal
|
|
143
|
+
*/
|
|
39
144
|
diffInverse(diff: Diff, deReferenceResource: (context: string) => Promise<UnknownResource>): Promise<void>;
|
|
145
|
+
/**
|
|
146
|
+
* @internal
|
|
147
|
+
*/
|
|
40
148
|
diffProperties(previous: T): Promise<Diff[]>;
|
|
149
|
+
/**
|
|
150
|
+
* @internal
|
|
151
|
+
*/
|
|
41
152
|
diffTags(previous: T): Promise<Diff<UnknownResource, DiffValueTypeTagUpdate>[]>;
|
|
153
|
+
/**
|
|
154
|
+
* Splits one diff into the diffs a resource action will actually receive.
|
|
155
|
+
*
|
|
156
|
+
* Override it when a single change on this resource has to be applied as several ordered steps.
|
|
157
|
+
* The default returns the diff unchanged.
|
|
158
|
+
*/
|
|
42
159
|
diffUnpack(diff: Diff): Diff[];
|
|
160
|
+
/**
|
|
161
|
+
* To find this resource's parents whose properties match every given filter.
|
|
162
|
+
*
|
|
163
|
+
* @param filters Each filter is a property `key` the parent must carry with the given `value`.
|
|
164
|
+
*/
|
|
43
165
|
findParentsByProperty(filters: {
|
|
44
166
|
key: string;
|
|
45
167
|
value: unknown;
|
|
46
168
|
}[]): UnknownResource[];
|
|
169
|
+
/**
|
|
170
|
+
* To find this resource's parents whose tags match every given filter.
|
|
171
|
+
*
|
|
172
|
+
* @param filters Each filter is a tag `key` the parent must carry with the given `value`.
|
|
173
|
+
*/
|
|
47
174
|
findParentsByTag(filters: {
|
|
48
175
|
key: string;
|
|
49
176
|
value: string;
|
|
@@ -52,18 +179,48 @@ export declare abstract class AResource<S extends BaseResourceSchema, T extends
|
|
|
52
179
|
* @deprecated Boundary is not supported in resources!
|
|
53
180
|
*/
|
|
54
181
|
getBoundaryMembers(): UnknownResource[];
|
|
182
|
+
/**
|
|
183
|
+
* The properties whose change means an external resource has to be run again. Terraform hashes
|
|
184
|
+
* them into the trigger of the `null_resource` that stands in for the resource, which is how it
|
|
185
|
+
* decides to call back.
|
|
186
|
+
*
|
|
187
|
+
* A resource that overrides {@link diffProperties} to ignore a property must exclude that property
|
|
188
|
+
* here too. The two answer the same question, and terraform plans a replacement for any property
|
|
189
|
+
* only this one covers, which octo then reports no change for.
|
|
190
|
+
*/
|
|
191
|
+
getExternalTriggerProperties(): Partial<S['properties']>;
|
|
55
192
|
/**
|
|
56
193
|
* @deprecated Siblings are not supported in resources!
|
|
57
194
|
*/
|
|
58
195
|
getSiblings(): {
|
|
59
196
|
[p: string]: Dependency[];
|
|
60
197
|
};
|
|
198
|
+
/**
|
|
199
|
+
* @internal
|
|
200
|
+
*/
|
|
61
201
|
isDeepEquals(other?: UnknownResource): boolean;
|
|
202
|
+
/**
|
|
203
|
+
* Whether this resource is marked for deletion, and will leave the graph at the end of the transaction.
|
|
204
|
+
*/
|
|
62
205
|
isMarkedDeleted(): boolean;
|
|
63
|
-
|
|
206
|
+
/**
|
|
207
|
+
* To mark this resource for deletion. It leaves the graph at the end of the transaction.
|
|
208
|
+
*
|
|
209
|
+
* @param force Removes the resource even if other resources still depend on it.
|
|
210
|
+
* @throws {@link RemoveResourceError} If the resource still has children, and `force` is not set.
|
|
211
|
+
*/
|
|
64
212
|
remove(force?: boolean): void;
|
|
213
|
+
/**
|
|
214
|
+
* @internal
|
|
215
|
+
*/
|
|
65
216
|
setContext(): string;
|
|
217
|
+
/**
|
|
218
|
+
* To record what the cloud provider reported back about this resource.
|
|
219
|
+
* Keys absent from `response` are left as they were.
|
|
220
|
+
*/
|
|
66
221
|
setResponse(response: S['response']): void;
|
|
222
|
+
/**
|
|
223
|
+
* @internal
|
|
224
|
+
*/
|
|
67
225
|
synth(): S;
|
|
68
|
-
static unSynth<S extends BaseResourceSchema, T>(deserializationClass: any, resource: S, deReferenceResource: (context: string) => Promise<UnknownResource>): Promise<T>;
|
|
69
226
|
}
|