@kensio/yulin 1.20.12 → 1.20.14

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 (662) hide show
  1. package/dist/service/acm/cfn/certificate/sim-cfn-acm-cert-creator.js +6 -4
  2. package/dist/service/acm/cfn/sim-cfn-acm-resource-factory.d.ts +2 -2
  3. package/dist/service/acm/cfn/sim-cfn-acm-resource-factory.js +3 -4
  4. package/dist/service/acm/cfn/validation/sim-cfn-acm-cert-validation.d.ts +2 -1
  5. package/dist/service/acm/cfn/validation/sim-cfn-acm-cert-validation.js +2 -2
  6. package/dist/service/acm/cfn/validation/sim-cfn-acm-validation-records.d.ts +2 -1
  7. package/dist/service/acm/cfn/validation/sim-cfn-acm-validation-records.js +4 -4
  8. package/dist/service/acm/command/delete-certificate/delete-certificate-authorizer.js +1 -0
  9. package/dist/service/acm/command/describe-certificate/describe-certificate-authorizer.js +1 -0
  10. package/dist/service/acm/command/list-certificates/list-certificates-authorizer.js +1 -0
  11. package/dist/service/acm/command/request-certificate/request-certificate-authorizer.js +1 -0
  12. package/dist/service/acm/sim-acm.d.ts +1 -1
  13. package/dist/service/acm/sim-acm.js +3 -2
  14. package/dist/service/apigateway/cfn/api/sim-cfn-rest-api-creator.d.ts +2 -1
  15. package/dist/service/apigateway/cfn/api/sim-cfn-rest-api-creator.js +11 -13
  16. package/dist/service/apigateway/cfn/authorizer/sim-cfn-rest-api-authorizer-creator.d.ts +2 -1
  17. package/dist/service/apigateway/cfn/authorizer/sim-cfn-rest-api-authorizer-creator.js +2 -4
  18. package/dist/service/apigateway/cfn/deployment/sim-cfn-rest-api-deployment-creator.d.ts +2 -1
  19. package/dist/service/apigateway/cfn/deployment/sim-cfn-rest-api-deployment-creator.js +2 -4
  20. package/dist/service/apigateway/cfn/method/sim-cfn-rest-api-method-creator.d.ts +2 -1
  21. package/dist/service/apigateway/cfn/method/sim-cfn-rest-api-method-creator.js +3 -5
  22. package/dist/service/apigateway/cfn/method/sim-cfn-rest-api-method-integration.d.ts +2 -1
  23. package/dist/service/apigateway/cfn/method/sim-cfn-rest-api-method-integration.js +3 -3
  24. package/dist/service/apigateway/cfn/resource/sim-cfn-rest-api-resource-creator.d.ts +2 -1
  25. package/dist/service/apigateway/cfn/resource/sim-cfn-rest-api-resource-creator.js +2 -4
  26. package/dist/service/apigateway/cfn/sim-cfn-api-gateway-resource-deleter.d.ts +2 -1
  27. package/dist/service/apigateway/cfn/sim-cfn-api-gateway-resource-deleter.js +3 -5
  28. package/dist/service/apigateway/cfn/sim-cfn-api-gateway-resource-factory.js +9 -7
  29. package/dist/service/apigateway/cfn/sim-cfn-rest-api-part-deleter.d.ts +2 -7
  30. package/dist/service/apigateway/cfn/sim-cfn-rest-api-part-deleter.js +12 -42
  31. package/dist/service/apigateway/cfn/sim-cfn-rest-api-part-values.d.ts +10 -0
  32. package/dist/service/apigateway/cfn/sim-cfn-rest-api-part-values.js +21 -0
  33. package/dist/service/apigateway/cfn/stage/sim-cfn-rest-api-stage-creator.d.ts +2 -1
  34. package/dist/service/apigateway/cfn/stage/sim-cfn-rest-api-stage-creator.js +2 -4
  35. package/dist/service/apigateway/serve/auth/sim-rest-api-authorizer-policy.js +3 -0
  36. package/dist/service/apigateway/serve/sim-api-gateway-router.js +5 -2
  37. package/dist/service/apigateway/sim-api-gateway-commands.d.ts +1 -1
  38. package/dist/service/apigateway/sim-api-gateway-commands.js +3 -2
  39. package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-creator.d.ts +2 -1
  40. package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-creator.js +5 -9
  41. package/dist/service/apigatewayv2/cfn/authorizer/sim-cfn-http-api-authorizer-creator.d.ts +2 -1
  42. package/dist/service/apigatewayv2/cfn/authorizer/sim-cfn-http-api-authorizer-creator.js +2 -4
  43. package/dist/service/apigatewayv2/cfn/domain/sim-cfn-api-mapping-creator.d.ts +2 -1
  44. package/dist/service/apigatewayv2/cfn/domain/sim-cfn-api-mapping-creator.js +2 -4
  45. package/dist/service/apigatewayv2/cfn/domain/sim-cfn-http-api-domain-creator.d.ts +2 -1
  46. package/dist/service/apigatewayv2/cfn/domain/sim-cfn-http-api-domain-creator.js +2 -4
  47. package/dist/service/apigatewayv2/cfn/integration/sim-cfn-http-api-integration-creator.d.ts +2 -1
  48. package/dist/service/apigatewayv2/cfn/integration/sim-cfn-http-api-integration-creator.js +2 -4
  49. package/dist/service/apigatewayv2/cfn/route/sim-cfn-http-api-route-creator.d.ts +2 -1
  50. package/dist/service/apigatewayv2/cfn/route/sim-cfn-http-api-route-creator.js +2 -4
  51. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-deleter.d.ts +2 -9
  52. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-deleter.js +19 -25
  53. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-factory.d.ts +0 -5
  54. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-factory.js +13 -29
  55. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-unsupported.d.ts +5 -0
  56. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-unsupported.js +19 -0
  57. package/dist/service/apigatewayv2/cfn/sim-cfn-http-api-part-deleter.d.ts +2 -1
  58. package/dist/service/apigatewayv2/cfn/sim-cfn-http-api-part-deleter.js +5 -13
  59. package/dist/service/apigatewayv2/cfn/stage/sim-cfn-http-api-stage-creator.d.ts +2 -1
  60. package/dist/service/apigatewayv2/cfn/stage/sim-cfn-http-api-stage-creator.js +2 -4
  61. package/dist/service/apigatewayv2/serve/auth/sim-http-api-authorizer-policy.js +3 -0
  62. package/dist/service/apigatewayv2/serve/sim-api-gateway-v2-router.js +5 -2
  63. package/dist/service/apigatewayv2/sim-api-gateway-v2-commands.d.ts +1 -1
  64. package/dist/service/apigatewayv2/sim-api-gateway-v2-commands.js +3 -2
  65. package/dist/service/athena/cfn/named-query/sim-cfn-athena-named-query-creator.d.ts +3 -2
  66. package/dist/service/athena/cfn/named-query/sim-cfn-athena-named-query-creator.js +4 -6
  67. package/dist/service/athena/cfn/sim-athena-cfn-resource-factory.d.ts +2 -2
  68. package/dist/service/athena/cfn/sim-athena-cfn-resource-factory.js +7 -6
  69. package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-creator.d.ts +3 -2
  70. package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-creator.js +7 -11
  71. package/dist/service/athena/engine/sim-athena-aggregate-shims.d.ts +10 -5
  72. package/dist/service/athena/engine/sim-athena-aggregate-shims.js +19 -16
  73. package/dist/service/athena/engine/sim-athena-binary-shims.d.ts +16 -0
  74. package/dist/service/athena/engine/sim-athena-binary-shims.js +49 -0
  75. package/dist/service/athena/engine/sim-athena-binary-text.d.ts +21 -0
  76. package/dist/service/athena/engine/sim-athena-binary-text.js +87 -0
  77. package/dist/service/athena/engine/sim-athena-count-distinct.d.ts +15 -0
  78. package/dist/service/athena/engine/sim-athena-count-distinct.js +103 -0
  79. package/dist/service/athena/engine/sim-athena-distinct-values.d.ts +19 -0
  80. package/dist/service/athena/engine/sim-athena-distinct-values.js +37 -0
  81. package/dist/service/athena/engine/sim-athena-hash-words.d.ts +14 -0
  82. package/dist/service/athena/engine/sim-athena-hash-words.js +22 -0
  83. package/dist/service/athena/engine/sim-athena-murmur3-mixing.d.ts +15 -0
  84. package/dist/service/athena/engine/sim-athena-murmur3-mixing.js +37 -0
  85. package/dist/service/athena/engine/sim-athena-murmur3.d.ts +11 -0
  86. package/dist/service/athena/engine/sim-athena-murmur3.js +51 -0
  87. package/dist/service/athena/engine/sim-athena-shim-registry.d.ts +9 -0
  88. package/dist/service/athena/engine/sim-athena-shim-registry.js +30 -1
  89. package/dist/service/athena/engine/sim-athena-shims.js +2 -0
  90. package/dist/service/athena/engine/sim-athena-sql-rewrites.d.ts +4 -2
  91. package/dist/service/athena/engine/sim-athena-sql-rewrites.js +6 -3
  92. package/dist/service/athena/engine/sim-athena-xxhash64.d.ts +8 -0
  93. package/dist/service/athena/engine/sim-athena-xxhash64.js +82 -0
  94. package/dist/service/athena/sim-athena-executions.d.ts +1 -1
  95. package/dist/service/athena/sim-athena-executions.js +3 -2
  96. package/dist/service/aws/factory/sim-aws-account-service-cache.d.ts +3 -0
  97. package/dist/service/aws/factory/sim-aws-account-service-cache.js +5 -0
  98. package/dist/service/aws/factory/sim-aws-service-factory.d.ts +9 -0
  99. package/dist/service/aws/factory/sim-aws-service-factory.js +10 -0
  100. package/dist/service/aws/sim-aws.d.ts +18 -0
  101. package/dist/service/aws/sim-aws.js +19 -0
  102. package/dist/service/bedrock/sim-bedrock.d.ts +1 -1
  103. package/dist/service/bedrock/sim-bedrock.js +3 -2
  104. package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.d.ts +8 -0
  105. package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.js +6 -4
  106. package/dist/service/cloudformation/command/create-stack/create-stack.handler.d.ts +4 -0
  107. package/dist/service/cloudformation/command/create-stack/create-stack.handler.js +4 -1
  108. package/dist/service/cloudformation/command/update-stack/update-stack.handler.d.ts +7 -0
  109. package/dist/service/cloudformation/command/update-stack/update-stack.handler.js +3 -1
  110. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.js +2 -1
  111. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.d.ts +9 -2
  112. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.js +2 -1
  113. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.d.ts +10 -3
  114. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.js +4 -7
  115. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts +10 -0
  116. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.js +4 -2
  117. package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.d.ts +11 -0
  118. package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.js +2 -1
  119. package/dist/service/cloudformation/deploy/sim-cfn-template-file-updater.js +1 -0
  120. package/dist/service/cloudformation/resource/caller/sim-cfn-resource-caller-options.d.ts +16 -0
  121. package/dist/service/cloudformation/resource/caller/sim-cfn-resource-caller-options.js +6 -0
  122. package/dist/service/cloudformation/resource/cfn/organizations/sim-organizations-cfn-value-adapter.d.ts +6 -0
  123. package/dist/service/cloudformation/resource/cfn/organizations/sim-organizations-cfn-value-adapter.js +23 -0
  124. package/dist/service/cloudformation/resource/cfn/organizations/sim-organizations-cfn.d.ts +66 -0
  125. package/dist/service/cloudformation/resource/cfn/organizations/sim-organizations-cfn.js +136 -0
  126. package/dist/service/cloudformation/resource/cfn/scheduler/sim-scheduler-cfn-value-adapter.js +50 -0
  127. package/dist/service/cloudformation/resource/cfn/sim-cfn-service-value-adapters.js +2 -0
  128. package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-factories.js +7 -0
  129. package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts +12 -0
  130. package/dist/service/cloudformation/sim-cloudformation.d.ts +1 -1
  131. package/dist/service/cloudformation/sim-cloudformation.js +3 -2
  132. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.d.ts +3 -0
  133. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.js +4 -1
  134. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-creator.d.ts +2 -0
  135. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-creator.js +2 -1
  136. package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.d.ts +17 -2
  137. package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.js +15 -4
  138. package/dist/service/cloudformation/stack/sim-cfn-stack.js +5 -5
  139. package/dist/service/cloudformation/stack/sim-cfn-stack.type.d.ts +12 -0
  140. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.d.ts +3 -0
  141. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.js +3 -0
  142. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.d.ts +2 -0
  143. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.js +2 -1
  144. package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-creator.d.ts +5 -0
  145. package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-creator.js +10 -3
  146. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.js +2 -1
  147. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-deleter.d.ts +2 -1
  148. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-deleter.js +5 -7
  149. package/dist/service/cloudfront/cfn/key-value-store/sim-cfn-cf-kvs-creator.d.ts +3 -2
  150. package/dist/service/cloudfront/cfn/key-value-store/sim-cfn-cf-kvs-creator.js +6 -6
  151. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.d.ts +2 -4
  152. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.js +7 -15
  153. package/dist/service/cloudfront/command/create-distribution/create-distribution-authorizer.js +1 -0
  154. package/dist/service/cloudfront/command/create-function/create-function-authorizer.js +1 -0
  155. package/dist/service/cloudfront/command/delete-distribution/delete-distribution-authorizer.js +1 -0
  156. package/dist/service/cloudfront/command/delete-function/delete-function-authorizer.js +1 -0
  157. package/dist/service/cloudfront/command/get-distribution/get-distribution-authorizer.js +1 -0
  158. package/dist/service/cloudfront/command/update-distribution/update-distribution-authorizer.js +1 -0
  159. package/dist/service/cloudfront/edge/sim-aws-cf-edge-functions.js +3 -2
  160. package/dist/service/cloudfront/edge/sim-cf-edge-association-auth-z.js +1 -0
  161. package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store-access.js +1 -0
  162. package/dist/service/cloudfront/sim-cloudfront-commands.d.ts +1 -1
  163. package/dist/service/cloudfront/sim-cloudfront-commands.js +5 -2
  164. package/dist/service/cloudwatch/cfn/alarm/sim-cfn-alarm-creator.d.ts +3 -2
  165. package/dist/service/cloudwatch/cfn/alarm/sim-cfn-alarm-creator.js +4 -6
  166. package/dist/service/cloudwatch/cfn/sim-cloudwatch-cfn-resource-factory.d.ts +2 -2
  167. package/dist/service/cloudwatch/cfn/sim-cloudwatch-cfn-resource-factory.js +4 -3
  168. package/dist/service/cloudwatch/command/authorize/sim-cloudwatch-decide.js +1 -0
  169. package/dist/service/cloudwatch/sim-cloudwatch-commands.d.ts +1 -1
  170. package/dist/service/cloudwatch/sim-cloudwatch-commands.js +3 -2
  171. package/dist/service/cognito/cfn/client/sim-cfn-cognito-client-creator.d.ts +2 -1
  172. package/dist/service/cognito/cfn/client/sim-cfn-cognito-client-creator.js +2 -4
  173. package/dist/service/cognito/cfn/domain/sim-cfn-cognito-domain-creator.d.ts +2 -1
  174. package/dist/service/cognito/cfn/domain/sim-cfn-cognito-domain-creator.js +2 -4
  175. package/dist/service/cognito/cfn/group/sim-cfn-cognito-group-creator.d.ts +2 -1
  176. package/dist/service/cognito/cfn/group/sim-cfn-cognito-group-creator.js +2 -4
  177. package/dist/service/cognito/cfn/idp/sim-cfn-cognito-idp-creator.d.ts +2 -1
  178. package/dist/service/cognito/cfn/idp/sim-cfn-cognito-idp-creator.js +2 -4
  179. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-deleter.d.ts +2 -1
  180. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-deleter.js +18 -24
  181. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-factory.d.ts +2 -2
  182. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-factory.js +9 -7
  183. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-creator.d.ts +2 -1
  184. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-creator.js +5 -7
  185. package/dist/service/cognito/command/authorize/sim-cognito-authorizer.js +1 -0
  186. package/dist/service/cognito/sim-cognito-identity-provider.d.ts +1 -1
  187. package/dist/service/cognito/sim-cognito-identity-provider.js +3 -2
  188. package/dist/service/cognito/user-pool/trigger/sim-aws-cognito-trigger-functions.js +2 -1
  189. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-creator.d.ts +2 -1
  190. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-creator.js +2 -2
  191. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-deleter.d.ts +2 -1
  192. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-deleter.js +2 -4
  193. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.d.ts +2 -2
  194. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.js +6 -4
  195. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.d.ts +2 -1
  196. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.js +5 -7
  197. package/dist/service/dynamodb/command/authorize/sim-dynamodb-authorizer.js +1 -0
  198. package/dist/service/dynamodb/sim-dynamodb.js +3 -2
  199. package/dist/service/ecs/cfn/cluster/sim-cfn-ecs-cluster-creator.d.ts +3 -2
  200. package/dist/service/ecs/cfn/cluster/sim-cfn-ecs-cluster-creator.js +4 -6
  201. package/dist/service/ecs/cfn/service/sim-cfn-ecs-service-creator.d.ts +3 -2
  202. package/dist/service/ecs/cfn/service/sim-cfn-ecs-service-creator.js +4 -4
  203. package/dist/service/ecs/cfn/sim-cfn-ecs-created-resource.d.ts +5 -0
  204. package/dist/service/ecs/cfn/sim-cfn-ecs-created-resource.js +9 -0
  205. package/dist/service/ecs/cfn/sim-ecs-cfn-resource-factory.d.ts +2 -2
  206. package/dist/service/ecs/cfn/sim-ecs-cfn-resource-factory.js +11 -16
  207. package/dist/service/ecs/cfn/task-definition/sim-cfn-ecs-task-definition-creator.d.ts +3 -2
  208. package/dist/service/ecs/cfn/task-definition/sim-cfn-ecs-task-definition-creator.js +4 -6
  209. package/dist/service/ecs/sim-ecs-commands.js +3 -2
  210. package/dist/service/ecs/task/run/sim-ecs-container-environment.d.ts +12 -10
  211. package/dist/service/ecs/task/run/sim-ecs-container-environment.js +16 -18
  212. package/dist/service/elbv2/cfn/listener/sim-cfn-elbv2-listener-creator.d.ts +3 -2
  213. package/dist/service/elbv2/cfn/listener/sim-cfn-elbv2-listener-creator.js +4 -6
  214. package/dist/service/elbv2/cfn/load-balancer/sim-cfn-elbv2-load-balancer-creator.d.ts +3 -2
  215. package/dist/service/elbv2/cfn/load-balancer/sim-cfn-elbv2-load-balancer-creator.js +4 -6
  216. package/dist/service/elbv2/cfn/rule/sim-cfn-elbv2-listener-rule-creator.d.ts +3 -2
  217. package/dist/service/elbv2/cfn/rule/sim-cfn-elbv2-listener-rule-creator.js +4 -4
  218. package/dist/service/elbv2/cfn/sim-elbv2-cfn-resource-deleter.d.ts +2 -1
  219. package/dist/service/elbv2/cfn/sim-elbv2-cfn-resource-deleter.js +5 -5
  220. package/dist/service/elbv2/cfn/sim-elbv2-cfn-resource-factory.d.ts +2 -2
  221. package/dist/service/elbv2/cfn/sim-elbv2-cfn-resource-factory.js +8 -6
  222. package/dist/service/elbv2/cfn/target-group/sim-cfn-elbv2-target-group-creator.d.ts +3 -2
  223. package/dist/service/elbv2/cfn/target-group/sim-cfn-elbv2-target-group-creator.js +7 -11
  224. package/dist/service/elbv2/serve/sim-elbv2-router.js +2 -1
  225. package/dist/service/elbv2/sim-elbv2.js +3 -3
  226. package/dist/service/eventbridge/cfn/bus/sim-cfn-event-bus-creator.d.ts +2 -1
  227. package/dist/service/eventbridge/cfn/bus/sim-cfn-event-bus-creator.js +2 -4
  228. package/dist/service/eventbridge/cfn/rule/sim-cfn-event-rule-creator.d.ts +2 -1
  229. package/dist/service/eventbridge/cfn/rule/sim-cfn-event-rule-creator.js +5 -5
  230. package/dist/service/eventbridge/cfn/sim-cfn-event-bridge-resource-deleter.d.ts +2 -1
  231. package/dist/service/eventbridge/cfn/sim-cfn-event-bridge-resource-deleter.js +7 -7
  232. package/dist/service/eventbridge/cfn/sim-event-bridge-cfn-resource-factory.js +5 -3
  233. package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-function.js +2 -1
  234. package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-queue.js +2 -1
  235. package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-task.js +4 -1
  236. package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-topic.js +2 -1
  237. package/dist/service/eventbridge/delivery/sim-event-bridge-target-role.d.ts +8 -3
  238. package/dist/service/eventbridge/delivery/sim-event-bridge-target-role.js +9 -3
  239. package/dist/service/eventbridge/sim-event-bridge.d.ts +1 -1
  240. package/dist/service/eventbridge/sim-event-bridge.js +3 -2
  241. package/dist/service/firehose/cfn/delivery-stream/sim-cfn-firehose-delivery-stream-creator.d.ts +2 -1
  242. package/dist/service/firehose/cfn/delivery-stream/sim-cfn-firehose-delivery-stream-creator.js +2 -2
  243. package/dist/service/firehose/cfn/sim-cfn-firehose-resource-deleter.d.ts +2 -1
  244. package/dist/service/firehose/cfn/sim-cfn-firehose-resource-deleter.js +2 -4
  245. package/dist/service/firehose/cfn/sim-firehose-cfn-resource-factory.d.ts +1 -1
  246. package/dist/service/firehose/cfn/sim-firehose-cfn-resource-factory.js +4 -3
  247. package/dist/service/firehose/command/authorize/sim-firehose-authorizer.js +1 -0
  248. package/dist/service/firehose/sim-firehose.d.ts +1 -1
  249. package/dist/service/firehose/sim-firehose.js +3 -2
  250. package/dist/service/glue/command/authorize/sim-glue-authorize-resources.js +1 -0
  251. package/dist/service/glue/sim-glue.d.ts +1 -1
  252. package/dist/service/glue/sim-glue.js +3 -2
  253. package/dist/service/iam/authorize/allow/sim-iam-policy-evaluation.d.ts +45 -0
  254. package/dist/service/iam/authorize/allow/sim-iam-policy-evaluation.js +59 -0
  255. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts +30 -15
  256. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js +20 -22
  257. package/dist/service/iam/authorize/context/sim-iam-auth-z-context.d.ts +31 -1
  258. package/dist/service/iam/authorize/context/sim-iam-auth-z-context.factory.js +1 -0
  259. package/dist/service/iam/authorize/context/sim-iam-auth-z-scp-source-builder.d.ts +46 -0
  260. package/dist/service/iam/authorize/context/sim-iam-auth-z-scp-source-builder.js +71 -0
  261. package/dist/service/iam/authorize/context/sim-iam-derived-conditions.d.ts +42 -0
  262. package/dist/service/iam/authorize/context/sim-iam-derived-conditions.js +44 -0
  263. package/dist/service/iam/authorize/match/condition/arn/equals/sim-iam-arn-equals.js +2 -2
  264. package/dist/service/iam/authorize/match/condition/arn/like/sim-iam-arn-like.js +2 -2
  265. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-for-all-values-string-operator.d.ts +20 -0
  266. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-for-all-values-string-operator.js +27 -0
  267. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-for-any-value-string-operator.d.ts +21 -0
  268. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-for-any-value-string-operator.js +28 -0
  269. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-operator-factories.d.ts +5 -0
  270. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-operator-factories.js +36 -0
  271. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-scalar-string-operator.d.ts +20 -0
  272. package/dist/service/iam/authorize/match/condition/negated/sim-iam-negated-scalar-string-operator.js +29 -0
  273. package/dist/service/iam/authorize/match/condition/numeric/less-than-equals/sim-iam-number-lte.d.ts +1 -0
  274. package/dist/service/iam/authorize/match/condition/numeric/less-than-equals/sim-iam-number-lte.js +1 -0
  275. package/dist/service/iam/authorize/match/condition/sim-iam-condition-match.d.ts +26 -0
  276. package/dist/service/iam/authorize/match/condition/sim-iam-condition-match.js +1 -0
  277. package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator-parser.js +2 -0
  278. package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator.d.ts +15 -0
  279. package/dist/service/iam/authorize/match/condition/sim-iam-policy-condition-matcher.d.ts +11 -3
  280. package/dist/service/iam/authorize/match/condition/sim-iam-policy-condition-matcher.js +29 -11
  281. package/dist/service/iam/authorize/match/condition/sim-iam-string-comparison.d.ts +24 -0
  282. package/dist/service/iam/authorize/match/condition/sim-iam-string-comparison.js +17 -0
  283. package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-condition-operator.d.ts +1 -0
  284. package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-condition-operator.js +1 -0
  285. package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-equals.js +2 -1
  286. package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-like.js +2 -4
  287. package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-condition-operator.d.ts +1 -0
  288. package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-condition-operator.js +1 -0
  289. package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-equals.js +2 -1
  290. package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-like.js +2 -4
  291. package/dist/service/iam/authorize/match/condition/string/equals/sim-iam-string-equals.js +2 -1
  292. package/dist/service/iam/authorize/match/condition/string/like/sim-iam-string-like.js +2 -4
  293. package/dist/service/iam/authorize/match/condition/string/sim-iam-scalar-string-condition-operator.d.ts +1 -0
  294. package/dist/service/iam/authorize/match/condition/string/sim-iam-scalar-string-condition-operator.js +1 -0
  295. package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.d.ts +18 -1
  296. package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.js +32 -4
  297. package/dist/service/iam/authorize/scp/sim-iam-scp-gate.d.ts +96 -0
  298. package/dist/service/iam/authorize/scp/sim-iam-scp-gate.js +148 -0
  299. package/dist/service/iam/authorize/scp/sim-iam-scp-resolver.d.ts +53 -0
  300. package/dist/service/iam/authorize/scp/sim-iam-scp-resolver.js +1 -0
  301. package/dist/service/iam/authorize/sim-iam-account-auth-z.d.ts +8 -0
  302. package/dist/service/iam/authorize/sim-iam-account-auth-z.js +1 -0
  303. package/dist/service/iam/authorize/sim-iam-action-authorizer.js +1 -0
  304. package/dist/service/iam/authorize/sim-iam-authorizer.d.ts +2 -0
  305. package/dist/service/iam/authorize/sim-iam-authorizer.js +1 -0
  306. package/dist/service/iam/authorize/sim-iam-decision-value.d.ts +13 -0
  307. package/dist/service/iam/authorize/sim-iam-decision-value.js +12 -0
  308. package/dist/service/iam/authorize/sim-iam-decision.d.ts +44 -15
  309. package/dist/service/iam/authorize/sim-iam-decision.js +77 -48
  310. package/dist/service/iam/authorize/sim-iam-inter-service-auth-z.d.ts +8 -0
  311. package/dist/service/iam/authorize/sim-iam-inter-service-auth-z.js +1 -0
  312. package/dist/service/iam/authorize/sim-iam-region-auth-z.d.ts +31 -0
  313. package/dist/service/iam/authorize/sim-iam-region-auth-z.js +65 -0
  314. package/dist/service/iam/authorize/unevaluated/sim-iam-unevaluated-statement.type.d.ts +31 -0
  315. package/dist/service/iam/authorize/unevaluated/sim-iam-unevaluated-statement.type.js +1 -0
  316. package/dist/service/iam/authorize/unevaluated/sim-iam-unevaluated-statements.d.ts +31 -0
  317. package/dist/service/iam/authorize/unevaluated/sim-iam-unevaluated-statements.js +43 -0
  318. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-attacher.d.ts +2 -1
  319. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-attacher.js +2 -4
  320. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-creator.d.ts +2 -1
  321. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-creator.js +3 -3
  322. package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-creator.d.ts +2 -1
  323. package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-creator.js +7 -7
  324. package/dist/service/iam/cfn/role/sim-cfn-iam-role-creator.d.ts +2 -1
  325. package/dist/service/iam/cfn/role/sim-cfn-iam-role-creator.js +8 -8
  326. package/dist/service/iam/cfn/role/sim-cfn-iam-role-deleter.d.ts +2 -1
  327. package/dist/service/iam/cfn/role/sim-cfn-iam-role-deleter.js +10 -12
  328. package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.d.ts +2 -1
  329. package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.js +12 -16
  330. package/dist/service/iam/cfn/sim-cfn-iam-resource-factory.js +8 -5
  331. package/dist/service/iam/cfn/user/sim-cfn-iam-user-creator.d.ts +2 -1
  332. package/dist/service/iam/cfn/user/sim-cfn-iam-user-creator.js +11 -11
  333. package/dist/service/iam/cfn/user/sim-cfn-iam-user-deleter.d.ts +4 -2
  334. package/dist/service/iam/cfn/user/sim-cfn-iam-user-deleter.js +17 -3
  335. package/dist/service/iam/command/sim-iam-command-handlers.js +6 -1
  336. package/dist/service/iam/error/sim-iam.error.d.ts +8 -0
  337. package/dist/service/iam/error/sim-iam.error.js +2 -1
  338. package/dist/service/iam/sim-iam-account-parts.d.ts +9 -0
  339. package/dist/service/iam/sim-iam-account-parts.js +1 -0
  340. package/dist/service/kinesis/cfn/sim-cfn-kinesis-resource-deleter.d.ts +2 -1
  341. package/dist/service/kinesis/cfn/sim-cfn-kinesis-resource-deleter.js +2 -2
  342. package/dist/service/kinesis/cfn/sim-kinesis-cfn-resource-factory.d.ts +1 -1
  343. package/dist/service/kinesis/cfn/sim-kinesis-cfn-resource-factory.js +4 -3
  344. package/dist/service/kinesis/cfn/stream/sim-cfn-kinesis-stream-creator.d.ts +2 -1
  345. package/dist/service/kinesis/cfn/stream/sim-cfn-kinesis-stream-creator.js +5 -7
  346. package/dist/service/kinesis/command/authorize/sim-kinesis-authorizer.js +1 -0
  347. package/dist/service/kinesis/sim-kinesis.d.ts +1 -1
  348. package/dist/service/kinesis/sim-kinesis.js +3 -2
  349. package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-creator.d.ts +2 -1
  350. package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-creator.js +2 -2
  351. package/dist/service/kms/cfn/key/sim-cfn-kms-key-creator.d.ts +6 -6
  352. package/dist/service/kms/cfn/key/sim-cfn-kms-key-creator.js +11 -11
  353. package/dist/service/kms/cfn/sim-cfn-kms-resource-deleter.d.ts +2 -1
  354. package/dist/service/kms/cfn/sim-cfn-kms-resource-deleter.js +3 -5
  355. package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.d.ts +2 -1
  356. package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.js +6 -4
  357. package/dist/service/kms/command/authorize/sim-kms-authorizer.js +2 -0
  358. package/dist/service/kms/sim-kms-commands.d.ts +1 -1
  359. package/dist/service/kms/sim-kms-commands.js +3 -2
  360. package/dist/service/lambda/cfn/alias/sim-cfn-lambda-alias-creator.d.ts +2 -1
  361. package/dist/service/lambda/cfn/alias/sim-cfn-lambda-alias-creator.js +2 -2
  362. package/dist/service/lambda/cfn/event-invoke-config/sim-cfn-lambda-event-invoke-config-creator.d.ts +2 -1
  363. package/dist/service/lambda/cfn/event-invoke-config/sim-cfn-lambda-event-invoke-config-creator.js +2 -2
  364. package/dist/service/lambda/cfn/event-invoke-config/sim-cfn-lambda-event-invoke-config-remover.d.ts +2 -1
  365. package/dist/service/lambda/cfn/event-invoke-config/sim-cfn-lambda-event-invoke-config-remover.js +2 -4
  366. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-creator.d.ts +2 -1
  367. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-creator.js +2 -2
  368. package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.d.ts +2 -1
  369. package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.js +3 -4
  370. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.d.ts +2 -1
  371. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.js +2 -2
  372. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-revoker.d.ts +2 -1
  373. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-revoker.js +2 -2
  374. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-deleter.d.ts +2 -8
  375. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-deleter.js +18 -38
  376. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.d.ts +2 -2
  377. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.js +12 -9
  378. package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.d.ts +2 -1
  379. package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.js +2 -2
  380. package/dist/service/lambda/cfn/version/sim-cfn-lambda-version-creator.d.ts +2 -1
  381. package/dist/service/lambda/cfn/version/sim-cfn-lambda-version-creator.js +2 -2
  382. package/dist/service/lambda/command/create-function/create-function-authorizer.js +1 -0
  383. package/dist/service/lambda/command/delete-function/delete-function-authorizer.js +1 -0
  384. package/dist/service/lambda/command/event-invoke-config/event-invoke-config-authorizer.js +1 -0
  385. package/dist/service/lambda/command/function-url/function-url-authorizer.js +1 -0
  386. package/dist/service/lambda/command/get-function/get-function-authorizer.js +1 -0
  387. package/dist/service/lambda/command/invoke/invoke-authorizer.js +1 -0
  388. package/dist/service/lambda/command/list-functions/list-functions-authorizer.js +1 -0
  389. package/dist/service/lambda/command/update-function-code/update-function-code-authorizer.js +1 -0
  390. package/dist/service/lambda/command/update-function-configuration/update-function-configuration-authorizer.js +1 -0
  391. package/dist/service/lambda/command/version/version-authorizer.js +1 -0
  392. package/dist/service/lambda/serve/sim-lambda-url-router.js +2 -1
  393. package/dist/service/lambda/sim-lambda-commands.d.ts +1 -1
  394. package/dist/service/lambda/sim-lambda-commands.js +3 -2
  395. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-creator.d.ts +3 -2
  396. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-creator.js +4 -6
  397. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.d.ts +3 -2
  398. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.js +4 -6
  399. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-source-creator.d.ts +3 -2
  400. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-source-creator.js +4 -4
  401. package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.d.ts +2 -1
  402. package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.js +4 -4
  403. package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.d.ts +2 -2
  404. package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.js +7 -5
  405. package/dist/service/logs/command/authorize/sim-logs-authorizer.js +1 -0
  406. package/dist/service/logs/sim-logs-commands.d.ts +1 -1
  407. package/dist/service/logs/sim-logs-commands.js +3 -2
  408. package/dist/service/logs/subscription/lambda/sim-logs-destination-permission.js +2 -1
  409. package/dist/service/organizations/cfn/sim-cfn-organization-creator.d.ts +19 -0
  410. package/dist/service/organizations/cfn/sim-cfn-organization-creator.js +25 -0
  411. package/dist/service/organizations/cfn/sim-cfn-organizational-unit-creator.d.ts +16 -0
  412. package/dist/service/organizations/cfn/sim-cfn-organizational-unit-creator.js +21 -0
  413. package/dist/service/organizations/cfn/sim-cfn-organizations-account-creator.d.ts +20 -0
  414. package/dist/service/organizations/cfn/sim-cfn-organizations-account-creator.js +34 -0
  415. package/dist/service/organizations/cfn/sim-cfn-organizations-policy-creator.d.ts +21 -0
  416. package/dist/service/organizations/cfn/sim-cfn-organizations-policy-creator.js +40 -0
  417. package/dist/service/organizations/cfn/sim-cfn-organizations-policy-input.d.ts +20 -0
  418. package/dist/service/organizations/cfn/sim-cfn-organizations-policy-input.js +33 -0
  419. package/dist/service/organizations/cfn/sim-cfn-organizations-properties.d.ts +36 -0
  420. package/dist/service/organizations/cfn/sim-cfn-organizations-properties.js +78 -0
  421. package/dist/service/organizations/cfn/sim-cfn-organizations-record.d.ts +40 -0
  422. package/dist/service/organizations/cfn/sim-cfn-organizations-record.js +54 -0
  423. package/dist/service/organizations/cfn/sim-cfn-organizations-remover.d.ts +17 -0
  424. package/dist/service/organizations/cfn/sim-cfn-organizations-remover.js +40 -0
  425. package/dist/service/organizations/cfn/sim-organizations-cfn-resource-factory.d.ts +24 -0
  426. package/dist/service/organizations/cfn/sim-organizations-cfn-resource-factory.js +50 -0
  427. package/dist/service/organizations/index.d.ts +6 -0
  428. package/dist/service/organizations/index.js +6 -0
  429. package/dist/service/organizations/policy/sim-organizations-effective-policies.d.ts +43 -0
  430. package/dist/service/organizations/policy/sim-organizations-effective-policies.js +58 -0
  431. package/dist/service/organizations/policy/sim-organizations-scp-store.d.ts +61 -0
  432. package/dist/service/organizations/policy/sim-organizations-scp-store.js +103 -0
  433. package/dist/service/organizations/sim-organizations-structure.d.ts +94 -0
  434. package/dist/service/organizations/sim-organizations-structure.js +140 -0
  435. package/dist/service/organizations/sim-organizations.d.ts +95 -0
  436. package/dist/service/organizations/sim-organizations.js +99 -0
  437. package/dist/service/organizations/tree/sim-organizations-node.d.ts +57 -0
  438. package/dist/service/organizations/tree/sim-organizations-node.js +58 -0
  439. package/dist/service/organizations/tree/sim-organizations-tree.d.ts +91 -0
  440. package/dist/service/organizations/tree/sim-organizations-tree.js +154 -0
  441. package/dist/service/personalize/cfn/sim-cfn-personalize-dataset-creator.d.ts +3 -2
  442. package/dist/service/personalize/cfn/sim-cfn-personalize-dataset-creator.js +4 -6
  443. package/dist/service/personalize/cfn/sim-cfn-personalize-dataset-group-creator.d.ts +3 -2
  444. package/dist/service/personalize/cfn/sim-cfn-personalize-dataset-group-creator.js +4 -6
  445. package/dist/service/personalize/cfn/sim-cfn-personalize-event-tracker-creator.d.ts +3 -2
  446. package/dist/service/personalize/cfn/sim-cfn-personalize-event-tracker-creator.js +4 -6
  447. package/dist/service/personalize/cfn/sim-cfn-personalize-schema-creator.d.ts +3 -2
  448. package/dist/service/personalize/cfn/sim-cfn-personalize-schema-creator.js +4 -4
  449. package/dist/service/personalize/cfn/sim-cfn-personalize-solution-creator.d.ts +3 -2
  450. package/dist/service/personalize/cfn/sim-cfn-personalize-solution-creator.js +4 -6
  451. package/dist/service/personalize/cfn/sim-personalize-cfn-resource-factory.d.ts +2 -2
  452. package/dist/service/personalize/cfn/sim-personalize-cfn-resource-factory.js +7 -6
  453. package/dist/service/personalize/sim-personalize-data-operations.d.ts +1 -1
  454. package/dist/service/personalize/sim-personalize-data-operations.js +3 -2
  455. package/dist/service/rekognition/sim-rekognition.d.ts +1 -1
  456. package/dist/service/rekognition/sim-rekognition.js +3 -2
  457. package/dist/service/route53/cfn/dnssec/sim-cfn-r53-ksk-creator.d.ts +3 -2
  458. package/dist/service/route53/cfn/dnssec/sim-cfn-r53-ksk-creator.js +5 -5
  459. package/dist/service/route53/cfn/dnssec/sim-cfn-r53-zone-signing-creator.d.ts +3 -2
  460. package/dist/service/route53/cfn/dnssec/sim-cfn-r53-zone-signing-creator.js +4 -8
  461. package/dist/service/route53/cfn/hosted-zone/sim-cfn-r53-zone-creator.d.ts +2 -1
  462. package/dist/service/route53/cfn/hosted-zone/sim-cfn-r53-zone-creator.js +2 -2
  463. package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.d.ts +9 -1
  464. package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.js +23 -2
  465. package/dist/service/route53/cfn/sim-cfn-route53-resource-deleter.d.ts +5 -3
  466. package/dist/service/route53/cfn/sim-cfn-route53-resource-deleter.js +9 -28
  467. package/dist/service/route53/cfn/sim-cfn-route53-resource-factory.js +9 -5
  468. package/dist/service/route53/command/change-resource-record-sets/change-resource-record-sets-authorizer.js +1 -0
  469. package/dist/service/route53/command/create-hosted-zone/create-hosted-zone-authorizer.js +1 -0
  470. package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone-authorizer.js +1 -0
  471. package/dist/service/route53/command/dnssec/sim-route53-dnssec-authorizer.js +1 -0
  472. package/dist/service/route53/command/get-hosted-zone/get-hosted-zone-authorizer.js +1 -0
  473. package/dist/service/route53/command/list-hosted-zones-by-name/list-hosted-zones-by-name-authorizer.js +1 -0
  474. package/dist/service/route53/command/list-resource-record-sets/list-resource-record-sets-authorizer.js +1 -0
  475. package/dist/service/route53/sim-route53.d.ts +1 -1
  476. package/dist/service/route53/sim-route53.js +5 -2
  477. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.d.ts +3 -0
  478. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.js +6 -13
  479. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.d.ts +2 -1
  480. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.js +3 -2
  481. package/dist/service/s3/cfn/bucket-policy/sim-cfn-s3-bucket-policy-creator.d.ts +2 -1
  482. package/dist/service/s3/cfn/bucket-policy/sim-cfn-s3-bucket-policy-creator.js +2 -2
  483. package/dist/service/s3/cfn/sim-cfn-s3-resource-deleter.d.ts +2 -1
  484. package/dist/service/s3/cfn/sim-cfn-s3-resource-deleter.js +3 -7
  485. package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.d.ts +2 -2
  486. package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.js +6 -4
  487. package/dist/service/s3/command/create-bucket/create-bucket.handler.js +1 -0
  488. package/dist/service/s3/command/delete-bucket/delete-bucket-authorizer.js +1 -0
  489. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy-authorizer.js +1 -0
  490. package/dist/service/s3/command/delete-object/delete-object-authorizer.js +1 -0
  491. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy-authorizer.js +1 -0
  492. package/dist/service/s3/command/get-object/get-object-authorizer.js +1 -0
  493. package/dist/service/s3/command/head-bucket/head-bucket-authorizer.js +1 -0
  494. package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-authorizer.js +1 -0
  495. package/dist/service/s3/command/list-buckets/list-buckets-authorizer.js +1 -0
  496. package/dist/service/s3/command/list-objects/list-objects-authorizer.js +1 -0
  497. package/dist/service/s3/command/multipart/sim-s3-multipart-authorizer.js +1 -0
  498. package/dist/service/s3/command/notification/sim-s3-notification-authorizer.js +1 -0
  499. package/dist/service/s3/command/public-access-block/sim-s3-public-access-block-authorizer.js +1 -0
  500. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy-authorizer.js +1 -0
  501. package/dist/service/s3/command/put-bucket-website/put-bucket-website-authorizer.js +1 -0
  502. package/dist/service/s3/command/put-object/put-object-authorizer.js +1 -0
  503. package/dist/service/s3/notification/destination/lambda/sim-aws-s3-notification-functions.js +2 -1
  504. package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic.js +2 -1
  505. package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queue.js +2 -1
  506. package/dist/service/s3/sim-s3-commands.d.ts +1 -1
  507. package/dist/service/s3/sim-s3-commands.js +3 -2
  508. package/dist/service/scheduler/cfn/sim-cfn-schedule-creator.d.ts +26 -0
  509. package/dist/service/scheduler/cfn/sim-cfn-schedule-creator.js +49 -0
  510. package/dist/service/scheduler/cfn/sim-cfn-schedule-group-creator.d.ts +31 -0
  511. package/dist/service/scheduler/cfn/sim-cfn-schedule-group-creator.js +48 -0
  512. package/dist/service/scheduler/cfn/sim-cfn-schedule-group-properties.d.ts +26 -0
  513. package/dist/service/scheduler/cfn/sim-cfn-schedule-group-properties.js +68 -0
  514. package/dist/service/scheduler/cfn/sim-cfn-schedule-properties.js +4 -10
  515. package/dist/service/scheduler/cfn/sim-cfn-scheduler-resource-error.d.ts +14 -3
  516. package/dist/service/scheduler/cfn/sim-cfn-scheduler-resource-error.js +28 -6
  517. package/dist/service/scheduler/cfn/sim-cfn-scheduler-resource-lookup.d.ts +10 -4
  518. package/dist/service/scheduler/cfn/sim-cfn-scheduler-resource-lookup.js +9 -6
  519. package/dist/service/scheduler/cfn/sim-scheduler-cfn-resource-factory.d.ts +6 -8
  520. package/dist/service/scheduler/cfn/sim-scheduler-cfn-resource-factory.js +20 -33
  521. package/dist/service/scheduler/command/authorize/sim-scheduler-authorizer.d.ts +9 -8
  522. package/dist/service/scheduler/command/authorize/sim-scheduler-authorizer.js +14 -15
  523. package/dist/service/scheduler/command/group/group.command.d.ts +90 -0
  524. package/dist/service/scheduler/command/group/group.command.js +1 -0
  525. package/dist/service/scheduler/command/group/sim-scheduler-described-group.d.ts +15 -0
  526. package/dist/service/scheduler/command/group/sim-scheduler-described-group.js +29 -0
  527. package/dist/service/scheduler/command/group/sim-scheduler-group-access.d.ts +57 -0
  528. package/dist/service/scheduler/command/group/sim-scheduler-group-access.js +70 -0
  529. package/dist/service/scheduler/command/group/sim-scheduler-group-commands.d.ts +46 -0
  530. package/dist/service/scheduler/command/group/sim-scheduler-group-commands.js +72 -0
  531. package/dist/service/scheduler/command/group/sim-scheduler-listed-groups.d.ts +6 -0
  532. package/dist/service/scheduler/command/group/sim-scheduler-listed-groups.js +10 -0
  533. package/dist/service/scheduler/command/group/sim-scheduler-unsimulated-group-input.d.ts +14 -0
  534. package/dist/service/scheduler/command/group/sim-scheduler-unsimulated-group-input.js +19 -0
  535. package/dist/service/scheduler/command/schedule/sim-scheduler-create-schedule.js +1 -0
  536. package/dist/service/scheduler/command/schedule/sim-scheduler-schedule-access.d.ts +16 -0
  537. package/dist/service/scheduler/command/schedule/sim-scheduler-schedule-access.js +23 -3
  538. package/dist/service/scheduler/command/sim-scheduler-command.types.d.ts +1 -0
  539. package/dist/service/scheduler/command/sim-scheduler-commands.d.ts +4 -0
  540. package/dist/service/scheduler/command/sim-scheduler-commands.js +14 -1
  541. package/dist/service/scheduler/delivery/sim-aws-scheduler-delivery-targets.js +1 -1
  542. package/dist/service/scheduler/delivery/sim-scheduler-delivery-function.js +2 -1
  543. package/dist/service/scheduler/delivery/sim-scheduler-delivery-queue.js +2 -1
  544. package/dist/service/scheduler/delivery/sim-scheduler-delivery-topic.js +2 -1
  545. package/dist/service/scheduler/delivery/sim-scheduler-execution-role.d.ts +9 -3
  546. package/dist/service/scheduler/delivery/sim-scheduler-execution-role.js +10 -3
  547. package/dist/service/scheduler/group/sim-scheduler-schedule-group-arn.d.ts +11 -0
  548. package/dist/service/scheduler/group/sim-scheduler-schedule-group-arn.js +13 -0
  549. package/dist/service/scheduler/group/sim-scheduler-schedule-group-store.d.ts +46 -0
  550. package/dist/service/scheduler/group/sim-scheduler-schedule-group-store.js +65 -0
  551. package/dist/service/scheduler/group/sim-scheduler-schedule-group.d.ts +25 -0
  552. package/dist/service/scheduler/group/sim-scheduler-schedule-group.js +32 -0
  553. package/dist/service/scheduler/index.d.ts +2 -0
  554. package/dist/service/scheduler/index.js +2 -0
  555. package/dist/service/scheduler/schedule/sim-scheduler-schedule-name.d.ts +11 -9
  556. package/dist/service/scheduler/schedule/sim-scheduler-schedule-name.js +15 -18
  557. package/dist/service/scheduler/schedule/sim-scheduler-schedule-store.d.ts +7 -0
  558. package/dist/service/scheduler/schedule/sim-scheduler-schedule-store.js +13 -0
  559. package/dist/service/scheduler/schedule/sim-scheduler-schedule.d.ts +13 -0
  560. package/dist/service/scheduler/schedule/sim-scheduler-schedule.js +16 -0
  561. package/dist/service/scheduler/sdk/sim-scheduler-sdk-command-router.js +16 -0
  562. package/dist/service/scheduler/sim-scheduler-inspection.d.ts +14 -0
  563. package/dist/service/scheduler/sim-scheduler-inspection.js +15 -0
  564. package/dist/service/scheduler/sim-scheduler.d.ts +19 -1
  565. package/dist/service/scheduler/sim-scheduler.js +38 -2
  566. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-creator.d.ts +2 -1
  567. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-creator.js +2 -2
  568. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.d.ts +2 -2
  569. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.js +4 -5
  570. package/dist/service/secretsmanager/command/authorize/sim-secrets-manager-authorizer.js +1 -0
  571. package/dist/service/secretsmanager/sim-secrets-manager.d.ts +1 -1
  572. package/dist/service/secretsmanager/sim-secrets-manager.js +3 -2
  573. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-creator.d.ts +3 -2
  574. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-creator.js +4 -4
  575. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-creator.d.ts +3 -2
  576. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-creator.js +4 -8
  577. package/dist/service/ses/cfn/sim-ses-cfn-resource-factory.d.ts +2 -2
  578. package/dist/service/ses/cfn/sim-ses-cfn-resource-factory.js +7 -6
  579. package/dist/service/ses/cfn/template/sim-cfn-ses-template-creator.d.ts +3 -2
  580. package/dist/service/ses/cfn/template/sim-cfn-ses-template-creator.js +4 -8
  581. package/dist/service/ses/command/authorize/sim-ses-authorizer.js +1 -0
  582. package/dist/service/ses/sim-ses-commands.d.ts +1 -1
  583. package/dist/service/ses/sim-ses-commands.js +3 -2
  584. package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.d.ts +5 -8
  585. package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.js +10 -28
  586. package/dist/service/sns/cfn/sim-sns-cfn-resource-factory.js +10 -5
  587. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.d.ts +2 -1
  588. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.js +2 -2
  589. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.d.ts +2 -1
  590. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.js +5 -7
  591. package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.d.ts +9 -1
  592. package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.js +20 -4
  593. package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.js +2 -1
  594. package/dist/service/sns/delivery/sqs/sim-sns-delivery-queue.js +2 -1
  595. package/dist/service/sns/sim-sns.d.ts +1 -1
  596. package/dist/service/sns/sim-sns.js +3 -2
  597. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-creator.d.ts +2 -1
  598. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-creator.js +2 -4
  599. package/dist/service/sqs/cfn/queue-policy/sim-cfn-sqs-queue-policy-creator.d.ts +2 -1
  600. package/dist/service/sqs/cfn/queue-policy/sim-cfn-sqs-queue-policy-creator.js +4 -4
  601. package/dist/service/sqs/cfn/sim-cfn-sqs-resource-deleter.d.ts +2 -1
  602. package/dist/service/sqs/cfn/sim-cfn-sqs-resource-deleter.js +7 -7
  603. package/dist/service/sqs/cfn/sim-sqs-cfn-resource-factory.js +5 -3
  604. package/dist/service/sqs/command/authorize/sim-sqs-authorizer.js +1 -0
  605. package/dist/service/sqs/sim-sqs.d.ts +1 -1
  606. package/dist/service/sqs/sim-sqs.js +3 -2
  607. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.d.ts +2 -1
  608. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.js +2 -2
  609. package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.d.ts +2 -2
  610. package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.js +4 -3
  611. package/dist/service/ssm/command/authorize/sim-ssm-authorizer.js +1 -0
  612. package/dist/service/ssm/sim-ssm.d.ts +1 -1
  613. package/dist/service/ssm/sim-ssm.js +3 -2
  614. package/dist/service/stepfunctions/cfn/sim-cfn-step-functions-resource-deleter.d.ts +2 -1
  615. package/dist/service/stepfunctions/cfn/sim-cfn-step-functions-resource-deleter.js +2 -4
  616. package/dist/service/stepfunctions/cfn/sim-step-functions-cfn-resource-factory.d.ts +1 -1
  617. package/dist/service/stepfunctions/cfn/sim-step-functions-cfn-resource-factory.js +4 -3
  618. package/dist/service/stepfunctions/cfn/state-machine/sim-cfn-state-machine-creator.d.ts +2 -1
  619. package/dist/service/stepfunctions/cfn/state-machine/sim-cfn-state-machine-creator.js +2 -2
  620. package/dist/service/stepfunctions/task/sim-aws-states-task-targets.js +2 -4
  621. package/dist/service/stepfunctions/task/sim-states-execution-role.d.ts +3 -3
  622. package/dist/service/stepfunctions/task/sim-states-execution-role.js +4 -3
  623. package/dist/service/stepfunctions/task/sim-states-task-function.js +2 -1
  624. package/dist/service/sts/auth-z/assume-role-auth-z-coordinator.d.ts +3 -0
  625. package/dist/service/sts/auth-z/assume-role-auth-z-coordinator.js +2 -7
  626. package/dist/service/sts/auth-z/assume-role-source-account-auth-z.d.ts +6 -0
  627. package/dist/service/sts/auth-z/assume-role-source-account-auth-z.js +3 -0
  628. package/dist/service/sts/auth-z/assume-role-target-auth-z.d.ts +6 -0
  629. package/dist/service/sts/auth-z/assume-role-target-auth-z.js +3 -0
  630. package/dist/service/sts/auth-z/assume-role-trust-policy-authorizer.d.ts +6 -0
  631. package/dist/service/sts/auth-z/assume-role-trust-policy-authorizer.js +1 -0
  632. package/dist/service/sts/command/assume-role/assume-role.handler.d.ts +5 -0
  633. package/dist/service/sts/command/assume-role/assume-role.handler.js +2 -1
  634. package/dist/service/sts/service-role/sim-service-role-source.d.ts +33 -0
  635. package/dist/service/sts/service-role/sim-service-role-source.js +26 -0
  636. package/dist/service/sts/service-role/sim-service-role-target.d.ts +26 -0
  637. package/dist/service/sts/service-role/sim-service-role-target.js +27 -0
  638. package/dist/service/sts/service-role/sim-service-role.d.ts +16 -20
  639. package/dist/service/sts/service-role/sim-service-role.js +7 -21
  640. package/dist/service/sts/sim-sts.js +1 -0
  641. package/dist/service/wafv2/cfn/association/sim-cfn-waf-association-creator.d.ts +3 -2
  642. package/dist/service/wafv2/cfn/association/sim-cfn-waf-association-creator.js +4 -6
  643. package/dist/service/wafv2/cfn/ip-set/sim-cfn-waf-ip-set-creator.d.ts +3 -2
  644. package/dist/service/wafv2/cfn/ip-set/sim-cfn-waf-ip-set-creator.js +4 -4
  645. package/dist/service/wafv2/cfn/regex-pattern-set/sim-cfn-waf-regex-set-creator.d.ts +3 -2
  646. package/dist/service/wafv2/cfn/regex-pattern-set/sim-cfn-waf-regex-set-creator.js +4 -4
  647. package/dist/service/wafv2/cfn/sim-cfn-waf-resource-deleter.d.ts +2 -1
  648. package/dist/service/wafv2/cfn/sim-cfn-waf-resource-deleter.js +5 -5
  649. package/dist/service/wafv2/cfn/sim-waf-cfn-resource-factory.d.ts +2 -2
  650. package/dist/service/wafv2/cfn/sim-waf-cfn-resource-factory.js +8 -6
  651. package/dist/service/wafv2/cfn/web-acl/sim-cfn-waf-web-acl-creator.d.ts +3 -2
  652. package/dist/service/wafv2/cfn/web-acl/sim-cfn-waf-web-acl-creator.js +4 -6
  653. package/dist/service/wafv2/command/authorize/sim-wafv2-authorizer.js +1 -0
  654. package/dist/service/wafv2/sim-wafv2-commands.d.ts +1 -1
  655. package/dist/service/wafv2/sim-wafv2-commands.js +3 -2
  656. package/dist/util/clock/sim-clock-control.d.ts +3 -1
  657. package/dist/util/clock/sim-clock-control.js +2 -0
  658. package/dist/util/clock/sim-controllable-clock.d.ts +3 -1
  659. package/dist/util/clock/sim-controllable-clock.js +2 -0
  660. package/dist/util/clock/sim-duration.d.ts +6 -2
  661. package/dist/util/clock/sim-duration.js +8 -1
  662. package/package.json +5 -1
