@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.
Files changed (430) hide show
  1. package/dist/serve/http/url/sim-aws-request-hostname.d.ts +13 -0
  2. package/dist/serve/http/url/sim-aws-request-hostname.d.ts.map +1 -0
  3. package/dist/serve/http/url/sim-aws-request-hostname.js +19 -0
  4. package/dist/serve/http/url/sim-aws-request-hostname.js.map +1 -0
  5. package/dist/service/acm/command/delete-certificate/delete-certificate-authorizer.d.ts +26 -0
  6. package/dist/service/acm/command/delete-certificate/delete-certificate-authorizer.d.ts.map +1 -0
  7. package/dist/service/acm/command/delete-certificate/delete-certificate-authorizer.js +36 -0
  8. package/dist/service/acm/command/delete-certificate/delete-certificate-authorizer.js.map +1 -0
  9. package/dist/service/acm/command/delete-certificate/delete-certificate.command.d.ts +22 -0
  10. package/dist/service/acm/command/delete-certificate/delete-certificate.command.d.ts.map +1 -0
  11. package/dist/service/acm/command/delete-certificate/delete-certificate.command.js +2 -0
  12. package/dist/service/acm/command/delete-certificate/delete-certificate.command.js.map +1 -0
  13. package/dist/service/acm/command/delete-certificate/delete-certificate.handler.d.ts +39 -0
  14. package/dist/service/acm/command/delete-certificate/delete-certificate.handler.d.ts.map +1 -0
  15. package/dist/service/acm/command/delete-certificate/delete-certificate.handler.js +43 -0
  16. package/dist/service/acm/command/delete-certificate/delete-certificate.handler.js.map +1 -0
  17. package/dist/service/acm/sdk/sim-acm-sdk-command-router.d.ts.map +1 -1
  18. package/dist/service/acm/sdk/sim-acm-sdk-command-router.js +4 -0
  19. package/dist/service/acm/sdk/sim-acm-sdk-command-router.js.map +1 -1
  20. package/dist/service/acm/sim-acm.d.ts +5 -0
  21. package/dist/service/acm/sim-acm.d.ts.map +1 -1
  22. package/dist/service/acm/sim-acm.js +12 -0
  23. package/dist/service/acm/sim-acm.js.map +1 -1
  24. package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-import-properties.js +1 -1
  25. package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-properties.js +2 -2
  26. package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-properties.js.map +1 -1
  27. package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-property-rules.d.ts +22 -7
  28. package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-property-rules.d.ts.map +1 -1
  29. package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-property-rules.js +37 -16
  30. package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-property-rules.js.map +1 -1
  31. package/dist/service/apigatewayv2/cfn/authorizer/sim-cfn-http-api-authorizer-properties.js +1 -1
  32. package/dist/service/apigatewayv2/cfn/authorizer/sim-cfn-http-api-authorizer-properties.js.map +1 -1
  33. package/dist/service/apigatewayv2/cfn/integration/sim-cfn-http-api-integration-properties.js +1 -1
  34. package/dist/service/apigatewayv2/cfn/integration/sim-cfn-http-api-integration-properties.js.map +1 -1
  35. package/dist/service/apigatewayv2/cfn/route/sim-cfn-http-api-route-properties.js +1 -1
  36. package/dist/service/apigatewayv2/cfn/route/sim-cfn-http-api-route-properties.js.map +1 -1
  37. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-property-parser.d.ts +17 -12
  38. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-property-parser.d.ts.map +1 -1
  39. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-property-parser.js +21 -17
  40. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-property-parser.js.map +1 -1
  41. package/dist/service/apigatewayv2/cfn/stage/sim-cfn-http-api-stage-properties.js +1 -1
  42. package/dist/service/apigatewayv2/cfn/stage/sim-cfn-http-api-stage-properties.js.map +1 -1
  43. package/dist/service/aws/sim-aws-properties.d.ts +6 -1
  44. package/dist/service/aws/sim-aws-properties.d.ts.map +1 -1
  45. package/dist/service/aws/sim-aws.js.map +1 -1
  46. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts +9 -0
  47. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts.map +1 -1
  48. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.js +12 -0
  49. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.js.map +1 -1
  50. package/dist/service/cloudformation/resource/ignore/sim-cfn-ignored-properties.d.ts +47 -0
  51. package/dist/service/cloudformation/resource/ignore/sim-cfn-ignored-properties.d.ts.map +1 -0
  52. package/dist/service/cloudformation/resource/ignore/sim-cfn-ignored-properties.js +55 -0
  53. package/dist/service/cloudformation/resource/ignore/sim-cfn-ignored-properties.js.map +1 -0
  54. package/dist/service/cloudformation/resource/ignore/sim-cfn-ignored-property.type.d.ts +33 -0
  55. package/dist/service/cloudformation/resource/ignore/sim-cfn-ignored-property.type.d.ts.map +1 -0
  56. package/dist/service/cloudformation/resource/ignore/sim-cfn-ignored-property.type.js +2 -0
  57. package/dist/service/cloudformation/resource/ignore/sim-cfn-ignored-property.type.js.map +1 -0
  58. package/dist/service/cloudformation/resource/sim-cfn-resource.d.ts +17 -36
  59. package/dist/service/cloudformation/resource/sim-cfn-resource.d.ts.map +1 -1
  60. package/dist/service/cloudformation/resource/sim-cfn-resource.js +20 -5
  61. package/dist/service/cloudformation/resource/sim-cfn-resource.js.map +1 -1
  62. package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts +34 -0
  63. package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts.map +1 -0
  64. package/dist/service/cloudformation/resource/sim-cfn-resource.type.js +2 -0
  65. package/dist/service/cloudformation/resource/sim-cfn-resource.type.js.map +1 -0
  66. package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts +9 -0
  67. package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts.map +1 -1
  68. package/dist/service/cloudformation/stack/sim-cfn-stack.js +13 -0
  69. package/dist/service/cloudformation/stack/sim-cfn-stack.js.map +1 -1
  70. package/dist/service/cloudfront/cff/adapter/sim-cff-request-response-adapter.d.ts +19 -0
  71. package/dist/service/cloudfront/cff/adapter/sim-cff-request-response-adapter.d.ts.map +1 -1
  72. package/dist/service/cloudfront/cff/adapter/sim-cff-request-response-adapter.js +35 -2
  73. package/dist/service/cloudfront/cff/adapter/sim-cff-request-response-adapter.js.map +1 -1
  74. package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts +16 -0
  75. package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts.map +1 -1
  76. package/dist/service/cloudfront/command/create-distribution/sim-cf-distro-config-normalizer.d.ts.map +1 -1
  77. package/dist/service/cloudfront/command/create-distribution/sim-cf-distro-config-normalizer.js +1 -0
  78. package/dist/service/cloudfront/command/create-distribution/sim-cf-distro-config-normalizer.js.map +1 -1
  79. package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.d.ts +3 -0
  80. package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.d.ts.map +1 -1
  81. package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.js +11 -3
  82. package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.js.map +1 -1
  83. package/dist/service/cloudfront/controller/error/sim-cf-custom-error-responder.d.ts +29 -0
  84. package/dist/service/cloudfront/controller/error/sim-cf-custom-error-responder.d.ts.map +1 -0
  85. package/dist/service/cloudfront/controller/error/sim-cf-custom-error-responder.js +58 -0
  86. package/dist/service/cloudfront/controller/error/sim-cf-custom-error-responder.js.map +1 -0
  87. package/dist/service/cloudfront/controller/root-object/sim-cf-default-root-object-request.d.ts +17 -0
  88. package/dist/service/cloudfront/controller/root-object/sim-cf-default-root-object-request.d.ts.map +1 -0
  89. package/dist/service/cloudfront/controller/root-object/sim-cf-default-root-object-request.js +35 -0
  90. package/dist/service/cloudfront/controller/root-object/sim-cf-default-root-object-request.js.map +1 -0
  91. package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.d.ts +5 -2
  92. package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.d.ts.map +1 -1
  93. package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.js +13 -3
  94. package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.js.map +1 -1
  95. package/dist/service/cloudfront/custom-error/sim-cloudfront-custom-error-response.d.ts +24 -0
  96. package/dist/service/cloudfront/custom-error/sim-cloudfront-custom-error-response.d.ts.map +1 -0
  97. package/dist/service/cloudfront/custom-error/sim-cloudfront-custom-error-response.js +14 -0
  98. package/dist/service/cloudfront/custom-error/sim-cloudfront-custom-error-response.js.map +1 -0
  99. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-custom-error-configurator.d.ts +19 -0
  100. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-custom-error-configurator.d.ts.map +1 -0
  101. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-custom-error-configurator.js +53 -0
  102. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-custom-error-configurator.js.map +1 -0
  103. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.d.ts +11 -1
  104. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.d.ts.map +1 -1
  105. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.js +26 -1
  106. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.js.map +1 -1
  107. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts +14 -0
  108. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts.map +1 -1
  109. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js +20 -0
  110. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js.map +1 -1
  111. package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts +31 -0
  112. package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts.map +1 -1
  113. package/dist/service/cloudfront/error/sim-cloudfront.error.js +39 -0
  114. package/dist/service/cloudfront/error/sim-cloudfront.error.js.map +1 -1
  115. package/dist/service/cloudfront/router/sim-cloud-front-distro-router.d.ts.map +1 -1
  116. package/dist/service/cloudfront/router/sim-cloud-front-distro-router.js +2 -7
  117. package/dist/service/cloudfront/router/sim-cloud-front-distro-router.js.map +1 -1
  118. package/dist/service/cognito/cfn/client/sim-cfn-cognito-client-properties.js +1 -1
  119. package/dist/service/cognito/cfn/client/sim-cfn-cognito-client-properties.js.map +1 -1
  120. package/dist/service/cognito/cfn/client/sim-cfn-cognito-token-validity-units.js +1 -1
  121. package/dist/service/cognito/cfn/client/sim-cfn-cognito-token-validity-units.js.map +1 -1
  122. package/dist/service/cognito/cfn/group/sim-cfn-cognito-group-properties.js +1 -1
  123. package/dist/service/cognito/cfn/group/sim-cfn-cognito-group-properties.js.map +1 -1
  124. package/dist/service/cognito/cfn/sim-cfn-cognito-property-parser.d.ts +22 -14
  125. package/dist/service/cognito/cfn/sim-cfn-cognito-property-parser.d.ts.map +1 -1
  126. package/dist/service/cognito/cfn/sim-cfn-cognito-property-parser.js +27 -20
  127. package/dist/service/cognito/cfn/sim-cfn-cognito-property-parser.js.map +1 -1
  128. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-password-policy.js +1 -1
  129. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-password-policy.js.map +1 -1
  130. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-policies.js +1 -1
  131. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-policies.js.map +1 -1
  132. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-sign-in-policy.js +1 -1
  133. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-sign-in-policy.js.map +1 -1
  134. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-properties.d.ts +3 -3
  135. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-properties.js +6 -6
  136. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-properties.js.map +1 -1
  137. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-capacity.js +22 -2
  138. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-capacity.js.map +1 -1
  139. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-properties.d.ts +4 -4
  140. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-properties.d.ts.map +1 -1
  141. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-properties.js +13 -10
  142. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-properties.js.map +1 -1
  143. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.d.ts +6 -5
  144. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.d.ts.map +1 -1
  145. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.js +12 -12
  146. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.js.map +1 -1
  147. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replica-rules.d.ts +4 -3
  148. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replica-rules.d.ts.map +1 -1
  149. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replica-rules.js +8 -8
  150. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replica-rules.js.map +1 -1
  151. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replicas.d.ts +28 -20
  152. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replicas.d.ts.map +1 -1
  153. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replicas.js +49 -32
  154. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replicas.js.map +1 -1
  155. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-simulated.d.ts +6 -4
  156. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-simulated.d.ts.map +1 -1
  157. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-simulated.js +18 -17
  158. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-simulated.js.map +1 -1
  159. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-error.d.ts +6 -14
  160. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-error.d.ts.map +1 -1
  161. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-error.js +6 -19
  162. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-error.js.map +1 -1
  163. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-rules.d.ts +19 -16
  164. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-rules.d.ts.map +1 -1
  165. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-rules.js +25 -20
  166. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-rules.js.map +1 -1
  167. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-resource-scope.d.ts +14 -0
  168. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-resource-scope.d.ts.map +1 -0
  169. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-resource-scope.js +2 -0
  170. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-resource-scope.js.map +1 -0
  171. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.js +1 -1
  172. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.js.map +1 -1
  173. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.d.ts +6 -4
  174. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.d.ts.map +1 -1
  175. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.js +7 -6
  176. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.js.map +1 -1
  177. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.d.ts +2 -2
  178. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.d.ts.map +1 -1
  179. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.js +7 -4
  180. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.js.map +1 -1
  181. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.d.ts +13 -13
  182. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.d.ts.map +1 -1
  183. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.js +22 -23
  184. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.js.map +1 -1
  185. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.d.ts +6 -4
  186. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.d.ts.map +1 -1
  187. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.js +6 -5
  188. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.js.map +1 -1
  189. package/dist/service/dynamodb/document/sim-dynamodb-document-command-paths.d.ts +12 -3
  190. package/dist/service/dynamodb/document/sim-dynamodb-document-command-paths.d.ts.map +1 -1
  191. package/dist/service/dynamodb/document/sim-dynamodb-document-command-paths.js +28 -3
  192. package/dist/service/dynamodb/document/sim-dynamodb-document-command-paths.js.map +1 -1
  193. package/dist/service/dynamodb/document/sim-dynamodb-document-command.d.ts +2 -8
  194. package/dist/service/dynamodb/document/sim-dynamodb-document-command.d.ts.map +1 -1
  195. package/dist/service/dynamodb/document/sim-dynamodb-document-command.js +3 -20
  196. package/dist/service/dynamodb/document/sim-dynamodb-document-command.js.map +1 -1
  197. package/dist/service/dynamodb/document/sim-dynamodb-document-routes.d.ts +22 -6
  198. package/dist/service/dynamodb/document/sim-dynamodb-document-routes.d.ts.map +1 -1
  199. package/dist/service/dynamodb/document/sim-dynamodb-document-routes.js +43 -22
  200. package/dist/service/dynamodb/document/sim-dynamodb-document-routes.js.map +1 -1
  201. package/dist/service/dynamodb/document/sim-dynamodb-document-shared-name-route.d.ts +26 -0
  202. package/dist/service/dynamodb/document/sim-dynamodb-document-shared-name-route.d.ts.map +1 -0
  203. package/dist/service/dynamodb/document/sim-dynamodb-document-shared-name-route.js +31 -0
  204. package/dist/service/dynamodb/document/sim-dynamodb-document-shared-name-route.js.map +1 -0
  205. package/dist/service/dynamodb/sdk/sim-dynamodb-sdk-command-router.d.ts.map +1 -1
  206. package/dist/service/dynamodb/sdk/sim-dynamodb-sdk-command-router.js +13 -14
  207. package/dist/service/dynamodb/sdk/sim-dynamodb-sdk-command-router.js.map +1 -1
  208. package/dist/service/iam/command/policy/delete-policy/delete-policy.command.d.ts +8 -0
  209. package/dist/service/iam/command/policy/delete-policy/delete-policy.command.d.ts.map +1 -0
  210. package/dist/service/iam/command/policy/delete-policy/delete-policy.command.js +2 -0
  211. package/dist/service/iam/command/policy/delete-policy/delete-policy.command.js.map +1 -0
  212. package/dist/service/iam/command/policy/delete-policy/delete-policy.handler.d.ts +38 -0
  213. package/dist/service/iam/command/policy/delete-policy/delete-policy.handler.d.ts.map +1 -0
  214. package/dist/service/iam/command/policy/delete-policy/delete-policy.handler.js +52 -0
  215. package/dist/service/iam/command/policy/delete-policy/delete-policy.handler.js.map +1 -0
  216. package/dist/service/iam/command/policy/delete-role-policy/delete-role-policy.command.d.ts +9 -0
  217. package/dist/service/iam/command/policy/delete-role-policy/delete-role-policy.command.d.ts.map +1 -0
  218. package/dist/service/iam/command/policy/delete-role-policy/delete-role-policy.command.js +2 -0
  219. package/dist/service/iam/command/policy/delete-role-policy/delete-role-policy.command.js.map +1 -0
  220. package/dist/service/iam/command/policy/delete-role-policy/delete-role-policy.handler.d.ts +28 -0
  221. package/dist/service/iam/command/policy/delete-role-policy/delete-role-policy.handler.d.ts.map +1 -0
  222. package/dist/service/iam/command/policy/delete-role-policy/delete-role-policy.handler.js +44 -0
  223. package/dist/service/iam/command/policy/delete-role-policy/delete-role-policy.handler.js.map +1 -0
  224. package/dist/service/iam/command/policy/sim-iam-policy-command-handlers.d.ts +8 -0
  225. package/dist/service/iam/command/policy/sim-iam-policy-command-handlers.d.ts.map +1 -1
  226. package/dist/service/iam/command/policy/sim-iam-policy-command-handlers.js +17 -1
  227. package/dist/service/iam/command/policy/sim-iam-policy-command-handlers.js.map +1 -1
  228. package/dist/service/iam/command/role/delete-role/delete-role.command.d.ts +19 -0
  229. package/dist/service/iam/command/role/delete-role/delete-role.command.d.ts.map +1 -0
  230. package/dist/service/iam/command/role/delete-role/delete-role.command.js +2 -0
  231. package/dist/service/iam/command/role/delete-role/delete-role.command.js.map +1 -0
  232. package/dist/service/iam/command/role/delete-role/delete-role.handler.d.ts +30 -0
  233. package/dist/service/iam/command/role/delete-role/delete-role.handler.d.ts.map +1 -0
  234. package/dist/service/iam/command/role/delete-role/delete-role.handler.js +47 -0
  235. package/dist/service/iam/command/role/delete-role/delete-role.handler.js.map +1 -0
  236. package/dist/service/iam/command/role/detach-role-policy/detach-role-policy.command.d.ts +20 -0
  237. package/dist/service/iam/command/role/detach-role-policy/detach-role-policy.command.d.ts.map +1 -0
  238. package/dist/service/iam/command/role/detach-role-policy/detach-role-policy.command.js +2 -0
  239. package/dist/service/iam/command/role/detach-role-policy/detach-role-policy.command.js.map +1 -0
  240. package/dist/service/iam/command/role/detach-role-policy/detach-role-policy.handler.d.ts +28 -0
  241. package/dist/service/iam/command/role/detach-role-policy/detach-role-policy.handler.d.ts.map +1 -0
  242. package/dist/service/iam/command/role/detach-role-policy/detach-role-policy.handler.js +44 -0
  243. package/dist/service/iam/command/role/detach-role-policy/detach-role-policy.handler.js.map +1 -0
  244. package/dist/service/iam/command/role/sim-iam-role-command-handlers.d.ts +15 -0
  245. package/dist/service/iam/command/role/sim-iam-role-command-handlers.d.ts.map +1 -1
  246. package/dist/service/iam/command/role/sim-iam-role-command-handlers.js +36 -0
  247. package/dist/service/iam/command/role/sim-iam-role-command-handlers.js.map +1 -1
  248. package/dist/service/iam/command/sim-iam-command-handlers.d.ts.map +1 -1
  249. package/dist/service/iam/command/sim-iam-command-handlers.js +1 -0
  250. package/dist/service/iam/command/sim-iam-command-handlers.js.map +1 -1
  251. package/dist/service/iam/command/sim-iam-command.types.d.ts +22 -0
  252. package/dist/service/iam/command/sim-iam-command.types.d.ts.map +1 -0
  253. package/dist/service/iam/command/sim-iam-command.types.js +8 -0
  254. package/dist/service/iam/command/sim-iam-command.types.js.map +1 -0
  255. package/dist/service/iam/error/sim-iam.error.d.ts +11 -0
  256. package/dist/service/iam/error/sim-iam.error.d.ts.map +1 -1
  257. package/dist/service/iam/error/sim-iam.error.js +13 -0
  258. package/dist/service/iam/error/sim-iam.error.js.map +1 -1
  259. package/dist/service/iam/sdk/sim-iam-sdk-command-router.d.ts.map +1 -1
  260. package/dist/service/iam/sdk/sim-iam-sdk-command-router.js +16 -0
  261. package/dist/service/iam/sdk/sim-iam-sdk-command-router.js.map +1 -1
  262. package/dist/service/iam/sim-iam.d.ts +28 -22
  263. package/dist/service/iam/sim-iam.d.ts.map +1 -1
  264. package/dist/service/iam/sim-iam.js +24 -0
  265. package/dist/service/iam/sim-iam.js.map +1 -1
  266. package/dist/service/kms/cfn/key/sim-cfn-kms-key-properties.js +1 -1
  267. package/dist/service/kms/cfn/key/sim-cfn-kms-key-properties.js.map +1 -1
  268. package/dist/service/kms/cfn/key/sim-cfn-kms-unsimulated-key-properties.d.ts +19 -16
  269. package/dist/service/kms/cfn/key/sim-cfn-kms-unsimulated-key-properties.d.ts.map +1 -1
  270. package/dist/service/kms/cfn/key/sim-cfn-kms-unsimulated-key-properties.js +30 -28
  271. package/dist/service/kms/cfn/key/sim-cfn-kms-unsimulated-key-properties.js.map +1 -1
  272. package/dist/service/kms/command/alias/alias.command.d.ts +14 -0
  273. package/dist/service/kms/command/alias/alias.command.d.ts.map +1 -1
  274. package/dist/service/kms/command/alias/sim-kms-alias-commands.d.ts +10 -1
  275. package/dist/service/kms/command/alias/sim-kms-alias-commands.d.ts.map +1 -1
  276. package/dist/service/kms/command/alias/sim-kms-alias-commands.js +27 -2
  277. package/dist/service/kms/command/alias/sim-kms-alias-commands.js.map +1 -1
  278. package/dist/service/kms/command/sim-kms-command.types.d.ts +1 -1
  279. package/dist/service/kms/command/sim-kms-command.types.d.ts.map +1 -1
  280. package/dist/service/kms/key/sim-kms-key-store.d.ts +7 -0
  281. package/dist/service/kms/key/sim-kms-key-store.d.ts.map +1 -1
  282. package/dist/service/kms/key/sim-kms-key-store.js +9 -0
  283. package/dist/service/kms/key/sim-kms-key-store.js.map +1 -1
  284. package/dist/service/kms/sdk/sim-kms-sdk-command-router.d.ts.map +1 -1
  285. package/dist/service/kms/sdk/sim-kms-sdk-command-router.js +4 -0
  286. package/dist/service/kms/sdk/sim-kms-sdk-command-router.js.map +1 -1
  287. package/dist/service/kms/sim-kms-commands.d.ts +40 -0
  288. package/dist/service/kms/sim-kms-commands.d.ts.map +1 -0
  289. package/dist/service/kms/sim-kms-commands.js +66 -0
  290. package/dist/service/kms/sim-kms-commands.js.map +1 -0
  291. package/dist/service/kms/sim-kms.d.ts +6 -18
  292. package/dist/service/kms/sim-kms.d.ts.map +1 -1
  293. package/dist/service/kms/sim-kms.js +40 -89
  294. package/dist/service/kms/sim-kms.js.map +1 -1
  295. package/dist/service/lambda/command/delete-function/delete-function-authorizer.d.ts +22 -0
  296. package/dist/service/lambda/command/delete-function/delete-function-authorizer.d.ts.map +1 -0
  297. package/dist/service/lambda/command/delete-function/delete-function-authorizer.js +32 -0
  298. package/dist/service/lambda/command/delete-function/delete-function-authorizer.js.map +1 -0
  299. package/dist/service/lambda/command/delete-function/delete-function.command.d.ts +23 -0
  300. package/dist/service/lambda/command/delete-function/delete-function.command.d.ts.map +1 -0
  301. package/dist/service/lambda/command/delete-function/delete-function.command.js +2 -0
  302. package/dist/service/lambda/command/delete-function/delete-function.command.js.map +1 -0
  303. package/dist/service/lambda/command/delete-function/delete-function.handler.d.ts +45 -0
  304. package/dist/service/lambda/command/delete-function/delete-function.handler.d.ts.map +1 -0
  305. package/dist/service/lambda/command/delete-function/delete-function.handler.js +53 -0
  306. package/dist/service/lambda/command/delete-function/delete-function.handler.js.map +1 -0
  307. package/dist/service/lambda/command/function/sim-lambda-function-commands.d.ts +7 -0
  308. package/dist/service/lambda/command/function/sim-lambda-function-commands.d.ts.map +1 -1
  309. package/dist/service/lambda/command/function/sim-lambda-function-commands.js +7 -0
  310. package/dist/service/lambda/command/function/sim-lambda-function-commands.js.map +1 -1
  311. package/dist/service/lambda/command/sim-lambda-command.types.d.ts +1 -0
  312. package/dist/service/lambda/command/sim-lambda-command.types.d.ts.map +1 -1
  313. package/dist/service/lambda/function/url/sim-lambda-function-url-store.d.ts +7 -0
  314. package/dist/service/lambda/function/url/sim-lambda-function-url-store.d.ts.map +1 -1
  315. package/dist/service/lambda/function/url/sim-lambda-function-url-store.js +11 -0
  316. package/dist/service/lambda/function/url/sim-lambda-function-url-store.js.map +1 -1
  317. package/dist/service/lambda/sdk/sim-lambda-sdk-command-router.d.ts.map +1 -1
  318. package/dist/service/lambda/sdk/sim-lambda-sdk-command-router.js +4 -0
  319. package/dist/service/lambda/sdk/sim-lambda-sdk-command-router.js.map +1 -1
  320. package/dist/service/lambda/sim-lambda-commands.d.ts.map +1 -1
  321. package/dist/service/lambda/sim-lambda-commands.js +1 -0
  322. package/dist/service/lambda/sim-lambda-commands.js.map +1 -1
  323. package/dist/service/lambda/sim-lambda.d.ts +4 -0
  324. package/dist/service/lambda/sim-lambda.d.ts.map +1 -1
  325. package/dist/service/lambda/sim-lambda.js +6 -0
  326. package/dist/service/lambda/sim-lambda.js.map +1 -1
  327. package/dist/service/route53/command/create-hosted-zone/sim-route53-zone-id.d.ts +9 -2
  328. package/dist/service/route53/command/create-hosted-zone/sim-route53-zone-id.d.ts.map +1 -1
  329. package/dist/service/route53/command/create-hosted-zone/sim-route53-zone-id.js +25 -6
  330. package/dist/service/route53/command/create-hosted-zone/sim-route53-zone-id.js.map +1 -1
  331. package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone-authorizer.d.ts +26 -0
  332. package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone-authorizer.d.ts.map +1 -0
  333. package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone-authorizer.js +36 -0
  334. package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone-authorizer.js.map +1 -0
  335. package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone.command.d.ts +26 -0
  336. package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone.command.d.ts.map +1 -0
  337. package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone.command.js +2 -0
  338. package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone.command.js.map +1 -0
  339. package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone.handler.d.ts +44 -0
  340. package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone.handler.d.ts.map +1 -0
  341. package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone.handler.js +59 -0
  342. package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone.handler.js.map +1 -0
  343. package/dist/service/route53/error/sim-route53.error.d.ts +19 -0
  344. package/dist/service/route53/error/sim-route53.error.d.ts.map +1 -1
  345. package/dist/service/route53/error/sim-route53.error.js +23 -0
  346. package/dist/service/route53/error/sim-route53.error.js.map +1 -1
  347. package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.d.ts +8 -0
  348. package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.d.ts.map +1 -1
  349. package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.js +14 -0
  350. package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.js.map +1 -1
  351. package/dist/service/route53/local-name/sim-route53-local-name.d.ts +11 -0
  352. package/dist/service/route53/local-name/sim-route53-local-name.d.ts.map +1 -1
  353. package/dist/service/route53/local-name/sim-route53-local-name.js +18 -3
  354. package/dist/service/route53/local-name/sim-route53-local-name.js.map +1 -1
  355. package/dist/service/route53/registry/sim-route53-registry.d.ts +8 -0
  356. package/dist/service/route53/registry/sim-route53-registry.d.ts.map +1 -1
  357. package/dist/service/route53/registry/sim-route53-registry.js +11 -0
  358. package/dist/service/route53/registry/sim-route53-registry.js.map +1 -1
  359. package/dist/service/route53/resolve/sim-route53-resolver.d.ts +8 -2
  360. package/dist/service/route53/resolve/sim-route53-resolver.d.ts.map +1 -1
  361. package/dist/service/route53/resolve/sim-route53-resolver.js +10 -4
  362. package/dist/service/route53/resolve/sim-route53-resolver.js.map +1 -1
  363. package/dist/service/route53/sdk/sim-route53-sdk-command-router.d.ts.map +1 -1
  364. package/dist/service/route53/sdk/sim-route53-sdk-command-router.js +4 -0
  365. package/dist/service/route53/sdk/sim-route53-sdk-command-router.js.map +1 -1
  366. package/dist/service/route53/sim-route53.d.ts +5 -0
  367. package/dist/service/route53/sim-route53.d.ts.map +1 -1
  368. package/dist/service/route53/sim-route53.js +13 -0
  369. package/dist/service/route53/sim-route53.js.map +1 -1
  370. package/dist/service/s3/bucket/sim-s3-bucket-access.d.ts +37 -0
  371. package/dist/service/s3/bucket/sim-s3-bucket-access.d.ts.map +1 -0
  372. package/dist/service/s3/bucket/sim-s3-bucket-access.js +46 -0
  373. package/dist/service/s3/bucket/sim-s3-bucket-access.js.map +1 -0
  374. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.d.ts +4 -5
  375. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.d.ts.map +1 -1
  376. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.js +6 -6
  377. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.js.map +1 -1
  378. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.d.ts +26 -0
  379. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.d.ts.map +1 -0
  380. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.js +77 -0
  381. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.js.map +1 -0
  382. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-rules.d.ts +18 -7
  383. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-rules.d.ts.map +1 -1
  384. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-rules.js +25 -65
  385. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-rules.js.map +1 -1
  386. package/dist/service/s3/command/bucket/sim-s3-bucket-commands.d.ts +4 -0
  387. package/dist/service/s3/command/bucket/sim-s3-bucket-commands.d.ts.map +1 -1
  388. package/dist/service/s3/command/bucket/sim-s3-bucket-commands.js +7 -0
  389. package/dist/service/s3/command/bucket/sim-s3-bucket-commands.js.map +1 -1
  390. package/dist/service/s3/command/delete-bucket/delete-bucket-authorizer.d.ts +24 -0
  391. package/dist/service/s3/command/delete-bucket/delete-bucket-authorizer.d.ts.map +1 -0
  392. package/dist/service/s3/command/delete-bucket/delete-bucket-authorizer.js +37 -0
  393. package/dist/service/s3/command/delete-bucket/delete-bucket-authorizer.js.map +1 -0
  394. package/dist/service/s3/command/delete-bucket/delete-bucket.command.d.ts +23 -0
  395. package/dist/service/s3/command/delete-bucket/delete-bucket.command.d.ts.map +1 -0
  396. package/dist/service/s3/command/delete-bucket/delete-bucket.command.js +2 -0
  397. package/dist/service/s3/command/delete-bucket/delete-bucket.command.js.map +1 -0
  398. package/dist/service/s3/command/delete-bucket/delete-bucket.handler.d.ts +43 -0
  399. package/dist/service/s3/command/delete-bucket/delete-bucket.handler.d.ts.map +1 -0
  400. package/dist/service/s3/command/delete-bucket/delete-bucket.handler.js +55 -0
  401. package/dist/service/s3/command/delete-bucket/delete-bucket.handler.js.map +1 -0
  402. package/dist/service/s3/command/sim-s3-command.types.d.ts +1 -0
  403. package/dist/service/s3/command/sim-s3-command.types.d.ts.map +1 -1
  404. package/dist/service/s3/error/sim-s3.error.d.ts +10 -0
  405. package/dist/service/s3/error/sim-s3.error.d.ts.map +1 -1
  406. package/dist/service/s3/error/sim-s3.error.js +12 -0
  407. package/dist/service/s3/error/sim-s3.error.js.map +1 -1
  408. package/dist/service/s3/sdk/sim-s3-sdk-command-router.d.ts.map +1 -1
  409. package/dist/service/s3/sdk/sim-s3-sdk-command-router.js +4 -0
  410. package/dist/service/s3/sdk/sim-s3-sdk-command-router.js.map +1 -1
  411. package/dist/service/s3/sim-s3-global-registry.d.ts +7 -0
  412. package/dist/service/s3/sim-s3-global-registry.d.ts.map +1 -1
  413. package/dist/service/s3/sim-s3-global-registry.js +9 -0
  414. package/dist/service/s3/sim-s3-global-registry.js.map +1 -1
  415. package/dist/service/s3/sim-s3.d.ts +5 -0
  416. package/dist/service/s3/sim-s3.d.ts.map +1 -1
  417. package/dist/service/s3/sim-s3.js +16 -12
  418. package/dist/service/s3/sim-s3.js.map +1 -1
  419. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-properties.d.ts.map +1 -1
  420. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-properties.js +2 -1
  421. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-properties.js.map +1 -1
  422. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-names.d.ts +31 -0
  423. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-names.d.ts.map +1 -0
  424. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-names.js +63 -0
  425. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-names.js.map +1 -0
  426. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-rules.d.ts +27 -17
  427. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-rules.d.ts.map +1 -1
  428. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-rules.js +39 -73
  429. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-rules.js.map +1 -1
  430. 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 checked before anything is
