@kensio/yulin 1.1.0 → 1.3.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 (689) hide show
  1. package/dist/sdk/router/resolve-sim-sdk-command-router.d.ts.map +1 -1
  2. package/dist/sdk/router/resolve-sim-sdk-command-router.js +3 -0
  3. package/dist/sdk/router/resolve-sim-sdk-command-router.js.map +1 -1
  4. package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts +5 -4
  5. package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts.map +1 -1
  6. package/dist/service/aws/factory/sim-aws-account-region-service-builder.js +17 -8
  7. package/dist/service/aws/factory/sim-aws-account-region-service-builder.js.map +1 -1
  8. package/dist/service/aws/factory/sim-aws-account-service-cache.d.ts.map +1 -1
  9. package/dist/service/aws/factory/sim-aws-account-service-cache.js +2 -0
  10. package/dist/service/aws/factory/sim-aws-account-service-cache.js.map +1 -1
  11. package/dist/service/aws/sim-aws-account-region-scope.d.ts +9 -1
  12. package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
  13. package/dist/service/aws/sim-aws-account-region-scope.js +10 -0
  14. package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
  15. package/dist/service/aws/sim-aws-account.d.ts +5 -1
  16. package/dist/service/aws/sim-aws-account.d.ts.map +1 -1
  17. package/dist/service/aws/sim-aws-account.js +6 -0
  18. package/dist/service/aws/sim-aws-account.js.map +1 -1
  19. package/dist/service/aws/sim-aws-region.d.ts +5 -1
  20. package/dist/service/aws/sim-aws-region.d.ts.map +1 -1
  21. package/dist/service/aws/sim-aws-region.js +6 -0
  22. package/dist/service/aws/sim-aws-region.js.map +1 -1
  23. package/dist/service/aws/sim-aws-service-accessors.d.ts +3 -1
  24. package/dist/service/aws/sim-aws-service-accessors.d.ts.map +1 -1
  25. package/dist/service/aws/sim-aws-service-accessors.js +4 -0
  26. package/dist/service/aws/sim-aws-service-accessors.js.map +1 -1
  27. package/dist/service/cloudformation/cdk/s3/bucket-notifications/configuration/sim-cdk-bucket-notification-configuration.d.ts +2 -0
  28. package/dist/service/cloudformation/cdk/s3/bucket-notifications/configuration/sim-cdk-bucket-notification-configuration.d.ts.map +1 -1
  29. package/dist/service/cloudformation/cdk/s3/bucket-notifications/configuration/sim-cdk-bucket-notification-configuration.js +15 -1
  30. package/dist/service/cloudformation/cdk/s3/bucket-notifications/configuration/sim-cdk-bucket-notification-configuration.js.map +1 -1
  31. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.d.ts +11 -3
  32. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.d.ts.map +1 -1
  33. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.js +20 -6
  34. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.js.map +1 -1
  35. package/dist/service/cloudformation/template/condition/sim-cfn-condition-comparison.d.ts +27 -0
  36. package/dist/service/cloudformation/template/condition/sim-cfn-condition-comparison.d.ts.map +1 -0
  37. package/dist/service/cloudformation/template/condition/sim-cfn-condition-comparison.js +44 -0
  38. package/dist/service/cloudformation/template/condition/sim-cfn-condition-comparison.js.map +1 -0
  39. package/dist/service/cloudformation/template/condition/sim-cfn-condition-evaluator.d.ts +36 -0
  40. package/dist/service/cloudformation/template/condition/sim-cfn-condition-evaluator.d.ts.map +1 -0
  41. package/dist/service/cloudformation/template/condition/sim-cfn-condition-evaluator.js +68 -0
  42. package/dist/service/cloudformation/template/condition/sim-cfn-condition-evaluator.js.map +1 -0
  43. package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.d.ts +45 -0
  44. package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.d.ts.map +1 -0
  45. package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.js +80 -0
  46. package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.js.map +1 -0
  47. package/dist/service/cloudformation/template/condition/sim-cfn-conditions.d.ts +28 -0
  48. package/dist/service/cloudformation/template/condition/sim-cfn-conditions.d.ts.map +1 -0
  49. package/dist/service/cloudformation/template/condition/sim-cfn-conditions.js +29 -0
  50. package/dist/service/cloudformation/template/condition/sim-cfn-conditions.js.map +1 -0
  51. package/dist/service/cloudformation/template/condition/sim-cfn-resource-conditions.d.ts +46 -0
  52. package/dist/service/cloudformation/template/condition/sim-cfn-resource-conditions.d.ts.map +1 -0
  53. package/dist/service/cloudformation/template/condition/sim-cfn-resource-conditions.js +94 -0
  54. package/dist/service/cloudformation/template/condition/sim-cfn-resource-conditions.js.map +1 -0
  55. package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.d.ts +0 -1
  56. package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.d.ts.map +1 -1
  57. package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.js +2 -14
  58. package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.js.map +1 -1
  59. package/dist/service/cloudformation/template/node/fn/if/sim-cfn-fn-if.d.ts +31 -0
  60. package/dist/service/cloudformation/template/node/fn/if/sim-cfn-fn-if.d.ts.map +1 -0
  61. package/dist/service/cloudformation/template/node/fn/if/sim-cfn-fn-if.js +52 -0
  62. package/dist/service/cloudformation/template/node/fn/if/sim-cfn-fn-if.js.map +1 -0
  63. package/dist/service/cloudformation/template/node/fn/select/sim-cfn-fn-select.d.ts +39 -0
  64. package/dist/service/cloudformation/template/node/fn/select/sim-cfn-fn-select.d.ts.map +1 -0
  65. package/dist/service/cloudformation/template/node/fn/select/sim-cfn-fn-select.js +82 -0
  66. package/dist/service/cloudformation/template/node/fn/select/sim-cfn-fn-select.js.map +1 -0
  67. package/dist/service/cloudformation/template/node/fn/split/sim-cfn-fn-split.d.ts +31 -0
  68. package/dist/service/cloudformation/template/node/fn/split/sim-cfn-fn-split.d.ts.map +1 -0
  69. package/dist/service/cloudformation/template/node/fn/split/sim-cfn-fn-split.js +45 -0
  70. package/dist/service/cloudformation/template/node/fn/split/sim-cfn-fn-split.js.map +1 -0
  71. package/dist/service/cloudformation/template/node/sim-cfn-list.d.ts +1 -1
  72. package/dist/service/cloudformation/template/node/sim-cfn-list.d.ts.map +1 -1
  73. package/dist/service/cloudformation/template/node/sim-cfn-list.js +3 -2
  74. package/dist/service/cloudformation/template/node/sim-cfn-list.js.map +1 -1
  75. package/dist/service/cloudformation/template/node/sim-cfn-object.d.ts.map +1 -1
  76. package/dist/service/cloudformation/template/node/sim-cfn-object.js +5 -1
  77. package/dist/service/cloudformation/template/node/sim-cfn-object.js.map +1 -1
  78. package/dist/service/cloudformation/template/parse/fn/if/sim-cfn-fn-if-parser.d.ts +19 -0
  79. package/dist/service/cloudformation/template/parse/fn/if/sim-cfn-fn-if-parser.d.ts.map +1 -0
  80. package/dist/service/cloudformation/template/parse/fn/if/sim-cfn-fn-if-parser.js +33 -0
  81. package/dist/service/cloudformation/template/parse/fn/if/sim-cfn-fn-if-parser.js.map +1 -0
  82. package/dist/service/cloudformation/template/parse/fn/select/sim-cfn-fn-select-parser.d.ts +26 -0
  83. package/dist/service/cloudformation/template/parse/fn/select/sim-cfn-fn-select-parser.d.ts.map +1 -0
  84. package/dist/service/cloudformation/template/parse/fn/select/sim-cfn-fn-select-parser.js +35 -0
  85. package/dist/service/cloudformation/template/parse/fn/select/sim-cfn-fn-select-parser.js.map +1 -0
  86. package/dist/service/cloudformation/template/parse/fn/sim-cfn-function-parser.d.ts +3 -0
  87. package/dist/service/cloudformation/template/parse/fn/sim-cfn-function-parser.d.ts.map +1 -1
  88. package/dist/service/cloudformation/template/parse/fn/sim-cfn-function-parser.js +18 -0
  89. package/dist/service/cloudformation/template/parse/fn/sim-cfn-function-parser.js.map +1 -1
  90. package/dist/service/cloudformation/template/parse/fn/split/sim-cfn-fn-split-parser.d.ts +25 -0
  91. package/dist/service/cloudformation/template/parse/fn/split/sim-cfn-fn-split-parser.d.ts.map +1 -0
  92. package/dist/service/cloudformation/template/parse/fn/split/sim-cfn-fn-split-parser.js +36 -0
  93. package/dist/service/cloudformation/template/parse/fn/split/sim-cfn-fn-split-parser.js.map +1 -0
  94. package/dist/service/cloudformation/template/resolve/sim-cfn-resolve-context.d.ts +14 -4
  95. package/dist/service/cloudformation/template/resolve/sim-cfn-resolve-context.d.ts.map +1 -1
  96. package/dist/service/cloudformation/template/resolve/sim-cfn-resolve-context.js +7 -5
  97. package/dist/service/cloudformation/template/resolve/sim-cfn-resolve-context.js.map +1 -1
  98. package/dist/service/cloudformation/template/sim-cfn-template-body-validator.d.ts.map +1 -1
  99. package/dist/service/cloudformation/template/sim-cfn-template-body-validator.js +4 -0
  100. package/dist/service/cloudformation/template/sim-cfn-template-body-validator.js.map +1 -1
  101. package/dist/service/cloudformation/template/sim-cfn-template.d.ts +14 -0
  102. package/dist/service/cloudformation/template/sim-cfn-template.d.ts.map +1 -1
  103. package/dist/service/cloudformation/template/sim-cfn-template.js +44 -12
  104. package/dist/service/cloudformation/template/sim-cfn-template.js.map +1 -1
  105. package/dist/service/cloudformation/template/value/sim-cfn-template-value-resolver.d.ts +20 -0
  106. package/dist/service/cloudformation/template/value/sim-cfn-template-value-resolver.d.ts.map +1 -1
  107. package/dist/service/cloudformation/template/value/sim-cfn-template-value-resolver.js +32 -2
  108. package/dist/service/cloudformation/template/value/sim-cfn-template-value-resolver.js.map +1 -1
  109. package/dist/service/cloudformation/template/value/sim-cfn-unresolved-expression.d.ts +11 -0
  110. package/dist/service/cloudformation/template/value/sim-cfn-unresolved-expression.d.ts.map +1 -0
  111. package/dist/service/cloudformation/template/value/sim-cfn-unresolved-expression.js +21 -0
  112. package/dist/service/cloudformation/template/value/sim-cfn-unresolved-expression.js.map +1 -0
  113. package/dist/service/cloudformation/template/value/sim-cfn-value-path.d.ts +22 -0
  114. package/dist/service/cloudformation/template/value/sim-cfn-value-path.d.ts.map +1 -0
  115. package/dist/service/cloudformation/template/value/sim-cfn-value-path.js +92 -0
  116. package/dist/service/cloudformation/template/value/sim-cfn-value-path.js.map +1 -0
  117. package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts +7 -0
  118. package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts.map +1 -1
  119. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts +2 -0
  120. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts.map +1 -1
  121. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js +1 -1
  122. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js.map +1 -1
  123. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.d.ts +10 -1
  124. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.d.ts.map +1 -1
  125. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.js +21 -1
  126. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.js.map +1 -1
  127. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-dispatcher.d.ts +24 -0
  128. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-dispatcher.d.ts.map +1 -0
  129. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-dispatcher.factory.d.ts +7 -0
  130. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-dispatcher.factory.d.ts.map +1 -0
  131. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-dispatcher.factory.js +38 -0
  132. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-dispatcher.factory.js.map +1 -0
  133. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-dispatcher.js +2 -0
  134. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-dispatcher.js.map +1 -0
  135. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.d.ts +17 -0
  136. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.d.ts.map +1 -0
  137. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.js +37 -0
  138. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.js.map +1 -0
  139. package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.d.ts +38 -0
  140. package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.d.ts.map +1 -0
  141. package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.js +45 -0
  142. package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.js.map +1 -0
  143. package/dist/service/cloudfront/sim-cloudfront.d.ts +3 -0
  144. package/dist/service/cloudfront/sim-cloudfront.d.ts.map +1 -1
  145. package/dist/service/cloudfront/sim-cloudfront.js +4 -1
  146. package/dist/service/cloudfront/sim-cloudfront.js.map +1 -1
  147. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.d.ts.map +1 -1
  148. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.js +1 -0
  149. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.js.map +1 -1
  150. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.d.ts +5 -0
  151. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.d.ts.map +1 -1
  152. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.js +7 -0
  153. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.js.map +1 -1
  154. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.d.ts +5 -4
  155. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.d.ts.map +1 -1
  156. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.js +16 -11
  157. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.js.map +1 -1
  158. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.d.ts +23 -0
  159. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.d.ts.map +1 -0
  160. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.js +62 -0
  161. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.js.map +1 -0
  162. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream.d.ts +17 -0
  163. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream.d.ts.map +1 -0
  164. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream.js +24 -0
  165. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream.js.map +1 -0
  166. package/dist/service/dynamodb/command/authorize/sim-dynamodb-authorizer.d.ts +11 -0
  167. package/dist/service/dynamodb/command/authorize/sim-dynamodb-authorizer.d.ts.map +1 -1
  168. package/dist/service/dynamodb/command/authorize/sim-dynamodb-authorizer.js +13 -0
  169. package/dist/service/dynamodb/command/authorize/sim-dynamodb-authorizer.js.map +1 -1
  170. package/dist/service/dynamodb/command/sim-dynamodb-command-handlers.d.ts +4 -0
  171. package/dist/service/dynamodb/command/sim-dynamodb-command-handlers.d.ts.map +1 -1
  172. package/dist/service/dynamodb/command/sim-dynamodb-command-handlers.js +2 -0
  173. package/dist/service/dynamodb/command/sim-dynamodb-command-handlers.js.map +1 -1
  174. package/dist/service/dynamodb/command/stream/describe-stream/describe-stream.command.d.ts +43 -0
  175. package/dist/service/dynamodb/command/stream/describe-stream/describe-stream.command.d.ts.map +1 -0
  176. package/dist/service/dynamodb/command/stream/describe-stream/describe-stream.command.js +5 -0
  177. package/dist/service/dynamodb/command/stream/describe-stream/describe-stream.command.js.map +1 -0
  178. package/dist/service/dynamodb/command/stream/describe-stream/sim-dynamodb-describe-stream.d.ts +26 -0
  179. package/dist/service/dynamodb/command/stream/describe-stream/sim-dynamodb-describe-stream.d.ts.map +1 -0
  180. package/dist/service/dynamodb/command/stream/describe-stream/sim-dynamodb-describe-stream.js +77 -0
  181. package/dist/service/dynamodb/command/stream/describe-stream/sim-dynamodb-describe-stream.js.map +1 -0
  182. package/dist/service/dynamodb/command/stream/get-records/get-records.command.d.ts +32 -0
  183. package/dist/service/dynamodb/command/stream/get-records/get-records.command.d.ts.map +1 -0
  184. package/dist/service/dynamodb/command/stream/get-records/get-records.command.js +5 -0
  185. package/dist/service/dynamodb/command/stream/get-records/get-records.command.js.map +1 -0
  186. package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-get-records.d.ts +29 -0
  187. package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-get-records.d.ts.map +1 -0
  188. package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-get-records.js +60 -0
  189. package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-get-records.js.map +1 -0
  190. package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-streams-api-record.d.ts +12 -0
  191. package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-streams-api-record.d.ts.map +1 -0
  192. package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-streams-api-record.js +52 -0
  193. package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-streams-api-record.js.map +1 -0
  194. package/dist/service/dynamodb/command/stream/get-shard-iterator/get-shard-iterator.command.d.ts +31 -0
  195. package/dist/service/dynamodb/command/stream/get-shard-iterator/get-shard-iterator.command.d.ts.map +1 -0
  196. package/dist/service/dynamodb/command/stream/get-shard-iterator/get-shard-iterator.command.js +5 -0
  197. package/dist/service/dynamodb/command/stream/get-shard-iterator/get-shard-iterator.command.js.map +1 -0
  198. package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-get-shard-iterator.d.ts +27 -0
  199. package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-get-shard-iterator.d.ts.map +1 -0
  200. package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-get-shard-iterator.js +42 -0
  201. package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-get-shard-iterator.js.map +1 -0
  202. package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-shard-iterator-position.d.ts +11 -0
  203. package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-shard-iterator-position.d.ts.map +1 -0
  204. package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-shard-iterator-position.js +53 -0
  205. package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-shard-iterator-position.js.map +1 -0
  206. package/dist/service/dynamodb/command/stream/list-streams/list-streams.command.d.ts +33 -0
  207. package/dist/service/dynamodb/command/stream/list-streams/list-streams.command.d.ts.map +1 -0
  208. package/dist/service/dynamodb/command/stream/list-streams/list-streams.command.js +5 -0
  209. package/dist/service/dynamodb/command/stream/list-streams/list-streams.command.js.map +1 -0
  210. package/dist/service/dynamodb/command/stream/list-streams/sim-dynamodb-list-streams.d.ts +26 -0
  211. package/dist/service/dynamodb/command/stream/list-streams/sim-dynamodb-list-streams.d.ts.map +1 -0
  212. package/dist/service/dynamodb/command/stream/list-streams/sim-dynamodb-list-streams.js +31 -0
  213. package/dist/service/dynamodb/command/stream/list-streams/sim-dynamodb-list-streams.js.map +1 -0
  214. package/dist/service/dynamodb/command/stream/list-streams/sim-dynamodb-stream-page.d.ts +28 -0
  215. package/dist/service/dynamodb/command/stream/list-streams/sim-dynamodb-stream-page.d.ts.map +1 -0
  216. package/dist/service/dynamodb/command/stream/list-streams/sim-dynamodb-stream-page.js +59 -0
  217. package/dist/service/dynamodb/command/stream/list-streams/sim-dynamodb-stream-page.js.map +1 -0
  218. package/dist/service/dynamodb/command/stream/sim-dynamodb-stream-access.d.ts +44 -0
  219. package/dist/service/dynamodb/command/stream/sim-dynamodb-stream-access.d.ts.map +1 -0
  220. package/dist/service/dynamodb/command/stream/sim-dynamodb-stream-access.js +53 -0
  221. package/dist/service/dynamodb/command/stream/sim-dynamodb-stream-access.js.map +1 -0
  222. package/dist/service/dynamodb/command/stream/sim-dynamodb-stream-command.types.d.ts +8 -0
  223. package/dist/service/dynamodb/command/stream/sim-dynamodb-stream-command.types.d.ts.map +1 -0
  224. package/dist/service/dynamodb/command/stream/sim-dynamodb-stream-command.types.js +2 -0
  225. package/dist/service/dynamodb/command/stream/sim-dynamodb-stream-command.types.js.map +1 -0
  226. package/dist/service/dynamodb/command/stream/stream.types.d.ts +84 -0
  227. package/dist/service/dynamodb/command/stream/stream.types.d.ts.map +1 -0
  228. package/dist/service/dynamodb/command/stream/stream.types.js +2 -0
  229. package/dist/service/dynamodb/command/stream/stream.types.js.map +1 -0
  230. package/dist/service/dynamodb/command/table/sim-dynamodb-create-table.d.ts +6 -0
  231. package/dist/service/dynamodb/command/table/sim-dynamodb-create-table.d.ts.map +1 -1
  232. package/dist/service/dynamodb/command/table/sim-dynamodb-create-table.js +11 -0
  233. package/dist/service/dynamodb/command/table/sim-dynamodb-create-table.js.map +1 -1
  234. package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-table-input.d.ts +6 -5
  235. package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-table-input.d.ts.map +1 -1
  236. package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-table-input.js +6 -16
  237. package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-table-input.js.map +1 -1
  238. package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-update-input.d.ts +4 -4
  239. package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-update-input.d.ts.map +1 -1
  240. package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-update-input.js +4 -9
  241. package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-update-input.js.map +1 -1
  242. package/dist/service/dynamodb/command/table/table.command.d.ts +2 -1
  243. package/dist/service/dynamodb/command/table/table.command.d.ts.map +1 -1
  244. package/dist/service/dynamodb/command/table/table.types.d.ts +4 -7
  245. package/dist/service/dynamodb/command/table/table.types.d.ts.map +1 -1
  246. package/dist/service/dynamodb/error/dynamodb.error.d.ts +17 -0
  247. package/dist/service/dynamodb/error/dynamodb.error.d.ts.map +1 -1
  248. package/dist/service/dynamodb/error/dynamodb.error.js +19 -0
  249. package/dist/service/dynamodb/error/dynamodb.error.js.map +1 -1
  250. package/dist/service/dynamodb/index.d.ts +1 -0
  251. package/dist/service/dynamodb/index.d.ts.map +1 -1
  252. package/dist/service/dynamodb/index.js +1 -0
  253. package/dist/service/dynamodb/index.js.map +1 -1
  254. package/dist/service/dynamodb/sdk/sim-dynamodb-streams-sdk-command-router.d.ts +24 -0
  255. package/dist/service/dynamodb/sdk/sim-dynamodb-streams-sdk-command-router.d.ts.map +1 -0
  256. package/dist/service/dynamodb/sdk/sim-dynamodb-streams-sdk-command-router.js +46 -0
  257. package/dist/service/dynamodb/sdk/sim-dynamodb-streams-sdk-command-router.js.map +1 -0
  258. package/dist/service/dynamodb/sim-dynamodb-streams.d.ts +59 -0
  259. package/dist/service/dynamodb/sim-dynamodb-streams.d.ts.map +1 -0
  260. package/dist/service/dynamodb/sim-dynamodb-streams.js +79 -0
  261. package/dist/service/dynamodb/sim-dynamodb-streams.js.map +1 -0
  262. package/dist/service/dynamodb/sim-dynamodb.d.ts +45 -60
  263. package/dist/service/dynamodb/sim-dynamodb.d.ts.map +1 -1
  264. package/dist/service/dynamodb/sim-dynamodb.js +59 -60
  265. package/dist/service/dynamodb/sim-dynamodb.js.map +1 -1
  266. package/dist/service/dynamodb/stream/sim-dynamodb-item-change.d.ts +34 -0
  267. package/dist/service/dynamodb/stream/sim-dynamodb-item-change.d.ts.map +1 -0
  268. package/dist/service/dynamodb/stream/sim-dynamodb-item-change.js +2 -0
  269. package/dist/service/dynamodb/stream/sim-dynamodb-item-change.js.map +1 -0
  270. package/dist/service/dynamodb/stream/sim-dynamodb-stream-activity.d.ts +42 -0
  271. package/dist/service/dynamodb/stream/sim-dynamodb-stream-activity.d.ts.map +1 -0
  272. package/dist/service/dynamodb/stream/sim-dynamodb-stream-activity.js +35 -0
  273. package/dist/service/dynamodb/stream/sim-dynamodb-stream-activity.js.map +1 -0
  274. package/dist/service/dynamodb/stream/sim-dynamodb-stream-arn.d.ts +22 -0
  275. package/dist/service/dynamodb/stream/sim-dynamodb-stream-arn.d.ts.map +1 -0
  276. package/dist/service/dynamodb/stream/sim-dynamodb-stream-arn.js +30 -0
  277. package/dist/service/dynamodb/stream/sim-dynamodb-stream-arn.js.map +1 -0
  278. package/dist/service/dynamodb/stream/sim-dynamodb-stream-images.d.ts +22 -0
  279. package/dist/service/dynamodb/stream/sim-dynamodb-stream-images.d.ts.map +1 -0
  280. package/dist/service/dynamodb/stream/sim-dynamodb-stream-images.js +27 -0
  281. package/dist/service/dynamodb/stream/sim-dynamodb-stream-images.js.map +1 -0
  282. package/dist/service/dynamodb/stream/sim-dynamodb-stream-position.d.ts +31 -0
  283. package/dist/service/dynamodb/stream/sim-dynamodb-stream-position.d.ts.map +1 -0
  284. package/dist/service/dynamodb/stream/sim-dynamodb-stream-position.js +13 -0
  285. package/dist/service/dynamodb/stream/sim-dynamodb-stream-position.js.map +1 -0
  286. package/dist/service/dynamodb/stream/sim-dynamodb-stream-read.d.ts +33 -0
  287. package/dist/service/dynamodb/stream/sim-dynamodb-stream-read.d.ts.map +1 -0
  288. package/dist/service/dynamodb/stream/sim-dynamodb-stream-read.js +66 -0
  289. package/dist/service/dynamodb/stream/sim-dynamodb-stream-read.js.map +1 -0
  290. package/dist/service/dynamodb/stream/sim-dynamodb-stream-record-keys.d.ts +15 -0
  291. package/dist/service/dynamodb/stream/sim-dynamodb-stream-record-keys.d.ts.map +1 -0
  292. package/dist/service/dynamodb/stream/sim-dynamodb-stream-record-keys.js +25 -0
  293. package/dist/service/dynamodb/stream/sim-dynamodb-stream-record-keys.js.map +1 -0
  294. package/dist/service/dynamodb/stream/sim-dynamodb-stream-record-size.d.ts +11 -0
  295. package/dist/service/dynamodb/stream/sim-dynamodb-stream-record-size.d.ts.map +1 -0
  296. package/dist/service/dynamodb/stream/sim-dynamodb-stream-record-size.js +74 -0
  297. package/dist/service/dynamodb/stream/sim-dynamodb-stream-record-size.js.map +1 -0
  298. package/dist/service/dynamodb/stream/sim-dynamodb-stream-record.d.ts +49 -0
  299. package/dist/service/dynamodb/stream/sim-dynamodb-stream-record.d.ts.map +1 -0
  300. package/dist/service/dynamodb/stream/sim-dynamodb-stream-record.js +60 -0
  301. package/dist/service/dynamodb/stream/sim-dynamodb-stream-record.js.map +1 -0
  302. package/dist/service/dynamodb/stream/sim-dynamodb-stream-retention.d.ts +17 -0
  303. package/dist/service/dynamodb/stream/sim-dynamodb-stream-retention.d.ts.map +1 -0
  304. package/dist/service/dynamodb/stream/sim-dynamodb-stream-retention.js +24 -0
  305. package/dist/service/dynamodb/stream/sim-dynamodb-stream-retention.js.map +1 -0
  306. package/dist/service/dynamodb/stream/sim-dynamodb-stream-sequence-numbers.d.ts +34 -0
  307. package/dist/service/dynamodb/stream/sim-dynamodb-stream-sequence-numbers.d.ts.map +1 -0
  308. package/dist/service/dynamodb/stream/sim-dynamodb-stream-sequence-numbers.js +63 -0
  309. package/dist/service/dynamodb/stream/sim-dynamodb-stream-sequence-numbers.js.map +1 -0
  310. package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard-iterator.d.ts +25 -0
  311. package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard-iterator.d.ts.map +1 -0
  312. package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard-iterator.js +74 -0
  313. package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard-iterator.js.map +1 -0
  314. package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard.d.ts +72 -0
  315. package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard.d.ts.map +1 -0
  316. package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard.js +113 -0
  317. package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard.js.map +1 -0
  318. package/dist/service/dynamodb/stream/sim-dynamodb-stream-specification.d.ts +28 -0
  319. package/dist/service/dynamodb/stream/sim-dynamodb-stream-specification.d.ts.map +1 -0
  320. package/dist/service/dynamodb/stream/sim-dynamodb-stream-specification.js +30 -0
  321. package/dist/service/dynamodb/stream/sim-dynamodb-stream-specification.js.map +1 -0
  322. package/dist/service/dynamodb/stream/sim-dynamodb-stream-store.d.ts +42 -0
  323. package/dist/service/dynamodb/stream/sim-dynamodb-stream-store.d.ts.map +1 -0
  324. package/dist/service/dynamodb/stream/sim-dynamodb-stream-store.js +54 -0
  325. package/dist/service/dynamodb/stream/sim-dynamodb-stream-store.js.map +1 -0
  326. package/dist/service/dynamodb/stream/sim-dynamodb-stream-update.d.ts +13 -0
  327. package/dist/service/dynamodb/stream/sim-dynamodb-stream-update.d.ts.map +1 -0
  328. package/dist/service/dynamodb/stream/sim-dynamodb-stream-update.js +48 -0
  329. package/dist/service/dynamodb/stream/sim-dynamodb-stream-update.js.map +1 -0
  330. package/dist/service/dynamodb/stream/sim-dynamodb-stream-view-type.d.ts +10 -0
  331. package/dist/service/dynamodb/stream/sim-dynamodb-stream-view-type.d.ts.map +1 -0
  332. package/dist/service/dynamodb/stream/sim-dynamodb-stream-view-type.js +38 -0
  333. package/dist/service/dynamodb/stream/sim-dynamodb-stream-view-type.js.map +1 -0
  334. package/dist/service/dynamodb/stream/sim-dynamodb-stream.d.ts +88 -0
  335. package/dist/service/dynamodb/stream/sim-dynamodb-stream.d.ts.map +1 -0
  336. package/dist/service/dynamodb/stream/sim-dynamodb-stream.js +100 -0
  337. package/dist/service/dynamodb/stream/sim-dynamodb-stream.js.map +1 -0
  338. package/dist/service/dynamodb/stream/sim-dynamodb-stream.types.d.ts +24 -0
  339. package/dist/service/dynamodb/stream/sim-dynamodb-stream.types.d.ts.map +1 -0
  340. package/dist/service/dynamodb/stream/sim-dynamodb-stream.types.js +2 -0
  341. package/dist/service/dynamodb/stream/sim-dynamodb-stream.types.js.map +1 -0
  342. package/dist/service/dynamodb/stream/sim-dynamodb-streamed-orders.factory.d.ts +31 -0
  343. package/dist/service/dynamodb/stream/sim-dynamodb-streamed-orders.factory.d.ts.map +1 -0
  344. package/dist/service/dynamodb/stream/sim-dynamodb-streamed-orders.factory.js +33 -0
  345. package/dist/service/dynamodb/stream/sim-dynamodb-streamed-orders.factory.js.map +1 -0
  346. package/dist/service/dynamodb/stream/sim-dynamodb-streamed-table.factory.d.ts +31 -0
  347. package/dist/service/dynamodb/stream/sim-dynamodb-streamed-table.factory.d.ts.map +1 -0
  348. package/dist/service/dynamodb/stream/sim-dynamodb-streamed-table.factory.js +45 -0
  349. package/dist/service/dynamodb/stream/sim-dynamodb-streamed-table.factory.js.map +1 -0
  350. package/dist/service/dynamodb/stream/sim-dynamodb-table-stream.d.ts +97 -0
  351. package/dist/service/dynamodb/stream/sim-dynamodb-table-stream.d.ts.map +1 -0
  352. package/dist/service/dynamodb/stream/sim-dynamodb-table-stream.js +135 -0
  353. package/dist/service/dynamodb/stream/sim-dynamodb-table-stream.js.map +1 -0
  354. package/dist/service/dynamodb/table/sim-dynamodb-table-description.d.ts.map +1 -1
  355. package/dist/service/dynamodb/table/sim-dynamodb-table-description.js +6 -0
  356. package/dist/service/dynamodb/table/sim-dynamodb-table-description.js.map +1 -1
  357. package/dist/service/dynamodb/table/sim-dynamodb-table-items.d.ts +33 -1
  358. package/dist/service/dynamodb/table/sim-dynamodb-table-items.d.ts.map +1 -1
  359. package/dist/service/dynamodb/table/sim-dynamodb-table-items.js +46 -1
  360. package/dist/service/dynamodb/table/sim-dynamodb-table-items.js.map +1 -1
  361. package/dist/service/dynamodb/table/sim-dynamodb-table-storage.d.ts +95 -0
  362. package/dist/service/dynamodb/table/sim-dynamodb-table-storage.d.ts.map +1 -0
  363. package/dist/service/dynamodb/table/sim-dynamodb-table-storage.js +120 -0
  364. package/dist/service/dynamodb/table/sim-dynamodb-table-storage.js.map +1 -0
  365. package/dist/service/dynamodb/table/sim-dynamodb-table-update.d.ts +2 -0
  366. package/dist/service/dynamodb/table/sim-dynamodb-table-update.d.ts.map +1 -1
  367. package/dist/service/dynamodb/table/sim-dynamodb-table-update.js +11 -6
  368. package/dist/service/dynamodb/table/sim-dynamodb-table-update.js.map +1 -1
  369. package/dist/service/dynamodb/table/sim-dynamodb-table.d.ts +33 -70
  370. package/dist/service/dynamodb/table/sim-dynamodb-table.d.ts.map +1 -1
  371. package/dist/service/dynamodb/table/sim-dynamodb-table.js +50 -93
  372. package/dist/service/dynamodb/table/sim-dynamodb-table.js.map +1 -1
  373. package/dist/service/dynamodb/table/sim-dynamodb-updatable-table.d.ts +6 -3
  374. package/dist/service/dynamodb/table/sim-dynamodb-updatable-table.d.ts.map +1 -1
  375. package/dist/service/dynamodb/time-to-live/sim-dynamodb-table-time-to-live.d.ts.map +1 -1
  376. package/dist/service/dynamodb/time-to-live/sim-dynamodb-table-time-to-live.js +5 -1
  377. package/dist/service/dynamodb/time-to-live/sim-dynamodb-table-time-to-live.js.map +1 -1
  378. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.d.ts +14 -0
  379. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.d.ts.map +1 -1
  380. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.js +29 -1
  381. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.js.map +1 -1
  382. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-property-rules.d.ts.map +1 -1
  383. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-property-rules.js +8 -2
  384. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-property-rules.js.map +1 -1
  385. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.d.ts +7 -2
  386. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.d.ts.map +1 -1
  387. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.js +20 -9
  388. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.js.map +1 -1
  389. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.d.ts +4 -0
  390. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.d.ts.map +1 -1
  391. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.js +49 -20
  392. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.js.map +1 -1
  393. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-values.d.ts +5 -6
  394. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-values.d.ts.map +1 -1
  395. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-values.js +5 -22
  396. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-values.js.map +1 -1
  397. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.d.ts +7 -3
  398. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.d.ts.map +1 -1
  399. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.js +15 -10
  400. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.js.map +1 -1
  401. package/dist/service/lambda/command/event-source-mapping/sim-lambda-event-source-mapping-commands.d.ts +3 -1
  402. package/dist/service/lambda/command/event-source-mapping/sim-lambda-event-source-mapping-commands.d.ts.map +1 -1
  403. package/dist/service/lambda/command/event-source-mapping/sim-lambda-event-source-mapping-commands.js +1 -1
  404. package/dist/service/lambda/command/event-source-mapping/sim-lambda-event-source-mapping-commands.js.map +1 -1
  405. package/dist/service/lambda/event-source/poll/sim-lambda-batch-item-failures.d.ts +17 -0
  406. package/dist/service/lambda/event-source/poll/sim-lambda-batch-item-failures.d.ts.map +1 -0
  407. package/dist/service/lambda/event-source/poll/sim-lambda-batch-item-failures.js +46 -0
  408. package/dist/service/lambda/event-source/poll/sim-lambda-batch-item-failures.js.map +1 -0
  409. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-event-image.d.ts +23 -0
  410. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-event-image.d.ts.map +1 -0
  411. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-event-image.js +55 -0
  412. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-event-image.js.map +1 -0
  413. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-polled-stream.d.ts +27 -0
  414. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-polled-stream.d.ts.map +1 -0
  415. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-polled-stream.js +41 -0
  416. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-polled-stream.js.map +1 -0
  417. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-delivery.d.ts +42 -0
  418. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-delivery.d.ts.map +1 -0
  419. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-delivery.js +52 -0
  420. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-delivery.js.map +1 -0
  421. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event-source-poller.d.ts +77 -0
  422. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event-source-poller.d.ts.map +1 -0
  423. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event-source-poller.js +114 -0
  424. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event-source-poller.js.map +1 -0
  425. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event.d.ts +21 -0
  426. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event.d.ts.map +1 -0
  427. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event.js +56 -0
  428. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event.js.map +1 -0
  429. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event.types.d.ts +78 -0
  430. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event.types.d.ts.map +1 -0
  431. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event.types.js +8 -0
  432. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event.types.js.map +1 -0
  433. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-batch-response.d.ts +39 -0
  434. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-batch-response.d.ts.map +1 -0
  435. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-batch-response.js +28 -0
  436. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-batch-response.js.map +1 -0
  437. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-delivery.d.ts +33 -7
  438. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-delivery.d.ts.map +1 -1
  439. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-delivery.js +7 -6
  440. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-delivery.js.map +1 -1
  441. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poll-turn.d.ts +40 -0
  442. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poll-turn.d.ts.map +1 -0
  443. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poll-turn.js +45 -0
  444. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poll-turn.js.map +1 -0
  445. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller-factory.d.ts +26 -0
  446. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller-factory.d.ts.map +1 -0
  447. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller-factory.js +29 -0
  448. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller-factory.js.map +1 -0
  449. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller.d.ts +9 -69
  450. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller.d.ts.map +1 -1
  451. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller.js +1 -135
  452. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller.js.map +1 -1
  453. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-batch-response.d.ts +6 -30
  454. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-batch-response.d.ts.map +1 -1
  455. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-batch-response.js +9 -66
  456. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-batch-response.js.map +1 -1
  457. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-delivery.d.ts +17 -0
  458. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-delivery.d.ts.map +1 -0
  459. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-delivery.js +17 -0
  460. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-delivery.js.map +1 -0
  461. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-event-source-poller.d.ts +88 -0
  462. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-event-source-poller.d.ts.map +1 -0
  463. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-event-source-poller.js +132 -0
  464. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-event-source-poller.js.map +1 -0
  465. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-polled-queue.d.ts +41 -0
  466. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-polled-queue.d.ts.map +1 -0
  467. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-polled-queue.js +60 -0
  468. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-polled-queue.js.map +1 -0
  469. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.d.ts +37 -0
  470. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.d.ts.map +1 -0
  471. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.js +51 -0
  472. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.js.map +1 -0
  473. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.d.ts +29 -0
  474. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.d.ts.map +1 -0
  475. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.js +71 -0
  476. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.js.map +1 -0
  477. package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.d.ts +36 -0
  478. package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.d.ts.map +1 -0
  479. package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.js +41 -0
  480. package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.js.map +1 -0
  481. package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.d.ts +65 -0
  482. package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.d.ts.map +1 -0
  483. package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.js +92 -0
  484. package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.js.map +1 -0
  485. package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.d.ts +36 -0
  486. package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.d.ts.map +1 -0
  487. package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.js +47 -0
  488. package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.js.map +1 -0
  489. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.d.ts +29 -5
  490. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.d.ts.map +1 -1
  491. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.js +48 -12
  492. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.js.map +1 -1
  493. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.d.ts +24 -0
  494. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.d.ts.map +1 -0
  495. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.js +33 -0
  496. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.js.map +1 -0
  497. package/dist/service/lambda/event-source/sim-lambda-event-source-arn.d.ts +25 -0
  498. package/dist/service/lambda/event-source/sim-lambda-event-source-arn.d.ts.map +1 -0
  499. package/dist/service/lambda/event-source/sim-lambda-event-source-arn.js +33 -0
  500. package/dist/service/lambda/event-source/sim-lambda-event-source-arn.js.map +1 -0
  501. package/dist/service/lambda/event-source/sim-lambda-event-source-batch-rules.d.ts +30 -0
  502. package/dist/service/lambda/event-source/sim-lambda-event-source-batch-rules.d.ts.map +1 -0
  503. package/dist/service/lambda/event-source/sim-lambda-event-source-batch-rules.js +40 -0
  504. package/dist/service/lambda/event-source/sim-lambda-event-source-batch-rules.js.map +1 -0
  505. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.d.ts +15 -8
  506. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.d.ts.map +1 -1
  507. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.js +14 -9
  508. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.js.map +1 -1
  509. package/dist/service/lambda/event-source/sim-lambda-event-source-pollers.d.ts +7 -5
  510. package/dist/service/lambda/event-source/sim-lambda-event-source-pollers.d.ts.map +1 -1
  511. package/dist/service/lambda/event-source/sim-lambda-event-source-pollers.js +5 -5
  512. package/dist/service/lambda/event-source/sim-lambda-event-source-pollers.js.map +1 -1
  513. package/dist/service/lambda/event-source/sim-lambda-event-source-polling-permission.d.ts +18 -0
  514. package/dist/service/lambda/event-source/sim-lambda-event-source-polling-permission.d.ts.map +1 -0
  515. package/dist/service/lambda/event-source/sim-lambda-event-source-polling-permission.js +23 -0
  516. package/dist/service/lambda/event-source/sim-lambda-event-source-polling-permission.js.map +1 -0
  517. package/dist/service/lambda/event-source/sim-lambda-event-source-reachable.d.ts +27 -0
  518. package/dist/service/lambda/event-source/sim-lambda-event-source-reachable.d.ts.map +1 -0
  519. package/dist/service/lambda/event-source/sim-lambda-event-source-reachable.js +40 -0
  520. package/dist/service/lambda/event-source/sim-lambda-event-source-reachable.js.map +1 -0
  521. package/dist/service/lambda/event-source/sim-lambda-event-source-role-permissions.d.ts +7 -3
  522. package/dist/service/lambda/event-source/sim-lambda-event-source-role-permissions.d.ts.map +1 -1
  523. package/dist/service/lambda/event-source/sim-lambda-event-source-role-permissions.js +13 -21
  524. package/dist/service/lambda/event-source/sim-lambda-event-source-role-permissions.js.map +1 -1
  525. package/dist/service/lambda/event-source/sim-lambda-event-source-starting-position.d.ts +60 -0
  526. package/dist/service/lambda/event-source/sim-lambda-event-source-starting-position.d.ts.map +1 -0
  527. package/dist/service/lambda/event-source/sim-lambda-event-source-starting-position.js +51 -0
  528. package/dist/service/lambda/event-source/sim-lambda-event-source-starting-position.js.map +1 -0
  529. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-positions.d.ts +31 -0
  530. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-positions.d.ts.map +1 -0
  531. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-positions.js +29 -0
  532. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-positions.js.map +1 -0
  533. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-reader.d.ts +32 -0
  534. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-reader.d.ts.map +1 -0
  535. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-reader.js +48 -0
  536. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-reader.js.map +1 -0
  537. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-shard.d.ts +28 -0
  538. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-shard.d.ts.map +1 -0
  539. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-shard.js +71 -0
  540. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-shard.js.map +1 -0
  541. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-streams.d.ts +42 -0
  542. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-streams.d.ts.map +1 -0
  543. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-streams.js +55 -0
  544. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-streams.js.map +1 -0
  545. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-attribute-value.d.ts +150 -0
  546. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-attribute-value.d.ts.map +1 -0
  547. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-attribute-value.js +2 -0
  548. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-attribute-value.js.map +1 -0
  549. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.d.ts +52 -0
  550. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.d.ts.map +1 -0
  551. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.js +88 -0
  552. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.js.map +1 -0
  553. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.d.ts +25 -0
  554. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.d.ts.map +1 -0
  555. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.js +34 -0
  556. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.js.map +1 -0
  557. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-delivery-context.d.ts +31 -0
  558. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-delivery-context.d.ts.map +1 -0
  559. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-delivery-context.js +33 -0
  560. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-delivery-context.js.map +1 -0
  561. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-stream-service.d.ts +73 -0
  562. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-stream-service.d.ts.map +1 -0
  563. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-stream-service.js +2 -0
  564. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-stream-service.js.map +1 -0
  565. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-streams.d.ts +148 -0
  566. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-streams.d.ts.map +1 -0
  567. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-streams.js +37 -0
  568. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-streams.js.map +1 -0
  569. package/dist/service/lambda/event-source/stream/sim-lambda-stream-cascade-guard.d.ts +36 -0
  570. package/dist/service/lambda/event-source/stream/sim-lambda-stream-cascade-guard.d.ts.map +1 -0
  571. package/dist/service/lambda/event-source/stream/sim-lambda-stream-cascade-guard.js +50 -0
  572. package/dist/service/lambda/event-source/stream/sim-lambda-stream-cascade-guard.js.map +1 -0
  573. package/dist/service/lambda/event-source/stream/sim-lambda-stream-cascade.error.d.ts +24 -0
  574. package/dist/service/lambda/event-source/stream/sim-lambda-stream-cascade.error.d.ts.map +1 -0
  575. package/dist/service/lambda/event-source/stream/sim-lambda-stream-cascade.error.js +24 -0
  576. package/dist/service/lambda/event-source/stream/sim-lambda-stream-cascade.error.js.map +1 -0
  577. package/dist/service/lambda/index.d.ts +3 -0
  578. package/dist/service/lambda/index.d.ts.map +1 -1
  579. package/dist/service/lambda/index.js +1 -0
  580. package/dist/service/lambda/index.js.map +1 -1
  581. package/dist/service/lambda/sim-lambda-commands.d.ts +2 -0
  582. package/dist/service/lambda/sim-lambda-commands.d.ts.map +1 -1
  583. package/dist/service/lambda/sim-lambda-commands.js +7 -3
  584. package/dist/service/lambda/sim-lambda-commands.js.map +1 -1
  585. package/dist/service/s3/bucket/notification/sim-s3-lambda-notification.d.ts +7 -25
  586. package/dist/service/s3/bucket/notification/sim-s3-lambda-notification.d.ts.map +1 -1
  587. package/dist/service/s3/bucket/notification/sim-s3-lambda-notification.js +10 -31
  588. package/dist/service/s3/bucket/notification/sim-s3-lambda-notification.js.map +1 -1
  589. package/dist/service/s3/bucket/notification/sim-s3-notification-configuration-reader.d.ts +6 -10
  590. package/dist/service/s3/bucket/notification/sim-s3-notification-configuration-reader.d.ts.map +1 -1
  591. package/dist/service/s3/bucket/notification/sim-s3-notification-configuration-reader.js +16 -68
  592. package/dist/service/s3/bucket/notification/sim-s3-notification-configuration-reader.js.map +1 -1
  593. package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.d.ts +17 -4
  594. package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.d.ts.map +1 -1
  595. package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.js +19 -10
  596. package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.js.map +1 -1
  597. package/dist/service/s3/bucket/notification/sim-s3-notification-ids.d.ts +9 -0
  598. package/dist/service/s3/bucket/notification/sim-s3-notification-ids.d.ts.map +1 -0
  599. package/dist/service/s3/bucket/notification/sim-s3-notification-ids.js +18 -0
  600. package/dist/service/s3/bucket/notification/sim-s3-notification-ids.js.map +1 -0
  601. package/dist/service/s3/bucket/notification/sim-s3-notification-overlap.d.ts +5 -3
  602. package/dist/service/s3/bucket/notification/sim-s3-notification-overlap.d.ts.map +1 -1
  603. package/dist/service/s3/bucket/notification/sim-s3-notification-overlap.js +3 -1
  604. package/dist/service/s3/bucket/notification/sim-s3-notification-overlap.js.map +1 -1
  605. package/dist/service/s3/bucket/notification/sim-s3-notification-properties.d.ts +19 -0
  606. package/dist/service/s3/bucket/notification/sim-s3-notification-properties.d.ts.map +1 -0
  607. package/dist/service/s3/bucket/notification/sim-s3-notification-properties.js +27 -0
  608. package/dist/service/s3/bucket/notification/sim-s3-notification-properties.js.map +1 -0
  609. package/dist/service/s3/bucket/notification/sim-s3-notification.d.ts +61 -0
  610. package/dist/service/s3/bucket/notification/sim-s3-notification.d.ts.map +1 -0
  611. package/dist/service/s3/bucket/notification/sim-s3-notification.js +50 -0
  612. package/dist/service/s3/bucket/notification/sim-s3-notification.js.map +1 -0
  613. package/dist/service/s3/bucket/notification/sim-s3-queue-notification.d.ts +21 -0
  614. package/dist/service/s3/bucket/notification/sim-s3-queue-notification.d.ts.map +1 -0
  615. package/dist/service/s3/bucket/notification/sim-s3-queue-notification.js +24 -0
  616. package/dist/service/s3/bucket/notification/sim-s3-queue-notification.js.map +1 -0
  617. package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.d.ts +10 -0
  618. package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.d.ts.map +1 -0
  619. package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.js +31 -0
  620. package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.js.map +1 -0
  621. package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.d.ts +3 -0
  622. package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.d.ts.map +1 -1
  623. package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.js +30 -1
  624. package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.js.map +1 -1
  625. package/dist/service/s3/command/get-bucket-notification-configuration/get-bucket-notification-configuration.command.d.ts +2 -1
  626. package/dist/service/s3/command/get-bucket-notification-configuration/get-bucket-notification-configuration.command.d.ts.map +1 -1
  627. package/dist/service/s3/command/put-bucket-notification-configuration/put-bucket-notification-configuration.command.d.ts +10 -1
  628. package/dist/service/s3/command/put-bucket-notification-configuration/put-bucket-notification-configuration.command.d.ts.map +1 -1
  629. package/dist/service/s3/notification/destination/lambda/sim-aws-s3-notification-functions.d.ts +0 -4
  630. package/dist/service/s3/notification/destination/lambda/sim-aws-s3-notification-functions.d.ts.map +1 -1
  631. package/dist/service/s3/notification/destination/lambda/sim-aws-s3-notification-functions.js +1 -4
  632. package/dist/service/s3/notification/destination/lambda/sim-aws-s3-notification-functions.js.map +1 -1
  633. package/dist/service/s3/notification/destination/sim-s3-notification-destination-check.d.ts.map +1 -1
  634. package/dist/service/s3/notification/destination/sim-s3-notification-destination-check.js +6 -4
  635. package/dist/service/s3/notification/destination/sim-s3-notification-destination-check.js.map +1 -1
  636. package/dist/service/s3/notification/destination/sim-s3-notification-destination.d.ts +20 -2
  637. package/dist/service/s3/notification/destination/sim-s3-notification-destination.d.ts.map +1 -1
  638. package/dist/service/s3/notification/destination/sim-s3-service-notification-destinations.d.ts +12 -10
  639. package/dist/service/s3/notification/destination/sim-s3-service-notification-destinations.d.ts.map +1 -1
  640. package/dist/service/s3/notification/destination/sim-s3-service-notification-destinations.js +19 -17
  641. package/dist/service/s3/notification/destination/sim-s3-service-notification-destinations.js.map +1 -1
  642. package/dist/service/s3/notification/destination/sim-s3-service-principal.d.ts +8 -0
  643. package/dist/service/s3/notification/destination/sim-s3-service-principal.d.ts.map +1 -0
  644. package/dist/service/s3/notification/destination/sim-s3-service-principal.js +8 -0
  645. package/dist/service/s3/notification/destination/sim-s3-service-principal.js.map +1 -0
  646. package/dist/service/s3/notification/destination/sqs/sim-aws-s3-notification-queues.d.ts +40 -0
  647. package/dist/service/s3/notification/destination/sqs/sim-aws-s3-notification-queues.d.ts.map +1 -0
  648. package/dist/service/s3/notification/destination/sqs/sim-aws-s3-notification-queues.js +52 -0
  649. package/dist/service/s3/notification/destination/sqs/sim-aws-s3-notification-queues.js.map +1 -0
  650. package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queue-arn.d.ts +33 -0
  651. package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queue-arn.d.ts.map +1 -0
  652. package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queue-arn.js +64 -0
  653. package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queue-arn.js.map +1 -0
  654. package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queue.d.ts +33 -0
  655. package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queue.d.ts.map +1 -0
  656. package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queue.js +55 -0
  657. package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queue.js.map +1 -0
  658. package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queues.d.ts +23 -0
  659. package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queues.d.ts.map +1 -0
  660. package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queues.js +2 -0
  661. package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queues.js.map +1 -0
  662. package/dist/service/s3/notification/destination/sqs/sim-s3-sqs-notification-destination.d.ts +40 -0
  663. package/dist/service/s3/notification/destination/sqs/sim-s3-sqs-notification-destination.d.ts.map +1 -0
  664. package/dist/service/s3/notification/destination/sqs/sim-s3-sqs-notification-destination.js +51 -0
  665. package/dist/service/s3/notification/destination/sqs/sim-s3-sqs-notification-destination.js.map +1 -0
  666. package/dist/service/s3/notification/sim-s3-notification-dispatcher.d.ts +2 -2
  667. package/dist/service/s3/notification/sim-s3-notification-dispatcher.d.ts.map +1 -1
  668. package/dist/service/s3/notification/sim-s3-notification-dispatcher.js +6 -3
  669. package/dist/service/s3/notification/sim-s3-notification-dispatcher.js.map +1 -1
  670. package/dist/service/sqs/command/authorize/sim-sqs-condition-context.d.ts.map +1 -1
  671. package/dist/service/sqs/command/authorize/sim-sqs-condition-context.js +9 -5
  672. package/dist/service/sqs/command/authorize/sim-sqs-condition-context.js.map +1 -1
  673. package/dist/service/sqs/command/authorize/sim-sqs-service-send-authorizer.d.ts +40 -0
  674. package/dist/service/sqs/command/authorize/sim-sqs-service-send-authorizer.d.ts.map +1 -0
  675. package/dist/service/sqs/command/authorize/sim-sqs-service-send-authorizer.js +40 -0
  676. package/dist/service/sqs/command/authorize/sim-sqs-service-send-authorizer.js.map +1 -0
  677. package/dist/service/sqs/command/sim-sqs-request-options.d.ts +16 -0
  678. package/dist/service/sqs/command/sim-sqs-request-options.d.ts.map +1 -1
  679. package/dist/service/sqs/command/sim-sqs-request-options.js +9 -0
  680. package/dist/service/sqs/command/sim-sqs-request-options.js.map +1 -1
  681. package/dist/service/sqs/index.d.ts +2 -2
  682. package/dist/service/sqs/index.d.ts.map +1 -1
  683. package/dist/service/sqs/index.js +2 -2
  684. package/dist/service/sqs/index.js.map +1 -1
  685. package/dist/service/sqs/queue/sim-sqs-queue-arn.d.ts +17 -2
  686. package/dist/service/sqs/queue/sim-sqs-queue-arn.d.ts.map +1 -1
  687. package/dist/service/sqs/queue/sim-sqs-queue-arn.js +9 -5
  688. package/dist/service/sqs/queue/sim-sqs-queue-arn.js.map +1 -1
  689. package/package.json +5 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-fn-split-parser.d.ts","sourceRoot":"","sources":["../../../../../../../src/service/cloudformation/template/parse/fn/split/sim-cfn-fn-split-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AAClG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAGlF;;;;;;;;;;;;GAYG;AACH,qBAAa,mBAAmB;IAClB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAAxC,YAA6B,WAAW,EAAE,iBAAiB,EAAI;IAE/D;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,mBAAmB,GAAG,mBAAmB,CAkBrD;CACF"}
