@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,40 @@
1
+ import type { SimAwsAccountId } from "../../aws/sim-aws-account.js";
2
+ import type { SimOrganizationsNodeId, SimOrganizationsRootId } from "../tree/sim-organizations-node.js";
3
+ /**
4
+ * What a template's `AWS::Organizations::Organization` produced.
5
+ *
6
+ * A simulated organization exists as soon as a SimAws does, so this records
7
+ * the one already there rather than making another. What the Resource is for
8
+ * is the values a template reads back off it, `RootId` above all, since that
9
+ * is how an organizational unit says where it hangs.
10
+ */
11
+ export declare class SimCfnOrganization {
12
+ readonly rootId: SimOrganizationsRootId;
13
+ readonly featureSet: string;
14
+ readonly managementAccountId: SimAwsAccountId;
15
+ constructor(rootId: SimOrganizationsRootId, featureSet: string, managementAccountId: SimAwsAccountId);
16
+ /**
17
+ * AWS gives an organization an `o-` id of its own, apart from its root's.
18
+ */
19
+ get id(): string;
20
+ }
21
+ /**
22
+ * What a template's `AWS::Organizations::Account` produced.
23
+ */
24
+ export declare class SimCfnOrganizationsAccount {
25
+ readonly accountId: SimAwsAccountId;
26
+ readonly accountName: string;
27
+ readonly email: string;
28
+ readonly joinedTimestamp: Date;
29
+ constructor(accountId: SimAwsAccountId, accountName: string, email: string, joinedTimestamp: Date);
30
+ }
31
+ /**
32
+ * What a template's `AWS::Organizations::Policy` produced.
33
+ */
34
+ export declare class SimCfnOrganizationsPolicy {
35
+ readonly id: string;
36
+ readonly name: string;
37
+ readonly policyType: string;
38
+ readonly targetIds: readonly SimOrganizationsNodeId[];
39
+ constructor(id: string, name: string, policyType: string, targetIds: readonly SimOrganizationsNodeId[]);
40
+ }
@@ -0,0 +1,54 @@
1
+ /**
2
+ * What a template's `AWS::Organizations::Organization` produced.
3
+ *
4
+ * A simulated organization exists as soon as a SimAws does, so this records
5
+ * the one already there rather than making another. What the Resource is for
6
+ * is the values a template reads back off it, `RootId` above all, since that
7
+ * is how an organizational unit says where it hangs.
8
+ */
9
+ export class SimCfnOrganization {
10
+ rootId;
11
+ featureSet;
12
+ managementAccountId;
13
+ constructor(rootId, featureSet, managementAccountId) {
14
+ this.rootId = rootId;
15
+ this.featureSet = featureSet;
16
+ this.managementAccountId = managementAccountId;
17
+ }
18
+ /**
19
+ * AWS gives an organization an `o-` id of its own, apart from its root's.
20
+ */
21
+ get id() {
22
+ return `o-${this.rootId.slice(2)}`;
23
+ }
24
+ }
25
+ /**
26
+ * What a template's `AWS::Organizations::Account` produced.
27
+ */
28
+ export class SimCfnOrganizationsAccount {
29
+ accountId;
30
+ accountName;
31
+ email;
32
+ joinedTimestamp;
33
+ constructor(accountId, accountName, email, joinedTimestamp) {
34
+ this.accountId = accountId;
35
+ this.accountName = accountName;
36
+ this.email = email;
37
+ this.joinedTimestamp = joinedTimestamp;
38
+ }
39
+ }
40
+ /**
41
+ * What a template's `AWS::Organizations::Policy` produced.
42
+ */
43
+ export class SimCfnOrganizationsPolicy {
44
+ id;
45
+ name;
46
+ policyType;
47
+ targetIds;
48
+ constructor(id, name, policyType, targetIds) {
49
+ this.id = id;
50
+ this.name = name;
51
+ this.policyType = policyType;
52
+ this.targetIds = targetIds;
53
+ }
54
+ }
@@ -0,0 +1,17 @@
1
+ import type { SimAws } from "../../aws/sim-aws.js";
2
+ import type { SimCfnResource } from "../../cloudformation/resource/sim-cfn-resource.js";
3
+ /**
4
+ * Takes back what an `AWS::Organizations::*` Resource did.
5
+ *
6
+ * A Stack tears down in reverse dependency order, so a policy comes off before
7
+ * the unit it was attached to goes, and a unit goes before the root it hung
8
+ * on. Each Resource here undoes its own step and nothing else.
9
+ */
10
+ export declare class SimCfnOrganizationsRemover {
11
+ #private;
12
+ constructor(simAws: SimAws);
13
+ /**
14
+ * Undo one Resource.
15
+ */
16
+ remove(resourceTypeName: string, resource: SimCfnResource): void;
17
+ }
@@ -0,0 +1,40 @@
1
+ import { SimCfnOrganizationsAccount, SimCfnOrganizationsPolicy, } from "./sim-cfn-organizations-record.js";
2
+ import { SimOrganizationsOrganizationalUnit } from "../tree/sim-organizations-node.js";
3
+ /**
4
+ * Takes back what an `AWS::Organizations::*` Resource did.
5
+ *
6
+ * A Stack tears down in reverse dependency order, so a policy comes off before
7
+ * the unit it was attached to goes, and a unit goes before the root it hung
8
+ * on. Each Resource here undoes its own step and nothing else.
9
+ */
10
+ export class SimCfnOrganizationsRemover {
11
+ #simAws;
12
+ constructor(simAws) {
13
+ this.#simAws = simAws;
14
+ }
15
+ /**
16
+ * Undo one Resource.
17
+ */
18
+ remove(resourceTypeName, resource) {
19
+ const simResource = resource.simResource;
20
+ const organizations = this.#simAws.organizations();
21
+ if (simResource instanceof SimCfnOrganizationsPolicy) {
22
+ for (const targetId of simResource.targetIds) {
23
+ organizations.detachServiceControlPolicy(targetId, simResource.id);
24
+ }
25
+ return;
26
+ }
27
+ if (simResource instanceof SimCfnOrganizationsAccount) {
28
+ organizations.removeAccount(simResource.accountId);
29
+ return;
30
+ }
31
+ if (simResource instanceof SimOrganizationsOrganizationalUnit) {
32
+ organizations.removeOrganizationalUnit(simResource);
33
+ return;
34
+ }
35
+ if (resourceTypeName !== "Organization") {
36
+ throw new Error(`Unsupported sim Organizations CloudFormation Resource ` +
37
+ `${resourceTypeName} deletion`);
38
+ }
39
+ }
40
+ }
@@ -0,0 +1,24 @@
1
+ import type { SimCfnServiceResourceFactory } from "../../cloudformation/resource/factory/sim-cfn-resource-factory.type.js";
2
+ import type { SimCfnResource, SimCloudFormationResourceCreateContext, SimCloudFormationResourceDeleteContext } from "../../cloudformation/resource/sim-cfn-resource.js";
3
+ /**
4
+ * CloudFormation Resource factory for simulated Organizations resources.
5
+ *
6
+ * An organization belongs to a whole SimAws rather than to the Account and
7
+ * Region scope a Stack deploys into, so this reads the organization off the
8
+ * creation context instead of being handed one. That leaves the factory with
9
+ * no state and lets one serve every scope.
10
+ *
11
+ * `AWS::Organizations::ResourcePolicy` is left out, along with every policy
12
+ * type but `SERVICE_CONTROL_POLICY`, and a template declaring either is
13
+ * recorded as a skipped Resource.
14
+ */
15
+ export declare class SimOrganizationsCfnResourceFactory implements SimCfnServiceResourceFactory {
16
+ /**
17
+ * Create a simulated Organizations resource from a CloudFormation Resource.
18
+ */
19
+ create(resourceTypeName: string, resource: SimCfnResource, context: SimCloudFormationResourceCreateContext): Promise<object | undefined>;
20
+ /**
21
+ * Remove a simulated Organizations resource a Stack created.
22
+ */
23
+ delete(resourceTypeName: string, resource: SimCfnResource, context: SimCloudFormationResourceDeleteContext): Promise<void>;
24
+ }
@@ -0,0 +1,50 @@
1
+ import { SimCfnOrganizationCreator } from "./sim-cfn-organization-creator.js";
2
+ import { SimCfnOrganizationalUnitCreator } from "./sim-cfn-organizational-unit-creator.js";
3
+ import { SimCfnOrganizationsAccountCreator } from "./sim-cfn-organizations-account-creator.js";
4
+ import { SimCfnOrganizationsPolicyCreator } from "./sim-cfn-organizations-policy-creator.js";
5
+ import { SimCfnOrganizationsRemover } from "./sim-cfn-organizations-remover.js";
6
+ /**
7
+ * CloudFormation Resource factory for simulated Organizations resources.
8
+ *
9
+ * An organization belongs to a whole SimAws rather than to the Account and
10
+ * Region scope a Stack deploys into, so this reads the organization off the
11
+ * creation context instead of being handed one. That leaves the factory with
12
+ * no state and lets one serve every scope.
13
+ *
14
+ * `AWS::Organizations::ResourcePolicy` is left out, along with every policy
15
+ * type but `SERVICE_CONTROL_POLICY`, and a template declaring either is
16
+ * recorded as a skipped Resource.
17
+ */
18
+ export class SimOrganizationsCfnResourceFactory {
19
+ /**
20
+ * Create a simulated Organizations resource from a CloudFormation Resource.
21
+ */
22
+ create(resourceTypeName, resource, context) {
23
+ const properties = context.resolvedProperties ?? resource.properties;
24
+ const { simAws } = context;
25
+ switch (resourceTypeName) {
26
+ case "Organization": {
27
+ return Promise.resolve(new SimCfnOrganizationCreator(simAws).create(resource, properties));
28
+ }
29
+ case "OrganizationalUnit": {
30
+ return Promise.resolve(new SimCfnOrganizationalUnitCreator(simAws).create(resource, properties));
31
+ }
32
+ case "Account": {
33
+ return Promise.resolve(new SimCfnOrganizationsAccountCreator(simAws).create(resource, properties));
34
+ }
35
+ case "Policy": {
36
+ return Promise.resolve(new SimCfnOrganizationsPolicyCreator(simAws).create(resource, properties));
37
+ }
38
+ default: {
39
+ throw new Error(`Unsupported sim Organizations CloudFormation Resource ${resourceTypeName}`);
40
+ }
41
+ }
42
+ }
43
+ /**
44
+ * Remove a simulated Organizations resource a Stack created.
45
+ */
46
+ delete(resourceTypeName, resource, context) {
47
+ new SimCfnOrganizationsRemover(context.simAws).remove(resourceTypeName, resource);
48
+ return Promise.resolve();
49
+ }
50
+ }
@@ -0,0 +1,6 @@
1
+ export { SimOrganizations, type SimOrganizationsAttachOptions, } from "./sim-organizations.js";
2
+ export { SimOrganizationsStructure } from "./sim-organizations-structure.js";
3
+ export { SIM_ORGANIZATIONS_FULL_AWS_ACCESS, SimOrganizationsScpStore, } from "./policy/sim-organizations-scp-store.js";
4
+ export { SimOrganizationsEffectivePolicies } from "./policy/sim-organizations-effective-policies.js";
5
+ export { makeSimOrganizationsOrganizationalUnitId, makeSimOrganizationsRootId, SimOrganizationsOrganizationalUnit, type SimOrganizationsNodeId, type SimOrganizationsOrganizationalUnitId, SimOrganizationsRoot, type SimOrganizationsRootId, type SimOrganizationsTarget, } from "./tree/sim-organizations-node.js";
6
+ export { SimOrganizationsTree, SimOrganizationsUnknownNode, } from "./tree/sim-organizations-tree.js";
@@ -0,0 +1,6 @@
1
+ export { SimOrganizations, } from "./sim-organizations.js";
2
+ export { SimOrganizationsStructure } from "./sim-organizations-structure.js";
3
+ export { SIM_ORGANIZATIONS_FULL_AWS_ACCESS, SimOrganizationsScpStore, } from "./policy/sim-organizations-scp-store.js";
4
+ export { SimOrganizationsEffectivePolicies } from "./policy/sim-organizations-effective-policies.js";
5
+ export { makeSimOrganizationsOrganizationalUnitId, makeSimOrganizationsRootId, SimOrganizationsOrganizationalUnit, SimOrganizationsRoot, } from "./tree/sim-organizations-node.js";
6
+ export { SimOrganizationsTree, SimOrganizationsUnknownNode, } from "./tree/sim-organizations-tree.js";
@@ -0,0 +1,43 @@
1
+ import type { SimAwsAccountId } from "../../aws/sim-aws-account.js";
2
+ import type { SimIamServiceControlPolicySet } from "../../iam/authorize/scp/sim-iam-scp-resolver.js";
3
+ import type { SimOrganizationsTree } from "../tree/sim-organizations-tree.js";
4
+ import type { SimOrganizationsScpStore } from "./sim-organizations-scp-store.js";
5
+ interface SimOrganizationsEffectivePoliciesProperties {
6
+ readonly tree: SimOrganizationsTree;
7
+ readonly scpStore: SimOrganizationsScpStore;
8
+ }
9
+ /**
10
+ * Works out which service control policies an Account is actually subject to.
11
+ *
12
+ * The tree says which nodes lie above an Account and the store says what hangs
13
+ * on each of them. Putting the two together is the whole of what sim IAM asks
14
+ * an organization, so it lives here rather than in the facade.
15
+ */
16
+ export declare class SimOrganizationsEffectivePolicies {
17
+ private readonly tree;
18
+ private readonly scpStore;
19
+ private managementAccountId?;
20
+ constructor(properties: SimOrganizationsEffectivePoliciesProperties);
21
+ /**
22
+ * Name the Account AWS exempts from every service control policy.
23
+ */
24
+ setManagementAccount(accountId: SimAwsAccountId): void;
25
+ /**
26
+ * The policies in force for an Account, level by level, root first.
27
+ */
28
+ setFor(accountId: SimAwsAccountId): SimIamServiceControlPolicySet;
29
+ /**
30
+ * The nodes filtering an Account's requests.
31
+ *
32
+ * An Account placed in the organization is filtered by the path down to it.
33
+ * An Account only ever named by having a policy attached to it is filtered
34
+ * by that policy alone, which is what attaching to an Account meant before
35
+ * the organization had a shape.
36
+ */
37
+ private pathFor;
38
+ /**
39
+ * What one node contributes to an Account's decision.
40
+ */
41
+ private levelAt;
42
+ }
43
+ export {};
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Works out which service control policies an Account is actually subject to.
3
+ *
4
+ * The tree says which nodes lie above an Account and the store says what hangs
5
+ * on each of them. Putting the two together is the whole of what sim IAM asks
6
+ * an organization, so it lives here rather than in the facade.
7
+ */
8
+ export class SimOrganizationsEffectivePolicies {
9
+ tree;
10
+ scpStore;
11
+ managementAccountId;
12
+ constructor(properties) {
13
+ this.tree = properties.tree;
14
+ this.scpStore = properties.scpStore;
15
+ }
16
+ /**
17
+ * Name the Account AWS exempts from every service control policy.
18
+ */
19
+ setManagementAccount(accountId) {
20
+ this.managementAccountId = accountId;
21
+ }
22
+ /**
23
+ * The policies in force for an Account, level by level, root first.
24
+ */
25
+ setFor(accountId) {
26
+ if (accountId === this.managementAccountId) {
27
+ return { applies: false, levels: [] };
28
+ }
29
+ const path = this.pathFor(accountId);
30
+ if (path.length === 0) {
31
+ return { applies: false, levels: [] };
32
+ }
33
+ return { applies: true, levels: path.map((node) => this.levelAt(node)) };
34
+ }
35
+ /**
36
+ * The nodes filtering an Account's requests.
37
+ *
38
+ * An Account placed in the organization is filtered by the path down to it.
39
+ * An Account only ever named by having a policy attached to it is filtered
40
+ * by that policy alone, which is what attaching to an Account meant before
41
+ * the organization had a shape.
42
+ */
43
+ pathFor(accountId) {
44
+ if (this.tree.holds(accountId)) {
45
+ return this.tree.pathTo(accountId);
46
+ }
47
+ return this.scpStore.holds(accountId) ? [accountId] : [];
48
+ }
49
+ /**
50
+ * What one node contributes to an Account's decision.
51
+ */
52
+ levelAt(nodeId) {
53
+ return {
54
+ nodeName: this.tree.nameOf(nodeId),
55
+ policies: this.scpStore.policiesAt(nodeId),
56
+ };
57
+ }
58
+ }
@@ -0,0 +1,61 @@
1
+ import type { SimIamServiceControlPolicy } from "../../iam/authorize/scp/sim-iam-scp-resolver.js";
2
+ import type { SimIamPolicyDocument } from "../../iam/policy/sim-iam-policy.js";
3
+ import type { SimOrganizationsNodeId } from "../tree/sim-organizations-node.js";
4
+ /**
5
+ * The AWS-managed policy attached to every organization node by default.
6
+ *
7
+ * Turning service control policies on in an organization leaves every
8
+ * account's permissions as they were, because this policy comes with them. A
9
+ * simulated node gets the same treatment, so attaching one Deny statement
10
+ * denies that one action and leaves the rest working.
11
+ */
12
+ export declare const SIM_ORGANIZATIONS_FULL_AWS_ACCESS: SimIamServiceControlPolicy;
13
+ /**
14
+ * The service control policies attached to each node of an organization.
15
+ *
16
+ * A node holds FullAWSAccess along with whatever was attached to it, until a
17
+ * test detaches FullAWSAccess to write an allow list at that node. A node
18
+ * nothing was attached to still holds FullAWSAccess, so an organizational unit
19
+ * a test never mentions allows everything through it.
20
+ */
21
+ export declare class SimOrganizationsScpStore {
22
+ private readonly byNodeId;
23
+ /**
24
+ * Attach a service control policy to a node under an id of its own.
25
+ *
26
+ * The id is what takes the policy off again. One policy attached to several
27
+ * nodes carries the same id at each of them, the way an AWS policy attached
28
+ * to several targets is one policy.
29
+ */
30
+ attach(nodeId: SimOrganizationsNodeId, policyId: string, document: SimIamPolicyDocument, policyName?: string): void;
31
+ /**
32
+ * Take one service control policy off a node, leaving the rest.
33
+ *
34
+ * A node can hold policies from more than one source, so taking the wrong
35
+ * ones off would change what an Account may do behind the caller's back.
36
+ */
37
+ detach(nodeId: SimOrganizationsNodeId, policyId: string): void;
38
+ /**
39
+ * Take the AWS-managed FullAWSAccess policy off a node.
40
+ *
41
+ * What remains at that node has to allow an action for a request through it
42
+ * to go ahead, which is how a level is turned into an allow list.
43
+ */
44
+ detachFullAwsAccess(nodeId: SimOrganizationsNodeId): void;
45
+ /**
46
+ * Put a node back to holding FullAWSAccess and nothing else.
47
+ */
48
+ detachAll(nodeId: SimOrganizationsNodeId): void;
49
+ /**
50
+ * The policies in force at one node, FullAWSAccess first.
51
+ */
52
+ policiesAt(nodeId: SimOrganizationsNodeId): readonly SimIamServiceControlPolicy[];
53
+ /**
54
+ * Whether anything has been attached to or detached from a node.
55
+ */
56
+ holds(nodeId: SimOrganizationsNodeId): boolean;
57
+ /**
58
+ * The record for a node, created on first use.
59
+ */
60
+ private nodePolicies;
61
+ }
@@ -0,0 +1,103 @@
1
+ /**
2
+ * The AWS-managed policy attached to every organization node by default.
3
+ *
4
+ * Turning service control policies on in an organization leaves every
5
+ * account's permissions as they were, because this policy comes with them. A
6
+ * simulated node gets the same treatment, so attaching one Deny statement
7
+ * denies that one action and leaves the rest working.
8
+ */
9
+ export const SIM_ORGANIZATIONS_FULL_AWS_ACCESS = {
10
+ policyName: "FullAWSAccess",
11
+ document: {
12
+ Version: "2012-10-17",
13
+ Statement: { Effect: "Allow", Action: "*", Resource: "*" },
14
+ },
15
+ };
16
+ /**
17
+ * The service control policies attached to each node of an organization.
18
+ *
19
+ * A node holds FullAWSAccess along with whatever was attached to it, until a
20
+ * test detaches FullAWSAccess to write an allow list at that node. A node
21
+ * nothing was attached to still holds FullAWSAccess, so an organizational unit
22
+ * a test never mentions allows everything through it.
23
+ */
24
+ export class SimOrganizationsScpStore {
25
+ byNodeId = new Map();
26
+ /**
27
+ * Attach a service control policy to a node under an id of its own.
28
+ *
29
+ * The id is what takes the policy off again. One policy attached to several
30
+ * nodes carries the same id at each of them, the way an AWS policy attached
31
+ * to several targets is one policy.
32
+ */
33
+ attach(nodeId, policyId, document, policyName) {
34
+ this.nodePolicies(nodeId).attached.push({
35
+ policyId,
36
+ policy: { document, policyName },
37
+ });
38
+ }
39
+ /**
40
+ * Take one service control policy off a node, leaving the rest.
41
+ *
42
+ * A node can hold policies from more than one source, so taking the wrong
43
+ * ones off would change what an Account may do behind the caller's back.
44
+ */
45
+ detach(nodeId, policyId) {
46
+ const node = this.byNodeId.get(nodeId);
47
+ if (node === undefined) {
48
+ return;
49
+ }
50
+ const remaining = node.attached.filter((attached) => attached.policyId !== policyId);
51
+ node.attached.length = 0;
52
+ node.attached.push(...remaining);
53
+ }
54
+ /**
55
+ * Take the AWS-managed FullAWSAccess policy off a node.
56
+ *
57
+ * What remains at that node has to allow an action for a request through it
58
+ * to go ahead, which is how a level is turned into an allow list.
59
+ */
60
+ detachFullAwsAccess(nodeId) {
61
+ this.nodePolicies(nodeId).fullAwsAccess = false;
62
+ }
63
+ /**
64
+ * Put a node back to holding FullAWSAccess and nothing else.
65
+ */
66
+ detachAll(nodeId) {
67
+ this.byNodeId.delete(nodeId);
68
+ }
69
+ /**
70
+ * The policies in force at one node, FullAWSAccess first.
71
+ */
72
+ policiesAt(nodeId) {
73
+ const node = this.byNodeId.get(nodeId);
74
+ if (node === undefined) {
75
+ return [SIM_ORGANIZATIONS_FULL_AWS_ACCESS];
76
+ }
77
+ const attached = node.attached.map((entry) => entry.policy);
78
+ return node.fullAwsAccess
79
+ ? [SIM_ORGANIZATIONS_FULL_AWS_ACCESS, ...attached]
80
+ : attached;
81
+ }
82
+ /**
83
+ * Whether anything has been attached to or detached from a node.
84
+ */
85
+ holds(nodeId) {
86
+ return this.byNodeId.has(nodeId);
87
+ }
88
+ /**
89
+ * The record for a node, created on first use.
90
+ */
91
+ nodePolicies(nodeId) {
92
+ const existing = this.byNodeId.get(nodeId);
93
+ if (existing !== undefined) {
94
+ return existing;
95
+ }
96
+ const created = {
97
+ attached: [],
98
+ fullAwsAccess: true,
99
+ };
100
+ this.byNodeId.set(nodeId, created);
101
+ return created;
102
+ }
103
+ }
@@ -0,0 +1,94 @@
1
+ import { SimOrganizationsEffectivePolicies } from "./policy/sim-organizations-effective-policies.js";
2
+ import { SimOrganizationsScpStore } from "./policy/sim-organizations-scp-store.js";
3
+ import { type SimOrganizationsNodeId, type SimOrganizationsOrganizationalUnit, type SimOrganizationsRoot, type SimOrganizationsTarget } from "./tree/sim-organizations-node.js";
4
+ import { SimOrganizationsTree } from "./tree/sim-organizations-tree.js";
5
+ /**
6
+ * The shape of one simulated organization: its root, the organizational units
7
+ * under it, and where its Accounts sit.
8
+ *
9
+ * SimOrganizations is the facade a test reaches through, and this is the half
10
+ * of it concerned with structure. The policies that hang on that structure are
11
+ * the other half.
12
+ */
13
+ export declare abstract class SimOrganizationsStructure {
14
+ protected readonly scpStore: SimOrganizationsScpStore;
15
+ protected readonly tree: SimOrganizationsTree;
16
+ protected readonly effectivePolicies: SimOrganizationsEffectivePolicies;
17
+ /**
18
+ * The root of this organization, which every Account sits under.
19
+ */
20
+ root(): SimOrganizationsRoot;
21
+ /**
22
+ * Create an organizational unit, under the root unless a parent unit is
23
+ * given.
24
+ */
25
+ createOrganizationalUnit(name: string, parent?: SimOrganizationsTarget): SimOrganizationsOrganizationalUnit;
26
+ /**
27
+ * Put an Account in the organization, under an organizational unit or under
28
+ * the root.
29
+ */
30
+ moveAccount(accountId: string, parent?: SimOrganizationsTarget): void;
31
+ /**
32
+ * Name the Account that pays the organization's bills.
33
+ *
34
+ * AWS exempts the management account from every service control policy, and
35
+ * so does this. An Account named here is decided by its identity and
36
+ * resource policies alone, whatever is attached above it.
37
+ */
38
+ setManagementAccount(accountId: string): void;
39
+ /**
40
+ * Every Account this organization holds.
41
+ *
42
+ * A test tracking down where a denial came from reads this to see which
43
+ * Accounts the organization is filtering at all.
44
+ */
45
+ accountIds(): readonly string[];
46
+ /**
47
+ * Take an Account out of the organization.
48
+ *
49
+ * Nothing then filters its requests, whatever is attached above where it
50
+ * sat. This is how an Account leaves an organization, and it is a different
51
+ * thing from taking the policies off it.
52
+ */
53
+ removeAccount(accountId: string): void;
54
+ /**
55
+ * Take an organizational unit out of the organization.
56
+ *
57
+ * Anything still under it moves up to its parent, so every Account keeps a
58
+ * path back to the root.
59
+ */
60
+ removeOrganizationalUnit(target: SimOrganizationsTarget): void;
61
+ /**
62
+ * The node a target names.
63
+ *
64
+ * An Account is named by its twelve-digit id and needs no place in the
65
+ * organization yet, because attaching a policy to one is what puts it there.
66
+ * A root or organizational unit, whether given as a handle or as the `r-` or
67
+ * `ou-` id a template carries, has to be this organization's own. One from
68
+ * another organization is refused rather than attached to and never read.
69
+ */
70
+ protected nodeIdOf(target: SimOrganizationsTarget): SimOrganizationsNodeId;
71
+ /**
72
+ * Refuse the whole set unless every target names a node this organization
73
+ * has.
74
+ *
75
+ * Attaching one policy to several nodes is one act, so it either reaches all
76
+ * of them or none. Failing partway would leave a policy attached where
77
+ * nothing knows to take it off.
78
+ */
79
+ requireTargets(targets: readonly SimOrganizationsTarget[]): void;
80
+ /**
81
+ * The node a target names, or nothing where this organization has no such
82
+ * node.
83
+ *
84
+ * Taking something off a node that has already gone is what a Stack teardown
85
+ * asks for when a unit came down before the policy pointing at it. There is
86
+ * nothing to take off, and refusing would fail a teardown over work already
87
+ * done.
88
+ */
89
+ protected knownNodeIdOf(target: SimOrganizationsTarget): SimOrganizationsNodeId | undefined;
90
+ /**
91
+ * The node something sits under, defaulting to the root.
92
+ */
93
+ private parentIdOf;
94
+ }