@kensio/yulin 1.16.3 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (611) hide show
  1. package/README.md +1 -0
  2. package/dist/sdk/wire/sim-sdk-wire-response.d.ts +12 -0
  3. package/dist/sdk/wire/sim-sdk-wire-response.d.ts.map +1 -1
  4. package/dist/sdk/wire/sim-sdk-wire-response.js +2 -2
  5. package/dist/sdk/wire/sim-sdk-wire-response.js.map +1 -1
  6. package/dist/serve/http/api/query/sim-query-endpoint.d.ts +42 -0
  7. package/dist/serve/http/api/query/sim-query-endpoint.d.ts.map +1 -0
  8. package/dist/serve/http/api/query/sim-query-endpoint.js +55 -0
  9. package/dist/serve/http/api/query/sim-query-endpoint.js.map +1 -0
  10. package/dist/serve/http/api/query/sim-query-operation.d.ts +19 -0
  11. package/dist/serve/http/api/query/sim-query-operation.d.ts.map +1 -0
  12. package/dist/serve/http/api/query/sim-query-operation.js +2 -0
  13. package/dist/serve/http/api/query/sim-query-operation.js.map +1 -0
  14. package/dist/serve/http/api/query/sim-query-request.d.ts +85 -0
  15. package/dist/serve/http/api/query/sim-query-request.d.ts.map +1 -0
  16. package/dist/serve/http/api/query/sim-query-request.js +136 -0
  17. package/dist/serve/http/api/query/sim-query-request.js.map +1 -0
  18. package/dist/serve/http/api/query/sim-query-response.d.ts +35 -0
  19. package/dist/serve/http/api/query/sim-query-response.d.ts.map +1 -0
  20. package/dist/serve/http/api/query/sim-query-response.js +63 -0
  21. package/dist/serve/http/api/query/sim-query-response.js.map +1 -0
  22. package/dist/serve/http/api/query/sim-query-result.d.ts +33 -0
  23. package/dist/serve/http/api/query/sim-query-result.d.ts.map +1 -0
  24. package/dist/serve/http/api/query/sim-query-result.js +87 -0
  25. package/dist/serve/http/api/query/sim-query-result.js.map +1 -0
  26. package/dist/serve/http/api/rest-json/sim-rest-json-endpoint.d.ts +40 -0
  27. package/dist/serve/http/api/rest-json/sim-rest-json-endpoint.d.ts.map +1 -0
  28. package/dist/serve/http/api/rest-json/sim-rest-json-endpoint.js +67 -0
  29. package/dist/serve/http/api/rest-json/sim-rest-json-endpoint.js.map +1 -0
  30. package/dist/serve/http/api/rest-json/sim-rest-json-input.d.ts +45 -0
  31. package/dist/serve/http/api/rest-json/sim-rest-json-input.d.ts.map +1 -0
  32. package/dist/serve/http/api/rest-json/sim-rest-json-input.js +52 -0
  33. package/dist/serve/http/api/rest-json/sim-rest-json-input.js.map +1 -0
  34. package/dist/serve/http/api/rest-json/sim-rest-json-request.d.ts +58 -0
  35. package/dist/serve/http/api/rest-json/sim-rest-json-request.d.ts.map +1 -0
  36. package/dist/serve/http/api/rest-json/sim-rest-json-request.js +68 -0
  37. package/dist/serve/http/api/rest-json/sim-rest-json-request.js.map +1 -0
  38. package/dist/serve/http/api/rest-json/sim-rest-json-response.d.ts +35 -0
  39. package/dist/serve/http/api/rest-json/sim-rest-json-response.d.ts.map +1 -0
  40. package/dist/serve/http/api/rest-json/sim-rest-json-response.js +55 -0
  41. package/dist/serve/http/api/rest-json/sim-rest-json-response.js.map +1 -0
  42. package/dist/serve/http/api/rest-json/sim-rest-json-route.type.d.ts +37 -0
  43. package/dist/serve/http/api/rest-json/sim-rest-json-route.type.d.ts.map +1 -0
  44. package/dist/serve/http/api/rest-json/sim-rest-json-route.type.js +2 -0
  45. package/dist/serve/http/api/rest-json/sim-rest-json-route.type.js.map +1 -0
  46. package/dist/serve/http/api/rest-json/sim-rest-json-routes.d.ts +27 -0
  47. package/dist/serve/http/api/rest-json/sim-rest-json-routes.d.ts.map +1 -0
  48. package/dist/serve/http/api/rest-json/sim-rest-json-routes.js +51 -0
  49. package/dist/serve/http/api/rest-json/sim-rest-json-routes.js.map +1 -0
  50. package/dist/serve/http/api/sim-aws-api-endpoint.d.ts +3 -4
  51. package/dist/serve/http/api/sim-aws-api-endpoint.d.ts.map +1 -1
  52. package/dist/serve/http/api/sim-aws-api-endpoint.js +8 -23
  53. package/dist/serve/http/api/sim-aws-api-endpoint.js.map +1 -1
  54. package/dist/serve/http/api/sim-aws-api-protocols.d.ts +13 -0
  55. package/dist/serve/http/api/sim-aws-api-protocols.d.ts.map +1 -0
  56. package/dist/serve/http/api/sim-aws-api-protocols.js +41 -0
  57. package/dist/serve/http/api/sim-aws-api-protocols.js.map +1 -0
  58. package/dist/service/cloudformation/cdk/sim-cdk-assembly-manifest-file.d.ts +29 -0
  59. package/dist/service/cloudformation/cdk/sim-cdk-assembly-manifest-file.d.ts.map +1 -0
  60. package/dist/service/cloudformation/cdk/sim-cdk-assembly-manifest-file.js +36 -0
  61. package/dist/service/cloudformation/cdk/sim-cdk-assembly-manifest-file.js.map +1 -0
  62. package/dist/service/cloudformation/cdk/sim-cdk-assembly-manifest.d.ts +27 -0
  63. package/dist/service/cloudformation/cdk/sim-cdk-assembly-manifest.d.ts.map +1 -0
  64. package/dist/service/cloudformation/cdk/sim-cdk-assembly-manifest.js +24 -0
  65. package/dist/service/cloudformation/cdk/sim-cdk-assembly-manifest.js.map +1 -0
  66. package/dist/service/cloudformation/cdk/sim-cdk-assembly-order.d.ts +12 -0
  67. package/dist/service/cloudformation/cdk/sim-cdk-assembly-order.d.ts.map +1 -0
  68. package/dist/service/cloudformation/cdk/sim-cdk-assembly-order.js +54 -0
  69. package/dist/service/cloudformation/cdk/sim-cdk-assembly-order.js.map +1 -0
  70. package/dist/service/cloudformation/cdk/sim-cdk-assembly-selection.d.ts +17 -0
  71. package/dist/service/cloudformation/cdk/sim-cdk-assembly-selection.d.ts.map +1 -0
  72. package/dist/service/cloudformation/cdk/sim-cdk-assembly-selection.js +33 -0
  73. package/dist/service/cloudformation/cdk/sim-cdk-assembly-selection.js.map +1 -0
  74. package/dist/service/cloudformation/cdk/sim-cdk-cloud-assembly.factory.d.ts +50 -0
  75. package/dist/service/cloudformation/cdk/sim-cdk-cloud-assembly.factory.d.ts.map +1 -0
  76. package/dist/service/cloudformation/cdk/sim-cdk-cloud-assembly.factory.js +69 -0
  77. package/dist/service/cloudformation/cdk/sim-cdk-cloud-assembly.factory.js.map +1 -0
  78. package/dist/service/cloudformation/command/create-stack/create-stack.handler.d.ts +3 -0
  79. package/dist/service/cloudformation/command/create-stack/create-stack.handler.d.ts.map +1 -1
  80. package/dist/service/cloudformation/command/create-stack/create-stack.handler.js +14 -4
  81. package/dist/service/cloudformation/command/create-stack/create-stack.handler.js.map +1 -1
  82. package/dist/service/cloudformation/command/update-stack/update-stack.handler.d.ts +7 -0
  83. package/dist/service/cloudformation/command/update-stack/update-stack.handler.d.ts.map +1 -1
  84. package/dist/service/cloudformation/command/update-stack/update-stack.handler.js +14 -1
  85. package/dist/service/cloudformation/command/update-stack/update-stack.handler.js.map +1 -1
  86. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.d.ts +24 -0
  87. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.d.ts.map +1 -0
  88. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.js +40 -0
  89. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.js.map +1 -0
  90. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.d.ts +39 -0
  91. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.d.ts.map +1 -0
  92. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.js +35 -0
  93. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.js.map +1 -0
  94. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.d.ts +28 -0
  95. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.d.ts.map +1 -0
  96. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.js +24 -0
  97. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.js.map +1 -0
  98. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts +9 -0
  99. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts.map +1 -1
  100. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.js +16 -0
  101. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.js.map +1 -1
  102. package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.d.ts.map +1 -1
  103. package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.js +2 -4
  104. package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.js.map +1 -1
  105. package/dist/service/cloudformation/deploy/sim-cfn-template-file-read.d.ts +13 -0
  106. package/dist/service/cloudformation/deploy/sim-cfn-template-file-read.d.ts.map +1 -0
  107. package/dist/service/cloudformation/deploy/sim-cfn-template-file-read.js +29 -0
  108. package/dist/service/cloudformation/deploy/sim-cfn-template-file-read.js.map +1 -0
  109. package/dist/service/cloudformation/deploy/sim-cfn-template-file-updater.d.ts +3 -0
  110. package/dist/service/cloudformation/deploy/sim-cfn-template-file-updater.d.ts.map +1 -1
  111. package/dist/service/cloudformation/deploy/sim-cfn-template-file-updater.js +3 -0
  112. package/dist/service/cloudformation/deploy/sim-cfn-template-file-updater.js.map +1 -1
  113. package/dist/service/cloudformation/export/sim-cfn-exports.d.ts +43 -0
  114. package/dist/service/cloudformation/export/sim-cfn-exports.d.ts.map +1 -0
  115. package/dist/service/cloudformation/export/sim-cfn-exports.js +65 -0
  116. package/dist/service/cloudformation/export/sim-cfn-exports.js.map +1 -0
  117. package/dist/service/cloudformation/export/sim-cfn-stack-exports.d.ts +11 -0
  118. package/dist/service/cloudformation/export/sim-cfn-stack-exports.d.ts.map +1 -0
  119. package/dist/service/cloudformation/export/sim-cfn-stack-exports.js +23 -0
  120. package/dist/service/cloudformation/export/sim-cfn-stack-exports.js.map +1 -0
  121. package/dist/service/cloudformation/index.d.ts +2 -0
  122. package/dist/service/cloudformation/index.d.ts.map +1 -1
  123. package/dist/service/cloudformation/parameters/sim-cfn-parameter-definitions.d.ts +10 -0
  124. package/dist/service/cloudformation/parameters/sim-cfn-parameter-definitions.d.ts.map +1 -0
  125. package/dist/service/cloudformation/parameters/sim-cfn-parameter-definitions.js +21 -0
  126. package/dist/service/cloudformation/parameters/sim-cfn-parameter-definitions.js.map +1 -0
  127. package/dist/service/cloudformation/parameters/sim-cfn-parameter-input-values.d.ts +10 -0
  128. package/dist/service/cloudformation/parameters/sim-cfn-parameter-input-values.d.ts.map +1 -0
  129. package/dist/service/cloudformation/parameters/sim-cfn-parameter-input-values.js +19 -0
  130. package/dist/service/cloudformation/parameters/sim-cfn-parameter-input-values.js.map +1 -0
  131. package/dist/service/cloudformation/parameters/sim-cfn-parameter-values.d.ts +34 -0
  132. package/dist/service/cloudformation/parameters/sim-cfn-parameter-values.d.ts.map +1 -0
  133. package/dist/service/cloudformation/parameters/sim-cfn-parameter-values.js +43 -0
  134. package/dist/service/cloudformation/parameters/sim-cfn-parameter-values.js.map +1 -0
  135. package/dist/service/cloudformation/parameters/sim-cfn-parameters.d.ts +21 -16
  136. package/dist/service/cloudformation/parameters/sim-cfn-parameters.d.ts.map +1 -1
  137. package/dist/service/cloudformation/parameters/sim-cfn-parameters.js +33 -62
  138. package/dist/service/cloudformation/parameters/sim-cfn-parameters.js.map +1 -1
  139. package/dist/service/cloudformation/parameters/sim-cfn-parameters.type.d.ts +30 -9
  140. package/dist/service/cloudformation/parameters/sim-cfn-parameters.type.d.ts.map +1 -1
  141. package/dist/service/cloudformation/parameters/store/sim-cfn-parameter-store-value-type.d.ts +20 -0
  142. package/dist/service/cloudformation/parameters/store/sim-cfn-parameter-store-value-type.d.ts.map +1 -0
  143. package/dist/service/cloudformation/parameters/store/sim-cfn-parameter-store-value-type.js +20 -0
  144. package/dist/service/cloudformation/parameters/store/sim-cfn-parameter-store-value-type.js.map +1 -0
  145. package/dist/service/cloudformation/parameters/store/sim-cfn-parameter-store-values.d.ts +48 -0
  146. package/dist/service/cloudformation/parameters/store/sim-cfn-parameter-store-values.d.ts.map +1 -0
  147. package/dist/service/cloudformation/parameters/store/sim-cfn-parameter-store-values.js +69 -0
  148. package/dist/service/cloudformation/parameters/store/sim-cfn-parameter-store-values.js.map +1 -0
  149. package/dist/service/cloudformation/parameters/store/sim-cfn-parameter-store.d.ts +17 -0
  150. package/dist/service/cloudformation/parameters/store/sim-cfn-parameter-store.d.ts.map +1 -0
  151. package/dist/service/cloudformation/parameters/store/sim-cfn-parameter-store.js +15 -0
  152. package/dist/service/cloudformation/parameters/store/sim-cfn-parameter-store.js.map +1 -0
  153. package/dist/service/cloudformation/parameters/store/sim-cfn-parameter-store.type.d.ts +28 -0
  154. package/dist/service/cloudformation/parameters/store/sim-cfn-parameter-store.type.d.ts.map +1 -0
  155. package/dist/service/cloudformation/parameters/store/sim-cfn-parameter-store.type.js +2 -0
  156. package/dist/service/cloudformation/parameters/store/sim-cfn-parameter-store.type.js.map +1 -0
  157. package/dist/service/cloudformation/resource/create/sim-cfn-resource-creator.js +1 -1
  158. package/dist/service/cloudformation/resource/create/sim-cfn-resource-creator.js.map +1 -1
  159. package/dist/service/cloudformation/resource/delete/sim-cfn-resource-deleter.js +1 -1
  160. package/dist/service/cloudformation/resource/delete/sim-cfn-resource-deleter.js.map +1 -1
  161. package/dist/service/cloudformation/resource/resolve/property/sim-cfn-resource-property-resolver.d.ts +23 -1
  162. package/dist/service/cloudformation/resource/resolve/property/sim-cfn-resource-property-resolver.d.ts.map +1 -1
  163. package/dist/service/cloudformation/resource/resolve/property/sim-cfn-resource-property-resolver.js +39 -2
  164. package/dist/service/cloudformation/resource/resolve/property/sim-cfn-resource-property-resolver.js.map +1 -1
  165. package/dist/service/cloudformation/resource/sim-cfn-resource-record.d.ts +6 -1
  166. package/dist/service/cloudformation/resource/sim-cfn-resource-record.d.ts.map +1 -1
  167. package/dist/service/cloudformation/resource/sim-cfn-resource-record.js +14 -4
  168. package/dist/service/cloudformation/resource/sim-cfn-resource-record.js.map +1 -1
  169. package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts +7 -0
  170. package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts.map +1 -1
  171. package/dist/service/cloudformation/serve/sim-cloudformation-api.d.ts +11 -0
  172. package/dist/service/cloudformation/serve/sim-cloudformation-api.d.ts.map +1 -0
  173. package/dist/service/cloudformation/serve/sim-cloudformation-api.js +87 -0
  174. package/dist/service/cloudformation/serve/sim-cloudformation-api.js.map +1 -0
  175. package/dist/service/cloudformation/sim-cloudformation.d.ts +7 -1
  176. package/dist/service/cloudformation/sim-cloudformation.d.ts.map +1 -1
  177. package/dist/service/cloudformation/sim-cloudformation.js +19 -12
  178. package/dist/service/cloudformation/sim-cloudformation.js.map +1 -1
  179. package/dist/service/cloudformation/stack/output/sim-cfn-stack-output-lookup.d.ts +31 -0
  180. package/dist/service/cloudformation/stack/output/sim-cfn-stack-output-lookup.d.ts.map +1 -0
  181. package/dist/service/cloudformation/stack/output/sim-cfn-stack-output-lookup.js +57 -0
  182. package/dist/service/cloudformation/stack/output/sim-cfn-stack-output-lookup.js.map +1 -0
  183. package/dist/service/cloudformation/stack/output/sim-cfn-stack-output-resolver.d.ts +3 -0
  184. package/dist/service/cloudformation/stack/output/sim-cfn-stack-output-resolver.d.ts.map +1 -1
  185. package/dist/service/cloudformation/stack/output/sim-cfn-stack-output-resolver.js +3 -0
  186. package/dist/service/cloudformation/stack/output/sim-cfn-stack-output-resolver.js.map +1 -1
  187. package/dist/service/cloudformation/stack/output/sim-cfn-stack-outputs.d.ts +31 -0
  188. package/dist/service/cloudformation/stack/output/sim-cfn-stack-outputs.d.ts.map +1 -0
  189. package/dist/service/cloudformation/stack/output/sim-cfn-stack-outputs.js +37 -0
  190. package/dist/service/cloudformation/stack/output/sim-cfn-stack-outputs.js.map +1 -0
  191. package/dist/service/cloudformation/stack/report/sim-cfn-stack-resource-report.d.ts +9 -5
  192. package/dist/service/cloudformation/stack/report/sim-cfn-stack-resource-report.d.ts.map +1 -1
  193. package/dist/service/cloudformation/stack/report/sim-cfn-stack-resource-report.js +15 -9
  194. package/dist/service/cloudformation/stack/report/sim-cfn-stack-resource-report.js.map +1 -1
  195. package/dist/service/cloudformation/stack/resource-map/sim-cfn-stack-resource-map.d.ts.map +1 -1
  196. package/dist/service/cloudformation/stack/resource-map/sim-cfn-stack-resource-map.js +1 -0
  197. package/dist/service/cloudformation/stack/resource-map/sim-cfn-stack-resource-map.js.map +1 -1
  198. package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts +14 -1
  199. package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts.map +1 -1
  200. package/dist/service/cloudformation/stack/sim-cfn-stack.js +26 -8
  201. package/dist/service/cloudformation/stack/sim-cfn-stack.js.map +1 -1
  202. package/dist/service/cloudformation/stack/sim-cfn-stack.type.d.ts +7 -0
  203. package/dist/service/cloudformation/stack/sim-cfn-stack.type.d.ts.map +1 -1
  204. package/dist/service/cloudformation/template/dynamic/make-sim-cfn-dynamic-references.d.ts +15 -0
  205. package/dist/service/cloudformation/template/dynamic/make-sim-cfn-dynamic-references.d.ts.map +1 -0
  206. package/dist/service/cloudformation/template/dynamic/make-sim-cfn-dynamic-references.js +19 -0
  207. package/dist/service/cloudformation/template/dynamic/make-sim-cfn-dynamic-references.js.map +1 -0
  208. package/dist/service/cloudformation/template/dynamic/sim-cfn-awaited-dynamic-references.d.ts +42 -0
  209. package/dist/service/cloudformation/template/dynamic/sim-cfn-awaited-dynamic-references.d.ts.map +1 -0
  210. package/dist/service/cloudformation/template/dynamic/sim-cfn-awaited-dynamic-references.js +41 -0
  211. package/dist/service/cloudformation/template/dynamic/sim-cfn-awaited-dynamic-references.js.map +1 -0
  212. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-placeholder.d.ts +21 -0
  213. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-placeholder.d.ts.map +1 -0
  214. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-placeholder.js +61 -0
  215. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-placeholder.js.map +1 -0
  216. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-resolvers.d.ts +31 -0
  217. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-resolvers.d.ts.map +1 -0
  218. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-resolvers.js +25 -0
  219. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-resolvers.js.map +1 -0
  220. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-scan.d.ts +21 -0
  221. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-scan.d.ts.map +1 -0
  222. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-scan.js +39 -0
  223. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-scan.js.map +1 -0
  224. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference.type.d.ts +45 -0
  225. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference.type.d.ts.map +1 -0
  226. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference.type.js +2 -0
  227. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference.type.js.map +1 -0
  228. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-references.d.ts +51 -0
  229. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-references.d.ts.map +1 -0
  230. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-references.js +77 -0
  231. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-references.js.map +1 -0
  232. package/dist/service/cloudformation/template/node/fn/import-value/sim-cfn-fn-import-value.d.ts +33 -0
  233. package/dist/service/cloudformation/template/node/fn/import-value/sim-cfn-fn-import-value.d.ts.map +1 -0
  234. package/dist/service/cloudformation/template/node/fn/import-value/sim-cfn-fn-import-value.js +47 -0
  235. package/dist/service/cloudformation/template/node/fn/import-value/sim-cfn-fn-import-value.js.map +1 -0
  236. package/dist/service/cloudformation/template/node/fn/split/sim-cfn-fn-split.d.ts +7 -0
  237. package/dist/service/cloudformation/template/node/fn/split/sim-cfn-fn-split.d.ts.map +1 -1
  238. package/dist/service/cloudformation/template/node/fn/split/sim-cfn-fn-split.js +12 -0
  239. package/dist/service/cloudformation/template/node/fn/split/sim-cfn-fn-split.js.map +1 -1
  240. package/dist/service/cloudformation/template/node/fn/sub/sim-cfn-fn-sub.d.ts.map +1 -1
  241. package/dist/service/cloudformation/template/node/fn/sub/sim-cfn-fn-sub.js +6 -1
  242. package/dist/service/cloudformation/template/node/fn/sub/sim-cfn-fn-sub.js.map +1 -1
  243. package/dist/service/cloudformation/template/node/sim-cfn-literal.d.ts +9 -2
  244. package/dist/service/cloudformation/template/node/sim-cfn-literal.d.ts.map +1 -1
  245. package/dist/service/cloudformation/template/node/sim-cfn-literal.js +12 -3
  246. package/dist/service/cloudformation/template/node/sim-cfn-literal.js.map +1 -1
  247. package/dist/service/cloudformation/template/parse/fn/import-value/sim-cfn-fn-import-value-parser.d.ts +26 -0
  248. package/dist/service/cloudformation/template/parse/fn/import-value/sim-cfn-fn-import-value-parser.d.ts.map +1 -0
  249. package/dist/service/cloudformation/template/parse/fn/import-value/sim-cfn-fn-import-value-parser.js +31 -0
  250. package/dist/service/cloudformation/template/parse/fn/import-value/sim-cfn-fn-import-value-parser.js.map +1 -0
  251. package/dist/service/cloudformation/template/parse/fn/sim-cfn-function-parser.d.ts +4 -7
  252. package/dist/service/cloudformation/template/parse/fn/sim-cfn-function-parser.d.ts.map +1 -1
  253. package/dist/service/cloudformation/template/parse/fn/sim-cfn-function-parser.js +9 -41
  254. package/dist/service/cloudformation/template/parse/fn/sim-cfn-function-parser.js.map +1 -1
  255. package/dist/service/cloudformation/template/parse/fn/sim-cfn-function-parsers.d.ts +19 -0
  256. package/dist/service/cloudformation/template/parse/fn/sim-cfn-function-parsers.d.ts.map +1 -0
  257. package/dist/service/cloudformation/template/parse/fn/sim-cfn-function-parsers.js +31 -0
  258. package/dist/service/cloudformation/template/parse/fn/sim-cfn-function-parsers.js.map +1 -0
  259. package/dist/service/cloudformation/template/resolve/sim-cfn-resolve-context.d.ts +19 -0
  260. package/dist/service/cloudformation/template/resolve/sim-cfn-resolve-context.d.ts.map +1 -1
  261. package/dist/service/cloudformation/template/resolve/sim-cfn-resolve-context.js +18 -0
  262. package/dist/service/cloudformation/template/resolve/sim-cfn-resolve-context.js.map +1 -1
  263. package/dist/service/cloudformation/template/sim-cfn-template.d.ts +5 -0
  264. package/dist/service/cloudformation/template/sim-cfn-template.d.ts.map +1 -1
  265. package/dist/service/cloudformation/template/sim-cfn-template.js +7 -1
  266. package/dist/service/cloudformation/template/sim-cfn-template.js.map +1 -1
  267. package/dist/service/cloudformation/template/value/sim-cfn-template-value-resolver.d.ts +4 -0
  268. package/dist/service/cloudformation/template/value/sim-cfn-template-value-resolver.d.ts.map +1 -1
  269. package/dist/service/cloudformation/template/value/sim-cfn-template-value-resolver.js +2 -0
  270. package/dist/service/cloudformation/template/value/sim-cfn-template-value-resolver.js.map +1 -1
  271. package/dist/service/cloudformation/template/value/sim-cfn-value-path.d.ts +5 -0
  272. package/dist/service/cloudformation/template/value/sim-cfn-value-path.d.ts.map +1 -1
  273. package/dist/service/cloudformation/template/value/sim-cfn-value-path.js +22 -0
  274. package/dist/service/cloudformation/template/value/sim-cfn-value-path.js.map +1 -1
  275. package/dist/service/elbv2/serve/api/sim-elbv2-api.d.ts +15 -0
  276. package/dist/service/elbv2/serve/api/sim-elbv2-api.d.ts.map +1 -0
  277. package/dist/service/elbv2/serve/api/sim-elbv2-api.js +41 -0
  278. package/dist/service/elbv2/serve/api/sim-elbv2-api.js.map +1 -0
  279. package/dist/service/elbv2/serve/api/sim-elbv2-query-action.d.ts +14 -0
  280. package/dist/service/elbv2/serve/api/sim-elbv2-query-action.d.ts.map +1 -0
  281. package/dist/service/elbv2/serve/api/sim-elbv2-query-action.js +52 -0
  282. package/dist/service/elbv2/serve/api/sim-elbv2-query-action.js.map +1 -0
  283. package/dist/service/elbv2/serve/api/sim-elbv2-query-certificate.d.ts +14 -0
  284. package/dist/service/elbv2/serve/api/sim-elbv2-query-certificate.d.ts.map +1 -0
  285. package/dist/service/elbv2/serve/api/sim-elbv2-query-certificate.js +20 -0
  286. package/dist/service/elbv2/serve/api/sim-elbv2-query-certificate.js.map +1 -0
  287. package/dist/service/elbv2/serve/api/sim-elbv2-query-condition.d.ts +11 -0
  288. package/dist/service/elbv2/serve/api/sim-elbv2-query-condition.d.ts.map +1 -0
  289. package/dist/service/elbv2/serve/api/sim-elbv2-query-condition.js +39 -0
  290. package/dist/service/elbv2/serve/api/sim-elbv2-query-condition.js.map +1 -0
  291. package/dist/service/elbv2/serve/api/sim-elbv2-query-input.d.ts +47 -0
  292. package/dist/service/elbv2/serve/api/sim-elbv2-query-input.d.ts.map +1 -0
  293. package/dist/service/elbv2/serve/api/sim-elbv2-query-input.js +71 -0
  294. package/dist/service/elbv2/serve/api/sim-elbv2-query-input.js.map +1 -0
  295. package/dist/service/elbv2/serve/api/sim-elbv2-query-listener-certificate-operations.d.ts +11 -0
  296. package/dist/service/elbv2/serve/api/sim-elbv2-query-listener-certificate-operations.d.ts.map +1 -0
  297. package/dist/service/elbv2/serve/api/sim-elbv2-query-listener-certificate-operations.js +46 -0
  298. package/dist/service/elbv2/serve/api/sim-elbv2-query-listener-certificate-operations.js.map +1 -0
  299. package/dist/service/elbv2/serve/api/sim-elbv2-query-listener-operations.d.ts +6 -0
  300. package/dist/service/elbv2/serve/api/sim-elbv2-query-listener-operations.d.ts.map +1 -0
  301. package/dist/service/elbv2/serve/api/sim-elbv2-query-listener-operations.js +77 -0
  302. package/dist/service/elbv2/serve/api/sim-elbv2-query-listener-operations.js.map +1 -0
  303. package/dist/service/elbv2/serve/api/sim-elbv2-query-load-balancer-operations.d.ts +6 -0
  304. package/dist/service/elbv2/serve/api/sim-elbv2-query-load-balancer-operations.d.ts.map +1 -0
  305. package/dist/service/elbv2/serve/api/sim-elbv2-query-load-balancer-operations.js +67 -0
  306. package/dist/service/elbv2/serve/api/sim-elbv2-query-load-balancer-operations.js.map +1 -0
  307. package/dist/service/elbv2/serve/api/sim-elbv2-query-result.d.ts +15 -0
  308. package/dist/service/elbv2/serve/api/sim-elbv2-query-result.d.ts.map +1 -0
  309. package/dist/service/elbv2/serve/api/sim-elbv2-query-result.js +25 -0
  310. package/dist/service/elbv2/serve/api/sim-elbv2-query-result.js.map +1 -0
  311. package/dist/service/elbv2/serve/api/sim-elbv2-query-rule-operations.d.ts +6 -0
  312. package/dist/service/elbv2/serve/api/sim-elbv2-query-rule-operations.d.ts.map +1 -0
  313. package/dist/service/elbv2/serve/api/sim-elbv2-query-rule-operations.js +74 -0
  314. package/dist/service/elbv2/serve/api/sim-elbv2-query-rule-operations.js.map +1 -0
  315. package/dist/service/elbv2/serve/api/sim-elbv2-query-target-group-operations.d.ts +6 -0
  316. package/dist/service/elbv2/serve/api/sim-elbv2-query-target-group-operations.d.ts.map +1 -0
  317. package/dist/service/elbv2/serve/api/sim-elbv2-query-target-group-operations.js +114 -0
  318. package/dist/service/elbv2/serve/api/sim-elbv2-query-target-group-operations.js.map +1 -0
  319. package/dist/service/elbv2/serve/api/sim-elbv2-query-target-operations.d.ts +6 -0
  320. package/dist/service/elbv2/serve/api/sim-elbv2-query-target-operations.d.ts.map +1 -0
  321. package/dist/service/elbv2/serve/api/sim-elbv2-query-target-operations.js +64 -0
  322. package/dist/service/elbv2/serve/api/sim-elbv2-query-target-operations.js.map +1 -0
  323. package/dist/service/iam/serve/sim-iam-api.d.ts +18 -0
  324. package/dist/service/iam/serve/sim-iam-api.d.ts.map +1 -0
  325. package/dist/service/iam/serve/sim-iam-api.js +38 -0
  326. package/dist/service/iam/serve/sim-iam-api.js.map +1 -0
  327. package/dist/service/iam/serve/sim-iam-query-entity.d.ts +12 -0
  328. package/dist/service/iam/serve/sim-iam-query-entity.d.ts.map +1 -0
  329. package/dist/service/iam/serve/sim-iam-query-entity.js +22 -0
  330. package/dist/service/iam/serve/sim-iam-query-entity.js.map +1 -0
  331. package/dist/service/iam/serve/sim-iam-query-listing.d.ts +18 -0
  332. package/dist/service/iam/serve/sim-iam-query-listing.d.ts.map +1 -0
  333. package/dist/service/iam/serve/sim-iam-query-listing.js +25 -0
  334. package/dist/service/iam/serve/sim-iam-query-listing.js.map +1 -0
  335. package/dist/service/iam/serve/sim-iam-query-policy-operations.d.ts +6 -0
  336. package/dist/service/iam/serve/sim-iam-query-policy-operations.d.ts.map +1 -0
  337. package/dist/service/iam/serve/sim-iam-query-policy-operations.js +70 -0
  338. package/dist/service/iam/serve/sim-iam-query-policy-operations.js.map +1 -0
  339. package/dist/service/iam/serve/sim-iam-query-role-operations.d.ts +10 -0
  340. package/dist/service/iam/serve/sim-iam-query-role-operations.d.ts.map +1 -0
  341. package/dist/service/iam/serve/sim-iam-query-role-operations.js +108 -0
  342. package/dist/service/iam/serve/sim-iam-query-role-operations.js.map +1 -0
  343. package/dist/service/iam/serve/sim-iam-query-user-operations.d.ts +11 -0
  344. package/dist/service/iam/serve/sim-iam-query-user-operations.d.ts.map +1 -0
  345. package/dist/service/iam/serve/sim-iam-query-user-operations.js +62 -0
  346. package/dist/service/iam/serve/sim-iam-query-user-operations.js.map +1 -0
  347. package/dist/service/lambda/serve/api/sim-lambda-api-event-source-routes.d.ts +9 -0
  348. package/dist/service/lambda/serve/api/sim-lambda-api-event-source-routes.d.ts.map +1 -0
  349. package/dist/service/lambda/serve/api/sim-lambda-api-event-source-routes.js +59 -0
  350. package/dist/service/lambda/serve/api/sim-lambda-api-event-source-routes.js.map +1 -0
  351. package/dist/service/lambda/serve/api/sim-lambda-api-function-routes.d.ts +6 -0
  352. package/dist/service/lambda/serve/api/sim-lambda-api-function-routes.d.ts.map +1 -0
  353. package/dist/service/lambda/serve/api/sim-lambda-api-function-routes.js +91 -0
  354. package/dist/service/lambda/serve/api/sim-lambda-api-function-routes.js.map +1 -0
  355. package/dist/service/lambda/serve/api/sim-lambda-api-invoke-output.d.ts +12 -0
  356. package/dist/service/lambda/serve/api/sim-lambda-api-invoke-output.d.ts.map +1 -0
  357. package/dist/service/lambda/serve/api/sim-lambda-api-invoke-output.js +28 -0
  358. package/dist/service/lambda/serve/api/sim-lambda-api-invoke-output.js.map +1 -0
  359. package/dist/service/lambda/serve/api/sim-lambda-api-permission-routes.d.ts +10 -0
  360. package/dist/service/lambda/serve/api/sim-lambda-api-permission-routes.d.ts.map +1 -0
  361. package/dist/service/lambda/serve/api/sim-lambda-api-permission-routes.js +36 -0
  362. package/dist/service/lambda/serve/api/sim-lambda-api-permission-routes.js.map +1 -0
  363. package/dist/service/lambda/serve/api/sim-lambda-api-routes.d.ts +11 -0
  364. package/dist/service/lambda/serve/api/sim-lambda-api-routes.d.ts.map +1 -0
  365. package/dist/service/lambda/serve/api/sim-lambda-api-routes.js +19 -0
  366. package/dist/service/lambda/serve/api/sim-lambda-api-routes.js.map +1 -0
  367. package/dist/service/lambda/serve/api/sim-lambda-api-url-routes.d.ts +11 -0
  368. package/dist/service/lambda/serve/api/sim-lambda-api-url-routes.d.ts.map +1 -0
  369. package/dist/service/lambda/serve/api/sim-lambda-api-url-routes.js +50 -0
  370. package/dist/service/lambda/serve/api/sim-lambda-api-url-routes.js.map +1 -0
  371. package/dist/service/lambda/serve/api/sim-lambda-api.d.ts +16 -0
  372. package/dist/service/lambda/serve/api/sim-lambda-api.d.ts.map +1 -0
  373. package/dist/service/lambda/serve/api/sim-lambda-api.js +22 -0
  374. package/dist/service/lambda/serve/api/sim-lambda-api.js.map +1 -0
  375. package/dist/service/s3/bucket/notification/sim-s3-notification-event.d.ts +1 -1
  376. package/dist/service/s3/bucket/notification/sim-s3-notification-event.d.ts.map +1 -1
  377. package/dist/service/s3/bucket/notification/sim-s3-notification-event.js +9 -1
  378. package/dist/service/s3/bucket/notification/sim-s3-notification-event.js.map +1 -1
  379. package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-events.d.ts.map +1 -1
  380. package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-events.js +0 -1
  381. package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-events.js.map +1 -1
  382. package/dist/service/s3/bucket/sim-s3-bucket.d.ts +10 -0
  383. package/dist/service/s3/bucket/sim-s3-bucket.d.ts.map +1 -1
  384. package/dist/service/s3/bucket/sim-s3-bucket.js +12 -0
  385. package/dist/service/s3/bucket/sim-s3-bucket.js.map +1 -1
  386. package/dist/service/s3/command/abort-multipart-upload/abort-multipart-upload.command.d.ts +23 -0
  387. package/dist/service/s3/command/abort-multipart-upload/abort-multipart-upload.command.d.ts.map +1 -0
  388. package/dist/service/s3/command/abort-multipart-upload/abort-multipart-upload.command.js +2 -0
  389. package/dist/service/s3/command/abort-multipart-upload/abort-multipart-upload.command.js.map +1 -0
  390. package/dist/service/s3/command/abort-multipart-upload/abort-multipart-upload.handler.d.ts +23 -0
  391. package/dist/service/s3/command/abort-multipart-upload/abort-multipart-upload.handler.d.ts.map +1 -0
  392. package/dist/service/s3/command/abort-multipart-upload/abort-multipart-upload.handler.js +32 -0
  393. package/dist/service/s3/command/abort-multipart-upload/abort-multipart-upload.handler.js.map +1 -0
  394. package/dist/service/s3/command/complete-multipart-upload/complete-multipart-upload.command.d.ts +42 -0
  395. package/dist/service/s3/command/complete-multipart-upload/complete-multipart-upload.command.d.ts.map +1 -0
  396. package/dist/service/s3/command/complete-multipart-upload/complete-multipart-upload.command.js +2 -0
  397. package/dist/service/s3/command/complete-multipart-upload/complete-multipart-upload.command.js.map +1 -0
  398. package/dist/service/s3/command/complete-multipart-upload/complete-multipart-upload.handler.d.ts +28 -0
  399. package/dist/service/s3/command/complete-multipart-upload/complete-multipart-upload.handler.d.ts.map +1 -0
  400. package/dist/service/s3/command/complete-multipart-upload/complete-multipart-upload.handler.js +73 -0
  401. package/dist/service/s3/command/complete-multipart-upload/complete-multipart-upload.handler.js.map +1 -0
  402. package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.command.d.ts +30 -0
  403. package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.command.d.ts.map +1 -0
  404. package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.command.js +2 -0
  405. package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.command.js.map +1 -0
  406. package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.handler.d.ts +21 -0
  407. package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.handler.d.ts.map +1 -0
  408. package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.handler.js +38 -0
  409. package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.handler.js.map +1 -0
  410. package/dist/service/s3/command/list-multipart-uploads/list-multipart-uploads.command.d.ts +34 -0
  411. package/dist/service/s3/command/list-multipart-uploads/list-multipart-uploads.command.d.ts.map +1 -0
  412. package/dist/service/s3/command/list-multipart-uploads/list-multipart-uploads.command.js +2 -0
  413. package/dist/service/s3/command/list-multipart-uploads/list-multipart-uploads.command.js.map +1 -0
  414. package/dist/service/s3/command/list-multipart-uploads/list-multipart-uploads.handler.d.ts +23 -0
  415. package/dist/service/s3/command/list-multipart-uploads/list-multipart-uploads.handler.d.ts.map +1 -0
  416. package/dist/service/s3/command/list-multipart-uploads/list-multipart-uploads.handler.js +43 -0
  417. package/dist/service/s3/command/list-multipart-uploads/list-multipart-uploads.handler.js.map +1 -0
  418. package/dist/service/s3/command/list-parts/list-parts.command.d.ts +37 -0
  419. package/dist/service/s3/command/list-parts/list-parts.command.d.ts.map +1 -0
  420. package/dist/service/s3/command/list-parts/list-parts.command.js +2 -0
  421. package/dist/service/s3/command/list-parts/list-parts.command.js.map +1 -0
  422. package/dist/service/s3/command/list-parts/list-parts.handler.d.ts +22 -0
  423. package/dist/service/s3/command/list-parts/list-parts.handler.d.ts.map +1 -0
  424. package/dist/service/s3/command/list-parts/list-parts.handler.js +47 -0
  425. package/dist/service/s3/command/list-parts/list-parts.handler.js.map +1 -0
  426. package/dist/service/s3/command/multipart/sim-s3-multipart-access.d.ts +54 -0
  427. package/dist/service/s3/command/multipart/sim-s3-multipart-access.d.ts.map +1 -0
  428. package/dist/service/s3/command/multipart/sim-s3-multipart-access.js +60 -0
  429. package/dist/service/s3/command/multipart/sim-s3-multipart-access.js.map +1 -0
  430. package/dist/service/s3/command/multipart/sim-s3-multipart-authorizer.d.ts +36 -0
  431. package/dist/service/s3/command/multipart/sim-s3-multipart-authorizer.d.ts.map +1 -0
  432. package/dist/service/s3/command/multipart/sim-s3-multipart-authorizer.js +52 -0
  433. package/dist/service/s3/command/multipart/sim-s3-multipart-authorizer.js.map +1 -0
  434. package/dist/service/s3/command/multipart/sim-s3-multipart-commands.d.ts +35 -0
  435. package/dist/service/s3/command/multipart/sim-s3-multipart-commands.d.ts.map +1 -0
  436. package/dist/service/s3/command/multipart/sim-s3-multipart-commands.js +52 -0
  437. package/dist/service/s3/command/multipart/sim-s3-multipart-commands.js.map +1 -0
  438. package/dist/service/s3/command/put-object/put-object-builder.d.ts +0 -32
  439. package/dist/service/s3/command/put-object/put-object-builder.d.ts.map +1 -1
  440. package/dist/service/s3/command/put-object/put-object-builder.js +5 -61
  441. package/dist/service/s3/command/put-object/put-object-builder.js.map +1 -1
  442. package/dist/service/s3/command/put-object/put-object.command.d.ts +7 -17
  443. package/dist/service/s3/command/put-object/put-object.command.d.ts.map +1 -1
  444. package/dist/service/s3/command/put-object/put-object.handler.d.ts.map +1 -1
  445. package/dist/service/s3/command/put-object/put-object.handler.js +6 -1
  446. package/dist/service/s3/command/put-object/put-object.handler.js.map +1 -1
  447. package/dist/service/s3/command/sim-s3-command.types.d.ts +6 -0
  448. package/dist/service/s3/command/sim-s3-command.types.d.ts.map +1 -1
  449. package/dist/service/s3/command/upload-part/upload-part.command.d.ts +32 -0
  450. package/dist/service/s3/command/upload-part/upload-part.command.d.ts.map +1 -0
  451. package/dist/service/s3/command/upload-part/upload-part.command.js +2 -0
  452. package/dist/service/s3/command/upload-part/upload-part.command.js.map +1 -0
  453. package/dist/service/s3/command/upload-part/upload-part.handler.d.ts +22 -0
  454. package/dist/service/s3/command/upload-part/upload-part.handler.d.ts.map +1 -0
  455. package/dist/service/s3/command/upload-part/upload-part.handler.js +34 -0
  456. package/dist/service/s3/command/upload-part/upload-part.handler.js.map +1 -0
  457. package/dist/service/s3/error/sim-s3.error.d.ts +34 -0
  458. package/dist/service/s3/error/sim-s3.error.d.ts.map +1 -1
  459. package/dist/service/s3/error/sim-s3.error.js +40 -0
  460. package/dist/service/s3/error/sim-s3.error.js.map +1 -1
  461. package/dist/service/s3/notification/event/sim-s3-object-event-builder.d.ts +10 -0
  462. package/dist/service/s3/notification/event/sim-s3-object-event-builder.d.ts.map +1 -1
  463. package/dist/service/s3/notification/event/sim-s3-object-event-builder.js +1 -1
  464. package/dist/service/s3/notification/event/sim-s3-object-event-builder.js.map +1 -1
  465. package/dist/service/s3/notification/sim-s3-object-notifier.d.ts +1 -1
  466. package/dist/service/s3/notification/sim-s3-object-notifier.js +2 -2
  467. package/dist/service/s3/notification/sim-s3-object-notifier.js.map +1 -1
  468. package/dist/service/s3/object/s3-object-etag.d.ts +20 -4
  469. package/dist/service/s3/object/s3-object-etag.d.ts.map +1 -1
  470. package/dist/service/s3/object/s3-object-etag.js +25 -4
  471. package/dist/service/s3/object/s3-object-etag.js.map +1 -1
  472. package/dist/service/s3/object/s3-object-summary.d.ts +9 -0
  473. package/dist/service/s3/object/s3-object-summary.d.ts.map +1 -1
  474. package/dist/service/s3/object/s3-object-summary.js +2 -2
  475. package/dist/service/s3/object/s3-object-summary.js.map +1 -1
  476. package/dist/service/s3/object/s3-object.d.ts +10 -0
  477. package/dist/service/s3/object/s3-object.d.ts.map +1 -1
  478. package/dist/service/s3/object/s3-object.js +7 -1
  479. package/dist/service/s3/object/s3-object.js.map +1 -1
  480. package/dist/service/s3/object/s3-write-body.d.ts +23 -0
  481. package/dist/service/s3/object/s3-write-body.d.ts.map +1 -0
  482. package/dist/service/s3/object/s3-write-body.js +26 -0
  483. package/dist/service/s3/object/s3-write-body.js.map +1 -0
  484. package/dist/service/s3/object/s3-write-metadata.d.ts +33 -0
  485. package/dist/service/s3/object/s3-write-metadata.d.ts.map +1 -0
  486. package/dist/service/s3/object/s3-write-metadata.js +35 -0
  487. package/dist/service/s3/object/s3-write-metadata.js.map +1 -0
  488. package/dist/service/s3/sdk/sim-s3-sdk-command-router.d.ts.map +1 -1
  489. package/dist/service/s3/sdk/sim-s3-sdk-command-router.js +24 -0
  490. package/dist/service/s3/sdk/sim-s3-sdk-command-router.js.map +1 -1
  491. package/dist/service/s3/serve/api/sim-s3-api-bucket-routes.d.ts.map +1 -1
  492. package/dist/service/s3/serve/api/sim-s3-api-bucket-routes.js +8 -0
  493. package/dist/service/s3/serve/api/sim-s3-api-bucket-routes.js.map +1 -1
  494. package/dist/service/s3/serve/api/sim-s3-api-input.d.ts +5 -0
  495. package/dist/service/s3/serve/api/sim-s3-api-input.d.ts.map +1 -1
  496. package/dist/service/s3/serve/api/sim-s3-api-input.js +7 -1
  497. package/dist/service/s3/serve/api/sim-s3-api-input.js.map +1 -1
  498. package/dist/service/s3/serve/api/sim-s3-api-multipart-input.d.ts +25 -0
  499. package/dist/service/s3/serve/api/sim-s3-api-multipart-input.d.ts.map +1 -0
  500. package/dist/service/s3/serve/api/sim-s3-api-multipart-input.js +48 -0
  501. package/dist/service/s3/serve/api/sim-s3-api-multipart-input.js.map +1 -0
  502. package/dist/service/s3/serve/api/sim-s3-api-multipart-listing.d.ts +36 -0
  503. package/dist/service/s3/serve/api/sim-s3-api-multipart-listing.d.ts.map +1 -0
  504. package/dist/service/s3/serve/api/sim-s3-api-multipart-listing.js +34 -0
  505. package/dist/service/s3/serve/api/sim-s3-api-multipart-listing.js.map +1 -0
  506. package/dist/service/s3/serve/api/sim-s3-api-multipart-output.d.ts +10 -0
  507. package/dist/service/s3/serve/api/sim-s3-api-multipart-output.d.ts.map +1 -0
  508. package/dist/service/s3/serve/api/sim-s3-api-multipart-output.js +62 -0
  509. package/dist/service/s3/serve/api/sim-s3-api-multipart-output.js.map +1 -0
  510. package/dist/service/s3/serve/api/sim-s3-api-object-output.d.ts +5 -0
  511. package/dist/service/s3/serve/api/sim-s3-api-object-output.d.ts.map +1 -0
  512. package/dist/service/s3/serve/api/sim-s3-api-object-output.js +31 -0
  513. package/dist/service/s3/serve/api/sim-s3-api-object-output.js.map +1 -0
  514. package/dist/service/s3/serve/api/sim-s3-api-object-routes.d.ts.map +1 -1
  515. package/dist/service/s3/serve/api/sim-s3-api-object-routes.js +37 -1
  516. package/dist/service/s3/serve/api/sim-s3-api-object-routes.js.map +1 -1
  517. package/dist/service/s3/serve/api/sim-s3-api-output.d.ts.map +1 -1
  518. package/dist/service/s3/serve/api/sim-s3-api-output.js +15 -36
  519. package/dist/service/s3/serve/api/sim-s3-api-output.js.map +1 -1
  520. package/dist/service/s3/serve/api/sim-s3-api-routes.d.ts.map +1 -1
  521. package/dist/service/s3/serve/api/sim-s3-api-routes.js +2 -1
  522. package/dist/service/s3/serve/api/sim-s3-api-routes.js.map +1 -1
  523. package/dist/service/s3/serve/api/sim-s3-api-xml-read.d.ts +7 -0
  524. package/dist/service/s3/serve/api/sim-s3-api-xml-read.d.ts.map +1 -1
  525. package/dist/service/s3/serve/api/sim-s3-api-xml-read.js +16 -1
  526. package/dist/service/s3/serve/api/sim-s3-api-xml-read.js.map +1 -1
  527. package/dist/service/s3/sim-s3-commands.d.ts +2 -0
  528. package/dist/service/s3/sim-s3-commands.d.ts.map +1 -1
  529. package/dist/service/s3/sim-s3-commands.js +3 -0
  530. package/dist/service/s3/sim-s3-commands.js.map +1 -1
  531. package/dist/service/s3/sim-s3-operations.d.ts +12 -0
  532. package/dist/service/s3/sim-s3-operations.d.ts.map +1 -1
  533. package/dist/service/s3/sim-s3-operations.js +24 -0
  534. package/dist/service/s3/sim-s3-operations.js.map +1 -1
  535. package/dist/service/s3/upload/sim-s3-completed-upload.d.ts +30 -0
  536. package/dist/service/s3/upload/sim-s3-completed-upload.d.ts.map +1 -0
  537. package/dist/service/s3/upload/sim-s3-completed-upload.js +69 -0
  538. package/dist/service/s3/upload/sim-s3-completed-upload.js.map +1 -0
  539. package/dist/service/s3/upload/sim-s3-multipart-upload.d.ts +66 -0
  540. package/dist/service/s3/upload/sim-s3-multipart-upload.d.ts.map +1 -0
  541. package/dist/service/s3/upload/sim-s3-multipart-upload.js +78 -0
  542. package/dist/service/s3/upload/sim-s3-multipart-upload.js.map +1 -0
  543. package/dist/service/s3/upload/sim-s3-multipart-uploads.d.ts +48 -0
  544. package/dist/service/s3/upload/sim-s3-multipart-uploads.d.ts.map +1 -0
  545. package/dist/service/s3/upload/sim-s3-multipart-uploads.js +62 -0
  546. package/dist/service/s3/upload/sim-s3-multipart-uploads.js.map +1 -0
  547. package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-dynamic-reference-resolver.d.ts +51 -0
  548. package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-dynamic-reference-resolver.d.ts.map +1 -0
  549. package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-dynamic-reference-resolver.js +89 -0
  550. package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-dynamic-reference-resolver.js.map +1 -0
  551. package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-json-key.d.ts +9 -0
  552. package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-json-key.d.ts.map +1 -0
  553. package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-json-key.js +40 -0
  554. package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-json-key.js.map +1 -0
  555. package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-reference-body.d.ts +40 -0
  556. package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-reference-body.d.ts.map +1 -0
  557. package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-reference-body.js +90 -0
  558. package/dist/service/secretsmanager/cfn/dynamic/sim-cfn-secrets-manager-reference-body.js.map +1 -0
  559. package/dist/service/sns/serve/sim-sns-api.d.ts +15 -0
  560. package/dist/service/sns/serve/sim-sns-api.d.ts.map +1 -0
  561. package/dist/service/sns/serve/sim-sns-api.js +37 -0
  562. package/dist/service/sns/serve/sim-sns-api.js.map +1 -0
  563. package/dist/service/sns/serve/sim-sns-query-publish-operations.d.ts +6 -0
  564. package/dist/service/sns/serve/sim-sns-query-publish-operations.d.ts.map +1 -0
  565. package/dist/service/sns/serve/sim-sns-query-publish-operations.js +36 -0
  566. package/dist/service/sns/serve/sim-sns-query-publish-operations.js.map +1 -0
  567. package/dist/service/sns/serve/sim-sns-query-published-message.d.ts +10 -0
  568. package/dist/service/sns/serve/sim-sns-query-published-message.d.ts.map +1 -0
  569. package/dist/service/sns/serve/sim-sns-query-published-message.js +39 -0
  570. package/dist/service/sns/serve/sim-sns-query-published-message.js.map +1 -0
  571. package/dist/service/sns/serve/sim-sns-query-sms-operations.d.ts +9 -0
  572. package/dist/service/sns/serve/sim-sns-query-sms-operations.d.ts.map +1 -0
  573. package/dist/service/sns/serve/sim-sns-query-sms-operations.js +40 -0
  574. package/dist/service/sns/serve/sim-sns-query-sms-operations.js.map +1 -0
  575. package/dist/service/sns/serve/sim-sns-query-subscription-operations.d.ts +6 -0
  576. package/dist/service/sns/serve/sim-sns-query-subscription-operations.d.ts.map +1 -0
  577. package/dist/service/sns/serve/sim-sns-query-subscription-operations.js +83 -0
  578. package/dist/service/sns/serve/sim-sns-query-subscription-operations.js.map +1 -0
  579. package/dist/service/sns/serve/sim-sns-query-topic-operations.d.ts +6 -0
  580. package/dist/service/sns/serve/sim-sns-query-topic-operations.d.ts.map +1 -0
  581. package/dist/service/sns/serve/sim-sns-query-topic-operations.js +62 -0
  582. package/dist/service/sns/serve/sim-sns-query-topic-operations.js.map +1 -0
  583. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-dynamic-reference-resolver.d.ts +39 -0
  584. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-dynamic-reference-resolver.d.ts.map +1 -0
  585. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-dynamic-reference-resolver.js +95 -0
  586. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-dynamic-reference-resolver.js.map +1 -0
  587. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-value-reader.d.ts +36 -0
  588. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-value-reader.d.ts.map +1 -0
  589. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-value-reader.js +48 -0
  590. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-value-reader.js.map +1 -0
  591. package/dist/service/ssm/sim-ssm.d.ts +10 -0
  592. package/dist/service/ssm/sim-ssm.d.ts.map +1 -1
  593. package/dist/service/ssm/sim-ssm.js +14 -0
  594. package/dist/service/ssm/sim-ssm.js.map +1 -1
  595. package/dist/service/sts/serve/sim-sts-api.d.ts +7 -19
  596. package/dist/service/sts/serve/sim-sts-api.d.ts.map +1 -1
  597. package/dist/service/sts/serve/sim-sts-api.js +44 -48
  598. package/dist/service/sts/serve/sim-sts-api.js.map +1 -1
  599. package/dist/util/xml/xml-document.d.ts +4 -0
  600. package/dist/util/xml/xml-document.d.ts.map +1 -1
  601. package/dist/util/xml/xml-document.js +11 -0
  602. package/dist/util/xml/xml-document.js.map +1 -1
  603. package/package.json +1 -1
  604. package/dist/service/sts/serve/sim-sts-query-request.d.ts +0 -19
  605. package/dist/service/sts/serve/sim-sts-query-request.d.ts.map +0 -1
  606. package/dist/service/sts/serve/sim-sts-query-request.js +0 -27
  607. package/dist/service/sts/serve/sim-sts-query-request.js.map +0 -1
  608. package/dist/service/sts/serve/sim-sts-query-response.d.ts +0 -15
  609. package/dist/service/sts/serve/sim-sts-query-response.d.ts.map +0 -1
  610. package/dist/service/sts/serve/sim-sts-query-response.js +0 -42
  611. package/dist/service/sts/serve/sim-sts-query-response.js.map +0 -1