@@ -0,0 +1,36 @@
1
+ import { SimCfnFnSplit as SimCfnFunctionSplit } from "../../../node/fn/split/sim-cfn-fn-split.js";
2
+ import { assertDefined } from "../../../../../../util/type-guard/defined.js";
3
+ /**
4
+ * Parses CloudFormation Fn::Split values.
5
+ *
6
+ * Fn::Split has the shape:
7
+ *
8
+ * {
9
+ * "Fn::Split": ["/", { "Fn::GetAtt": ["Url", "FunctionUrl"] }]
10
+ * }
11
+ *
12
+ * The delimiter is a literal string, as CloudFormation requires. The source
13
+ * string goes through the recursive value parser, because it may be a literal,
14
+ * a Ref, or another intrinsic function.
15
+ */
16
+ export class SimCfnFnSplitParser {
17
+ valueParser;
18
+ constructor(valueParser) {
19
+ this.valueParser = valueParser;
20
+ }
21
+ /**
22
+ * Parse and validate the value inside a Fn::Split expression.
23
+ */
24
+ parse(value) {
25
+ if (!Array.isArray(value) || value.length !== 2) {
26
+ throw new Error("Sim CloudFormation Fn::Split value must be [delimiter, sourceString]");
27
+ }
28
+ const [delimiter, source] = value;
29
+ if (typeof delimiter !== "string") {
30
+ throw new TypeError("Sim CloudFormation Fn::Split delimiter must be a string");
31
+ }
32
+ assertDefined(source, "Fn::Split source string");
33
+ return new SimCfnFunctionSplit(delimiter, this.valueParser.parse(source));
34
+ }
35
+ }
36
+ //# sourceMappingURL=sim-cfn-fn-split-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-fn-split-parser.js","sourceRoot":"","sources":["../../../../../../../src/service/cloudformation/template/parse/fn/split/sim-cfn-fn-split-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AAGlG,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAE7E;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,mBAAmB;IACD,WAAW;IAAxC,YAA6B,WAA8B;2BAA9B,WAAW;IAAsB,CAAC;IAE/D;;OAEG;IACH,KAAK,CAAC,KAA0B;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CACb,sEAAsE,CACvE,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;QAElC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,IAAI,SAAS,CACjB,yDAAyD,CAC1D,CAAC;QACJ,CAAC;QAED,aAAa,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;QAEjD,OAAO,IAAI,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5E,CAAC;CACF"}
@@ -2,14 +2,24 @@ import type { SimCfnParameters } from "../../parameters/sim-cfn-parameters.js";
2
2
  import type { SimCfnResourceRefResolver as SimCfnResourceReferenceResolver } from "./sim-cfn-resource-ref-resolver.js";
