@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
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Refuse an attribute the AWS Resource reference does not list.
3
+ */
4
+ function unknownAttribute(resourceType, attributeName) {
5
+ throw new Error(`AWS::Organizations::${resourceType} has no attribute ${attributeName}`);
6
+ }
7
+ /**
8
+ * CloudFormation-facing values for a simulated organization.
9
+ */
10
+ export class SimOrganizationCfn {
11
+ organization;
12
+ constructor(organization) {
13
+ this.organization = organization;
14
+ }
15
+ /**
16
+ * AWS::Organizations::Organization Ref returns the organization id.
17
+ */
18
+ refValue() {
19
+ return this.organization.id;
20
+ }
21
+ /**
22
+ * The attributes the AWS Resource reference lists, less the management
23
+ * account email, which a simulation has no address for.
24
+ */
25
+ attributeValue(attributeName) {
26
+ const { organization } = this;
27
+ const values = new Map([
28
+ ["Id", organization.id],
29
+ [
30
+ "Arn",
31
+ `arn:aws:organizations::${organization.managementAccountId}:organization/${organization.id}`,
32
+ ],
33
+ ["RootId", organization.rootId],
34
+ ["ManagementAccountId", organization.managementAccountId],
35
+ [
36
+ "ManagementAccountArn",
37
+ `arn:aws:organizations::${organization.managementAccountId}:account/${organization.id}/${organization.managementAccountId}`,
38
+ ],
39
+ ]);
40
+ return (values.get(attributeName) ??
41
+ unknownAttribute("Organization", attributeName));
42
+ }
43
+ }
44
+ /**
45
+ * CloudFormation-facing values for a simulated organizational unit.
46
+ */
47
+ export class SimOrganizationalUnitCfn {
48
+ unit;
49
+ constructor(unit) {
50
+ this.unit = unit;
51
+ }
52
+ /**
53
+ * AWS::Organizations::OrganizationalUnit Ref returns the unit id.
54
+ */
55
+ refValue() {
56
+ return this.unit.id;
57
+ }
58
+ /**
59
+ * Id, Arn and Name, as the AWS Resource reference lists.
60
+ */
61
+ attributeValue(attributeName) {
62
+ const { unit } = this;
63
+ const values = new Map([
64
+ ["Id", unit.id],
65
+ ["Arn", `arn:aws:organizations::organizational-unit/${unit.id}`],
66
+ ["Name", unit.name],
67
+ ]);
68
+ return (values.get(attributeName) ??
69
+ unknownAttribute("OrganizationalUnit", attributeName));
70
+ }
71
+ }
72
+ /**
73
+ * CloudFormation-facing values for an Account a template put in the
74
+ * organization.
75
+ */
76
+ export class SimOrganizationsAccountCfn {
77
+ account;
78
+ constructor(account) {
79
+ this.account = account;
80
+ }
81
+ /**
82
+ * AWS::Organizations::Account Ref returns the Account id.
83
+ */
84
+ refValue() {
85
+ return this.account.accountId;
86
+ }
87
+ /**
88
+ * The attributes the AWS Resource reference lists.
89
+ */
90
+ attributeValue(attributeName) {
91
+ const { account } = this;
92
+ const values = new Map([
93
+ ["AccountId", account.accountId],
94
+ [
95
+ "Arn",
96
+ `arn:aws:organizations::${account.accountId}:account/${account.accountId}`,
97
+ ],
98
+ ["Email", account.email],
99
+ ["AccountName", account.accountName],
100
+ ["JoinedMethod", "CREATED"],
101
+ ["JoinedTimestamp", account.joinedTimestamp.toISOString()],
102
+ ["Status", "ACTIVE"],
103
+ ]);
104
+ return (values.get(attributeName) ?? unknownAttribute("Account", attributeName));
105
+ }
106
+ }
107
+ /**
108
+ * CloudFormation-facing values for a simulated service control policy.
109
+ */
110
+ export class SimOrganizationsPolicyCfn {
111
+ policy;
112
+ constructor(policy) {
113
+ this.policy = policy;
114
+ }
115
+ /**
116
+ * AWS::Organizations::Policy Ref returns the policy id.
117
+ */
118
+ refValue() {
119
+ return this.policy.id;
120
+ }
121
+ /**
122
+ * Id, Arn and AwsManaged, as the AWS Resource reference lists.
123
+ */
124
+ attributeValue(attributeName) {
125
+ const { policy } = this;
126
+ const values = new Map([
127
+ ["Id", policy.id],
128
+ [
129
+ "Arn",
130
+ `arn:aws:organizations::policy/service_control_policy/${policy.id}`,
131
+ ],
132
+ ["AwsManaged", false],
133
+ ]);
134
+ return (values.get(attributeName) ?? unknownAttribute("Policy", attributeName));
135
+ }
136
+ }
@@ -1,3 +1,4 @@
1
+ import { SimSchedulerScheduleGroup } from "../../../../scheduler/group/sim-scheduler-schedule-group.js";
1
2
  import { SimSchedulerSchedule } from "../../../../scheduler/schedule/sim-scheduler-schedule.js";