@@ -0,0 +1,51 @@
1
+ import { simRestJsonPathSegments, } from "./sim-rest-json-request.js";
2
+ /**
3
+ * Find the operation a REST-JSON request names.
4
+ *
5
+ * A template matches a request only when it has the same number of segments
6
+ * and every literal segment is the segment the request sent. That is what
7
+ * keeps a path this endpoint has no operation for from being answered by one
8
+ * that happens to share its method: `GET /2015-03-31/functions/orders/aliases`
9
+ * has no route, and matches neither `GET /2015-03-31/functions/{FunctionName}`
10
+ * nor anything else, because a label stands for one segment rather than for
11
+ * the rest of the path.
12
+ *
13
+ * Returns undefined for a request matching no route, which is either an
14
+ * operation the simulated service has not implemented or one the real service
15
+ * does not have.
16
+ */
17
+ export function resolveSimRestJsonRoute(routes, request) {
18
+ for (const route of routes) {
19
+ if (route.method !== request.method) {
20
+ continue;
21
+ }
22
+ const labels = matchSimRestJsonPath(route.path, request.segments);
23
+ if (labels !== undefined) {
24
+ return { route, labels };
25
+ }
26
+ }
27
+ return undefined;
28
+ }
29
+ /**
30
+ * Match one path template against the segments a request sent, and read the
31
+ * labels out of it.
32
+ */
33
+ function matchSimRestJsonPath(template, segments) {
34
+ const expected = simRestJsonPathSegments(template);
35
+ if (expected.length !== segments.length) {
36
+ return undefined;
37
+ }
38
+ const labels = new Map();
39
+ for (const [index, part] of expected.entries()) {
40
+ const segment = segments.at(index) ?? "";
41
+ if (part.startsWith("{") && part.endsWith("}")) {
42
+ labels.set(part.slice(1, -1), segment);
43
+ continue;
44
+ }
45
+ if (part !== segment) {
46
+ return undefined;
47
+ }
48
+ }
49
+ return labels;
50
+ }
51
+ //# sourceMappingURL=sim-rest-json-routes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-rest-json-routes.js","sourceRoot":"","sources":["../../../../../src/serve/http/api/rest-json/sim-rest-json-routes.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,GAExB,MAAM,4BAA4B,CAAC;AAYpC;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAmC,EACnC,OAA2B;IAE3B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;YACpC,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAC3B,QAAgB,EAChB,QAA2B;IAE3B,MAAM,QAAQ,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAEzC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACvC,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -18,14 +18,13 @@ interface SimAwsApiEndpointProperties {
18
18
  *