3
3
  import type { SimCfnPseudoParameters } from "../../parameters/pseudo/sim-cfn-pseudo-parameters.js";
4
4
  import type { SimCfnMappings } from "../mapping/sim-cfn-mappings.js";
5
+ import type { SimCfnConditions } from "../condition/sim-cfn-conditions.js";
6
+ interface SimCfnResolveContextProperties {
7
+ readonly parameters: SimCfnParameters;
8
+ readonly resources?: SimCfnResourceReferenceResolver | undefined;
9
+ readonly pseudoParameters?: SimCfnPseudoParameters | undefined;
10
+ readonly mappings?: SimCfnMappings | undefined;
11
+ readonly conditions?: SimCfnConditions | undefined;
12
+ }
5
13
  /**
6
14
  * Context available while resolving a parsed CloudFormation node tree.
7
15
  */
8
16
  export declare class SimCfnResolveContext {
9
17
  readonly parameters: SimCfnParameters;
10
- readonly resources?: SimCfnResourceReferenceResolver | undefined;
11
- readonly pseudoParameters?: SimCfnPseudoParameters | undefined;
12
- readonly mappings?: SimCfnMappings | undefined;
13
- constructor(parameters: SimCfnParameters, resources?: SimCfnResourceReferenceResolver | undefined, pseudoParameters?: SimCfnPseudoParameters | undefined, mappings?: SimCfnMappings | undefined);
18
+ readonly resources: SimCfnResourceReferenceResolver | undefined;
19
+ readonly pseudoParameters: SimCfnPseudoParameters | undefined;
20
+ readonly mappings: SimCfnMappings | undefined;
21
+ readonly conditions: SimCfnConditions | undefined;
22
+ constructor(properties: SimCfnResolveContextProperties);
14
23
  }
