@kensio/yulin 1.20.6 → 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-logs-collaborators.d.ts +6 -0
- package/dist/service/aws/factory/sim-aws-logs-collaborators.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-logs-collaborators.js +9 -0
- package/dist/service/aws/factory/sim-aws-logs-collaborators.js.map +1 -1
- 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/cloudformation/resource/sim-cfn-resource-record.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/sim-cfn-resource-record.js +9 -0
- package/dist/service/cloudformation/resource/sim-cfn-resource-record.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/service/logs/command/delivery/sim-logs-delivery-source-commands.d.ts +5 -1
- package/dist/service/logs/command/delivery/sim-logs-delivery-source-commands.d.ts.map +1 -1
- package/dist/service/logs/command/delivery/sim-logs-delivery-source-commands.js +10 -1
- package/dist/service/logs/command/delivery/sim-logs-delivery-source-commands.js.map +1 -1
- package/dist/service/logs/delivery/cloudfront/sim-aws-logs-delivery-distributions.d.ts +34 -0
- package/dist/service/logs/delivery/cloudfront/sim-aws-logs-delivery-distributions.d.ts.map +1 -0
- package/dist/service/logs/delivery/cloudfront/sim-aws-logs-delivery-distributions.js +54 -0
- package/dist/service/logs/delivery/cloudfront/sim-aws-logs-delivery-distributions.js.map +1 -0
- package/dist/service/logs/delivery/sim-logs-delivery-source-resources.d.ts +28 -0
- package/dist/service/logs/delivery/sim-logs-delivery-source-resources.d.ts.map +1 -0
- package/dist/service/logs/delivery/sim-logs-delivery-source-resources.js +14 -0
- package/dist/service/logs/delivery/sim-logs-delivery-source-resources.js.map +1 -0
- package/dist/service/logs/sim-logs-commands.d.ts +7 -0
- package/dist/service/logs/sim-logs-commands.d.ts.map +1 -1
- package/dist/service/logs/sim-logs-commands.js +3 -1
- package/dist/service/logs/sim-logs-commands.js.map +1 -1
- 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,45 @@
|
|
|
1
|
+
import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
|
|
2
|
+
import type { SimAwsResolvedCaller } from "../../../aws/caller/sim-aws-caller-resolver.js";
|
|
3
|
+
import type { SimAwsAccountRegionScope } from "../../../aws/sim-aws-account-region-scope.js";
|
|
4
|
+
import type { SimIamInterServiceAuthZ } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
5
|
+
interface SimGlueAuthorizerProperties {
|
|
6
|
+
readonly iam: SimIamInterServiceAuthZ;
|
|
7
|
+
readonly accountRegionScope: SimAwsAccountRegionScope;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Applies simulated IAM authorization to Glue requests.
|
|
11
|
+
*
|
|
12
|
+
* Data Catalog resources are a hierarchy with the catalog at the root, and an
|
|
13
|
+
* operation on one needs permission on that resource and on every ancestor of
|
|
14
|
+
* it. Reading a table needs the table, the database and the catalog, and a
|
|
15
|
+
* policy naming only the table ARN is denied. Deleting a database also needs
|
|
16
|
+
* permission on every table in it.
|
|
17
|
+
*
|
|
18
|
+
* That rule is why each method authorizes a list. A policy written for real
|
|
19
|
+
* Glue already names the ancestors, and one that names only the leaf fails the
|
|
20
|
+
* same way in both places.
|
|
21
|
+
*/
|
|
22
|
+
export declare class SimGlueAuthorizer {
|
|
23
|
+
#private;
|
|
24
|
+
constructor(properties: SimGlueAuthorizerProperties);
|
|
25
|
+
/**
|
|
26
|
+
* Ensure the caller may perform an action on a database.
|
|
27
|
+
*
|
|
28
|
+
* The database need not exist. Real IAM evaluates a request before the
|
|
29
|
+
* service handles it, so a caller with no permission is refused whether or
|
|
30
|
+
* not the database is there.
|
|
31
|
+
*/
|
|
32
|
+
authorizeDatabase(action: string, databaseName: string, caller?: SimAwsCaller): SimAwsResolvedCaller;
|
|
33
|
+
/** Ensure the caller may perform an action on a table. */
|
|
34
|
+
authorizeTable(action: string, databaseName: string, tableName: string, caller?: SimAwsCaller): SimAwsResolvedCaller;
|
|
35
|
+
/** Ensure the caller may delete a database holding these tables. */
|
|
36
|
+
authorizeDatabaseDeletion(databaseName: string, tableNames: readonly string[], caller?: SimAwsCaller): SimAwsResolvedCaller;
|
|
37
|
+
/**
|
|
38
|
+
* Ensure the caller may perform an action naming no particular database.
|
|
39
|
+
*
|
|
40
|
+
* The catalog has no ancestor, so it is the whole of the list.
|
|
41
|
+
*/
|
|
42
|
+
authorizeCatalog(action: string, caller?: SimAwsCaller): SimAwsResolvedCaller;
|
|
43
|
+
}
|
|
44
|
+
export {};
|
|
45
|
+
//# sourceMappingURL=sim-glue-authorizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-glue-authorizer.d.ts","sourceRoot":"","sources":["../../../../../src/service/glue/command/authorize/sim-glue-authorizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wDAAwD,CAAC;AAStG,UAAU,2BAA2B;IACnC,QAAQ,CAAC,GAAG,EAAE,uBAAuB,CAAC;IACtC,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;CACvD;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,iBAAiB;;IAI5B,YAAY,UAAU,EAAE,2BAA2B,EAGlD;IAED;;;;;;OAMG;IACH,iBAAiB,CACf,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,YAAY,GACpB,oBAAoB,CAMtB;IAED,0DAA0D;IAC1D,cAAc,CACZ,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,YAAY,GACpB,oBAAoB,CAMtB;IAED,oEAAoE;IACpE,yBAAyB,CACvB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,MAAM,CAAC,EAAE,YAAY,GACpB,oBAAoB,CAMtB;IAED;;;;OAIG;IACH,gBAAgB,CACd,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,YAAY,GACpB,oBAAoB,CAEtB;CAcF"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { simGlueCatalogArn } from "../../arn/sim-glue-arn.js";
|
|
2
|
+
import { authorizeSimGlueResources } from "./sim-glue-authorize-resources.js";
|
|
3
|
+
import { simGlueDatabaseDeletionResources, simGlueDatabaseResources, simGlueTableResources, } from "../../arn/sim-glue-authorized-resources.js";
|
|
4
|
+
/**
|
|
5
|
+
* Applies simulated IAM authorization to Glue requests.
|
|
6
|
+
*
|
|
7
|
+
* Data Catalog resources are a hierarchy with the catalog at the root, and an
|
|
8
|
+
* operation on one needs permission on that resource and on every ancestor of
|
|
9
|
+
* it. Reading a table needs the table, the database and the catalog, and a
|
|
10
|
+
* policy naming only the table ARN is denied. Deleting a database also needs
|
|
11
|
+
* permission on every table in it.
|
|
12
|
+
*
|
|
13
|
+
* That rule is why each method authorizes a list. A policy written for real
|
|
14
|
+
* Glue already names the ancestors, and one that names only the leaf fails the
|
|
15
|
+
* same way in both places.
|
|
16
|
+
*/
|
|
17
|
+
export class SimGlueAuthorizer {
|
|
18
|
+
#iam;
|
|
19
|
+
#scope;
|
|
20
|
+
constructor(properties) {
|
|
21
|
+
this.#iam = properties.iam;
|
|
22
|
+
this.#scope = properties.accountRegionScope;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Ensure the caller may perform an action on a database.
|
|
26
|
+
*
|
|
27
|
+
* The database need not exist. Real IAM evaluates a request before the
|
|
28
|
+
* service handles it, so a caller with no permission is refused whether or
|
|
29
|
+
* not the database is there.
|
|
30
|
+
*/
|
|
31
|
+
authorizeDatabase(action, databaseName, caller) {
|
|
32
|
+
return this.#authorize(action, simGlueDatabaseResources(this.#scope, databaseName), caller);
|
|
33
|
+
}
|
|
34
|
+
/** Ensure the caller may perform an action on a table. */
|
|
35
|
+
authorizeTable(action, databaseName, tableName, caller) {
|
|
36
|
+
return this.#authorize(action, simGlueTableResources(this.#scope, databaseName, tableName), caller);
|
|
37
|
+
}
|
|
38
|
+
/** Ensure the caller may delete a database holding these tables. */
|
|
39
|
+
authorizeDatabaseDeletion(databaseName, tableNames, caller) {
|
|
40
|
+
return this.#authorize("glue:DeleteDatabase", simGlueDatabaseDeletionResources(this.#scope, databaseName, tableNames), caller);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Ensure the caller may perform an action naming no particular database.
|
|
44
|
+
*
|
|
45
|
+
* The catalog has no ancestor, so it is the whole of the list.
|
|
46
|
+
*/
|
|
47
|
+
authorizeCatalog(action, caller) {
|
|
48
|
+
return this.#authorize(action, [simGlueCatalogArn(this.#scope)], caller);
|
|
49
|
+
}
|
|
50
|
+
#authorize(action, resources, caller) {
|
|
51
|
+
return authorizeSimGlueResources({
|
|
52
|
+
iam: this.#iam,
|
|
53
|
+
action,
|
|
54
|
+
resources,
|
|
55
|
+
caller,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=sim-glue-authorizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-glue-authorizer.js","sourceRoot":"","sources":["../../../../../src/service/glue/command/authorize/sim-glue-authorizer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EACL,gCAAgC,EAChC,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,4CAA4C,CAAC;AAOpD;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,iBAAiB;IACnB,IAAI,CAA0B;IAC9B,MAAM,CAA2B;IAE1C,YAAY,UAAuC;QACjD,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,kBAAkB,CAAC;IAC9C,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB,CACf,MAAc,EACd,YAAoB,EACpB,MAAqB;QAErB,OAAO,IAAI,CAAC,UAAU,CACpB,MAAM,EACN,wBAAwB,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,EACnD,MAAM,CACP,CAAC;IACJ,CAAC;IAED,0DAA0D;IAC1D,cAAc,CACZ,MAAc,EACd,YAAoB,EACpB,SAAiB,EACjB,MAAqB;QAErB,OAAO,IAAI,CAAC,UAAU,CACpB,MAAM,EACN,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,EAC3D,MAAM,CACP,CAAC;IACJ,CAAC;IAED,oEAAoE;IACpE,yBAAyB,CACvB,YAAoB,EACpB,UAA6B,EAC7B,MAAqB;QAErB,OAAO,IAAI,CAAC,UAAU,CACpB,qBAAqB,EACrB,gCAAgC,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,EACvE,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CACd,MAAc,EACd,MAAqB;QAErB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC3E,CAAC;IAED,UAAU,CACR,MAAc,EACd,SAA4B,EAC5B,MAAgC;QAEhC,OAAO,yBAAyB,CAAC;YAC/B,GAAG,EAAE,IAAI,CAAC,IAAI;YACd,MAAM;YACN,SAAS;YACT,MAAM;SACP,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import type { SimResponseMetadata } from "../../../aws/metadata/response-metadata.type.js";
|
|
2
|
+
/**
|
|
3
|
+
* What a caller declares a database with.
|
|
4
|
+
*
|
|
5
|
+
* https://docs.aws.amazon.com/glue/latest/webapi/API_DatabaseInput.html
|
|
6
|
+
*/
|
|
7
|
+
export interface SimGlueDatabaseInputShape {
|
|
8
|
+
readonly Name?: string | undefined;
|
|
9
|
+
readonly Description?: string | undefined;
|
|
10
|
+
readonly LocationUri?: string | undefined;
|
|
11
|
+
readonly Parameters?: Readonly<Record<string, string>> | undefined;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* What GetDatabase reports about one database.
|
|
15
|
+
*/
|
|
16
|
+
export interface SimGlueDatabaseDetail {
|
|
17
|
+
readonly Name: string;
|
|
18
|
+
readonly Description?: string | undefined;
|
|
19
|
+
readonly LocationUri?: string | undefined;
|
|
20
|
+
readonly Parameters: Readonly<Record<string, string>>;
|
|
21
|
+
readonly CreateTime: Date;
|
|
22
|
+
readonly CatalogId: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Minimal structural sim Glue CreateDatabase command.
|
|
26
|
+
*
|
|
27
|
+
* https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/glue/command/CreateDatabaseCommand/
|
|
28
|
+
*/
|
|
29
|
+
export interface SimCreateDatabaseCommand {
|
|
30
|
+
readonly input: SimCreateDatabaseCommandInput;
|
|
31
|
+
}
|
|
32
|
+
export interface SimCreateDatabaseCommandInput {
|
|
33
|
+
readonly CatalogId?: string | undefined;
|
|
34
|
+
readonly DatabaseInput?: SimGlueDatabaseInputShape | undefined;
|
|
35
|
+
readonly Tags?: Readonly<Record<string, string>> | undefined;
|
|
36
|
+
}
|
|
37
|
+
export interface SimCreateDatabaseCommandOutput {
|
|
38
|
+
readonly $metadata: SimResponseMetadata;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Minimal structural sim Glue GetDatabase command.
|
|
42
|
+
*
|
|
43
|
+
* https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/glue/command/GetDatabaseCommand/
|
|
44
|
+
*/
|
|
45
|
+
export interface SimGetDatabaseCommand {
|
|
46
|
+
readonly input: SimGetDatabaseCommandInput;
|
|
47
|
+
}
|
|
48
|
+
export interface SimGetDatabaseCommandInput {
|
|
49
|
+
readonly CatalogId?: string | undefined;
|
|
50
|
+
readonly Name?: string | undefined;
|
|
51
|
+
}
|
|
52
|
+
export interface SimGetDatabaseCommandOutput {
|
|
53
|
+
readonly Database: SimGlueDatabaseDetail;
|
|
54
|
+
readonly $metadata: SimResponseMetadata;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Minimal structural sim Glue GetDatabases command.
|
|
58
|
+
*
|
|
59
|
+
* https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/glue/command/GetDatabasesCommand/
|
|
60
|
+
*/
|
|
61
|
+
export interface SimGetDatabasesCommand {
|
|
62
|
+
readonly input: SimGetDatabasesCommandInput;
|
|
63
|
+
}
|
|
64
|
+
export interface SimGetDatabasesCommandInput {
|
|
65
|
+
readonly CatalogId?: string | undefined;
|
|
66
|
+
}
|
|
67
|
+
export interface SimGetDatabasesCommandOutput {
|
|
68
|
+
readonly DatabaseList: readonly SimGlueDatabaseDetail[];
|
|
69
|
+
readonly $metadata: SimResponseMetadata;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Minimal structural sim Glue DeleteDatabase command.
|
|
73
|
+
*
|
|
74
|
+
* https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/glue/command/DeleteDatabaseCommand/
|
|
75
|
+
*/
|
|
76
|
+
export interface SimDeleteDatabaseCommand {
|
|
77
|
+
readonly input: SimDeleteDatabaseCommandInput;
|
|
78
|
+
}
|
|
79
|
+
export interface SimDeleteDatabaseCommandInput {
|
|
80
|
+
readonly CatalogId?: string | undefined;
|
|
81
|
+
readonly Name?: string | undefined;
|
|
82
|
+
}
|
|
83
|
+
export interface SimDeleteDatabaseCommandOutput {
|
|
84
|
+
readonly $metadata: SimResponseMetadata;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=database.command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database.command.d.ts","sourceRoot":"","sources":["../../../../../src/service/glue/command/database/database.command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAE3F;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;CACpE;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,EAAE,6BAA6B,CAAC;CAC/C;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;IAC/D,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;CAC9D;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;CACzC;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,0BAA0B,CAAC;CAC5C;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;CACzC;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,2BAA2B,CAAC;CAC7C;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,YAAY,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACxD,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;CACzC;AAED;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,EAAE,6BAA6B,CAAC;CAC/C;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;CACzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database.command.js","sourceRoot":"","sources":["../../../../../src/service/glue/command/database/database.command.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { SimAwsAccountRegionScope } from "../../../aws/sim-aws-account-region-scope.js";
|
|
2
|
+
import type { SimClock } from "../../../../util/clock/sim-clock.js";
|
|
3
|
+
import type { SimGlueDatabaseStore } from "../../database/sim-glue-database-store.js";
|
|
4
|
+
import type { SimGlueTableStore } from "../../table/sim-glue-table-store.js";
|
|
5
|
+
import type { SimGlueAuthorizer } from "../authorize/sim-glue-authorizer.js";
|
|
6
|
+
import type { SimGlueRequestOptions } from "../sim-glue-request-options.js";
|
|
7
|
+
import type { SimCreateDatabaseCommand, SimCreateDatabaseCommandOutput, SimDeleteDatabaseCommand, SimDeleteDatabaseCommandOutput, SimGetDatabaseCommand, SimGetDatabaseCommandOutput, SimGetDatabasesCommand, SimGetDatabasesCommandOutput } from "./database.command.js";
|
|
8
|
+
interface SimGlueDatabaseCommandsProperties {
|
|
9
|
+
readonly databases: SimGlueDatabaseStore;
|
|
10
|
+
readonly tables: SimGlueTableStore;
|
|
11
|
+
readonly authorizer: SimGlueAuthorizer;
|
|
12
|
+
readonly accountRegionScope: SimAwsAccountRegionScope;
|
|
13
|
+
readonly clock: SimClock;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* The commands that make, read and remove Glue databases.
|
|
17
|
+
*/
|
|
18
|
+
export declare class SimGlueDatabaseCommands {
|
|
19
|
+
#private;
|
|
20
|
+
constructor(properties: SimGlueDatabaseCommandsProperties);
|
|
21
|
+
/**
|
|
22
|
+
* Make a database.
|
|
23
|
+
*
|
|
24
|
+
* Creation is not idempotent on real Glue, so a name already in use fails
|
|
25
|
+
* rather than answering with the database that is there.
|
|
26
|
+
*/
|
|
27
|
+
createDatabase(command: SimCreateDatabaseCommand, options?: SimGlueRequestOptions): SimCreateDatabaseCommandOutput;
|
|
28
|
+
/**
|
|
29
|
+
* Read a database back.
|
|
30
|
+
*/
|
|
31
|
+
getDatabase(command: SimGetDatabaseCommand, options?: SimGlueRequestOptions): SimGetDatabaseCommandOutput;
|
|
32
|
+
/**
|
|
33
|
+
* Read every database in this catalog, in creation order.
|
|
34
|
+
*/
|
|
35
|
+
getDatabases(command: SimGetDatabasesCommand, options?: SimGlueRequestOptions): SimGetDatabasesCommandOutput;
|
|
36
|
+
/**
|
|
37
|
+
* Remove a database, and the tables it holds with it.
|
|
38
|
+
*/
|
|
39
|
+
deleteDatabase(command: SimDeleteDatabaseCommand, options?: SimGlueRequestOptions): SimDeleteDatabaseCommandOutput;
|
|
40
|
+
}
|
|
41
|
+
export {};
|
|
42
|
+
//# sourceMappingURL=sim-glue-database-commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-glue-database-commands.d.ts","sourceRoot":"","sources":["../../../../../src/service/glue/command/database/sim-glue-database-commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAEpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,KAAK,EACV,wBAAwB,EACxB,8BAA8B,EAC9B,wBAAwB,EACxB,8BAA8B,EAC9B,qBAAqB,EACrB,2BAA2B,EAC3B,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,uBAAuB,CAAC;AAG/B,UAAU,iCAAiC;IACzC,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;IACtD,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,uBAAuB;;IAOlC,YAAY,UAAU,EAAE,iCAAiC,EAMxD;IAED;;;;;OAKG;IACH,cAAc,CACZ,OAAO,EAAE,wBAAwB,EACjC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,8BAA8B,CAmBhC;IAED;;OAEG;IACH,WAAW,CACT,OAAO,EAAE,qBAAqB,EAC9B,OAAO,CAAC,EAAE,qBAAqB,GAC9B,2BAA2B,CAe7B;IAED;;OAEG;IACH,YAAY,CACV,OAAO,EAAE,sBAAsB,EAC/B,OAAO,CAAC,EAAE,qBAAqB,GAC9B,4BAA4B,CAS9B;IAED;;OAEG;IACH,cAAc,CACZ,OAAO,EAAE,wBAAwB,EACjC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,8BAA8B,CAgBhC;CACF"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { requiredSimGlueName } from "../../database/sim-glue-catalog-name.js";
|
|
2
|
+
import { requireSimGlueCatalogId } from "../sim-glue-catalog-id.js";
|
|
3
|
+
import { simGlueDatabaseDetail } from "./sim-glue-database-detail.js";
|
|
4
|
+
/**
|
|
5
|
+
* The commands that make, read and remove Glue databases.
|
|
6
|
+
*/
|
|
7
|
+
export class SimGlueDatabaseCommands {
|
|
8
|
+
#databases;
|
|
9
|
+
#tables;
|
|
10
|
+
#authorizer;
|
|
11
|
+
#accountRegionScope;
|
|
12
|
+
#clock;
|
|
13
|
+
constructor(properties) {
|
|
14
|
+
this.#databases = properties.databases;
|
|
15
|
+
this.#tables = properties.tables;
|
|
16
|
+
this.#authorizer = properties.authorizer;
|
|
17
|
+
this.#accountRegionScope = properties.accountRegionScope;
|
|
18
|
+
this.#clock = properties.clock;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Make a database.
|
|
22
|
+
*
|
|
23
|
+
* Creation is not idempotent on real Glue, so a name already in use fails
|
|
24
|
+
* rather than answering with the database that is there.
|
|
25
|
+
*/
|
|
26
|
+
createDatabase(command, options) {
|
|
27
|
+
requireSimGlueCatalogId(this.#accountRegionScope, command.input.CatalogId);
|
|
28
|
+
const input = command.input.DatabaseInput ?? {};
|
|
29
|
+
const name = requiredSimGlueName("DatabaseInput.Name", input.Name);
|
|
30
|
+
this.#authorizer.authorizeDatabase("glue:CreateDatabase", name, options?.caller);
|
|
31
|
+
this.#databases.create(name, this.#clock.now(), {
|
|
32
|
+
description: input.Description,
|
|
33
|
+
locationUri: input.LocationUri,
|
|
34
|
+
parameters: input.Parameters,
|
|
35
|
+
});
|
|
36
|
+
return { $metadata: {} };
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Read a database back.
|
|
40
|
+
*/
|
|
41
|
+
getDatabase(command, options) {
|
|
42
|
+
requireSimGlueCatalogId(this.#accountRegionScope, command.input.CatalogId);
|
|
43
|
+
const name = requiredSimGlueName("Name", command.input.Name);
|
|
44
|
+
this.#authorizer.authorizeDatabase("glue:GetDatabase", name, options?.caller);
|
|
45
|
+
return {
|
|
46
|
+
Database: simGlueDatabaseDetail(this.#databases.require(name)),
|
|
47
|
+
$metadata: {},
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Read every database in this catalog, in creation order.
|
|
52
|
+
*/
|
|
53
|
+
getDatabases(command, options) {
|
|
54
|
+
requireSimGlueCatalogId(this.#accountRegionScope, command.input.CatalogId);
|
|
55
|
+
this.#authorizer.authorizeCatalog("glue:GetDatabases", options?.caller);
|
|
56
|
+
return {
|
|
57
|
+
DatabaseList: this.#databases.all.map(simGlueDatabaseDetail),
|
|
58
|
+
$metadata: {},
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Remove a database, and the tables it holds with it.
|
|
63
|
+
*/
|
|
64
|
+
deleteDatabase(command, options) {
|
|
65
|
+
requireSimGlueCatalogId(this.#accountRegionScope, command.input.CatalogId);
|
|
66
|
+
const name = requiredSimGlueName("Name", command.input.Name);
|
|
67
|
+
this.#authorizer.authorizeDatabaseDeletion(name, this.#tables.inDatabase(name).map((table) => table.name), options?.caller);
|
|
68
|
+
this.#databases.require(name);
|
|
69
|
+
this.#databases.delete(name);
|
|
70
|
+
this.#tables.deleteDatabase(name);
|
|
71
|
+
return { $metadata: {} };
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=sim-glue-database-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-glue-database-commands.js","sourceRoot":"","sources":["../../../../../src/service/glue/command/database/sim-glue-database-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { SimGlueDatabase } from "../../database/sim-glue-database.js";
|
|
2
|
+
import type { SimGlueDatabaseDetail } from "./database.command.js";
|
|
3
|
+
/**
|
|
4
|
+
* What GetDatabase and GetDatabases report about a database.
|
|
5
|
+
*
|
|
6
|
+
* The result is detached from the stored database, for the reason
|
|
7
|
+
* `simGlueTableDetail` gives.
|
|
8
|
+
*/
|
|
9
|
+
export declare function simGlueDatabaseDetail(database: SimGlueDatabase): SimGlueDatabaseDetail;
|
|
10
|
+
//# sourceMappingURL=sim-glue-database-detail.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-glue-database-detail.d.ts","sourceRoot":"","sources":["../../../../../src/service/glue/command/database/sim-glue-database-detail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAE3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,eAAe,GACxB,qBAAqB,CAWvB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { definedEntries } from "../../../../util/record/defined-entries.js";
|
|
2
|
+
/**
|
|
3
|
+
* What GetDatabase and GetDatabases report about a database.
|
|
4
|
+
*
|
|
5
|
+
* The result is detached from the stored database, for the reason
|
|
6
|
+
* `simGlueTableDetail` gives.
|
|
7
|
+
*/
|
|
8
|
+
export function simGlueDatabaseDetail(database) {
|
|
9
|
+
return structuredClone(definedEntries({
|
|
10
|
+
Name: database.name,
|
|
11
|
+
Description: database.description,
|
|
12
|
+
LocationUri: database.locationUri,
|
|
13
|
+
Parameters: database.parameters,
|
|
14
|
+
CreateTime: database.createTime,
|
|
15
|
+
CatalogId: database.catalogId,
|
|
16
|
+
}));
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=sim-glue-database-detail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-glue-database-detail.js","sourceRoot":"","sources":["../../../../../src/service/glue/command/database/sim-glue-database-detail.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAG5E;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAyB;IAEzB,OAAO,eAAe,CACpB,cAAc,CAAC;QACb,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;KAC9B,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
|
|
2
|
+
/**
|
|
3
|
+
* Check the catalog a request names is the one this simulation holds.
|
|
4
|
+
*
|
|
5
|
+
* `CatalogId` defaults to the caller's own account on real Glue, and naming
|
|
6
|
+
* another account's catalog reaches that account's Data Catalog through a
|
|
7
|
+
* resource policy. Nothing here crosses accounts, so a catalog id belonging to
|
|
8
|
+
* another account is refused rather than quietly answered from this one.
|
|
9
|
+
*/
|
|
10
|
+
export declare function requireSimGlueCatalogId(accountRegionScope: SimAwsAccountRegionScope, catalogId: string | undefined): void;
|
|
11
|
+
//# sourceMappingURL=sim-glue-catalog-id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-glue-catalog-id.d.ts","sourceRoot":"","sources":["../../../../src/service/glue/command/sim-glue-catalog-id.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAG1F;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,kBAAkB,EAAE,wBAAwB,EAC5C,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,IAAI,CAUN"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { SimGlueInvalidInputException } from "../error/sim-glue.error.js";
|
|
2
|
+
/**
|
|
3
|
+
* Check the catalog a request names is the one this simulation holds.
|
|
4
|
+
*
|
|
5
|
+
* `CatalogId` defaults to the caller's own account on real Glue, and naming
|
|
6
|
+
* another account's catalog reaches that account's Data Catalog through a
|
|
7
|
+
* resource policy. Nothing here crosses accounts, so a catalog id belonging to
|
|
8
|
+
* another account is refused rather than quietly answered from this one.
|
|
9
|
+
*/
|
|
10
|
+
export function requireSimGlueCatalogId(accountRegionScope, catalogId) {
|
|
11
|
+
if (catalogId === undefined || catalogId === accountRegionScope.accountId) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
throw new SimGlueInvalidInputException(`Simulated Glue holds the Data Catalog of account ` +
|
|
15
|
+
`${accountRegionScope.accountId}, and CatalogId ${catalogId} names ` +
|
|
16
|
+
`another account. Cross-account Data Catalog access is not simulated.`);
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=sim-glue-catalog-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-glue-catalog-id.js","sourceRoot":"","sources":["../../../../src/service/glue/command/sim-glue-catalog-id.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAE1E;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACrC,kBAA4C,EAC5C,SAA6B;IAE7B,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,kBAAkB,CAAC,SAAS,EAAE,CAAC;QAC1E,OAAO;IACT,CAAC;IAED,MAAM,IAAI,4BAA4B,CACpC,mDAAmD;QACjD,GAAG,kBAAkB,CAAC,SAAS,mBAAmB,SAAS,SAAS;QACpE,sEAAsE,CACzE,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { SimAwsCaller } from "../../aws/caller/sim-aws-caller.js";
|
|
2
|
+
/**
|
|
3
|
+
* What a simulated Glue request carries besides its command input.
|
|
4
|
+
*/
|
|
5
|
+
export interface SimGlueRequestOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Who is making the request. An omitted caller is the Account root, as it is
|
|
8
|
+
* everywhere else in the simulation.
|
|
9
|
+
*/
|
|
10
|
+
readonly caller?: SimAwsCaller;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=sim-glue-request-options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-glue-request-options.d.ts","sourceRoot":"","sources":["../../../../src/service/glue/command/sim-glue-request-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;CAChC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-glue-request-options.js","sourceRoot":"","sources":["../../../../src/service/glue/command/sim-glue-request-options.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { SimClock } from "../../../../util/clock/sim-clock.js";
|
|
2
|
+
import type { SimAwsAccountRegionScope } from "../../../aws/sim-aws-account-region-scope.js";
|
|
3
|
+
import type { SimGlueDatabaseStore } from "../../database/sim-glue-database-store.js";
|
|
4
|
+
import type { SimGlueTableStore } from "../../table/sim-glue-table-store.js";
|
|
5
|
+
import type { SimGlueAuthorizer } from "../authorize/sim-glue-authorizer.js";
|
|
6
|
+
import type { SimGlueRequestOptions } from "../sim-glue-request-options.js";
|
|
7
|
+
import type { SimCreateTableCommand, SimCreateTableCommandOutput, SimDeleteTableCommand, SimDeleteTableCommandOutput, SimGetTableCommand, SimGetTableCommandOutput, SimGetTablesCommand, SimGetTablesCommandOutput } from "./table.command.js";
|
|
8
|
+
interface SimGlueTableCommandsProperties {
|
|
9
|
+
readonly databases: SimGlueDatabaseStore;
|
|
10
|
+
readonly tables: SimGlueTableStore;
|
|
11
|
+
readonly authorizer: SimGlueAuthorizer;
|
|
12
|
+
readonly accountRegionScope: SimAwsAccountRegionScope;
|
|
13
|
+
readonly clock: SimClock;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* The commands that make, read and remove Glue tables.
|
|
17
|
+
*/
|
|
18
|
+
export declare class SimGlueTableCommands {
|
|
19
|
+
#private;
|
|
20
|
+
constructor(properties: SimGlueTableCommandsProperties);
|
|
21
|
+
/**
|
|
22
|
+
* Make a table in a database.
|
|
23
|
+
*
|
|
24
|
+
* The database has to be there. Real Glue answers `EntityNotFoundException`
|
|
25
|
+
* for one that is absent rather than creating it on the way past.
|
|
26
|
+
*/
|
|
27
|
+
createTable(command: SimCreateTableCommand, options?: SimGlueRequestOptions): SimCreateTableCommandOutput;
|
|
28
|
+
/**
|
|
29
|
+
* Read a table back, with its storage descriptor, partition keys and
|
|
30
|
+
* parameters as they were declared.
|
|
31
|
+
*/
|
|
32
|
+
getTable(command: SimGetTableCommand, options?: SimGlueRequestOptions): SimGetTableCommandOutput;
|
|
33
|
+
/**
|
|
34
|
+
* Read every table in one database, in creation order.
|
|
35
|
+
*/
|
|
36
|
+
getTables(command: SimGetTablesCommand, options?: SimGlueRequestOptions): SimGetTablesCommandOutput;
|
|
37
|
+
/**
|
|
38
|
+
* Remove a table.
|
|
39
|
+
*/
|
|
40
|
+
deleteTable(command: SimDeleteTableCommand, options?: SimGlueRequestOptions): SimDeleteTableCommandOutput;
|
|
41
|
+
}
|
|
42
|
+
export {};
|
|
43
|
+
//# sourceMappingURL=sim-glue-table-commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-glue-table-commands.d.ts","sourceRoot":"","sources":["../../../../../src/service/glue/command/table/sim-glue-table-commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AAE7F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAK7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,KAAK,EACV,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,EACrB,2BAA2B,EAC3B,kBAAkB,EAClB,wBAAwB,EACxB,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,oBAAoB,CAAC;AAG5B,UAAU,8BAA8B;IACtC,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;IACtD,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,oBAAoB;;IAO/B,YAAY,UAAU,EAAE,8BAA8B,EAMrD;IAED;;;;;OAKG;IACH,WAAW,CACT,OAAO,EAAE,qBAAqB,EAC9B,OAAO,CAAC,EAAE,qBAAqB,GAC9B,2BAA2B,CAsC7B;IAED;;;OAGG;IACH,QAAQ,CACN,OAAO,EAAE,kBAAkB,EAC3B,OAAO,CAAC,EAAE,qBAAqB,GAC9B,wBAAwB,CAsB1B;IAED;;OAEG;IACH,SAAS,CACP,OAAO,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE,qBAAqB,GAC9B,yBAAyB,CAoB3B;IAED;;OAEG;IACH,WAAW,CACT,OAAO,EAAE,qBAAqB,EAC9B,OAAO,CAAC,EAAE,qBAAqB,GAC9B,2BAA2B,CAoB7B;CACF"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { requiredSimGlueName } from "../../database/sim-glue-catalog-name.js";
|
|
2
|
+
import { requiredSimGlueColumns, requiredSimGlueStorageDescriptor, } from "../../table/sim-glue-table-input-shape.js";
|
|
3
|
+
import { requireSimGlueCatalogId } from "../sim-glue-catalog-id.js";
|
|
4
|
+
import { simGlueTableDetail } from "./sim-glue-table-detail.js";
|
|
5
|
+
/**
|
|
6
|
+
* The commands that make, read and remove Glue tables.
|
|
7
|
+
*/
|
|
8
|
+
export class SimGlueTableCommands {
|
|
9
|
+
#databases;
|
|
10
|
+
#tables;
|
|
11
|
+
#authorizer;
|
|
12
|
+
#accountRegionScope;
|
|
13
|
+
#clock;
|
|
14
|
+
constructor(properties) {
|
|
15
|
+
this.#databases = properties.databases;
|
|
16
|
+
this.#tables = properties.tables;
|
|
17
|
+
this.#authorizer = properties.authorizer;
|
|
18
|
+
this.#accountRegionScope = properties.accountRegionScope;
|
|
19
|
+
this.#clock = properties.clock;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Make a table in a database.
|
|
23
|
+
*
|
|
24
|
+
* The database has to be there. Real Glue answers `EntityNotFoundException`
|
|
25
|
+
* for one that is absent rather than creating it on the way past.
|
|
26
|
+
*/
|
|
27
|
+
createTable(command, options) {
|
|
28
|
+
requireSimGlueCatalogId(this.#accountRegionScope, command.input.CatalogId);
|
|
29
|
+
const databaseName = requiredSimGlueName("DatabaseName", command.input.DatabaseName);
|
|
30
|
+
const input = command.input.TableInput ?? {};
|
|
31
|
+
const name = requiredSimGlueName("TableInput.Name", input.Name ?? command.input.Name);
|
|
32
|
+
this.#authorizer.authorizeTable("glue:CreateTable", databaseName, name, options?.caller);
|
|
33
|
+
this.#databases.require(databaseName);
|
|
34
|
+
this.#tables.create(databaseName, name, this.#clock.now(), {
|
|
35
|
+
description: input.Description,
|
|
36
|
+
owner: input.Owner,
|
|
37
|
+
retention: input.Retention,
|
|
38
|
+
tableType: input.TableType,
|
|
39
|
+
partitionKeys: requiredSimGlueColumns("TableInput.PartitionKeys", input.PartitionKeys),
|
|
40
|
+
storageDescriptor: requiredSimGlueStorageDescriptor("TableInput.StorageDescriptor", input.StorageDescriptor),
|
|
41
|
+
parameters: input.Parameters,
|
|
42
|
+
});
|
|
43
|
+
return { $metadata: {} };
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Read a table back, with its storage descriptor, partition keys and
|
|
47
|
+
* parameters as they were declared.
|
|
48
|
+
*/
|
|
49
|
+
getTable(command, options) {
|
|
50
|
+
requireSimGlueCatalogId(this.#accountRegionScope, command.input.CatalogId);
|
|
51
|
+
const databaseName = requiredSimGlueName("DatabaseName", command.input.DatabaseName);
|
|
52
|
+
const name = requiredSimGlueName("Name", command.input.Name);
|
|
53
|
+
this.#authorizer.authorizeTable("glue:GetTable", databaseName, name, options?.caller);
|
|
54
|
+
this.#databases.require(databaseName);
|
|
55
|
+
return {
|
|
56
|
+
Table: simGlueTableDetail(this.#tables.require(databaseName, name)),
|
|
57
|
+
$metadata: {},
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Read every table in one database, in creation order.
|
|
62
|
+
*/
|
|
63
|
+
getTables(command, options) {
|
|
64
|
+
requireSimGlueCatalogId(this.#accountRegionScope, command.input.CatalogId);
|
|
65
|
+
const databaseName = requiredSimGlueName("DatabaseName", command.input.DatabaseName);
|
|
66
|
+
this.#authorizer.authorizeDatabase("glue:GetTables", databaseName, options?.caller);
|
|
67
|
+
this.#databases.require(databaseName);
|
|
68
|
+
return {
|
|
69
|
+
TableList: this.#tables.inDatabase(databaseName).map(simGlueTableDetail),
|
|
70
|
+
$metadata: {},
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Remove a table.
|
|
75
|
+
*/
|
|
76
|
+
deleteTable(command, options) {
|
|
77
|
+
requireSimGlueCatalogId(this.#accountRegionScope, command.input.CatalogId);
|
|
78
|
+
const databaseName = requiredSimGlueName("DatabaseName", command.input.DatabaseName);
|
|
79
|
+
const name = requiredSimGlueName("Name", command.input.Name);
|
|
80
|
+
this.#authorizer.authorizeTable("glue:DeleteTable", databaseName, name, options?.caller);
|
|
81
|
+
this.#tables.require(databaseName, name);
|
|
82
|
+
this.#tables.delete(databaseName, name);
|
|
83
|
+
return { $metadata: {} };
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=sim-glue-table-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-glue-table-commands.js","sourceRoot":"","sources":["../../../../../src/service/glue/command/table/sim-glue-table-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { SimGlueTable } from "../../table/sim-glue-table.js";
|
|
2
|
+
import type { SimGlueTableDetail } from "./table.command.js";
|
|
3
|
+
/**
|
|
4
|
+
* What GetTable and GetTables report about a table.
|
|
5
|
+
*
|
|
6
|
+
* Nothing updates a table yet, so the update time is the creation time.
|
|
7
|
+
*
|
|
8
|
+
* The result is detached from the stored table. Real Glue answers each request
|
|
9
|
+
* with its own object, and a caller holding a reference into the catalog could
|
|
10
|
+
* otherwise change a definition without a command or the permission to make
|
|
11
|
+
* one.
|
|
12
|
+
*/
|
|
13
|
+
export declare function simGlueTableDetail(table: SimGlueTable): SimGlueTableDetail;
|
|
14
|
+
//# sourceMappingURL=sim-glue-table-detail.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-glue-table-detail.d.ts","sourceRoot":"","sources":["../../../../../src/service/glue/command/table/sim-glue-table-detail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,kBAAkB,CAiB1E"}
|