19
19
  * The scope also says which protocol to read the request with. Most simulated
20
20
  * services speak the AWS JSON protocol and name their operation in a header.
21
- * S3 speaks REST-XML and STS speaks Query, and each names its operation
22
- * somewhere else, so each is read by an endpoint of its own.
21
+ * The rest name it somewhere else, and each is read by an endpoint of its own,
22
+ * registered under its signing name.
23
23
  */
24
24
  export declare class SimAwsApiEndpoint {
25
25
  private readonly simAws;
26
26
  private readonly dispatcher;
27
- private readonly s3;
28
- private readonly sts;
27
+ private readonly protocols;
29
28
  constructor(properties: SimAwsApiEndpointProperties);
30
29
  /**
31
30
  * Answer an AWS service API request, or decline one that is not signed.
@@ -1 +1 @@
1
- {"version":3,"file":"sim-aws-api-endpoint.d.ts","sourceRoot":"","sources":["../../../../src/serve/http/api/sim-aws-api-endpoint.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAK9D,UAAU,2BAA2B;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AASD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAmB;IACtC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;IAExC,YAAY,UAAU,EAAE,2BAA2B,EAKlD;IAED;;;;;;OAMG;IACG,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAuD5D;CACF"}
1
+ {"version":3,"file":"sim-aws-api-endpoint.d.ts","sourceRoot":"","sources":["../../../../src/serve/http/api/sim-aws-api-endpoint.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAO9D,UAAU,2BAA2B;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8C;IAExE,YAAY,UAAU,EAAE,2BAA2B,EAIlD;IAED;;;;;;OAMG;IACG,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CA0C5D;CACF"}
@@ -1,15 +1,8 @@
1
1
  import { SimSdkUnbridgedWireRequestError } from "../../../sdk/error/sim-sdk.error.js";
2
2
  import { SimSdkWireDispatcher } from "../../../sdk/wire/sim-sdk-wire-dispatcher.js";
3
3
  import { readSimSdkWireCredentialScope } from "../../../sdk/wire/sim-sdk-wire-operation.js";
4
- import { SimS3ApiEndpoint } from "../../../service/s3/serve/api/sim-s3-api.js";
5
- import { SimStsApiEndpoint } from "../../../service/sts/serve/sim-sts-api.js";
6
4
  import { SimAwsReceivedRequest } from "../request/sim-aws-received-request.js";
7
- /**
8
- * The SigV4 signing names of the services whose protocol is read by an
9
- * endpoint of its own rather than by the AWS JSON protocol dispatcher.
10
- */
11
- const s3SigningName = "s3";
12
- const stsSigningName = "sts";
5
+ import { simAwsProtocolEndpoints, } from "./sim-aws-api-protocols.js";
13
6
  /**
14
7
  * The general AWS service API, served on one endpoint.
15
8
  *
@@ -26,19 +19,17 @@ const stsSigningName = "sts";
26
19
  *
27
20
  * The scope also says which protocol to read the request with. Most simulated
28
21
  * services speak the AWS JSON protocol and name their operation in a header.
29
- * S3 speaks REST-XML and STS speaks Query, and each names its operation
30
- * somewhere else, so each is read by an endpoint of its own.
22
+ * The rest name it somewhere else, and each is read by an endpoint of its own,
23
+ * registered under its signing name.
31
24
  */
32
25
  export class SimAwsApiEndpoint {
33
26
  simAws;
34
27
  dispatcher;
35
- s3;
36
- sts;
28
+ protocols;
37
29
  constructor(properties) {
38
30
  this.simAws = properties.simAws;
39
31
  this.dispatcher = new SimSdkWireDispatcher(properties.simAws);
40
- this.s3 = new SimS3ApiEndpoint({ simAws: properties.simAws });
41
- this.sts = new SimStsApiEndpoint({ simAws: properties.simAws });
32
+ this.protocols = simAwsProtocolEndpoints(properties.simAws);
42
33
  }
43
34
  /**
44
35
  * Answer an AWS service API request, or decline one that is not signed.
@@ -61,15 +52,9 @@ export class SimAwsApiEndpoint {
61
52
  regionName: scope.regionName,
62
53
  },
63
54
  });
64
- // S3 states its operation in the method and path, and STS in a
65
- // form-encoded field, so neither can be read by the header the AWS JSON
66
- // protocol names its operation in.
67
- const body = received.body ?? new Uint8Array();
68
- if (scope.signingName === s3SigningName) {
69
- return await this.s3.handle(request, body, caller.toCaller(), scope.regionName);
70
- }
71
- if (scope.signingName === stsSigningName) {
72
- return await this.sts.handle(request, body, caller.toCaller(), scope.regionName);
55
+ const protocol = this.protocols.get(scope.signingName);
56
+ if (protocol !== undefined) {
57
+ return await protocol.handle(request, received.body ?? new Uint8Array(), caller.toCaller(), scope.regionName);
73
58
  }
74
59
  let response;
75
60
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"sim-aws-api-endpoint.js","sourceRoot":"","sources":["../../../../src/serve/http/api/sim-aws-api-endpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sim-aws-api-endpoint.js","sourceRoot":"","sources":["../../../../src/serve/http/api/sim-aws-api-endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,qCAAqC,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;AAG5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EACL,uBAAuB,GAExB,MAAM,4BAA4B,CAAC;AAMpC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,iBAAiB;IACX,MAAM,CAAS;IACf,UAAU,CAAuB;IACjC,SAAS,CAA8C;IAExE,YAAY,UAAuC;QACjD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,IAAI,oBAAoB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,CAAC,SAAS,GAAG,uBAAuB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,OAAgB;QAC3B,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,oBAAoB,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEjE,MAAM,KAAK,GAAG,6BAA6B,CAAC,WAAW,CAAC,CAAC;QACzD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,OAAO,EAAE;YACvD,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,aAAa,EAAE;gBACb,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;aAC7B;SACF,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,MAAM,QAAQ,CAAC,MAAM,CAC1B,OAAO,EACP,QAAQ,CAAC,IAAI,IAAI,IAAI,UAAU,EAAE,EACjC,MAAM,CAAC,QAAQ,EAAE,EACjB,KAAK,CAAC,UAAU,CACjB,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,CAAC;QACb,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,+BAA+B,EAAE,CAAC;gBACrD,OAAO,8BAA8B,CAAC,KAAK,CAAC,CAAC;YAC/C,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE;YACrE,MAAM,EAAE,QAAQ,CAAC,UAAU;YAC3B,OAAO,EAAE,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE;SACjC,CAAC,CAAC;IACL,CAAC;CACF;AAED;;;;;;;GAOG;AACH,SAAS,8BAA8B,CAAC,KAAY;IAClD,OAAO,IAAI,QAAQ,CAAC,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE;QACxC,MAAM,EAAE,GAAG;QACX,OAAO,EAAE,EAAE,cAAc,EAAE,2BAA2B,EAAE;KACzD,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAC3B,OAAgB,EAChB,IAA4B;IAE5B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEjC,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,IAAI,EAAE,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE;QACpC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;QAC5C,IAAI,EAAE,IAAI,IAAI,IAAI,UAAU,EAAE;KAC/B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { SimAwsCaller } from "../../../service/aws/caller/sim-aws-caller.js";
2
+ import type { SimAws } from "../../../service/aws/sim-aws.js";
3
+ /**
4
+ * A served endpoint that reads one AWS protocol other than AWS JSON.
5
+ */
6
+ export interface SimAwsProtocolEndpoint {
7
+ handle(request: Request, body: Uint8Array, caller: SimAwsCaller, regionName: string): Promise<Response>;
8
+ }
9
+ /**
10
+ * Build the endpoint for each service that reads its own protocol.
11
+ */
12
+ export declare function simAwsProtocolEndpoints(simAws: SimAws): ReadonlyMap<string, SimAwsProtocolEndpoint>;
13
+ //# sourceMappingURL=sim-aws-api-protocols.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-aws-api-protocols.d.ts","sourceRoot":"","sources":["../../../../src/serve/http/api/sim-aws-api-protocols.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAS9D;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,CACJ,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,QAAQ,CAAC,CAAC;CACtB;AA+BD;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,GACb,WAAW,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAM7C"}
@@ -0,0 +1,41 @@
1
+ import { simCloudFormationApiEndpoint } from "../../../service/cloudformation/serve/sim-cloudformation-api.js";
2
+ import { simElbV2ApiEndpoint } from "../../../service/elbv2/serve/api/sim-elbv2-api.js";
3
+ import { simIamApiEndpoint } from "../../../service/iam/serve/sim-iam-api.js";
4
+ import { simLambdaApiEndpoint } from "../../../service/lambda/serve/api/sim-lambda-api.js";
5
+ import { SimS3ApiEndpoint } from "../../../service/s3/serve/api/sim-s3-api.js";
6
+ import { simSnsApiEndpoint } from "../../../service/sns/serve/sim-sns-api.js";
7
+ import { simStsApiEndpoint } from "../../../service/sts/serve/sim-sts-api.js";
8
+ /**
9
+ * The services whose requests are read by an endpoint of their own, keyed by
10
+ * the SigV4 signing name that routes a request to one.
11
+ *
12
+ * Most simulated services speak the AWS JSON protocol and name their operation
13
+ * in a header, and those are dispatched from the header without any of this.
14
+ * The rest name their operation somewhere the header does not reach: S3 in the
15
+ * method and the path, and the Query services in a form-encoded field. Each of
16
+ * those needs a reader, and the signing name is the only thing in the request
17
+ * that says which one to use, since a client given `--endpoint-url` sends the
18
+ * same hostname whatever service it is addressing.
19
+ *
20
+ * A service joins this by adding an entry. The value builds the endpoint from
21
+ * the environment it serves, so nothing is built until an endpoint exists to
22
+ * serve.
23
+ */
24
+ const simAwsProtocolEndpointFactories = new Map([
25
+ ["s3", (simAws) => new SimS3ApiEndpoint({ simAws })],
26
+ ["sts", simStsApiEndpoint],
27
+ ["sns", simSnsApiEndpoint],
28
+ ["cloudformation", simCloudFormationApiEndpoint],
29
+ ["lambda", simLambdaApiEndpoint],
30
+ ["iam", simIamApiEndpoint],
31
+ ["elasticloadbalancing", simElbV2ApiEndpoint],
32
+ ]);
33
+ /**
34
+ * Build the endpoint for each service that reads its own protocol.
35
+ */
36
+ export function simAwsProtocolEndpoints(simAws) {
37
+ return new Map(simAwsProtocolEndpointFactories
38
+ .entries()
39
+ .map(([signingName, build]) => [signingName, build(simAws)]));
40
+ }
41
+ //# sourceMappingURL=sim-aws-api-protocols.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-aws-api-protocols.js","sourceRoot":"","sources":["../../../../src/serve/http/api/sim-aws-api-protocols.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,4BAA4B,EAAE,MAAM,iEAAiE,CAAC;AAC/G,OAAO,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qDAAqD,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAc9E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,+BAA+B,GAAG,IAAI,GAAG,CAG7C;IACA,CAAC,IAAI,EAAE,CAAC,MAAM,EAA0B,EAAE,CAAC,IAAI,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5E,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAC1B,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAC1B,CAAC,gBAAgB,EAAE,4BAA4B,CAAC;IAChD,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IAChC,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAC1B,CAAC,sBAAsB,EAAE,mBAAmB,CAAC;CAC9C,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAc;IAEd,OAAO,IAAI,GAAG,CACZ,+BAA+B;SAC5B,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAC/D,CAAC;AACJ,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { AwsRegionName } from "../../aws/sim-aws-region.js";
2
+ /** The file a CDK cloud assembly describes itself in. */
3
+ export declare const CDK_ASSEMBLY_MANIFEST_FILE_NAME = "manifest.json";
4
+ interface SimCdkAssemblyArtifact {
5
+ readonly type?: string | undefined;
6
+ readonly environment?: string | undefined;
7
+ readonly dependencies?: readonly string[] | undefined;
8
+ readonly properties?: {
9
+ readonly templateFile?: string | undefined;
10
+ readonly stackName?: string | undefined;
11
+ } | undefined;
12
+ }
13
+ export type SimCdkAssemblyArtifacts = Record<string, SimCdkAssemblyArtifact>;
14
+ /**
15
+ * Read the artifacts a CDK cloud assembly's `manifest.json` holds.
16
+ *
17
+ * Reading it is what tells a caller that the directory they named is a cloud
18
+ * assembly at all, so the failure names the file rather than the directory.
19
+ */
20
+ export declare function readCdkAssemblyArtifacts(manifestPath: string): Promise<SimCdkAssemblyArtifacts>;
21
+ /**
22
+ * Read the region out of a CDK environment such as `aws://111111111111/eu-west-2`.
23
+ *
24
+ * An environment-agnostic Stack carries `unknown-region`, and takes its region
25
+ * from whoever deploys it instead.
26
+ */
27
+ export declare function cdkEnvironmentRegionName(environment: string | undefined): AwsRegionName | undefined;
28
+ export {};
29
+ //# sourceMappingURL=sim-cdk-assembly-manifest-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cdk-assembly-manifest-file.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudformation/cdk/sim-cdk-assembly-manifest-file.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,yDAAyD;AACzD,eAAO,MAAM,+BAA+B,kBAAkB,CAAC;AAK/D,UAAU,sBAAsB;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,UAAU,CAAC,EAChB;QACE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KACzC,GACD,SAAS,CAAC;CACf;AAED,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;AAM7E;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,uBAAuB,CAAC,CAalC;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,GAAG,SAAS,GAC9B,aAAa,GAAG,SAAS,CAM3B"}
@@ -0,0 +1,36 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import { jsonParse } from "../../../util/type-guard/json.js";
3
+ /** The file a CDK cloud assembly describes itself in. */
4
+ export const CDK_ASSEMBLY_MANIFEST_FILE_NAME = "manifest.json";
5
+ /** What an environment-agnostic Stack carries in place of a region. */
6
+ const CDK_UNKNOWN_REGION = "unknown-region";
7
+ /**
8
+ * Read the artifacts a CDK cloud assembly's `manifest.json` holds.
9
+ *
10
+ * Reading it is what tells a caller that the directory they named is a cloud
11
+ * assembly at all, so the failure names the file rather than the directory.
12
+ */
13
+ export async function readCdkAssemblyArtifacts(manifestPath) {
14
+ try {
15
+ // oxlint-disable-next-line security/detect-non-literal-fs-filename
16
+ const body = await readFile(manifestPath, "utf8");
17
+ const manifest = jsonParse(body);
18
+ return manifest.artifacts ?? {};
19
+ }
20
+ catch (error) {
21
+ throw new Error(`Could not read the CDK cloud assembly manifest at ${manifestPath}. A cloud assembly is what \`cdk synth\` writes, and it holds a manifest naming every Stack in it.`, { cause: error });
22
+ }
23
+ }
24
+ /**
25
+ * Read the region out of a CDK environment such as `aws://111111111111/eu-west-2`.
26
+ *
27
+ * An environment-agnostic Stack carries `unknown-region`, and takes its region
28
+ * from whoever deploys it instead.
29
+ */
30
+ export function cdkEnvironmentRegionName(environment) {
31
+ const regionName = environment?.split("/").at(-1);
32
+ return regionName === CDK_UNKNOWN_REGION
33
+ ? undefined
34
+ : regionName;
35
+ }
36
+ //# sourceMappingURL=sim-cdk-assembly-manifest-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cdk-assembly-manifest-file.js","sourceRoot":"","sources":["../../../../src/service/cloudformation/cdk/sim-cdk-assembly-manifest-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAmB,MAAM,kCAAkC,CAAC;AAG9E,yDAAyD;AACzD,MAAM,CAAC,MAAM,+BAA+B,GAAG,eAAe,CAAC;AAE/D,uEAAuE;AACvE,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAoB5C;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,YAAoB;IAEpB,IAAI,CAAC;QACH,mEAAmE;QACnE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAA0C,CAAC,CAAC;QAEvE,OAAO,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,qDAAqD,YAAY,oGAAoG,EACrK,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,WAA+B;IAE/B,MAAM,UAAU,GAAG,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAElD,OAAO,UAAU,KAAK,kBAAkB;QACtC,CAAC,CAAC,SAAS;QACX,CAAC,CAAE,UAAwC,CAAC;AAChD,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { AwsRegionName } from "../../aws/sim-aws-region.js";
2
+ /**
3
+ * One CloudFormation Stack artifact in a CDK cloud assembly.
4
+ */
5
+ export interface SimCdkAssemblyStack {
6
+ /** The key the artifact is held under, which other artifacts depend on. */
7
+ readonly artifactId: string;
8
+ /** The name the Stack is deployed as. */
9
+ readonly stackName: string;
10
+ /** The absolute path to the synthesized template file. */
11
+ readonly templatePath: string;
12
+ /**
13
+ * The region the Stack's environment names, absent when it names none.
14
+ */
15
+ readonly regionName?: AwsRegionName | undefined;
16
+ /** The artifacts this one comes after, Stacks and assets alike. */
17
+ readonly dependencyArtifactIds: readonly string[];
18
+ }
19
+ /**
20
+ * Read the Stack artifacts a CDK cloud assembly holds.
21
+ *
22
+ * The manifest is the only file that knows about the set. Each Stack artifact
23
+ * carries the template file to deploy, the environment naming its region, and
24
+ * the artifacts it comes after.
25
+ */
26
+ export declare function loadCdkAssemblyStacks(directoryPath: string): Promise<readonly SimCdkAssemblyStack[]>;
27
+ //# sourceMappingURL=sim-cdk-assembly-manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cdk-assembly-manifest.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudformation/cdk/sim-cdk-assembly-manifest.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AASjE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,yCAAyC;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,0DAA0D;IAC1D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAEhD,mEAAmE;IACnE,QAAQ,CAAC,qBAAqB,EAAE,SAAS,MAAM,EAAE,CAAC;CACnD;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,SAAS,mBAAmB,EAAE,CAAC,CAkBzC"}
@@ -0,0 +1,24 @@
1
+ import path from "node:path";
2
+ import { CDK_ASSEMBLY_MANIFEST_FILE_NAME, cdkEnvironmentRegionName, readCdkAssemblyArtifacts, } from "./sim-cdk-assembly-manifest-file.js";
3
+ const CDK_STACK_ARTIFACT_TYPE = "aws:cloudformation:stack";
4
+ /**
5
+ * Read the Stack artifacts a CDK cloud assembly holds.
6
+ *
7
+ * The manifest is the only file that knows about the set. Each Stack artifact
8
+ * carries the template file to deploy, the environment naming its region, and
9
+ * the artifacts it comes after.
10
+ */
11
+ export async function loadCdkAssemblyStacks(directoryPath) {
12
+ const assemblyPath = path.resolve(directoryPath);
13
+ const artifacts = await readCdkAssemblyArtifacts(path.join(assemblyPath, CDK_ASSEMBLY_MANIFEST_FILE_NAME));
14
+ return Object.entries(artifacts)
15
+ .filter(([, artifact]) => artifact.type === CDK_STACK_ARTIFACT_TYPE)
16
+ .map(([artifactId, artifact]) => ({
17
+ artifactId,
18
+ stackName: artifact.properties?.stackName ?? artifactId,
19
+ templatePath: path.join(assemblyPath, artifact.properties?.templateFile ?? `${artifactId}.template.json`),
20
+ regionName: cdkEnvironmentRegionName(artifact.environment),
21
+ dependencyArtifactIds: artifact.dependencies ?? [],
22
+ }));
23
+ }
24
+ //# sourceMappingURL=sim-cdk-assembly-manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cdk-assembly-manifest.js","sourceRoot":"","sources":["../../../../src/service/cloudformation/cdk/sim-cdk-assembly-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,+BAA+B,EAC/B,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,qCAAqC,CAAC;AAE7C,MAAM,uBAAuB,GAAG,0BAA0B,CAAC;AAwB3D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,aAAqB;IAErB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,MAAM,wBAAwB,CAC9C,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,+BAA+B,CAAC,CACzD,CAAC;IAEF,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;SAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,uBAAuB,CAAC;SACnE,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QAChC,UAAU;QACV,SAAS,EAAE,QAAQ,CAAC,UAAU,EAAE,SAAS,IAAI,UAAU;QACvD,YAAY,EAAE,IAAI,CAAC,IAAI,CACrB,YAAY,EACZ,QAAQ,CAAC,UAAU,EAAE,YAAY,IAAI,GAAG,UAAU,gBAAgB,CACnE;QACD,UAAU,EAAE,wBAAwB,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC1D,qBAAqB,EAAE,QAAQ,CAAC,YAAY,IAAI,EAAE;KACnD,CAAC,CAAC,CAAC;AACR,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { SimCdkAssemblyStack } from "./sim-cdk-assembly-manifest.js";
2
+ /**
3
+ * Put Stack artifacts into an order their dependencies allow.
4
+ *
5
+ * A Stack comes after every Stack it depends on. Artifacts outside the given
6
+ * set are left where they are, so a selected subset is ordered among itself
7
+ * and an assets artifact orders nothing.
8
+ *
9
+ * Stacks that depend on nothing keep the order the manifest holds them in.
10
+ */
11
+ export declare function orderCdkAssemblyStacks(stacks: readonly SimCdkAssemblyStack[]): readonly SimCdkAssemblyStack[];
12
+ //# sourceMappingURL=sim-cdk-assembly-order.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cdk-assembly-order.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudformation/cdk/sim-cdk-assembly-order.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAE1E;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS,mBAAmB,EAAE,GACrC,SAAS,mBAAmB,EAAE,CAQhC"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Put Stack artifacts into an order their dependencies allow.
3
+ *
4
+ * A Stack comes after every Stack it depends on. Artifacts outside the given
5
+ * set are left where they are, so a selected subset is ordered among itself
6
+ * and an assets artifact orders nothing.
7
+ *
8
+ * Stacks that depend on nothing keep the order the manifest holds them in.
9
+ */
10
+ export function orderCdkAssemblyStacks(stacks) {
11
+ const ordering = new SimCdkAssemblyStackOrdering(stacks);
12
+ for (const stack of stacks) {
13
+ ordering.place(stack, []);
14
+ }
15
+ return ordering.ordered;
16
+ }
17
+ class SimCdkAssemblyStackOrdering {
18
+ ordered = [];
19
+ byArtifactId;
20
+ placed = new Set();
21
+ placing = new Set();
22
+ constructor(stacks) {
23
+ this.byArtifactId = new Map(stacks.map((stack) => [stack.artifactId, stack]));
24
+ }
25
+ place(stack, trail) {
26
+ if (this.placed.has(stack.artifactId)) {
27
+ return;
28
+ }
29
+ this.assertNoCycle(stack, trail);
30
+ this.placing.add(stack.artifactId);
31
+ for (const dependency of this.dependenciesOf(stack)) {
32
+ this.place(dependency, [...trail, stack.artifactId]);
33
+ }
34
+ this.placing.delete(stack.artifactId);
35
+ this.placed.add(stack.artifactId);
36
+ this.ordered.push(stack);
37
+ }
38
+ dependenciesOf(stack) {
39
+ return stack.dependencyArtifactIds
40
+ .map((artifactId) => this.byArtifactId.get(artifactId))
41
+ .filter((dependency) => dependency !== undefined);
42
+ }
43
+ assertNoCycle(stack, trail) {
44
+ if (!this.placing.has(stack.artifactId)) {
45
+ return;
46
+ }
47
+ const cycle = [
48
+ ...trail.slice(trail.indexOf(stack.artifactId)),
49
+ stack.artifactId,
50
+ ];
51
+ throw new Error(`The CDK cloud assembly holds Stacks that depend on each other in a cycle, so there is no order to deploy them in: ${cycle.join(" -> ")}.`);
52
+ }
53
+ }
54
+ //# sourceMappingURL=sim-cdk-assembly-order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cdk-assembly-order.js","sourceRoot":"","sources":["../../../../src/service/cloudformation/cdk/sim-cdk-assembly-order.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAsC;IAEtC,MAAM,QAAQ,GAAG,IAAI,2BAA2B,CAAC,MAAM,CAAC,CAAC;IAEzD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,QAAQ,CAAC,OAAO,CAAC;AAC1B,CAAC;AAED,MAAM,2BAA2B;IACf,OAAO,GAA0B,EAAE,CAAC;IAEnC,YAAY,CAAmC;IAC/C,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IAC3B,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAE7C,YAAY,MAAsC;QAChD,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CACzB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CACjD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAA0B,EAAE,KAAwB;QACxD,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAEnC,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAEO,cAAc,CACpB,KAA0B;QAE1B,OAAO,KAAK,CAAC,qBAAqB;aAC/B,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;aACtD,MAAM,CACL,CAAC,UAAU,EAAqC,EAAE,CAChD,UAAU,KAAK,SAAS,CAC3B,CAAC;IACN,CAAC;IAEO,aAAa,CACnB,KAA0B,EAC1B,KAAwB;QAExB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG;YACZ,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC/C,KAAK,CAAC,UAAU;SACjB,CAAC;QAEF,MAAM,IAAI,KAAK,CACb,qHAAqH,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAC3I,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,17 @@
1
+ import type { SimCdkAssemblyStack } from "./sim-cdk-assembly-manifest.js";
2
+ /**
3
+ * Pick the named Stack artifacts out of a CDK cloud assembly.
4
+ *
5
+ * A name matches the Stack name or the artifact ID, since a CDK app under a
6
+ * Stage deploys a Stack whose artifact ID is not what the Stack is called.
7
+ * Naming nothing takes every Stack in the assembly.
8
+ *
9
+ * Throws naming the Stacks the assembly does hold, which is what a caller who
10
+ * has just renamed one needs to see.
11
+ */
12
+ export declare function selectCdkAssemblyStacks(properties: {
13
+ readonly stacks: readonly SimCdkAssemblyStack[];
14
+ readonly stackNames?: readonly string[] | undefined;
15
+ readonly directoryPath: string;
16
+ }): readonly SimCdkAssemblyStack[];
17
+ //# sourceMappingURL=sim-cdk-assembly-selection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cdk-assembly-selection.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudformation/cdk/sim-cdk-assembly-selection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAE1E;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE;IAClD,QAAQ,CAAC,MAAM,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC,GAAG,SAAS,mBAAmB,EAAE,CAcjC"}
@@ -0,0 +1,33 @@
1
+ import { assertDefined } from "../../../util/type-guard/defined.js";
2
+ /**
3
+ * Pick the named Stack artifacts out of a CDK cloud assembly.
4
+ *
5
+ * A name matches the Stack name or the artifact ID, since a CDK app under a
6
+ * Stage deploys a Stack whose artifact ID is not what the Stack is called.
7
+ * Naming nothing takes every Stack in the assembly.
8
+ *
9
+ * Throws naming the Stacks the assembly does hold, which is what a caller who
10
+ * has just renamed one needs to see.
11
+ */
12
+ export function selectCdkAssemblyStacks(properties) {
13
+ const { stacks, stackNames, directoryPath } = properties;
14
+ if (stackNames === undefined) {
15
+ return stacks;
16
+ }
17
+ const selected = new Set(stackNames.map((stackName) => selectOne({ stacks, stackName, directoryPath })));
18
+ return stacks.filter((stack) => selected.has(stack));
19
+ }
20
+ function selectOne(properties) {
21
+ const { stacks, stackName, directoryPath } = properties;
22
+ const selected = stacks.find((stack) => stack.stackName === stackName || stack.artifactId === stackName);
23
+ assertDefined(selected, `The CDK cloud assembly at ${directoryPath} holds no Stack named ${stackName}. ` +
24
+ `It holds ${stackNameList(stacks)}.`);
25
+ return selected;
26
+ }
27
+ function stackNameList(stacks) {
28
+ if (stacks.length === 0) {
29
+ return "no Stacks at all";
30
+ }
31
+ return stacks.map((stack) => stack.stackName).join(", ");
32
+ }
33
+ //# sourceMappingURL=sim-cdk-assembly-selection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cdk-assembly-selection.js","sourceRoot":"","sources":["../../../../src/service/cloudformation/cdk/sim-cdk-assembly-selection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAGpE;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CAAC,UAIvC;IACC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,UAAU,CAAC;IAEzD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAC3B,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAChD,CACF,CAAC;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,SAAS,CAAC,UAIlB;IACC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,UAAU,CAAC;IAExD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAC1B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,CAC3E,CAAC;IAEF,aAAa,CACX,QAAQ,EACR,6BAA6B,aAAa,yBAAyB,SAAS,IAAI;QAC9E,YAAY,aAAa,CAAC,MAAM,CAAC,GAAG,CACvC,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,aAAa,CAAC,MAAsC;IAC3D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { AsyncMappedFactory } from "@kensio/part-factory";
2
+ import { TemporaryDirectory } from "../../../util/filesystem/temporary-directory.js";
3
+ import type { SimCfnTemplateValueRecord } from "../template/value/sim-cfn-template-value.js";
4
+ /**
5
+ * One synthesized Stack in a cloud assembly a test writes.
6
+ */
7
+ export interface SimCdkCloudAssemblyStackInput {
8
+ /** The key the manifest holds the artifact under. */
9
+ readonly artifactId: string;
10
+ /** The name the Stack deploys as, which defaults to the artifact ID. */
11
+ readonly stackName?: string | undefined;
12
+ /**
13
+ * The region the Stack's environment names.
14
+ *
15
+ * Left out, the Stack is environment-agnostic, the way `cdk synth` writes a
16
+ * Stack given no `env`.
17
+ */
18
+ readonly regionName?: string | undefined;
19
+ /** The artifact IDs the manifest says this Stack comes after. */
20
+ readonly dependencies?: readonly string[] | undefined;
21
+ /**
22
+ * The template's Resources, which default to one Bucket named after the
23
+ * artifact, so a test can find the Stack's work in the region it landed in.
24
+ */
25
+ readonly resources?: SimCfnTemplateValueRecord | undefined;
26
+ /** The template's Outputs, which a Stack sharing a value needs. */
27
+ readonly outputs?: SimCfnTemplateValueRecord | undefined;
28
+ }
29
+ export interface SimCdkCloudAssemblyInput {
30
+ readonly stacks: readonly SimCdkCloudAssemblyStackInput[];
31
+ }
32
+ /** The Bucket a Stack in a written assembly creates, unless it is given others. */
33
+ export declare function assemblyStackBucketName(artifactId: string): string;
34
+ /**
35
+ * Writes a synthesized CDK cloud assembly to a temporary directory.
36
+ *
37
+ * What comes back is the directory holding it, so the assembly itself is at
38
+ * `directory.join("cdk.out")`.
39
+ *
40
+ * ```typescript
41
+ * const directory = await simCdkCloudAssemblyFactory.make({
42
+ * stacks: [
43
+ * { artifactId: "SiteStack", regionName: "eu-west-2" },
44
+ * { artifactId: "DnsStack", regionName: "us-east-1" },
45
+ * ],
46
+ * });
47
+ * ```
48
+ */
49
+ export declare const simCdkCloudAssemblyFactory: AsyncMappedFactory<SimCdkCloudAssemblyInput, TemporaryDirectory, undefined>;
50
+ //# sourceMappingURL=sim-cdk-cloud-assembly.factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cdk-cloud-assembly.factory.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudformation/cdk/sim-cdk-cloud-assembly.factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAErF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AAE7F;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,qDAAqD;IACrD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,wEAAwE;IACxE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAExC;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEzC,iEAAiE;IACjE,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAEtD;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;IAE3D,mEAAmE;IACnE,QAAQ,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;CAC1D;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,EAAE,SAAS,6BAA6B,EAAE,CAAC;CAC3D;AAED,mFAAmF;AACnF,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAElE;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,0BAA0B,6EA6BtC,CAAC"}
@@ -0,0 +1,69 @@
1
+ import { AsyncMappedFactory } from "@kensio/part-factory";
2
+ import { TemporaryDirectory } from "../../../util/filesystem/temporary-directory.js";
3
+ import { jsonStringify } from "../../../util/type-guard/json.js";
4
+ /** The Bucket a Stack in a written assembly creates, unless it is given others. */
5
+ export function assemblyStackBucketName(artifactId) {
6
+ return `${artifactId.toLowerCase()}-bucket`;
7
+ }
8
+ /**
9
+ * Writes a synthesized CDK cloud assembly to a temporary directory.
10
+ *
11
+ * What comes back is the directory holding it, so the assembly itself is at
12
+ * `directory.join("cdk.out")`.
13
+ *
14
+ * ```typescript
15
+ * const directory = await simCdkCloudAssemblyFactory.make({
16
+ * stacks: [
17
+ * { artifactId: "SiteStack", regionName: "eu-west-2" },
18
+ * { artifactId: "DnsStack", regionName: "us-east-1" },
19
+ * ],
20
+ * });
21
+ * ```
22
+ */
23
+ export const simCdkCloudAssemblyFactory = new AsyncMappedFactory(() => ({ stacks: [{ artifactId: "SiteStack", regionName: "eu-west-2" }] }), async (input) => {
24
+ const directory = new TemporaryDirectory();
25
+ await directory.writeFile(["cdk.out", "manifest.json"], jsonStringify(assemblyManifest(input.stacks)));
26
+ await Promise.all(input.stacks.map(async (stack) => directory.writeFile(["cdk.out", templateFileName(stack)],
27
+ // JSON.stringify drops an undefined value, so a Stack given no
28
+ // Outputs writes a template with none rather than a null one.
29
+ jsonStringify({
30
+ Resources: stackResources(stack),
31
+ Outputs: stack.outputs,
32
+ }))));
33
+ return directory;
34
+ });
35
+ function assemblyManifest(stacks) {
36
+ return {
37
+ version: "54.0.0",
38
+ artifacts: Object.fromEntries(stacks.map((stack) => [
39
+ stack.artifactId,
40
+ {
41
+ type: "aws:cloudformation:stack",
42
+ environment: `aws://111111111111/${stack.regionName ?? "unknown-region"}`,
43
+ displayName: stack.artifactId,
44
+ dependencies: [
45
+ ...(stack.dependencies ?? []),
46
+ `${stack.artifactId}.assets`,
47
+ ],
48
+ properties: {
49
+ templateFile: templateFileName(stack),
50
+ stackName: stack.stackName,
51
+ },
52
+ },
53
+ ])),
54
+ };
55
+ }
56
+ function templateFileName(stack) {
57
+ return `${stack.artifactId}.template.json`;
58
+ }
59
+ function stackResources(stack) {
60
+ return (stack.resources ?? {
61
+ [`${stack.artifactId}Bucket`]: {
62
+ Type: "AWS::S3::Bucket",
63
+ Properties: {
64
+ BucketName: assemblyStackBucketName(stack.artifactId),
65
+ },
66
+ },
67
+ });
68
+ }
69
+ //# sourceMappingURL=sim-cdk-cloud-assembly.factory.js.map