24
+ export {};
15
25
  //# sourceMappingURL=sim-cfn-resolve-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cfn-resolve-context.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudformation/template/resolve/sim-cfn-resolve-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,KAAK,EAAE,yBAAyB,IAAI,+BAA+B,EAAE,MAAM,oCAAoC,CAAC;AACvH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AACnG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAErE;;GAEG;AACH,qBAAa,oBAAoB;IAE7B,QAAQ,CAAC,UAAU,EAAE,gBAAgB;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,+BAA+B,GAAG,SAAS;IAChE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,sBAAsB,GAAG,SAAS;IAC9D,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS;IAJhD,YACW,UAAU,EAAE,gBAAgB,EAC5B,SAAS,CAAC,EAAE,+BAA+B,GAAG,SAAS,EACvD,gBAAgB,CAAC,EAAE,sBAAsB,GAAG,SAAS,EACrD,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,EAC5C;CACL"}
1
+ {"version":3,"file":"sim-cfn-resolve-context.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudformation/template/resolve/sim-cfn-resolve-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,KAAK,EAAE,yBAAyB,IAAI,+BAA+B,EAAE,MAAM,oCAAoC,CAAC;AACvH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AACnG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAE3E,UAAU,8BAA8B;IACtC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,+BAA+B,GAAG,SAAS,CAAC;IACjE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAC/D,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;CACpD;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,SAAgB,UAAU,EAAE,gBAAgB,CAAC;IAC7C,SAAgB,SAAS,EAAE,+BAA+B,GAAG,SAAS,CAAC;IACvE,SAAgB,gBAAgB,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACrE,SAAgB,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAC;IACrD,SAAgB,UAAU,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAEzD,YAAY,UAAU,EAAE,8BAA8B,EAMrD;CACF"}
@@ -6,11 +6,13 @@ export class SimCfnResolveContext {
6
6
  resources;
7
7
  pseudoParameters;
8
8
  mappings;
9
- constructor(parameters, resources, pseudoParameters, mappings) {
10
- this.parameters = parameters;
11
- this.resources = resources;
12
- this.pseudoParameters = pseudoParameters;
13
- this.mappings = mappings;
9
+ conditions;
10
+ constructor(properties) {
11
+ this.parameters = properties.parameters;
12
+ this.resources = properties.resources;
13
+ this.pseudoParameters = properties.pseudoParameters;
14
+ this.mappings = properties.mappings;
15
+ this.conditions = properties.conditions;
14
16
  }
15
17
  }
16
18
  //# sourceMappingURL=sim-cfn-resolve-context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cfn-resolve-context.js","sourceRoot":"","sources":["../../../../../src/service/cloudformation/template/resolve/sim-cfn-resolve-context.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,OAAO,oBAAoB;IAEpB,UAAU;IACV,SAAS;IACT,gBAAgB;IAChB,QAAQ;IAJnB,YACW,UAA4B,EAC5B,SAAuD,EACvD,gBAAqD,EACrD,QAAqC;0BAHrC,UAAU;yBACV,SAAS;gCACT,gBAAgB;wBAChB,QAAQ;IAChB,CAAC;CACL"}
1
+ {"version":3,"file":"sim-cfn-resolve-context.js","sourceRoot":"","sources":["../../../../../src/service/cloudformation/template/resolve/sim-cfn-resolve-context.ts"],"names":[],"mappings":"AAcA;;GAEG;AACH,MAAM,OAAO,oBAAoB;IACf,UAAU,CAAmB;IAC7B,SAAS,CAA8C;IACvD,gBAAgB,CAAqC;IACrD,QAAQ,CAA6B;IACrC,UAAU,CAA+B;IAEzD,YAAY,UAA0C;QACpD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC;QACpD,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAC1C,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cfn-template-body-validator.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudformation/template/sim-cfn-template-body-validator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,UAAU,qCAAqC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAED;;;;;GAKG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IACjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAE/C,YAAY,UAAU,EAAE,qCAAqC,EAG5D;IAED;;OAEG;IACH,QAAQ,IAAI,IAAI,CAmBf;IAED,OAAO,CAAC,KAAK;CAKd"}
1
+ {"version":3,"file":"sim-cfn-template-body-validator.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudformation/template/sim-cfn-template-body-validator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,UAAU,qCAAqC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAED;;;;;GAKG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IACjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAE/C,YAAY,UAAU,EAAE,qCAAqC,EAG5D;IAED;;OAEG;IACH,QAAQ,IAAI,IAAI,CA0Bf;IAED,OAAO,CAAC,KAAK;CAKd"}
@@ -29,6 +29,10 @@ export class SimCfnTemplateBodyValidator {
29
29
  !isRecord(this.template.Parameters)) {
30
30
  throw this.error("Parameters must be an object");
31
31
  }
32
+ if (this.template.Conditions !== undefined &&
33
+ !isRecord(this.template.Conditions)) {
34
+ throw this.error("Conditions must be an object");
35
+ }
32
36
  }