@@ -11,7 +11,7 @@ export class SimCfnRoute53HostedZoneCreator {
11
11
  /**
12
12
  * Create a simulated Hosted Zone from an AWS::Route53::HostedZone Resource.
13
13
  */
14
- async create(resource, properties) {
14
+ async create(resource, properties, options) {
15
15
  const name = properties["Name"];
16
16
  if (typeof name !== "string") {
17
17
  throw new TypeError(`Invalid AWS::Route53::HostedZone ${resource.logicalId}: Name must be a string`);
@@ -34,7 +34,7 @@ export class SimCfnRoute53HostedZoneCreator {
34
34
  CallerReference: resource.logicalId,
35
35
  HostedZoneConfig: route53HostedZoneConfig,
36
36
  },
37
- });
37
+ }, options);
38
38
  const hostedZoneId = hostedZoneCreation.HostedZone?.Id;
39
39
  assertIsSimRoute53HostedZoneId(hostedZoneId);
40
40
  const hostedZone = this.route53.hostedZones.get(hostedZoneId);
@@ -2,6 +2,7 @@ import type { SimCfnResource } from "../../../../cloudformation/resource/sim-cfn
2
2
  import type { SimCfnTemplateValueRecord } from "../../../../cloudformation/template/value/sim-cfn-template-value.js";