2
3
  /**
3
4
  * CloudFormation-facing values for a simulated schedule.
@@ -23,6 +24,51 @@ class SimSchedulerScheduleCfn {
23
24
  throw new Error(`Unsupported AWS::Scheduler::Schedule attribute ${attributeName}`);
24
25
  }
25
26
  }
27
+ /**
28
+ * CloudFormation-facing values for a simulated schedule group.
29
+ *
30
+ * `Arn` is the one worth having. An identity policy granting `scheduler:`
31
+ * actions on the group names it, and so does the `aws:SourceArn` condition AWS
32
+ * recommends in a schedule execution role's trust policy.
33
+ */
34
+ class SimSchedulerScheduleGroupCfn {
35
+ group;
36
+ constructor(properties) {
37
+ this.group = properties.group;
38
+ }
39
+ /**
40
+ * AWS::Scheduler::ScheduleGroup Ref returns the group's name.
41
+ */
42
+ refValue() {
43
+ return this.group.name;
44
+ }
45
+ /**
46
+ * AWS::Scheduler::ScheduleGroup attributes.
47
+ *
48
+ * The two dates come back as ISO strings. A template value is JSON, so there
49
+ * is nowhere for a `Date` to go, and every other date CloudFormation hands
50
+ * back is a string too.
51
+ */
52
+ attributeValue(attributeName) {
53
+ switch (attributeName) {
54
+ case "Arn": {
55
+ return this.group.arn;
56
+ }
57
+ case "State": {
58
+ return this.group.state;
59
+ }
60
+ case "CreationDate": {
61
+ return this.group.creationDate.toISOString();
62
+ }
63
+ case "LastModificationDate": {
64
+ return this.group.lastModificationDate.toISOString();
65
+ }
66
+ default: {
67
+ throw new Error(`Unsupported AWS::Scheduler::ScheduleGroup attribute ${attributeName}`);
68
+ }
69
+ }
70
+ }
71
+ }
26
72
  /**
27
73
  * The CloudFormation-facing value adapter for a simulated Scheduler Resource.
28
74
  */
@@ -31,5 +77,9 @@ export function schedulerValueAdapter(properties) {
31
77
  properties.simResource instanceof SimSchedulerSchedule) {
32
78
  return new SimSchedulerScheduleCfn({ schedule: properties.simResource });
33
79
  }
80
+ if (properties.type === "AWS::Scheduler::ScheduleGroup" &&
81
+ properties.simResource instanceof SimSchedulerScheduleGroup) {
82
+ return new SimSchedulerScheduleGroupCfn({ group: properties.simResource });
83
+ }
34
84
  return undefined;
35
85
  }
@@ -18,6 +18,7 @@ import { iamValueAdapter } from "./iam/sim-iam-cfn-value-adapter.js";
18
18
  import { kinesisValueAdapter } from "./kinesis/sim-kinesis-cfn-value-adapter.js";
19
19
  import { kmsValueAdapter } from "./kms/sim-kms-cfn-value-adapter.js";
