@kensio/yulin 1.20.7 → 1.20.8
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/README.md +1 -0
- package/dist/sdk/router/resolve-sim-sdk-command-router.d.ts.map +1 -1
- package/dist/sdk/router/resolve-sim-sdk-command-router.js +5 -0
- package/dist/sdk/router/resolve-sim-sdk-command-router.js.map +1 -1
- package/dist/service/athena/cfn/named-query/sim-cfn-athena-named-query-creator.d.ts +30 -0
- package/dist/service/athena/cfn/named-query/sim-cfn-athena-named-query-creator.d.ts.map +1 -0
- package/dist/service/athena/cfn/named-query/sim-cfn-athena-named-query-creator.js +48 -0
- package/dist/service/athena/cfn/named-query/sim-cfn-athena-named-query-creator.js.map +1 -0
- package/dist/service/athena/cfn/named-query/sim-cfn-athena-named-query-properties.d.ts +33 -0
- package/dist/service/athena/cfn/named-query/sim-cfn-athena-named-query-properties.d.ts.map +1 -0
- package/dist/service/athena/cfn/named-query/sim-cfn-athena-named-query-properties.js +67 -0
- package/dist/service/athena/cfn/named-query/sim-cfn-athena-named-query-properties.js.map +1 -0
- package/dist/service/athena/cfn/sim-athena-cfn-resource-factory.d.ts +29 -0
- package/dist/service/athena/cfn/sim-athena-cfn-resource-factory.d.ts.map +1 -0
- package/dist/service/athena/cfn/sim-athena-cfn-resource-factory.js +67 -0
- package/dist/service/athena/cfn/sim-athena-cfn-resource-factory.js.map +1 -0
- package/dist/service/athena/cfn/sim-cfn-athena-property-values.d.ts +29 -0
- package/dist/service/athena/cfn/sim-cfn-athena-property-values.d.ts.map +1 -0
- package/dist/service/athena/cfn/sim-cfn-athena-property-values.js +74 -0
- package/dist/service/athena/cfn/sim-cfn-athena-property-values.js.map +1 -0
- package/dist/service/athena/cfn/sim-cfn-athena-resource-error.d.ts +21 -0
- package/dist/service/athena/cfn/sim-cfn-athena-resource-error.d.ts.map +1 -0
- package/dist/service/athena/cfn/sim-cfn-athena-resource-error.js +34 -0
- package/dist/service/athena/cfn/sim-cfn-athena-resource-error.js.map +1 -0
- package/dist/service/athena/cfn/sim-cfn-athena-resource-types.d.ts +13 -0
- package/dist/service/athena/cfn/sim-cfn-athena-resource-types.d.ts.map +1 -0
- package/dist/service/athena/cfn/sim-cfn-athena-resource-types.js +13 -0
- package/dist/service/athena/cfn/sim-cfn-athena-resource-types.js.map +1 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-configuration-properties.d.ts +12 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-configuration-properties.d.ts.map +1 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-configuration-properties.js +46 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-configuration-properties.js.map +1 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-creator.d.ts +34 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-creator.d.ts.map +1 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-creator.js +65 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-creator.js.map +1 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-properties.d.ts +46 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-properties.d.ts.map +1 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-properties.js +77 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-properties.js.map +1 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-property-rules.d.ts +27 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-property-rules.d.ts.map +1 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-property-rules.js +75 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-property-rules.js.map +1 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-unsimulated-properties.d.ts +18 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-unsimulated-properties.d.ts.map +1 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-unsimulated-properties.js +49 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-unsimulated-properties.js.map +1 -0
- package/dist/service/athena/command/authorize/sim-athena-authorizer.d.ts +36 -0
- package/dist/service/athena/command/authorize/sim-athena-authorizer.d.ts.map +1 -0
- package/dist/service/athena/command/authorize/sim-athena-authorizer.js +56 -0
- package/dist/service/athena/command/authorize/sim-athena-authorizer.js.map +1 -0
- package/dist/service/athena/command/execution/execution.command.d.ts +130 -0
- package/dist/service/athena/command/execution/execution.command.d.ts.map +1 -0
- package/dist/service/athena/command/execution/execution.command.js +2 -0
- package/dist/service/athena/command/execution/execution.command.js.map +1 -0
- package/dist/service/athena/command/execution/sim-athena-described-execution.d.ts +11 -0
- package/dist/service/athena/command/execution/sim-athena-described-execution.d.ts.map +1 -0
- package/dist/service/athena/command/execution/sim-athena-described-execution.js +50 -0
- package/dist/service/athena/command/execution/sim-athena-described-execution.js.map +1 -0
- package/dist/service/athena/command/execution/sim-athena-execution-reads.d.ts +30 -0
- package/dist/service/athena/command/execution/sim-athena-execution-reads.d.ts.map +1 -0
- package/dist/service/athena/command/execution/sim-athena-execution-reads.js +43 -0
- package/dist/service/athena/command/execution/sim-athena-execution-reads.js.map +1 -0
- package/dist/service/athena/command/execution/sim-athena-execution-writes.d.ts +43 -0
- package/dist/service/athena/command/execution/sim-athena-execution-writes.d.ts.map +1 -0
- package/dist/service/athena/command/execution/sim-athena-execution-writes.js +42 -0
- package/dist/service/athena/command/execution/sim-athena-execution-writes.js.map +1 -0
- package/dist/service/athena/command/execution/sim-athena-query-output-location.d.ts +17 -0
- package/dist/service/athena/command/execution/sim-athena-query-output-location.d.ts.map +1 -0
- package/dist/service/athena/command/execution/sim-athena-query-output-location.js +28 -0
- package/dist/service/athena/command/execution/sim-athena-query-output-location.js.map +1 -0
- package/dist/service/athena/command/execution/sim-athena-query-results-page.d.ts +10 -0
- package/dist/service/athena/command/execution/sim-athena-query-results-page.d.ts.map +1 -0
- package/dist/service/athena/command/execution/sim-athena-query-results-page.js +36 -0
- package/dist/service/athena/command/execution/sim-athena-query-results-page.js.map +1 -0
- package/dist/service/athena/command/execution/sim-athena-query-rows.d.ts +16 -0
- package/dist/service/athena/command/execution/sim-athena-query-rows.d.ts.map +1 -0
- package/dist/service/athena/command/execution/sim-athena-query-rows.js +28 -0
- package/dist/service/athena/command/execution/sim-athena-query-rows.js.map +1 -0
- package/dist/service/athena/command/execution/sim-athena-query-start.d.ts +24 -0
- package/dist/service/athena/command/execution/sim-athena-query-start.d.ts.map +1 -0
- package/dist/service/athena/command/execution/sim-athena-query-start.js +60 -0
- package/dist/service/athena/command/execution/sim-athena-query-start.js.map +1 -0
- package/dist/service/athena/command/execution/sim-athena-query-stop.d.ts +16 -0
- package/dist/service/athena/command/execution/sim-athena-query-stop.d.ts.map +1 -0
- package/dist/service/athena/command/execution/sim-athena-query-stop.js +23 -0
- package/dist/service/athena/command/execution/sim-athena-query-stop.js.map +1 -0
- package/dist/service/athena/command/named-query/named-query.command.d.ts +104 -0
- package/dist/service/athena/command/named-query/named-query.command.d.ts.map +1 -0
- package/dist/service/athena/command/named-query/named-query.command.js +2 -0
- package/dist/service/athena/command/named-query/named-query.command.js.map +1 -0
- package/dist/service/athena/command/named-query/sim-athena-described-named-query.d.ts +7 -0
- package/dist/service/athena/command/named-query/sim-athena-described-named-query.d.ts.map +1 -0
- package/dist/service/athena/command/named-query/sim-athena-described-named-query.js +14 -0
- package/dist/service/athena/command/named-query/sim-athena-described-named-query.js.map +1 -0
- package/dist/service/athena/command/named-query/sim-athena-named-query-batch.d.ts +14 -0
- package/dist/service/athena/command/named-query/sim-athena-named-query-batch.d.ts.map +1 -0
- package/dist/service/athena/command/named-query/sim-athena-named-query-batch.js +56 -0
- package/dist/service/athena/command/named-query/sim-athena-named-query-batch.js.map +1 -0
- package/dist/service/athena/command/named-query/sim-athena-named-query-field.d.ts +5 -0
- package/dist/service/athena/command/named-query/sim-athena-named-query-field.d.ts.map +1 -0
- package/dist/service/athena/command/named-query/sim-athena-named-query-field.js +11 -0
- package/dist/service/athena/command/named-query/sim-athena-named-query-field.js.map +1 -0
- package/dist/service/athena/command/named-query/sim-athena-named-query-reads.d.ts +33 -0
- package/dist/service/athena/command/named-query/sim-athena-named-query-reads.d.ts.map +1 -0
- package/dist/service/athena/command/named-query/sim-athena-named-query-reads.js +55 -0
- package/dist/service/athena/command/named-query/sim-athena-named-query-reads.js.map +1 -0
- package/dist/service/athena/command/named-query/sim-athena-named-query-writes.d.ts +33 -0
- package/dist/service/athena/command/named-query/sim-athena-named-query-writes.d.ts.map +1 -0
- package/dist/service/athena/command/named-query/sim-athena-named-query-writes.js +50 -0
- package/dist/service/athena/command/named-query/sim-athena-named-query-writes.js.map +1 -0
- package/dist/service/athena/command/sim-athena-command.types.d.ts +4 -0
- package/dist/service/athena/command/sim-athena-command.types.d.ts.map +1 -0
- package/dist/service/athena/command/sim-athena-command.types.js +2 -0
- package/dist/service/athena/command/sim-athena-command.types.js.map +1 -0
- package/dist/service/athena/command/sim-athena-commands.d.ts +42 -0
- package/dist/service/athena/command/sim-athena-commands.d.ts.map +1 -0
- package/dist/service/athena/command/sim-athena-commands.js +65 -0
- package/dist/service/athena/command/sim-athena-commands.js.map +1 -0
- package/dist/service/athena/command/sim-athena-page.d.ts +49 -0
- package/dist/service/athena/command/sim-athena-page.d.ts.map +1 -0
- package/dist/service/athena/command/sim-athena-page.js +75 -0
- package/dist/service/athena/command/sim-athena-page.js.map +1 -0
- package/dist/service/athena/command/sim-athena-request-options.d.ts +12 -0
- package/dist/service/athena/command/sim-athena-request-options.d.ts.map +1 -0
- package/dist/service/athena/command/sim-athena-request-options.js +2 -0
- package/dist/service/athena/command/sim-athena-request-options.js.map +1 -0
- package/dist/service/athena/command/work-group/sim-athena-described-work-group.d.ts +14 -0
- package/dist/service/athena/command/work-group/sim-athena-described-work-group.d.ts.map +1 -0
- package/dist/service/athena/command/work-group/sim-athena-described-work-group.js +66 -0
- package/dist/service/athena/command/work-group/sim-athena-described-work-group.js.map +1 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-creation.d.ts +12 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-creation.d.ts.map +1 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-creation.js +22 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-creation.js.map +1 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-deletion.d.ts +12 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-deletion.d.ts.map +1 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-deletion.js +24 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-deletion.js.map +1 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-input.d.ts +26 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-input.d.ts.map +1 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-input.js +93 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-input.js.map +1 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-reads.d.ts +26 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-reads.d.ts.map +1 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-reads.js +39 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-reads.js.map +1 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-update.d.ts +12 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-update.d.ts.map +1 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-update.js +26 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-update.js.map +1 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-updates-input.d.ts +11 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-updates-input.d.ts.map +1 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-updates-input.js +35 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-updates-input.js.map +1 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-writes.d.ts +40 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-writes.d.ts.map +1 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-writes.js +53 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-writes.js.map +1 -0
- package/dist/service/athena/command/work-group/work-group.command.d.ts +164 -0
- package/dist/service/athena/command/work-group/work-group.command.d.ts.map +1 -0
- package/dist/service/athena/command/work-group/work-group.command.js +2 -0
- package/dist/service/athena/command/work-group/work-group.command.js.map +1 -0
- package/dist/service/athena/error/sim-athena.error.d.ts +33 -0
- package/dist/service/athena/error/sim-athena.error.d.ts.map +1 -0
- package/dist/service/athena/error/sim-athena.error.js +34 -0
- package/dist/service/athena/error/sim-athena.error.js.map +1 -0
- package/dist/service/athena/execution/sim-athena-no-result-destination.d.ts +11 -0
- package/dist/service/athena/execution/sim-athena-no-result-destination.d.ts.map +1 -0
- package/dist/service/athena/execution/sim-athena-no-result-destination.js +15 -0
- package/dist/service/athena/execution/sim-athena-no-result-destination.js.map +1 -0
- package/dist/service/athena/execution/sim-athena-output-location.d.ts +24 -0
- package/dist/service/athena/execution/sim-athena-output-location.d.ts.map +1 -0
- package/dist/service/athena/execution/sim-athena-output-location.js +49 -0
- package/dist/service/athena/execution/sim-athena-output-location.js.map +1 -0
- package/dist/service/athena/execution/sim-athena-query-execution-store.d.ts +24 -0
- package/dist/service/athena/execution/sim-athena-query-execution-store.d.ts.map +1 -0
- package/dist/service/athena/execution/sim-athena-query-execution-store.js +36 -0
- package/dist/service/athena/execution/sim-athena-query-execution-store.js.map +1 -0
- package/dist/service/athena/execution/sim-athena-query-execution.d.ts +58 -0
- package/dist/service/athena/execution/sim-athena-query-execution.d.ts.map +1 -0
- package/dist/service/athena/execution/sim-athena-query-execution.js +81 -0
- package/dist/service/athena/execution/sim-athena-query-execution.js.map +1 -0
- package/dist/service/athena/execution/sim-athena-query-runner.d.ts +48 -0
- package/dist/service/athena/execution/sim-athena-query-runner.d.ts.map +1 -0
- package/dist/service/athena/execution/sim-athena-query-runner.js +87 -0
- package/dist/service/athena/execution/sim-athena-query-runner.js.map +1 -0
- package/dist/service/athena/execution/sim-athena-query-state.d.ts +12 -0
- package/dist/service/athena/execution/sim-athena-query-state.d.ts.map +1 -0
- package/dist/service/athena/execution/sim-athena-query-state.js +18 -0
- package/dist/service/athena/execution/sim-athena-query-state.js.map +1 -0
- package/dist/service/athena/execution/sim-athena-query-status.d.ts +28 -0
- package/dist/service/athena/execution/sim-athena-query-status.d.ts.map +1 -0
- package/dist/service/athena/execution/sim-athena-query-status.js +48 -0
- package/dist/service/athena/execution/sim-athena-query-status.js.map +1 -0
- package/dist/service/athena/execution/sim-athena-query-tokens.d.ts +30 -0
- package/dist/service/athena/execution/sim-athena-query-tokens.d.ts.map +1 -0
- package/dist/service/athena/execution/sim-athena-query-tokens.js +49 -0
- package/dist/service/athena/execution/sim-athena-query-tokens.js.map +1 -0
- package/dist/service/athena/execution/sim-athena-result-csv.d.ts +11 -0
- package/dist/service/athena/execution/sim-athena-result-csv.d.ts.map +1 -0
- package/dist/service/athena/execution/sim-athena-result-csv.js +20 -0
- package/dist/service/athena/execution/sim-athena-result-csv.js.map +1 -0
- package/dist/service/athena/execution/sim-athena-result-writer.d.ts +42 -0
- package/dist/service/athena/execution/sim-athena-result-writer.d.ts.map +1 -0
- package/dist/service/athena/execution/sim-athena-result-writer.js +31 -0
- package/dist/service/athena/execution/sim-athena-result-writer.js.map +1 -0
- package/dist/service/athena/execution/sim-athena-write-failure.d.ts +9 -0
- package/dist/service/athena/execution/sim-athena-write-failure.d.ts.map +1 -0
- package/dist/service/athena/execution/sim-athena-write-failure.js +12 -0
- package/dist/service/athena/execution/sim-athena-write-failure.js.map +1 -0
- package/dist/service/athena/index.d.ts +21 -0
- package/dist/service/athena/index.d.ts.map +1 -0
- package/dist/service/athena/index.js +18 -0
- package/dist/service/athena/index.js.map +1 -0
- package/dist/service/athena/named-query/sim-athena-named-query-store.d.ts +42 -0
- package/dist/service/athena/named-query/sim-athena-named-query-store.d.ts.map +1 -0
- package/dist/service/athena/named-query/sim-athena-named-query-store.js +62 -0
- package/dist/service/athena/named-query/sim-athena-named-query-store.js.map +1 -0
- package/dist/service/athena/named-query/sim-athena-named-query.d.ts +30 -0
- package/dist/service/athena/named-query/sim-athena-named-query.d.ts.map +1 -0
- package/dist/service/athena/named-query/sim-athena-named-query.js +28 -0
- package/dist/service/athena/named-query/sim-athena-named-query.js.map +1 -0
- package/dist/service/athena/result/sim-athena-declared-result.d.ts +44 -0
- package/dist/service/athena/result/sim-athena-declared-result.d.ts.map +1 -0
- package/dist/service/athena/result/sim-athena-declared-result.js +2 -0
- package/dist/service/athena/result/sim-athena-declared-result.js.map +1 -0
- package/dist/service/athena/result/sim-athena-query-results.d.ts +48 -0
- package/dist/service/athena/result/sim-athena-query-results.d.ts.map +1 -0
- package/dist/service/athena/result/sim-athena-query-results.js +59 -0
- package/dist/service/athena/result/sim-athena-query-results.js.map +1 -0
- package/dist/service/athena/result/sim-athena-resolved-result.d.ts +20 -0
- package/dist/service/athena/result/sim-athena-resolved-result.d.ts.map +1 -0
- package/dist/service/athena/result/sim-athena-resolved-result.js +52 -0
- package/dist/service/athena/result/sim-athena-resolved-result.js.map +1 -0
- package/dist/service/athena/sdk/sim-athena-sdk-command-router.d.ts +18 -0
- package/dist/service/athena/sdk/sim-athena-sdk-command-router.d.ts.map +1 -0
- package/dist/service/athena/sdk/sim-athena-sdk-command-router.js +80 -0
- package/dist/service/athena/sdk/sim-athena-sdk-command-router.js.map +1 -0
- package/dist/service/athena/sim-athena-arn.d.ts +11 -0
- package/dist/service/athena/sim-athena-arn.d.ts.map +1 -0
- package/dist/service/athena/sim-athena-arn.js +13 -0
- package/dist/service/athena/sim-athena-arn.js.map +1 -0
- package/dist/service/athena/sim-athena-executions.d.ts +81 -0
- package/dist/service/athena/sim-athena-executions.d.ts.map +1 -0
- package/dist/service/athena/sim-athena-executions.js +112 -0
- package/dist/service/athena/sim-athena-executions.js.map +1 -0
- package/dist/service/athena/sim-athena.d.ts +93 -0
- package/dist/service/athena/sim-athena.d.ts.map +1 -0
- package/dist/service/athena/sim-athena.js +128 -0
- package/dist/service/athena/sim-athena.js.map +1 -0
- package/dist/service/athena/workgroup/sim-athena-result-configuration.d.ts +59 -0
- package/dist/service/athena/workgroup/sim-athena-result-configuration.d.ts.map +1 -0
- package/dist/service/athena/workgroup/sim-athena-result-configuration.js +61 -0
- package/dist/service/athena/workgroup/sim-athena-result-configuration.js.map +1 -0
- package/dist/service/athena/workgroup/sim-athena-work-group-configuration.d.ts +52 -0
- package/dist/service/athena/workgroup/sim-athena-work-group-configuration.d.ts.map +1 -0
- package/dist/service/athena/workgroup/sim-athena-work-group-configuration.js +67 -0
- package/dist/service/athena/workgroup/sim-athena-work-group-configuration.js.map +1 -0
- package/dist/service/athena/workgroup/sim-athena-work-group-name.d.ts +17 -0
- package/dist/service/athena/workgroup/sim-athena-work-group-name.d.ts.map +1 -0
- package/dist/service/athena/workgroup/sim-athena-work-group-name.js +41 -0
- package/dist/service/athena/workgroup/sim-athena-work-group-name.js.map +1 -0
- package/dist/service/athena/workgroup/sim-athena-work-group-store.d.ts +31 -0
- package/dist/service/athena/workgroup/sim-athena-work-group-store.d.ts.map +1 -0
- package/dist/service/athena/workgroup/sim-athena-work-group-store.js +45 -0
- package/dist/service/athena/workgroup/sim-athena-work-group-store.js.map +1 -0
- package/dist/service/athena/workgroup/sim-athena-work-group-updates.d.ts +32 -0
- package/dist/service/athena/workgroup/sim-athena-work-group-updates.d.ts.map +1 -0
- package/dist/service/athena/workgroup/sim-athena-work-group-updates.js +2 -0
- package/dist/service/athena/workgroup/sim-athena-work-group-updates.js.map +1 -0
- package/dist/service/athena/workgroup/sim-athena-work-group.d.ts +54 -0
- package/dist/service/athena/workgroup/sim-athena-work-group.d.ts.map +1 -0
- package/dist/service/athena/workgroup/sim-athena-work-group.js +59 -0
- package/dist/service/athena/workgroup/sim-athena-work-group.js.map +1 -0
- package/dist/service/aws/factory/sim-aws-self-contained-service-builder.d.ts +18 -0
- package/dist/service/aws/factory/sim-aws-self-contained-service-builder.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-self-contained-service-builder.js +22 -0
- package/dist/service/aws/factory/sim-aws-self-contained-service-builder.js.map +1 -1
- package/dist/service/aws/factory/sim-aws-service-factory.d.ts +6 -0
- package/dist/service/aws/factory/sim-aws-service-factory.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-service-factory.js +8 -0
- package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
- package/dist/service/aws/sim-aws-account-region-scope.d.ts +6 -0
- package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-account-region-scope.js +8 -0
- package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
- package/dist/service/aws/sim-aws-service-accessors.d.ts +6 -0
- package/dist/service/aws/sim-aws-service-accessors.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-service-accessors.js +8 -0
- package/dist/service/aws/sim-aws-service-accessors.js.map +1 -1
- package/dist/service/cloudformation/resource/cfn/athena/sim-athena-cfn-value-adapter.d.ts +6 -0
- package/dist/service/cloudformation/resource/cfn/athena/sim-athena-cfn-value-adapter.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/athena/sim-athena-cfn-value-adapter.js +19 -0
- package/dist/service/cloudformation/resource/cfn/athena/sim-athena-cfn-value-adapter.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/athena/sim-athena-named-query-cfn.d.ts +23 -0
- package/dist/service/cloudformation/resource/cfn/athena/sim-athena-named-query-cfn.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/athena/sim-athena-named-query-cfn.js +25 -0
- package/dist/service/cloudformation/resource/cfn/athena/sim-athena-named-query-cfn.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/athena/sim-athena-work-group-cfn.d.ts +26 -0
- package/dist/service/cloudformation/resource/cfn/athena/sim-athena-work-group-cfn.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/athena/sim-athena-work-group-cfn.js +28 -0
- package/dist/service/cloudformation/resource/cfn/athena/sim-athena-work-group-cfn.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/glue/sim-glue-cfn-value-adapter.d.ts +6 -0
- package/dist/service/cloudformation/resource/cfn/glue/sim-glue-cfn-value-adapter.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/glue/sim-glue-cfn-value-adapter.js +19 -0
- package/dist/service/cloudformation/resource/cfn/glue/sim-glue-cfn-value-adapter.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/glue/sim-glue-database-cfn.d.ts +27 -0
- package/dist/service/cloudformation/resource/cfn/glue/sim-glue-database-cfn.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/glue/sim-glue-database-cfn.js +27 -0
- package/dist/service/cloudformation/resource/cfn/glue/sim-glue-database-cfn.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/glue/sim-glue-table-cfn-id.d.ts +21 -0
- package/dist/service/cloudformation/resource/cfn/glue/sim-glue-table-cfn-id.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/glue/sim-glue-table-cfn-id.js +22 -0
- package/dist/service/cloudformation/resource/cfn/glue/sim-glue-table-cfn-id.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/glue/sim-glue-table-cfn.d.ts +27 -0
- package/dist/service/cloudformation/resource/cfn/glue/sim-glue-table-cfn.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/glue/sim-glue-table-cfn.js +30 -0
- package/dist/service/cloudformation/resource/cfn/glue/sim-glue-table-cfn.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/sim-cfn-service-value-adapters.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/cfn/sim-cfn-service-value-adapters.js +4 -0
- package/dist/service/cloudformation/resource/cfn/sim-cfn-service-value-adapters.js.map +1 -1
- package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-factories.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-factories.js +8 -0
- package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-factories.js.map +1 -1
- package/dist/service/glue/arn/sim-glue-arn.d.ts +22 -0
- package/dist/service/glue/arn/sim-glue-arn.d.ts.map +1 -0
- package/dist/service/glue/arn/sim-glue-arn.js +29 -0
- package/dist/service/glue/arn/sim-glue-arn.js.map +1 -0
- package/dist/service/glue/arn/sim-glue-authorized-resources.d.ts +17 -0
- package/dist/service/glue/arn/sim-glue-authorized-resources.d.ts.map +1 -0
- package/dist/service/glue/arn/sim-glue-authorized-resources.js +29 -0
- package/dist/service/glue/arn/sim-glue-authorized-resources.js.map +1 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-creator.d.ts +27 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-creator.d.ts.map +1 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-creator.js +43 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-creator.js.map +1 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-properties.d.ts +31 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-properties.d.ts.map +1 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-properties.js +61 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-properties.js.map +1 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-rules.d.ts +18 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-rules.d.ts.map +1 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-rules.js +43 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-rules.js.map +1 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-unsimulated-properties.d.ts +10 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-unsimulated-properties.d.ts.map +1 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-unsimulated-properties.js +25 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-unsimulated-properties.js.map +1 -0
- package/dist/service/glue/cfn/sim-cfn-glue-catalog-id.d.ts +18 -0
- package/dist/service/glue/cfn/sim-cfn-glue-catalog-id.d.ts.map +1 -0
- package/dist/service/glue/cfn/sim-cfn-glue-catalog-id.js +20 -0
- package/dist/service/glue/cfn/sim-cfn-glue-catalog-id.js.map +1 -0
- package/dist/service/glue/cfn/sim-cfn-glue-ignored.d.ts +19 -0
- package/dist/service/glue/cfn/sim-cfn-glue-ignored.d.ts.map +1 -0
- package/dist/service/glue/cfn/sim-cfn-glue-ignored.js +22 -0
- package/dist/service/glue/cfn/sim-cfn-glue-ignored.js.map +1 -0
- package/dist/service/glue/cfn/sim-cfn-glue-property-error.d.ts +5 -0
- package/dist/service/glue/cfn/sim-cfn-glue-property-error.d.ts.map +1 -0
- package/dist/service/glue/cfn/sim-cfn-glue-property-error.js +8 -0
- package/dist/service/glue/cfn/sim-cfn-glue-property-error.js.map +1 -0
- package/dist/service/glue/cfn/sim-cfn-glue-record.d.ts +37 -0
- package/dist/service/glue/cfn/sim-cfn-glue-record.d.ts.map +1 -0
- package/dist/service/glue/cfn/sim-cfn-glue-record.js +63 -0
- package/dist/service/glue/cfn/sim-cfn-glue-record.js.map +1 -0
- package/dist/service/glue/cfn/sim-cfn-glue-values.d.ts +40 -0
- package/dist/service/glue/cfn/sim-cfn-glue-values.d.ts.map +1 -0
- package/dist/service/glue/cfn/sim-cfn-glue-values.js +74 -0
- package/dist/service/glue/cfn/sim-cfn-glue-values.js.map +1 -0
- package/dist/service/glue/cfn/sim-glue-cfn-resource-factory.d.ts +28 -0
- package/dist/service/glue/cfn/sim-glue-cfn-resource-factory.d.ts.map +1 -0
- package/dist/service/glue/cfn/sim-glue-cfn-resource-factory.js +54 -0
- package/dist/service/glue/cfn/sim-glue-cfn-resource-factory.js.map +1 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-columns.d.ts +20 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-columns.d.ts.map +1 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-columns.js +51 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-columns.js.map +1 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-storage-descriptor.d.ts +19 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-storage-descriptor.d.ts.map +1 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-storage-descriptor.js +63 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-storage-descriptor.js.map +1 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-creator.d.ts +30 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-creator.d.ts.map +1 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-creator.js +47 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-creator.js.map +1 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-input.d.ts +16 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-input.d.ts.map +1 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-input.js +26 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-input.js.map +1 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-properties.d.ts +31 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-properties.d.ts.map +1 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-properties.js +55 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-properties.js.map +1 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-rules.d.ts +12 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-rules.d.ts.map +1 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-rules.js +37 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-rules.js.map +1 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-unsimulated-properties.d.ts +19 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-unsimulated-properties.d.ts.map +1 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-unsimulated-properties.js +75 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-unsimulated-properties.js.map +1 -0
- package/dist/service/glue/command/authorize/sim-glue-authorize-resources.d.ts +18 -0
- package/dist/service/glue/command/authorize/sim-glue-authorize-resources.d.ts.map +1 -0
- package/dist/service/glue/command/authorize/sim-glue-authorize-resources.js +26 -0
- package/dist/service/glue/command/authorize/sim-glue-authorize-resources.js.map +1 -0
- package/dist/service/glue/command/authorize/sim-glue-authorizer.d.ts +45 -0
- package/dist/service/glue/command/authorize/sim-glue-authorizer.d.ts.map +1 -0
- package/dist/service/glue/command/authorize/sim-glue-authorizer.js +59 -0
- package/dist/service/glue/command/authorize/sim-glue-authorizer.js.map +1 -0
- package/dist/service/glue/command/database/database.command.d.ts +86 -0
- package/dist/service/glue/command/database/database.command.d.ts.map +1 -0
- package/dist/service/glue/command/database/database.command.js +2 -0
- package/dist/service/glue/command/database/database.command.js.map +1 -0
- package/dist/service/glue/command/database/sim-glue-database-commands.d.ts +42 -0
- package/dist/service/glue/command/database/sim-glue-database-commands.d.ts.map +1 -0
- package/dist/service/glue/command/database/sim-glue-database-commands.js +74 -0
- package/dist/service/glue/command/database/sim-glue-database-commands.js.map +1 -0
- package/dist/service/glue/command/database/sim-glue-database-detail.d.ts +10 -0
- package/dist/service/glue/command/database/sim-glue-database-detail.d.ts.map +1 -0
- package/dist/service/glue/command/database/sim-glue-database-detail.js +18 -0
- package/dist/service/glue/command/database/sim-glue-database-detail.js.map +1 -0
- package/dist/service/glue/command/sim-glue-catalog-id.d.ts +11 -0
- package/dist/service/glue/command/sim-glue-catalog-id.d.ts.map +1 -0
- package/dist/service/glue/command/sim-glue-catalog-id.js +18 -0
- package/dist/service/glue/command/sim-glue-catalog-id.js.map +1 -0
- package/dist/service/glue/command/sim-glue-request-options.d.ts +12 -0
- package/dist/service/glue/command/sim-glue-request-options.d.ts.map +1 -0
- package/dist/service/glue/command/sim-glue-request-options.js +2 -0
- package/dist/service/glue/command/sim-glue-request-options.js.map +1 -0
- package/dist/service/glue/command/table/sim-glue-table-commands.d.ts +43 -0
- package/dist/service/glue/command/table/sim-glue-table-commands.d.ts.map +1 -0
- package/dist/service/glue/command/table/sim-glue-table-commands.js +86 -0
- package/dist/service/glue/command/table/sim-glue-table-commands.js.map +1 -0
- package/dist/service/glue/command/table/sim-glue-table-detail.d.ts +14 -0
- package/dist/service/glue/command/table/sim-glue-table-detail.d.ts.map +1 -0
- package/dist/service/glue/command/table/sim-glue-table-detail.js +28 -0
- package/dist/service/glue/command/table/sim-glue-table-detail.js.map +1 -0
- package/dist/service/glue/command/table/table.command.d.ts +105 -0
- package/dist/service/glue/command/table/table.command.d.ts.map +1 -0
- package/dist/service/glue/command/table/table.command.js +2 -0
- package/dist/service/glue/command/table/table.command.js.map +1 -0
- package/dist/service/glue/database/sim-glue-catalog-name.d.ts +8 -0
- package/dist/service/glue/database/sim-glue-catalog-name.d.ts.map +1 -0
- package/dist/service/glue/database/sim-glue-catalog-name.js +26 -0
- package/dist/service/glue/database/sim-glue-catalog-name.js.map +1 -0
- package/dist/service/glue/database/sim-glue-database-store.d.ts +37 -0
- package/dist/service/glue/database/sim-glue-database-store.d.ts.map +1 -0
- package/dist/service/glue/database/sim-glue-database-store.js +54 -0
- package/dist/service/glue/database/sim-glue-database-store.js.map +1 -0
- package/dist/service/glue/database/sim-glue-database.d.ts +31 -0
- package/dist/service/glue/database/sim-glue-database.d.ts.map +1 -0
- package/dist/service/glue/database/sim-glue-database.js +33 -0
- package/dist/service/glue/database/sim-glue-database.js.map +1 -0
- package/dist/service/glue/error/sim-glue.error.d.ts +38 -0
- package/dist/service/glue/error/sim-glue.error.d.ts.map +1 -0
- package/dist/service/glue/error/sim-glue.error.js +41 -0
- package/dist/service/glue/error/sim-glue.error.js.map +1 -0
- package/dist/service/glue/index.d.ts +14 -0
- package/dist/service/glue/index.d.ts.map +1 -0
- package/dist/service/glue/index.js +9 -0
- package/dist/service/glue/index.js.map +1 -0
- package/dist/service/glue/sdk/sim-glue-sdk-command-router.d.ts +14 -0
- package/dist/service/glue/sdk/sim-glue-sdk-command-router.d.ts.map +1 -0
- package/dist/service/glue/sdk/sim-glue-sdk-command-router.js +52 -0
- package/dist/service/glue/sdk/sim-glue-sdk-command-router.js.map +1 -0
- package/dist/service/glue/sim-glue.d.ts +74 -0
- package/dist/service/glue/sim-glue.d.ts.map +1 -0
- package/dist/service/glue/sim-glue.js +128 -0
- package/dist/service/glue/sim-glue.js.map +1 -0
- package/dist/service/glue/table/sim-glue-table-input-shape.d.ts +37 -0
- package/dist/service/glue/table/sim-glue-table-input-shape.d.ts.map +1 -0
- package/dist/service/glue/table/sim-glue-table-input-shape.js +26 -0
- package/dist/service/glue/table/sim-glue-table-input-shape.js.map +1 -0
- package/dist/service/glue/table/sim-glue-table-schema.d.ts +51 -0
- package/dist/service/glue/table/sim-glue-table-schema.d.ts.map +1 -0
- package/dist/service/glue/table/sim-glue-table-schema.js +2 -0
- package/dist/service/glue/table/sim-glue-table-schema.js.map +1 -0
- package/dist/service/glue/table/sim-glue-table-store.d.ts +35 -0
- package/dist/service/glue/table/sim-glue-table-store.d.ts.map +1 -0
- package/dist/service/glue/table/sim-glue-table-store.js +71 -0
- package/dist/service/glue/table/sim-glue-table-store.js.map +1 -0
- package/dist/service/glue/table/sim-glue-table.d.ts +55 -0
- package/dist/service/glue/table/sim-glue-table.d.ts.map +1 -0
- package/dist/service/glue/table/sim-glue-table.js +58 -0
- package/dist/service/glue/table/sim-glue-table.js.map +1 -0
- package/dist/service/glue/write/sim-glue-catalog-writer.d.ts +35 -0
- package/dist/service/glue/write/sim-glue-catalog-writer.d.ts.map +1 -0
- package/dist/service/glue/write/sim-glue-catalog-writer.js +40 -0
- package/dist/service/glue/write/sim-glue-catalog-writer.js.map +1 -0
- package/dist/util/record/defined-entries.d.ts +10 -0
- package/dist/util/record/defined-entries.d.ts.map +1 -0
- package/dist/util/record/defined-entries.js +12 -0
- package/dist/util/record/defined-entries.js.map +1 -0
- package/package.json +11 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
interface SimCfnGlueCatalogIdProperties {
|
|
2
|
+
readonly resourceType: string;
|
|
3
|
+
readonly logicalId: string;
|
|
4
|
+
readonly declared: string | undefined;
|
|
5
|
+
readonly simulated: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Check the catalog a Resource names is the one this simulation holds.
|
|
9
|
+
*
|
|
10
|
+
* `CatalogId` is the account whose Data Catalog the database or table belongs
|
|
11
|
+
* to, and CDK writes the deploying account into it. Nothing here crosses
|
|
12
|
+
* accounts, so a catalog id belonging to another account is refused. Creating
|
|
13
|
+
* the resource in this account instead would give a template that deploys and
|
|
14
|
+
* a catalog holding something the template never asked it to.
|
|
15
|
+
*/
|
|
16
|
+
export declare function requireSimCfnGlueCatalogId(properties: SimCfnGlueCatalogIdProperties): void;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=sim-cfn-glue-catalog-id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-glue-catalog-id.d.ts","sourceRoot":"","sources":["../../../../src/service/glue/cfn/sim-cfn-glue-catalog-id.ts"],"names":[],"mappings":"AAEA,UAAU,6BAA6B;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,6BAA6B,GACxC,IAAI,CAcN"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { glueCfnPropertyError } from "./sim-cfn-glue-property-error.js";
|
|
2
|
+
/**
|
|
3
|
+
* Check the catalog a Resource names is the one this simulation holds.
|
|
4
|
+
*
|
|
5
|
+
* `CatalogId` is the account whose Data Catalog the database or table belongs
|
|
6
|
+
* to, and CDK writes the deploying account into it. Nothing here crosses
|
|
7
|
+
* accounts, so a catalog id belonging to another account is refused. Creating
|
|
8
|
+
* the resource in this account instead would give a template that deploys and
|
|
9
|
+
* a catalog holding something the template never asked it to.
|
|
10
|
+
*/
|
|
11
|
+
export function requireSimCfnGlueCatalogId(properties) {
|
|
12
|
+
const { declared, simulated } = properties;
|
|
13
|
+
if (declared === undefined || declared === simulated) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
throw glueCfnPropertyError(properties.resourceType, properties.logicalId, `CatalogId ${declared} names another account's Data Catalog, and this ` +
|
|
17
|
+
`simulated Glue holds the catalog of account ${simulated}. ` +
|
|
18
|
+
`Cross-account Data Catalog access is not simulated.`);
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=sim-cfn-glue-catalog-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-glue-catalog-id.js","sourceRoot":"","sources":["../../../../src/service/glue/cfn/sim-cfn-glue-catalog-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AASxE;;;;;;;;GAQG;AACH,MAAM,UAAU,0BAA0B,CACxC,UAAyC;IAEzC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC;IAE3C,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACrD,OAAO;IACT,CAAC;IAED,MAAM,oBAAoB,CACxB,UAAU,CAAC,YAAY,EACvB,UAAU,CAAC,SAAS,EACpB,aAAa,QAAQ,kDAAkD;QACrE,+CAA+C,SAAS,IAAI;QAC5D,qDAAqD,CACxD,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { SimCfnPropertyIgnorer } from "../../cloudformation/resource/ignore/sim-cfn-ignored-property.type.js";
|
|
2
|
+
import type { SimCfnGlueRecord } from "./sim-cfn-glue-record.js";
|
|
3
|
+
interface SimCfnGlueUnknownProperties {
|
|
4
|
+
readonly ignorer: SimCfnPropertyIgnorer;
|
|
5
|
+
readonly fields: SimCfnGlueRecord;
|
|
6
|
+
readonly known: ReadonlySet<string>;
|
|
7
|
+
readonly owner: string;
|
|
8
|
+
readonly reasons?: ReadonlyMap<string, string>;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Record every property of a nested Glue shape that is left unread.
|
|
12
|
+
*
|
|
13
|
+
* A name in the reasons map is a real AWS property this simulation has no
|
|
14
|
+
* behaviour for. Any other name is one it has never heard of, which is usually
|
|
15
|
+
* a typo in the template.
|
|
16
|
+
*/
|
|
17
|
+
export declare function recordUnreadGlueProperties(properties: SimCfnGlueUnknownProperties): void;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=sim-cfn-glue-ignored.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-glue-ignored.d.ts","sourceRoot":"","sources":["../../../../src/service/glue/cfn/sim-cfn-glue-ignored.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uEAAuE,CAAC;AACnH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,UAAU,2BAA2B;IACnC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChD;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,2BAA2B,GACtC,IAAI,CAmBN"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Record every property of a nested Glue shape that is left unread.
|
|
3
|
+
*
|
|
4
|
+
* A name in the reasons map is a real AWS property this simulation has no
|
|
5
|
+
* behaviour for. Any other name is one it has never heard of, which is usually
|
|
6
|
+
* a typo in the template.
|
|
7
|
+
*/
|
|
8
|
+
export function recordUnreadGlueProperties(properties) {
|
|
9
|
+
const { fields, known, owner, reasons } = properties;
|
|
10
|
+
for (const name of fields.keys()) {
|
|
11
|
+
if (known.has(name)) {
|
|
12
|
+
continue;
|
|
13
|
+
}
|
|
14
|
+
const reason = reasons?.get(name);
|
|
15
|
+
properties.ignorer.ignoreProperty(`${fields.path}.${name}`, reason === undefined
|
|
16
|
+
? `${name} is not a ${owner} property simulated Glue knows about, ` +
|
|
17
|
+
`so it is left out`
|
|
18
|
+
: `${name} is a real ${owner} property simulated Glue does not act ` +
|
|
19
|
+
`on: ${reason}`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=sim-cfn-glue-ignored.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-glue-ignored.js","sourceRoot":"","sources":["../../../../src/service/glue/cfn/sim-cfn-glue-ignored.ts"],"names":[],"mappings":"AAWA;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CACxC,UAAuC;IAEvC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;IAErD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAElC,UAAU,CAAC,OAAO,CAAC,cAAc,CAC/B,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,EACxB,MAAM,KAAK,SAAS;YAClB,CAAC,CAAC,GAAG,IAAI,aAAa,KAAK,wCAAwC;gBAC/D,mBAAmB;YACvB,CAAC,CAAC,GAAG,IAAI,cAAc,KAAK,wCAAwC;gBAChE,OAAO,MAAM,EAAE,CACtB,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-glue-property-error.d.ts","sourceRoot":"","sources":["../../../../src/service/glue/cfn/sim-cfn-glue-property-error.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,KAAK,CAKP"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A refusal naming the Glue Resource whose properties could not be read.
|
|
3
|
+
*/
|
|
4
|
+
export function glueCfnPropertyError(resourceType, logicalId, reason) {
|
|
5
|
+
return new Error(`Invalid sim Glue CloudFormation Resource ${logicalId} ` +
|
|
6
|
+
`(${resourceType}): ${reason}`);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=sim-cfn-glue-property-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-glue-property-error.js","sourceRoot":"","sources":["../../../../src/service/glue/cfn/sim-cfn-glue-property-error.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,YAAoB,EACpB,SAAiB,EACjB,MAAc;IAEd,OAAO,IAAI,KAAK,CACd,4CAA4C,SAAS,GAAG;QACtD,IAAI,YAAY,MAAM,MAAM,EAAE,CACjC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { SimCfnTemplateValue, SimCfnTemplateValueRecord } from "../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
2
|
+
import type { SimCfnGlueValues } from "./sim-cfn-glue-values.js";
|
|
3
|
+
/**
|
|
4
|
+
* One object out of a template, read by property name.
|
|
5
|
+
*
|
|
6
|
+
* A reader working straight off the record repeats the key three times per
|
|
7
|
+
* property, once to index with and twice to build the path a refusal names.
|
|
8
|
+
* This holds the properties and the path so a property is its name and its
|
|
9
|
+
* type.
|
|
10
|
+
*
|
|
11
|
+
* The properties are held as a Map. A template is user input, so the key being
|
|
12
|
+
* looked up is user input too, and a Map has no prototype for one of them to
|
|
13
|
+
* reach.
|
|
14
|
+
*/
|
|
15
|
+
export declare class SimCfnGlueRecord {
|
|
16
|
+
#private;
|
|
17
|
+
readonly values: SimCfnGlueValues;
|
|
18
|
+
readonly path: string;
|
|
19
|
+
constructor(values: SimCfnGlueValues, record: SimCfnTemplateValueRecord, path: string);
|
|
20
|
+
/** The property names this object carries. */
|
|
21
|
+
keys(): readonly string[];
|
|
22
|
+
/** A string property, absent when the template leaves it out. */
|
|
23
|
+
string(key: string): string | undefined;
|
|
24
|
+
/** A boolean property, absent when the template leaves it out. */
|
|
25
|
+
boolean(key: string): boolean | undefined;
|
|
26
|
+
/** A number property, absent when the template leaves it out. */
|
|
27
|
+
number(key: string): number | undefined;
|
|
28
|
+
/** A string-to-string map, absent when the template leaves it out. */
|
|
29
|
+
parameters(key: string): Readonly<Record<string, string>> | undefined;
|
|
30
|
+
/** A property read by something else, absent when it is left out. */
|
|
31
|
+
read<T>(key: string, read: (value: SimCfnTemplateValue, path: string) => T): T | undefined;
|
|
32
|
+
/** A property the Resource cannot be created without. */
|
|
33
|
+
required(key: string): SimCfnTemplateValue;
|
|
34
|
+
/** A nested object, read by property name in its turn. */
|
|
35
|
+
nested(value: SimCfnTemplateValue, path: string): SimCfnGlueRecord;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=sim-cfn-glue-record.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-glue-record.d.ts","sourceRoot":"","sources":["../../../../src/service/glue/cfn/sim-cfn-glue-record.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,+DAA+D,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE;;;;;;;;;;;GAWG;AACH,qBAAa,gBAAgB;;IAC3B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAItB,YACE,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,yBAAyB,EACjC,IAAI,EAAE,MAAM,EAKb;IAED,8CAA8C;IAC9C,IAAI,IAAI,SAAS,MAAM,EAAE,CAExB;IAED,iEAAiE;IACjE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEtC;IAED,kEAAkE;IAClE,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAExC;IAED,iEAAiE;IACjE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEtC;IAED,sEAAsE;IACtE,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAKpE;IAED,qEAAqE;IACrE,IAAI,CAAC,CAAC,EACJ,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,CAAC,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC,GACpD,CAAC,GAAG,SAAS,CAIf;IAED,yDAAyD;IACzD,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAQzC;IAED,0DAA0D;IAC1D,MAAM,CAAC,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAMjE;CAKF"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One object out of a template, read by property name.
|
|
3
|
+
*
|
|
4
|
+
* A reader working straight off the record repeats the key three times per
|
|
5
|
+
* property, once to index with and twice to build the path a refusal names.
|
|
6
|
+
* This holds the properties and the path so a property is its name and its
|
|
7
|
+
* type.
|
|
8
|
+
*
|
|
9
|
+
* The properties are held as a Map. A template is user input, so the key being
|
|
10
|
+
* looked up is user input too, and a Map has no prototype for one of them to
|
|
11
|
+
* reach.
|
|
12
|
+
*/
|
|
13
|
+
export class SimCfnGlueRecord {
|
|
14
|
+
values;
|
|
15
|
+
path;
|
|
16
|
+
#entries;
|
|
17
|
+
constructor(values, record, path) {
|
|
18
|
+
this.values = values;
|
|
19
|
+
this.path = path;
|
|
20
|
+
this.#entries = new Map(Object.entries(record));
|
|
21
|
+
}
|
|
22
|
+
/** The property names this object carries. */
|
|
23
|
+
keys() {
|
|
24
|
+
return this.#entries.keys().toArray();
|
|
25
|
+
}
|
|
26
|
+
/** A string property, absent when the template leaves it out. */
|
|
27
|
+
string(key) {
|
|
28
|
+
return this.values.optionalString(this.#entries.get(key), this.#at(key));
|
|
29
|
+
}
|
|
30
|
+
/** A boolean property, absent when the template leaves it out. */
|
|
31
|
+
boolean(key) {
|
|
32
|
+
return this.values.optionalBoolean(this.#entries.get(key), this.#at(key));
|
|
33
|
+
}
|
|
34
|
+
/** A number property, absent when the template leaves it out. */
|
|
35
|
+
number(key) {
|
|
36
|
+
return this.values.optionalNumber(this.#entries.get(key), this.#at(key));
|
|
37
|
+
}
|
|
38
|
+
/** A string-to-string map, absent when the template leaves it out. */
|
|
39
|
+
parameters(key) {
|
|
40
|
+
return this.values.optionalParameters(this.#entries.get(key), this.#at(key));
|
|
41
|
+
}
|
|
42
|
+
/** A property read by something else, absent when it is left out. */
|
|
43
|
+
read(key, read) {
|
|
44
|
+
const value = this.#entries.get(key);
|
|
45
|
+
return value === undefined ? undefined : read(value, this.#at(key));
|
|
46
|
+
}
|
|
47
|
+
/** A property the Resource cannot be created without. */
|
|
48
|
+
required(key) {
|
|
49
|
+
const value = this.#entries.get(key);
|
|
50
|
+
if (value === undefined) {
|
|
51
|
+
throw this.values.refuse(`${this.#at(key)} is required`);
|
|
52
|
+
}
|
|
53
|
+
return value;
|
|
54
|
+
}
|
|
55
|
+
/** A nested object, read by property name in its turn. */
|
|
56
|
+
nested(value, path) {
|
|
57
|
+
return new SimCfnGlueRecord(this.values, this.values.record(value, path), path);
|
|
58
|
+
}
|
|
59
|
+
#at(key) {
|
|
60
|
+
return `${this.path}.${key}`;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=sim-cfn-glue-record.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-glue-record.js","sourceRoot":"","sources":["../../../../src/service/glue/cfn/sim-cfn-glue-record.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,gBAAgB;IAClB,MAAM,CAAmB;IACzB,IAAI,CAAS;IAEb,QAAQ,CAA2C;IAE5D,YACE,MAAwB,EACxB,MAAiC,EACjC,IAAY;QAEZ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,8CAA8C;IAC9C,IAAI;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IACxC,CAAC;IAED,iEAAiE;IACjE,MAAM,CAAC,GAAW;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,kEAAkE;IAClE,OAAO,CAAC,GAAW;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,iEAAiE;IACjE,MAAM,CAAC,GAAW;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,sEAAsE;IACtE,UAAU,CAAC,GAAW;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EACtB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CACd,CAAC;IACJ,CAAC;IAED,qEAAqE;IACrE,IAAI,CACF,GAAW,EACX,IAAqD;QAErD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAErC,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,yDAAyD;IACzD,QAAQ,CAAC,GAAW;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAErC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,0DAA0D;IAC1D,MAAM,CAAC,KAA0B,EAAE,IAAY;QAC7C,OAAO,IAAI,gBAAgB,CACzB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,EAC/B,IAAI,CACL,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,GAAW;QACb,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;IAC/B,CAAC;CACF"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { SimCfnTemplateValue, SimCfnTemplateValueRecord } from "../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
2
|
+
import { SimCfnValueShape } from "../../cloudformation/template/value/sim-cfn-value-shape.js";
|
|
3
|
+
/**
|
|
4
|
+
* The template values a Glue Resource is read out of.
|
|
5
|
+
*
|
|
6
|
+
* Wraps the shared shape checks with the ones every Glue property reader
|
|
7
|
+
* needs, so a reader is the properties it knows about rather than the type
|
|
8
|
+
* narrowing around them.
|
|
9
|
+
*/
|
|
10
|
+
export declare class SimCfnGlueValues {
|
|
11
|
+
#private;
|
|
12
|
+
readonly shape: SimCfnValueShape;
|
|
13
|
+
readonly refuse: (reason: string) => Error;
|
|
14
|
+
constructor(refuse: (reason: string) => Error);
|
|
15
|
+
/** A value that has to be an object. */
|
|
16
|
+
record(value: SimCfnTemplateValue | undefined, path: string): SimCfnTemplateValueRecord;
|
|
17
|
+
/** A value that has to be a list. */
|
|
18
|
+
list(value: SimCfnTemplateValue, path: string): SimCfnTemplateValue[];
|
|
19
|
+
/** A value that has to be a string. */
|
|
20
|
+
string(value: SimCfnTemplateValue, path: string): string;
|
|
21
|
+
/** A string the template need not carry. */
|
|
22
|
+
optionalString(value: SimCfnTemplateValue | undefined, path: string): string | undefined;
|
|
23
|
+
/** A boolean the template need not carry. */
|
|
24
|
+
optionalBoolean(value: SimCfnTemplateValue | undefined, path: string): boolean | undefined;
|
|
25
|
+
/** A number the template need not carry. */
|
|
26
|
+
optionalNumber(value: SimCfnTemplateValue | undefined, path: string): number | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* A string-to-string map the template need not carry.
|
|
29
|
+
*
|
|
30
|
+
* Table parameters carry Athena partition projection, so this is the reader
|
|
31
|
+
* standing between a declared `projection.enabled` and a table that has one.
|
|
32
|
+
*
|
|
33
|
+
* A number or a boolean becomes its text, which is what CloudFormation does
|
|
34
|
+
* with a primitive bound to a String property. An unquoted
|
|
35
|
+
* `projection.enabled: true` in a YAML template is a boolean by the time it
|
|
36
|
+
* reaches here, and real Glue receives `"true"` from it.
|
|
37
|
+
*/
|
|
38
|
+
optionalParameters(value: SimCfnTemplateValue | undefined, path: string): Readonly<Record<string, string>> | undefined;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=sim-cfn-glue-values.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-glue-values.d.ts","sourceRoot":"","sources":["../../../../src/service/glue/cfn/sim-cfn-glue-values.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,+DAA+D,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4DAA4D,CAAC;AAE9F;;;;;;GAMG;AACH,qBAAa,gBAAgB;;IAC3B,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,KAAK,CAAC;IAE3C,YAAY,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,KAAK,EAG5C;IAED,wCAAwC;IACxC,MAAM,CACJ,KAAK,EAAE,mBAAmB,GAAG,SAAS,EACtC,IAAI,EAAE,MAAM,GACX,yBAAyB,CAE3B;IAED,qCAAqC;IACrC,IAAI,CAAC,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAEpE;IAED,uCAAuC;IACvC,MAAM,CAAC,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD;IAED,4CAA4C;IAC5C,cAAc,CACZ,KAAK,EAAE,mBAAmB,GAAG,SAAS,EACtC,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,SAAS,CAEpB;IAED,6CAA6C;IAC7C,eAAe,CACb,KAAK,EAAE,mBAAmB,GAAG,SAAS,EACtC,IAAI,EAAE,MAAM,GACX,OAAO,GAAG,SAAS,CAQrB;IAED,4CAA4C;IAC5C,cAAc,CACZ,KAAK,EAAE,mBAAmB,GAAG,SAAS,EACtC,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,SAAS,CAQpB;IAED;;;;;;;;;;OAUG;IACH,kBAAkB,CAChB,KAAK,EAAE,mBAAmB,GAAG,SAAS,EACtC,IAAI,EAAE,MAAM,GACX,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAS9C;CASF"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { SimCfnValueShape } from "../../cloudformation/template/value/sim-cfn-value-shape.js";
|
|
2
|
+
/**
|
|
3
|
+
* The template values a Glue Resource is read out of.
|
|
4
|
+
*
|
|
5
|
+
* Wraps the shared shape checks with the ones every Glue property reader
|
|
6
|
+
* needs, so a reader is the properties it knows about rather than the type
|
|
7
|
+
* narrowing around them.
|
|
8
|
+
*/
|
|
9
|
+
export class SimCfnGlueValues {
|
|
10
|
+
shape;
|
|
11
|
+
refuse;
|
|
12
|
+
constructor(refuse) {
|
|
13
|
+
this.refuse = refuse;
|
|
14
|
+
this.shape = new SimCfnValueShape(refuse);
|
|
15
|
+
}
|
|
16
|
+
/** A value that has to be an object. */
|
|
17
|
+
record(value, path) {
|
|
18
|
+
return this.shape.record(value, path);
|
|
19
|
+
}
|
|
20
|
+
/** A value that has to be a list. */
|
|
21
|
+
list(value, path) {
|
|
22
|
+
return this.shape.list(value, path);
|
|
23
|
+
}
|
|
24
|
+
/** A value that has to be a string. */
|
|
25
|
+
string(value, path) {
|
|
26
|
+
return this.shape.string(value, path);
|
|
27
|
+
}
|
|
28
|
+
/** A string the template need not carry. */
|
|
29
|
+
optionalString(value, path) {
|
|
30
|
+
return this.shape.present(value, (present) => this.string(present, path));
|
|
31
|
+
}
|
|
32
|
+
/** A boolean the template need not carry. */
|
|
33
|
+
optionalBoolean(value, path) {
|
|
34
|
+
return this.shape.present(value, (present) => {
|
|
35
|
+
if (typeof present !== "boolean") {
|
|
36
|
+
throw this.refuse(`${path} must be a boolean`);
|
|
37
|
+
}
|
|
38
|
+
return present;
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
/** A number the template need not carry. */
|
|
42
|
+
optionalNumber(value, path) {
|
|
43
|
+
return this.shape.present(value, (present) => {
|
|
44
|
+
if (typeof present !== "number") {
|
|
45
|
+
throw this.refuse(`${path} must be a number`);
|
|
46
|
+
}
|
|
47
|
+
return present;
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* A string-to-string map the template need not carry.
|
|
52
|
+
*
|
|
53
|
+
* Table parameters carry Athena partition projection, so this is the reader
|
|
54
|
+
* standing between a declared `projection.enabled` and a table that has one.
|
|
55
|
+
*
|
|
56
|
+
* A number or a boolean becomes its text, which is what CloudFormation does
|
|
57
|
+
* with a primitive bound to a String property. An unquoted
|
|
58
|
+
* `projection.enabled: true` in a YAML template is a boolean by the time it
|
|
59
|
+
* reaches here, and real Glue receives `"true"` from it.
|
|
60
|
+
*/
|
|
61
|
+
optionalParameters(value, path) {
|
|
62
|
+
return this.shape.present(value, (present) => Object.fromEntries(Object.entries(this.record(present, path)).map(([key, entry]) => [
|
|
63
|
+
key,
|
|
64
|
+
this.#parameter(entry, `${path}.${key}`),
|
|
65
|
+
])));
|
|
66
|
+
}
|
|
67
|
+
#parameter(value, path) {
|
|
68
|
+
if (typeof value === "number" || typeof value === "boolean") {
|
|
69
|
+
return String(value);
|
|
70
|
+
}
|
|
71
|
+
return this.string(value, path);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=sim-cfn-glue-values.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-glue-values.js","sourceRoot":"","sources":["../../../../src/service/glue/cfn/sim-cfn-glue-values.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4DAA4D,CAAC;AAE9F;;;;;;GAMG;AACH,MAAM,OAAO,gBAAgB;IAClB,KAAK,CAAmB;IACxB,MAAM,CAA4B;IAE3C,YAAY,MAAiC;QAC3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,wCAAwC;IACxC,MAAM,CACJ,KAAsC,EACtC,IAAY;QAEZ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,qCAAqC;IACrC,IAAI,CAAC,KAA0B,EAAE,IAAY;QAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,uCAAuC;IACvC,MAAM,CAAC,KAA0B,EAAE,IAAY;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,4CAA4C;IAC5C,cAAc,CACZ,KAAsC,EACtC,IAAY;QAEZ,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,6CAA6C;IAC7C,eAAe,CACb,KAAsC,EACtC,IAAY;QAEZ,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE;YAC3C,IAAI,OAAO,OAAO,KAAK,SAAS,EAAE,CAAC;gBACjC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,oBAAoB,CAAC,CAAC;YACjD,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4CAA4C;IAC5C,cAAc,CACZ,KAAsC,EACtC,IAAY;QAEZ,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE;YAC3C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,mBAAmB,CAAC,CAAC;YAChD,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;OAUG;IACH,kBAAkB,CAChB,KAAsC,EACtC,IAAY;QAEZ,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAC3C,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;YAC/D,GAAG;YACH,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC;SACzC,CAAC,CACH,CACF,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,KAA0B,EAAE,IAAY;QACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC5D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;CACF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { SimCfnServiceResourceFactory } from "../../cloudformation/resource/factory/sim-cfn-resource-factory.type.js";
|
|
2
|
+
import type { SimCfnResource, SimCloudFormationResourceCreateContext } from "../../cloudformation/resource/sim-cfn-resource.js";
|
|
3
|
+
import type { SimGlue } from "../sim-glue.js";
|
|
4
|
+
interface SimGlueCfnResourceFactoryProperties {
|
|
5
|
+
readonly glue: SimGlue;
|
|
6
|
+
readonly catalogId: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* CloudFormation Resource factory for simulated Glue resources.
|
|
10
|
+
*
|
|
11
|
+
* A database and a table are the two Data Catalog types a stack declares. A
|
|
12
|
+
* crawler is left out: it fills a catalog by reading objects, and nothing here
|
|
13
|
+
* reads one.
|
|
14
|
+
*/
|
|
15
|
+
export declare class SimGlueCfnResourceFactory implements SimCfnServiceResourceFactory {
|
|
16
|
+
#private;
|
|
17
|
+
constructor(properties: SimGlueCfnResourceFactoryProperties);
|
|
18
|
+
/**
|
|
19
|
+
* Create a simulated Glue resource from a CloudFormation Resource.
|
|
20
|
+
*/
|
|
21
|
+
create(resourceTypeName: string, resource: SimCfnResource, context: SimCloudFormationResourceCreateContext): Promise<object | undefined>;
|
|
22
|
+
/**
|
|
23
|
+
* Delete a simulated Glue resource created from a CloudFormation Resource.
|
|
24
|
+
*/
|
|
25
|
+
delete(resourceTypeName: string, resource: SimCfnResource): Promise<void>;
|
|
26
|
+
}
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=sim-glue-cfn-resource-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-glue-cfn-resource-factory.d.ts","sourceRoot":"","sources":["../../../../src/service/glue/cfn/sim-glue-cfn-resource-factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,wEAAwE,CAAC;AAC3H,OAAO,KAAK,EACV,cAAc,EACd,sCAAsC,EACvC,MAAM,mDAAmD,CAAC;AAE3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAK9C,UAAU,mCAAmC;IAC3C,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,qBAAa,yBAA0B,YAAW,4BAA4B;;IAI5E,YAAY,UAAU,EAAE,mCAAmC,EAG1D;IAED;;OAEG;IACH,MAAM,CACJ,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,sCAAsC,GAC9C,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAgB7B;IAED;;OAEG;IACH,MAAM,CAAC,gBAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBxE;CAgBF"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { assertDefined } from "../../../util/type-guard/defined.js";
|
|
2
|
+
import { SimGlueDatabase } from "../database/sim-glue-database.js";
|
|
3
|
+
import { SimGlueTable } from "../table/sim-glue-table.js";
|
|
4
|
+
import { SimCfnGlueDatabaseCreator } from "./database/sim-cfn-glue-database-creator.js";
|
|
5
|
+
import { SimCfnGlueTableCreator } from "./table/sim-cfn-glue-table-creator.js";
|
|
6
|
+
/**
|
|
7
|
+
* CloudFormation Resource factory for simulated Glue resources.
|
|
8
|
+
*
|
|
9
|
+
* A database and a table are the two Data Catalog types a stack declares. A
|
|
10
|
+
* crawler is left out: it fills a catalog by reading objects, and nothing here
|
|
11
|
+
* reads one.
|
|
12
|
+
*/
|
|
13
|
+
export class SimGlueCfnResourceFactory {
|
|
14
|
+
#databaseCreator;
|
|
15
|
+
#tableCreator;
|
|
16
|
+
constructor(properties) {
|
|
17
|
+
this.#databaseCreator = new SimCfnGlueDatabaseCreator(properties);
|
|
18
|
+
this.#tableCreator = new SimCfnGlueTableCreator(properties);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Create a simulated Glue resource from a CloudFormation Resource.
|
|
22
|
+
*/
|
|
23
|
+
create(resourceTypeName, resource, context) {
|
|
24
|
+
const properties = context.resolvedProperties ?? resource.properties;
|
|
25
|
+
if (resourceTypeName === "Database") {
|
|
26
|
+
return Promise.resolve(this.#databaseCreator.create(resource, properties));
|
|
27
|
+
}
|
|
28
|
+
if (resourceTypeName === "Table") {
|
|
29
|
+
return Promise.resolve(this.#tableCreator.create(resource, properties));
|
|
30
|
+
}
|
|
31
|
+
throw new Error(`Unsupported sim Glue CloudFormation Resource ${resourceTypeName}`);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Delete a simulated Glue resource created from a CloudFormation Resource.
|
|
35
|
+
*/
|
|
36
|
+
delete(resourceTypeName, resource) {
|
|
37
|
+
if (resourceTypeName === "Database") {
|
|
38
|
+
this.#databaseCreator.delete(this.#simResource(resource, SimGlueDatabase, "database"));
|
|
39
|
+
return Promise.resolve();
|
|
40
|
+
}
|
|
41
|
+
if (resourceTypeName === "Table") {
|
|
42
|
+
this.#tableCreator.delete(this.#simResource(resource, SimGlueTable, "table"));
|
|
43
|
+
return Promise.resolve();
|
|
44
|
+
}
|
|
45
|
+
throw new Error(`Unsupported sim Glue CloudFormation Resource ${resourceTypeName} ` +
|
|
46
|
+
`deletion`);
|
|
47
|
+
}
|
|
48
|
+
#simResource(resource, kind, label) {
|
|
49
|
+
const simResource = resource.simResource;
|
|
50
|
+
assertDefined(simResource instanceof kind ? simResource : undefined, `sim Glue ${label} for CloudFormation Resource ${resource.logicalId}`);
|
|
51
|
+
return simResource;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=sim-glue-cfn-resource-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-glue-cfn-resource-factory.js","sourceRoot":"","sources":["../../../../src/service/glue/cfn/sim-glue-cfn-resource-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAMpE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AACxF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAO/E;;;;;;GAMG;AACH,MAAM,OAAO,yBAAyB;IAC3B,gBAAgB,CAA4B;IAC5C,aAAa,CAAyB;IAE/C,YAAY,UAA+C;QACzD,IAAI,CAAC,gBAAgB,GAAG,IAAI,yBAAyB,CAAC,UAAU,CAAC,CAAC;QAClE,IAAI,CAAC,aAAa,GAAG,IAAI,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,MAAM,CACJ,gBAAwB,EACxB,QAAwB,EACxB,OAA+C;QAE/C,MAAM,UAAU,GAAG,OAAO,CAAC,kBAAkB,IAAI,QAAQ,CAAC,UAAU,CAAC;QAErE,IAAI,gBAAgB,KAAK,UAAU,EAAE,CAAC;YACpC,OAAO,OAAO,CAAC,OAAO,CACpB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CACnD,CAAC;QACJ,CAAC;QAED,IAAI,gBAAgB,KAAK,OAAO,EAAE,CAAC;YACjC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,IAAI,KAAK,CACb,gDAAgD,gBAAgB,EAAE,CACnE,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,gBAAwB,EAAE,QAAwB;QACvD,IAAI,gBAAgB,KAAK,UAAU,EAAE,CAAC;YACpC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAC1B,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,eAAe,EAAE,UAAU,CAAC,CACzD,CAAC;YAEF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QAED,IAAI,gBAAgB,KAAK,OAAO,EAAE,CAAC;YACjC,IAAI,CAAC,aAAa,CAAC,MAAM,CACvB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,CACnD,CAAC;YAEF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QAED,MAAM,IAAI,KAAK,CACb,gDAAgD,gBAAgB,GAAG;YACjE,UAAU,CACb,CAAC;IACJ,CAAC;IAED,YAAY,CACV,QAAwB,EACxB,IAAgD,EAChD,KAAa;QAEb,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QAEzC,aAAa,CACX,WAAW,YAAY,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EACrD,YAAY,KAAK,gCAAgC,QAAQ,CAAC,SAAS,EAAE,CACtE,CAAC;QAEF,OAAO,WAAgB,CAAC;IAC1B,CAAC;CACF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { SimCfnPropertyIgnorer } from "../../../cloudformation/resource/ignore/sim-cfn-ignored-property.type.js";
|
|
2
|
+
import type { SimCfnTemplateValue } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
3
|
+
import type { SimGlueColumn, SimGlueSerDeInfo } from "../../table/sim-glue-table-schema.js";
|
|
4
|
+
import { SimCfnGlueRecord } from "../sim-cfn-glue-record.js";
|
|
5
|
+
import type { SimCfnGlueValues } from "../sim-cfn-glue-values.js";
|
|
6
|
+
/**
|
|
7
|
+
* Reads the column lists and the SerDe out of a template.
|
|
8
|
+
*
|
|
9
|
+
* Real Glue uses one `Column` shape for data columns and for partition keys,
|
|
10
|
+
* so the same reader answers for both.
|
|
11
|
+
*/
|
|
12
|
+
export declare class SimCfnGlueColumns {
|
|
13
|
+
#private;
|
|
14
|
+
constructor(ignorer: SimCfnPropertyIgnorer);
|
|
15
|
+
/** Read a list of columns, in the order they were declared. */
|
|
16
|
+
list(values: SimCfnGlueValues, value: SimCfnTemplateValue, path: string): readonly SimGlueColumn[];
|
|
17
|
+
/** Read how rows are serialized and deserialized. */
|
|
18
|
+
serdeInfo(fields: SimCfnGlueRecord): SimGlueSerDeInfo;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=sim-cfn-glue-columns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-glue-columns.d.ts","sourceRoot":"","sources":["../../../../../src/service/glue/cfn/table/sim-cfn-glue-columns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0EAA0E,CAAC;AACtH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kEAAkE,CAAC;AAC5G,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EACjB,MAAM,sCAAsC,CAAC;AAG9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAKlE;;;;;GAKG;AACH,qBAAa,iBAAiB;;IAG5B,YAAY,OAAO,EAAE,qBAAqB,EAEzC;IAED,+DAA+D;IAC/D,IAAI,CACF,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,mBAAmB,EAC1B,IAAI,EAAE,MAAM,GACX,SAAS,aAAa,EAAE,CAQ1B;IAED,qDAAqD;IACrD,SAAS,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAQpD;CA4BF"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { definedEntries } from "../../../../util/record/defined-entries.js";
|
|
2
|
+
import { recordUnreadGlueProperties } from "../sim-cfn-glue-ignored.js";
|
|
3
|
+
import { SimCfnGlueRecord } from "../sim-cfn-glue-record.js";
|
|
4
|
+
const readColumnNames = new Set(["Name", "Type", "Comment", "Parameters"]);
|
|
5
|
+
const readSerdeNames = new Set(["Name", "SerializationLibrary", "Parameters"]);
|
|
6
|
+
/**
|
|
7
|
+
* Reads the column lists and the SerDe out of a template.
|
|
8
|
+
*
|
|
9
|
+
* Real Glue uses one `Column` shape for data columns and for partition keys,
|
|
10
|
+
* so the same reader answers for both.
|
|
11
|
+
*/
|
|
12
|
+
export class SimCfnGlueColumns {
|
|
13
|
+
#ignorer;
|
|
14
|
+
constructor(ignorer) {
|
|
15
|
+
this.#ignorer = ignorer;
|
|
16
|
+
}
|
|
17
|
+
/** Read a list of columns, in the order they were declared. */
|
|
18
|
+
list(values, value, path) {
|
|
19
|
+
return values.list(value, path).map((column, index) => {
|
|
20
|
+
const at = `${path}.${index}`;
|
|
21
|
+
return this.#column(new SimCfnGlueRecord(values, values.record(column, at), at));
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
/** Read how rows are serialized and deserialized. */
|
|
25
|
+
serdeInfo(fields) {
|
|
26
|
+
this.#unread(fields, readSerdeNames, "SerdeInfo");
|
|
27
|
+
return definedEntries({
|
|
28
|
+
Name: fields.string("Name"),
|
|
29
|
+
SerializationLibrary: fields.string("SerializationLibrary"),
|
|
30
|
+
Parameters: fields.parameters("Parameters"),
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
#column(fields) {
|
|
34
|
+
this.#unread(fields, readColumnNames, "Column");
|
|
35
|
+
return definedEntries({
|
|
36
|
+
Name: fields.values.string(fields.required("Name"), `${fields.path}.Name`),
|
|
37
|
+
Type: fields.string("Type"),
|
|
38
|
+
Comment: fields.string("Comment"),
|
|
39
|
+
Parameters: fields.parameters("Parameters"),
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
#unread(fields, known, owner) {
|
|
43
|
+
recordUnreadGlueProperties({
|
|
44
|
+
ignorer: this.#ignorer,
|
|
45
|
+
fields,
|
|
46
|
+
known,
|
|
47
|
+
owner,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=sim-cfn-glue-columns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-glue-columns.js","sourceRoot":"","sources":["../../../../../src/service/glue/cfn/table/sim-cfn-glue-columns.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7D,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;AAC3E,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,sBAAsB,EAAE,YAAY,CAAC,CAAC,CAAC;AAE/E;;;;;GAKG;AACH,MAAM,OAAO,iBAAiB;IACnB,QAAQ,CAAwB;IAEzC,YAAY,OAA8B;QACxC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,+DAA+D;IAC/D,IAAI,CACF,MAAwB,EACxB,KAA0B,EAC1B,IAAY;QAEZ,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACpD,MAAM,EAAE,GAAG,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC;YAE9B,OAAO,IAAI,CAAC,OAAO,CACjB,IAAI,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAC5D,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qDAAqD;IACrD,SAAS,CAAC,MAAwB;QAChC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;QAElD,OAAO,cAAc,CAAC;YACpB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;YAC3B,oBAAoB,EAAE,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC;YAC3D,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;SAC5C,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,MAAwB;QAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;QAEhD,OAAO,cAAc,CAAC;YACpB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CACxB,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EACvB,GAAG,MAAM,CAAC,IAAI,OAAO,CACtB;YACD,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;YAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;YACjC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;SAC5C,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CACL,MAAwB,EACxB,KAA0B,EAC1B,KAAa;QAEb,0BAA0B,CAAC;YACzB,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,MAAM;YACN,KAAK;YACL,KAAK;SACN,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { SimCfnPropertyIgnorer } from "../../../cloudformation/resource/ignore/sim-cfn-ignored-property.type.js";
|
|
2
|
+
import type { SimGlueStorageDescriptor } from "../../table/sim-glue-table-schema.js";
|
|
3
|
+
import type { SimCfnGlueRecord } from "../sim-cfn-glue-record.js";
|
|
4
|
+
import { SimCfnGlueColumns } from "./sim-cfn-glue-columns.js";
|
|
5
|
+
/**
|
|
6
|
+
* Reads a table's StorageDescriptor out of a template.
|
|
7
|
+
*
|
|
8
|
+
* The columns keep the order they were declared in, which is the order a query
|
|
9
|
+
* over a delimited or a positional format reads them by.
|
|
10
|
+
*/
|
|
11
|
+
export declare class SimCfnGlueStorageDescriptor {
|
|
12
|
+
#private;
|
|
13
|
+
constructor(ignorer: SimCfnPropertyIgnorer);
|
|
14
|
+
/** The column reader, which partition keys are read through too. */
|
|
15
|
+
get columns(): SimCfnGlueColumns;
|
|
16
|
+
/** Read the whole descriptor. */
|
|
17
|
+
read(fields: SimCfnGlueRecord): SimGlueStorageDescriptor;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=sim-cfn-glue-storage-descriptor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-glue-storage-descriptor.d.ts","sourceRoot":"","sources":["../../../../../src/service/glue/cfn/table/sim-cfn-glue-storage-descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0EAA0E,CAAC;AAEtH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAErF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAe9D;;;;;GAKG;AACH,qBAAa,2BAA2B;;IAItC,YAAY,OAAO,EAAE,qBAAqB,EAGzC;IAED,oEAAoE;IACpE,IAAI,OAAO,IAAI,iBAAiB,CAE/B;IAED,iCAAiC;IACjC,IAAI,CAAC,MAAM,EAAE,gBAAgB,GAAG,wBAAwB,CAoBvD;CAqBF"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { definedEntries } from "../../../../util/record/defined-entries.js";
|
|
2
|
+
import { recordUnreadGlueProperties } from "../sim-cfn-glue-ignored.js";
|
|
3
|
+
import { SimCfnGlueColumns } from "./sim-cfn-glue-columns.js";
|
|
4
|
+
import { unsimulatedStorageDescriptorReasons } from "./sim-cfn-glue-table-unsimulated-properties.js";
|
|
5
|
+
const readNames = new Set([
|
|
6
|
+
"Columns",
|
|
7
|
+
"Location",
|
|
8
|
+
"InputFormat",
|
|
9
|
+
"OutputFormat",
|
|
10
|
+
"Compressed",
|
|
11
|
+
"NumberOfBuckets",
|
|
12
|
+
"SerdeInfo",
|
|
13
|
+
"BucketColumns",
|
|
14
|
+
"Parameters",
|
|
15
|
+
]);
|
|
16
|
+
/**
|
|
17
|
+
* Reads a table's StorageDescriptor out of a template.
|
|
18
|
+
*
|
|
19
|
+
* The columns keep the order they were declared in, which is the order a query
|
|
20
|
+
* over a delimited or a positional format reads them by.
|
|
21
|
+
*/
|
|
22
|
+
export class SimCfnGlueStorageDescriptor {
|
|
23
|
+
#ignorer;
|
|
24
|
+
#columns;
|
|
25
|
+
constructor(ignorer) {
|
|
26
|
+
this.#ignorer = ignorer;
|
|
27
|
+
this.#columns = new SimCfnGlueColumns(ignorer);
|
|
28
|
+
}
|
|
29
|
+
/** The column reader, which partition keys are read through too. */
|
|
30
|
+
get columns() {
|
|
31
|
+
return this.#columns;
|
|
32
|
+
}
|
|
33
|
+
/** Read the whole descriptor. */
|
|
34
|
+
read(fields) {
|
|
35
|
+
this.#recordIgnored(fields);
|
|
36
|
+
return definedEntries({
|
|
37
|
+
Columns: fields.read("Columns", (value, path) => this.#columns.list(fields.values, value, path)),
|
|
38
|
+
Location: fields.string("Location"),
|
|
39
|
+
InputFormat: fields.string("InputFormat"),
|
|
40
|
+
OutputFormat: fields.string("OutputFormat"),
|
|
41
|
+
Compressed: fields.boolean("Compressed"),
|
|
42
|
+
NumberOfBuckets: fields.number("NumberOfBuckets"),
|
|
43
|
+
SerdeInfo: fields.read("SerdeInfo", (value, path) => this.#columns.serdeInfo(fields.nested(value, path))),
|
|
44
|
+
BucketColumns: fields.read("BucketColumns", (value, path) => this.#bucketColumns(fields, value, path)),
|
|
45
|
+
Parameters: fields.parameters("Parameters"),
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
#bucketColumns(fields, value, path) {
|
|
49
|
+
return fields.values
|
|
50
|
+
.list(value, path)
|
|
51
|
+
.map((column, index) => fields.values.string(column, `${path}.${index}`));
|
|
52
|
+
}
|
|
53
|
+
#recordIgnored(fields) {
|
|
54
|
+
recordUnreadGlueProperties({
|
|
55
|
+
ignorer: this.#ignorer,
|
|
56
|
+
fields,
|
|
57
|
+
known: readNames,
|
|
58
|
+
owner: "StorageDescriptor",
|
|
59
|
+
reasons: unsimulatedStorageDescriptorReasons,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=sim-cfn-glue-storage-descriptor.js.map
|