18
- * created, so a Resource asking for something this simulation does not model
19
- * fails the Stack rather than leaving a Bucket behind that is configured
20
- * differently from the template. What each of them says is then checked as it
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;;;;;;;;OAQG;IACG,MAAM,CACV,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,yBAAyB,GACpC,OAAO,CAAC,WAAW,CAAC,CAyBtB;IAED;;;OAGG;IACH,OAAO,CAAC,qBAAqB;CAY9B"}
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 checked before anything is
17
- * created, so a Resource asking for something this simulation does not model
18
- * fails the Stack rather than leaving a Bucket behind that is configured
19
- * differently from the template. What each of them says is then checked as it
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
- }).assertSimulated();
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;;;;;;;;OAQG;IACH,KAAK,CAAC,MAAM,CACV,QAAwB,EACxB,UAAqC;QAErC,IAAI,2BAA2B,CAAC;YAC9B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,UAAU;SACX,CAAC,CAAC,eAAe,EAAE,CAAC;QAErB,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"}
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
- * Which AWS::S3::Bucket properties simulated S3 can act on.
9
+ * What simulated S3 does with each AWS::S3::Bucket property it is handed.
8
10
  *
9
- * Anything else fails the Resource. Being stricter than CloudFormation shows up
10
- * as a puzzling deployment failure here; being looser shows up as a Bucket
11
- * behaving one way in a test and another way on AWS.
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
- * Refuse everything about this Resource that is not simulated.
28
+ * Record everything about this Resource that is not simulated, refusing only
29
+ * what leaves nothing to create.
19
30
  */