20
20
  import { lambdaValueAdapter } from "./lambda/sim-lambda-cfn-value-adapter.js";
21
+ import { organizationsValueAdapter } from "./organizations/sim-organizations-cfn-value-adapter.js";
21
22
  import { personalizeValueAdapter } from "./personalize/sim-personalize-cfn-value-adapter.js";
22
23
  import { route53ValueAdapter } from "./route53/sim-route53-cfn-value-adapter.js";
23
24
  import { s3ValueAdapter } from "./s3/sim-s3-cfn-value-adapter.js";
@@ -60,6 +61,7 @@ export const simCfnServiceValueAdapters = [
60
61
  kinesisValueAdapter,
61
62
  kmsValueAdapter,
62
63
  lambdaValueAdapter,
64
+ organizationsValueAdapter,
63
65
  personalizeValueAdapter,
64
66
  route53ValueAdapter,
65
67
  s3ValueAdapter,
@@ -1,4 +1,5 @@
1
1
  import { SimCfnCfnResourceFactory } from "../../factory/sim-cfn-cfn-resource-factory.js";
2
+ import { SimOrganizationsCfnResourceFactory } from "../../../../organizations/cfn/sim-organizations-cfn-resource-factory.js";
2
3
  /**
3
4
  * Certificates arrive under two service names. `AWS::CertificateManager::*` is
4
5
  * the real one, and `AWS::ACM::*` is the shorthand some templates use, so both
@@ -34,6 +35,12 @@ export const simCfnServiceResourceFactories = new Map([
34
35
  "CloudFormation",
35
36
  () => new SimCfnCfnResourceFactory(),
36
37
  ],
38
+ // An organization spans Accounts, so this factory reads the one on the
39
+ // creation context rather than the Account and Region scope it deploys into.
40
+ [
41
+ "Organizations",
42
+ () => new SimOrganizationsCfnResourceFactory(),
43
+ ],
37
44
  [
38
45
  "CloudFront",
39
46
  (scopedAws) => scopedAws.cloudFront().cfnResourceFactory(),
@@ -1,4 +1,5 @@
1
1
  import type { SimAws } from "../../aws/sim-aws.js";
2
+ import type { SimAwsCaller } from "../../aws/caller/sim-aws-caller.js";
2
3
  import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
3
4
  import type { BackgroundScheduler } from "../../../util/background/background.js";
4
5
  import type { SimCfnServiceResourceFactory } from "./factory/sim-cfn-resource-factory.type.js";
@@ -50,6 +51,15 @@ export interface SimCloudFormationResourceCreateContext {
50
51
  readonly resolvedProperties?: SimCfnTemplateValueRecord | undefined;
51
52
  readonly cdkOutContext?: SimCdkOutContext | undefined;
52
53
  readonly bindings?: readonly SimCfnBinding[] | undefined;
54
+ /**
55
+ * The principal the deployment runs as, which every service command creating
56
+ * a Resource is authorized as.
57
+ *
58
+ * Left out unless the deployment named one, which leaves each service to its
59
+ * own omitted-caller default: the Account root, as it is everywhere else in
60
+ * the simulation.
61
+ */
62
+ readonly caller?: SimAwsCaller | undefined;
53
63
  }
54
64
  /**
55
65
  * What a service is given to delete a Resource it created.
@@ -64,4 +74,6 @@ export interface SimCloudFormationResourceDeleteContext {
64
74
  readonly simAws: SimAws;
65
75
  readonly resources: ReadonlyMap<string, SimCfnResource>;
66
76
  readonly resolvedProperties?: SimCfnTemplateValueRecord | undefined;
77
+ /** The principal the teardown runs as, as creation carries it. */
78
+ readonly caller?: SimAwsCaller | undefined;
67
79
  }