3
3
  import type { SimRoute53Record } from "../../../record/sim-route53-record.js";
4
4
  import type { SimRoute53 } from "../../../sim-route53.js";
5
+ import type { SimCfnResourceCallerOptions } from "../../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
5
6
  interface SimCfnRoute53RecordSetApplicatorProperties {
6
7
  readonly route53: SimRoute53;
7
8
  }
@@ -15,6 +16,13 @@ export declare class SimCfnRoute53RecordSetApplicator {
15
16
  /**
16
17
  * Create a simulated Record Set from an AWS::Route53::RecordSet Resource.
17
18
  */
18
- create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): Promise<SimRoute53Record>;
19
+ create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord, options?: SimCfnResourceCallerOptions): Promise<SimRoute53Record>;
20
+ /**
21
+ * Remove the Record Set a Resource created.
22
+ *
23
+ * Route53 only takes changes, so this is a ChangeResourceRecordSets carrying
24
+ * a DELETE change built from the same template properties that created it.
25
+ */
26
+ delete(resource: SimCfnResource, properties: SimCfnTemplateValueRecord, options?: SimCfnResourceCallerOptions): Promise<void>;
19
27
  }
20
28
  export {};
@@ -16,7 +16,7 @@ export class SimCfnRoute53RecordSetApplicator {
16
16
  /**
17
17
  * Create a simulated Record Set from an AWS::Route53::RecordSet Resource.
18
18
  */
19
- async create(resource, properties) {
19
+ async create(resource, properties, options) {
20
20
  // The record set is built first because resolving the Hosted Zone can
21
21
  // register one, and a RecordSet that turns out to be unbuildable or of a
22
22
  // skipped record type would otherwise leave that zone behind.
@@ -37,7 +37,7 @@ export class SimCfnRoute53RecordSetApplicator {
37
37
  ],
38
38
  },
39
39
  },
40
- });
40
+ }, options);
41
41
  const hostedZone = this.route53.hostedZones.get(hostedZoneId);