20
- assertSimulated(): void;
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 assertSimulatedProperty;
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;AA4DlH,UAAU,qCAAqC;IAC7C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;CAChD;AAED;;;;;;GAMG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4B;IAEvD,YAAY,UAAU,EAAE,qCAAqC,EAG5D;IAED;;OAEG;IACH,eAAe,IAAI,IAAI,CAMtB;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,wBAAwB;IAahC,OAAO,CAAC,uBAAuB;CAkBhC"}
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
- * The AWS::S3::Bucket properties this simulation acts on.
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
- * Each of these changes what a simulated command answers on real AWS. A
29
- * versioned Bucket answers a delete with a delete marker and an
30
- * `ObjectRemoved:DeleteMarkerCreated` event, where this simulator removes the
31
- * Object and raises `ObjectRemoved:Delete`. So they fail the Resource rather
32
- * than being dropped on the way through, which would leave a Bucket that looks
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
- * Anything else fails the Resource. Being stricter than CloudFormation shows up
60
- * as a puzzling deployment failure here; being looser shows up as a Bucket
61
- * behaving one way in a test and another way on AWS.
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
- * Refuse everything about this Resource that is not simulated.
27
+ * Record everything about this Resource that is not simulated, refusing only
28
+ * what leaves nothing to create.
72
29
  */
