@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
package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-configuration-properties.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read a template's `WorkGroupConfiguration` into the shape CreateWorkGroup
|
|
3
|
+
* takes.
|
|
4
|
+
*
|
|
5
|
+
* The settings this simulation has no answer for are left out here and
|
|
6
|
+
* recorded by the property rules, so a template carrying one still deploys its
|
|
7
|
+
* workgroup.
|
|
8
|
+
*/
|
|
9
|
+
export function workGroupConfigurationProperties(read) {
|
|
10
|
+
const engineVersion = read.nested("EngineVersion");
|
|
11
|
+
return {
|
|
12
|
+
BytesScannedCutoffPerQuery: read.number("BytesScannedCutoffPerQuery"),
|
|
13
|
+
EnforceWorkGroupConfiguration: read.boolean("EnforceWorkGroupConfiguration"),
|
|
14
|
+
PublishCloudWatchMetricsEnabled: read.boolean("PublishCloudWatchMetricsEnabled"),
|
|
15
|
+
RequesterPaysEnabled: read.boolean("RequesterPaysEnabled"),
|
|
16
|
+
ResultConfiguration: resultConfigurationProperties(read),
|
|
17
|
+
EngineVersion: engineVersion === undefined
|
|
18
|
+
? undefined
|
|
19
|
+
: {
|
|
20
|
+
SelectedEngineVersion: engineVersion.string("SelectedEngineVersion"),
|
|
21
|
+
EffectiveEngineVersion: engineVersion.string("EffectiveEngineVersion"),
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
function resultConfigurationProperties(read) {
|
|
26
|
+
const results = read.nested("ResultConfiguration");
|
|
27
|
+
if (results === undefined) {
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
const encryption = results.nested("EncryptionConfiguration");
|
|
31
|
+
const acl = results.nested("AclConfiguration");
|
|
32
|
+
return {
|
|
33
|
+
OutputLocation: results.string("OutputLocation"),
|
|
34
|
+
ExpectedBucketOwner: results.string("ExpectedBucketOwner"),
|
|
35
|
+
EncryptionConfiguration: encryption === undefined
|
|
36
|
+
? undefined
|
|
37
|
+
: {
|
|
38
|
+
EncryptionOption: encryption.string("EncryptionOption"),
|
|
39
|
+
KmsKey: encryption.string("KmsKey"),
|
|
40
|
+
},
|
|
41
|
+
AclConfiguration: acl === undefined
|
|
42
|
+
? undefined
|
|
43
|
+
: { S3AclOption: acl.string("S3AclOption") },
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=sim-cfn-athena-work-group-configuration-properties.js.map
|
package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-configuration-properties.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-athena-work-group-configuration-properties.js","sourceRoot":"","sources":["../../../../../src/service/athena/cfn/work-group/sim-cfn-athena-work-group-configuration-properties.ts"],"names":[],"mappings":"AAMA;;;;;;;GAOG;AACH,MAAM,UAAU,gCAAgC,CAC9C,IAA4B;IAE5B,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAEnD,OAAO;QACL,0BAA0B,EAAE,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAAC;QACrE,6BAA6B,EAAE,IAAI,CAAC,OAAO,CACzC,+BAA+B,CAChC;QACD,+BAA+B,EAAE,IAAI,CAAC,OAAO,CAC3C,iCAAiC,CAClC;QACD,oBAAoB,EAAE,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC;QAC1D,mBAAmB,EAAE,6BAA6B,CAAC,IAAI,CAAC;QACxD,aAAa,EACX,aAAa,KAAK,SAAS;YACzB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC;gBACE,qBAAqB,EAAE,aAAa,CAAC,MAAM,CACzC,uBAAuB,CACxB;gBACD,sBAAsB,EAAE,aAAa,CAAC,MAAM,CAC1C,wBAAwB,CACzB;aACF;KACR,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CACpC,IAA4B;IAE5B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAEnD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAE/C,OAAO;QACL,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC;QAChD,mBAAmB,EAAE,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC;QAC1D,uBAAuB,EACrB,UAAU,KAAK,SAAS;YACtB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC;gBACE,gBAAgB,EAAE,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC;gBACvD,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC;aACpC;QACP,gBAAgB,EACd,GAAG,KAAK,SAAS;YACf,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;KACjD,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
|
|
2
|
+
import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
3
|
+
import type { SimAthena } from "../../sim-athena.js";
|
|
4
|
+
import type { SimAthenaWorkGroup } from "../../workgroup/sim-athena-work-group.js";
|
|
5
|
+
interface SimCfnAthenaWorkGroupCreatorProperties {
|
|
6
|
+
readonly athena: SimAthena;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Creates and deletes a simulated workgroup for one AWS::Athena::WorkGroup
|
|
10
|
+
* Resource.
|
|
11
|
+
*
|
|
12
|
+
* The workgroup goes through the ordinary CreateWorkGroup command rather than
|
|
13
|
+
* being constructed directly, so a workgroup a template deployed is the same
|
|
14
|
+
* thing an SDK caller would have got, down to the refusals.
|
|
15
|
+
*/
|
|
16
|
+
export declare class SimCfnAthenaWorkGroupCreator {
|
|
17
|
+
private readonly athena;
|
|
18
|
+
constructor(properties: SimCfnAthenaWorkGroupCreatorProperties);
|
|
19
|
+
/**
|
|
20
|
+
* Create the workgroup a Resource declares.
|
|
21
|
+
*/
|
|
22
|
+
create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): Promise<SimAthenaWorkGroup>;
|
|
23
|
+
/**
|
|
24
|
+
* Delete the workgroup a Resource created.
|
|
25
|
+
*
|
|
26
|
+
* Deleted recursively, so a workgroup the stack also gave named queries goes
|
|
27
|
+
* with them rather than failing the stack deletion.
|
|
28
|
+
*/
|
|
29
|
+
delete(workGroup: SimAthenaWorkGroup): Promise<void>;
|
|
30
|
+
private applyState;
|
|
31
|
+
private read;
|
|
32
|
+
}
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=sim-cfn-athena-work-group-creator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-athena-work-group-creator.d.ts","sourceRoot":"","sources":["../../../../../src/service/athena/cfn/work-group/sim-cfn-athena-work-group-creator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAClH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,0CAA0C,CAAC;AAKlD,UAAU,sCAAsC;IAC9C,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,qBAAa,4BAA4B;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IAEnC,YAAY,UAAU,EAAE,sCAAsC,EAE7D;IAED;;OAEG;IACG,MAAM,CACV,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,yBAAyB,GACpC,OAAO,CAAC,kBAAkB,CAAC,CAiC7B;IAED;;;;;OAKG;IACG,MAAM,CAAC,SAAS,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAIzD;YAEa,UAAU;IAaxB,OAAO,CAAC,IAAI;CAMb"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { assertDefined } from "../../../../util/type-guard/defined.js";
|
|
2
|
+
import { workGroupStateFrom } from "../../command/work-group/sim-athena-work-group-input.js";
|
|
3
|
+
import { simCfnAthenaResourceCreation } from "../sim-cfn-athena-resource-error.js";
|
|
4
|
+
import { athenaWorkGroupResourceType } from "../sim-cfn-athena-resource-types.js";
|
|
5
|
+
import { SimCfnAthenaWorkGroupProperties } from "./sim-cfn-athena-work-group-properties.js";
|
|
6
|
+
/**
|
|
7
|
+
* Creates and deletes a simulated workgroup for one AWS::Athena::WorkGroup
|
|
8
|
+
* Resource.
|
|
9
|
+
*
|
|
10
|
+
* The workgroup goes through the ordinary CreateWorkGroup command rather than
|
|
11
|
+
* being constructed directly, so a workgroup a template deployed is the same
|
|
12
|
+
* thing an SDK caller would have got, down to the refusals.
|
|
13
|
+
*/
|
|
14
|
+
export class SimCfnAthenaWorkGroupCreator {
|
|
15
|
+
athena;
|
|
16
|
+
constructor(properties) {
|
|
17
|
+
this.athena = properties.athena;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Create the workgroup a Resource declares.
|
|
21
|
+
*/
|
|
22
|
+
async create(resource, properties) {
|
|
23
|
+
const read = this.read(resource, properties);
|
|
24
|
+
read.recordIgnoredProperties();
|
|
25
|
+
const input = read.createInput();
|
|
26
|
+
return await simCfnAthenaResourceCreation(athenaWorkGroupResourceType, resource.logicalId, async () => {
|
|
27
|
+
/*
|
|
28
|
+
* The state is read before the workgroup is made rather than after.
|
|
29
|
+
* CloudFormation fails a Resource without taking back what its
|
|
30
|
+
* creation already did, so a state this simulation will not take has
|
|
31
|
+
* to be refused while there is still nothing to leave behind.
|
|
32
|
+
*/
|
|
33
|
+
const state = workGroupStateFrom(read.state());
|
|
34
|
+
await this.athena.createWorkGroup({ input });
|
|
35
|
+
await this.applyState(String(input.Name), state);
|
|
36
|
+
const workGroup = this.athena.findWorkGroup(String(input.Name));
|
|
37
|
+
assertDefined(workGroup, `sim Athena workgroup ${String(input.Name)} after CloudFormation ` +
|
|
38
|
+
`creation`);
|
|
39
|
+
return workGroup;
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Delete the workgroup a Resource created.
|
|
44
|
+
*
|
|
45
|
+
* Deleted recursively, so a workgroup the stack also gave named queries goes
|
|
46
|
+
* with them rather than failing the stack deletion.
|
|
47
|
+
*/
|
|
48
|
+
async delete(workGroup) {
|
|
49
|
+
await this.athena.deleteWorkGroup({
|
|
50
|
+
input: { WorkGroup: workGroup.name, RecursiveDeleteOption: true },
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
async applyState(name, state) {
|
|
54
|
+
if (state === undefined) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
await this.athena.updateWorkGroup({
|
|
58
|
+
input: { WorkGroup: name, State: state },
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
read(resource, properties) {
|
|
62
|
+
return new SimCfnAthenaWorkGroupProperties({ resource, properties });
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=sim-cfn-athena-work-group-creator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-athena-work-group-creator.js","sourceRoot":"","sources":["../../../../../src/service/athena/cfn/work-group/sim-cfn-athena-work-group-creator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAIvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yDAAyD,CAAC;AAK7F,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAM5F;;;;;;;GAOG;AACH,MAAM,OAAO,4BAA4B;IACtB,MAAM,CAAY;IAEnC,YAAY,UAAkD;QAC5D,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,QAAwB,EACxB,UAAqC;QAErC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAE7C,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAE/B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEjC,OAAO,MAAM,4BAA4B,CACvC,2BAA2B,EAC3B,QAAQ,CAAC,SAAS,EAClB,KAAK,IAAI,EAAE;YACT;;;;;eAKG;YACH,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YAE/C,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7C,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;YAEjD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAEhE,aAAa,CACX,SAAS,EACT,wBAAwB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB;gBAChE,UAAU,CACb,CAAC;YAEF,OAAO,SAAS,CAAC;QACnB,CAAC,CACF,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,SAA6B;QACxC,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;YAChC,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE;SAClE,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,UAAU,CACtB,IAAY,EACZ,KAA0C;QAE1C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;YAChC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;SACzC,CAAC,CAAC;IACL,CAAC;IAEO,IAAI,CACV,QAAwB,EACxB,UAAqC;QAErC,OAAO,IAAI,+BAA+B,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;IACvE,CAAC;CACF"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
|
|
2
|
+
import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
3
|
+
import type { SimCreateWorkGroupCommandInput } from "../../command/work-group/work-group.command.js";
|
|
4
|
+
/**
|
|
5
|
+
* Reads AWS::Athena::WorkGroup properties into the shape CreateWorkGroup
|
|
6
|
+
* takes.
|
|
7
|
+
*
|
|
8
|
+
* The template's property names are the API's, so this is mostly reading and
|
|
9
|
+
* type checking. What the simulation will not act on is recorded through the
|
|
10
|
+
* property rules rather than refused, so a stack carrying an Athena setting
|
|
11
|
+
* this simulator has no answer for still deploys.
|
|
12
|
+
*/
|
|
13
|
+
export declare class SimCfnAthenaWorkGroupProperties {
|
|
14
|
+
private readonly resource;
|
|
15
|
+
private readonly read;
|
|
16
|
+
private readonly rules;
|
|
17
|
+
constructor(properties: {
|
|
18
|
+
readonly resource: SimCfnResource;
|
|
19
|
+
readonly properties: SimCfnTemplateValueRecord;
|
|
20
|
+
});
|
|
21
|
+
/**
|
|
22
|
+
* The workgroup name.
|
|
23
|
+
*
|
|
24
|
+
* An unnamed workgroup is named after the stack and the logical ID, as real
|
|
25
|
+
* CloudFormation names one.
|
|
26
|
+
*/
|
|
27
|
+
name(): string;
|
|
28
|
+
/**
|
|
29
|
+
* Everything CreateWorkGroup takes, read out of the template.
|
|
30
|
+
*/
|
|
31
|
+
createInput(): SimCreateWorkGroupCommandInput;
|
|
32
|
+
/**
|
|
33
|
+
* The state the template asks the workgroup to be in.
|
|
34
|
+
*
|
|
35
|
+
* `CreateWorkGroup` has no state field, so a workgroup the template disables
|
|
36
|
+
* is created and then updated. A template asking for `ENABLED`, which is
|
|
37
|
+
* where a workgroup starts, needs neither.
|
|
38
|
+
*/
|
|
39
|
+
state(): string | undefined;
|
|
40
|
+
/**
|
|
41
|
+
* Record the properties the workgroup is created without acting on.
|
|
42
|
+
*/
|
|
43
|
+
recordIgnoredProperties(): void;
|
|
44
|
+
private configuration;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=sim-cfn-athena-work-group-properties.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-athena-work-group-properties.d.ts","sourceRoot":"","sources":["../../../../../src/service/athena/cfn/work-group/sim-cfn-athena-work-group-properties.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAClH,OAAO,KAAK,EAEV,8BAA8B,EAC/B,MAAM,gDAAgD,CAAC;AASxD;;;;;;;;GAQG;AACH,qBAAa,+BAA+B;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAyB;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqC;IAE3D,YAAY,UAAU,EAAE;QACtB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;QAClC,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;KAChD,EAaA;IAED;;;;;OAKG;IACH,IAAI,IAAI,MAAM,CASb;IAED;;OAEG;IACH,WAAW,IAAI,8BAA8B,CAM5C;IAED;;;;;;OAMG;IACH,KAAK,IAAI,MAAM,GAAG,SAAS,CAE1B;IAED;;OAEG;IACH,uBAAuB,IAAI,IAAI,CAE9B;IAED,OAAO,CAAC,aAAa;CAStB"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { SimCfnGeneratedResourceName } from "../../../cloudformation/resource/name/sim-cfn-generated-resource-name.js";
|
|
2
|
+
import { SimCfnAthenaProperties } from "../sim-cfn-athena-property-values.js";
|
|
3
|
+
import { simCfnAthenaResourceError } from "../sim-cfn-athena-resource-error.js";
|
|
4
|
+
import { athenaWorkGroupResourceType } from "../sim-cfn-athena-resource-types.js";
|
|
5
|
+
import { workGroupConfigurationProperties } from "./sim-cfn-athena-work-group-configuration-properties.js";
|
|
6
|
+
import { SimCfnAthenaWorkGroupPropertyRules } from "./sim-cfn-athena-work-group-property-rules.js";
|
|
7
|
+
const maximumNameLength = 128;
|
|
8
|
+
/**
|
|
9
|
+
* Reads AWS::Athena::WorkGroup properties into the shape CreateWorkGroup
|
|
10
|
+
* takes.
|
|
11
|
+
*
|
|
12
|
+
* The template's property names are the API's, so this is mostly reading and
|
|
13
|
+
* type checking. What the simulation will not act on is recorded through the
|
|
14
|
+
* property rules rather than refused, so a stack carrying an Athena setting
|
|
15
|
+
* this simulator has no answer for still deploys.
|
|
16
|
+
*/
|
|
17
|
+
export class SimCfnAthenaWorkGroupProperties {
|
|
18
|
+
resource;
|
|
19
|
+
read;
|
|
20
|
+
rules;
|
|
21
|
+
constructor(properties) {
|
|
22
|
+
this.resource = properties.resource;
|
|
23
|
+
this.read = new SimCfnAthenaProperties(properties.properties, (reason) => simCfnAthenaResourceError(athenaWorkGroupResourceType, properties.resource.logicalId, reason));
|
|
24
|
+
this.rules = new SimCfnAthenaWorkGroupPropertyRules({
|
|
25
|
+
properties: properties.properties,
|
|
26
|
+
ignorer: properties.resource,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The workgroup name.
|
|
31
|
+
*
|
|
32
|
+
* An unnamed workgroup is named after the stack and the logical ID, as real
|
|
33
|
+
* CloudFormation names one.
|
|
34
|
+
*/
|
|
35
|
+
name() {
|
|
36
|
+
return (this.read.string("Name") ??
|
|
37
|
+
new SimCfnGeneratedResourceName({
|
|
38
|
+
stackName: this.resource.stackName,
|
|
39
|
+
logicalId: this.resource.logicalId,
|
|
40
|
+
maximumLength: maximumNameLength,
|
|
41
|
+
}).value);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Everything CreateWorkGroup takes, read out of the template.
|
|
45
|
+
*/
|
|
46
|
+
createInput() {
|
|
47
|
+
return {
|
|
48
|
+
Name: this.name(),
|
|
49
|
+
Description: this.read.string("Description"),
|
|
50
|
+
Configuration: this.configuration(),
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* The state the template asks the workgroup to be in.
|
|
55
|
+
*
|
|
56
|
+
* `CreateWorkGroup` has no state field, so a workgroup the template disables
|
|
57
|
+
* is created and then updated. A template asking for `ENABLED`, which is
|
|
58
|
+
* where a workgroup starts, needs neither.
|
|
59
|
+
*/
|
|
60
|
+
state() {
|
|
61
|
+
return this.read.string("State");
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Record the properties the workgroup is created without acting on.
|
|
65
|
+
*/
|
|
66
|
+
recordIgnoredProperties() {
|
|
67
|
+
this.rules.apply();
|
|
68
|
+
}
|
|
69
|
+
configuration() {
|
|
70
|
+
const configuration = this.read.nested("WorkGroupConfiguration");
|
|
71
|
+
if (configuration === undefined) {
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
|
74
|
+
return workGroupConfigurationProperties(configuration);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=sim-cfn-athena-work-group-properties.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-athena-work-group-properties.js","sourceRoot":"","sources":["../../../../../src/service/athena/cfn/work-group/sim-cfn-athena-work-group-properties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,0EAA0E,CAAC;AAOvH,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,gCAAgC,EAAE,MAAM,yDAAyD,CAAC;AAC3G,OAAO,EAAE,kCAAkC,EAAE,MAAM,+CAA+C,CAAC;AAEnG,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B;;;;;;;;GAQG;AACH,MAAM,OAAO,+BAA+B;IACzB,QAAQ,CAAiB;IACzB,IAAI,CAAyB;IAC7B,KAAK,CAAqC;IAE3D,YAAY,UAGX;QACC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,sBAAsB,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CACvE,yBAAyB,CACvB,2BAA2B,EAC3B,UAAU,CAAC,QAAQ,CAAC,SAAS,EAC7B,MAAM,CACP,CACF,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,IAAI,kCAAkC,CAAC;YAClD,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,OAAO,EAAE,UAAU,CAAC,QAAQ;SAC7B,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,IAAI;QACF,OAAO,CACL,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YACxB,IAAI,2BAA2B,CAAC;gBAC9B,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS;gBAClC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS;gBAClC,aAAa,EAAE,iBAAiB;aACjC,CAAC,CAAC,KAAK,CACT,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;YACjB,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YAC5C,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE;SACpC,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,uBAAuB;QACrB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAEO,aAAa;QACnB,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAEjE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,gCAAgC,CAAC,aAAa,CAAC,CAAC;IACzD,CAAC;CACF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { SimCfnPropertyIgnorer } from "../../../cloudformation/resource/ignore/sim-cfn-ignored-property.type.js";
|
|
2
|
+
import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
3
|
+
interface SimCfnAthenaWorkGroupPropertyRulesProperties {
|
|
4
|
+
readonly properties: SimCfnTemplateValueRecord;
|
|
5
|
+
readonly ignorer: SimCfnPropertyIgnorer;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* What a workgroup Resource is created without acting on.
|
|
9
|
+
*
|
|
10
|
+
* Nothing here fails the Resource. A template naming a setting this simulation
|
|
11
|
+
* has no answer for still deploys its workgroup, and the setting is recorded
|
|
12
|
+
* so a reader can see what the deployed workgroup is not doing.
|
|
13
|
+
*/
|
|
14
|
+
export declare class SimCfnAthenaWorkGroupPropertyRules {
|
|
15
|
+
private readonly properties;
|
|
16
|
+
private readonly ignorer;
|
|
17
|
+
constructor(properties: SimCfnAthenaWorkGroupPropertyRulesProperties);
|
|
18
|
+
/**
|
|
19
|
+
* Record every property the workgroup is created without.
|
|
20
|
+
*/
|
|
21
|
+
apply(): void;
|
|
22
|
+
private applyToProperty;
|
|
23
|
+
private applyToConfiguration;
|
|
24
|
+
private ignore;
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=sim-cfn-athena-work-group-property-rules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-athena-work-group-property-rules.d.ts","sourceRoot":"","sources":["../../../../../src/service/athena/cfn/work-group/sim-cfn-athena-work-group-property-rules.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0EAA0E,CAAC;AACtH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AA4BlH,UAAU,4CAA4C;IACpD,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;IAC/C,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;CACzC;AAED;;;;;;GAMG;AACH,qBAAa,kCAAkC;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4B;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAEhD,YAAY,UAAU,EAAE,4CAA4C,EAGnE;IAED;;OAEG;IACH,KAAK,IAAI,IAAI,CAMZ;IAED,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,MAAM;CAmBf"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { isRecord } from "../../../../util/type-guard/record.js";
|
|
2
|
+
import { unsimulatedConfigurationReasons, unsimulatedPropertyReasons, } from "./sim-cfn-athena-work-group-unsimulated-properties.js";
|
|
3
|
+
/**
|
|
4
|
+
* The top-level properties a workgroup Resource is created from.
|
|
5
|
+
*/
|
|
6
|
+
const readProperties = new Set([
|
|
7
|
+
"Name",
|
|
8
|
+
"Description",
|
|
9
|
+
"State",
|
|
10
|
+
"WorkGroupConfiguration",
|
|
11
|
+
]);
|
|
12
|
+
/**
|
|
13
|
+
* The WorkGroupConfiguration settings a workgroup Resource is created from.
|
|
14
|
+
*/
|
|
15
|
+
const readConfiguration = new Set([
|
|
16
|
+
"BytesScannedCutoffPerQuery",
|
|
17
|
+
"EnforceWorkGroupConfiguration",
|
|
18
|
+
"PublishCloudWatchMetricsEnabled",
|
|
19
|
+
"RequesterPaysEnabled",
|
|
20
|
+
"ResultConfiguration",
|
|
21
|
+
"EngineVersion",
|
|
22
|
+
]);
|
|
23
|
+
/**
|
|
24
|
+
* What a workgroup Resource is created without acting on.
|
|
25
|
+
*
|
|
26
|
+
* Nothing here fails the Resource. A template naming a setting this simulation
|
|
27
|
+
* has no answer for still deploys its workgroup, and the setting is recorded
|
|
28
|
+
* so a reader can see what the deployed workgroup is not doing.
|
|
29
|
+
*/
|
|
30
|
+
export class SimCfnAthenaWorkGroupPropertyRules {
|
|
31
|
+
properties;
|
|
32
|
+
ignorer;
|
|
33
|
+
constructor(properties) {
|
|
34
|
+
this.properties = properties.properties;
|
|
35
|
+
this.ignorer = properties.ignorer;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Record every property the workgroup is created without.
|
|
39
|
+
*/
|
|
40
|
+
apply() {
|
|
41
|
+
for (const name of Object.keys(this.properties)) {
|
|
42
|
+
this.applyToProperty(name);
|
|
43
|
+
}
|
|
44
|
+
this.applyToConfiguration();
|
|
45
|
+
}
|
|
46
|
+
applyToProperty(name) {
|
|
47
|
+
if (readProperties.has(name)) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
this.ignore(name, unsimulatedPropertyReasons.get(name));
|
|
51
|
+
}
|
|
52
|
+
applyToConfiguration() {
|
|
53
|
+
const configuration = this.properties["WorkGroupConfiguration"];
|
|
54
|
+
if (!isRecord(configuration)) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
for (const name of Object.keys(configuration)) {
|
|
58
|
+
if (readConfiguration.has(name)) {
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
this.ignore(`WorkGroupConfiguration.${name}`, unsimulatedConfigurationReasons.get(name));
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
ignore(path, unsimulatedReason) {
|
|
65
|
+
const name = path.slice(path.lastIndexOf(".") + 1);
|
|
66
|
+
if (unsimulatedReason === undefined) {
|
|
67
|
+
this.ignorer.ignoreProperty(path, `${name} is not a property simulated Athena knows about, so the ` +
|
|
68
|
+
`workgroup is created without it`);
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
this.ignorer.ignoreProperty(path, `${name} is a real AWS::Athena::WorkGroup property simulated Athena ` +
|
|
72
|
+
`does not act on: ${unsimulatedReason}`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=sim-cfn-athena-work-group-property-rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-athena-work-group-property-rules.js","sourceRoot":"","sources":["../../../../../src/service/athena/cfn/work-group/sim-cfn-athena-work-group-property-rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AAGjE,OAAO,EACL,+BAA+B,EAC/B,0BAA0B,GAC3B,MAAM,uDAAuD,CAAC;AAE/D;;GAEG;AACH,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,MAAM;IACN,aAAa;IACb,OAAO;IACP,wBAAwB;CACzB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,4BAA4B;IAC5B,+BAA+B;IAC/B,iCAAiC;IACjC,sBAAsB;IACtB,qBAAqB;IACrB,eAAe;CAChB,CAAC,CAAC;AAOH;;;;;;GAMG;AACH,MAAM,OAAO,kCAAkC;IAC5B,UAAU,CAA4B;IACtC,OAAO,CAAwB;IAEhD,YAAY,UAAwD;QAClE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK;QACH,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAEO,eAAe,CAAC,IAAY;QAClC,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;IAEO,oBAAoB;QAC1B,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;QAEhE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9C,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,SAAS;YACX,CAAC;YAED,IAAI,CAAC,MAAM,CACT,0BAA0B,IAAI,EAAE,EAChC,+BAA+B,CAAC,GAAG,CAAC,IAAI,CAAC,CAC1C,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,IAAY,EAAE,iBAAqC;QAChE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAEnD,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,cAAc,CACzB,IAAI,EACJ,GAAG,IAAI,0DAA0D;gBAC/D,iCAAiC,CACpC,CAAC;YAEF,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,cAAc,CACzB,IAAI,EACJ,GAAG,IAAI,8DAA8D;YACnE,oBAAoB,iBAAiB,EAAE,CAC1C,CAAC;IACJ,CAAC;CACF"}
|
package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-unsimulated-properties.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The AWS::Athena::WorkGroup properties this simulation has nothing to act on,
|
|
3
|
+
* and why.
|
|
4
|
+
*
|
|
5
|
+
* Recorded as ignored rather than refused. A workgroup without any of them
|
|
6
|
+
* still does what a workgroup does here, which is hold the settings a query
|
|
7
|
+
* would run under and hand them back.
|
|
8
|
+
*/
|
|
9
|
+
export declare const unsimulatedPropertyReasons: ReadonlyMap<string, string>;
|
|
10
|
+
/**
|
|
11
|
+
* The AWS::Athena::WorkGroup WorkGroupConfiguration settings this simulation
|
|
12
|
+
* holds without acting on, and why.
|
|
13
|
+
*
|
|
14
|
+
* These read back through GetWorkGroup exactly as the template set them. What
|
|
15
|
+
* they would change about a query is what is missing, because no query runs.
|
|
16
|
+
*/
|
|
17
|
+
export declare const unsimulatedConfigurationReasons: ReadonlyMap<string, string>;
|
|
18
|
+
//# sourceMappingURL=sim-cfn-athena-work-group-unsimulated-properties.d.ts.map
|
package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-unsimulated-properties.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-athena-work-group-unsimulated-properties.d.ts","sourceRoot":"","sources":["../../../../../src/service/athena/cfn/work-group/sim-cfn-athena-work-group-unsimulated-properties.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAOjE,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,+BAA+B,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAyBpE,CAAC"}
|
package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-unsimulated-properties.js
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The AWS::Athena::WorkGroup properties this simulation has nothing to act on,
|
|
3
|
+
* and why.
|
|
4
|
+
*
|
|
5
|
+
* Recorded as ignored rather than refused. A workgroup without any of them
|
|
6
|
+
* still does what a workgroup does here, which is hold the settings a query
|
|
7
|
+
* would run under and hand them back.
|
|
8
|
+
*/
|
|
9
|
+
export const unsimulatedPropertyReasons = new Map([
|
|
10
|
+
["Tags", "workgroup tags are not held or reported"],
|
|
11
|
+
[
|
|
12
|
+
"RecursiveDeleteOption",
|
|
13
|
+
"a workgroup deleted with its Stack takes its named queries with it " +
|
|
14
|
+
"whatever this says",
|
|
15
|
+
],
|
|
16
|
+
]);
|
|
17
|
+
/**
|
|
18
|
+
* The AWS::Athena::WorkGroup WorkGroupConfiguration settings this simulation
|
|
19
|
+
* holds without acting on, and why.
|
|
20
|
+
*
|
|
21
|
+
* These read back through GetWorkGroup exactly as the template set them. What
|
|
22
|
+
* they would change about a query is what is missing, because no query runs.
|
|
23
|
+
*/
|
|
24
|
+
export const unsimulatedConfigurationReasons = new Map([
|
|
25
|
+
[
|
|
26
|
+
"AdditionalConfiguration",
|
|
27
|
+
"no query engine reads it, so nothing it configures happens",
|
|
28
|
+
],
|
|
29
|
+
[
|
|
30
|
+
"CustomerContentEncryptionConfiguration",
|
|
31
|
+
"nothing is written for a query, so nothing is encrypted",
|
|
32
|
+
],
|
|
33
|
+
[
|
|
34
|
+
"EnableMinimumEncryptionConfiguration",
|
|
35
|
+
"result encryption is held rather than applied, so no minimum is " +
|
|
36
|
+
"enforced",
|
|
37
|
+
],
|
|
38
|
+
["ExecutionRole", "no query runs, so no role is assumed to run one"],
|
|
39
|
+
[
|
|
40
|
+
"IdentityCenterConfiguration",
|
|
41
|
+
"Identity Center is not simulated, and a request is authorized against " +
|
|
42
|
+
"IAM here",
|
|
43
|
+
],
|
|
44
|
+
[
|
|
45
|
+
"QueryResultsS3AccessGrantsConfiguration",
|
|
46
|
+
"S3 Access Grants are not simulated",
|
|
47
|
+
],
|
|
48
|
+
]);
|
|
49
|
+
//# sourceMappingURL=sim-cfn-athena-work-group-unsimulated-properties.js.map
|
package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-unsimulated-properties.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-athena-work-group-unsimulated-properties.js","sourceRoot":"","sources":["../../../../../src/service/athena/cfn/work-group/sim-cfn-athena-work-group-unsimulated-properties.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAgC,IAAI,GAAG,CAAC;IAC7E,CAAC,MAAM,EAAE,yCAAyC,CAAC;IACnD;QACE,uBAAuB;QACvB,qEAAqE;YACnE,oBAAoB;KACvB;CACF,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAC1C,IAAI,GAAG,CAAC;IACN;QACE,yBAAyB;QACzB,4DAA4D;KAC7D;IACD;QACE,wCAAwC;QACxC,yDAAyD;KAC1D;IACD;QACE,sCAAsC;QACtC,kEAAkE;YAChE,UAAU;KACb;IACD,CAAC,eAAe,EAAE,iDAAiD,CAAC;IACpE;QACE,6BAA6B;QAC7B,wEAAwE;YACtE,UAAU;KACb;IACD;QACE,yCAAyC;QACzC,oCAAoC;KACrC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { SimAwsResolvedCaller } from "../../../aws/caller/sim-aws-caller-resolver.js";
|
|
2
|
+
import type { SimAwsAccountRegionScope } from "../../../aws/sim-aws-account-region-scope.js";
|
|
3
|
+
import type { SimIamInterServiceAuthZ } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
4
|
+
import type { SimAthenaRequestOptions } from "../sim-athena-request-options.js";
|
|
5
|
+
interface SimAthenaAuthorizerProperties {
|
|
6
|
+
readonly iam: SimIamInterServiceAuthZ;
|
|
7
|
+
readonly accountRegionScope: SimAwsAccountRegionScope;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Applies simulated IAM authorization to Athena requests.
|
|
11
|
+
*
|
|
12
|
+
* The resource is the workgroup ARN,
|
|
13
|
+
* `arn:aws:athena:<region>:<account>:workgroup/<name>`. A named query has no
|
|
14
|
+
* ARN of its own on real Athena, and work on one is authorized against the
|
|
15
|
+
* workgroup it belongs to, so that is what this asks about too.
|
|
16
|
+
*/
|
|
17
|
+
export declare class SimAthenaAuthorizer {
|
|
18
|
+
private readonly iam;
|
|
19
|
+
private readonly accountRegionScope;
|
|
20
|
+
private readonly callerIdentifier;
|
|
21
|
+
constructor(properties: SimAthenaAuthorizerProperties);
|
|
22
|
+
/**
|
|
23
|
+
* Ensure the caller may perform an action on a workgroup, named by name.
|
|
24
|
+
*
|
|
25
|
+
* The workgroup need not exist: `CreateWorkGroup` authorizes against the ARN
|
|
26
|
+
* the workgroup is about to have.
|
|
27
|
+
*/
|
|
28
|
+
authorizeWorkGroup(action: string, workGroupName: string, options?: SimAthenaRequestOptions): SimAwsResolvedCaller;
|
|
29
|
+
/**
|
|
30
|
+
* Ensure the caller may perform an action naming no particular workgroup.
|
|
31
|
+
*/
|
|
32
|
+
authorizeAnyWorkGroup(action: string, options?: SimAthenaRequestOptions): SimAwsResolvedCaller;
|
|
33
|
+
private authorizeResource;
|
|
34
|
+
}
|
|
35
|
+
export {};
|
|
36
|
+
//# sourceMappingURL=sim-athena-authorizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-athena-authorizer.d.ts","sourceRoot":"","sources":["../../../../../src/service/athena/command/authorize/sim-athena-authorizer.ts"],"names":[],"mappings":"AAAA,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;AAItG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAUhF,UAAU,6BAA6B;IACrC,QAAQ,CAAC,GAAG,EAAE,uBAAuB,CAAC;IACtC,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;CACvD;AAED;;;;;;;GAOG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0B;IAC9C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2B;IAC9D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgC;IAEjE,YAAY,UAAU,EAAE,6BAA6B,EAGpD;IAED;;;;;OAKG;IACH,kBAAkB,CAChB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,uBAAuB,GAChC,oBAAoB,CAMtB;IAED;;OAEG;IACH,qBAAqB,CACnB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,uBAAuB,GAChC,oBAAoB,CAEtB;IAED,OAAO,CAAC,iBAAiB;CAwB1B"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { SimIamCallerIdentifier } from "../../../iam/error/sim-iam-caller-identifier.js";
|
|
2
|
+
import { athenaWorkGroupArn } from "../../sim-athena-arn.js";
|
|
3
|
+
import { SimAthenaAccessDeniedException } from "../../error/sim-athena.error.js";
|
|
4
|
+
/**
|
|
5
|
+
* The resource an action naming no workgroup authorizes against.
|
|
6
|
+
*
|
|
7
|
+
* `ListWorkGroups` names none, so IAM evaluates it against `*` and only a
|
|
8
|
+
* policy whose Resource is `*` allows it.
|
|
9
|
+
*/
|
|
10
|
+
const noResource = "*";
|
|
11
|
+
/**
|
|
12
|
+
* Applies simulated IAM authorization to Athena requests.
|
|
13
|
+
*
|
|
14
|
+
* The resource is the workgroup ARN,
|
|
15
|
+
* `arn:aws:athena:<region>:<account>:workgroup/<name>`. A named query has no
|
|
16
|
+
* ARN of its own on real Athena, and work on one is authorized against the
|
|
17
|
+
* workgroup it belongs to, so that is what this asks about too.
|
|
18
|
+
*/
|
|
19
|
+
export class SimAthenaAuthorizer {
|
|
20
|
+
iam;
|
|
21
|
+
accountRegionScope;
|
|
22
|
+
callerIdentifier = new SimIamCallerIdentifier();
|
|
23
|
+
constructor(properties) {
|
|
24
|
+
this.iam = properties.iam;
|
|
25
|
+
this.accountRegionScope = properties.accountRegionScope;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Ensure the caller may perform an action on a workgroup, named by name.
|
|
29
|
+
*
|
|
30
|
+
* The workgroup need not exist: `CreateWorkGroup` authorizes against the ARN
|
|
31
|
+
* the workgroup is about to have.
|
|
32
|
+
*/
|
|
33
|
+
authorizeWorkGroup(action, workGroupName, options) {
|
|
34
|
+
return this.authorizeResource(action, athenaWorkGroupArn(workGroupName, this.accountRegionScope), options);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Ensure the caller may perform an action naming no particular workgroup.
|
|
38
|
+
*/
|
|
39
|
+
authorizeAnyWorkGroup(action, options) {
|
|
40
|
+
return this.authorizeResource(action, noResource, options);
|
|
41
|
+
}
|
|
42
|
+
authorizeResource(action, resource, options) {
|
|
43
|
+
const decision = this.iam.authorize({
|
|
44
|
+
action,
|
|
45
|
+
resource,
|
|
46
|
+
caller: options?.caller,
|
|
47
|
+
});
|
|
48
|
+
if (decision.isDenied) {
|
|
49
|
+
const identifier = this.callerIdentifier.format(decision.caller.principal);
|
|
50
|
+
throw new SimAthenaAccessDeniedException(`User: ${identifier} is not authorized to perform: ${action} on ` +
|
|
51
|
+
`resource: ${resource}`);
|
|
52
|
+
}
|
|
53
|
+
return decision.caller;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=sim-athena-authorizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-athena-authorizer.js","sourceRoot":"","sources":["../../../../../src/service/athena/command/authorize/sim-athena-authorizer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AAGjF;;;;;GAKG;AACH,MAAM,UAAU,GAAG,GAAG,CAAC;AAOvB;;;;;;;GAOG;AACH,MAAM,OAAO,mBAAmB;IACb,GAAG,CAA0B;IAC7B,kBAAkB,CAA2B;IAC7C,gBAAgB,GAAG,IAAI,sBAAsB,EAAE,CAAC;IAEjE,YAAY,UAAyC;QACnD,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;QAC1B,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC;IAC1D,CAAC;IAED;;;;;OAKG;IACH,kBAAkB,CAChB,MAAc,EACd,aAAqB,EACrB,OAAiC;QAEjC,OAAO,IAAI,CAAC,iBAAiB,CAC3B,MAAM,EACN,kBAAkB,CAAC,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAC1D,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,qBAAqB,CACnB,MAAc,EACd,OAAiC;QAEjC,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAEO,iBAAiB,CACvB,MAAc,EACd,QAAgB,EAChB,OAA4C;QAE5C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;YAClC,MAAM;YACN,QAAQ;YACR,MAAM,EAAE,OAAO,EAAE,MAAM;SACxB,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAC7C,QAAQ,CAAC,MAAM,CAAC,SAAS,CAC1B,CAAC;YAEF,MAAM,IAAI,8BAA8B,CACtC,SAAS,UAAU,kCAAkC,MAAM,MAAM;gBAC/D,aAAa,QAAQ,EAAE,CAC1B,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC,MAAM,CAAC;IACzB,CAAC;CACF"}
|