33
37
  error(detail) {
34
38
  return new Error(`Sim CloudFormation Stack ${this.stackName ?? "unknown"} ${detail}`);
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cfn-template-body-validator.js","sourceRoot":"","sources":["../../../../src/service/cloudformation/template/sim-cfn-template-body-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAQ9D;;;;;GAKG;AACH,MAAM,OAAO,2BAA2B;IACrB,QAAQ,CAAwB;IAChC,SAAS,CAAqB;IAE/C,YAAY,UAAiD;QAC3D,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC/D,CAAC;QAED,IACE,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,SAAS;YACtC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EACnC,CAAC;YACD,MAAM,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,MAAc;QAC1B,OAAO,IAAI,KAAK,CACd,4BAA4B,IAAI,CAAC,SAAS,IAAI,SAAS,IAAI,MAAM,EAAE,CACpE,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"sim-cfn-template-body-validator.js","sourceRoot":"","sources":["../../../../src/service/cloudformation/template/sim-cfn-template-body-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAQ9D;;;;;GAKG;AACH,MAAM,OAAO,2BAA2B;IACrB,QAAQ,CAAwB;IAChC,SAAS,CAAqB;IAE/C,YAAY,UAAiD;QAC3D,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC/D,CAAC;QAED,IACE,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,SAAS;YACtC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EACnC,CAAC;YACD,MAAM,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACnD,CAAC;QAED,IACE,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,SAAS;YACtC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EACnC,CAAC;YACD,MAAM,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,MAAc;QAC1B,OAAO,IAAI,KAAK,CACd,4BAA4B,IAAI,CAAC,SAAS,IAAI,SAAS,IAAI,MAAM,EAAE,CACpE,CAAC;IACJ,CAAC;CACF"}
@@ -5,6 +5,7 @@ import { type JSONString } from "../../../util/type-guard/json.js";
5
5
  import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
6
6
  import { SimCfnPseudoParameters } from "../parameters/pseudo/sim-cfn-pseudo-parameters.js";
7
7
  import type { SimCfnMappings } from "./mapping/sim-cfn-mappings.js";
8
+ import type { SimCfnConditions, SimCfnConditionsSection } from "./condition/sim-cfn-conditions.js";
8
9
  /**
9
10
  * Parsed CloudFormation template body accepted by the simulator.
10
11
  *
@@ -13,6 +14,7 @@ import type { SimCfnMappings } from "./mapping/sim-cfn-mappings.js";
13
14
  export interface CfnTemplateBodyRecord {
14
15
  readonly Parameters?: Record<string, SimCfnParameterDefinition> | undefined;
15
16
  readonly Mappings?: SimCfnMappings | undefined;
17
+ readonly Conditions?: SimCfnConditionsSection | undefined;
16
18
  readonly Resources: Record<string, SimCfnTemplateValue>;
17
19
  readonly Outputs?: Record<string, SimCfnTemplateValue> | undefined;
18
20
  readonly [sectionName: string]: Record<string, SimCfnParameterDefinition> | Record<string, SimCfnTemplateValue> | SimCfnTemplateValue | undefined;
@@ -46,6 +48,7 @@ export declare class SimCfnTemplate {
46
48
  readonly stackName: string | undefined;
47
49
  readonly parameters: SimCfnParameters;
48
50
  private readonly accountRegionScope;
51
+ private evaluatedConditions;
49
52
  constructor(properties: SimCfnTemplateProperties);
50
53
  /**
51
54
  * Parse a JSON CloudFormation template body.
@@ -56,6 +59,9 @@ export declare class SimCfnTemplate {
56
59
  *
57
60
  * Parameters and parameter-only intrinsic functions are resolved here.
58
61
  * Refs to other Resources are left unresolved because the referenced Resources do not exist yet; they are resolved at Resource creation time.
62
+ *
63
+ * A Resource whose `Condition` attribute is false is left out entirely, so
64
+ * the Stack never has a Resource the template conditioned out.
59
65
  */
60
66
  resourceTemplates(): SimCfnResourceTemplateRecord[];
61
67
  /**
@@ -71,6 +77,14 @@ export declare class SimCfnTemplate {
71
77
  * https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/pseudo-parameter-reference.html
72
78
  */
73
79
  pseudoParameters(): SimCfnPseudoParameters;
80
+ /**
81
+ * Get the template Conditions, evaluated against this Stack's Parameters.
82
+ *
83
+ * A Condition reads only Parameters and pseudo parameters, so the section is
84
+ * evaluated once and the answers reused by every Resource and Output.
85
+ */
86
+ conditions(): SimCfnConditions;
87
+ private valueResolver;
74
88
  }