73
- assertSimulated() {
30
+ apply() {
74
31
  this.refuseUnusableBucketName();
75
32
  for (const name of Object.keys(this.properties)) {
76
- this.assertSimulatedProperty(name);
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
- assertSimulatedProperty(name) {
51
+ applyToProperty(name) {
95
52
  if (simulatedPropertyNames.has(name) || inertPropertyNames.has(name)) {
96
53
  return;
97
54
  }
98
- if (unsimulatedPropertyNames.has(name)) {
99
- throw s3BucketResourceError(this.logicalId, `${name} is a real AWS::S3::Bucket property that simulated S3 does ` +
100
- `not simulate, so it is refused rather than ignored`);
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
- throw s3BucketResourceError(this.logicalId, `${name} is not an AWS::S3::Bucket property`);
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":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAE3E;;GAEG;AACH,MAAM,sBAAsB,GAAwB,IAAI,GAAG,CAAC;IAC1D,YAAY;IACZ,2BAA2B;IAC3B,gCAAgC;IAChC,sBAAsB;CACvB,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC;IACtD,kBAAkB;IAClB,MAAM;CACP,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,MAAM,wBAAwB,GAAwB,IAAI,GAAG,CAAC;IAC5D,YAAY;IACZ,yBAAyB;IACzB,eAAe;IACf,yBAAyB;IACzB,kBAAkB;IAClB,iBAAiB;IACjB,mBAAmB;IACnB,kCAAkC;IAClC,yBAAyB;IACzB,wBAAwB;IACxB,sBAAsB;IACtB,uBAAuB;IACvB,4BAA4B;IAC5B,uBAAuB;IACvB,yBAAyB;IACzB,mBAAmB;IACnB,mBAAmB;IACnB,0BAA0B;IAC1B,yBAAyB;CAC1B,CAAC,CAAC;AAOH;;;;;;GAMG;AACH,MAAM,OAAO,2BAA2B;IACrB,SAAS,CAAS;IAClB,UAAU,CAA4B;IAEvD,YAAY,UAAiD;QAC3D,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,eAAe;QACb,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAEhC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACrC,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,uBAAuB,CAAC,IAAY;QAC1C,IAAI,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACrE,OAAO;QACT,CAAC;QAED,IAAI,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,MAAM,qBAAqB,CACzB,IAAI,CAAC,SAAS,EACd,GAAG,IAAI,6DAA6D;gBAClE,oDAAoD,CACvD,CAAC;QACJ,CAAC;QAED,MAAM,qBAAqB,CACzB,IAAI,CAAC,SAAS,EACd,GAAG,IAAI,qCAAqC,CAC7C,CAAC;IACJ,CAAC;CACF"}
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;AAI3E,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,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
+ {"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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=delete-bucket.command.js.map
@@ -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