42
42
  assertDefined(hostedZone, "Sim Route53 Hosted Zone after update");
43
43
  await hostedZone.waitForSynchronizationComplete();
@@ -45,4 +45,25 @@ export class SimCfnRoute53RecordSetApplicator {
45
45
  assertDefined(record, "Sim Route53 Record after update");
46
46
  return record;
47
47
  }
48
+ /**
49
+ * Remove the Record Set a Resource created.
50
+ *
51
+ * Route53 only takes changes, so this is a ChangeResourceRecordSets carrying
52
+ * a DELETE change built from the same template properties that created it.
53
+ */
54
+ async delete(resource, properties, options) {
55
+ const hostedZoneId = this.hostedZoneResolver.hostedZoneId(resource, properties);
56
+ const recordSet = new SimCfnRoute53RecordSetBuilder(resource, properties).build();
57
+ await this.route53.changeResourceRecordSets({
58
+ input: {
59
+ HostedZoneId: hostedZoneId,
60
+ ChangeBatch: {
61
+ Changes: [{ Action: "DELETE", ResourceRecordSet: recordSet }],
62
+ },
63
+ },
64
+ }, options);
65
+ await this.route53.hostedZones
66
+ .get(hostedZoneId)
67
+ ?.waitForSynchronizationComplete();
68
+ }
48
69
  }