75
89
  export {};
76
90
  //# sourceMappingURL=sim-cfn-template.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cfn-template.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudformation/template/sim-cfn-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAEvE,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,mCAAmC,CAAC;AAG3C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAC3F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,GAAG,SAAS,CAAC;IAC5E,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACxD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAAG,SAAS,CAAC;IACnE,QAAQ,EAAE,WAAW,EAAE,MAAM,GACzB,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,GACzC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,GACnC,mBAAmB,GACnB,SAAS,CAAC;CACf;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,yBAAyB,CAAC;CAC9C;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,yBAAyB,CAAC;CAC9C;AAED,UAAU,wBAAwB;IAChC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IACzC,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;CACpE;AAED,UAAU,gCAAgC;IACxC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;CACpE;AAED;;;;GAIG;AACH,qBAAa,cAAc;IACzB,SAAgB,QAAQ,EAAE,qBAAqB,CAAC;IAChD,SAAgB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,SAAgB,UAAU,EAAE,gBAAgB,CAAC;IAC7C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAuC;IAE1E,YAAY,UAAU,EAAE,wBAAwB,EAa/C;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CACb,YAAY,EAAE,UAAU,CAAC,qBAAqB,CAAC,EAC/C,UAAU,GAAE,gCAAqC,GAChD,cAAc,CAoBhB;IAED;;;;;OAKG;IACH,iBAAiB,IAAI,4BAA4B,EAAE,CAelD;IAED;;;;;OAKG;IACH,eAAe,IAAI,0BAA0B,EAAE,CAe9C;IAED;;;;OAIG;IACH,gBAAgB,IAAI,sBAAsB,CAKzC;CACF"}
