@kensio/yulin 1.2.0 → 1.4.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 (669) hide show
  1. package/README.md +1 -0
  2. package/dist/sdk/router/resolve-sim-sdk-command-router.d.ts.map +1 -1
  3. package/dist/sdk/router/resolve-sim-sdk-command-router.js +6 -0
  4. package/dist/sdk/router/resolve-sim-sdk-command-router.js.map +1 -1
  5. package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts +13 -10
  6. package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts.map +1 -1
  7. package/dist/service/aws/factory/sim-aws-account-region-service-builder.js +29 -25
  8. package/dist/service/aws/factory/sim-aws-account-region-service-builder.js.map +1 -1
  9. package/dist/service/aws/factory/sim-aws-s3-notification-destinations.d.ts +11 -0
  10. package/dist/service/aws/factory/sim-aws-s3-notification-destinations.d.ts.map +1 -0
  11. package/dist/service/aws/factory/sim-aws-s3-notification-destinations.js +23 -0
  12. package/dist/service/aws/factory/sim-aws-s3-notification-destinations.js.map +1 -0
  13. package/dist/service/aws/factory/sim-aws-service-factory.d.ts +3 -0
  14. package/dist/service/aws/factory/sim-aws-service-factory.d.ts.map +1 -1
  15. package/dist/service/aws/factory/sim-aws-service-factory.js +4 -0
  16. package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
  17. package/dist/service/aws/sim-aws-account-region-scope.d.ts +14 -1
  18. package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
  19. package/dist/service/aws/sim-aws-account-region-scope.js +16 -0
  20. package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
  21. package/dist/service/aws/sim-aws-account.d.ts +5 -1
  22. package/dist/service/aws/sim-aws-account.d.ts.map +1 -1
  23. package/dist/service/aws/sim-aws-account.js +6 -0
  24. package/dist/service/aws/sim-aws-account.js.map +1 -1
  25. package/dist/service/aws/sim-aws-region.d.ts +5 -1
  26. package/dist/service/aws/sim-aws-region.d.ts.map +1 -1
  27. package/dist/service/aws/sim-aws-region.js +6 -0
  28. package/dist/service/aws/sim-aws-region.js.map +1 -1
  29. package/dist/service/aws/sim-aws-service-accessors.d.ts +6 -1
  30. package/dist/service/aws/sim-aws-service-accessors.d.ts.map +1 -1
  31. package/dist/service/aws/sim-aws-service-accessors.js +8 -0
  32. package/dist/service/aws/sim-aws-service-accessors.js.map +1 -1
  33. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-cfn-value-adapter.d.ts +4 -0
  34. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-cfn-value-adapter.d.ts.map +1 -1
  35. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-cfn-value-adapter.js +19 -2
  36. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-cfn-value-adapter.js.map +1 -1
  37. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.d.ts +30 -6
  38. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.d.ts.map +1 -1
  39. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.js +46 -10
  40. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.js.map +1 -1
  41. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-capacity.d.ts +26 -0
  42. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-capacity.d.ts.map +1 -0
  43. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-capacity.js +28 -0
  44. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-capacity.js.map +1 -0
  45. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-creator.d.ts +26 -0
  46. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-creator.d.ts.map +1 -0
  47. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-creator.js +27 -0
  48. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-creator.js.map +1 -0
  49. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-indexes.d.ts +17 -0
  50. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-indexes.d.ts.map +1 -0
  51. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-indexes.js +62 -0
  52. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-indexes.js.map +1 -0
  53. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-properties.d.ts +37 -0
  54. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-properties.d.ts.map +1 -0
  55. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-properties.js +88 -0
  56. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-properties.js.map +1 -0
  57. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.d.ts +23 -0
  58. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.d.ts.map +1 -0
  59. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.js +151 -0
  60. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.js.map +1 -0
  61. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property.d.ts +29 -0
  62. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property.d.ts.map +1 -0
  63. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property.js +26 -0
  64. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property.js.map +1 -0
  65. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replica-rules.d.ts +15 -0
  66. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replica-rules.d.ts.map +1 -0
  67. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replica-rules.js +98 -0
  68. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replica-rules.js.map +1 -0
  69. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replicas.d.ts +48 -0
  70. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replicas.d.ts.map +1 -0
  71. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replicas.js +78 -0
  72. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replicas.js.map +1 -0
  73. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-resource.factory.d.ts +53 -0
  74. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-resource.factory.d.ts.map +1 -0
  75. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-resource.factory.js +46 -0
  76. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-resource.factory.js.map +1 -0
  77. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-simulated.d.ts +18 -0
  78. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-simulated.d.ts.map +1 -0
  79. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-simulated.js +41 -0
  80. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-simulated.js.map +1 -0
  81. package/dist/service/dynamodb/cfn/{table/sim-cfn-dynamodb-table-property-error.d.ts → property/sim-cfn-dynamodb-property-error.d.ts} +9 -5
  82. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-error.d.ts.map +1 -0
  83. package/dist/service/dynamodb/cfn/{table/sim-cfn-dynamodb-table-property-error.js → property/sim-cfn-dynamodb-property-error.js} +11 -7
  84. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-error.js.map +1 -0
  85. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-rules.d.ts +54 -0
  86. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-rules.d.ts.map +1 -0
  87. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-rules.js +71 -0
  88. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-rules.js.map +1 -0
  89. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-scalars.d.ts +17 -0
  90. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-scalars.d.ts.map +1 -0
  91. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-scalars.js +35 -0
  92. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-scalars.js.map +1 -0
  93. package/dist/service/dynamodb/cfn/{table/sim-cfn-dynamodb-table-values.d.ts → property/sim-cfn-dynamodb-property-values.d.ts} +23 -17
  94. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-values.d.ts.map +1 -0
  95. package/dist/service/dynamodb/cfn/{table/sim-cfn-dynamodb-table-values.js → property/sim-cfn-dynamodb-property-values.js} +33 -30
  96. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-values.js.map +1 -0
  97. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.d.ts +6 -4
  98. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.d.ts.map +1 -1
  99. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.js +15 -5
  100. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.js.map +1 -1
  101. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-type.d.ts +14 -0
  102. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-type.d.ts.map +1 -0
  103. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-type.js +14 -0
  104. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-type.js.map +1 -0
  105. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.d.ts.map +1 -1
  106. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.js +1 -0
  107. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.js.map +1 -1
  108. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.d.ts +8 -26
  109. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.d.ts.map +1 -1
  110. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.js +23 -59
  111. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.js.map +1 -1
  112. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-indexes.d.ts +2 -2
  113. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-indexes.d.ts.map +1 -1
  114. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-indexes.js.map +1 -1
  115. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-key-schema.d.ts +2 -2
  116. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-key-schema.d.ts.map +1 -1
  117. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-key-schema.js.map +1 -1
  118. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.d.ts +5 -0
  119. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.d.ts.map +1 -1
  120. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.js +11 -2
  121. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.js.map +1 -1
  122. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.d.ts +7 -7
  123. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.d.ts.map +1 -1
  124. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.js +25 -25
  125. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.js.map +1 -1
  126. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-resource.factory.d.ts +7 -0
  127. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-resource.factory.d.ts.map +1 -1
  128. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-resource.factory.js +5 -2
  129. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-resource.factory.js.map +1 -1
  130. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.d.ts +11 -0
  131. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.d.ts.map +1 -0
  132. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.js +40 -0
  133. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.js.map +1 -0
  134. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream.d.ts +17 -0
  135. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream.d.ts.map +1 -0
  136. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream.js +24 -0
  137. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream.js.map +1 -0
  138. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-throughput.d.ts +2 -2
  139. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-throughput.d.ts.map +1 -1
  140. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-throughput.js.map +1 -1
  141. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-time-to-live.d.ts +2 -2
  142. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-time-to-live.d.ts.map +1 -1
  143. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-time-to-live.js.map +1 -1
  144. package/dist/service/dynamodb/command/authorize/sim-dynamodb-authorizer.d.ts +11 -0
  145. package/dist/service/dynamodb/command/authorize/sim-dynamodb-authorizer.d.ts.map +1 -1
  146. package/dist/service/dynamodb/command/authorize/sim-dynamodb-authorizer.js +13 -0
  147. package/dist/service/dynamodb/command/authorize/sim-dynamodb-authorizer.js.map +1 -1
  148. package/dist/service/dynamodb/command/stream/describe-stream/describe-stream.command.d.ts +43 -0
  149. package/dist/service/dynamodb/command/stream/describe-stream/describe-stream.command.d.ts.map +1 -0
  150. package/dist/service/dynamodb/command/stream/describe-stream/describe-stream.command.js +5 -0
  151. package/dist/service/dynamodb/command/stream/describe-stream/describe-stream.command.js.map +1 -0
  152. package/dist/service/dynamodb/command/stream/describe-stream/sim-dynamodb-describe-stream.d.ts +26 -0
  153. package/dist/service/dynamodb/command/stream/describe-stream/sim-dynamodb-describe-stream.d.ts.map +1 -0
  154. package/dist/service/dynamodb/command/stream/describe-stream/sim-dynamodb-describe-stream.js +77 -0
  155. package/dist/service/dynamodb/command/stream/describe-stream/sim-dynamodb-describe-stream.js.map +1 -0
  156. package/dist/service/dynamodb/command/stream/get-records/get-records.command.d.ts +32 -0
  157. package/dist/service/dynamodb/command/stream/get-records/get-records.command.d.ts.map +1 -0
  158. package/dist/service/dynamodb/command/stream/get-records/get-records.command.js +5 -0
  159. package/dist/service/dynamodb/command/stream/get-records/get-records.command.js.map +1 -0
  160. package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-get-records.d.ts +29 -0
  161. package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-get-records.d.ts.map +1 -0
  162. package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-get-records.js +60 -0
  163. package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-get-records.js.map +1 -0
  164. package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-streams-api-record.d.ts +12 -0
  165. package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-streams-api-record.d.ts.map +1 -0
  166. package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-streams-api-record.js +52 -0
  167. package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-streams-api-record.js.map +1 -0
  168. package/dist/service/dynamodb/command/stream/get-shard-iterator/get-shard-iterator.command.d.ts +31 -0
  169. package/dist/service/dynamodb/command/stream/get-shard-iterator/get-shard-iterator.command.d.ts.map +1 -0
  170. package/dist/service/dynamodb/command/stream/get-shard-iterator/get-shard-iterator.command.js +5 -0
  171. package/dist/service/dynamodb/command/stream/get-shard-iterator/get-shard-iterator.command.js.map +1 -0
  172. package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-get-shard-iterator.d.ts +27 -0
  173. package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-get-shard-iterator.d.ts.map +1 -0
  174. package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-get-shard-iterator.js +42 -0
  175. package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-get-shard-iterator.js.map +1 -0
  176. package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-shard-iterator-position.d.ts +11 -0
  177. package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-shard-iterator-position.d.ts.map +1 -0
  178. package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-shard-iterator-position.js +53 -0
  179. package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-shard-iterator-position.js.map +1 -0
  180. package/dist/service/dynamodb/command/stream/list-streams/list-streams.command.d.ts +33 -0
  181. package/dist/service/dynamodb/command/stream/list-streams/list-streams.command.d.ts.map +1 -0
  182. package/dist/service/dynamodb/command/stream/list-streams/list-streams.command.js +5 -0
  183. package/dist/service/dynamodb/command/stream/list-streams/list-streams.command.js.map +1 -0
  184. package/dist/service/dynamodb/command/stream/list-streams/sim-dynamodb-list-streams.d.ts +26 -0
  185. package/dist/service/dynamodb/command/stream/list-streams/sim-dynamodb-list-streams.d.ts.map +1 -0
  186. package/dist/service/dynamodb/command/stream/list-streams/sim-dynamodb-list-streams.js +31 -0
  187. package/dist/service/dynamodb/command/stream/list-streams/sim-dynamodb-list-streams.js.map +1 -0
  188. package/dist/service/dynamodb/command/stream/list-streams/sim-dynamodb-stream-page.d.ts +28 -0
  189. package/dist/service/dynamodb/command/stream/list-streams/sim-dynamodb-stream-page.d.ts.map +1 -0
  190. package/dist/service/dynamodb/command/stream/list-streams/sim-dynamodb-stream-page.js +59 -0
  191. package/dist/service/dynamodb/command/stream/list-streams/sim-dynamodb-stream-page.js.map +1 -0
  192. package/dist/service/dynamodb/command/stream/sim-dynamodb-stream-access.d.ts +44 -0
  193. package/dist/service/dynamodb/command/stream/sim-dynamodb-stream-access.d.ts.map +1 -0
  194. package/dist/service/dynamodb/command/stream/sim-dynamodb-stream-access.js +53 -0
  195. package/dist/service/dynamodb/command/stream/sim-dynamodb-stream-access.js.map +1 -0
  196. package/dist/service/dynamodb/command/stream/sim-dynamodb-stream-command.types.d.ts +8 -0
  197. package/dist/service/dynamodb/command/stream/sim-dynamodb-stream-command.types.d.ts.map +1 -0
  198. package/dist/service/dynamodb/command/stream/sim-dynamodb-stream-command.types.js +2 -0
  199. package/dist/service/dynamodb/command/stream/sim-dynamodb-stream-command.types.js.map +1 -0
  200. package/dist/service/dynamodb/command/stream/stream.types.d.ts +84 -0
  201. package/dist/service/dynamodb/command/stream/stream.types.d.ts.map +1 -0
  202. package/dist/service/dynamodb/command/stream/stream.types.js +2 -0
  203. package/dist/service/dynamodb/command/stream/stream.types.js.map +1 -0
  204. package/dist/service/dynamodb/error/dynamodb.error.d.ts +17 -0
  205. package/dist/service/dynamodb/error/dynamodb.error.d.ts.map +1 -1
  206. package/dist/service/dynamodb/error/dynamodb.error.js +19 -0
  207. package/dist/service/dynamodb/error/dynamodb.error.js.map +1 -1
  208. package/dist/service/dynamodb/index.d.ts +1 -0
  209. package/dist/service/dynamodb/index.d.ts.map +1 -1
  210. package/dist/service/dynamodb/index.js +1 -0
  211. package/dist/service/dynamodb/index.js.map +1 -1
  212. package/dist/service/dynamodb/sdk/sim-dynamodb-streams-sdk-command-router.d.ts +24 -0
  213. package/dist/service/dynamodb/sdk/sim-dynamodb-streams-sdk-command-router.d.ts.map +1 -0
  214. package/dist/service/dynamodb/sdk/sim-dynamodb-streams-sdk-command-router.js +46 -0
  215. package/dist/service/dynamodb/sdk/sim-dynamodb-streams-sdk-command-router.js.map +1 -0
  216. package/dist/service/dynamodb/sim-dynamodb-streams.d.ts +59 -0
  217. package/dist/service/dynamodb/sim-dynamodb-streams.d.ts.map +1 -0
  218. package/dist/service/dynamodb/sim-dynamodb-streams.js +79 -0
  219. package/dist/service/dynamodb/sim-dynamodb-streams.js.map +1 -0
  220. package/dist/service/dynamodb/sim-dynamodb.d.ts +6 -3
  221. package/dist/service/dynamodb/sim-dynamodb.d.ts.map +1 -1
  222. package/dist/service/dynamodb/sim-dynamodb.js +16 -5
  223. package/dist/service/dynamodb/sim-dynamodb.js.map +1 -1
  224. package/dist/service/dynamodb/stream/sim-dynamodb-stream-position.d.ts +31 -0
  225. package/dist/service/dynamodb/stream/sim-dynamodb-stream-position.d.ts.map +1 -0
  226. package/dist/service/dynamodb/stream/sim-dynamodb-stream-position.js +13 -0
  227. package/dist/service/dynamodb/stream/sim-dynamodb-stream-position.js.map +1 -0
  228. package/dist/service/dynamodb/stream/sim-dynamodb-stream-read.d.ts +33 -0
  229. package/dist/service/dynamodb/stream/sim-dynamodb-stream-read.d.ts.map +1 -0
  230. package/dist/service/dynamodb/stream/sim-dynamodb-stream-read.js +66 -0
  231. package/dist/service/dynamodb/stream/sim-dynamodb-stream-read.js.map +1 -0
  232. package/dist/service/dynamodb/stream/sim-dynamodb-stream-retention.d.ts +17 -0
  233. package/dist/service/dynamodb/stream/sim-dynamodb-stream-retention.d.ts.map +1 -0
  234. package/dist/service/dynamodb/stream/sim-dynamodb-stream-retention.js +24 -0
  235. package/dist/service/dynamodb/stream/sim-dynamodb-stream-retention.js.map +1 -0
  236. package/dist/service/dynamodb/stream/sim-dynamodb-stream-sequence-numbers.d.ts +16 -0
  237. package/dist/service/dynamodb/stream/sim-dynamodb-stream-sequence-numbers.d.ts.map +1 -1
  238. package/dist/service/dynamodb/stream/sim-dynamodb-stream-sequence-numbers.js +32 -0
  239. package/dist/service/dynamodb/stream/sim-dynamodb-stream-sequence-numbers.js.map +1 -1
  240. package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard-iterator.d.ts +25 -0
  241. package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard-iterator.d.ts.map +1 -0
  242. package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard-iterator.js +74 -0
  243. package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard-iterator.js.map +1 -0
  244. package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard.d.ts +33 -0
  245. package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard.d.ts.map +1 -1
  246. package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard.js +49 -0
  247. package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard.js.map +1 -1
  248. package/dist/service/dynamodb/stream/sim-dynamodb-stream-store.d.ts +16 -0
  249. package/dist/service/dynamodb/stream/sim-dynamodb-stream-store.d.ts.map +1 -1
  250. package/dist/service/dynamodb/stream/sim-dynamodb-stream-store.js +25 -0
  251. package/dist/service/dynamodb/stream/sim-dynamodb-stream-store.js.map +1 -1
  252. package/dist/service/dynamodb/stream/sim-dynamodb-stream.d.ts +14 -0
  253. package/dist/service/dynamodb/stream/sim-dynamodb-stream.d.ts.map +1 -1
  254. package/dist/service/dynamodb/stream/sim-dynamodb-stream.js +18 -0
  255. package/dist/service/dynamodb/stream/sim-dynamodb-stream.js.map +1 -1
  256. package/dist/service/dynamodb/stream/sim-dynamodb-streamed-orders.factory.d.ts +31 -0
  257. package/dist/service/dynamodb/stream/sim-dynamodb-streamed-orders.factory.d.ts.map +1 -0
  258. package/dist/service/dynamodb/stream/sim-dynamodb-streamed-orders.factory.js +33 -0
  259. package/dist/service/dynamodb/stream/sim-dynamodb-streamed-orders.factory.js.map +1 -0
  260. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.d.ts +14 -0
  261. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.d.ts.map +1 -1
  262. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.js +29 -1
  263. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.js.map +1 -1
  264. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-property-rules.d.ts.map +1 -1
  265. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-property-rules.js +8 -2
  266. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-property-rules.js.map +1 -1
  267. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.d.ts +2 -0
  268. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.d.ts.map +1 -1
  269. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.js +7 -1
  270. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.js.map +1 -1
  271. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.d.ts.map +1 -1
  272. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.js +25 -7
  273. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.js.map +1 -1
  274. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-values.d.ts +4 -0
  275. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-values.d.ts.map +1 -1
  276. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-values.js +4 -0
  277. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-values.js.map +1 -1
  278. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.d.ts +5 -2
  279. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.d.ts.map +1 -1
  280. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.js +12 -8
  281. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.js.map +1 -1
  282. package/dist/service/lambda/command/event-source-mapping/sim-lambda-event-source-mapping-commands.d.ts +3 -1
  283. package/dist/service/lambda/command/event-source-mapping/sim-lambda-event-source-mapping-commands.d.ts.map +1 -1
  284. package/dist/service/lambda/command/event-source-mapping/sim-lambda-event-source-mapping-commands.js +1 -1
  285. package/dist/service/lambda/command/event-source-mapping/sim-lambda-event-source-mapping-commands.js.map +1 -1
  286. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-event-image.d.ts +23 -0
  287. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-event-image.d.ts.map +1 -0
  288. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-event-image.js +55 -0
  289. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-event-image.js.map +1 -0
  290. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-polled-stream.d.ts +27 -0
  291. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-polled-stream.d.ts.map +1 -0
  292. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-polled-stream.js +41 -0
  293. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-polled-stream.js.map +1 -0
  294. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-delivery.d.ts +42 -0
  295. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-delivery.d.ts.map +1 -0
  296. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-delivery.js +52 -0
  297. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-delivery.js.map +1 -0
  298. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event-source-poller.d.ts +77 -0
  299. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event-source-poller.d.ts.map +1 -0
  300. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event-source-poller.js +114 -0
  301. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event-source-poller.js.map +1 -0
  302. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event.d.ts +21 -0
  303. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event.d.ts.map +1 -0
  304. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event.js +56 -0
  305. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event.js.map +1 -0
  306. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event.types.d.ts +78 -0
  307. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event.types.d.ts.map +1 -0
  308. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event.types.js +8 -0
  309. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event.types.js.map +1 -0
  310. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poll-turn.d.ts +40 -0
  311. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poll-turn.d.ts.map +1 -0
  312. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poll-turn.js +45 -0
  313. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poll-turn.js.map +1 -0
  314. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller-factory.d.ts +5 -4
  315. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller-factory.d.ts.map +1 -1
  316. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller-factory.js +18 -5
  317. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller-factory.js.map +1 -1
  318. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.d.ts +37 -0
  319. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.d.ts.map +1 -0
  320. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.js +51 -0
  321. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.js.map +1 -0
  322. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.d.ts +29 -0
  323. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.d.ts.map +1 -0
  324. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.js +71 -0
  325. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.js.map +1 -0
  326. package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.d.ts +36 -0
  327. package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.d.ts.map +1 -0
  328. package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.js +41 -0
  329. package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.js.map +1 -0
  330. package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.d.ts +65 -0
  331. package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.d.ts.map +1 -0
  332. package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.js +92 -0
  333. package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.js.map +1 -0
  334. package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.d.ts +36 -0
  335. package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.d.ts.map +1 -0
  336. package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.js +47 -0
  337. package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.js.map +1 -0
  338. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.d.ts +7 -1
  339. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.d.ts.map +1 -1
  340. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.js +10 -27
  341. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.js.map +1 -1
  342. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.d.ts +24 -0
  343. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.d.ts.map +1 -0
  344. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.js +33 -0
  345. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.js.map +1 -0
  346. package/dist/service/lambda/event-source/sim-lambda-event-source-arn.d.ts +6 -4
  347. package/dist/service/lambda/event-source/sim-lambda-event-source-arn.d.ts.map +1 -1
  348. package/dist/service/lambda/event-source/sim-lambda-event-source-arn.js +8 -5
  349. package/dist/service/lambda/event-source/sim-lambda-event-source-arn.js.map +1 -1
  350. package/dist/service/lambda/event-source/sim-lambda-event-source-batch-rules.d.ts +5 -1
  351. package/dist/service/lambda/event-source/sim-lambda-event-source-batch-rules.d.ts.map +1 -1
  352. package/dist/service/lambda/event-source/sim-lambda-event-source-batch-rules.js +8 -3
  353. package/dist/service/lambda/event-source/sim-lambda-event-source-batch-rules.js.map +1 -1
  354. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.d.ts +9 -0
  355. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.d.ts.map +1 -1
  356. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.js +8 -0
  357. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.js.map +1 -1
  358. package/dist/service/lambda/event-source/sim-lambda-event-source-pollers.d.ts +2 -0
  359. package/dist/service/lambda/event-source/sim-lambda-event-source-pollers.d.ts.map +1 -1
  360. package/dist/service/lambda/event-source/sim-lambda-event-source-pollers.js.map +1 -1
  361. package/dist/service/lambda/event-source/sim-lambda-event-source-reachable.d.ts +27 -0
  362. package/dist/service/lambda/event-source/sim-lambda-event-source-reachable.d.ts.map +1 -0
  363. package/dist/service/lambda/event-source/sim-lambda-event-source-reachable.js +40 -0
  364. package/dist/service/lambda/event-source/sim-lambda-event-source-reachable.js.map +1 -0
  365. package/dist/service/lambda/event-source/sim-lambda-event-source-starting-position.d.ts +60 -0
  366. package/dist/service/lambda/event-source/sim-lambda-event-source-starting-position.d.ts.map +1 -0
  367. package/dist/service/lambda/event-source/sim-lambda-event-source-starting-position.js +51 -0
  368. package/dist/service/lambda/event-source/sim-lambda-event-source-starting-position.js.map +1 -0
  369. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-positions.d.ts +31 -0
  370. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-positions.d.ts.map +1 -0
  371. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-positions.js +29 -0
  372. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-positions.js.map +1 -0
  373. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-reader.d.ts +32 -0
  374. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-reader.d.ts.map +1 -0
  375. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-reader.js +48 -0
  376. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-reader.js.map +1 -0
  377. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-shard.d.ts +28 -0
  378. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-shard.d.ts.map +1 -0
  379. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-shard.js +71 -0
  380. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-shard.js.map +1 -0
  381. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-streams.d.ts +42 -0
  382. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-streams.d.ts.map +1 -0
  383. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-streams.js +55 -0
  384. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-streams.js.map +1 -0
  385. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-attribute-value.d.ts +150 -0
  386. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-attribute-value.d.ts.map +1 -0
  387. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-attribute-value.js +2 -0
  388. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-attribute-value.js.map +1 -0
  389. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.d.ts +52 -0
  390. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.d.ts.map +1 -0
  391. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.js +88 -0
  392. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.js.map +1 -0
  393. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.d.ts +25 -0
  394. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.d.ts.map +1 -0
  395. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.js +34 -0
  396. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.js.map +1 -0
  397. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-delivery-context.d.ts +31 -0
  398. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-delivery-context.d.ts.map +1 -0
  399. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-delivery-context.js +33 -0
  400. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-delivery-context.js.map +1 -0
  401. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-stream-service.d.ts +73 -0
  402. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-stream-service.d.ts.map +1 -0
  403. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-stream-service.js +2 -0
  404. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-stream-service.js.map +1 -0
  405. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-streams.d.ts +148 -0
  406. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-streams.d.ts.map +1 -0
  407. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-streams.js +37 -0
  408. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-streams.js.map +1 -0
  409. package/dist/service/lambda/event-source/stream/sim-lambda-stream-cascade-guard.d.ts +36 -0
  410. package/dist/service/lambda/event-source/stream/sim-lambda-stream-cascade-guard.d.ts.map +1 -0
  411. package/dist/service/lambda/event-source/stream/sim-lambda-stream-cascade-guard.js +50 -0
  412. package/dist/service/lambda/event-source/stream/sim-lambda-stream-cascade-guard.js.map +1 -0
  413. package/dist/service/lambda/event-source/stream/sim-lambda-stream-cascade.error.d.ts +24 -0
  414. package/dist/service/lambda/event-source/stream/sim-lambda-stream-cascade.error.d.ts.map +1 -0
  415. package/dist/service/lambda/event-source/stream/sim-lambda-stream-cascade.error.js +24 -0
  416. package/dist/service/lambda/event-source/stream/sim-lambda-stream-cascade.error.js.map +1 -0
  417. package/dist/service/lambda/index.d.ts +3 -0
  418. package/dist/service/lambda/index.d.ts.map +1 -1
  419. package/dist/service/lambda/index.js +1 -0
  420. package/dist/service/lambda/index.js.map +1 -1
  421. package/dist/service/lambda/sim-lambda-commands.d.ts +2 -0
  422. package/dist/service/lambda/sim-lambda-commands.d.ts.map +1 -1
  423. package/dist/service/lambda/sim-lambda-commands.js +7 -3
  424. package/dist/service/lambda/sim-lambda-commands.js.map +1 -1
  425. package/dist/service/rekognition/command/authorize/sim-rekognition-authorizer.d.ts +26 -0
  426. package/dist/service/rekognition/command/authorize/sim-rekognition-authorizer.d.ts.map +1 -0
  427. package/dist/service/rekognition/command/authorize/sim-rekognition-authorizer.js +45 -0
  428. package/dist/service/rekognition/command/authorize/sim-rekognition-authorizer.js.map +1 -0
  429. package/dist/service/rekognition/command/detect-faces/detect-faces-request.d.ts +12 -0
  430. package/dist/service/rekognition/command/detect-faces/detect-faces-request.d.ts.map +1 -0
  431. package/dist/service/rekognition/command/detect-faces/detect-faces-request.js +18 -0
  432. package/dist/service/rekognition/command/detect-faces/detect-faces-request.js.map +1 -0
  433. package/dist/service/rekognition/command/detect-faces/detect-faces.command.d.ts +133 -0
  434. package/dist/service/rekognition/command/detect-faces/detect-faces.command.d.ts.map +1 -0
  435. package/dist/service/rekognition/command/detect-faces/detect-faces.command.js +2 -0
  436. package/dist/service/rekognition/command/detect-faces/detect-faces.command.js.map +1 -0
  437. package/dist/service/rekognition/command/detect-faces/detect-faces.handler.d.ts +35 -0
  438. package/dist/service/rekognition/command/detect-faces/detect-faces.handler.d.ts.map +1 -0
  439. package/dist/service/rekognition/command/detect-faces/detect-faces.handler.js +39 -0
  440. package/dist/service/rekognition/command/detect-faces/detect-faces.handler.js.map +1 -0
  441. package/dist/service/rekognition/command/detect-labels/detect-labels-request.d.ts +30 -0
  442. package/dist/service/rekognition/command/detect-labels/detect-labels-request.d.ts.map +1 -0
  443. package/dist/service/rekognition/command/detect-labels/detect-labels-request.js +71 -0
  444. package/dist/service/rekognition/command/detect-labels/detect-labels-request.js.map +1 -0
  445. package/dist/service/rekognition/command/detect-labels/detect-labels.command.d.ts +57 -0
  446. package/dist/service/rekognition/command/detect-labels/detect-labels.command.d.ts.map +1 -0
  447. package/dist/service/rekognition/command/detect-labels/detect-labels.command.js +2 -0
  448. package/dist/service/rekognition/command/detect-labels/detect-labels.command.js.map +1 -0
  449. package/dist/service/rekognition/command/detect-labels/detect-labels.handler.d.ts +35 -0
  450. package/dist/service/rekognition/command/detect-labels/detect-labels.handler.d.ts.map +1 -0
  451. package/dist/service/rekognition/command/detect-labels/detect-labels.handler.js +41 -0
  452. package/dist/service/rekognition/command/detect-labels/detect-labels.handler.js.map +1 -0
  453. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels-request.d.ts +17 -0
  454. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels-request.d.ts.map +1 -0
  455. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels-request.js +30 -0
  456. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels-request.js.map +1 -0
  457. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels.command.d.ts +42 -0
  458. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels.command.d.ts.map +1 -0
  459. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels.command.js +2 -0
  460. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels.command.js.map +1 -0
  461. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels.handler.d.ts +36 -0
  462. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels.handler.d.ts.map +1 -0
  463. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels.handler.js +47 -0
  464. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels.handler.js.map +1 -0
  465. package/dist/service/rekognition/command/sim-rekognition-min-confidence.d.ts +19 -0
  466. package/dist/service/rekognition/command/sim-rekognition-min-confidence.d.ts.map +1 -0
  467. package/dist/service/rekognition/command/sim-rekognition-min-confidence.js +34 -0
  468. package/dist/service/rekognition/command/sim-rekognition-min-confidence.js.map +1 -0
  469. package/dist/service/rekognition/command/sim-rekognition-request-options.d.ts +16 -0
  470. package/dist/service/rekognition/command/sim-rekognition-request-options.d.ts.map +1 -0
  471. package/dist/service/rekognition/command/sim-rekognition-request-options.js +2 -0
  472. package/dist/service/rekognition/command/sim-rekognition-request-options.js.map +1 -0
  473. package/dist/service/rekognition/command/sim-rekognition-unsimulated-input.d.ts +19 -0
  474. package/dist/service/rekognition/command/sim-rekognition-unsimulated-input.d.ts.map +1 -0
  475. package/dist/service/rekognition/command/sim-rekognition-unsimulated-input.js +30 -0
  476. package/dist/service/rekognition/command/sim-rekognition-unsimulated-input.js.map +1 -0
  477. package/dist/service/rekognition/error/sim-rekognition.error.d.ts +87 -0
  478. package/dist/service/rekognition/error/sim-rekognition.error.d.ts.map +1 -0
  479. package/dist/service/rekognition/error/sim-rekognition.error.js +95 -0
  480. package/dist/service/rekognition/error/sim-rekognition.error.js.map +1 -0
  481. package/dist/service/rekognition/face/sim-rekognition-declared-value.d.ts +26 -0
  482. package/dist/service/rekognition/face/sim-rekognition-declared-value.d.ts.map +1 -0
  483. package/dist/service/rekognition/face/sim-rekognition-declared-value.js +28 -0
  484. package/dist/service/rekognition/face/sim-rekognition-declared-value.js.map +1 -0
  485. package/dist/service/rekognition/face/sim-rekognition-detected-face.d.ts +29 -0
  486. package/dist/service/rekognition/face/sim-rekognition-detected-face.d.ts.map +1 -0
  487. package/dist/service/rekognition/face/sim-rekognition-detected-face.js +53 -0
  488. package/dist/service/rekognition/face/sim-rekognition-detected-face.js.map +1 -0
  489. package/dist/service/rekognition/face/sim-rekognition-emotion-name.d.ts +18 -0
  490. package/dist/service/rekognition/face/sim-rekognition-emotion-name.d.ts.map +1 -0
  491. package/dist/service/rekognition/face/sim-rekognition-emotion-name.js +27 -0
  492. package/dist/service/rekognition/face/sim-rekognition-emotion-name.js.map +1 -0
  493. package/dist/service/rekognition/face/sim-rekognition-face-age-and-gender.d.ts +24 -0
  494. package/dist/service/rekognition/face/sim-rekognition-face-age-and-gender.d.ts.map +1 -0
  495. package/dist/service/rekognition/face/sim-rekognition-face-age-and-gender.js +62 -0
  496. package/dist/service/rekognition/face/sim-rekognition-face-age-and-gender.js.map +1 -0
  497. package/dist/service/rekognition/face/sim-rekognition-face-attributes.d.ts +41 -0
  498. package/dist/service/rekognition/face/sim-rekognition-face-attributes.d.ts.map +1 -0
  499. package/dist/service/rekognition/face/sim-rekognition-face-attributes.js +75 -0
  500. package/dist/service/rekognition/face/sim-rekognition-face-attributes.js.map +1 -0
  501. package/dist/service/rekognition/face/sim-rekognition-face-declaration.d.ts +116 -0
  502. package/dist/service/rekognition/face/sim-rekognition-face-declaration.d.ts.map +1 -0
  503. package/dist/service/rekognition/face/sim-rekognition-face-declaration.js +2 -0
  504. package/dist/service/rekognition/face/sim-rekognition-face-declaration.js.map +1 -0
  505. package/dist/service/rekognition/face/sim-rekognition-face-defaults.d.ts +31 -0
  506. package/dist/service/rekognition/face/sim-rekognition-face-defaults.d.ts.map +1 -0
  507. package/dist/service/rekognition/face/sim-rekognition-face-defaults.js +120 -0
  508. package/dist/service/rekognition/face/sim-rekognition-face-defaults.js.map +1 -0
  509. package/dist/service/rekognition/face/sim-rekognition-face-detail-builder.d.ts +31 -0
  510. package/dist/service/rekognition/face/sim-rekognition-face-detail-builder.d.ts.map +1 -0
  511. package/dist/service/rekognition/face/sim-rekognition-face-detail-builder.js +38 -0
  512. package/dist/service/rekognition/face/sim-rekognition-face-detail-builder.js.map +1 -0
  513. package/dist/service/rekognition/face/sim-rekognition-face-detection.d.ts +21 -0
  514. package/dist/service/rekognition/face/sim-rekognition-face-detection.d.ts.map +1 -0
  515. package/dist/service/rekognition/face/sim-rekognition-face-detection.js +33 -0
  516. package/dist/service/rekognition/face/sim-rekognition-face-detection.js.map +1 -0
  517. package/dist/service/rekognition/face/sim-rekognition-face-emotions.d.ts +23 -0
  518. package/dist/service/rekognition/face/sim-rekognition-face-emotions.d.ts.map +1 -0
  519. package/dist/service/rekognition/face/sim-rekognition-face-emotions.js +55 -0
  520. package/dist/service/rekognition/face/sim-rekognition-face-emotions.js.map +1 -0
  521. package/dist/service/rekognition/face/sim-rekognition-face-eye-direction.d.ts +19 -0
  522. package/dist/service/rekognition/face/sim-rekognition-face-eye-direction.d.ts.map +1 -0
  523. package/dist/service/rekognition/face/sim-rekognition-face-eye-direction.js +31 -0
  524. package/dist/service/rekognition/face/sim-rekognition-face-eye-direction.js.map +1 -0
  525. package/dist/service/rekognition/face/sim-rekognition-face-feature-members.d.ts +56 -0
  526. package/dist/service/rekognition/face/sim-rekognition-face-feature-members.d.ts.map +1 -0
  527. package/dist/service/rekognition/face/sim-rekognition-face-feature-members.js +22 -0
  528. package/dist/service/rekognition/face/sim-rekognition-face-feature-members.js.map +1 -0
  529. package/dist/service/rekognition/face/sim-rekognition-face-features.d.ts +19 -0
  530. package/dist/service/rekognition/face/sim-rekognition-face-features.d.ts.map +1 -0
  531. package/dist/service/rekognition/face/sim-rekognition-face-features.js +39 -0
  532. package/dist/service/rekognition/face/sim-rekognition-face-features.js.map +1 -0
  533. package/dist/service/rekognition/face/sim-rekognition-face-frame.d.ts +27 -0
  534. package/dist/service/rekognition/face/sim-rekognition-face-frame.d.ts.map +1 -0
  535. package/dist/service/rekognition/face/sim-rekognition-face-frame.js +74 -0
  536. package/dist/service/rekognition/face/sim-rekognition-face-frame.js.map +1 -0
  537. package/dist/service/rekognition/face/sim-rekognition-face-landmark-points.d.ts +25 -0
  538. package/dist/service/rekognition/face/sim-rekognition-face-landmark-points.d.ts.map +1 -0
  539. package/dist/service/rekognition/face/sim-rekognition-face-landmark-points.js +89 -0
  540. package/dist/service/rekognition/face/sim-rekognition-face-landmark-points.js.map +1 -0
  541. package/dist/service/rekognition/face/sim-rekognition-face-landmarks.d.ts +20 -0
  542. package/dist/service/rekognition/face/sim-rekognition-face-landmarks.d.ts.map +1 -0
  543. package/dist/service/rekognition/face/sim-rekognition-face-landmarks.js +32 -0
  544. package/dist/service/rekognition/face/sim-rekognition-face-landmarks.js.map +1 -0
  545. package/dist/service/rekognition/face/sim-rekognition-face-measures.d.ts +27 -0
  546. package/dist/service/rekognition/face/sim-rekognition-face-measures.d.ts.map +1 -0
  547. package/dist/service/rekognition/face/sim-rekognition-face-measures.js +49 -0
  548. package/dist/service/rekognition/face/sim-rekognition-face-measures.js.map +1 -0
  549. package/dist/service/rekognition/face/sim-rekognition-faces.d.ts +36 -0
  550. package/dist/service/rekognition/face/sim-rekognition-faces.d.ts.map +1 -0
  551. package/dist/service/rekognition/face/sim-rekognition-faces.js +49 -0
  552. package/dist/service/rekognition/face/sim-rekognition-faces.js.map +1 -0
  553. package/dist/service/rekognition/face/sim-rekognition-landmark-name.d.ts +30 -0
  554. package/dist/service/rekognition/face/sim-rekognition-landmark-name.d.ts.map +1 -0
  555. package/dist/service/rekognition/face/sim-rekognition-landmark-name.js +66 -0
  556. package/dist/service/rekognition/face/sim-rekognition-landmark-name.js.map +1 -0
  557. package/dist/service/rekognition/image/s3/sim-aws-rekognition-image-objects.d.ts +48 -0
  558. package/dist/service/rekognition/image/s3/sim-aws-rekognition-image-objects.d.ts.map +1 -0
  559. package/dist/service/rekognition/image/s3/sim-aws-rekognition-image-objects.js +78 -0
  560. package/dist/service/rekognition/image/s3/sim-aws-rekognition-image-objects.js.map +1 -0
  561. package/dist/service/rekognition/image/sim-rekognition-bounding-box.d.ts +48 -0
  562. package/dist/service/rekognition/image/sim-rekognition-bounding-box.d.ts.map +1 -0
  563. package/dist/service/rekognition/image/sim-rekognition-bounding-box.js +50 -0
  564. package/dist/service/rekognition/image/sim-rekognition-bounding-box.js.map +1 -0
  565. package/dist/service/rekognition/image/sim-rekognition-image-format.d.ts +17 -0
  566. package/dist/service/rekognition/image/sim-rekognition-image-format.d.ts.map +1 -0
  567. package/dist/service/rekognition/image/sim-rekognition-image-format.js +28 -0
  568. package/dist/service/rekognition/image/sim-rekognition-image-format.js.map +1 -0
  569. package/dist/service/rekognition/image/sim-rekognition-image-hash.d.ts +15 -0
  570. package/dist/service/rekognition/image/sim-rekognition-image-hash.d.ts.map +1 -0
  571. package/dist/service/rekognition/image/sim-rekognition-image-hash.js +20 -0
  572. package/dist/service/rekognition/image/sim-rekognition-image-hash.js.map +1 -0
  573. package/dist/service/rekognition/image/sim-rekognition-image-input.d.ts +23 -0
  574. package/dist/service/rekognition/image/sim-rekognition-image-input.d.ts.map +1 -0
  575. package/dist/service/rekognition/image/sim-rekognition-image-input.js +2 -0
  576. package/dist/service/rekognition/image/sim-rekognition-image-input.js.map +1 -0
  577. package/dist/service/rekognition/image/sim-rekognition-image-objects.d.ts +35 -0
  578. package/dist/service/rekognition/image/sim-rekognition-image-objects.d.ts.map +1 -0
  579. package/dist/service/rekognition/image/sim-rekognition-image-objects.js +21 -0
  580. package/dist/service/rekognition/image/sim-rekognition-image-objects.js.map +1 -0
  581. package/dist/service/rekognition/image/sim-rekognition-image-request.d.ts +59 -0
  582. package/dist/service/rekognition/image/sim-rekognition-image-request.d.ts.map +1 -0
  583. package/dist/service/rekognition/image/sim-rekognition-image-request.js +88 -0
  584. package/dist/service/rekognition/image/sim-rekognition-image-request.js.map +1 -0
  585. package/dist/service/rekognition/image/sim-rekognition-image.d.ts +30 -0
  586. package/dist/service/rekognition/image/sim-rekognition-image.d.ts.map +1 -0
  587. package/dist/service/rekognition/image/sim-rekognition-image.js +36 -0
  588. package/dist/service/rekognition/image/sim-rekognition-image.js.map +1 -0
  589. package/dist/service/rekognition/index.d.ts +18 -0
  590. package/dist/service/rekognition/index.d.ts.map +1 -0
  591. package/dist/service/rekognition/index.js +13 -0
  592. package/dist/service/rekognition/index.js.map +1 -0
  593. package/dist/service/rekognition/label/sim-rekognition-detected-label.d.ts +11 -0
  594. package/dist/service/rekognition/label/sim-rekognition-detected-label.d.ts.map +1 -0
  595. package/dist/service/rekognition/label/sim-rekognition-detected-label.js +49 -0
  596. package/dist/service/rekognition/label/sim-rekognition-detected-label.js.map +1 -0
  597. package/dist/service/rekognition/label/sim-rekognition-label-declaration.d.ts +43 -0
  598. package/dist/service/rekognition/label/sim-rekognition-label-declaration.d.ts.map +1 -0
  599. package/dist/service/rekognition/label/sim-rekognition-label-declaration.js +10 -0
  600. package/dist/service/rekognition/label/sim-rekognition-label-declaration.js.map +1 -0
  601. package/dist/service/rekognition/label/sim-rekognition-label-defaults.d.ts +22 -0
  602. package/dist/service/rekognition/label/sim-rekognition-label-defaults.d.ts.map +1 -0
  603. package/dist/service/rekognition/label/sim-rekognition-label-defaults.js +42 -0
  604. package/dist/service/rekognition/label/sim-rekognition-label-defaults.js.map +1 -0
  605. package/dist/service/rekognition/label/sim-rekognition-label-detection.d.ts +32 -0
  606. package/dist/service/rekognition/label/sim-rekognition-label-detection.d.ts.map +1 -0
  607. package/dist/service/rekognition/label/sim-rekognition-label-detection.js +35 -0
  608. package/dist/service/rekognition/label/sim-rekognition-label-detection.js.map +1 -0
  609. package/dist/service/rekognition/label/sim-rekognition-label-instances.d.ts +19 -0
  610. package/dist/service/rekognition/label/sim-rekognition-label-instances.d.ts.map +1 -0
  611. package/dist/service/rekognition/label/sim-rekognition-label-instances.js +28 -0
  612. package/dist/service/rekognition/label/sim-rekognition-label-instances.js.map +1 -0
  613. package/dist/service/rekognition/label/sim-rekognition-labels.d.ts +30 -0
  614. package/dist/service/rekognition/label/sim-rekognition-labels.d.ts.map +1 -0
  615. package/dist/service/rekognition/label/sim-rekognition-labels.js +38 -0
  616. package/dist/service/rekognition/label/sim-rekognition-labels.js.map +1 -0
  617. package/dist/service/rekognition/moderation/sim-rekognition-moderation-labels.d.ts +29 -0
  618. package/dist/service/rekognition/moderation/sim-rekognition-moderation-labels.d.ts.map +1 -0
  619. package/dist/service/rekognition/moderation/sim-rekognition-moderation-labels.js +85 -0
  620. package/dist/service/rekognition/moderation/sim-rekognition-moderation-labels.js.map +1 -0
  621. package/dist/service/rekognition/moderation/sim-rekognition-moderation-result.d.ts +46 -0
  622. package/dist/service/rekognition/moderation/sim-rekognition-moderation-result.d.ts.map +1 -0
  623. package/dist/service/rekognition/moderation/sim-rekognition-moderation-result.js +79 -0
  624. package/dist/service/rekognition/moderation/sim-rekognition-moderation-result.js.map +1 -0
  625. package/dist/service/rekognition/moderation/sim-rekognition-moderation-taxonomy.d.ts +55 -0
  626. package/dist/service/rekognition/moderation/sim-rekognition-moderation-taxonomy.d.ts.map +1 -0
  627. package/dist/service/rekognition/moderation/sim-rekognition-moderation-taxonomy.js +87 -0
  628. package/dist/service/rekognition/moderation/sim-rekognition-moderation-taxonomy.js.map +1 -0
  629. package/dist/service/rekognition/moderation/sim-rekognition-moderation.d.ts +35 -0
  630. package/dist/service/rekognition/moderation/sim-rekognition-moderation.d.ts.map +1 -0
  631. package/dist/service/rekognition/moderation/sim-rekognition-moderation.js +57 -0
  632. package/dist/service/rekognition/moderation/sim-rekognition-moderation.js.map +1 -0
  633. package/dist/service/rekognition/rule/sim-rekognition-declared-confidence.d.ts +21 -0
  634. package/dist/service/rekognition/rule/sim-rekognition-declared-confidence.d.ts.map +1 -0
  635. package/dist/service/rekognition/rule/sim-rekognition-declared-confidence.js +34 -0
  636. package/dist/service/rekognition/rule/sim-rekognition-declared-confidence.js.map +1 -0
  637. package/dist/service/rekognition/rule/sim-rekognition-result-rules.d.ts +51 -0
  638. package/dist/service/rekognition/rule/sim-rekognition-result-rules.d.ts.map +1 -0
  639. package/dist/service/rekognition/rule/sim-rekognition-result-rules.js +80 -0
  640. package/dist/service/rekognition/rule/sim-rekognition-result-rules.js.map +1 -0
  641. package/dist/service/rekognition/sample/sim-rekognition-sample-image-files.d.ts +27 -0
  642. package/dist/service/rekognition/sample/sim-rekognition-sample-image-files.d.ts.map +1 -0
  643. package/dist/service/rekognition/sample/sim-rekognition-sample-image-files.js +62 -0
  644. package/dist/service/rekognition/sample/sim-rekognition-sample-image-files.js.map +1 -0
  645. package/dist/service/rekognition/sample/sim-rekognition-sample-image.d.ts +26 -0
  646. package/dist/service/rekognition/sample/sim-rekognition-sample-image.d.ts.map +1 -0
  647. package/dist/service/rekognition/sample/sim-rekognition-sample-image.js +32 -0
  648. package/dist/service/rekognition/sample/sim-rekognition-sample-image.js.map +1 -0
  649. package/dist/service/rekognition/sample/sim-rekognition-sample-images.d.ts +52 -0
  650. package/dist/service/rekognition/sample/sim-rekognition-sample-images.d.ts.map +1 -0
  651. package/dist/service/rekognition/sample/sim-rekognition-sample-images.js +63 -0
  652. package/dist/service/rekognition/sample/sim-rekognition-sample-images.js.map +1 -0
  653. package/dist/service/rekognition/sample/sim-rekognition-sample-rules.d.ts +29 -0
  654. package/dist/service/rekognition/sample/sim-rekognition-sample-rules.d.ts.map +1 -0
  655. package/dist/service/rekognition/sample/sim-rekognition-sample-rules.js +31 -0
  656. package/dist/service/rekognition/sample/sim-rekognition-sample-rules.js.map +1 -0
  657. package/dist/service/rekognition/sdk/sim-rekognition-sdk-command-router.d.ts +20 -0
  658. package/dist/service/rekognition/sdk/sim-rekognition-sdk-command-router.d.ts.map +1 -0
  659. package/dist/service/rekognition/sdk/sim-rekognition-sdk-command-router.js +38 -0
  660. package/dist/service/rekognition/sdk/sim-rekognition-sdk-command-router.js.map +1 -0
  661. package/dist/service/rekognition/sim-rekognition.d.ts +95 -0
  662. package/dist/service/rekognition/sim-rekognition.d.ts.map +1 -0
  663. package/dist/service/rekognition/sim-rekognition.js +124 -0
  664. package/dist/service/rekognition/sim-rekognition.js.map +1 -0
  665. package/package.json +8 -2
  666. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-error.d.ts.map +0 -1
  667. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-error.js.map +0 -1
  668. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-values.d.ts.map +0 -1
  669. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-values.js.map +0 -1