@@ -1,10 +1,13 @@
1
1
  import type { SimCfnResource } from "../../cloudformation/resource/sim-cfn-resource.js";
2
2
  import type { SimCfnTemplateValueRecord } from "../../cloudformation/template/value/sim-cfn-template-value.js";
3
3
  import type { SimRoute53 } from "../sim-route53.js";
4
+ import type { SimCfnRoute53RecordSetApplicator } from "./record-set/apply/sim-cfn-r53-record-set-applicator.js";
4
5
  import type { SimCfnRoute53KskCreator } from "./dnssec/sim-cfn-r53-ksk-creator.js";
5
6
  import type { SimCfnRoute53ZoneSigningCreator } from "./dnssec/sim-cfn-r53-zone-signing-creator.js";
7
+ import type { SimCfnResourceCallerOptions } from "../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
6
8
  interface SimCfnRoute53ResourceDeleterProperties {
7
9
  readonly route53: SimRoute53;
10
+ readonly recordSetCreator: SimCfnRoute53RecordSetApplicator;
8
11
  readonly keySigningKeyCreator: SimCfnRoute53KskCreator;
9
12
  readonly zoneSigningCreator: SimCfnRoute53ZoneSigningCreator;
10
13
  }
@@ -24,15 +27,14 @@ interface SimCfnRoute53ResourceDeleterProperties {
24
27
  */
25
28
  export declare class SimCfnRoute53ResourceDeleter {
26
29
  private readonly route53;
30
+ private readonly recordSetCreator;
27
31
  private readonly keySigningKeyCreator;
28
32
  private readonly zoneSigningCreator;
29
- private readonly hostedZoneResolver;
30
33
  constructor(properties: SimCfnRoute53ResourceDeleterProperties);
31
34
  /**
32
35
  * Delete a simulated Route53 resource created from a CloudFormation Resource.
33
36
  */
34
- delete(resourceTypeName: string, resource: SimCfnResource, properties: SimCfnTemplateValueRecord): Promise<void>;
37
+ delete(resourceTypeName: string, resource: SimCfnResource, properties: SimCfnTemplateValueRecord, options?: SimCfnResourceCallerOptions): Promise<void>;
35
38
  private deleteHostedZone;
36
- private deleteRecordSet;
37
39
  }
38
40
  export {};
@@ -1,5 +1,3 @@
1
- import { SimCfnRoute53RecordSetBuilder } from "./record-set/build/sim-cfn-r53-record-set-builder.js";
2
- import { SimCfnRoute53RecordSetHostedZoneResolver } from "./record-set/resolve/sim-cfn-r53-rec-set-zone-resolver.js";
3
1
  import { assertDefined } from "../../../util/type-guard/defined.js";
4
2
  /**
5
3
  * Deletes the simulated Route53 resources a CloudFormation Stack created.
@@ -17,36 +15,34 @@ import { assertDefined } from "../../../util/type-guard/defined.js";
17
15
  */
18
16
  export class SimCfnRoute53ResourceDeleter {
19
17
  route53;
18
+ recordSetCreator;
20
19
  keySigningKeyCreator;
21
20
  zoneSigningCreator;
22
- hostedZoneResolver;
23
21
  constructor(properties) {
24
22
  this.route53 = properties.route53;
23
+ this.recordSetCreator = properties.recordSetCreator;
25
24
  this.keySigningKeyCreator = properties.keySigningKeyCreator;
26
25
  this.zoneSigningCreator = properties.zoneSigningCreator;
27
- this.hostedZoneResolver = new SimCfnRoute53RecordSetHostedZoneResolver({
28
- route53: this.route53,
29
- });
30
26
  }
31
27
  /**
32
28
  * Delete a simulated Route53 resource created from a CloudFormation Resource.
33
29
  */
34
- async delete(resourceTypeName, resource, properties) {
30
+ async delete(resourceTypeName, resource, properties, options) {
35
31
  switch (resourceTypeName) {
36
32
  case "HostedZone": {
37
- await this.deleteHostedZone(resource);
33
+ await this.deleteHostedZone(resource, options);
38
34
  return;
39
35
  }
40
36
  case "RecordSet": {
41
- await this.deleteRecordSet(resource, properties);
37
+ await this.recordSetCreator.delete(resource, properties, options);
42
38
  return;
43
39
  }
44
40
  case "KeySigningKey": {
45
- await this.keySigningKeyCreator.delete(resource, properties);
41
+ await this.keySigningKeyCreator.delete(resource, properties, options);
46
42
  return;
47
43
  }
48
44
  case "DNSSEC": {
49
- await this.zoneSigningCreator.delete(resource, properties);
45
+ await this.zoneSigningCreator.delete(resource, properties, options);
50
46
  return;
51
47
  }
52
48
  default: {
@@ -54,24 +50,9 @@ export class SimCfnRoute53ResourceDeleter {
54
50
  }
55
51
  }
56
52
  }
57
- async deleteHostedZone(resource) {
53
+ async deleteHostedZone(resource, options) {
58
54
  const hostedZone = resource.simResource;
59
55
  assertDefined(hostedZone, `sim Route53 Hosted Zone for CloudFormation Resource ${resource.logicalId}`);
60
- await this.route53.deleteHostedZone({ input: { Id: hostedZone.id } });
61
- }
62
- async deleteRecordSet(resource, properties) {
63
- const hostedZoneId = this.hostedZoneResolver.hostedZoneId(resource, properties);
64
- const recordSet = new SimCfnRoute53RecordSetBuilder(resource, properties).build();
65
- await this.route53.changeResourceRecordSets({
66
- input: {
67
- HostedZoneId: hostedZoneId,
68
- ChangeBatch: {
69
- Changes: [{ Action: "DELETE", ResourceRecordSet: recordSet }],
70
- },
71
- },
72
- });
73
- await this.route53.hostedZones
74
- .get(hostedZoneId)
75
- ?.waitForSynchronizationComplete();
56
+ await this.route53.deleteHostedZone({ input: { Id: hostedZone.id } }, options);
76
57
  }
77
58
  }
@@ -4,6 +4,7 @@ import { SimCfnRoute53RecordSetApplicator } from "./record-set/apply/sim-cfn-r53
4
4
  import { SimCfnRoute53KskCreator } from "./dnssec/sim-cfn-r53-ksk-creator.js";
5
5
  import { SimCfnRoute53ZoneSigningCreator } from "./dnssec/sim-cfn-r53-zone-signing-creator.js";
6
6
  import { SimCfnRoute53ResourceDeleter } from "./sim-cfn-route53-resource-deleter.js";
7
+ import { simCfnResourceCallerOptions } from "../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
7
8
  /**
8
9
  * CloudFormation Resource factory for simulated Route53 resources.
9
10
  */
@@ -21,6 +22,7 @@ export class SimRoute53CloudFormationResourceFactory {
21
22
  this.zoneSigningCreator = new SimCfnRoute53ZoneSigningCreator({ route53 });
22
23
  this.deleter = new SimCfnRoute53ResourceDeleter({
23
24
  route53,
25
+ recordSetCreator: this.recordSetCreator,
24
26
  keySigningKeyCreator: this.keySigningKeyCreator,
25
27
  zoneSigningCreator: this.zoneSigningCreator,
26
28
  });
@@ -29,18 +31,20 @@ export class SimRoute53CloudFormationResourceFactory {
29
31
  * Create a simulated Route53 resource from a CloudFormation Resource.
30
32
  */
31
33
  async create(resourceTypeName, resource, context) {
34
+ const properties = context.resolvedProperties ?? resource.properties;
35
+ const options = simCfnResourceCallerOptions(context.caller);
32
36
  switch (resourceTypeName) {
33
37
  case "HostedZone": {
34
- return await this.hostedZoneCreator.create(resource, context.resolvedProperties ?? resource.properties);
38
+ return await this.hostedZoneCreator.create(resource, properties, options);
35
39
  }
36
40
  case "RecordSet": {
37
- return await this.recordSetCreator.create(resource, context.resolvedProperties ?? resource.properties);
41
+ return await this.recordSetCreator.create(resource, properties, options);
38
42
  }
39
43
  case "KeySigningKey": {
40
- return await this.keySigningKeyCreator.create(resource, context.resolvedProperties ?? resource.properties);
44
+ return await this.keySigningKeyCreator.create(resource, properties, options);
41
45
  }
42
46
  case "DNSSEC": {
43
- return await this.zoneSigningCreator.create(resource, context.resolvedProperties ?? resource.properties);
47
+ return await this.zoneSigningCreator.create(resource, properties, options);
44
48
  }
45
49
  default: {
46
50
  throw new Error(`Unsupported sim Route53 CloudFormation Resource ${resourceTypeName}`);
@@ -51,6 +55,6 @@ export class SimRoute53CloudFormationResourceFactory {
51
55
  * Delete a simulated Route53 resource created from a CloudFormation Resource.
52
56
  */
53
57
  async delete(resourceTypeName, resource, context) {
54
- await this.deleter.delete(resourceTypeName, resource, context.resolvedProperties ?? resource.properties);
58
+ await this.deleter.delete(resourceTypeName, resource, context.resolvedProperties ?? resource.properties, simCfnResourceCallerOptions(context.caller));
55
59
  }
56
60
  }
@@ -33,6 +33,7 @@ export class ChangeResourceRecordSetsAuthorizer {
33
33
  if (decision.isDenied) {
34
34
  throw new SimIamAccessDenied({
35
35
  principal: decision.caller.principal,
36
+ reason: decision.denialReason,
36
37
  action: ChangeResourceRecordSetsAuthorizer.action,
37
38
  resource: hostedZoneArn,
38
39
  });
@@ -29,6 +29,7 @@ export class CreateHostedZoneAuthorizer {
29
29
  if (decision.isDenied) {
30
30
  throw new SimIamAccessDenied({
31
31
  principal: decision.caller.principal,
32
+ reason: decision.denialReason,
32
33
  action: CreateHostedZoneAuthorizer.action,
33
34
  resource: CreateHostedZoneAuthorizer.resource,
34
35
  });
@@ -27,6 +27,7 @@ export class DeleteHostedZoneAuthorizer {
27
27
  if (decision.isDenied) {
28
28
  throw new SimIamAccessDenied({
29
29
  principal: decision.caller.principal,
30
+ reason: decision.denialReason,
30
31
  action: DeleteHostedZoneAuthorizer.action,
31
32
  resource: hostedZoneArn,
32
33
  });
@@ -22,6 +22,7 @@ export class SimRoute53DnssecAuthorizer {
22
22
  if (decision.isDenied) {
23
23
  throw new SimIamAccessDenied({
24
24
  principal: decision.caller.principal,
25
+ reason: decision.denialReason,
25
26
  action,
26
27
  resource,
27
28
  });
@@ -31,6 +31,7 @@ export class GetHostedZoneAuthorizer {
31
31
  if (decision.isDenied) {
32
32
  throw new SimIamAccessDenied({
33
33
  principal: decision.caller.principal,
34
+ reason: decision.denialReason,
34
35
  action: GetHostedZoneAuthorizer.action,
35
36
  resource: hostedZoneArn,
36
37
  });
@@ -30,6 +30,7 @@ export class ListHostedZonesByNameAuthorizer {
30
30
  if (decision.isDenied) {
31
31
  throw new SimIamAccessDenied({
32
32
  principal: decision.caller.principal,
33
+ reason: decision.denialReason,
33
34
  action: ListHostedZonesByNameAuthorizer.action,
34
35
  resource: ListHostedZonesByNameAuthorizer.resource,
35
36
  });
@@ -33,6 +33,7 @@ export class ListResourceRecordSetsAuthorizer {
33
33
  if (decision.isDenied) {
34
34
  throw new SimIamAccessDenied({
35
35
  principal: decision.caller.principal,
36
+ reason: decision.denialReason,
36
37
  action: ListResourceRecordSetsAuthorizer.action,
37
38
  resource: hostedZoneArn,
38
39
  });
@@ -7,7 +7,7 @@ import type { SimRoute53HostedZoneId } from "./command/create-hosted-zone/sim-ro
7
7
  import { type BackgroundScheduler } from "../../util/background/background.js";
8
8
  import type { SimCfnServiceResourceFactory } from "../cloudformation/resource/factory/sim-cfn-resource-factory.type.js";
9
9
  import { SimRoute53Registry } from "./registry/sim-route53-registry.js";
10
- import { type SimIamInterServiceAuthZ } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
10
+ import type { SimIamInterServiceAuthZ } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
11
11
  import type { SimSdkCommandRouter } from "../../sdk/index.js";
12
12
  import type { SimKmsKeyResolver } from "../kms/registry/sim-kms-registry.js";
13
13
  import type { SimRoute53RequestOptions } from "./sim-route53-request-options.js";
@@ -3,7 +3,7 @@ import { registerSimRoute53HostedZone, } from "./hosted-zone/register-sim-route5
3
3
  import { BackgroundTasks, } from "../../util/background/background.js";
4
4
  import { SimRoute53CloudFormationResourceFactory } from "./cfn/sim-cfn-route53-resource-factory.js";
5
5
  import { SimRoute53Registry } from "./registry/sim-route53-registry.js";
6
- import { SimIamAllowAllAuth, } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
6
+ import { simIamGlobalServiceRegion, simIamInRegion, } from "../iam/authorize/sim-iam-region-auth-z.js";
7
7
  import { SimRoute53SdkCommandRouter } from "./sdk/sim-route53-sdk-command-router.js";
8
8
  import { SimRoute53Commands } from "./sim-route53-commands.js";
9
9
  /**
@@ -19,7 +19,10 @@ export class SimRoute53 {
19
19
  resolver;
20
20
  commands;
21
21
  constructor(properties = {}) {
22
- const { iam = new SimIamAllowAllAuth(), background = new BackgroundTasks(), route53Registry = new SimRoute53Registry(), } = properties;
22
+ const { background = new BackgroundTasks(), route53Registry = new SimRoute53Registry(), } = properties;
23
+ // Route53 is global rather than Region-scoped, so its requests are made in
24
+ // the Region its one endpoint is in.
25
+ const iam = simIamInRegion(properties.iam, simIamGlobalServiceRegion);
23
26
  this.route53Registry = route53Registry;
24
27
  this.resolver = new SimRoute53Resolver({
25
28
  hostedZones: route53Registry.hostedZones,
@@ -1,11 +1,13 @@
1
1
  import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
2
2
  import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
3
3
  import type { SimS3 } from "../../sim-s3.js";
4
+ import type { SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
4
5
  interface SimCfnS3BucketConfiguratorProperties {
5
6
  readonly simS3: SimS3;
6
7
  readonly resource: SimCfnResource;
7
8
  readonly properties: SimCfnTemplateValueRecord;
8
9
  readonly bucketName: string;
10
+ readonly options?: SimCfnResourceCallerOptions;
9
11
  }
10
12
  /**
11
13
  * Applies the configurations an AWS::S3::Bucket Resource declares to the
@@ -19,6 +21,7 @@ export declare class SimCfnS3BucketConfigurator {
19
21
  private readonly resource;
20
22
  private readonly properties;
21
23
  private readonly bucketName;
24
+ private readonly options;
22
25
  constructor(properties: SimCfnS3BucketConfiguratorProperties);
23
26
  /**
24
27
  * Apply every configuration the Resource declares.
@@ -14,11 +14,13 @@ export class SimCfnS3BucketConfigurator {
14
14
  resource;
15
15
  properties;
16
16
  bucketName;
17
+ options;
17
18
  constructor(properties) {
18
19
  this.simS3 = properties.simS3;
19
20
  this.resource = properties.resource;
20
21
  this.properties = properties.properties;
21
22
  this.bucketName = properties.bucketName;
23
+ this.options = properties.options;
22
24
  }
23
25
  /**
24
26
  * Apply every configuration the Resource declares.
@@ -38,9 +40,7 @@ export class SimCfnS3BucketConfigurator {
38
40
  if (config === undefined) {
39
41
  return;
40
42
  }
41
- await this.simS3.putBucketWebsite({
42
- input: { Bucket: this.bucketName, WebsiteConfiguration: config },
43
- });
43
+ await this.simS3.putBucketWebsite({ input: { Bucket: this.bucketName, WebsiteConfiguration: config } }, this.options);
44
44
  }
45
45
  async configurePublicAccess() {
46
46
  const config = new SimCfnS3BucketPublicAccessConfiguration(this.resource.logicalId, this.properties).read();
@@ -52,16 +52,14 @@ export class SimCfnS3BucketConfigurator {
52
52
  Bucket: this.bucketName,
53
53
  PublicAccessBlockConfiguration: config,
54
54
  },
55
- });
55
+ }, this.options);
56
56
  }
57
57
  async configureLifecycle() {
58
58
  const config = new SimCfnS3BucketLifecycleConfiguration(this.resource.logicalId, this.properties).read();
59
59
  if (config === undefined) {
60
60
  return;
61
61
  }
62
- await this.simS3.putBucketLifecycleConfiguration({
63
- input: { Bucket: this.bucketName, LifecycleConfiguration: config },
64
- });
62
+ await this.simS3.putBucketLifecycleConfiguration({ input: { Bucket: this.bucketName, LifecycleConfiguration: config } }, this.options);
65
63
  }
66
64
  async configureNotifications() {
67
65
  const declared = this.properties["NotificationConfiguration"];
@@ -69,11 +67,6 @@ export class SimCfnS3BucketConfigurator {
69
67
  return;
70
68
  }
71
69
  const config = new SimCfnS3BucketNotificationConfiguration(this.resource.logicalId).read(declared);
72
- await this.simS3.putBucketNotificationConfiguration({
73
- input: {
74
- Bucket: this.bucketName,
75
- NotificationConfiguration: config,
76
- },
77
- });
70
+ await this.simS3.putBucketNotificationConfiguration({ input: { Bucket: this.bucketName, NotificationConfiguration: config } }, this.options);
78
71
  }
79
72
  }
@@ -2,6 +2,7 @@ import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-re
2
2
  import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
3
3
  import type { SimS3 } from "../../sim-s3.js";
4
4
  import type { SimS3Bucket } from "../../bucket/sim-s3-bucket.js";
5
+ import type { SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
5
6
  interface SimCfnS3BucketCreatorProperties {
6
7
  readonly simS3: SimS3;
7
8
  }
@@ -19,7 +20,7 @@ export declare class SimCfnS3BucketCreator {
19
20
  * Resource and the Bucket is created without it. What each of the remaining
20
21
  * ones says is then checked as it is applied.
21
22
  */
22
- create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): Promise<SimS3Bucket>;
23
+ create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord, options?: SimCfnResourceCallerOptions): Promise<SimS3Bucket>;
23
24
  /**
24
25
  * A Resource without a BucketName is named after its logical id, rather than
25
26
  * the generated name real CloudFormation invents.
@@ -18,7 +18,7 @@ export class SimCfnS3BucketCreator {
18
18
  * Resource and the Bucket is created without it. What each of the remaining
19
19
  * ones says is then checked as it is applied.
20
20
  */
21
- async create(resource, properties) {
21
+ async create(resource, properties, options) {
22
22
  new SimCfnS3BucketPropertyRules({
23
23
  logicalId: resource.logicalId,
24
24
  properties,
@@ -26,7 +26,7 @@ export class SimCfnS3BucketCreator {
26
26
  }).apply();
27
27
  const bucketName = this.bucketNameForResource(resource, properties);
28
28
  validateS3BucketName(bucketName);
29
- await this.simS3.createBucket({ input: { Bucket: bucketName } });
29
+ await this.simS3.createBucket({ input: { Bucket: bucketName } }, options);
30
30
  const bucket = this.simS3.getSimBucketByName(bucketName);
31
31
  assertDefined(bucket, `sim S3 Bucket ${bucketName} after CloudFormation creation`);
32
32
  await new SimCfnS3BucketConfigurator({
@@ -34,6 +34,7 @@ export class SimCfnS3BucketCreator {
34
34
  resource,
35
35
  properties,
36
36
  bucketName,
37
+ options,
37
38
  }).configure();
38
39
  return bucket;
39
40
  }
@@ -2,6 +2,7 @@ import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-re
2
2
  import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
3
3
  import type { SimS3Bucket } from "../../bucket/sim-s3-bucket.js";
4
4
  import type { SimS3 } from "../../sim-s3.js";
5
+ import type { SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
5
6
  interface SimCfnS3BucketPolicyCreatorProperties {
6
7
  readonly simS3: SimS3;
7
8
  }
@@ -24,7 +25,7 @@ export declare class SimCfnS3BucketPolicyCreator {
24
25
  * because a Bucket policy has no existence of its own in S3: it is state on
25
26
  * the Bucket it is attached to.
26
27
  */
27
- create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): Promise<SimS3Bucket>;
28
+ create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord, options?: SimCfnResourceCallerOptions): Promise<SimS3Bucket>;
28
29
  private bucketNameForResource;
29
30
  private policyDocumentForResource;
30
31
  }
@@ -21,7 +21,7 @@ export class SimCfnS3BucketPolicyCreator {
21
21
  * because a Bucket policy has no existence of its own in S3: it is state on
22
22
  * the Bucket it is attached to.
23
23
  */
24
- async create(resource, properties) {
24
+ async create(resource, properties, options) {
25
25
  const bucketName = this.bucketNameForResource(resource, properties);
26
26
  const policyDocument = this.policyDocumentForResource(resource, properties);
27
27
  await this.simS3.putBucketPolicy({
@@ -29,7 +29,7 @@ export class SimCfnS3BucketPolicyCreator {
29
29
  Bucket: bucketName,
30
30
  Policy: jsonStringify(policyDocument),
31
31
  },
32
- });
32
+ }, options);
33
33
  const bucket = this.simS3.getSimBucketByName(bucketName);
34
34
  assertDefined(bucket, `sim S3 Bucket ${bucketName} after CloudFormation Bucket policy creation`);
35
35
  return bucket;
@@ -1,5 +1,6 @@
1
1
  import type { SimCfnResource } from "../../cloudformation/resource/sim-cfn-resource.js";
2
2
  import type { SimS3 } from "../sim-s3.js";
3
+ import type { SimCfnResourceCallerOptions } from "../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
3
4
  interface SimCfnS3ResourceDeleterProperties {
4
5
  readonly simS3: SimS3;
5
6
  }
@@ -19,7 +20,7 @@ export declare class SimCfnS3ResourceDeleter {
19
20
  /**
20
21
  * Delete a simulated S3 resource created from a CloudFormation Resource.
21
22
  */
22
- delete(resourceTypeName: string, resource: SimCfnResource): Promise<void>;
23
+ delete(resourceTypeName: string, resource: SimCfnResource, options?: SimCfnResourceCallerOptions): Promise<void>;
23
24
  /**
24
25
  * The Bucket a Resource was created against.
25
26
  *
@@ -17,18 +17,14 @@ export class SimCfnS3ResourceDeleter {
17
17
  /**
18
18
  * Delete a simulated S3 resource created from a CloudFormation Resource.
19
19
  */
20
- async delete(resourceTypeName, resource) {
20
+ async delete(resourceTypeName, resource, options) {
21
21
  switch (resourceTypeName) {
22
22
  case "Bucket": {
23
- await this.simS3.deleteBucket({
24
- input: { Bucket: this.bucketName(resource) },
25
- });
23
+ await this.simS3.deleteBucket({ input: { Bucket: this.bucketName(resource) } }, options);
26
24
  return;
27
25
  }
28
26
  case "BucketPolicy": {
29
- await this.simS3.deleteBucketPolicy({
30
- input: { Bucket: this.bucketName(resource) },
31
- });
27
+ await this.simS3.deleteBucketPolicy({ input: { Bucket: this.bucketName(resource) } }, options);
32
28
  return;
33
29
  }
34
30
  default: {
@@ -1,4 +1,4 @@
1
- import type { SimCfnResource, SimCloudFormationResourceCreateContext } from "../../cloudformation/resource/sim-cfn-resource.js";
1
+ import type { SimCfnResource, SimCloudFormationResourceCreateContext, SimCloudFormationResourceDeleteContext } from "../../cloudformation/resource/sim-cfn-resource.js";
2
2
  import type { SimS3 } from "../sim-s3.js";
3
3
  import type { SimCfnServiceResourceFactory } from "../../cloudformation/resource/factory/sim-cfn-resource-factory.type.js";
4
4
  /**
@@ -16,5 +16,5 @@ export declare class SimS3CloudFormationResourceFactory implements SimCfnService
16
16
  /**
17
17
  * Delete a simulated S3 resource created from a CloudFormation Resource.
18
18
  */
19
- delete(resourceTypeName: string, resource: SimCfnResource): Promise<void>;
19
+ delete(resourceTypeName: string, resource: SimCfnResource, context: SimCloudFormationResourceDeleteContext): Promise<void>;
20
20
  }
@@ -1,6 +1,7 @@
1
1
  import { SimCfnS3BucketCreator } from "./bucket/sim-cfn-s3-bucket-creator.js";
2
2
  import { SimCfnS3BucketPolicyCreator } from "./bucket-policy/sim-cfn-s3-bucket-policy-creator.js";
3
3
  import { SimCfnS3ResourceDeleter } from "./sim-cfn-s3-resource-deleter.js";
4
+ import { simCfnResourceCallerOptions } from "../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
4
5
  /**
5
6
  * CloudFormation Resource factory for simulated S3 resources.
6
7
  */
@@ -17,12 +18,13 @@ export class SimS3CloudFormationResourceFactory {
17
18
  * Create a simulated S3 resource from a CloudFormation Resource.
18
19
  */
19
20
  async create(resourceTypeName, resource, context) {
21
+ const options = simCfnResourceCallerOptions(context.caller);
20
22
  switch (resourceTypeName) {
21
23
  case "Bucket": {
22
- return await this.bucketCreator.create(resource, context.resolvedProperties ?? resource.properties);
24
+ return await this.bucketCreator.create(resource, context.resolvedProperties ?? resource.properties, options);
23
25
  }
24
26
  case "BucketPolicy": {
25
- return await this.bucketPolicyCreator.create(resource, context.resolvedProperties ?? resource.properties);
27
+ return await this.bucketPolicyCreator.create(resource, context.resolvedProperties ?? resource.properties, options);
26
28
  }
27
29
  default: {
28
30
  throw new Error(`Unsupported sim S3 CloudFormation Resource ${resourceTypeName}`);
@@ -32,7 +34,7 @@ export class SimS3CloudFormationResourceFactory {
32
34
  /**
33
35
  * Delete a simulated S3 resource created from a CloudFormation Resource.
34
36
  */
35
- async delete(resourceTypeName, resource) {
36
- await this.deleter.delete(resourceTypeName, resource);
37
+ async delete(resourceTypeName, resource, context) {
38
+ await this.deleter.delete(resourceTypeName, resource, simCfnResourceCallerOptions(context.caller));
37
39
  }
38
40
  }
@@ -44,6 +44,7 @@ export class CreateBucketCommandHandler {
44
44
  if (decision.isDenied) {
45
45
  throw new SimIamAccessDenied({
46
46
  principal: decision.caller.principal,
47
+ reason: decision.denialReason,
47
48
  action: "s3:CreateBucket",
48
49
  resource,
49
50
  });
@@ -30,6 +30,7 @@ export class DeleteBucketAuthorizer {
30
30
  if (decision.isDenied) {
31
31
  throw new SimIamAccessDenied({
32
32
  principal: decision.caller.principal,
33
+ reason: decision.denialReason,
33
34
  action: DeleteBucketAuthorizer.action,
34
35
  resource,
35
36
  });
@@ -29,6 +29,7 @@ export class DeleteBucketPolicyAuthorizer {
29
29
  if (decision.isDenied) {
30
30
  throw new SimIamAccessDenied({
31
31
  principal: decision.caller.principal,
32
+ reason: decision.denialReason,
32
33
  action: DeleteBucketPolicyAuthorizer.action,
33
34
  resource,
34
35
  });
@@ -38,6 +38,7 @@ export class DeleteObjectAuthorizer {
38
38
  if (decision.isDenied) {
39
39
  throw new SimIamAccessDenied({
40
40
  principal: decision.caller.principal,
41
+ reason: decision.denialReason,
41
42
  action: DeleteObjectAuthorizer.action,
42
43
  resource,
43
44
  });
@@ -26,6 +26,7 @@ export class GetBucketPolicyAuthorizer {
26
26
  if (decision.isDenied) {
27
27
  throw new SimIamAccessDenied({
28
28
  principal: decision.caller.principal,
29
+ reason: decision.denialReason,
29
30
  action: GetBucketPolicyAuthorizer.action,
30
31
  resource,
31
32
  });