@@ -12,7 +12,7 @@ import type { SimCloudFormationDeployTemplateFileProperties as SimCloudFormation
12
12
  import type { SimCloudFormationDeployCdkOutProperties } from "./deploy/sim-cfn-cdk-out-deployer.js";
13
13
  import type { SimSdkCommandRouter } from "../../sdk/index.js";
14
14
  import type { SimAwsCaller } from "../aws/caller/sim-aws-caller.js";
15
- import { type SimIamInterServiceAuthZ } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
15
+ import type { SimIamInterServiceAuthZ } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
16
16
  /**
17
17
  * Options accepted by simulated CloudFormation command operations.
18
18
  */
@@ -8,7 +8,7 @@ import { simAwsAccountRegionScopeFactory } from "../aws/sim-aws-account-region-s
8
8
  import { SimCfnExports } from "./export/sim-cfn-exports.js";
9
9
  import { SimCloudFormationSdkCommandRouter } from "./sdk/sim-cloudformation-sdk-command-router.js";
10
10
  import { SimCloudFormationAuthorization } from "./authorize/sim-cloudformation-authorization.js";
11
- import { SimIamAllowAllAuth, } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
11
+ import { simIamInRegion } from "../iam/authorize/sim-iam-region-auth-z.js";
12
12
  /**
13
13
  * Simulated CloudFormation in one AWS Account and Region.
14
14
  */
@@ -22,7 +22,8 @@ export class SimCloudFormation {
22
22
  sdkRouter = new SimCloudFormationSdkCommandRouter(this);
23
23
  authorization;
24
24
  constructor(properties) {
25
- const { simAws, accountRegionScope = simAwsAccountRegionScopeFactory.make(), iam = new SimIamAllowAllAuth(), background, } = properties;
25
+ const { simAws, accountRegionScope = simAwsAccountRegionScopeFactory.make(), background, } = properties;
26
+ const iam = simIamInRegion(properties.iam, accountRegionScope.regionName);
26
27
  this.simAws = simAws;
27
28
  this.background = background;
28
29
  this.accountRegionScope = accountRegionScope;
@@ -1,4 +1,5 @@
1
1
  import type { SimAws } from "../../../aws/sim-aws.js";
2
+ import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
2
3
  import type { SimCfnBinding } from "../../bind/sim-cfn-binding.js";
3
4
  import type { SimCdkOutContext } from "../../cdk/sim-cdk-out-context.js";
4
5
  import type { SimCfnResource } from "../../resource/sim-cfn-resource.js";
@@ -7,6 +8,7 @@ interface SimCfnStackResourceBatchCreatorProperties {
7
8
  readonly resources: ReadonlyMap<string, SimCfnResource>;
8
9
  readonly cdkOutContext?: SimCdkOutContext | undefined;
9
10
  readonly bindings?: readonly SimCfnBinding[] | undefined;
11
+ readonly caller?: SimAwsCaller | undefined;
10
12
  }
11
13
  /**
12
14
  * Creates one dependency-ready batch of Stack Resources.
@@ -27,6 +29,7 @@ export declare class SimCfnStackResourceBatchCreator {
27
29
  private readonly resources;
28
30
  private readonly cdkOutContext;
29
31
  private readonly bindings;
32
+ private readonly caller;
30
33
  constructor(properties: SimCfnStackResourceBatchCreatorProperties);
31
34
  /**
32
35
  * Create the supplied Resources concurrently.
@@ -17,12 +17,14 @@ export class SimCfnStackResourceBatchCreator {
17
17
  resources;
18
18
  cdkOutContext;
19
19
  bindings;
20
+ caller;
20
21
  constructor(properties) {
21
- const { simAws, resources, cdkOutContext, bindings } = properties;
22
+ const { simAws, resources, cdkOutContext, bindings, caller } = properties;
22
23
  this.simAws = simAws;
23
24
  this.resources = resources;
24
25
  this.cdkOutContext = cdkOutContext;
25
26
  this.bindings = bindings;
27
+ this.caller = caller;
26
28
  }
27
29
  /**
28
30
  * Create the supplied Resources concurrently.
@@ -37,6 +39,7 @@ export class SimCfnStackResourceBatchCreator {
37
39
  resources: this.resources,
38
40
  cdkOutContext: this.cdkOutContext,
39
41
  bindings: this.bindings,
42
+ caller: this.caller,
40
43
  });
41
44
  }));
42
45
  }
@@ -1,4 +1,5 @@
1
1
  import type { SimAws } from "../../../aws/sim-aws.js";
2
+ import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
2
3
  import type { SimCfnResource } from "../../resource/sim-cfn-resource.js";
3
4
  import type { SimCdkOutContext } from "../../cdk/sim-cdk-out-context.js";
4
5
  import type { SimCfnBinding } from "../../bind/sim-cfn-binding.js";
@@ -8,6 +9,7 @@ interface SimCfnStackResourceCreatorProperties {
8
9
  readonly stackName: string;
9
10
  readonly cdkOutContext?: SimCdkOutContext | undefined;
10
11
  readonly bindings?: readonly SimCfnBinding[] | undefined;
12
+ readonly caller?: SimAwsCaller | undefined;
11
13
  }
12
14
  /**
13
15
  * Orchestrates dependency-ordered creation of a Stack's simulated Resources.
@@ -21,7 +21,7 @@ export class SimCfnStackResourceCreator {
21
21
  stackName;
22
22
  batchCreator;
23
23
  constructor(properties) {
24
- const { simAws, resources, stackName, cdkOutContext, bindings } = properties;
24
+ const { simAws, resources, stackName, cdkOutContext, bindings, caller } = properties;
25
25
  this.resources = resources;
26
26
  this.stackName = stackName;
27
27
  this.batchCreator = new SimCfnStackResourceBatchCreator({
@@ -29,6 +29,7 @@ export class SimCfnStackResourceCreator {
29
29
  resources,
30
30
  cdkOutContext,
31
31
  bindings,
32
+ caller,
32
33
  });
33
34
  }
34
35
  /**
@@ -1,5 +1,6 @@
1
1
  import type { BackgroundScheduler } from "../../../util/background/background.js";
2
2
  import type { SimAws } from "../../aws/sim-aws.js";
3
+ import type { SimAwsCaller } from "../../aws/caller/sim-aws-caller.js";
3
4
  import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
4
5
  import type { SimCfnBinding } from "../bind/sim-cfn-binding.js";
5
6
  import type { SimCdkOutContext } from "../cdk/sim-cdk-out-context.js";
@@ -19,6 +20,11 @@ interface SimCfnStackResourceOperationsProperties {
19
20
  readonly stackName: SimCloudFormationStackName;
20
21
  readonly cdkOutContext?: SimCdkOutContext | undefined;
21
22
  readonly bindings?: readonly SimCfnBinding[] | undefined;
23
+ /**
24
+ * The principal the Stack's Resource work is authorized as. An omitted
25
+ * caller leaves each service to decide the request as the Account root.
26
+ */
27
+ readonly caller?: SimAwsCaller | undefined;
22
28
  }
23
29
  /**
24
30
  * What a Stack can ask simulated AWS to do with its Resources.
@@ -39,16 +45,25 @@ export declare class SimCfnStackResourceOperations {
39
45
  private readonly stackName;
40
46
  private readonly bindings;
41
47
  private cdkOutContext;
48
+ private caller;
42
49
  constructor(properties: SimCfnStackResourceOperationsProperties);
43
50
  /**
44
- * Read Resources from a different CDK cloud assembly from now on.
51
+ * Take on what an update brings with it, for this and every later operation.
45
52
  *
46
53
  * A synthesis writes the template and the assets manifest beside it together,
47
54
  * so a Stack updated from a re-synthesized template needs the manifest that
48
55
  * came with it. Keeping the one the Stack was deployed from would look up the
49
56
  * asset a replaced Resource names in a manifest written before it existed.
57
+ *
58
+ * An update naming a caller runs as that one, and the Stack is torn down as
59
+ * it afterwards. An update that names none keeps the deployment's caller, so
60
+ * a Stack updated from a plain template path goes on running as whoever
61
+ * deployed it.
50
62
  */
51
- useCdkOutContext(cdkOutContext: SimCdkOutContext): void;
63
+ useUpdate(properties: {
64
+ readonly cdkOutContext?: SimCdkOutContext | undefined;
65
+ readonly caller?: SimAwsCaller | undefined;
66
+ }): void;
52
67
  /**
53
68
  * Create every Resource in the given Stack Resource map.
54
69
  */
@@ -21,24 +21,32 @@ export class SimCfnStackResourceOperations {
21
21
  stackName;
22
22
  bindings;
23
23
  cdkOutContext;
24
+ caller;
24
25
  constructor(properties) {
25
- const { simAws, accountRegionScope, stackName, cdkOutContext, bindings } = properties;
26
+ const { simAws, accountRegionScope, stackName, cdkOutContext, bindings, caller, } = properties;
26
27
  this.simAws = simAws;
27
28
  this.accountRegionScope = accountRegionScope;
28
29
  this.stackName = stackName;
29
30
  this.cdkOutContext = cdkOutContext;
30
31
  this.bindings = bindings;
32
+ this.caller = caller;
31
33
  }
32
34
  /**
33
- * Read Resources from a different CDK cloud assembly from now on.
35
+ * Take on what an update brings with it, for this and every later operation.
34
36
  *
35
37
  * A synthesis writes the template and the assets manifest beside it together,
36
38
  * so a Stack updated from a re-synthesized template needs the manifest that
37
39
  * came with it. Keeping the one the Stack was deployed from would look up the
38
40
  * asset a replaced Resource names in a manifest written before it existed.
41
+ *
42
+ * An update naming a caller runs as that one, and the Stack is torn down as
43
+ * it afterwards. An update that names none keeps the deployment's caller, so
44
+ * a Stack updated from a plain template path goes on running as whoever
45
+ * deployed it.
39
46
  */
40
- useCdkOutContext(cdkOutContext) {
41
- this.cdkOutContext = cdkOutContext;
47
+ useUpdate(properties) {
48
+ this.cdkOutContext = properties.cdkOutContext ?? this.cdkOutContext;
49
+ this.caller = properties.caller ?? this.caller;
42
50
  }
43
51
  /**
44
52
  * Create every Resource in the given Stack Resource map.
@@ -87,6 +95,7 @@ export class SimCfnStackResourceOperations {
87
95
  accountRegionScope: this.accountRegionScope,
88
96
  stackName: this.stackName,
89
97
  cdkOutContext: this.cdkOutContext,
98
+ caller: this.caller,
90
99
  }).publish();
91
100
  }
92
101
  creator(resources) {
@@ -96,6 +105,7 @@ export class SimCfnStackResourceOperations {
96
105
  stackName: this.stackName,
97
106
  cdkOutContext: this.cdkOutContext,
98
107
  bindings: this.bindings,
108
+ caller: this.caller,
99
109
  });
100
110
  }
101
111
  deleter(resources) {
@@ -103,6 +113,7 @@ export class SimCfnStackResourceOperations {
103
113
  simAws: this.simAws,
104
114
  resources,
105
115
  stackName: this.stackName,
116
+ caller: this.caller,
106
117
  });
107
118
  }
108
119
  }
@@ -38,7 +38,7 @@ export class SimCfnStack {
38
38
  stackOutputs;
39
39
  cfnTemplate;
40
40
  constructor(properties) {
41
- const { simAws, accountRegionScope, background, stackName, template, cdkOutContext, bindings, exports, } = properties;
41
+ const { simAws, accountRegionScope, background, stackName, template, cdkOutContext, bindings, caller, exports, } = properties;
42
42
  this.background = background;
43
43
  this.stackName = stackName;
44
44
  this.stackOutputs = new SimCfnStackOutputs({ stackName, exports });
@@ -60,6 +60,7 @@ export class SimCfnStack {
60
60
  stackName,
61
61
  cdkOutContext,
62
62
  bindings,
63
+ caller,
63
64
  });
64
65
  this.lifecycle = new SimCfnStackDeploymentLifecycle({
65
66
  background,
@@ -128,10 +129,9 @@ export class SimCfnStack {
128
129
  });
129
130
  updater.assertHasChanges();
130
131
  // Only once the update is going ahead, so a refused update leaves the Stack
131
- // reading the cloud assembly it was deployed from.
132
- if (properties.cdkOutContext !== undefined) {
133
- this.operations.useCdkOutContext(properties.cdkOutContext);
134
- }
132
+ // reading the cloud assembly it was deployed from and running as whoever
133
+ // deployed it.
134
+ this.operations.useUpdate(properties);
135
135
  this.cfnTemplate = template;
136
136
  this.template = template.template;
137
137
  await this.updating.update(async () => {
@@ -1,4 +1,5 @@
1
1
  import type { SimAws } from "../../aws/sim-aws.js";
2
+ import type { SimAwsCaller } from "../../aws/caller/sim-aws-caller.js";
2
3
  import type { Brand } from "../../../util/brand.type.js";
3
4
  import type { BackgroundScheduler } from "../../../util/background/background.js";
4
5
  import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
@@ -16,6 +17,11 @@ export interface SimCfnStackUpdateProperties {
16
17
  * describes the assembly the previous template came from.
17
18
  */
18
19
  readonly cdkOutContext?: SimCdkOutContext | undefined;
20
+ /**
21
+ * The principal to apply the new template as, for an update that names one.
22
+ * The Stack goes on using it, as it does the cloud assembly.
23
+ */
24
+ readonly caller?: SimAwsCaller | undefined;
19
25
  }
20
26
  export interface SimCloudFormationStackProperties {
21
27
  readonly simAws: SimAws;
@@ -25,6 +31,12 @@ export interface SimCloudFormationStackProperties {
25
31
  readonly template: SimCfnTemplate;
26
32
  readonly cdkOutContext?: SimCdkOutContext | undefined;
27
33
  readonly bindings?: readonly SimCfnBinding[] | undefined;
34
+ /**
35
+ * The principal this Stack's Resources are created, updated and deleted as.
36
+ * An omitted caller is the Account root, as it is everywhere else in the
37
+ * simulation.
38
+ */
39
+ readonly caller?: SimAwsCaller | undefined;
28
40
  /**
29
41
  * The export names published in the Account and Region this Stack deploys
30
42
  * into. This Stack publishes its own Outputs here and reads the ones its
@@ -1,8 +1,10 @@
1
1
  import type { SimAws } from "../../../aws/sim-aws.js";
2
+ import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
2
3
  import type { SimCfnResource } from "../../resource/sim-cfn-resource.js";
3
4
  interface SimCfnStackResourceBatchDeleterProperties {
4
5
  readonly simAws: SimAws;
5
6
  readonly resources: ReadonlyMap<string, SimCfnResource>;
7
+ readonly caller?: SimAwsCaller | undefined;
6
8
  }
7
9
  /**
8
10
  * Deletes one batch of Stack Resources nothing still depends on.
@@ -17,6 +19,7 @@ interface SimCfnStackResourceBatchDeleterProperties {
17
19
  export declare class SimCfnStackResourceBatchDeleter {
18
20
  private readonly simAws;
19
21
  private readonly resources;
22
+ private readonly caller;
20
23
  constructor(properties: SimCfnStackResourceBatchDeleterProperties);
21
24
  /**
22
25
  * Delete the supplied Resources concurrently.
@@ -11,9 +11,11 @@
11
11
  export class SimCfnStackResourceBatchDeleter {
12
12
  simAws;
13
13
  resources;
14
+ caller;
14
15
  constructor(properties) {
15
16
  this.simAws = properties.simAws;
16
17
  this.resources = properties.resources;
18
+ this.caller = properties.caller;
17
19
  }
18
20
  /**
19
21
  * Delete the supplied Resources concurrently.
@@ -25,6 +27,7 @@ export class SimCfnStackResourceBatchDeleter {
25
27
  await resource.delete({
26
28
  simAws: this.simAws,
27
29
  resources: this.resources,
30
+ caller: this.caller,
28
31
  });
29
32
  }));
30
33
  }
@@ -1,9 +1,11 @@
1
1
  import type { SimAws } from "../../../aws/sim-aws.js";
2
+ import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
2
3
  import type { SimCfnResource } from "../../resource/sim-cfn-resource.js";
3
4
  interface SimCfnStackResourceDeleterProperties {
4
5
  readonly simAws: SimAws;
5
6
  readonly resources: ReadonlyMap<string, SimCfnResource>;
6
7
  readonly stackName: string;
8
+ readonly caller?: SimAwsCaller | undefined;
7
9
  }
8
10
  /**
9
11
  * Orchestrates reverse-dependency-ordered deletion of a Stack's Resources.
@@ -20,12 +20,13 @@ export class SimCfnStackResourceDeleter {
20
20
  stackName;
21
21
  batchDeleter;
22
22
  constructor(properties) {
23
- const { simAws, resources, stackName } = properties;
23
+ const { simAws, resources, stackName, caller } = properties;
24
24
  this.resources = resources;
25
25
  this.stackName = stackName;
26
26
  this.batchDeleter = new SimCfnStackResourceBatchDeleter({
27
27
  simAws,
28
28
  resources,
29
+ caller,
29
30
  });
30
31
  }
31
32
  /**
@@ -2,6 +2,7 @@ import type { SimCfnResource, SimCloudFormationResourceCreateContext } from "../
2
2
  import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
3
3
  import type { SimCloudFront } from "../../sim-cloudfront.js";
4
4
  import type { SimCloudFrontFunction } from "../../cff/sim-cloudfront-function.js";
5
+ import { type SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
5
6
  interface SimCfnCfFunctionCreatorProperties {
6
7
  readonly cloudFront: SimCloudFront;
7
8
  }
@@ -33,5 +34,9 @@ export declare class SimCfnCffCreator {
33
34
  * executable handler while preserving CloudFormation-style Resource creation.
34
35
  */
35
36
  create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord, context?: SimCloudFormationResourceCreateContext): Promise<SimCloudFrontFunction>;
37
+ /**
38
+ * Delete the Function an AWS::CloudFront::Function Resource created.
39
+ */
40
+ delete(resource: SimCfnResource, options?: SimCfnResourceCallerOptions): Promise<void>;
36
41
  }
37
42
  export {};
@@ -1,5 +1,6 @@
1
1
  import { assertDefined } from "../../../../util/type-guard/defined.js";
2
2
  import { SimCfnCffCreateInputBuilder } from "./sim-cfn-cff-create-input-builder.js";
3
+ import { simCfnResourceCallerOptions, } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
3
4
  /**
4
5
  * Creates simulated CloudFront Functions for AWS::CloudFront::Function
5
6
  * CloudFormation Resources.
@@ -36,13 +37,19 @@ export class SimCfnCffCreator {
36
37
  bindings: context?.bindings,
37
38
  });
38
39
  const functionInput = inputBuilder.build();
39
- const output = await this.cloudFront.createFunction({
40
- input: functionInput,
41
- });
40
+ const output = await this.cloudFront.createFunction({ input: functionInput }, simCfnResourceCallerOptions(context?.caller));
42
41
  const createdFunctionName = output.FunctionSummary
43
42
  .Name;
44
43
  const cloudFrontFunction = this.cloudFront.getCloudFrontFunctionByName(createdFunctionName);
45
44
  assertDefined(cloudFrontFunction, `Expected sim CloudFront Function ${createdFunctionName} to exist after CloudFormation creation`);
46
45
  return cloudFrontFunction;
47
46
  }
47
+ /**
48
+ * Delete the Function an AWS::CloudFront::Function Resource created.
49
+ */
50
+ async delete(resource, options) {
51
+ const cloudFrontFunction = resource.simResource;
52
+ assertDefined(cloudFrontFunction, `sim CloudFront Function for CloudFormation Resource ${resource.logicalId}`);
53
+ await this.cloudFront.deleteFunction({ input: { Name: cloudFrontFunction.name } }, options);
54
+ }
48
55
  }