@@ -0,0 +1,41 @@
1
+ import { simCfnDynamoDbGlobalTableIndexRules, simCfnDynamoDbGlobalTableLocalIndexRules, simCfnDynamoDbGlobalTableRules, simCfnDynamoDbGlobalTableStreamRules, simCfnDynamoDbGlobalTableWriteCapacityRules, } from "./sim-cfn-dynamodb-global-table-property-rules.js";
2
+ import { simCfnDynamoDbGlobalTableReadCapacityRules, simCfnDynamoDbGlobalTableReplicaIndexRules, simCfnDynamoDbGlobalTableReplicaRules, } from "./sim-cfn-dynamodb-global-table-replica-rules.js";
3
+ /**
4
+ * Refuse everything an AWS::DynamoDB::GlobalTable asks for and cannot get, at
5
+ * every level a global table nests: the table, its indexes, its stream, the
6
+ * replica, the replica's per-index settings, and the two halves of its
7
+ * capacity.
8
+ *
9
+ * Each level is a set of property names rather than a rule of its own, so what
10
+ * differs between them is which names belong where.
11
+ */
12
+ export function assertSimCfnDynamoDbGlobalTableSimulated(properties) {
13
+ const { logicalId, values, replica } = properties;
14
+ const indexes = values.list("GlobalSecondaryIndexes");
15
+ const replicaIndexes = replica.list("GlobalSecondaryIndexes");
16
+ simCfnDynamoDbGlobalTableRules(logicalId).assertSimulated(values);
17
+ simCfnDynamoDbGlobalTableIndexRules(logicalId).assertEachSimulated(indexes);
18
+ simCfnDynamoDbGlobalTableLocalIndexRules(logicalId).assertEachSimulated(values.list("LocalSecondaryIndexes"));
19
+ simCfnDynamoDbGlobalTableStreamRules(logicalId).assertSimulated(values.object("StreamSpecification"));
20
+ simCfnDynamoDbGlobalTableReplicaRules(logicalId).assertSimulated(replica);
21
+ simCfnDynamoDbGlobalTableReplicaIndexRules(logicalId).assertEachSimulated(replicaIndexes);
22
+ assertSimulatedCapacity(logicalId, [values, ...indexes], [replica, ...replicaIndexes]);
23
+ }
24
+ /**
25
+ * Refuse a capacity that changes with load, wherever it was asked for.
26
+ *
27
+ * The table and each of its indexes state the writing half, and the replica and
28
+ * its per-index entries state the reading half, so both sets are held to the
29
+ * same rule.
30
+ */
31
+ function assertSimulatedCapacity(logicalId, writing, reading) {
32
+ const writeRules = simCfnDynamoDbGlobalTableWriteCapacityRules(logicalId);
33
+ const readRules = simCfnDynamoDbGlobalTableReadCapacityRules(logicalId);
34
+ for (const values of writing) {
35
+ writeRules.assertSimulated(values.object("WriteProvisionedThroughputSettings"));
36
+ }
37
+ for (const values of reading) {
38
+ readRules.assertSimulated(values.object("ReadProvisionedThroughputSettings"));
39
+ }
40
+ }
41
+ //# sourceMappingURL=sim-cfn-dynamodb-global-table-simulated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-dynamodb-global-table-simulated.js","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-simulated.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mCAAmC,EACnC,wCAAwC,EACxC,8BAA8B,EAC9B,oCAAoC,EACpC,2CAA2C,GAC5C,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EACL,0CAA0C,EAC1C,0CAA0C,EAC1C,qCAAqC,GACtC,MAAM,kDAAkD,CAAC;AAQ1D;;;;;;;;GAQG;AACH,MAAM,UAAU,wCAAwC,CACtD,UAAwD;IAExD,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACtD,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAE9D,8BAA8B,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAClE,mCAAmC,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC5E,wCAAwC,CAAC,SAAS,CAAC,CAAC,mBAAmB,CACrE,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CACrC,CAAC;IACF,oCAAoC,CAAC,SAAS,CAAC,CAAC,eAAe,CAC7D,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CACrC,CAAC;IACF,qCAAqC,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAC1E,0CAA0C,CAAC,SAAS,CAAC,CAAC,mBAAmB,CACvE,cAAc,CACf,CAAC;IAEF,uBAAuB,CACrB,SAAS,EACT,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,EACpB,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,CAC7B,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,uBAAuB,CAC9B,SAAiB,EACjB,OAAgD,EAChD,OAAgD;IAEhD,MAAM,UAAU,GAAG,2CAA2C,CAAC,SAAS,CAAC,CAAC;IAC1E,MAAM,SAAS,GAAG,0CAA0C,CAAC,SAAS,CAAC,CAAC;IAExE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,UAAU,CAAC,eAAe,CACxB,MAAM,CAAC,MAAM,CAAC,oCAAoC,CAAC,CACpD,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,SAAS,CAAC,eAAe,CACvB,MAAM,CAAC,MAAM,CAAC,mCAAmC,CAAC,CACnD,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1,14 +1,18 @@
1
1
  /**
2
- * Build the error a property of an AWS::DynamoDB::Table Resource is refused
3
- * with.
2
+ * Build the error a property of a simulated DynamoDB Resource is refused with.
4
3
  *
5
4
  * The wording matters. Sim CloudFormation skips a Resource whose error reads as
6
5
  * an unsupported Resource type, and skipping is the wrong answer for a table
7
6
  * the template described in a way it cannot be created: nothing is missing from
8
7
  * the simulation, the template is wrong, and the same template would fail on
9
8
  * real CloudFormation.
9
+ *
10
+ * The Resource type is named rather than assumed, since `AWS::DynamoDB::Table`
11
+ * and `AWS::DynamoDB::GlobalTable` describe the same table in different
12
+ * property names, and a refusal naming the wrong one sends whoever reads it to
13
+ * the wrong page of the documentation.
10
14
  */