1
+ {"version":3,"file":"sim-cfn-template.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudformation/template/sim-cfn-template.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,8 @@ import { isRecord } from "../../../util/type-guard/record.js";
4
4
  import { SimCfnTemplateBodyValidator } from "./sim-cfn-template-body-validator.js";
5
5
  import { jsonParse } from "../../../util/type-guard/json.js";
6
6
  import { SimCfnPseudoParameters } from "../parameters/pseudo/sim-cfn-pseudo-parameters.js";
7
+ import { SimCfnConditionEvaluator } from "./condition/sim-cfn-condition-evaluator.js";
8
+ import { SimCfnResourceConditions } from "./condition/sim-cfn-resource-conditions.js";
7
9
  /**
8
10
  * Convenience wrapper over a plain parsed CloudFormation template object.
9
11
  *
@@ -14,6 +16,7 @@ export class SimCfnTemplate {
14
16
  stackName;
15
17
  parameters;
16
18
  accountRegionScope;
19
+ evaluatedConditions;
17
20
  constructor(properties) {
18
21
  const { template, parameters, stackName, accountRegionScope } = properties;
19
22
  this.template = template;
@@ -48,21 +51,28 @@ export class SimCfnTemplate {
48
51
  *
49
52
  * Parameters and parameter-only intrinsic functions are resolved here.
50
53
  * Refs to other Resources are left unresolved because the referenced Resources do not exist yet; they are resolved at Resource creation time.
54
+ *
55
+ * A Resource whose `Condition` attribute is false is left out entirely, so
56
+ * the Stack never has a Resource the template conditioned out.
51
57
  */
52
58
  resourceTemplates() {
53
- const valueResolver = new SimCfnTemplateValueResolver({
54
- parameters: this.parameters,
55
- pseudoParameters: this.pseudoParameters(),
56
- mappings: this.template.Mappings,
59
+ const valueResolver = this.valueResolver();
60
+ const resourceConditions = new SimCfnResourceConditions({
61
+ resources: this.template.Resources,
62
+ conditions: this.conditions(),
63
+ stackName: this.stackName,
57
64
  });
58
- return Object.entries(this.template.Resources)
65
+ const resourceTemplates = Object.entries(this.template.Resources)
59
66
  .filter((entry) => {
60
67
  return isRecord(entry[1]);
61
68
  })
69
+ .filter(([logicalId]) => !resourceConditions.excludes(logicalId))
62
70
  .map(([logicalId, resourceTemplate]) => ({
63
71
  logicalId,
64
- template: valueResolver.resolveRecord(resourceTemplate),
72
+ template: valueResolver.resolveRecordFor(`Sim CloudFormation Resource ${logicalId}`, resourceTemplate),
65
73
  }));
74
+ resourceConditions.assertNotReferenced(resourceTemplates);
75
+ return resourceTemplates;
66
76
  }
67
77
  /**
68
78
  * Get Output template entries with parameter-only expressions resolved.
@@ -71,18 +81,14 @@ export class SimCfnTemplate {
71
81
  * Outputs are resolved after Resource creation.
72
82
  */
73
83
  outputTemplates() {
74
- const valueResolver = new SimCfnTemplateValueResolver({
75
- parameters: this.parameters,
76
- pseudoParameters: this.pseudoParameters(),
77
- mappings: this.template.Mappings,
78
- });
84
+ const valueResolver = this.valueResolver();
79
85
  return Object.entries(this.template.Outputs ?? {})
80
86
  .filter((entry) => {
81
87
  return isRecord(entry[1]);
82
88
  })
83
89
  .map(([outputKey, outputTemplate]) => ({
84
90
  outputKey,
85
- template: valueResolver.resolveRecord(outputTemplate),
91
+ template: valueResolver.resolveRecordFor(`Sim CloudFormation Output ${outputKey}`, outputTemplate),
86
92
  }));
87
93
  }
88
94
  /**
@@ -96,5 +102,31 @@ export class SimCfnTemplate {
96
102
  stackName: this.stackName,
97
103
  });
98
104
  }
105
+ /**
106
+ * Get the template Conditions, evaluated against this Stack's Parameters.
107
+ *
108
+ * A Condition reads only Parameters and pseudo parameters, so the section is
109
+ * evaluated once and the answers reused by every Resource and Output.
110
+ */
111
+ conditions() {
112
+ this.evaluatedConditions ??= new SimCfnConditionEvaluator({
113
+ conditions: this.template.Conditions,
114
+ stackName: this.stackName,
115
+ valueResolver: new SimCfnTemplateValueResolver({
116
+ parameters: this.parameters,
117
+ pseudoParameters: this.pseudoParameters(),
118
+ mappings: this.template.Mappings,
119
+ }),
120
+ }).evaluate();
121
+ return this.evaluatedConditions;
122
+ }
123
+ valueResolver() {
124
+ return new SimCfnTemplateValueResolver({
125
+ parameters: this.parameters,
126
+ pseudoParameters: this.pseudoParameters(),
127
+ mappings: this.template.Mappings,
128
+ conditions: this.conditions(),
129
+ });
130
+ }
99
131
  }
100
132
  //# sourceMappingURL=sim-cfn-template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cfn-template.js","sourceRoot":"","sources":["../../../../src/service/cloudformation/template/sim-cfn-template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sim-cfn-template.js","sourceRoot":"","sources":["../../../../src/service/cloudformation/template/sim-cfn-template.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,13 @@ import type { SimCfnTemplateValue, SimCfnTemplateValueRecord } from "./sim-cfn-t
3
3
  import type { SimCfnResourceRefResolver as SimCfnResourceReferenceResolver } from "../resolve/sim-cfn-resource-ref-resolver.js";
4
4
  import type { SimCfnPseudoParameters } from "../../parameters/pseudo/sim-cfn-pseudo-parameters.js";
5
5
  import type { SimCfnMappings } from "../mapping/sim-cfn-mappings.js";
6
+ import type { SimCfnConditions } from "../condition/sim-cfn-conditions.js";
6
7
  interface SimCfnTemplateValueResolverProperties {
7
8
  readonly parameters: SimCfnParameters;
8
9
  readonly resources?: SimCfnResourceReferenceResolver | undefined;
9
10
  readonly pseudoParameters?: SimCfnPseudoParameters | undefined;
10
11
  readonly mappings?: SimCfnMappings | undefined;
12
+ readonly conditions?: SimCfnConditions | undefined;
11
13
  }
12
14
  /**
13
15
  * Resolve supported CloudFormation value expressions inside template values.
@@ -21,8 +23,26 @@ export declare class SimCfnTemplateValueResolver {
21
23
  resolve(value: SimCfnTemplateValue): SimCfnTemplateValue;
22
24
  /**
23
25
  * Resolve every value in a CloudFormation template object.
26
+ *
27
+ * A value that cannot be resolved carries the name it was stored under, so
28
+ * the caller can say which property of which Resource was at fault.
24
29
  */
25
30
  resolveRecord(value: SimCfnTemplateValueRecord): SimCfnTemplateValueRecord;
31
+ /**
32
+ * Resolve every value in a template object belonging to a named subject.
33
+ *
34
+ * The subject is the Resource or Output the object came from, which this
35
+ * resolver has no way to know. A value that fails to resolve is named with
36
+ * both, so a template author is told where to look.
37
+ */
38
+ resolveRecordFor(subject: string, value: SimCfnTemplateValueRecord): SimCfnTemplateValueRecord;
39
+ /**
40
+ * Resolve one entry, naming it if the value underneath fails.
41
+ *
42
+ * Parsing happens outside the catch, because a value that does not parse
43
+ * fails with a message that already quotes the expression at fault.
44
+ */
45
+ private resolveEntry;
26
46
  }
27
47
  export {};
28
48
  //# sourceMappingURL=sim-cfn-template-value-resolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cfn-template-value-resolver.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudformation/template/value/sim-cfn-template-value-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAE/E,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,yBAAyB,IAAI,+BAA+B,EAAE,MAAM,6CAA6C,CAAC;AAChI,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAEnG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAErE,UAAU,qCAAqC;IAC7C,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,+BAA+B,GAAG,SAAS,CAAC;IACjE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAC/D,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;CAChD;AAED;;GAEG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAE/C,YAAY,UAAU,EAAE,qCAAqC,EAO5D;IAED;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,mBAAmB,GAAG,mBAAmB,CAEvD;IAED;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,yBAAyB,GAAG,yBAAyB,CAOzE;CACF"}
1
+ {"version":3,"file":"sim-cfn-template-value-resolver.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudformation/template/value/sim-cfn-template-value-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAE/E,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,yBAAyB,IAAI,+BAA+B,EAAE,MAAM,6CAA6C,CAAC;AAChI,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAEnG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAM3E,UAAU,qCAAqC;IAC7C,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,+BAA+B,GAAG,SAAS,CAAC;IACjE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAC/D,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;CACpD;AAED;;GAEG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAE/C,YAAY,UAAU,EAAE,qCAAqC,EAQ5D;IAED;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,mBAAmB,GAAG,mBAAmB,CAEvD;IAED;;;;;OAKG;IACH,aAAa,CAAC,KAAK,EAAE,yBAAyB,GAAG,yBAAyB,CAOzE;IAED;;;;;;OAMG;IACH,gBAAgB,CACd,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,yBAAyB,GAC/B,yBAAyB,CAE3B;IAED;;;;;OAKG;IACH,OAAO,CAAC,YAAY;CAQrB"}
@@ -1,12 +1,19 @@
1
1
  import { parseSimCfnNode } from "../parse/node/sim-cfn-node-parser.js";
2
2
  import { SimCfnResolveContext } from "../resolve/sim-cfn-resolve-context.js";
3
+ import { resolveSimCfnValueAt, resolveSimCfnValueIn, } from "./sim-cfn-value-path.js";
3
4
  /**
4
5
  * Resolve supported CloudFormation value expressions inside template values.
5
6
  */
6
7
  export class SimCfnTemplateValueResolver {
7
8
  context;
8
9
  constructor(properties) {
9
- this.context = new SimCfnResolveContext(properties.parameters, properties.resources, properties.pseudoParameters, properties.mappings);
10
+ this.context = new SimCfnResolveContext({
11
+ parameters: properties.parameters,
12
+ resources: properties.resources,
13
+ pseudoParameters: properties.pseudoParameters,
14
+ mappings: properties.mappings,
15
+ conditions: properties.conditions,
16
+ });
10
17
  }
11
18
  /**
12
19
  * Resolve Parameters and supported intrinsic functions recursively.
@@ -16,12 +23,35 @@ export class SimCfnTemplateValueResolver {
16
23
  }
17
24
  /**
18
25
  * Resolve every value in a CloudFormation template object.
26
+ *
27
+ * A value that cannot be resolved carries the name it was stored under, so
28
+ * the caller can say which property of which Resource was at fault.
19
29
  */
20
30
  resolveRecord(value) {
21
31
  return Object.fromEntries(Object.entries(value).map(([key, entryValue]) => [
22
32
  key,
23
- this.resolve(entryValue),
33
+ this.resolveEntry(key, entryValue),
24
34
  ]));
25
35
  }
36
+ /**
37
+ * Resolve every value in a template object belonging to a named subject.
38
+ *
39
+ * The subject is the Resource or Output the object came from, which this
40
+ * resolver has no way to know. A value that fails to resolve is named with
41
+ * both, so a template author is told where to look.
42
+ */
43
+ resolveRecordFor(subject, value) {
44
+ return resolveSimCfnValueIn(subject, () => this.resolveRecord(value));
45
+ }
46
+ /**
47
+ * Resolve one entry, naming it if the value underneath fails.
48
+ *
49
+ * Parsing happens outside the catch, because a value that does not parse
50
+ * fails with a message that already quotes the expression at fault.
51
+ */
52
+ resolveEntry(key, value) {
53
+ const node = parseSimCfnNode(value);
54
+ return resolveSimCfnValueAt(key, () => node.resolve(this.context));
55
+ }
26
56
  }
27
57
  //# sourceMappingURL=sim-cfn-template-value-resolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cfn-template-value-resolver.js","sourceRoot":"","sources":["../../../../../src/service/cloudformation/template/value/sim-cfn-template-value-resolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAOvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAU7E;;GAEG;AACH,MAAM,OAAO,2BAA2B;IACrB,OAAO,CAAuB;IAE/C,YAAY,UAAiD;QAC3D,IAAI,CAAC,OAAO,GAAG,IAAI,oBAAoB,CACrC,UAAU,CAAC,UAAU,EACrB,UAAU,CAAC,SAAS,EACpB,UAAU,CAAC,gBAAgB,EAC3B,UAAU,CAAC,QAAQ,CACpB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,KAA0B;QAChC,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,KAAgC;QAC5C,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC;YAC/C,GAAG;YACH,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;SACzB,CAAC,CACH,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"sim-cfn-template-value-resolver.js","sourceRoot":"","sources":["../../../../../src/service/cloudformation/template/value/sim-cfn-template-value-resolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAOvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAG7E,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AAUjC;;GAEG;AACH,MAAM,OAAO,2BAA2B;IACrB,OAAO,CAAuB;IAE/C,YAAY,UAAiD;QAC3D,IAAI,CAAC,OAAO,GAAG,IAAI,oBAAoB,CAAC;YACtC,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;YAC7C,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,UAAU,EAAE,UAAU,CAAC,UAAU;SAClC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,KAA0B;QAChC,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,KAAgC;QAC5C,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC;YAC/C,GAAG;YACH,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,UAAU,CAAC;SACnC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,gBAAgB,CACd,OAAe,EACf,KAAgC;QAEhC,OAAO,oBAAoB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IACxE,CAAC;IAED;;;;;OAKG;IACK,YAAY,CAClB,GAAW,EACX,KAA0B;QAE1B,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QAEpC,OAAO,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACrE,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ import type { SimCfnTemplateValue } from "./sim-cfn-template-value.js";
2
+ /**
3
+ * Whether a resolved value is still an unresolved intrinsic expression.
4
+ *
5
+ * Resolution runs in two phases, so a node can resolve to a `Ref` or an
6
+ * `Fn::*` object that a later phase finishes. A function reading that value
7
+ * has to tell it apart from a value the template really carries: an object
8
+ * with one intrinsic key is deferred work, anything else is the wrong type.
9
+ */
10
+ export declare function isSimCfnUnresolvedExpression(value: SimCfnTemplateValue): value is Record<string, SimCfnTemplateValue>;
11
+ //# sourceMappingURL=sim-cfn-unresolved-expression.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-unresolved-expression.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudformation/template/value/sim-cfn-unresolved-expression.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,mBAAmB,GACzB,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAc9C"}
@@ -0,0 +1,21 @@
1
+ import { isRecord } from "../../../../util/type-guard/record.js";
2
+ /**
3
+ * Whether a resolved value is still an unresolved intrinsic expression.
4
+ *
5
+ * Resolution runs in two phases, so a node can resolve to a `Ref` or an
6
+ * `Fn::*` object that a later phase finishes. A function reading that value
7
+ * has to tell it apart from a value the template really carries: an object
8
+ * with one intrinsic key is deferred work, anything else is the wrong type.
9
+ */
10
+ export function isSimCfnUnresolvedExpression(value) {
11
+ if (!isRecord(value)) {
12
+ return false;
13
+ }
14
+ const entries = Object.entries(value);
15
+ if (entries.length !== 1) {
16
+ return false;
17
+ }
18
+ const functionName = entries[0]?.[0];
19
+ return functionName === "Ref" || functionName?.startsWith("Fn::") === true;
20
+ }
21
+ //# sourceMappingURL=sim-cfn-unresolved-expression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-unresolved-expression.js","sourceRoot":"","sources":["../../../../../src/service/cloudformation/template/value/sim-cfn-unresolved-expression.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AAGjE;;;;;;;GAOG;AACH,MAAM,UAAU,4BAA4B,CAC1C,KAA0B;IAE1B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAEtC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAErC,OAAO,YAAY,KAAK,KAAK,IAAI,YAAY,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,22 @@
1
+ /** A key or a list position on the way down to a template value. */
2
+ export type SimCfnValuePathSegment = string | number;
3
+ /**
4
+ * Resolve a value, naming the key it sat under if it fails.
5
+ *
6
+ * A failure on its own says what was wrong with the expression but not which
7
+ * property held it, which is the part a template author needs. Each container
8
+ * node adds its own key or list position as the failure passes back up, so the
9
+ * path is built without any node having to know where it sits.
10
+ *
11
+ * Only resolution runs in here. A value that does not parse is left alone,
12
+ * because its message already quotes the expression at fault.
13
+ */
14
+ export declare function resolveSimCfnValueAt<T>(segment: SimCfnValuePathSegment, resolve: () => T): T;
15
+ /**
16
+ * Resolve a template object, naming the subject it belongs to if it fails.
17
+ *
18
+ * The subject is the Resource or Output the values belong to, which the
19
+ * template value resolver has no way to know.
20
+ */
21
+ export declare function resolveSimCfnValueIn<T>(subject: string, resolve: () => T): T;
22
+ //# sourceMappingURL=sim-cfn-value-path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-value-path.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudformation/template/value/sim-cfn-value-path.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,MAAM,CAAC;AAerD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,OAAO,EAAE,sBAAsB,EAC/B,OAAO,EAAE,MAAM,CAAC,GACf,CAAC,CAMH;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAM5E"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Where in the template each failed value sat.
3
+ *
4
+ * The path is held beside the error rather than on it, so the error thrown by
5
+ * a node keeps its own type and stack while it travels back up.
6
+ */
7
+ const valuePaths = new WeakMap();
8
+ /**
9
+ * Resolve a value, naming the key it sat under if it fails.
10
+ *
11
+ * A failure on its own says what was wrong with the expression but not which
12
+ * property held it, which is the part a template author needs. Each container
13
+ * node adds its own key or list position as the failure passes back up, so the
14
+ * path is built without any node having to know where it sits.
15
+ *
16
+ * Only resolution runs in here. A value that does not parse is left alone,
17
+ * because its message already quotes the expression at fault.
18
+ */
19
+ export function resolveSimCfnValueAt(segment, resolve) {
20
+ try {
21
+ return resolve();
22
+ }
23
+ catch (error) {
24
+ rethrowSimCfnValueAt(segment, error);
25
+ }
26
+ }
27
+ /**
28
+ * Resolve a template object, naming the subject it belongs to if it fails.
29
+ *
30
+ * The subject is the Resource or Output the values belong to, which the
31
+ * template value resolver has no way to know.
32
+ */
33
+ export function resolveSimCfnValueIn(subject, resolve) {
34
+ try {
35
+ return resolve();
36
+ }
37
+ catch (error) {
38
+ rethrowSimCfnValueIn(subject, error);
39
+ }
40
+ }
41
+ function rethrowSimCfnValueAt(segment, error) {
42
+ /* v8 ignore next 3 -- defensive: resolution throws Errors */
43
+ if (!(error instanceof Error)) {
44
+ throw error;
45
+ }
46
+ const path = extendedValuePath(segment, error);
47
+ valuePaths.set(error, path);
48
+ error.message = `value at ${formatSimCfnValuePath(path.segments)}: ${path.reason}`;
49
+ throw error;
50
+ }
51
+ /**
52
+ * A failure carrying no path is rethrown as it is: it comes from reading the
53
+ * template rather than from one value inside it.
54
+ */
55
+ function rethrowSimCfnValueIn(subject, error) {
56
+ if (!(error instanceof Error)) {
57
+ /* v8 ignore next -- defensive: resolution throws Errors */
58
+ throw error;
59
+ }
60
+ const path = valuePaths.get(error);
61
+ if (path === undefined) {
62
+ throw error;
63
+ }
64
+ error.message = `${subject} value at ${formatSimCfnValuePath(path.segments)}: ${path.reason}`;
65
+ throw error;
66
+ }
67
+ function extendedValuePath(segment, error) {
68
+ const path = valuePaths.get(error);
69
+ if (path === undefined) {
70
+ return { segments: [segment], reason: error.message };
71
+ }
72
+ return { segments: [segment, ...path.segments], reason: path.reason };
73
+ }
74
+ /**
75
+ * Write a value path the way a template author reads it, e.g.
76
+ * `Properties.Origins[0].DomainName`.
77
+ */
78
+ function formatSimCfnValuePath(segments) {
79
+ return segments
80
+ .map((segment, position) => formatSimCfnValuePathSegment(segment, position))
81
+ .join("");
82
+ }
83
+ function formatSimCfnValuePathSegment(segment, position) {
84
+ if (typeof segment === "number") {
85
+ return `[${String(segment)}]`;
86
+ }
87
+ if (position === 0) {
88
+ return segment;
89
+ }
90
+ return `.${segment}`;
91
+ }
92
+ //# sourceMappingURL=sim-cfn-value-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-value-path.js","sourceRoot":"","sources":["../../../../../src/service/cloudformation/template/value/sim-cfn-value-path.ts"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,MAAM,UAAU,GAAG,IAAI,OAAO,EAA0B,CAAC;AAEzD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAA+B,EAC/B,OAAgB;IAEhB,IAAI,CAAC;QACH,OAAO,OAAO,EAAE,CAAC;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAI,OAAe,EAAE,OAAgB;IACvE,IAAI,CAAC;QACH,OAAO,OAAO,EAAE,CAAC;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAA+B,EAC/B,KAAc;IAEd,6DAA6D;IAC7D,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,KAAK,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC/C,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5B,KAAK,CAAC,OAAO,GAAG,YAAY,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;IAEnF,MAAM,KAAK,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,OAAe,EAAE,KAAc;IAC3D,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;QAC9B,2DAA2D;QAC3D,MAAM,KAAK,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAEnC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,KAAK,CAAC;IACd,CAAC;IAED,KAAK,CAAC,OAAO,GAAG,GAAG,OAAO,aAAa,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;IAE9F,MAAM,KAAK,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CACxB,OAA+B,EAC/B,KAAY;IAEZ,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAEnC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;IACxD,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;AACxE,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAC5B,QAA2C;IAE3C,OAAO,QAAQ;SACZ,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,4BAA4B,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;SAC3E,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAS,4BAA4B,CACnC,OAA+B,EAC/B,QAAgB;IAEhB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;IAChC,CAAC;IAED,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,IAAI,OAAO,EAAE,CAAC;AACvB,CAAC"}
@@ -65,12 +65,19 @@ export interface SimCloudFrontViewerCertificate {
65
65
  }
66
66
  /**
67
67
  * Minimal structural sim CloudFront Origin config.
68
+ *
69
+ * An Origin is an S3 Origin or a custom Origin, as it is in CloudFront, and
70
+ * which one it is decides how the simulator reaches it. The settings inside
71
+ * `CustomOriginConfig` describe how CloudFront connects to the Origin over the
72
+ * network, which an in-process fetch has no use for, so they are accepted and
73
+ * ignored.
68
74
  */
69
75
  export interface SimCloudFrontOriginConfig {
70
76
  readonly Id?: string | undefined;
71
77
  readonly DomainName?: string | undefined;
72
78
  readonly OriginPath?: string | undefined;
73
79
  readonly S3OriginConfig?: object | undefined;
80
+ readonly CustomOriginConfig?: object | undefined;
74
81
  }
75
82
  /**
76
83
  * Minimal structural sim CloudFront default cache behavior config.