@kensio/yulin 1.4.1 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/serve/http/url/sim-aws-request-hostname.d.ts +13 -0
- package/dist/serve/http/url/sim-aws-request-hostname.d.ts.map +1 -0
- package/dist/serve/http/url/sim-aws-request-hostname.js +19 -0
- package/dist/serve/http/url/sim-aws-request-hostname.js.map +1 -0
- package/dist/service/acm/command/delete-certificate/delete-certificate-authorizer.d.ts +26 -0
- package/dist/service/acm/command/delete-certificate/delete-certificate-authorizer.d.ts.map +1 -0
- package/dist/service/acm/command/delete-certificate/delete-certificate-authorizer.js +36 -0
- package/dist/service/acm/command/delete-certificate/delete-certificate-authorizer.js.map +1 -0
- package/dist/service/acm/command/delete-certificate/delete-certificate.command.d.ts +22 -0
- package/dist/service/acm/command/delete-certificate/delete-certificate.command.d.ts.map +1 -0
- package/dist/service/acm/command/delete-certificate/delete-certificate.command.js +2 -0
- package/dist/service/acm/command/delete-certificate/delete-certificate.command.js.map +1 -0
- package/dist/service/acm/command/delete-certificate/delete-certificate.handler.d.ts +39 -0
- package/dist/service/acm/command/delete-certificate/delete-certificate.handler.d.ts.map +1 -0
- package/dist/service/acm/command/delete-certificate/delete-certificate.handler.js +43 -0
- package/dist/service/acm/command/delete-certificate/delete-certificate.handler.js.map +1 -0
- package/dist/service/acm/sdk/sim-acm-sdk-command-router.d.ts.map +1 -1
- package/dist/service/acm/sdk/sim-acm-sdk-command-router.js +4 -0
- package/dist/service/acm/sdk/sim-acm-sdk-command-router.js.map +1 -1
- package/dist/service/acm/sim-acm.d.ts +5 -0
- package/dist/service/acm/sim-acm.d.ts.map +1 -1
- package/dist/service/acm/sim-acm.js +12 -0
- package/dist/service/acm/sim-acm.js.map +1 -1
- package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-import-properties.js +1 -1
- package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-properties.js +2 -2
- package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-properties.js.map +1 -1
- package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-property-rules.d.ts +22 -7
- package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-property-rules.d.ts.map +1 -1
- package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-property-rules.js +37 -16
- package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-property-rules.js.map +1 -1
- package/dist/service/apigatewayv2/cfn/authorizer/sim-cfn-http-api-authorizer-properties.js +1 -1
- package/dist/service/apigatewayv2/cfn/authorizer/sim-cfn-http-api-authorizer-properties.js.map +1 -1
- package/dist/service/apigatewayv2/cfn/integration/sim-cfn-http-api-integration-properties.js +1 -1
- package/dist/service/apigatewayv2/cfn/integration/sim-cfn-http-api-integration-properties.js.map +1 -1
- package/dist/service/apigatewayv2/cfn/route/sim-cfn-http-api-route-properties.js +1 -1
- package/dist/service/apigatewayv2/cfn/route/sim-cfn-http-api-route-properties.js.map +1 -1
- package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-property-parser.d.ts +17 -12
- package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-property-parser.d.ts.map +1 -1
- package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-property-parser.js +21 -17
- package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-property-parser.js.map +1 -1
- package/dist/service/apigatewayv2/cfn/stage/sim-cfn-http-api-stage-properties.js +1 -1
- package/dist/service/apigatewayv2/cfn/stage/sim-cfn-http-api-stage-properties.js.map +1 -1
- package/dist/service/aws/sim-aws-properties.d.ts +6 -1
- package/dist/service/aws/sim-aws-properties.d.ts.map +1 -1
- package/dist/service/aws/sim-aws.js.map +1 -1
- package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts +9 -0
- package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts.map +1 -1
- package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.js +12 -0
- package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.js.map +1 -1
- package/dist/service/cloudformation/resource/ignore/sim-cfn-ignored-properties.d.ts +47 -0
- package/dist/service/cloudformation/resource/ignore/sim-cfn-ignored-properties.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/ignore/sim-cfn-ignored-properties.js +55 -0
- package/dist/service/cloudformation/resource/ignore/sim-cfn-ignored-properties.js.map +1 -0
- package/dist/service/cloudformation/resource/ignore/sim-cfn-ignored-property.type.d.ts +33 -0
- package/dist/service/cloudformation/resource/ignore/sim-cfn-ignored-property.type.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/ignore/sim-cfn-ignored-property.type.js +2 -0
- package/dist/service/cloudformation/resource/ignore/sim-cfn-ignored-property.type.js.map +1 -0
- package/dist/service/cloudformation/resource/sim-cfn-resource.d.ts +17 -36
- package/dist/service/cloudformation/resource/sim-cfn-resource.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/sim-cfn-resource.js +20 -5
- package/dist/service/cloudformation/resource/sim-cfn-resource.js.map +1 -1
- package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts +34 -0
- package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/sim-cfn-resource.type.js +2 -0
- package/dist/service/cloudformation/resource/sim-cfn-resource.type.js.map +1 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts +9 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts.map +1 -1
- package/dist/service/cloudformation/stack/sim-cfn-stack.js +13 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack.js.map +1 -1
- package/dist/service/cloudfront/cff/adapter/sim-cff-request-response-adapter.d.ts +19 -0
- package/dist/service/cloudfront/cff/adapter/sim-cff-request-response-adapter.d.ts.map +1 -1
- package/dist/service/cloudfront/cff/adapter/sim-cff-request-response-adapter.js +35 -2
- package/dist/service/cloudfront/cff/adapter/sim-cff-request-response-adapter.js.map +1 -1
- package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts +16 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts.map +1 -1
- package/dist/service/cloudfront/command/create-distribution/sim-cf-distro-config-normalizer.d.ts.map +1 -1
- package/dist/service/cloudfront/command/create-distribution/sim-cf-distro-config-normalizer.js +1 -0
- package/dist/service/cloudfront/command/create-distribution/sim-cf-distro-config-normalizer.js.map +1 -1
- package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.d.ts +3 -0
- package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.d.ts.map +1 -1
- package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.js +11 -3
- package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.js.map +1 -1
- package/dist/service/cloudfront/controller/error/sim-cf-custom-error-responder.d.ts +29 -0
- package/dist/service/cloudfront/controller/error/sim-cf-custom-error-responder.d.ts.map +1 -0
- package/dist/service/cloudfront/controller/error/sim-cf-custom-error-responder.js +58 -0
- package/dist/service/cloudfront/controller/error/sim-cf-custom-error-responder.js.map +1 -0
- package/dist/service/cloudfront/controller/root-object/sim-cf-default-root-object-request.d.ts +17 -0
- package/dist/service/cloudfront/controller/root-object/sim-cf-default-root-object-request.d.ts.map +1 -0
- package/dist/service/cloudfront/controller/root-object/sim-cf-default-root-object-request.js +35 -0
- package/dist/service/cloudfront/controller/root-object/sim-cf-default-root-object-request.js.map +1 -0
- package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.d.ts +5 -2
- package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.d.ts.map +1 -1
- package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.js +13 -3
- package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.js.map +1 -1
- package/dist/service/cloudfront/custom-error/sim-cloudfront-custom-error-response.d.ts +24 -0
- package/dist/service/cloudfront/custom-error/sim-cloudfront-custom-error-response.d.ts.map +1 -0
- package/dist/service/cloudfront/custom-error/sim-cloudfront-custom-error-response.js +14 -0
- package/dist/service/cloudfront/custom-error/sim-cloudfront-custom-error-response.js.map +1 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-custom-error-configurator.d.ts +19 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-custom-error-configurator.d.ts.map +1 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-custom-error-configurator.js +53 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-custom-error-configurator.js.map +1 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.d.ts +11 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.d.ts.map +1 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.js +26 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.js.map +1 -1
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts +14 -0
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts.map +1 -1
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js +20 -0
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js.map +1 -1
- package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts +31 -0
- package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts.map +1 -1
- package/dist/service/cloudfront/error/sim-cloudfront.error.js +39 -0
- package/dist/service/cloudfront/error/sim-cloudfront.error.js.map +1 -1
- package/dist/service/cloudfront/router/sim-cloud-front-distro-router.d.ts.map +1 -1
- package/dist/service/cloudfront/router/sim-cloud-front-distro-router.js +2 -7
- package/dist/service/cloudfront/router/sim-cloud-front-distro-router.js.map +1 -1
- package/dist/service/cognito/cfn/client/sim-cfn-cognito-client-properties.js +1 -1
- package/dist/service/cognito/cfn/client/sim-cfn-cognito-client-properties.js.map +1 -1
- package/dist/service/cognito/cfn/client/sim-cfn-cognito-token-validity-units.js +1 -1
- package/dist/service/cognito/cfn/client/sim-cfn-cognito-token-validity-units.js.map +1 -1
- package/dist/service/cognito/cfn/group/sim-cfn-cognito-group-properties.js +1 -1
- package/dist/service/cognito/cfn/group/sim-cfn-cognito-group-properties.js.map +1 -1
- package/dist/service/cognito/cfn/sim-cfn-cognito-property-parser.d.ts +22 -14
- package/dist/service/cognito/cfn/sim-cfn-cognito-property-parser.d.ts.map +1 -1
- package/dist/service/cognito/cfn/sim-cfn-cognito-property-parser.js +27 -20
- package/dist/service/cognito/cfn/sim-cfn-cognito-property-parser.js.map +1 -1
- package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-password-policy.js +1 -1
- package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-password-policy.js.map +1 -1
- package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-policies.js +1 -1
- package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-policies.js.map +1 -1
- package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-sign-in-policy.js +1 -1
- package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-sign-in-policy.js.map +1 -1
- package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-properties.d.ts +3 -3
- package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-properties.js +6 -6
- package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-properties.js.map +1 -1
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-capacity.js +22 -2
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-capacity.js.map +1 -1
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-properties.d.ts +4 -4
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-properties.d.ts.map +1 -1
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-properties.js +13 -10
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-properties.js.map +1 -1
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.d.ts +6 -5
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.d.ts.map +1 -1
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.js +12 -12
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.js.map +1 -1
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replica-rules.d.ts +4 -3
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replica-rules.d.ts.map +1 -1
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replica-rules.js +8 -8
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replica-rules.js.map +1 -1
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replicas.d.ts +28 -20
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replicas.d.ts.map +1 -1
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replicas.js +49 -32
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replicas.js.map +1 -1
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-simulated.d.ts +6 -4
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-simulated.d.ts.map +1 -1
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-simulated.js +18 -17
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-simulated.js.map +1 -1
- package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-error.d.ts +6 -14
- package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-error.d.ts.map +1 -1
- package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-error.js +6 -19
- package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-error.js.map +1 -1
- package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-rules.d.ts +19 -16
- package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-rules.d.ts.map +1 -1
- package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-rules.js +25 -20
- package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-rules.js.map +1 -1
- package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-resource-scope.d.ts +14 -0
- package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-resource-scope.d.ts.map +1 -0
- package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-resource-scope.js +2 -0
- package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-resource-scope.js.map +1 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.js +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.js.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.d.ts +6 -4
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.d.ts.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.js +7 -6
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.js.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.d.ts +2 -2
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.d.ts.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.js +7 -4
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.js.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.d.ts +13 -13
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.d.ts.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.js +22 -23
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.js.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.d.ts +6 -4
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.d.ts.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.js +6 -5
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.js.map +1 -1
- package/dist/service/dynamodb/document/sim-dynamodb-document-command-paths.d.ts +12 -3
- package/dist/service/dynamodb/document/sim-dynamodb-document-command-paths.d.ts.map +1 -1
- package/dist/service/dynamodb/document/sim-dynamodb-document-command-paths.js +28 -3
- package/dist/service/dynamodb/document/sim-dynamodb-document-command-paths.js.map +1 -1
- package/dist/service/dynamodb/document/sim-dynamodb-document-command.d.ts +2 -8
- package/dist/service/dynamodb/document/sim-dynamodb-document-command.d.ts.map +1 -1
- package/dist/service/dynamodb/document/sim-dynamodb-document-command.js +3 -20
- package/dist/service/dynamodb/document/sim-dynamodb-document-command.js.map +1 -1
- package/dist/service/dynamodb/document/sim-dynamodb-document-routes.d.ts +22 -6
- package/dist/service/dynamodb/document/sim-dynamodb-document-routes.d.ts.map +1 -1
- package/dist/service/dynamodb/document/sim-dynamodb-document-routes.js +43 -22
- package/dist/service/dynamodb/document/sim-dynamodb-document-routes.js.map +1 -1
- package/dist/service/dynamodb/document/sim-dynamodb-document-shared-name-route.d.ts +26 -0
- package/dist/service/dynamodb/document/sim-dynamodb-document-shared-name-route.d.ts.map +1 -0
- package/dist/service/dynamodb/document/sim-dynamodb-document-shared-name-route.js +31 -0
- package/dist/service/dynamodb/document/sim-dynamodb-document-shared-name-route.js.map +1 -0
- package/dist/service/dynamodb/sdk/sim-dynamodb-sdk-command-router.d.ts.map +1 -1
- package/dist/service/dynamodb/sdk/sim-dynamodb-sdk-command-router.js +13 -14
- package/dist/service/dynamodb/sdk/sim-dynamodb-sdk-command-router.js.map +1 -1
- package/dist/service/iam/command/policy/delete-policy/delete-policy.command.d.ts +8 -0
- package/dist/service/iam/command/policy/delete-policy/delete-policy.command.d.ts.map +1 -0
- package/dist/service/iam/command/policy/delete-policy/delete-policy.command.js +2 -0
- package/dist/service/iam/command/policy/delete-policy/delete-policy.command.js.map +1 -0
- package/dist/service/iam/command/policy/delete-policy/delete-policy.handler.d.ts +38 -0
- package/dist/service/iam/command/policy/delete-policy/delete-policy.handler.d.ts.map +1 -0
- package/dist/service/iam/command/policy/delete-policy/delete-policy.handler.js +52 -0
- package/dist/service/iam/command/policy/delete-policy/delete-policy.handler.js.map +1 -0
- package/dist/service/iam/command/policy/delete-role-policy/delete-role-policy.command.d.ts +9 -0
- package/dist/service/iam/command/policy/delete-role-policy/delete-role-policy.command.d.ts.map +1 -0
- package/dist/service/iam/command/policy/delete-role-policy/delete-role-policy.command.js +2 -0
- package/dist/service/iam/command/policy/delete-role-policy/delete-role-policy.command.js.map +1 -0
- package/dist/service/iam/command/policy/delete-role-policy/delete-role-policy.handler.d.ts +28 -0
- package/dist/service/iam/command/policy/delete-role-policy/delete-role-policy.handler.d.ts.map +1 -0
- package/dist/service/iam/command/policy/delete-role-policy/delete-role-policy.handler.js +44 -0
- package/dist/service/iam/command/policy/delete-role-policy/delete-role-policy.handler.js.map +1 -0
- package/dist/service/iam/command/policy/sim-iam-policy-command-handlers.d.ts +8 -0
- package/dist/service/iam/command/policy/sim-iam-policy-command-handlers.d.ts.map +1 -1
- package/dist/service/iam/command/policy/sim-iam-policy-command-handlers.js +17 -1
- package/dist/service/iam/command/policy/sim-iam-policy-command-handlers.js.map +1 -1
- package/dist/service/iam/command/role/delete-role/delete-role.command.d.ts +19 -0
- package/dist/service/iam/command/role/delete-role/delete-role.command.d.ts.map +1 -0
- package/dist/service/iam/command/role/delete-role/delete-role.command.js +2 -0
- package/dist/service/iam/command/role/delete-role/delete-role.command.js.map +1 -0
- package/dist/service/iam/command/role/delete-role/delete-role.handler.d.ts +30 -0
- package/dist/service/iam/command/role/delete-role/delete-role.handler.d.ts.map +1 -0
- package/dist/service/iam/command/role/delete-role/delete-role.handler.js +47 -0
- package/dist/service/iam/command/role/delete-role/delete-role.handler.js.map +1 -0
- package/dist/service/iam/command/role/detach-role-policy/detach-role-policy.command.d.ts +20 -0
- package/dist/service/iam/command/role/detach-role-policy/detach-role-policy.command.d.ts.map +1 -0
- package/dist/service/iam/command/role/detach-role-policy/detach-role-policy.command.js +2 -0
- package/dist/service/iam/command/role/detach-role-policy/detach-role-policy.command.js.map +1 -0
- package/dist/service/iam/command/role/detach-role-policy/detach-role-policy.handler.d.ts +28 -0
- package/dist/service/iam/command/role/detach-role-policy/detach-role-policy.handler.d.ts.map +1 -0
- package/dist/service/iam/command/role/detach-role-policy/detach-role-policy.handler.js +44 -0
- package/dist/service/iam/command/role/detach-role-policy/detach-role-policy.handler.js.map +1 -0
- package/dist/service/iam/command/role/sim-iam-role-command-handlers.d.ts +15 -0
- package/dist/service/iam/command/role/sim-iam-role-command-handlers.d.ts.map +1 -1
- package/dist/service/iam/command/role/sim-iam-role-command-handlers.js +36 -0
- package/dist/service/iam/command/role/sim-iam-role-command-handlers.js.map +1 -1
- package/dist/service/iam/command/sim-iam-command-handlers.d.ts.map +1 -1
- package/dist/service/iam/command/sim-iam-command-handlers.js +1 -0
- package/dist/service/iam/command/sim-iam-command-handlers.js.map +1 -1
- package/dist/service/iam/command/sim-iam-command.types.d.ts +22 -0
- package/dist/service/iam/command/sim-iam-command.types.d.ts.map +1 -0
- package/dist/service/iam/command/sim-iam-command.types.js +8 -0
- package/dist/service/iam/command/sim-iam-command.types.js.map +1 -0
- package/dist/service/iam/error/sim-iam.error.d.ts +11 -0
- package/dist/service/iam/error/sim-iam.error.d.ts.map +1 -1
- package/dist/service/iam/error/sim-iam.error.js +13 -0
- package/dist/service/iam/error/sim-iam.error.js.map +1 -1
- package/dist/service/iam/sdk/sim-iam-sdk-command-router.d.ts.map +1 -1
- package/dist/service/iam/sdk/sim-iam-sdk-command-router.js +16 -0
- package/dist/service/iam/sdk/sim-iam-sdk-command-router.js.map +1 -1
- package/dist/service/iam/sim-iam.d.ts +28 -22
- package/dist/service/iam/sim-iam.d.ts.map +1 -1
- package/dist/service/iam/sim-iam.js +24 -0
- package/dist/service/iam/sim-iam.js.map +1 -1
- package/dist/service/kms/cfn/key/sim-cfn-kms-key-properties.js +1 -1
- package/dist/service/kms/cfn/key/sim-cfn-kms-key-properties.js.map +1 -1
- package/dist/service/kms/cfn/key/sim-cfn-kms-unsimulated-key-properties.d.ts +19 -16
- package/dist/service/kms/cfn/key/sim-cfn-kms-unsimulated-key-properties.d.ts.map +1 -1
- package/dist/service/kms/cfn/key/sim-cfn-kms-unsimulated-key-properties.js +30 -28
- package/dist/service/kms/cfn/key/sim-cfn-kms-unsimulated-key-properties.js.map +1 -1
- package/dist/service/kms/command/alias/alias.command.d.ts +14 -0
- package/dist/service/kms/command/alias/alias.command.d.ts.map +1 -1
- package/dist/service/kms/command/alias/sim-kms-alias-commands.d.ts +10 -1
- package/dist/service/kms/command/alias/sim-kms-alias-commands.d.ts.map +1 -1
- package/dist/service/kms/command/alias/sim-kms-alias-commands.js +27 -2
- package/dist/service/kms/command/alias/sim-kms-alias-commands.js.map +1 -1
- package/dist/service/kms/command/sim-kms-command.types.d.ts +1 -1
- package/dist/service/kms/command/sim-kms-command.types.d.ts.map +1 -1
- package/dist/service/kms/key/sim-kms-key-store.d.ts +7 -0
- package/dist/service/kms/key/sim-kms-key-store.d.ts.map +1 -1
- package/dist/service/kms/key/sim-kms-key-store.js +9 -0
- package/dist/service/kms/key/sim-kms-key-store.js.map +1 -1
- package/dist/service/kms/sdk/sim-kms-sdk-command-router.d.ts.map +1 -1
- package/dist/service/kms/sdk/sim-kms-sdk-command-router.js +4 -0
- package/dist/service/kms/sdk/sim-kms-sdk-command-router.js.map +1 -1
- package/dist/service/kms/sim-kms-commands.d.ts +40 -0
- package/dist/service/kms/sim-kms-commands.d.ts.map +1 -0
- package/dist/service/kms/sim-kms-commands.js +66 -0
- package/dist/service/kms/sim-kms-commands.js.map +1 -0
- package/dist/service/kms/sim-kms.d.ts +6 -18
- package/dist/service/kms/sim-kms.d.ts.map +1 -1
- package/dist/service/kms/sim-kms.js +40 -89
- package/dist/service/kms/sim-kms.js.map +1 -1
- package/dist/service/lambda/command/delete-function/delete-function-authorizer.d.ts +22 -0
- package/dist/service/lambda/command/delete-function/delete-function-authorizer.d.ts.map +1 -0
- package/dist/service/lambda/command/delete-function/delete-function-authorizer.js +32 -0
- package/dist/service/lambda/command/delete-function/delete-function-authorizer.js.map +1 -0
- package/dist/service/lambda/command/delete-function/delete-function.command.d.ts +23 -0
- package/dist/service/lambda/command/delete-function/delete-function.command.d.ts.map +1 -0
- package/dist/service/lambda/command/delete-function/delete-function.command.js +2 -0
- package/dist/service/lambda/command/delete-function/delete-function.command.js.map +1 -0
- package/dist/service/lambda/command/delete-function/delete-function.handler.d.ts +45 -0
- package/dist/service/lambda/command/delete-function/delete-function.handler.d.ts.map +1 -0
- package/dist/service/lambda/command/delete-function/delete-function.handler.js +53 -0
- package/dist/service/lambda/command/delete-function/delete-function.handler.js.map +1 -0
- package/dist/service/lambda/command/function/sim-lambda-function-commands.d.ts +7 -0
- package/dist/service/lambda/command/function/sim-lambda-function-commands.d.ts.map +1 -1
- package/dist/service/lambda/command/function/sim-lambda-function-commands.js +7 -0
- package/dist/service/lambda/command/function/sim-lambda-function-commands.js.map +1 -1
- package/dist/service/lambda/command/sim-lambda-command.types.d.ts +1 -0
- package/dist/service/lambda/command/sim-lambda-command.types.d.ts.map +1 -1
- package/dist/service/lambda/function/url/sim-lambda-function-url-store.d.ts +7 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-store.d.ts.map +1 -1
- package/dist/service/lambda/function/url/sim-lambda-function-url-store.js +11 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-store.js.map +1 -1
- package/dist/service/lambda/sdk/sim-lambda-sdk-command-router.d.ts.map +1 -1
- package/dist/service/lambda/sdk/sim-lambda-sdk-command-router.js +4 -0
- package/dist/service/lambda/sdk/sim-lambda-sdk-command-router.js.map +1 -1
- package/dist/service/lambda/sim-lambda-commands.d.ts.map +1 -1
- package/dist/service/lambda/sim-lambda-commands.js +1 -0
- package/dist/service/lambda/sim-lambda-commands.js.map +1 -1
- package/dist/service/lambda/sim-lambda.d.ts +4 -0
- package/dist/service/lambda/sim-lambda.d.ts.map +1 -1
- package/dist/service/lambda/sim-lambda.js +6 -0
- package/dist/service/lambda/sim-lambda.js.map +1 -1
- package/dist/service/route53/command/create-hosted-zone/sim-route53-zone-id.d.ts +9 -2
- package/dist/service/route53/command/create-hosted-zone/sim-route53-zone-id.d.ts.map +1 -1
- package/dist/service/route53/command/create-hosted-zone/sim-route53-zone-id.js +25 -6
- package/dist/service/route53/command/create-hosted-zone/sim-route53-zone-id.js.map +1 -1
- package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone-authorizer.d.ts +26 -0
- package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone-authorizer.d.ts.map +1 -0
- package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone-authorizer.js +36 -0
- package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone-authorizer.js.map +1 -0
- package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone.command.d.ts +26 -0
- package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone.command.d.ts.map +1 -0
- package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone.command.js +2 -0
- package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone.command.js.map +1 -0
- package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone.handler.d.ts +44 -0
- package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone.handler.d.ts.map +1 -0
- package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone.handler.js +59 -0
- package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone.handler.js.map +1 -0
- package/dist/service/route53/error/sim-route53.error.d.ts +19 -0
- package/dist/service/route53/error/sim-route53.error.d.ts.map +1 -1
- package/dist/service/route53/error/sim-route53.error.js +23 -0
- package/dist/service/route53/error/sim-route53.error.js.map +1 -1
- package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.d.ts +8 -0
- package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.d.ts.map +1 -1
- package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.js +14 -0
- package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.js.map +1 -1
- package/dist/service/route53/local-name/sim-route53-local-name.d.ts +11 -0
- package/dist/service/route53/local-name/sim-route53-local-name.d.ts.map +1 -1
- package/dist/service/route53/local-name/sim-route53-local-name.js +18 -3
- package/dist/service/route53/local-name/sim-route53-local-name.js.map +1 -1
- package/dist/service/route53/registry/sim-route53-registry.d.ts +8 -0
- package/dist/service/route53/registry/sim-route53-registry.d.ts.map +1 -1
- package/dist/service/route53/registry/sim-route53-registry.js +11 -0
- package/dist/service/route53/registry/sim-route53-registry.js.map +1 -1
- package/dist/service/route53/resolve/sim-route53-resolver.d.ts +8 -2
- package/dist/service/route53/resolve/sim-route53-resolver.d.ts.map +1 -1
- package/dist/service/route53/resolve/sim-route53-resolver.js +10 -4
- package/dist/service/route53/resolve/sim-route53-resolver.js.map +1 -1
- package/dist/service/route53/sdk/sim-route53-sdk-command-router.d.ts.map +1 -1
- package/dist/service/route53/sdk/sim-route53-sdk-command-router.js +4 -0
- package/dist/service/route53/sdk/sim-route53-sdk-command-router.js.map +1 -1
- package/dist/service/route53/sim-route53.d.ts +5 -0
- package/dist/service/route53/sim-route53.d.ts.map +1 -1
- package/dist/service/route53/sim-route53.js +13 -0
- package/dist/service/route53/sim-route53.js.map +1 -1
- package/dist/service/s3/bucket/sim-s3-bucket-access.d.ts +37 -0
- package/dist/service/s3/bucket/sim-s3-bucket-access.d.ts.map +1 -0
- package/dist/service/s3/bucket/sim-s3-bucket-access.js +46 -0
- package/dist/service/s3/bucket/sim-s3-bucket-access.js.map +1 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.d.ts +4 -5
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.d.ts.map +1 -1
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.js +6 -6
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.js.map +1 -1
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.d.ts +26 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.d.ts.map +1 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.js +77 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.js.map +1 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-rules.d.ts +18 -7
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-rules.d.ts.map +1 -1
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-rules.js +25 -65
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-rules.js.map +1 -1
- package/dist/service/s3/command/bucket/sim-s3-bucket-commands.d.ts +4 -0
- package/dist/service/s3/command/bucket/sim-s3-bucket-commands.d.ts.map +1 -1
- package/dist/service/s3/command/bucket/sim-s3-bucket-commands.js +7 -0
- package/dist/service/s3/command/bucket/sim-s3-bucket-commands.js.map +1 -1
- package/dist/service/s3/command/delete-bucket/delete-bucket-authorizer.d.ts +24 -0
- package/dist/service/s3/command/delete-bucket/delete-bucket-authorizer.d.ts.map +1 -0
- package/dist/service/s3/command/delete-bucket/delete-bucket-authorizer.js +37 -0
- package/dist/service/s3/command/delete-bucket/delete-bucket-authorizer.js.map +1 -0
- package/dist/service/s3/command/delete-bucket/delete-bucket.command.d.ts +23 -0
- package/dist/service/s3/command/delete-bucket/delete-bucket.command.d.ts.map +1 -0
- package/dist/service/s3/command/delete-bucket/delete-bucket.command.js +2 -0
- package/dist/service/s3/command/delete-bucket/delete-bucket.command.js.map +1 -0
- package/dist/service/s3/command/delete-bucket/delete-bucket.handler.d.ts +43 -0
- package/dist/service/s3/command/delete-bucket/delete-bucket.handler.d.ts.map +1 -0
- package/dist/service/s3/command/delete-bucket/delete-bucket.handler.js +55 -0
- package/dist/service/s3/command/delete-bucket/delete-bucket.handler.js.map +1 -0
- package/dist/service/s3/command/sim-s3-command.types.d.ts +1 -0
- package/dist/service/s3/command/sim-s3-command.types.d.ts.map +1 -1
- package/dist/service/s3/error/sim-s3.error.d.ts +10 -0
- package/dist/service/s3/error/sim-s3.error.d.ts.map +1 -1
- package/dist/service/s3/error/sim-s3.error.js +12 -0
- package/dist/service/s3/error/sim-s3.error.js.map +1 -1
- package/dist/service/s3/sdk/sim-s3-sdk-command-router.d.ts.map +1 -1
- package/dist/service/s3/sdk/sim-s3-sdk-command-router.js +4 -0
- package/dist/service/s3/sdk/sim-s3-sdk-command-router.js.map +1 -1
- package/dist/service/s3/sim-s3-global-registry.d.ts +7 -0
- package/dist/service/s3/sim-s3-global-registry.d.ts.map +1 -1
- package/dist/service/s3/sim-s3-global-registry.js +9 -0
- package/dist/service/s3/sim-s3-global-registry.js.map +1 -1
- package/dist/service/s3/sim-s3.d.ts +5 -0
- package/dist/service/s3/sim-s3.d.ts.map +1 -1
- package/dist/service/s3/sim-s3.js +16 -12
- package/dist/service/s3/sim-s3.js.map +1 -1
- package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-properties.d.ts.map +1 -1
- package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-properties.js +2 -1
- package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-properties.js.map +1 -1
- package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-names.d.ts +31 -0
- package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-names.d.ts.map +1 -0
- package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-names.js +63 -0
- package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-names.js.map +1 -0
- package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-rules.d.ts +27 -17
- package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-rules.d.ts.map +1 -1
- package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-rules.js +39 -73
- package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-rules.js.map +1 -1
- package/package.json +1 -1
|
@@ -14,11 +14,10 @@ export declare class SimCfnS3BucketCreator {
|
|
|
14
14
|
/**
|
|
15
15
|
* Create a simulated Bucket, with the configurations it declares.
|
|
16
16
|
*
|
|
17
|
-
* Which properties the Resource carries is
|
|
18
|
-
* created
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* is applied.
|
|
17
|
+
* Which properties the Resource carries is settled before anything is
|
|
18
|
+
* created. A property this simulation does not model is recorded against the
|
|
19
|
+
* Resource and the Bucket is created without it. What each of the remaining
|
|
20
|
+
* ones says is then checked as it is applied.
|
|
22
21
|
*/
|
|
23
22
|
create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): Promise<SimS3Bucket>;
|
|
24
23
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-cfn-s3-bucket-creator.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAClH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAMjE,UAAU,+BAA+B;IACvC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAE9B,YAAY,UAAU,EAAE,+BAA+B,EAEtD;IAED
|
|
1
|
+
{"version":3,"file":"sim-cfn-s3-bucket-creator.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAClH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAMjE,UAAU,+BAA+B;IACvC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAE9B,YAAY,UAAU,EAAE,+BAA+B,EAEtD;IAED;;;;;;;OAOG;IACG,MAAM,CACV,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,yBAAyB,GACpC,OAAO,CAAC,WAAW,CAAC,CA0BtB;IAED;;;OAGG;IACH,OAAO,CAAC,qBAAqB;CAY9B"}
|
|
@@ -13,17 +13,17 @@ export class SimCfnS3BucketCreator {
|
|
|
13
13
|
/**
|
|
14
14
|
* Create a simulated Bucket, with the configurations it declares.
|
|
15
15
|
*
|
|
16
|
-
* Which properties the Resource carries is
|
|
17
|
-
* created
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* is applied.
|
|
16
|
+
* Which properties the Resource carries is settled before anything is
|
|
17
|
+
* created. A property this simulation does not model is recorded against the
|
|
18
|
+
* Resource and the Bucket is created without it. What each of the remaining
|
|
19
|
+
* ones says is then checked as it is applied.
|
|
21
20
|
*/
|
|
22
21
|
async create(resource, properties) {
|
|
23
22
|
new SimCfnS3BucketPropertyRules({
|
|
24
23
|
logicalId: resource.logicalId,
|
|
25
24
|
properties,
|
|
26
|
-
|
|
25
|
+
ignorer: resource,
|
|
26
|
+
}).apply();
|
|
27
27
|
const bucketName = this.bucketNameForResource(resource, properties);
|
|
28
28
|
validateS3BucketName(bucketName);
|
|
29
29
|
await this.simS3.createBucket({ input: { Bucket: bucketName } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-cfn-s3-bucket-creator.js","sourceRoot":"","sources":["../../../../../src/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AAMpF;;GAEG;AACH,MAAM,OAAO,qBAAqB;IACf,KAAK,CAAQ;IAE9B,YAAY,UAA2C;QACrD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;IAChC,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"sim-cfn-s3-bucket-creator.js","sourceRoot":"","sources":["../../../../../src/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AAMpF;;GAEG;AACH,MAAM,OAAO,qBAAqB;IACf,KAAK,CAAQ;IAE9B,YAAY,UAA2C;QACrD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;IAChC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CACV,QAAwB,EACxB,UAAqC;QAErC,IAAI,2BAA2B,CAAC;YAC9B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,UAAU;YACV,OAAO,EAAE,QAAQ;SAClB,CAAC,CAAC,KAAK,EAAE,CAAC;QAEX,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACpE,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAEjC,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;QAEjE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACzD,aAAa,CACX,MAAM,EACN,iBAAiB,UAAU,gCAAgC,CAC5D,CAAC;QAEF,MAAM,IAAI,0BAA0B,CAAC;YACnC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ;YACR,UAAU;YACV,UAAU;SACX,CAAC,CAAC,SAAS,EAAE,CAAC;QAEf,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACK,qBAAqB,CAC3B,QAAwB,EACxB,UAAqC;QAErC,MAAM,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;QAE5C,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACnC,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,OAAO,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;IAC1C,CAAC;CACF"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The AWS::S3::Bucket properties this simulation acts on.
|
|
3
|
+
*/
|
|
4
|
+
export declare const simulatedPropertyNames: ReadonlySet<string>;
|
|
5
|
+
/**
|
|
6
|
+
* Real AWS::S3::Bucket properties this simulation reads and does nothing with.
|
|
7
|
+
*
|
|
8
|
+
* Nothing this simulator models can tell the difference. There is no simulated
|
|
9
|
+
* KMS and Object bytes are stored as they arrive, so an encrypted Bucket and an
|
|
10
|
+
* unencrypted one answer every simulated command identically, and no simulated
|
|
11
|
+
* service reads a Bucket tag. So these are not recorded as ignored either: a
|
|
12
|
+
* report of differences that make no difference is one nobody can read.
|
|
13
|
+
*/
|
|
14
|
+
export declare const inertPropertyNames: ReadonlySet<string>;
|
|
15
|
+
/**
|
|
16
|
+
* Real AWS::S3::Bucket properties this simulation does not model, with what
|
|
17
|
+
* each of them would have changed.
|
|
18
|
+
*
|
|
19
|
+
* The Bucket is created without them and each one is recorded against the
|
|
20
|
+
* Resource. A versioned Bucket, for instance, answers a delete with a delete
|
|
21
|
+
* marker and an `ObjectRemoved:DeleteMarkerCreated` event, where this simulator
|
|
22
|
+
* removes the Object and raises `ObjectRemoved:Delete`, so a test written
|
|
23
|
+
* against versioning needs to find out that it was never configured.
|
|
24
|
+
*/
|
|
25
|
+
export declare const unsimulatedPropertyReasons: ReadonlyMap<string, string>;
|
|
26
|
+
//# sourceMappingURL=sim-cfn-s3-bucket-property-names.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-s3-bucket-property-names.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,MAAM,CAKrD,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAGjD,CAAC;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CA2CjE,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The AWS::S3::Bucket properties this simulation acts on.
|
|
3
|
+
*/
|
|
4
|
+
export const simulatedPropertyNames = new Set([
|
|
5
|
+
"BucketName",
|
|
6
|
+
"NotificationConfiguration",
|
|
7
|
+
"PublicAccessBlockConfiguration",
|
|
8
|
+
"WebsiteConfiguration",
|
|
9
|
+
]);
|
|
10
|
+
/**
|
|
11
|
+
* Real AWS::S3::Bucket properties this simulation reads and does nothing with.
|
|
12
|
+
*
|
|
13
|
+
* Nothing this simulator models can tell the difference. There is no simulated
|
|
14
|
+
* KMS and Object bytes are stored as they arrive, so an encrypted Bucket and an
|
|
15
|
+
* unencrypted one answer every simulated command identically, and no simulated
|
|
16
|
+
* service reads a Bucket tag. So these are not recorded as ignored either: a
|
|
17
|
+
* report of differences that make no difference is one nobody can read.
|
|
18
|
+
*/
|
|
19
|
+
export const inertPropertyNames = new Set([
|
|
20
|
+
"BucketEncryption",
|
|
21
|
+
"Tags",
|
|
22
|
+
]);
|
|
23
|
+
/**
|
|
24
|
+
* Real AWS::S3::Bucket properties this simulation does not model, with what
|
|
25
|
+
* each of them would have changed.
|
|
26
|
+
*
|
|
27
|
+
* The Bucket is created without them and each one is recorded against the
|
|
28
|
+
* Resource. A versioned Bucket, for instance, answers a delete with a delete
|
|
29
|
+
* marker and an `ObjectRemoved:DeleteMarkerCreated` event, where this simulator
|
|
30
|
+
* removes the Object and raises `ObjectRemoved:Delete`, so a test written
|
|
31
|
+
* against versioning needs to find out that it was never configured.
|
|
32
|
+
*/
|
|
33
|
+
export const unsimulatedPropertyReasons = new Map([
|
|
34
|
+
["AbacStatus", "attribute-based access control is not simulated"],
|
|
35
|
+
["AccelerateConfiguration", "transfer acceleration is not simulated"],
|
|
36
|
+
[
|
|
37
|
+
"AccessControl",
|
|
38
|
+
"canned Bucket ACLs are not simulated, and simulated S3 authorizes " +
|
|
39
|
+
"through IAM and the Bucket policy instead",
|
|
40
|
+
],
|
|
41
|
+
["AnalyticsConfigurations", "storage class analytics is not simulated"],
|
|
42
|
+
["BucketNamePrefix", "generated Bucket names are not simulated"],
|
|
43
|
+
["BucketNamespace", "Bucket namespaces are not simulated"],
|
|
44
|
+
[
|
|
45
|
+
"CorsConfiguration",
|
|
46
|
+
"simulated S3 does not answer preflight requests or return CORS headers",
|
|
47
|
+
],
|
|
48
|
+
[
|
|
49
|
+
"IntelligentTieringConfigurations",
|
|
50
|
+
"storage classes are not simulated, so nothing transitions between them",
|
|
51
|
+
],
|
|
52
|
+
["InventoryConfigurations", "Bucket inventory reports are not simulated"],
|
|
53
|
+
[
|
|
54
|
+
"LifecycleConfiguration",
|
|
55
|
+
"simulated S3 does not expire or transition Objects on a schedule",
|
|
56
|
+
],
|
|
57
|
+
["LoggingConfiguration", "server access logging is not simulated"],
|
|
58
|
+
["MetadataConfiguration", "Bucket metadata tables are not simulated"],
|
|
59
|
+
["MetadataTableConfiguration", "Bucket metadata tables are not simulated"],
|
|
60
|
+
["MetricsConfigurations", "CloudWatch request metrics are not simulated"],
|
|
61
|
+
[
|
|
62
|
+
"ObjectLockConfiguration",
|
|
63
|
+
"Object Lock is not simulated, so a retained Object can still be deleted",
|
|
64
|
+
],
|
|
65
|
+
[
|
|
66
|
+
"ObjectLockEnabled",
|
|
67
|
+
"Object Lock is not simulated, so a retained Object can still be deleted",
|
|
68
|
+
],
|
|
69
|
+
["OwnershipControls", "Object ownership and ACLs are not simulated"],
|
|
70
|
+
["ReplicationConfiguration", "Bucket replication is not simulated"],
|
|
71
|
+
[
|
|
72
|
+
"VersioningConfiguration",
|
|
73
|
+
"Object versions are not simulated, so a delete removes the Object and " +
|
|
74
|
+
"raises ObjectRemoved:Delete rather than creating a delete marker",
|
|
75
|
+
],
|
|
76
|
+
]);
|
|
77
|
+
//# sourceMappingURL=sim-cfn-s3-bucket-property-names.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-s3-bucket-property-names.js","sourceRoot":"","sources":["../../../../../src/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAwB,IAAI,GAAG,CAAC;IACjE,YAAY;IACZ,2BAA2B;IAC3B,gCAAgC;IAChC,sBAAsB;CACvB,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC;IAC7D,kBAAkB;IAClB,MAAM;CACP,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAgC,IAAI,GAAG,CAAC;IAC7E,CAAC,YAAY,EAAE,iDAAiD,CAAC;IACjE,CAAC,yBAAyB,EAAE,wCAAwC,CAAC;IACrE;QACE,eAAe;QACf,oEAAoE;YAClE,2CAA2C;KAC9C;IACD,CAAC,yBAAyB,EAAE,0CAA0C,CAAC;IACvE,CAAC,kBAAkB,EAAE,0CAA0C,CAAC;IAChE,CAAC,iBAAiB,EAAE,qCAAqC,CAAC;IAC1D;QACE,mBAAmB;QACnB,wEAAwE;KACzE;IACD;QACE,kCAAkC;QAClC,wEAAwE;KACzE;IACD,CAAC,yBAAyB,EAAE,4CAA4C,CAAC;IACzE;QACE,wBAAwB;QACxB,kEAAkE;KACnE;IACD,CAAC,sBAAsB,EAAE,wCAAwC,CAAC;IAClE,CAAC,uBAAuB,EAAE,0CAA0C,CAAC;IACrE,CAAC,4BAA4B,EAAE,0CAA0C,CAAC;IAC1E,CAAC,uBAAuB,EAAE,8CAA8C,CAAC;IACzE;QACE,yBAAyB;QACzB,yEAAyE;KAC1E;IACD;QACE,mBAAmB;QACnB,yEAAyE;KAC1E;IACD,CAAC,mBAAmB,EAAE,6CAA6C,CAAC;IACpE,CAAC,0BAA0B,EAAE,qCAAqC,CAAC;IACnE;QACE,yBAAyB;QACzB,wEAAwE;YACtE,kEAAkE;KACrE;CACF,CAAC,CAAC"}
|
|
@@ -1,23 +1,34 @@
|
|
|
1
1
|
import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
2
|
+
import type { SimCfnPropertyIgnorer } from "../../../cloudformation/resource/ignore/sim-cfn-ignored-property.type.js";
|
|
2
3
|
interface SimCfnS3BucketPropertyRulesProperties {
|
|
3
4
|
readonly logicalId: string;
|
|
4
5
|
readonly properties: SimCfnTemplateValueRecord;
|
|
6
|
+
readonly ignorer: SimCfnPropertyIgnorer;
|
|
5
7
|
}
|
|
6
8
|
/**
|
|
7
|
-
*
|
|
9
|
+
* What simulated S3 does with each AWS::S3::Bucket property it is handed.
|
|
8
10
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
11
|
+
* Simulated CloudFormation deploys what it can, so a property this simulation
|
|
12
|
+
* cannot act on does not stop the Bucket being created. It is left out and
|
|
13
|
+
* recorded against the Resource, where a test can find it. Refusing is kept for
|
|
14
|
+
* the one case where there is nothing coherent to create: a BucketName that is
|
|
15
|
+
* not a name.
|
|
16
|
+
*
|
|
17
|
+
* A property this simulation has never heard of is treated the same way. It may
|
|
18
|
+
* be a typo, or a property AWS added since this list was written, and a Bucket
|
|
19
|
+
* that deploys with the unknown name recorded is more useful than a stack that
|
|
20
|
+
* fails over either.
|
|
12
21
|
*/
|
|
13
22
|
export declare class SimCfnS3BucketPropertyRules {
|
|
14
23
|
private readonly logicalId;
|
|
15
24
|
private readonly properties;
|
|
25
|
+
private readonly ignorer;
|
|
16
26
|
constructor(properties: SimCfnS3BucketPropertyRulesProperties);
|
|
17
27
|
/**
|
|
18
|
-
*
|
|
28
|
+
* Record everything about this Resource that is not simulated, refusing only
|
|
29
|
+
* what leaves nothing to create.
|
|
19
30
|
*/
|
|
20
|
-
|
|
31
|
+
apply(): void;
|
|
21
32
|
/**
|
|
22
33
|
* Refuse a BucketName that is not a name.
|
|
23
34
|
*
|
|
@@ -27,7 +38,7 @@ export declare class SimCfnS3BucketPropertyRules {
|
|
|
27
38
|
* template refers to.
|
|
28
39
|
*/
|
|
29
40
|
private refuseUnusableBucketName;
|
|
30
|
-
private
|
|
41
|
+
private applyToProperty;
|
|
31
42
|
}
|
|
32
43
|
export {};
|
|
33
44
|
//# sourceMappingURL=sim-cfn-s3-bucket-property-rules.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-cfn-s3-bucket-property-rules.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-cfn-s3-bucket-property-rules.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAClH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0EAA0E,CAAC;AAQtH,UAAU,qCAAqC;IAC7C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;IAC/C,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;CACzC;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4B;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAEhD,YAAY,UAAU,EAAE,qCAAqC,EAI5D;IAED;;;OAGG;IACH,KAAK,IAAI,IAAI,CAMZ;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,wBAAwB;IAahC,OAAO,CAAC,eAAe;CAuBxB"}
|
|
@@ -1,79 +1,36 @@
|
|
|
1
1
|
import { s3BucketResourceError } from "./error/sim-cfn-s3-bucket-error.js";
|
|
2
|
+
import { inertPropertyNames, simulatedPropertyNames, unsimulatedPropertyReasons, } from "./sim-cfn-s3-bucket-property-names.js";
|
|
2
3
|
/**
|
|
3
|
-
*
|
|
4
|
-
*/
|
|
5
|
-
const simulatedPropertyNames = new Set([
|
|
6
|
-
"BucketName",
|
|
7
|
-
"NotificationConfiguration",
|
|
8
|
-
"PublicAccessBlockConfiguration",
|
|
9
|
-
"WebsiteConfiguration",
|
|
10
|
-
]);
|
|
11
|
-
/**
|
|
12
|
-
* Real AWS::S3::Bucket properties this simulation reads and does nothing with.
|
|
13
|
-
*
|
|
14
|
-
* Nothing this simulator models can tell the difference. There is no simulated
|
|
15
|
-
* KMS and Object bytes are stored as they arrive, so an encrypted Bucket and an
|
|
16
|
-
* unencrypted one answer every simulated command identically, and no simulated
|
|
17
|
-
* service reads a Bucket tag. Both are on almost every Bucket CDK synthesizes,
|
|
18
|
-
* so refusing them would leave a CDK app unable to deploy over a difference no
|
|
19
|
-
* test could observe.
|
|
20
|
-
*/
|
|
21
|
-
const inertPropertyNames = new Set([
|
|
22
|
-
"BucketEncryption",
|
|
23
|
-
"Tags",
|
|
24
|
-
]);
|
|
25
|
-
/**
|
|
26
|
-
* Real AWS::S3::Bucket properties this simulation does not model.
|
|
4
|
+
* What simulated S3 does with each AWS::S3::Bucket property it is handed.
|
|
27
5
|
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* configured to the template and behaves as though it were not.
|
|
34
|
-
*/
|
|
35
|
-
const unsimulatedPropertyNames = new Set([
|
|
36
|
-
"AbacStatus",
|
|
37
|
-
"AccelerateConfiguration",
|
|
38
|
-
"AccessControl",
|
|
39
|
-
"AnalyticsConfigurations",
|
|
40
|
-
"BucketNamePrefix",
|
|
41
|
-
"BucketNamespace",
|
|
42
|
-
"CorsConfiguration",
|
|
43
|
-
"IntelligentTieringConfigurations",
|
|
44
|
-
"InventoryConfigurations",
|
|
45
|
-
"LifecycleConfiguration",
|
|
46
|
-
"LoggingConfiguration",
|
|
47
|
-
"MetadataConfiguration",
|
|
48
|
-
"MetadataTableConfiguration",
|
|
49
|
-
"MetricsConfigurations",
|
|
50
|
-
"ObjectLockConfiguration",
|
|
51
|
-
"ObjectLockEnabled",
|
|
52
|
-
"OwnershipControls",
|
|
53
|
-
"ReplicationConfiguration",
|
|
54
|
-
"VersioningConfiguration",
|
|
55
|
-
]);
|
|
56
|
-
/**
|
|
57
|
-
* Which AWS::S3::Bucket properties simulated S3 can act on.
|
|
6
|
+
* Simulated CloudFormation deploys what it can, so a property this simulation
|
|
7
|
+
* cannot act on does not stop the Bucket being created. It is left out and
|
|
8
|
+
* recorded against the Resource, where a test can find it. Refusing is kept for
|
|
9
|
+
* the one case where there is nothing coherent to create: a BucketName that is
|
|
10
|
+
* not a name.
|
|
58
11
|
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
12
|
+
* A property this simulation has never heard of is treated the same way. It may
|
|
13
|
+
* be a typo, or a property AWS added since this list was written, and a Bucket
|
|
14
|
+
* that deploys with the unknown name recorded is more useful than a stack that
|
|
15
|
+
* fails over either.
|
|
62
16
|
*/
|
|
63
17
|
export class SimCfnS3BucketPropertyRules {
|
|
64
18
|
logicalId;
|
|
65
19
|
properties;
|
|
20
|
+
ignorer;
|
|
66
21
|
constructor(properties) {
|
|
67
22
|
this.logicalId = properties.logicalId;
|
|
68
23
|
this.properties = properties.properties;
|
|
24
|
+
this.ignorer = properties.ignorer;
|
|
69
25
|
}
|
|
70
26
|
/**
|
|
71
|
-
*
|
|
27
|
+
* Record everything about this Resource that is not simulated, refusing only
|
|
28
|
+
* what leaves nothing to create.
|
|
72
29
|
*/
|
|
73
|
-
|
|
30
|
+
apply() {
|
|
74
31
|
this.refuseUnusableBucketName();
|
|
75
32
|
for (const name of Object.keys(this.properties)) {
|
|
76
|
-
this.
|
|
33
|
+
this.applyToProperty(name);
|
|
77
34
|
}
|
|
78
35
|
}
|
|
79
36
|
/**
|
|
@@ -91,15 +48,18 @@ export class SimCfnS3BucketPropertyRules {
|
|
|
91
48
|
}
|
|
92
49
|
throw s3BucketResourceError(this.logicalId, "BucketName must be a Bucket name string");
|
|
93
50
|
}
|
|
94
|
-
|
|
51
|
+
applyToProperty(name) {
|
|
95
52
|
if (simulatedPropertyNames.has(name) || inertPropertyNames.has(name)) {
|
|
96
53
|
return;
|
|
97
54
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
55
|
+
const unsimulatedReason = unsimulatedPropertyReasons.get(name);
|
|
56
|
+
if (unsimulatedReason !== undefined) {
|
|
57
|
+
this.ignorer.ignoreProperty(name, `${name} is a real AWS::S3::Bucket property simulated S3 does not ` +
|
|
58
|
+
`act on: ${unsimulatedReason}`);
|
|
59
|
+
return;
|
|
101
60
|
}
|
|
102
|
-
|
|
61
|
+
this.ignorer.ignoreProperty(name, `${name} is not a property simulated S3 knows about, so the Bucket is ` +
|
|
62
|
+
`created without it`);
|
|
103
63
|
}
|
|
104
64
|
}
|
|
105
65
|
//# sourceMappingURL=sim-cfn-s3-bucket-property-rules.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-cfn-s3-bucket-property-rules.js","sourceRoot":"","sources":["../../../../../src/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-rules.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sim-cfn-s3-bucket-property-rules.js","sourceRoot":"","sources":["../../../../../src/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-rules.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,uCAAuC,CAAC;AAQ/C;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,2BAA2B;IACrB,SAAS,CAAS;IAClB,UAAU,CAA4B;IACtC,OAAO,CAAwB;IAEhD,YAAY,UAAiD;QAC3D,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,KAAK;QACH,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAEhC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,wBAAwB;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAEjD,IAAI,UAAU,KAAK,SAAS,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,MAAM,qBAAqB,CACzB,IAAI,CAAC,SAAS,EACd,yCAAyC,CAC1C,CAAC;IACJ,CAAC;IAEO,eAAe,CAAC,IAAY;QAClC,IAAI,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACrE,OAAO;QACT,CAAC;QAED,MAAM,iBAAiB,GAAG,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE/D,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,cAAc,CACzB,IAAI,EACJ,GAAG,IAAI,4DAA4D;gBACjE,WAAW,iBAAiB,EAAE,CACjC,CAAC;YAEF,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,cAAc,CACzB,IAAI,EACJ,GAAG,IAAI,gEAAgE;YACrE,oBAAoB,CACvB,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -21,6 +21,10 @@ export declare class SimS3BucketCommands {
|
|
|
21
21
|
* Create a Bucket in this scope and register it globally.
|
|
22
22
|
*/
|
|
23
23
|
create(command: simS3Commands.SimCreateBucketCommand, options?: SimS3RequestOptions): Promise<simS3Commands.SimCreateBucketCommandOutput>;
|
|
24
|
+
/**
|
|
25
|
+
* Delete a Bucket from this scope and release its name globally.
|
|
26
|
+
*/
|
|
27
|
+
delete(command: simS3Commands.SimDeleteBucketCommand, options?: SimS3RequestOptions): Promise<simS3Commands.SimDeleteBucketCommandOutput>;
|
|
24
28
|
/**
|
|
25
29
|
* List the Buckets this scope owns.
|
|
26
30
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-s3-bucket-commands.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/bucket/sim-s3-bucket-commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-s3-bucket-commands.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/bucket/sim-s3-bucket-commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAK3E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,KAAK,KAAK,aAAa,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAExE,UAAU,6BAA8B,SAAQ,uBAAuB;IACrE,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;IACtD,QAAQ,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;CAChD;AAED;;;;;;GAMG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgC;IAE3D,YAAY,UAAU,EAAE,6BAA6B,EAEpD;IAED;;OAEG;IACG,MAAM,CACV,OAAO,EAAE,aAAa,CAAC,sBAAsB,EAC7C,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAKrD;IAED;;OAEG;IACG,MAAM,CACV,OAAO,EAAE,aAAa,CAAC,sBAAsB,EAC7C,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAKrD;IAED;;OAEG;IACG,IAAI,CACR,OAAO,EAAE,aAAa,CAAC,qBAAqB,EAC5C,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAKpD;IAED;;OAEG;IACG,UAAU,CACd,OAAO,EAAE,aAAa,CAAC,0BAA0B,EACjD,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAKzD;CACF"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CreateBucketCommandHandler } from "../create-bucket/create-bucket.handler.js";
|
|
2
|
+
import { DeleteBucketCommandHandler } from "../delete-bucket/delete-bucket.handler.js";
|
|
2
3
|
import { ListBucketsCommandHandler } from "../list-buckets/list-buckets.handler.js";
|
|
3
4
|
import { PutBucketWebsiteCommandHandler } from "../put-bucket-website/put-bucket-website.handler.js";
|
|
4
5
|
/**
|
|
@@ -19,6 +20,12 @@ export class SimS3BucketCommands {
|
|
|
19
20
|
async create(command, options) {
|
|
20
21
|
return await new CreateBucketCommandHandler(this.properties).handle(command, options);
|
|
21
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Delete a Bucket from this scope and release its name globally.
|
|
25
|
+
*/
|
|
26
|
+
async delete(command, options) {
|
|
27
|
+
return await new DeleteBucketCommandHandler(this.properties).handle(command, options);
|
|
28
|
+
}
|
|
22
29
|
/**
|
|
23
30
|
* List the Buckets this scope owns.
|
|
24
31
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-s3-bucket-commands.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/bucket/sim-s3-bucket-commands.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AACvF,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,8BAA8B,EAAE,MAAM,qDAAqD,CAAC;AAUrG;;;;;;GAMG;AACH,MAAM,OAAO,mBAAmB;IACb,UAAU,CAAgC;IAE3D,YAAY,UAAyC;QACnD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,OAA6C,EAC7C,OAA6B;QAE7B,OAAO,MAAM,IAAI,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CACjE,OAAO,EACP,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CACR,OAA4C,EAC5C,OAA6B;QAE7B,OAAO,MAAM,IAAI,yBAAyB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAChE,OAAO,EACP,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CACd,OAAiD,EACjD,OAA6B;QAE7B,OAAO,MAAM,IAAI,8BAA8B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CACrE,OAAO,EACP,OAAO,CACR,CAAC;IACJ,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"sim-s3-bucket-commands.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/bucket/sim-s3-bucket-commands.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AACvF,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AACvF,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,8BAA8B,EAAE,MAAM,qDAAqD,CAAC;AAUrG;;;;;;GAMG;AACH,MAAM,OAAO,mBAAmB;IACb,UAAU,CAAgC;IAE3D,YAAY,UAAyC;QACnD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,OAA6C,EAC7C,OAA6B;QAE7B,OAAO,MAAM,IAAI,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CACjE,OAAO,EACP,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,OAA6C,EAC7C,OAA6B;QAE7B,OAAO,MAAM,IAAI,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CACjE,OAAO,EACP,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CACR,OAA4C,EAC5C,OAA6B;QAE7B,OAAO,MAAM,IAAI,yBAAyB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAChE,OAAO,EACP,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CACd,OAAiD,EACjD,OAA6B;QAE7B,OAAO,MAAM,IAAI,8BAA8B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CACrE,OAAO,EACP,OAAO,CACR,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
|
|
2
|
+
import type { SimIamInterServiceAuthZ } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
3
|
+
import type { SimS3Bucket } from "../../bucket/sim-s3-bucket.js";
|
|
4
|
+
interface DeleteBucketAuthorizerProperties {
|
|
5
|
+
readonly iam: SimIamInterServiceAuthZ;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Applies IAM authorization to an S3 DeleteBucket request.
|
|
9
|
+
*
|
|
10
|
+
* Real S3 governs removing a Bucket with s3:DeleteBucket, which is a distinct
|
|
11
|
+
* action from the s3:CreateBucket that made it. The Bucket policy is consulted
|
|
12
|
+
* as well, because a Bucket policy can grant Bucket administration actions.
|
|
13
|
+
*/
|
|
14
|
+
export declare class DeleteBucketAuthorizer {
|
|
15
|
+
private static readonly action;
|
|
16
|
+
private readonly iam;
|
|
17
|
+
constructor(properties: DeleteBucketAuthorizerProperties);
|
|
18
|
+
/**
|
|
19
|
+
* Ensure the caller may delete the Bucket.
|
|
20
|
+
*/
|
|
21
|
+
authorize(bucket: SimS3Bucket, caller?: SimAwsCaller): void;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=delete-bucket-authorizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-bucket-authorizer.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/delete-bucket/delete-bucket-authorizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wDAAwD,CAAC;AAGtG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAGjE,UAAU,gCAAgC;IACxC,QAAQ,CAAC,GAAG,EAAE,uBAAuB,CAAC;CACvC;AAED;;;;;;GAMG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAEnD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0B;IAE9C,YAAY,UAAU,EAAE,gCAAgC,EAEvD;IAED;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAgB1D;CACF"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { SimIamAccessDenied } from "../../../iam/error/sim-iam.error.js";
|
|
2
|
+
import { simS3BucketArn } from "../../bucket/sim-s3-bucket-arn.js";
|
|
3
|
+
import { simS3BucketResourcePolicies } from "../authorize/sim-s3-bucket-resource-policies.js";
|
|
4
|
+
/**
|
|
5
|
+
* Applies IAM authorization to an S3 DeleteBucket request.
|
|
6
|
+
*
|
|
7
|
+
* Real S3 governs removing a Bucket with s3:DeleteBucket, which is a distinct
|
|
8
|
+
* action from the s3:CreateBucket that made it. The Bucket policy is consulted
|
|
9
|
+
* as well, because a Bucket policy can grant Bucket administration actions.
|
|
10
|
+
*/
|
|
11
|
+
export class DeleteBucketAuthorizer {
|
|
12
|
+
static action = "s3:DeleteBucket";
|
|
13
|
+
iam;
|
|
14
|
+
constructor(properties) {
|
|
15
|
+
this.iam = properties.iam;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Ensure the caller may delete the Bucket.
|
|
19
|
+
*/
|
|
20
|
+
authorize(bucket, caller) {
|
|
21
|
+
const resource = simS3BucketArn(bucket.bucketName);
|
|
22
|
+
const decision = this.iam.authorize({
|
|
23
|
+
action: DeleteBucketAuthorizer.action,
|
|
24
|
+
resource,
|
|
25
|
+
caller,
|
|
26
|
+
resourcePolicies: simS3BucketResourcePolicies(bucket),
|
|
27
|
+
});
|
|
28
|
+
if (decision.isDenied) {
|
|
29
|
+
throw new SimIamAccessDenied({
|
|
30
|
+
principal: decision.caller.principal,
|
|
31
|
+
action: DeleteBucketAuthorizer.action,
|
|
32
|
+
resource,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=delete-bucket-authorizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-bucket-authorizer.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/delete-bucket/delete-bucket-authorizer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,iDAAiD,CAAC;AAM9F;;;;;;GAMG;AACH,MAAM,OAAO,sBAAsB;IACzB,MAAM,CAAU,MAAM,GAAG,iBAAiB,CAAC;IAElC,GAAG,CAA0B;IAE9C,YAAY,UAA4C;QACtD,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAmB,EAAE,MAAqB;QAClD,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;YAClC,MAAM,EAAE,sBAAsB,CAAC,MAAM;YACrC,QAAQ;YACR,MAAM;YACN,gBAAgB,EAAE,2BAA2B,CAAC,MAAM,CAAC;SACtD,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,kBAAkB,CAAC;gBAC3B,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS;gBACpC,MAAM,EAAE,sBAAsB,CAAC,MAAM;gBACrC,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { SimResponseMetadata } from "../../../aws/metadata/response-metadata.type.js";
|
|
2
|
+
/**
|
|
3
|
+
* Minimal structural sim S3 DeleteBucket command.
|
|
4
|
+
*/
|
|
5
|
+
export interface SimDeleteBucketCommand {
|
|
6
|
+
readonly input: SimDeleteBucketCommandInput;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Minimal structural sim S3 DeleteBucket input.
|
|
10
|
+
*/
|
|
11
|
+
export interface SimDeleteBucketCommandInput {
|
|
12
|
+
readonly Bucket?: string | undefined;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Minimal structural sim S3 DeleteBucket output.
|
|
16
|
+
*
|
|
17
|
+
* Real S3 answers a successful DeleteBucket with 204 No Content, so there is
|
|
18
|
+
* nothing in the body to model.
|
|
19
|
+
*/
|
|
20
|
+
export interface SimDeleteBucketCommandOutput {
|
|
21
|
+
readonly $metadata: SimResponseMetadata;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=delete-bucket.command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-bucket.command.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/delete-bucket/delete-bucket.command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAE3F;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,2BAA2B,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAED;;;;;GAKG;AACH,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;CACzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-bucket.command.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/delete-bucket/delete-bucket.command.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { CommandHandler } from "../../../../command/command-handler.js";
|
|
2
|
+
import { type BackgroundScheduler } from "../../../../util/background/background.js";
|
|
3
|
+
import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
|
|
4
|
+
import { type SimIamInterServiceAuthZ } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
5
|
+
import type { SimS3Bucket, SimS3BucketName } from "../../bucket/sim-s3-bucket.js";
|
|
6
|
+
import type { SimS3GlobalRegistry } from "../../sim-s3-global-registry.js";
|
|
7
|
+
import type { SimDeleteBucketCommand, SimDeleteBucketCommandOutput } from "./delete-bucket.command.js";
|
|
8
|
+
interface DeleteBucketCommandHandlerProperties {
|
|
9
|
+
readonly buckets: Map<SimS3BucketName, SimS3Bucket>;
|
|
10
|
+
readonly s3GlobalRegistry: SimS3GlobalRegistry;
|
|
11
|
+
readonly iam?: SimIamInterServiceAuthZ;
|
|
12
|
+
readonly background?: BackgroundScheduler;
|
|
13
|
+
}
|
|
14
|
+
interface DeleteBucketCommandHandlerOptions {
|
|
15
|
+
readonly caller?: SimAwsCaller;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Simulated S3 DeleteBucketCommand handler.
|
|
19
|
+
*
|
|
20
|
+
* https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3/command/DeleteBucketCommand/
|
|
21
|
+
*/
|
|
22
|
+
export declare class DeleteBucketCommandHandler implements CommandHandler<SimDeleteBucketCommand, SimDeleteBucketCommandOutput> {
|
|
23
|
+
private readonly buckets;
|
|
24
|
+
private readonly s3GlobalRegistry;
|
|
25
|
+
private readonly authorizer;
|
|
26
|
+
private readonly background;
|
|
27
|
+
constructor(properties: DeleteBucketCommandHandlerProperties);
|
|
28
|
+
/**
|
|
29
|
+
* Authorize and delete a Bucket.
|
|
30
|
+
*
|
|
31
|
+
* Real S3 only deletes an empty Bucket, and answers BucketNotEmpty otherwise
|
|
32
|
+
* rather than removing the Objects for the caller. That refusal is the reason
|
|
33
|
+
* a CloudFormation Stack holding a Bucket with Objects in it fails to delete,
|
|
34
|
+
* so it is worth keeping here.
|
|
35
|
+
*
|
|
36
|
+
* The Bucket name is released globally as well as in this scope, because S3
|
|
37
|
+
* Bucket names are globally unique and a deleted name can be claimed again.
|
|
38
|
+
*/
|
|
39
|
+
handle(command: SimDeleteBucketCommand, options?: DeleteBucketCommandHandlerOptions): Promise<SimDeleteBucketCommandOutput>;
|
|
40
|
+
private assertEmpty;
|
|
41
|
+
}
|
|
42
|
+
export {};
|
|
43
|
+
//# sourceMappingURL=delete-bucket.handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-bucket.handler.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/delete-bucket/delete-bucket.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,2CAA2C,CAAC;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,wDAAwD,CAAC;AAChE,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EAChB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAG3E,OAAO,KAAK,EACV,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,4BAA4B,CAAC;AAEpC,UAAU,oCAAoC;IAC5C,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IACpD,QAAQ,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;IAC/C,QAAQ,CAAC,GAAG,CAAC,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED,UAAU,iCAAiC;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;CAChC;AAED;;;;GAIG;AACH,qBAAa,0BAA2B,YAAW,cAAc,CAC/D,sBAAsB,EACtB,4BAA4B,CAC7B;IACC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAC5D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsB;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAEjD,YAAY,UAAU,EAAE,oCAAoC,EAY3D;IAED;;;;;;;;;;OAUG;IACG,MAAM,CACV,OAAO,EAAE,sBAAsB,EAC/B,OAAO,CAAC,EAAE,iCAAiC,GAC1C,OAAO,CAAC,4BAA4B,CAAC,CAiBvC;YAEa,WAAW;CAS1B"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { BackgroundTasks, } from "../../../../util/background/background.js";
|
|
2
|
+
import { assertDefined } from "../../../../util/type-guard/defined.js";
|
|
3
|
+
import { SimIamAllowAllAuth, } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
4
|
+
import { SimS3BucketNotEmpty } from "../../error/sim-s3.error.js";
|
|
5
|
+
import { requireSimS3Bucket } from "../require-sim-s3-bucket.js";
|
|
6
|
+
import { DeleteBucketAuthorizer } from "./delete-bucket-authorizer.js";
|
|
7
|
+
/**
|
|
8
|
+
* Simulated S3 DeleteBucketCommand handler.
|
|
9
|
+
*
|
|
10
|
+
* https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3/command/DeleteBucketCommand/
|
|
11
|
+
*/
|
|
12
|
+
export class DeleteBucketCommandHandler {
|
|
13
|
+
buckets;
|
|
14
|
+
s3GlobalRegistry;
|
|
15
|
+
authorizer;
|
|
16
|
+
background;
|
|
17
|
+
constructor(properties) {
|
|
18
|
+
const { buckets, s3GlobalRegistry, iam = new SimIamAllowAllAuth(), background = new BackgroundTasks(), } = properties;
|
|
19
|
+
this.buckets = buckets;
|
|
20
|
+
this.s3GlobalRegistry = s3GlobalRegistry;
|
|
21
|
+
this.authorizer = new DeleteBucketAuthorizer({ iam });
|
|
22
|
+
this.background = background;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Authorize and delete a Bucket.
|
|
26
|
+
*
|
|
27
|
+
* Real S3 only deletes an empty Bucket, and answers BucketNotEmpty otherwise
|
|
28
|
+
* rather than removing the Objects for the caller. That refusal is the reason
|
|
29
|
+
* a CloudFormation Stack holding a Bucket with Objects in it fails to delete,
|
|
30
|
+
* so it is worth keeping here.
|
|
31
|
+
*
|
|
32
|
+
* The Bucket name is released globally as well as in this scope, because S3
|
|
33
|
+
* Bucket names are globally unique and a deleted name can be claimed again.
|
|
34
|
+
*/
|
|
35
|
+
async handle(command, options) {
|
|
36
|
+
assertDefined(command.input.Bucket, "DeleteBucketCommand.input.Bucket");
|
|
37
|
+
const bucketName = command.input.Bucket;
|
|
38
|
+
const bucket = requireSimS3Bucket(this.buckets, bucketName);
|
|
39
|
+
await this.background.sequence();
|
|
40
|
+
this.authorizer.authorize(bucket, options?.caller);
|
|
41
|
+
await this.assertEmpty(bucket);
|
|
42
|
+
this.buckets.delete(bucketName);
|
|
43
|
+
this.s3GlobalRegistry.deregisterBucket(bucketName);
|
|
44
|
+
return {
|
|
45
|
+
$metadata: {},
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
async assertEmpty(bucket) {
|
|
49
|
+
const objects = await bucket.listObjects();
|
|
50
|
+
if (objects.length > 0) {
|
|
51
|
+
throw new SimS3BucketNotEmpty(`S3 Bucket ${bucket.bucketName} holds ${String(objects.length)} Objects`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=delete-bucket.handler.js.map
|