11
- export declare function dynamoDbTablePropertyError(logicalId: string, reason: string): Error;
15
+ export declare function dynamoDbPropertyError(resourceTypeName: string, logicalId: string, reason: string): Error;
12
16
  /**
13
17
  * Build the error that skips a Resource over a property that is not simulated.
14
18
  *
@@ -17,5 +21,5 @@ export declare function dynamoDbTablePropertyError(logicalId: string, reason: st
17
21
  * deploys and the skip reason names the property. The path is the whole way to
18
22
  * the property, so a setting on one index of several says which one it was on.
19
23
  */
20
- export declare function dynamoDbTableUnsimulatedPropertyError(logicalId: string, path: string): Error;
21
- //# sourceMappingURL=sim-cfn-dynamodb-table-property-error.d.ts.map
24
+ export declare function dynamoDbUnsimulatedPropertyError(resourceTypeName: string, logicalId: string, path: string): Error;
25
+ //# sourceMappingURL=sim-cfn-dynamodb-property-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-dynamodb-property-error.d.ts","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CACnC,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,KAAK,CAIP;AAED;;;;;;;GAOG;AACH,wBAAgB,gCAAgC,CAC9C,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GACX,KAAK,CAOP"}
@@ -1,15 +1,19 @@
1
1
  /**
2
- * Build the error a property of an AWS::DynamoDB::Table Resource is refused
3
- * with.
2
+ * Build the error a property of a simulated DynamoDB Resource is refused with.
4
3
  *
5
4
  * The wording matters. Sim CloudFormation skips a Resource whose error reads as
6
5
  * an unsupported Resource type, and skipping is the wrong answer for a table
7
6
  * the template described in a way it cannot be created: nothing is missing from
8
7
  * the simulation, the template is wrong, and the same template would fail on
9
8
  * real CloudFormation.
9
+ *
10
+ * The Resource type is named rather than assumed, since `AWS::DynamoDB::Table`
11
+ * and `AWS::DynamoDB::GlobalTable` describe the same table in different
12
+ * property names, and a refusal naming the wrong one sends whoever reads it to
13
+ * the wrong page of the documentation.
10
14
  */
11
- export function dynamoDbTablePropertyError(logicalId, reason) {
12
- return new Error(`Invalid AWS::DynamoDB::Table Resource ${logicalId}: ${reason}`);
15
+ export function dynamoDbPropertyError(resourceTypeName, logicalId, reason) {
16
+ return new Error(`Invalid ${resourceTypeName} Resource ${logicalId}: ${reason}`);
13
17
  }
14
18
  /**
15
19
  * Build the error that skips a Resource over a property that is not simulated.
@@ -19,10 +23,10 @@ export function dynamoDbTablePropertyError(logicalId, reason) {
19
23
  * deploys and the skip reason names the property. The path is the whole way to
20
24
  * the property, so a setting on one index of several says which one it was on.
21
25
  */
22
- export function dynamoDbTableUnsimulatedPropertyError(logicalId, path) {
26
+ export function dynamoDbUnsimulatedPropertyError(resourceTypeName, logicalId, path) {
23
27
  return new Error(`Unsupported sim DynamoDB CloudFormation Resource ${logicalId}: ` +
24
- `${path} is a real AWS::DynamoDB::Table property that simulated ` +
28
+ `${path} is a real ${resourceTypeName} property that simulated ` +
25
29
  `DynamoDB does not simulate, so the table is skipped rather than ` +
26
30
  `created without it`);
27
31
  }
28
- //# sourceMappingURL=sim-cfn-dynamodb-table-property-error.js.map
32
+ //# sourceMappingURL=sim-cfn-dynamodb-property-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-dynamodb-property-error.js","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,qBAAqB,CACnC,gBAAwB,EACxB,SAAiB,EACjB,MAAc;IAEd,OAAO,IAAI,KAAK,CACd,WAAW,gBAAgB,aAAa,SAAS,KAAK,MAAM,EAAE,CAC/D,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gCAAgC,CAC9C,gBAAwB,EACxB,SAAiB,EACjB,IAAY;IAEZ,OAAO,IAAI,KAAK,CACd,oDAAoD,SAAS,IAAI;QAC/D,GAAG,IAAI,cAAc,gBAAgB,2BAA2B;QAChE,kEAAkE;QAClE,oBAAoB,CACvB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,54 @@
1
+ import type { SimCfnDynamoDbPropertyValues } from "./sim-cfn-dynamodb-property-values.js";
2
+ interface SimCfnDynamoDbPropertyRulesProperties {
3
+ readonly resourceTypeName: string;
4
+ readonly logicalId: string;
5
+ /**
6
+ * What the properties belong to, where they are not the Resource's own: a
7
+ * `GlobalSecondaryIndex`, a `StreamSpecification`, a replica. A refusal names
8
+ * it, so an unrecognised property says which shape it was not part of.
9
+ */
10
+ readonly kind?: string | undefined;
11
+ readonly simulated: ReadonlySet<string>;
12
+ readonly unsimulated?: ReadonlySet<string> | undefined;
13
+ }
14
+ /**
15
+ * Which properties of one object in a DynamoDB Resource template simulated
16
+ * DynamoDB can act on.
17
+ *
18
+ * A real property that is not simulated skips the Resource, with a reason
19
+ * naming it, so the rest of the stack still deploys and the report says what
20
+ * was left out. Anything that is not a property of that object at all fails the
21
+ * Resource instead, because that is a template real CloudFormation would refuse
22
+ * too.
23
+ *
24
+ * The same rule applies at every level a template nests: the Resource's own
25
+ * properties, the entries of an index list, a stream specification, a replica.
26
+ * Each level differs only in which names belong to it, so each is a set of
27
+ * names handed to this rather than a rule of its own.
28
+ */
29
+ export declare class SimCfnDynamoDbPropertyRules {
30
+ private readonly resourceTypeName;
31
+ private readonly logicalId;
32
+ private readonly kind;
33
+ private readonly simulated;
34
+ private readonly unsimulated;
35
+ constructor(properties: SimCfnDynamoDbPropertyRulesProperties);
36
+ /**
37
+ * Refuse everything about this object that is not simulated.
38
+ *
39
+ * An object the template left out has nothing here to refuse.
40
+ */
41
+ assertSimulated(values: SimCfnDynamoDbPropertyValues | undefined): void;
42
+ /**
43
+ * Apply the same rule to every entry of a list, such as the indexes or the
44
+ * replicas a template declares.
45
+ */
46
+ assertEachSimulated(entries: readonly SimCfnDynamoDbPropertyValues[]): void;
47
+ private assertSimulatedProperty;
48
+ /**
49
+ * What an unrecognised property was not part of, as a refusal names it.
50
+ */
51
+ private description;
52
+ }
53
+ export {};
54
+ //# sourceMappingURL=sim-cfn-dynamodb-property-rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-dynamodb-property-rules.d.ts","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-rules.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAE1F,UAAU,qCAAqC;IAC7C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;CACxD;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAElD,YAAY,UAAU,EAAE,qCAAqC,EAM5D;IAED;;;;OAIG;IACH,eAAe,CAAC,MAAM,EAAE,4BAA4B,GAAG,SAAS,GAAG,IAAI,CAQtE;IAED;;;OAGG;IACH,mBAAmB,CAAC,OAAO,EAAE,SAAS,4BAA4B,EAAE,GAAG,IAAI,CAI1E;IAED,OAAO,CAAC,uBAAuB;IAuB/B;;OAEG;IACH,OAAO,CAAC,WAAW;CAOpB"}
@@ -0,0 +1,71 @@
1
+ import { dynamoDbPropertyError, dynamoDbUnsimulatedPropertyError, } from "./sim-cfn-dynamodb-property-error.js";
2
+ /**
3
+ * Which properties of one object in a DynamoDB Resource template simulated
4
+ * DynamoDB can act on.
5
+ *
6
+ * A real property that is not simulated skips the Resource, with a reason
7
+ * naming it, so the rest of the stack still deploys and the report says what
8
+ * was left out. Anything that is not a property of that object at all fails the
9
+ * Resource instead, because that is a template real CloudFormation would refuse
10
+ * too.
11
+ *
12
+ * The same rule applies at every level a template nests: the Resource's own
13
+ * properties, the entries of an index list, a stream specification, a replica.
14
+ * Each level differs only in which names belong to it, so each is a set of
15
+ * names handed to this rather than a rule of its own.
16
+ */
17
+ export class SimCfnDynamoDbPropertyRules {
18
+ resourceTypeName;
19
+ logicalId;
20
+ kind;
21
+ simulated;
22
+ unsimulated;
23
+ constructor(properties) {
24
+ this.resourceTypeName = properties.resourceTypeName;
25
+ this.logicalId = properties.logicalId;
26
+ this.kind = properties.kind;
27
+ this.simulated = properties.simulated;
28
+ this.unsimulated = properties.unsimulated ?? new Set();
29
+ }
30
+ /**
31
+ * Refuse everything about this object that is not simulated.
32
+ *
33
+ * An object the template left out has nothing here to refuse.
34
+ */
35
+ assertSimulated(values) {
36
+ if (values === undefined) {
37
+ return;
38
+ }
39
+ for (const name of values.names) {
40
+ this.assertSimulatedProperty(values, name);
41
+ }
42
+ }
43
+ /**
44
+ * Apply the same rule to every entry of a list, such as the indexes or the
45
+ * replicas a template declares.
46
+ */
47
+ assertEachSimulated(entries) {
48
+ for (const entry of entries) {
49
+ this.assertSimulated(entry);
50
+ }
51
+ }
52
+ assertSimulatedProperty(values, name) {
53
+ if (this.simulated.has(name)) {
54
+ return;
55
+ }
56
+ if (this.unsimulated.has(name)) {
57
+ throw dynamoDbUnsimulatedPropertyError(this.resourceTypeName, this.logicalId, values.pathTo(name));
58
+ }
59
+ throw dynamoDbPropertyError(this.resourceTypeName, this.logicalId, `${values.pathTo(name)} is not ${this.description()} property`);
60
+ }
61
+ /**
62
+ * What an unrecognised property was not part of, as a refusal names it.
63
+ */
64
+ description() {
65
+ if (this.kind === undefined) {
66
+ return `an ${this.resourceTypeName}`;
67
+ }
68
+ return `an ${this.resourceTypeName} ${this.kind}`;
69
+ }
70
+ }
71
+ //# sourceMappingURL=sim-cfn-dynamodb-property-rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-dynamodb-property-rules.js","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-rules.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,gCAAgC,GACjC,MAAM,sCAAsC,CAAC;AAiB9C;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,2BAA2B;IACrB,gBAAgB,CAAS;IACzB,SAAS,CAAS;IAClB,IAAI,CAAqB;IACzB,SAAS,CAAsB;IAC/B,WAAW,CAAsB;IAElD,YAAY,UAAiD;QAC3D,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC;QACpD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,IAAI,IAAI,GAAG,EAAU,CAAC;IACjE,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,MAAgD;QAC9D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,mBAAmB,CAAC,OAAgD;QAClE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAEO,uBAAuB,CAC7B,MAAoC,EACpC,IAAY;QAEZ,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,gCAAgC,CACpC,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,SAAS,EACd,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CACpB,CAAC;QACJ,CAAC;QAED,MAAM,qBAAqB,CACzB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,SAAS,EACd,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,EAAE,WAAW,CAC/D,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,WAAW;QACjB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvC,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IACpD,CAAC;CACF"}
@@ -0,0 +1,17 @@
1
+ import type { SimCfnTemplateValue } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
2
+ /**
3
+ * Read a template value as a number, or as nothing when it is not one.
4
+ *
5
+ * CloudFormation carries a number as a string when it came from a template
6
+ * Parameter, so both are read.
7
+ */
8
+ export declare function readSimCfnDynamoDbNumber(value: SimCfnTemplateValue): number | undefined;
9
+ /**
10
+ * Read a template value as a boolean, or as nothing when it is not one.
11
+ *
12
+ * CloudFormation carries a boolean as a string when it came from a template
13
+ * Parameter, so both are read. Anything else is nothing rather than false,
14
+ * since what the template asked for is not knowable.
15
+ */
16
+ export declare function readSimCfnDynamoDbBoolean(value: SimCfnTemplateValue): boolean | undefined;
17
+ //# sourceMappingURL=sim-cfn-dynamodb-property-scalars.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-dynamodb-property-scalars.d.ts","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-scalars.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kEAAkE,CAAC;AAE5G;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,mBAAmB,GACzB,MAAM,GAAG,SAAS,CAcpB;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,mBAAmB,GACzB,OAAO,GAAG,SAAS,CAUrB"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Read a template value as a number, or as nothing when it is not one.
3
+ *
4
+ * CloudFormation carries a number as a string when it came from a template
5
+ * Parameter, so both are read.
6
+ */
7
+ export function readSimCfnDynamoDbNumber(value) {
8
+ if (typeof value === "number") {
9
+ return value;
10
+ }
11
+ if (typeof value === "string" && value.trim() !== "") {
12
+ const parsed = Number(value);
13
+ if (!Number.isNaN(parsed)) {
14
+ return parsed;
15
+ }
16
+ }
17
+ return undefined;
18
+ }
19
+ /**
20
+ * Read a template value as a boolean, or as nothing when it is not one.
21
+ *
22
+ * CloudFormation carries a boolean as a string when it came from a template
23
+ * Parameter, so both are read. Anything else is nothing rather than false,
24
+ * since what the template asked for is not knowable.
25
+ */
26
+ export function readSimCfnDynamoDbBoolean(value) {
27
+ if (value === true || value === "true") {
28
+ return true;
29
+ }
30
+ if (value === false || value === "false") {
31
+ return false;
32
+ }
33
+ return undefined;
34
+ }
35
+ //# sourceMappingURL=sim-cfn-dynamodb-property-scalars.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-dynamodb-property-scalars.js","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-scalars.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAA0B;IAE1B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAE7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CACvC,KAA0B;IAE1B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1,11 +1,12 @@
1
- import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
2
- interface SimCfnDynamoDbTableValuesProperties {
1
+ import type { SimCfnTemplateValue, SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
2
+ interface SimCfnDynamoDbPropertyValuesProperties {
3
+ readonly resourceTypeName: string;
3
4
  readonly logicalId: string;
4
5
  readonly properties: SimCfnTemplateValueRecord;
5
6
  readonly path?: string;
6
7
  }
7
8
  /**
8
- * Reads the plain shapes an AWS::DynamoDB::Table property can hold.
9
+ * Reads the plain shapes a simulated DynamoDB Resource property can hold.
9
10
  *
10
11
  * Only the template's own shape is checked here: a list where a list belongs, a
11
12
  * number where a number belongs. What a value is allowed to mean is left to
@@ -15,22 +16,32 @@ interface SimCfnDynamoDbTableValuesProperties {
15
16
  * the path it sits at, so a refusal names the whole property path it came from
16
17
  * rather than just the field.
17
18
  */
18
- export declare class SimCfnDynamoDbTableValues {
19
+ export declare class SimCfnDynamoDbPropertyValues {
20
+ private readonly resourceTypeName;
19
21
  private readonly logicalId;
20
22
  private readonly entries;
21
23
  private readonly path;
22
- constructor(properties: SimCfnDynamoDbTableValuesProperties);
24
+ constructor(properties: SimCfnDynamoDbPropertyValuesProperties);
23
25
  /**
24
26
  * The names of the properties this object holds.
25
27
  */
26
28
  get names(): readonly string[];
29
+ /**
30
+ * A property as the template wrote it, for one that is handed on rather than
31
+ * read.
32
+ *
33
+ * A global table carries several properties an ordinary table states the same
34
+ * way, and passing those through untouched is what keeps the rules that
35
+ * decide what they are allowed to be in one place.
36
+ */
37
+ value(name: string): SimCfnTemplateValue | undefined;
27
38
  /**
28
39
  * Read a property holding a list of objects, such as a key schema.
29
40
  *
30
41
  * A property the template leaves out reads as no entries, which is what
31
42
  * CreateTable then refuses in its own words.
32
43
  */
33
- list(name: string): readonly SimCfnDynamoDbTableValues[];
44
+ list(name: string): readonly SimCfnDynamoDbPropertyValues[];
34
45
  /**
35
46
  * Read a property holding a list of strings, such as the attributes an index
36
47
  * projection names.
@@ -43,24 +54,19 @@ export declare class SimCfnDynamoDbTableValues {
43
54
  /**
44
55
  * Read a property holding an object, where the template may leave it out.
45
56
  */
46
- object(name: string): SimCfnDynamoDbTableValues | undefined;
57
+ object(name: string): SimCfnDynamoDbPropertyValues | undefined;
47
58
  /**
48
59
  * Read a property holding a string, where the template may leave it out.
49
60
  */
50
61
  string(name: string): string | undefined;
51
62
  /**
52
- * Read a property holding a number.
53
- *
54
- * CloudFormation carries a number as a string when it came from a template
55
- * Parameter, so both are read.
63
+ * Read a property holding a number, including one a template Parameter
64
+ * carried as a string.
56
65
  */
57
66
  number(name: string): number | undefined;
58
67
  /**
59
- * Read a property holding a boolean.
60
- *
61
- * CloudFormation carries a boolean as a string when it came from a template
62
- * Parameter, so both are read. Anything else is refused rather than read as
63
- * false, since what the template asked for is not knowable.
68
+ * Read a property holding a boolean, including one a template Parameter
69
+ * carried as a string.
64
70
  */
65
71
  boolean(name: string): boolean | undefined;
66
72
  /**
@@ -77,4 +83,4 @@ export declare class SimCfnDynamoDbTableValues {
77
83
  private reader;
78
84
  }
79
85
  export {};
80
- //# sourceMappingURL=sim-cfn-dynamodb-table-values.d.ts.map
86
+ //# sourceMappingURL=sim-cfn-dynamodb-property-values.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-dynamodb-property-values.d.ts","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-values.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,kEAAkE,CAAC;AAO1E,UAAU,sCAAsC;IAC9C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;IAC/C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,4BAA4B;IACvC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2C;IACnE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAE9B,YAAY,UAAU,EAAE,sCAAsC,EAK7D;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,SAAS,MAAM,EAAE,CAE7B;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAEnD;IAED;;;;;OAKG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,4BAA4B,EAAE,CAc1D;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAoBnD;IAED;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,4BAA4B,GAAG,SAAS,CAQ7D;IAED;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAYvC;IAED;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAcvC;IAED;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAczC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAE3B;IAED;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM3B;IAED;;OAEG;IACH,OAAO,CAAC,MAAM;CAef"}
@@ -1,6 +1,7 @@
1
- import { dynamoDbTablePropertyError } from "./sim-cfn-dynamodb-table-property-error.js";
1
+ import { dynamoDbPropertyError } from "./sim-cfn-dynamodb-property-error.js";
2
+ import { readSimCfnDynamoDbBoolean, readSimCfnDynamoDbNumber, } from "./sim-cfn-dynamodb-property-scalars.js";
2
3
  /**
3
- * Reads the plain shapes an AWS::DynamoDB::Table property can hold.
4
+ * Reads the plain shapes a simulated DynamoDB Resource property can hold.
4
5
  *
5
6
  * Only the template's own shape is checked here: a list where a list belongs, a
6
7
  * number where a number belongs. What a value is allowed to mean is left to
@@ -10,11 +11,13 @@ import { dynamoDbTablePropertyError } from "./sim-cfn-dynamodb-table-property-er
10
11
  * the path it sits at, so a refusal names the whole property path it came from
11
12
  * rather than just the field.
12
13
  */
13
- export class SimCfnDynamoDbTableValues {
14
+ export class SimCfnDynamoDbPropertyValues {
15
+ resourceTypeName;
14
16
  logicalId;
15
17
  entries;
16
18
  path;
17
19
  constructor(properties) {
20
+ this.resourceTypeName = properties.resourceTypeName;
18
21
  this.logicalId = properties.logicalId;
19
22
  this.entries = new Map(Object.entries(properties.properties));
20
23
  this.path = properties.path ?? "";
@@ -25,6 +28,17 @@ export class SimCfnDynamoDbTableValues {
25
28
  get names() {
26
29
  return this.entries.keys().toArray();
27
30
  }
31
+ /**
32
+ * A property as the template wrote it, for one that is handed on rather than
33
+ * read.
34
+ *
35
+ * A global table carries several properties an ordinary table states the same
36
+ * way, and passing those through untouched is what keeps the rules that
37
+ * decide what they are allowed to be in one place.
38
+ */
39
+ value(name) {
40
+ return this.entries.get(name);
41
+ }
28
42
  /**
29
43
  * Read a property holding a list of objects, such as a key schema.
30
44
  *
@@ -90,52 +104,40 @@ export class SimCfnDynamoDbTableValues {
90
104
  return value;
91
105
  }
92
106
  /**
93
- * Read a property holding a number.
94
- *
95
- * CloudFormation carries a number as a string when it came from a template
96
- * Parameter, so both are read.
107
+ * Read a property holding a number, including one a template Parameter
108
+ * carried as a string.
97
109
  */
98
110
  number(name) {
99
111
  const value = this.entries.get(name);
100
112
  if (value === undefined) {
101
113
  return undefined;
102
114
  }
103
- if (typeof value === "number") {
104
- return value;
115
+ const parsed = readSimCfnDynamoDbNumber(value);
116
+ if (parsed === undefined) {
117
+ throw this.error(`${this.pathTo(name)} must be a number`);
105
118
  }
106
- if (typeof value === "string" && value.trim() !== "") {
107
- const parsed = Number(value);
108
- if (!Number.isNaN(parsed)) {
109
- return parsed;
110
- }
111
- }
112
- throw this.error(`${this.pathTo(name)} must be a number`);
119
+ return parsed;
113
120
  }
114
121
  /**
115
- * Read a property holding a boolean.
116
- *
117
- * CloudFormation carries a boolean as a string when it came from a template
118
- * Parameter, so both are read. Anything else is refused rather than read as
119
- * false, since what the template asked for is not knowable.
122
+ * Read a property holding a boolean, including one a template Parameter
123
+ * carried as a string.
120
124
  */
121
125
  boolean(name) {
122
126
  const value = this.entries.get(name);
123
127
  if (value === undefined) {
124
128
  return undefined;
125
129
  }
126
- if (value === true || value === "true") {
127
- return true;
128
- }
129
- if (value === false || value === "false") {
130
- return false;
130
+ const parsed = readSimCfnDynamoDbBoolean(value);
131
+ if (parsed === undefined) {
132
+ throw this.error(`${this.pathTo(name)} must be true or false`);
131
133
  }
132
- throw this.error(`${this.pathTo(name)} must be true or false`);
134
+ return parsed;
133
135
  }
134
136
  /**
135
137
  * Build the error this Resource is refused with.
136
138
  */
137
139
  error(reason) {
138
- return dynamoDbTablePropertyError(this.logicalId, reason);
140
+ return dynamoDbPropertyError(this.resourceTypeName, this.logicalId, reason);
139
141
  }
140
142
  /**
141
143
  * The whole path a property sits at, for a refusal to name.
@@ -153,11 +155,12 @@ export class SimCfnDynamoDbTableValues {
153
155
  if (typeof value !== "object" || value === null || Array.isArray(value)) {
154
156
  throw this.error(`${path} must be an object`);
155
157
  }
156
- return new SimCfnDynamoDbTableValues({
158
+ return new SimCfnDynamoDbPropertyValues({
159
+ resourceTypeName: this.resourceTypeName,
157
160
  logicalId: this.logicalId,
158
161
  properties: value,
159
162
  path,
160
163
  });
161
164
  }
162
165
  }
163
- //# sourceMappingURL=sim-cfn-dynamodb-table-values.js.map
166
+ //# sourceMappingURL=sim-cfn-dynamodb-property-values.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-dynamodb-property-values.js","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-values.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EACL,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,wCAAwC,CAAC;AAShD;;;;;;;;;;GAUG;AACH,MAAM,OAAO,4BAA4B;IACtB,gBAAgB,CAAS;IACzB,SAAS,CAAS;IAClB,OAAO,CAA2C;IAClD,IAAI,CAAS;IAE9B,YAAY,UAAkD;QAC5D,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC;QACpD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IACvC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,IAAY;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,IAAY;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAErC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YAClC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,IAAY;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAErC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YAClC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,MAAM,IAAI,CAAC,KAAK,CACd,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,mBAAmB,CAC5D,CAAC;YACJ,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAY;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAErC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAY;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAErC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,IAAY;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAErC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,MAAM,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAE/C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,IAAY;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAErC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,MAAM,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;QAEhD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAc;QAClB,OAAO,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC9E,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAY;QACjB,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;IAChC,CAAC;IAED;;OAEG;IACK,MAAM,CACZ,KAA0B,EAC1B,IAAY;QAEZ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,oBAAoB,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,IAAI,4BAA4B,CAAC;YACtC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,KAAK;YACjB,IAAI;SACL,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -9,14 +9,16 @@ interface SimDynamoDbCfnResourceFactoryProperties {
9
9
  */
10
10
  export declare class SimDynamoDbCfnResourceFactory implements SimCfnServiceResourceFactory {
11
11
  private readonly tableCreator;
12
+ private readonly globalTableCreator;
12
13
  constructor(properties: SimDynamoDbCfnResourceFactoryProperties);
13
14
  /**
14
15
  * Create a simulated DynamoDB resource from a CloudFormation Resource.
15
16
  *
16
- * The table is the only AWS::DynamoDB::* Resource type this simulation
17
- * models. A global table replicates across regions, which is not simulated,
18
- * so AWS::DynamoDB::GlobalTable is reported as unsupported and skipped rather
19
- * than quietly created as an ordinary table in one region.
17
+ * Both Resource types make a table. A global table naming one replica is an
18
+ * ordinary table in that region, which is what CDK's `TableV2` synthesises
19
+ * for every table it makes, so it is created rather than skipped. One naming
20
+ * two or more regions genuinely replicates, which is not simulated, and is
21
+ * skipped where it is read rather than here.
20
22
  */
21
23
  create(resourceTypeName: string, resource: SimCfnResource, context: SimCloudFormationResourceCreateContext): Promise<object | undefined>;
22
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cfn-dynamodb-resource-factory.d.ts","sourceRoot":"","sources":["../../../../src/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,wEAAwE,CAAC;AAC3H,OAAO,KAAK,EACV,cAAc,EACd,sCAAsC,EACvC,MAAM,mDAAmD,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,UAAU,uCAAuC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;CAChC;AAED;;GAEG;AACH,qBAAa,6BAA8B,YAAW,4BAA4B;IAChF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAE1D,YAAY,UAAU,EAAE,uCAAuC,EAI9D;IAED;;;;;;;OAOG;IACG,MAAM,CACV,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,sCAAsC,GAC9C,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAc7B;CACF"}
1
+ {"version":3,"file":"sim-cfn-dynamodb-resource-factory.d.ts","sourceRoot":"","sources":["../../../../src/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,wEAAwE,CAAC;AAC3H,OAAO,KAAK,EACV,cAAc,EACd,sCAAsC,EACvC,MAAM,mDAAmD,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAItD,UAAU,uCAAuC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;CAChC;AAED;;GAEG;AACH,qBAAa,6BAA8B,YAAW,4BAA4B;IAChF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAmC;IAEtE,YAAY,UAAU,EAAE,uCAAuC,EAO9D;IAED;;;;;;;;OAQG;IACG,MAAM,CACV,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,sCAAsC,GAC9C,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAgB7B;CACF"}
@@ -1,26 +1,36 @@
1
+ import { SimCfnDynamoDbGlobalTableCreator } from "./global-table/sim-cfn-dynamodb-global-table-creator.js";
1
2
  import { SimCfnDynamoDbTableCreator } from "./table/sim-cfn-dynamodb-table-creator.js";
2
3
  /**
3
4
  * CloudFormation Resource factory for simulated DynamoDB resources.
4
5
  */
5
6
  export class SimDynamoDbCfnResourceFactory {
6
7
  tableCreator;
8
+ globalTableCreator;
7
9
  constructor(properties) {
8
10
  this.tableCreator = new SimCfnDynamoDbTableCreator({
9
11
  dynamoDb: properties.dynamoDb,
10
12
  });
13
+ this.globalTableCreator = new SimCfnDynamoDbGlobalTableCreator({
14
+ tableCreator: this.tableCreator,
15
+ });
11
16
  }
12
17
  /**
13
18
  * Create a simulated DynamoDB resource from a CloudFormation Resource.
14
19
  *
15
- * The table is the only AWS::DynamoDB::* Resource type this simulation
16
- * models. A global table replicates across regions, which is not simulated,
17
- * so AWS::DynamoDB::GlobalTable is reported as unsupported and skipped rather
18
- * than quietly created as an ordinary table in one region.
20
+ * Both Resource types make a table. A global table naming one replica is an
21
+ * ordinary table in that region, which is what CDK's `TableV2` synthesises
22
+ * for every table it makes, so it is created rather than skipped. One naming
23
+ * two or more regions genuinely replicates, which is not simulated, and is
24
+ * skipped where it is read rather than here.
19
25
  */
20
26
  async create(resourceTypeName, resource, context) {
27
+ const properties = context.resolvedProperties ?? resource.properties;
21
28
  switch (resourceTypeName) {
22
29
  case "Table": {
23
- return await this.tableCreator.create(resource, context.resolvedProperties ?? resource.properties);
30
+ return await this.tableCreator.create(resource, properties);
31
+ }
32
+ case "GlobalTable": {
33
+ return await this.globalTableCreator.create(resource, properties);
24
34
  }
25
35
  default: {
26
36
  throw new Error(`Unsupported sim DynamoDB CloudFormation Resource ${resourceTypeName}`);
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cfn-dynamodb-resource-factory.js","sourceRoot":"","sources":["../../../../src/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAMvF;;GAEG;AACH,MAAM,OAAO,6BAA6B;IACvB,YAAY,CAA6B;IAE1D,YAAY,UAAmD;QAC7D,IAAI,CAAC,YAAY,GAAG,IAAI,0BAA0B,CAAC;YACjD,QAAQ,EAAE,UAAU,CAAC,QAAQ;SAC9B,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CACV,gBAAwB,EACxB,QAAwB,EACxB,OAA+C;QAE/C,QAAQ,gBAAgB,EAAE,CAAC;YACzB,KAAK,OAAO,EAAE,CAAC;gBACb,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CACnC,QAAQ,EACR,OAAO,CAAC,kBAAkB,IAAI,QAAQ,CAAC,UAAU,CAClD,CAAC;YACJ,CAAC;YACD,SAAS,CAAC;gBACR,MAAM,IAAI,KAAK,CACb,oDAAoD,gBAAgB,EAAE,CACvE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"sim-cfn-dynamodb-resource-factory.js","sourceRoot":"","sources":["../../../../src/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gCAAgC,EAAE,MAAM,yDAAyD,CAAC;AAC3G,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAMvF;;GAEG;AACH,MAAM,OAAO,6BAA6B;IACvB,YAAY,CAA6B;IACzC,kBAAkB,CAAmC;IAEtE,YAAY,UAAmD;QAC7D,IAAI,CAAC,YAAY,GAAG,IAAI,0BAA0B,CAAC;YACjD,QAAQ,EAAE,UAAU,CAAC,QAAQ;SAC9B,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,GAAG,IAAI,gCAAgC,CAAC;YAC7D,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,MAAM,CACV,gBAAwB,EACxB,QAAwB,EACxB,OAA+C;QAE/C,MAAM,UAAU,GAAG,OAAO,CAAC,kBAAkB,IAAI,QAAQ,CAAC,UAAU,CAAC;QAErE,QAAQ,gBAAgB,EAAE,CAAC;YACzB,KAAK,OAAO,EAAE,CAAC;gBACb,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC9D,CAAC;YACD,KAAK,aAAa,EAAE,CAAC;gBACnB,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACpE,CAAC;YACD,SAAS,CAAC;gBACR,MAAM,IAAI,KAAK,CACb,oDAAoD,gBAAgB,EAAE,CACvE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CACF"}