@kensio/yulin 1.3.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 (375) 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 +3 -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 +10 -8
  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 +22 -23
  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 +5 -0
  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 +6 -0
  20. package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
  21. package/dist/service/aws/sim-aws-service-accessors.d.ts +3 -0
  22. package/dist/service/aws/sim-aws-service-accessors.d.ts.map +1 -1
  23. package/dist/service/aws/sim-aws-service-accessors.js +4 -0
  24. package/dist/service/aws/sim-aws-service-accessors.js.map +1 -1
  25. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-cfn-value-adapter.d.ts +4 -0
  26. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-cfn-value-adapter.d.ts.map +1 -1
  27. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-cfn-value-adapter.js +19 -2
  28. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-cfn-value-adapter.js.map +1 -1
  29. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.d.ts +20 -4
  30. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.d.ts.map +1 -1
  31. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.js +28 -6
  32. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.js.map +1 -1
  33. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-capacity.d.ts +26 -0
  34. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-capacity.d.ts.map +1 -0
  35. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-capacity.js +28 -0
  36. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-capacity.js.map +1 -0
  37. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-creator.d.ts +26 -0
  38. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-creator.d.ts.map +1 -0
  39. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-creator.js +27 -0
  40. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-creator.js.map +1 -0
  41. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-indexes.d.ts +17 -0
  42. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-indexes.d.ts.map +1 -0
  43. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-indexes.js +62 -0
  44. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-indexes.js.map +1 -0
  45. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-properties.d.ts +37 -0
  46. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-properties.d.ts.map +1 -0
  47. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-properties.js +88 -0
  48. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-properties.js.map +1 -0
  49. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.d.ts +23 -0
  50. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.d.ts.map +1 -0
  51. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.js +151 -0
  52. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.js.map +1 -0
  53. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property.d.ts +29 -0
  54. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property.d.ts.map +1 -0
  55. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property.js +26 -0
  56. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property.js.map +1 -0
  57. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replica-rules.d.ts +15 -0
  58. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replica-rules.d.ts.map +1 -0
  59. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replica-rules.js +98 -0
  60. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replica-rules.js.map +1 -0
  61. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replicas.d.ts +48 -0
  62. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replicas.d.ts.map +1 -0
  63. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replicas.js +78 -0
  64. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replicas.js.map +1 -0
  65. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-resource.factory.d.ts +53 -0
  66. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-resource.factory.d.ts.map +1 -0
  67. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-resource.factory.js +46 -0
  68. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-resource.factory.js.map +1 -0
  69. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-simulated.d.ts +18 -0
  70. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-simulated.d.ts.map +1 -0
  71. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-simulated.js +41 -0
  72. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-simulated.js.map +1 -0
  73. package/dist/service/dynamodb/cfn/{table/sim-cfn-dynamodb-table-property-error.d.ts → property/sim-cfn-dynamodb-property-error.d.ts} +9 -5
  74. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-error.d.ts.map +1 -0
  75. package/dist/service/dynamodb/cfn/{table/sim-cfn-dynamodb-table-property-error.js → property/sim-cfn-dynamodb-property-error.js} +11 -7
  76. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-error.js.map +1 -0
  77. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-rules.d.ts +54 -0
  78. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-rules.d.ts.map +1 -0
  79. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-rules.js +71 -0
  80. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-rules.js.map +1 -0
  81. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-scalars.d.ts +17 -0
  82. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-scalars.d.ts.map +1 -0
  83. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-scalars.js +35 -0
  84. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-scalars.js.map +1 -0
  85. package/dist/service/dynamodb/cfn/{table/sim-cfn-dynamodb-table-values.d.ts → property/sim-cfn-dynamodb-property-values.d.ts} +23 -17
  86. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-values.d.ts.map +1 -0
  87. package/dist/service/dynamodb/cfn/{table/sim-cfn-dynamodb-table-values.js → property/sim-cfn-dynamodb-property-values.js} +33 -30
  88. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-values.js.map +1 -0
  89. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.d.ts +6 -4
  90. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.d.ts.map +1 -1
  91. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.js +15 -5
  92. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.js.map +1 -1
  93. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-type.d.ts +14 -0
  94. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-type.d.ts.map +1 -0
  95. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-type.js +14 -0
  96. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-type.js.map +1 -0
  97. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.d.ts +8 -26
  98. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.d.ts.map +1 -1
  99. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.js +23 -59
  100. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.js.map +1 -1
  101. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-indexes.d.ts +2 -2
  102. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-indexes.d.ts.map +1 -1
  103. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-indexes.js.map +1 -1
  104. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-key-schema.d.ts +2 -2
  105. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-key-schema.d.ts.map +1 -1
  106. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-key-schema.js.map +1 -1
  107. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.d.ts.map +1 -1
  108. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.js +4 -2
  109. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.js.map +1 -1
  110. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.d.ts +2 -3
  111. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.d.ts.map +1 -1
  112. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.js +13 -18
  113. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.js.map +1 -1
  114. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-resource.factory.d.ts +7 -0
  115. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-resource.factory.d.ts.map +1 -1
  116. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-resource.factory.js +5 -2
  117. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-resource.factory.js.map +1 -1
  118. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.d.ts +3 -15
  119. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.d.ts.map +1 -1
  120. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.js +11 -33
  121. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.js.map +1 -1
  122. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream.d.ts +2 -2
  123. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream.d.ts.map +1 -1
  124. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream.js.map +1 -1
  125. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-throughput.d.ts +2 -2
  126. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-throughput.d.ts.map +1 -1
  127. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-throughput.js.map +1 -1
  128. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-time-to-live.d.ts +2 -2
  129. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-time-to-live.d.ts.map +1 -1
  130. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-time-to-live.js.map +1 -1
  131. package/dist/service/rekognition/command/authorize/sim-rekognition-authorizer.d.ts +26 -0
  132. package/dist/service/rekognition/command/authorize/sim-rekognition-authorizer.d.ts.map +1 -0
  133. package/dist/service/rekognition/command/authorize/sim-rekognition-authorizer.js +45 -0
  134. package/dist/service/rekognition/command/authorize/sim-rekognition-authorizer.js.map +1 -0
  135. package/dist/service/rekognition/command/detect-faces/detect-faces-request.d.ts +12 -0
  136. package/dist/service/rekognition/command/detect-faces/detect-faces-request.d.ts.map +1 -0
  137. package/dist/service/rekognition/command/detect-faces/detect-faces-request.js +18 -0
  138. package/dist/service/rekognition/command/detect-faces/detect-faces-request.js.map +1 -0
  139. package/dist/service/rekognition/command/detect-faces/detect-faces.command.d.ts +133 -0
  140. package/dist/service/rekognition/command/detect-faces/detect-faces.command.d.ts.map +1 -0
  141. package/dist/service/rekognition/command/detect-faces/detect-faces.command.js +2 -0
  142. package/dist/service/rekognition/command/detect-faces/detect-faces.command.js.map +1 -0
  143. package/dist/service/rekognition/command/detect-faces/detect-faces.handler.d.ts +35 -0
  144. package/dist/service/rekognition/command/detect-faces/detect-faces.handler.d.ts.map +1 -0
  145. package/dist/service/rekognition/command/detect-faces/detect-faces.handler.js +39 -0
  146. package/dist/service/rekognition/command/detect-faces/detect-faces.handler.js.map +1 -0
  147. package/dist/service/rekognition/command/detect-labels/detect-labels-request.d.ts +30 -0
  148. package/dist/service/rekognition/command/detect-labels/detect-labels-request.d.ts.map +1 -0
  149. package/dist/service/rekognition/command/detect-labels/detect-labels-request.js +71 -0
  150. package/dist/service/rekognition/command/detect-labels/detect-labels-request.js.map +1 -0
  151. package/dist/service/rekognition/command/detect-labels/detect-labels.command.d.ts +57 -0
  152. package/dist/service/rekognition/command/detect-labels/detect-labels.command.d.ts.map +1 -0
  153. package/dist/service/rekognition/command/detect-labels/detect-labels.command.js +2 -0
  154. package/dist/service/rekognition/command/detect-labels/detect-labels.command.js.map +1 -0
  155. package/dist/service/rekognition/command/detect-labels/detect-labels.handler.d.ts +35 -0
  156. package/dist/service/rekognition/command/detect-labels/detect-labels.handler.d.ts.map +1 -0
  157. package/dist/service/rekognition/command/detect-labels/detect-labels.handler.js +41 -0
  158. package/dist/service/rekognition/command/detect-labels/detect-labels.handler.js.map +1 -0
  159. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels-request.d.ts +17 -0
  160. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels-request.d.ts.map +1 -0
  161. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels-request.js +30 -0
  162. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels-request.js.map +1 -0
  163. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels.command.d.ts +42 -0
  164. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels.command.d.ts.map +1 -0
  165. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels.command.js +2 -0
  166. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels.command.js.map +1 -0
  167. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels.handler.d.ts +36 -0
  168. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels.handler.d.ts.map +1 -0
  169. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels.handler.js +47 -0
  170. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels.handler.js.map +1 -0
  171. package/dist/service/rekognition/command/sim-rekognition-min-confidence.d.ts +19 -0
  172. package/dist/service/rekognition/command/sim-rekognition-min-confidence.d.ts.map +1 -0
  173. package/dist/service/rekognition/command/sim-rekognition-min-confidence.js +34 -0
  174. package/dist/service/rekognition/command/sim-rekognition-min-confidence.js.map +1 -0
  175. package/dist/service/rekognition/command/sim-rekognition-request-options.d.ts +16 -0
  176. package/dist/service/rekognition/command/sim-rekognition-request-options.d.ts.map +1 -0
  177. package/dist/service/rekognition/command/sim-rekognition-request-options.js +2 -0
  178. package/dist/service/rekognition/command/sim-rekognition-request-options.js.map +1 -0
  179. package/dist/service/rekognition/command/sim-rekognition-unsimulated-input.d.ts +19 -0
  180. package/dist/service/rekognition/command/sim-rekognition-unsimulated-input.d.ts.map +1 -0
  181. package/dist/service/rekognition/command/sim-rekognition-unsimulated-input.js +30 -0
  182. package/dist/service/rekognition/command/sim-rekognition-unsimulated-input.js.map +1 -0
  183. package/dist/service/rekognition/error/sim-rekognition.error.d.ts +87 -0
  184. package/dist/service/rekognition/error/sim-rekognition.error.d.ts.map +1 -0
  185. package/dist/service/rekognition/error/sim-rekognition.error.js +95 -0
  186. package/dist/service/rekognition/error/sim-rekognition.error.js.map +1 -0
  187. package/dist/service/rekognition/face/sim-rekognition-declared-value.d.ts +26 -0
  188. package/dist/service/rekognition/face/sim-rekognition-declared-value.d.ts.map +1 -0
  189. package/dist/service/rekognition/face/sim-rekognition-declared-value.js +28 -0
  190. package/dist/service/rekognition/face/sim-rekognition-declared-value.js.map +1 -0
  191. package/dist/service/rekognition/face/sim-rekognition-detected-face.d.ts +29 -0
  192. package/dist/service/rekognition/face/sim-rekognition-detected-face.d.ts.map +1 -0
  193. package/dist/service/rekognition/face/sim-rekognition-detected-face.js +53 -0
  194. package/dist/service/rekognition/face/sim-rekognition-detected-face.js.map +1 -0
  195. package/dist/service/rekognition/face/sim-rekognition-emotion-name.d.ts +18 -0
  196. package/dist/service/rekognition/face/sim-rekognition-emotion-name.d.ts.map +1 -0
  197. package/dist/service/rekognition/face/sim-rekognition-emotion-name.js +27 -0
  198. package/dist/service/rekognition/face/sim-rekognition-emotion-name.js.map +1 -0
  199. package/dist/service/rekognition/face/sim-rekognition-face-age-and-gender.d.ts +24 -0
  200. package/dist/service/rekognition/face/sim-rekognition-face-age-and-gender.d.ts.map +1 -0
  201. package/dist/service/rekognition/face/sim-rekognition-face-age-and-gender.js +62 -0
  202. package/dist/service/rekognition/face/sim-rekognition-face-age-and-gender.js.map +1 -0
  203. package/dist/service/rekognition/face/sim-rekognition-face-attributes.d.ts +41 -0
  204. package/dist/service/rekognition/face/sim-rekognition-face-attributes.d.ts.map +1 -0
  205. package/dist/service/rekognition/face/sim-rekognition-face-attributes.js +75 -0
  206. package/dist/service/rekognition/face/sim-rekognition-face-attributes.js.map +1 -0
  207. package/dist/service/rekognition/face/sim-rekognition-face-declaration.d.ts +116 -0
  208. package/dist/service/rekognition/face/sim-rekognition-face-declaration.d.ts.map +1 -0
  209. package/dist/service/rekognition/face/sim-rekognition-face-declaration.js +2 -0
  210. package/dist/service/rekognition/face/sim-rekognition-face-declaration.js.map +1 -0
  211. package/dist/service/rekognition/face/sim-rekognition-face-defaults.d.ts +31 -0
  212. package/dist/service/rekognition/face/sim-rekognition-face-defaults.d.ts.map +1 -0
  213. package/dist/service/rekognition/face/sim-rekognition-face-defaults.js +120 -0
  214. package/dist/service/rekognition/face/sim-rekognition-face-defaults.js.map +1 -0
  215. package/dist/service/rekognition/face/sim-rekognition-face-detail-builder.d.ts +31 -0
  216. package/dist/service/rekognition/face/sim-rekognition-face-detail-builder.d.ts.map +1 -0
  217. package/dist/service/rekognition/face/sim-rekognition-face-detail-builder.js +38 -0
  218. package/dist/service/rekognition/face/sim-rekognition-face-detail-builder.js.map +1 -0
  219. package/dist/service/rekognition/face/sim-rekognition-face-detection.d.ts +21 -0
  220. package/dist/service/rekognition/face/sim-rekognition-face-detection.d.ts.map +1 -0
  221. package/dist/service/rekognition/face/sim-rekognition-face-detection.js +33 -0
  222. package/dist/service/rekognition/face/sim-rekognition-face-detection.js.map +1 -0
  223. package/dist/service/rekognition/face/sim-rekognition-face-emotions.d.ts +23 -0
  224. package/dist/service/rekognition/face/sim-rekognition-face-emotions.d.ts.map +1 -0
  225. package/dist/service/rekognition/face/sim-rekognition-face-emotions.js +55 -0
  226. package/dist/service/rekognition/face/sim-rekognition-face-emotions.js.map +1 -0
  227. package/dist/service/rekognition/face/sim-rekognition-face-eye-direction.d.ts +19 -0
  228. package/dist/service/rekognition/face/sim-rekognition-face-eye-direction.d.ts.map +1 -0
  229. package/dist/service/rekognition/face/sim-rekognition-face-eye-direction.js +31 -0
  230. package/dist/service/rekognition/face/sim-rekognition-face-eye-direction.js.map +1 -0
  231. package/dist/service/rekognition/face/sim-rekognition-face-feature-members.d.ts +56 -0
  232. package/dist/service/rekognition/face/sim-rekognition-face-feature-members.d.ts.map +1 -0
  233. package/dist/service/rekognition/face/sim-rekognition-face-feature-members.js +22 -0
  234. package/dist/service/rekognition/face/sim-rekognition-face-feature-members.js.map +1 -0
  235. package/dist/service/rekognition/face/sim-rekognition-face-features.d.ts +19 -0
  236. package/dist/service/rekognition/face/sim-rekognition-face-features.d.ts.map +1 -0
  237. package/dist/service/rekognition/face/sim-rekognition-face-features.js +39 -0
  238. package/dist/service/rekognition/face/sim-rekognition-face-features.js.map +1 -0
  239. package/dist/service/rekognition/face/sim-rekognition-face-frame.d.ts +27 -0
  240. package/dist/service/rekognition/face/sim-rekognition-face-frame.d.ts.map +1 -0
  241. package/dist/service/rekognition/face/sim-rekognition-face-frame.js +74 -0
  242. package/dist/service/rekognition/face/sim-rekognition-face-frame.js.map +1 -0
  243. package/dist/service/rekognition/face/sim-rekognition-face-landmark-points.d.ts +25 -0
  244. package/dist/service/rekognition/face/sim-rekognition-face-landmark-points.d.ts.map +1 -0
  245. package/dist/service/rekognition/face/sim-rekognition-face-landmark-points.js +89 -0
  246. package/dist/service/rekognition/face/sim-rekognition-face-landmark-points.js.map +1 -0
  247. package/dist/service/rekognition/face/sim-rekognition-face-landmarks.d.ts +20 -0
  248. package/dist/service/rekognition/face/sim-rekognition-face-landmarks.d.ts.map +1 -0
  249. package/dist/service/rekognition/face/sim-rekognition-face-landmarks.js +32 -0
  250. package/dist/service/rekognition/face/sim-rekognition-face-landmarks.js.map +1 -0
  251. package/dist/service/rekognition/face/sim-rekognition-face-measures.d.ts +27 -0
  252. package/dist/service/rekognition/face/sim-rekognition-face-measures.d.ts.map +1 -0
  253. package/dist/service/rekognition/face/sim-rekognition-face-measures.js +49 -0
  254. package/dist/service/rekognition/face/sim-rekognition-face-measures.js.map +1 -0
  255. package/dist/service/rekognition/face/sim-rekognition-faces.d.ts +36 -0
  256. package/dist/service/rekognition/face/sim-rekognition-faces.d.ts.map +1 -0
  257. package/dist/service/rekognition/face/sim-rekognition-faces.js +49 -0
  258. package/dist/service/rekognition/face/sim-rekognition-faces.js.map +1 -0
  259. package/dist/service/rekognition/face/sim-rekognition-landmark-name.d.ts +30 -0
  260. package/dist/service/rekognition/face/sim-rekognition-landmark-name.d.ts.map +1 -0
  261. package/dist/service/rekognition/face/sim-rekognition-landmark-name.js +66 -0
  262. package/dist/service/rekognition/face/sim-rekognition-landmark-name.js.map +1 -0
  263. package/dist/service/rekognition/image/s3/sim-aws-rekognition-image-objects.d.ts +48 -0
  264. package/dist/service/rekognition/image/s3/sim-aws-rekognition-image-objects.d.ts.map +1 -0
  265. package/dist/service/rekognition/image/s3/sim-aws-rekognition-image-objects.js +78 -0
  266. package/dist/service/rekognition/image/s3/sim-aws-rekognition-image-objects.js.map +1 -0
  267. package/dist/service/rekognition/image/sim-rekognition-bounding-box.d.ts +48 -0
  268. package/dist/service/rekognition/image/sim-rekognition-bounding-box.d.ts.map +1 -0
  269. package/dist/service/rekognition/image/sim-rekognition-bounding-box.js +50 -0
  270. package/dist/service/rekognition/image/sim-rekognition-bounding-box.js.map +1 -0
  271. package/dist/service/rekognition/image/sim-rekognition-image-format.d.ts +17 -0
  272. package/dist/service/rekognition/image/sim-rekognition-image-format.d.ts.map +1 -0
  273. package/dist/service/rekognition/image/sim-rekognition-image-format.js +28 -0
  274. package/dist/service/rekognition/image/sim-rekognition-image-format.js.map +1 -0
  275. package/dist/service/rekognition/image/sim-rekognition-image-hash.d.ts +15 -0
  276. package/dist/service/rekognition/image/sim-rekognition-image-hash.d.ts.map +1 -0
  277. package/dist/service/rekognition/image/sim-rekognition-image-hash.js +20 -0
  278. package/dist/service/rekognition/image/sim-rekognition-image-hash.js.map +1 -0
  279. package/dist/service/rekognition/image/sim-rekognition-image-input.d.ts +23 -0
  280. package/dist/service/rekognition/image/sim-rekognition-image-input.d.ts.map +1 -0
  281. package/dist/service/rekognition/image/sim-rekognition-image-input.js +2 -0
  282. package/dist/service/rekognition/image/sim-rekognition-image-input.js.map +1 -0
  283. package/dist/service/rekognition/image/sim-rekognition-image-objects.d.ts +35 -0
  284. package/dist/service/rekognition/image/sim-rekognition-image-objects.d.ts.map +1 -0
  285. package/dist/service/rekognition/image/sim-rekognition-image-objects.js +21 -0
  286. package/dist/service/rekognition/image/sim-rekognition-image-objects.js.map +1 -0
  287. package/dist/service/rekognition/image/sim-rekognition-image-request.d.ts +59 -0
  288. package/dist/service/rekognition/image/sim-rekognition-image-request.d.ts.map +1 -0
  289. package/dist/service/rekognition/image/sim-rekognition-image-request.js +88 -0
  290. package/dist/service/rekognition/image/sim-rekognition-image-request.js.map +1 -0
  291. package/dist/service/rekognition/image/sim-rekognition-image.d.ts +30 -0
  292. package/dist/service/rekognition/image/sim-rekognition-image.d.ts.map +1 -0
  293. package/dist/service/rekognition/image/sim-rekognition-image.js +36 -0
  294. package/dist/service/rekognition/image/sim-rekognition-image.js.map +1 -0
  295. package/dist/service/rekognition/index.d.ts +18 -0
  296. package/dist/service/rekognition/index.d.ts.map +1 -0
  297. package/dist/service/rekognition/index.js +13 -0
  298. package/dist/service/rekognition/index.js.map +1 -0
  299. package/dist/service/rekognition/label/sim-rekognition-detected-label.d.ts +11 -0
  300. package/dist/service/rekognition/label/sim-rekognition-detected-label.d.ts.map +1 -0
  301. package/dist/service/rekognition/label/sim-rekognition-detected-label.js +49 -0
  302. package/dist/service/rekognition/label/sim-rekognition-detected-label.js.map +1 -0
  303. package/dist/service/rekognition/label/sim-rekognition-label-declaration.d.ts +43 -0
  304. package/dist/service/rekognition/label/sim-rekognition-label-declaration.d.ts.map +1 -0
  305. package/dist/service/rekognition/label/sim-rekognition-label-declaration.js +10 -0
  306. package/dist/service/rekognition/label/sim-rekognition-label-declaration.js.map +1 -0
  307. package/dist/service/rekognition/label/sim-rekognition-label-defaults.d.ts +22 -0
  308. package/dist/service/rekognition/label/sim-rekognition-label-defaults.d.ts.map +1 -0
  309. package/dist/service/rekognition/label/sim-rekognition-label-defaults.js +42 -0
  310. package/dist/service/rekognition/label/sim-rekognition-label-defaults.js.map +1 -0
  311. package/dist/service/rekognition/label/sim-rekognition-label-detection.d.ts +32 -0
  312. package/dist/service/rekognition/label/sim-rekognition-label-detection.d.ts.map +1 -0
  313. package/dist/service/rekognition/label/sim-rekognition-label-detection.js +35 -0
  314. package/dist/service/rekognition/label/sim-rekognition-label-detection.js.map +1 -0
  315. package/dist/service/rekognition/label/sim-rekognition-label-instances.d.ts +19 -0
  316. package/dist/service/rekognition/label/sim-rekognition-label-instances.d.ts.map +1 -0
  317. package/dist/service/rekognition/label/sim-rekognition-label-instances.js +28 -0
  318. package/dist/service/rekognition/label/sim-rekognition-label-instances.js.map +1 -0
  319. package/dist/service/rekognition/label/sim-rekognition-labels.d.ts +30 -0
  320. package/dist/service/rekognition/label/sim-rekognition-labels.d.ts.map +1 -0
  321. package/dist/service/rekognition/label/sim-rekognition-labels.js +38 -0
  322. package/dist/service/rekognition/label/sim-rekognition-labels.js.map +1 -0
  323. package/dist/service/rekognition/moderation/sim-rekognition-moderation-labels.d.ts +29 -0
  324. package/dist/service/rekognition/moderation/sim-rekognition-moderation-labels.d.ts.map +1 -0
  325. package/dist/service/rekognition/moderation/sim-rekognition-moderation-labels.js +85 -0
  326. package/dist/service/rekognition/moderation/sim-rekognition-moderation-labels.js.map +1 -0
  327. package/dist/service/rekognition/moderation/sim-rekognition-moderation-result.d.ts +46 -0
  328. package/dist/service/rekognition/moderation/sim-rekognition-moderation-result.d.ts.map +1 -0
  329. package/dist/service/rekognition/moderation/sim-rekognition-moderation-result.js +79 -0
  330. package/dist/service/rekognition/moderation/sim-rekognition-moderation-result.js.map +1 -0
  331. package/dist/service/rekognition/moderation/sim-rekognition-moderation-taxonomy.d.ts +55 -0
  332. package/dist/service/rekognition/moderation/sim-rekognition-moderation-taxonomy.d.ts.map +1 -0
  333. package/dist/service/rekognition/moderation/sim-rekognition-moderation-taxonomy.js +87 -0
  334. package/dist/service/rekognition/moderation/sim-rekognition-moderation-taxonomy.js.map +1 -0
  335. package/dist/service/rekognition/moderation/sim-rekognition-moderation.d.ts +35 -0
  336. package/dist/service/rekognition/moderation/sim-rekognition-moderation.d.ts.map +1 -0
  337. package/dist/service/rekognition/moderation/sim-rekognition-moderation.js +57 -0
  338. package/dist/service/rekognition/moderation/sim-rekognition-moderation.js.map +1 -0
  339. package/dist/service/rekognition/rule/sim-rekognition-declared-confidence.d.ts +21 -0
  340. package/dist/service/rekognition/rule/sim-rekognition-declared-confidence.d.ts.map +1 -0
  341. package/dist/service/rekognition/rule/sim-rekognition-declared-confidence.js +34 -0
  342. package/dist/service/rekognition/rule/sim-rekognition-declared-confidence.js.map +1 -0
  343. package/dist/service/rekognition/rule/sim-rekognition-result-rules.d.ts +51 -0
  344. package/dist/service/rekognition/rule/sim-rekognition-result-rules.d.ts.map +1 -0
  345. package/dist/service/rekognition/rule/sim-rekognition-result-rules.js +80 -0
  346. package/dist/service/rekognition/rule/sim-rekognition-result-rules.js.map +1 -0
  347. package/dist/service/rekognition/sample/sim-rekognition-sample-image-files.d.ts +27 -0
  348. package/dist/service/rekognition/sample/sim-rekognition-sample-image-files.d.ts.map +1 -0
  349. package/dist/service/rekognition/sample/sim-rekognition-sample-image-files.js +62 -0
  350. package/dist/service/rekognition/sample/sim-rekognition-sample-image-files.js.map +1 -0
  351. package/dist/service/rekognition/sample/sim-rekognition-sample-image.d.ts +26 -0
  352. package/dist/service/rekognition/sample/sim-rekognition-sample-image.d.ts.map +1 -0
  353. package/dist/service/rekognition/sample/sim-rekognition-sample-image.js +32 -0
  354. package/dist/service/rekognition/sample/sim-rekognition-sample-image.js.map +1 -0
  355. package/dist/service/rekognition/sample/sim-rekognition-sample-images.d.ts +52 -0
  356. package/dist/service/rekognition/sample/sim-rekognition-sample-images.d.ts.map +1 -0
  357. package/dist/service/rekognition/sample/sim-rekognition-sample-images.js +63 -0
  358. package/dist/service/rekognition/sample/sim-rekognition-sample-images.js.map +1 -0
  359. package/dist/service/rekognition/sample/sim-rekognition-sample-rules.d.ts +29 -0
  360. package/dist/service/rekognition/sample/sim-rekognition-sample-rules.d.ts.map +1 -0
  361. package/dist/service/rekognition/sample/sim-rekognition-sample-rules.js +31 -0
  362. package/dist/service/rekognition/sample/sim-rekognition-sample-rules.js.map +1 -0
  363. package/dist/service/rekognition/sdk/sim-rekognition-sdk-command-router.d.ts +20 -0
  364. package/dist/service/rekognition/sdk/sim-rekognition-sdk-command-router.d.ts.map +1 -0
  365. package/dist/service/rekognition/sdk/sim-rekognition-sdk-command-router.js +38 -0
  366. package/dist/service/rekognition/sdk/sim-rekognition-sdk-command-router.js.map +1 -0
  367. package/dist/service/rekognition/sim-rekognition.d.ts +95 -0
  368. package/dist/service/rekognition/sim-rekognition.d.ts.map +1 -0
  369. package/dist/service/rekognition/sim-rekognition.js +124 -0
  370. package/dist/service/rekognition/sim-rekognition.js.map +1 -0
  371. package/package.json +6 -1
  372. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-error.d.ts.map +0 -1
  373. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-error.js.map +0 -1
  374. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-values.d.ts.map +0 -1
  375. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-values.js.map +0 -1
@@ -0,0 +1,29 @@
1
+ import type { SimCfnTemplateValue } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
2
+ import type { SimCfnDynamoDbPropertyValues } from "../property/sim-cfn-dynamodb-property-values.js";
3
+ /**
4
+ * One entry of the AWS::DynamoDB::Table properties a global table becomes.
5
+ */
6
+ export type SimCfnDynamoDbGlobalTableEntry = readonly [
7
+ string,
8
+ SimCfnTemplateValue
9
+ ];
10
+ /**
11
+ * The named properties a global table states exactly as an ordinary table
12
+ * does, in the shape the template wrote them.
13
+ *
14
+ * Passing these through untouched is what keeps the rules deciding what a key
15
+ * schema, a projection or a view type is allowed to be in one place: the
16
+ * AWS::DynamoDB::Table path they are handed to, and CreateTable beneath it.
17
+ *
18
+ * A property the template left out is left out here too, rather than carried
19
+ * across as nothing, since the two are read differently further down.
20
+ */
21
+ export declare function simCfnDynamoDbGlobalTableProperty(values: SimCfnDynamoDbPropertyValues, names: readonly string[]): readonly SimCfnDynamoDbGlobalTableEntry[];
22
+ /**
23
+ * One property of the table being built, where there is one to add.
24
+ *
25
+ * A property built from what a global table splits in two is only there when
26
+ * either half was stated, so the entry it makes comes and goes with it.
27
+ */
28
+ export declare function simCfnDynamoDbGlobalTableEntry(name: string, value: SimCfnTemplateValue | undefined): readonly SimCfnDynamoDbGlobalTableEntry[];
29
+ //# sourceMappingURL=sim-cfn-dynamodb-global-table-property.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-dynamodb-global-table-property.d.ts","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kEAAkE,CAAC;AAC5G,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAC;AAEpG;;GAEG;AACH,MAAM,MAAM,8BAA8B,GAAG,SAAS;IACpD,MAAM;IACN,mBAAmB;CACpB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,4BAA4B,EACpC,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB,SAAS,8BAA8B,EAAE,CAI3C;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,mBAAmB,GAAG,SAAS,GACrC,SAAS,8BAA8B,EAAE,CAE3C"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * The named properties a global table states exactly as an ordinary table
3
+ * does, in the shape the template wrote them.
4
+ *
5
+ * Passing these through untouched is what keeps the rules deciding what a key
6
+ * schema, a projection or a view type is allowed to be in one place: the
7
+ * AWS::DynamoDB::Table path they are handed to, and CreateTable beneath it.
8
+ *
9
+ * A property the template left out is left out here too, rather than carried
10
+ * across as nothing, since the two are read differently further down.
11
+ */
12
+ export function simCfnDynamoDbGlobalTableProperty(values, names) {
13
+ return names.flatMap((name) => {
14
+ return simCfnDynamoDbGlobalTableEntry(name, values.value(name));
15
+ });
16
+ }
17
+ /**
18
+ * One property of the table being built, where there is one to add.
19
+ *
20
+ * A property built from what a global table splits in two is only there when
21
+ * either half was stated, so the entry it makes comes and goes with it.
22
+ */
23
+ export function simCfnDynamoDbGlobalTableEntry(name, value) {
24
+ return value === undefined ? [] : [[name, value]];
25
+ }
26
+ //# sourceMappingURL=sim-cfn-dynamodb-global-table-property.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-dynamodb-global-table-property.js","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iCAAiC,CAC/C,MAAoC,EACpC,KAAwB;IAExB,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC5B,OAAO,8BAA8B,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B,CAC5C,IAAY,EACZ,KAAsC;IAEtC,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAU,CAAC,CAAC;AAC7D,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { SimCfnDynamoDbPropertyRules } from "../property/sim-cfn-dynamodb-property-rules.js";
2
+ /**
3
+ * The rules a `Replicas` entry is read under.
4
+ */
5
+ export declare function simCfnDynamoDbGlobalTableReplicaRules(logicalId: string): SimCfnDynamoDbPropertyRules;
6
+ /**
7
+ * The rules a replica's `GlobalSecondaryIndexes` entry is read under.
8
+ */
9
+ export declare function simCfnDynamoDbGlobalTableReplicaIndexRules(logicalId: string): SimCfnDynamoDbPropertyRules;
10
+ /**
11
+ * The rules a `ReadProvisionedThroughputSettings` is read under, on the replica
12
+ * or on one of its global secondary indexes.
13
+ */
14
+ export declare function simCfnDynamoDbGlobalTableReadCapacityRules(logicalId: string): SimCfnDynamoDbPropertyRules;
15
+ //# sourceMappingURL=sim-cfn-dynamodb-global-table-replica-rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-dynamodb-global-table-replica-rules.d.ts","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replica-rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAmE7F;;GAEG;AACH,wBAAgB,qCAAqC,CACnD,SAAS,EAAE,MAAM,GAChB,2BAA2B,CAQ7B;AAED;;GAEG;AACH,wBAAgB,0CAA0C,CACxD,SAAS,EAAE,MAAM,GAChB,2BAA2B,CAQ7B;AAED;;;GAGG;AACH,wBAAgB,0CAA0C,CACxD,SAAS,EAAE,MAAM,GAChB,2BAA2B,CAQ7B"}
@@ -0,0 +1,98 @@
1
+ import { SimCfnDynamoDbPropertyRules } from "../property/sim-cfn-dynamodb-property-rules.js";
2
+ import { dynamoDbGlobalTableResourceTypeName } from "../sim-cfn-dynamodb-resource-type.js";
3
+ /**
4
+ * The replica properties this simulation acts on.
5
+ *
6
+ * A replica is where a global table says the things an ordinary table says
7
+ * about itself: what it is protected from, what class it is stored in, what it
8
+ * is tagged with, and what it is provisioned to read.
9
+ */
10
+ const simulatedReplicaPropertyNames = new Set([
11
+ "DeletionProtectionEnabled",
12
+ "GlobalSecondaryIndexes",
13
+ "ReadProvisionedThroughputSettings",
14
+ "Region",
15
+ "TableClass",
16
+ "Tags",
17
+ ]);
18
+ /**
19
+ * Real replica properties this simulation does not model.
20
+ *
21
+ * These are the same settings the AWS::DynamoDB::Table path skips, in the place
22
+ * a global table puts them, so a template asking for point in time recovery is
23
+ * skipped whichever Resource type it asked through.
24
+ */
25
+ const unsimulatedReplicaPropertyNames = new Set([
26
+ "ContributorInsightsSpecification",
27
+ "KinesisStreamSpecification",
28
+ "PointInTimeRecoverySpecification",
29
+ "ReadOnDemandThroughputSettings",
30
+ "ResourcePolicy",
31
+ "SSESpecification",
32
+ ]);
33
+ /**
34
+ * The per-replica global secondary index properties this simulation acts on.
35
+ *
36
+ * A replica does not restate what an index is, only what it is provisioned to
37
+ * read, so the entry names the index and its read capacity and nothing else.
38
+ */
39
+ const simulatedReplicaIndexPropertyNames = new Set([
40
+ "IndexName",
41
+ "ReadProvisionedThroughputSettings",
42
+ ]);
43
+ const unsimulatedReplicaIndexPropertyNames = new Set([
44
+ "ContributorInsightsSpecification",
45
+ "ReadOnDemandThroughputSettings",
46
+ ]);
47
+ /**
48
+ * The read capacity settings this simulation acts on.
49
+ *
50
+ * A fixed `ReadCapacityUnits` is half of the capacity an ordinary table's
51
+ * `ProvisionedThroughput` states. `ReadCapacityAutoScalingSettings` asks for
52
+ * capacity that changes with load, which nothing here changes, so it skips the
53
+ * table rather than being read as the capacity it starts at.
54
+ */
55
+ const simulatedReadCapacityPropertyNames = new Set([
56
+ "ReadCapacityUnits",
57
+ ]);
58
+ const unsimulatedReadCapacityPropertyNames = new Set([
59
+ "ReadCapacityAutoScalingSettings",
60
+ ]);
61
+ /**
62
+ * The rules a `Replicas` entry is read under.
63
+ */
64
+ export function simCfnDynamoDbGlobalTableReplicaRules(logicalId) {
65
+ return new SimCfnDynamoDbPropertyRules({
66
+ resourceTypeName: dynamoDbGlobalTableResourceTypeName,
67
+ logicalId,
68
+ kind: "Replica",
69
+ simulated: simulatedReplicaPropertyNames,
70
+ unsimulated: unsimulatedReplicaPropertyNames,
71
+ });
72
+ }
73
+ /**
74
+ * The rules a replica's `GlobalSecondaryIndexes` entry is read under.
75
+ */
76
+ export function simCfnDynamoDbGlobalTableReplicaIndexRules(logicalId) {
77
+ return new SimCfnDynamoDbPropertyRules({
78
+ resourceTypeName: dynamoDbGlobalTableResourceTypeName,
79
+ logicalId,
80
+ kind: "Replica GlobalSecondaryIndex",
81
+ simulated: simulatedReplicaIndexPropertyNames,
82
+ unsimulated: unsimulatedReplicaIndexPropertyNames,
83
+ });
84
+ }
85
+ /**
86
+ * The rules a `ReadProvisionedThroughputSettings` is read under, on the replica
87
+ * or on one of its global secondary indexes.
88
+ */
89
+ export function simCfnDynamoDbGlobalTableReadCapacityRules(logicalId) {
90
+ return new SimCfnDynamoDbPropertyRules({
91
+ resourceTypeName: dynamoDbGlobalTableResourceTypeName,
92
+ logicalId,
93
+ kind: "ReadProvisionedThroughputSettings",
94
+ simulated: simulatedReadCapacityPropertyNames,
95
+ unsimulated: unsimulatedReadCapacityPropertyNames,
96
+ });
97
+ }
98
+ //# sourceMappingURL=sim-cfn-dynamodb-global-table-replica-rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-dynamodb-global-table-replica-rules.js","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replica-rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC7F,OAAO,EAAE,mCAAmC,EAAE,MAAM,sCAAsC,CAAC;AAE3F;;;;;;GAMG;AACH,MAAM,6BAA6B,GAAwB,IAAI,GAAG,CAAC;IACjE,2BAA2B;IAC3B,wBAAwB;IACxB,mCAAmC;IACnC,QAAQ;IACR,YAAY;IACZ,MAAM;CACP,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,+BAA+B,GAAwB,IAAI,GAAG,CAAC;IACnE,kCAAkC;IAClC,4BAA4B;IAC5B,kCAAkC;IAClC,gCAAgC;IAChC,gBAAgB;IAChB,kBAAkB;CACnB,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,kCAAkC,GAAwB,IAAI,GAAG,CAAC;IACtE,WAAW;IACX,mCAAmC;CACpC,CAAC,CAAC;AAEH,MAAM,oCAAoC,GAAwB,IAAI,GAAG,CAAC;IACxE,kCAAkC;IAClC,gCAAgC;CACjC,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,kCAAkC,GAAwB,IAAI,GAAG,CAAC;IACtE,mBAAmB;CACpB,CAAC,CAAC;AAEH,MAAM,oCAAoC,GAAwB,IAAI,GAAG,CAAC;IACxE,iCAAiC;CAClC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,UAAU,qCAAqC,CACnD,SAAiB;IAEjB,OAAO,IAAI,2BAA2B,CAAC;QACrC,gBAAgB,EAAE,mCAAmC;QACrD,SAAS;QACT,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,6BAA6B;QACxC,WAAW,EAAE,+BAA+B;KAC7C,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0CAA0C,CACxD,SAAiB;IAEjB,OAAO,IAAI,2BAA2B,CAAC;QACrC,gBAAgB,EAAE,mCAAmC;QACrD,SAAS;QACT,IAAI,EAAE,8BAA8B;QACpC,SAAS,EAAE,kCAAkC;QAC7C,WAAW,EAAE,oCAAoC;KAClD,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0CAA0C,CACxD,SAAiB;IAEjB,OAAO,IAAI,2BAA2B,CAAC;QACrC,gBAAgB,EAAE,mCAAmC;QACrD,SAAS;QACT,IAAI,EAAE,mCAAmC;QACzC,SAAS,EAAE,kCAAkC;QAC7C,WAAW,EAAE,oCAAoC;KAClD,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,48 @@
1
+ import type { SimCfnDynamoDbPropertyValues } from "../property/sim-cfn-dynamodb-property-values.js";
2
+ interface SimCfnDynamoDbGlobalTableReplicasProperties {
3
+ readonly logicalId: string;
4
+ readonly regionName: string;
5
+ readonly values: SimCfnDynamoDbPropertyValues;
6
+ }
7
+ /**
8
+ * The one replica a global table this simulation can create is made of.
9
+ *
10
+ * A global table naming one replica is an ordinary table in that region,
11
+ * because with one replica that is what it is. CDK's `TableV2` synthesises one
12
+ * for every table it makes, since `renderReplicaTables` always appends the
13
+ * stack's own region, so a table with no `replicas` prop at all arrives here.
14
+ *
15
+ * Two or more replicas is a table that replicates, which is not simulated. That
16
+ * skips the Resource with a reason naming the regions, so the rest of the stack
17
+ * still deploys and the report says which table was left out and why. The line
18
+ * is drawn at the replica count rather than at the Resource type because that
19
+ * is where the behaviour actually differs.
20
+ */
21
+ export declare class SimCfnDynamoDbGlobalTableReplicas {
22
+ private readonly logicalId;
23
+ private readonly regionName;
24
+ private readonly values;
25
+ constructor(properties: SimCfnDynamoDbGlobalTableReplicasProperties);
26
+ /**
27
+ * The single replica this global table is, refusing every other count.
28
+ */
29
+ single(): SimCfnDynamoDbPropertyValues;
30
+ /**
31
+ * Refuse a replica somewhere other than where the stack is deploying.
32
+ *
33
+ * The Resource is created in the Account and Region the stack deploys into,
34
+ * which is the only place a simulated table can appear. Real CloudFormation
35
+ * requires the replica list to include the stack's own region, so a template
36
+ * naming one region and deploying into another is one it refuses as well.
37
+ */
38
+ private assertOwnRegion;
39
+ /**
40
+ * The refusal that skips a global table which genuinely replicates.
41
+ *
42
+ * The "Unsupported sim ... CloudFormation" wording is what marks the Resource
43
+ * as skipped rather than failing the stack.
44
+ */
45
+ private replicatedError;
46
+ }
47
+ export {};
48
+ //# sourceMappingURL=sim-cfn-dynamodb-global-table-replicas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-dynamodb-global-table-replicas.d.ts","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replicas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAC;AAEpG,UAAU,2CAA2C;IACnD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,4BAA4B,CAAC;CAC/C;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,iCAAiC;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;IAEtD,YAAY,UAAU,EAAE,2CAA2C,EAIlE;IAED;;OAEG;IACH,MAAM,IAAI,4BAA4B,CAoBrC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IAgBvB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;CAgBxB"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * The one replica a global table this simulation can create is made of.
3
+ *
4
+ * A global table naming one replica is an ordinary table in that region,
5
+ * because with one replica that is what it is. CDK's `TableV2` synthesises one
6
+ * for every table it makes, since `renderReplicaTables` always appends the
7
+ * stack's own region, so a table with no `replicas` prop at all arrives here.
8
+ *
9
+ * Two or more replicas is a table that replicates, which is not simulated. That
10
+ * skips the Resource with a reason naming the regions, so the rest of the stack
11
+ * still deploys and the report says which table was left out and why. The line
12
+ * is drawn at the replica count rather than at the Resource type because that
13
+ * is where the behaviour actually differs.
14
+ */
15
+ export class SimCfnDynamoDbGlobalTableReplicas {
16
+ logicalId;
17
+ regionName;
18
+ values;
19
+ constructor(properties) {
20
+ this.logicalId = properties.logicalId;
21
+ this.regionName = properties.regionName;
22
+ this.values = properties.values;
23
+ }
24
+ /**
25
+ * The single replica this global table is, refusing every other count.
26
+ */
27
+ single() {
28
+ const replicas = this.values.list("Replicas");
29
+ if (replicas.length > 1) {
30
+ throw this.replicatedError(replicas);
31
+ }
32
+ const replica = replicas.at(0);
33
+ if (replica === undefined) {
34
+ throw this.values.error("Replicas must name at least one region, since a global table with " +
35
+ "no replica is a table in no region, and real CloudFormation " +
36
+ "refuses that template too");
37
+ }
38
+ this.assertOwnRegion(replica);
39
+ return replica;
40
+ }
41
+ /**
42
+ * Refuse a replica somewhere other than where the stack is deploying.
43
+ *
44
+ * The Resource is created in the Account and Region the stack deploys into,
45
+ * which is the only place a simulated table can appear. Real CloudFormation
46
+ * requires the replica list to include the stack's own region, so a template
47
+ * naming one region and deploying into another is one it refuses as well.
48
+ */
49
+ assertOwnRegion(replica) {
50
+ const region = replica.string("Region");
51
+ if (region === undefined) {
52
+ throw this.values.error("Replicas.0.Region is required");
53
+ }
54
+ if (region !== this.regionName) {
55
+ throw this.values.error(`Replicas.0.Region is ${region}, and the stack is deploying into ` +
56
+ `${this.regionName}, so the replica list does not include the ` +
57
+ `region the table would be created in`);
58
+ }
59
+ }
60
+ /**
61
+ * The refusal that skips a global table which genuinely replicates.
62
+ *
63
+ * The "Unsupported sim ... CloudFormation" wording is what marks the Resource
64
+ * as skipped rather than failing the stack.
65
+ */
66
+ replicatedError(replicas) {
67
+ const regions = replicas
68
+ .map((replica, index) => {
69
+ return replica.string("Region") ?? `Replicas.${index.toString()}`;
70
+ })
71
+ .join(", ");
72
+ return new Error(`Unsupported sim DynamoDB CloudFormation Resource ${this.logicalId}: ` +
73
+ `Replicas names ${regions}, and replicating a table between regions ` +
74
+ `is not simulated, so the global table is skipped rather than ` +
75
+ `created as an ordinary table in one of them`);
76
+ }
77
+ }
78
+ //# sourceMappingURL=sim-cfn-dynamodb-global-table-replicas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-dynamodb-global-table-replicas.js","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replicas.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,iCAAiC;IAC3B,SAAS,CAAS;IAClB,UAAU,CAAS;IACnB,MAAM,CAA+B;IAEtD,YAAY,UAAuD;QACjE,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE9C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE/B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CACrB,oEAAoE;gBAClE,8DAA8D;gBAC9D,2BAA2B,CAC9B,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAE9B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;OAOG;IACK,eAAe,CAAC,OAAqC;QAC3D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAExC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,MAAM,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CACrB,wBAAwB,MAAM,oCAAoC;gBAChE,GAAG,IAAI,CAAC,UAAU,6CAA6C;gBAC/D,sCAAsC,CACzC,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,eAAe,CACrB,QAAiD;QAEjD,MAAM,OAAO,GAAG,QAAQ;aACrB,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YACtB,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,YAAY,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;QACpE,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,OAAO,IAAI,KAAK,CACd,oDAAoD,IAAI,CAAC,SAAS,IAAI;YACpE,kBAAkB,OAAO,4CAA4C;YACrE,+DAA+D;YAC/D,6CAA6C,CAChD,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,53 @@
1
+ import { MappedFactory } from "@kensio/part-factory";
2
+ import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
3
+ /**
4
+ * What a test asks for when it wants an `AWS::DynamoDB::GlobalTable` Resource.
5
+ *
6
+ * A global table is an ordinary table plus the regions it replicates to, so
7
+ * this takes what the table Resource builder takes and adds the replicas.
8
+ * `properties` and `replicaProperties` are what the template says beyond that,
9
+ * and each is applied last where it belongs, so a test that needs one property
10
+ * states that one property rather than the whole Resource.
11
+ */
12
+ export interface SimCfnDynamoDbGlobalTableResourceInput {
13
+ /**
14
+ * The name the template gives the table, where nothing leaves `TableName`
15
+ * out, as CDK does for a table it lets CloudFormation name.
16
+ */
17
+ readonly tableName: string | undefined;
18
+ readonly partitionKeyName: string;
19
+ readonly partitionKeyType: string;
20
+ /**
21
+ * The sort key the table has, where nothing gives it a partition key alone.
22
+ */
23
+ readonly sortKeyName: string | undefined;
24
+ readonly sortKeyType: string;
25
+ readonly billingMode: string;
26
+ /**
27
+ * The regions the table replicates to, which is the region the stack is in
28
+ * for a `TableV2` that asked for no replicas at all.
29
+ */
30
+ readonly replicaRegions: readonly string[];
31
+ readonly replicaProperties: SimCfnTemplateValueRecord;
32
+ readonly properties: SimCfnTemplateValueRecord;
33
+ }
34
+ /**
35
+ * Builds the `AWS::DynamoDB::GlobalTable` Resource a template carries.
36
+ *
37
+ * ```typescript
38
+ * template: {
39
+ * Resources: {
40
+ * OrdersTable: simCfnDynamoDbGlobalTableResourceFactory.make({
41
+ * tableName: "orders",
42
+ * replicaProperties: { TableClass: "STANDARD_INFREQUENT_ACCESS" },
43
+ * }),
44
+ * },
45
+ * }
46
+ * ```
47
+ *
48
+ * Nothing here decides what a property is allowed to be. The Resource is
49
+ * deployed through the ordinary CloudFormation path, so a value this builds is
50
+ * checked by the same CreateTable rules an SDK caller's table is.
51
+ */
52
+ export declare const simCfnDynamoDbGlobalTableResourceFactory: MappedFactory<SimCfnDynamoDbGlobalTableResourceInput, SimCfnTemplateValueRecord, undefined>;
53
+ //# sourceMappingURL=sim-cfn-dynamodb-global-table-resource.factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-dynamodb-global-table-resource.factory.d.ts","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-resource.factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAIlH;;;;;;;;GAQG;AACH,MAAM,WAAW,sCAAsC;IACrD;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;IACtD,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;CAChD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,wCAAwC,6FA4BpD,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { MappedFactory } from "@kensio/part-factory";
2
+ import { DEFAULT_SIM_AWS_REGION_NAME } from "../../../aws/sim-aws-region.js";
3
+ import { simCfnDynamoDbTableKeyProperties } from "../table/sim-cfn-dynamodb-table-key-properties.js";
4
+ import { simCfnDynamoDbTableNameProperty } from "../table/sim-cfn-dynamodb-table-resource.factory.js";
5
+ /**
6
+ * Builds the `AWS::DynamoDB::GlobalTable` Resource a template carries.
7
+ *
8
+ * ```typescript
9
+ * template: {
10
+ * Resources: {
11
+ * OrdersTable: simCfnDynamoDbGlobalTableResourceFactory.make({
12
+ * tableName: "orders",
13
+ * replicaProperties: { TableClass: "STANDARD_INFREQUENT_ACCESS" },
14
+ * }),
15
+ * },
16
+ * }
17
+ * ```
18
+ *
19
+ * Nothing here decides what a property is allowed to be. The Resource is
20
+ * deployed through the ordinary CloudFormation path, so a value this builds is
21
+ * checked by the same CreateTable rules an SDK caller's table is.
22
+ */
23
+ export const simCfnDynamoDbGlobalTableResourceFactory = new MappedFactory(() => ({
24
+ tableName: undefined,
25
+ partitionKeyName: "id",
26
+ partitionKeyType: "S",
27
+ sortKeyName: undefined,
28
+ sortKeyType: "S",
29
+ billingMode: "PAY_PER_REQUEST",
30
+ replicaRegions: [DEFAULT_SIM_AWS_REGION_NAME],
31
+ replicaProperties: {},
32
+ properties: {},
33
+ }), (input) => ({
34
+ Type: "AWS::DynamoDB::GlobalTable",
35
+ Properties: {
36
+ ...simCfnDynamoDbTableNameProperty(input.tableName),
37
+ ...simCfnDynamoDbTableKeyProperties(input),
38
+ BillingMode: input.billingMode,
39
+ Replicas: input.replicaRegions.map((region) => ({
40
+ Region: region,
41
+ ...input.replicaProperties,
42
+ })),
43
+ ...input.properties,
44
+ },
45
+ }));
46
+ //# sourceMappingURL=sim-cfn-dynamodb-global-table-resource.factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-dynamodb-global-table-resource.factory.js","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-resource.factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAE7E,OAAO,EAAE,gCAAgC,EAAE,MAAM,mDAAmD,CAAC;AACrG,OAAO,EAAE,+BAA+B,EAAE,MAAM,qDAAqD,CAAC;AAoCtG;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAG,IAAI,aAAa,CAIvE,GAAG,EAAE,CAAC,CAAC;IACL,SAAS,EAAE,SAAS;IACpB,gBAAgB,EAAE,IAAI;IACtB,gBAAgB,EAAE,GAAG;IACrB,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,GAAG;IAChB,WAAW,EAAE,iBAAiB;IAC9B,cAAc,EAAE,CAAC,2BAA2B,CAAC;IAC7C,iBAAiB,EAAE,EAAE;IACrB,UAAU,EAAE,EAAE;CACf,CAAC,EACF,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACV,IAAI,EAAE,4BAA4B;IAClC,UAAU,EAAE;QACV,GAAG,+BAA+B,CAAC,KAAK,CAAC,SAAS,CAAC;QACnD,GAAG,gCAAgC,CAAC,KAAK,CAAC;QAC1C,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC9C,MAAM,EAAE,MAAM;YACd,GAAG,KAAK,CAAC,iBAAiB;SAC3B,CAAC,CAAC;QACH,GAAG,KAAK,CAAC,UAAU;KACpB;CACF,CAAC,CACH,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { SimCfnDynamoDbPropertyValues } from "../property/sim-cfn-dynamodb-property-values.js";
2
+ interface SimCfnDynamoDbGlobalTableSimulatedProperties {
3
+ readonly logicalId: string;
4
+ readonly values: SimCfnDynamoDbPropertyValues;
5
+ readonly replica: SimCfnDynamoDbPropertyValues;
6
+ }
7
+ /**
8
+ * Refuse everything an AWS::DynamoDB::GlobalTable asks for and cannot get, at
9
+ * every level a global table nests: the table, its indexes, its stream, the
10
+ * replica, the replica's per-index settings, and the two halves of its
11
+ * capacity.
12
+ *
13
+ * Each level is a set of property names rather than a rule of its own, so what
14
+ * differs between them is which names belong where.
15
+ */
16
+ export declare function assertSimCfnDynamoDbGlobalTableSimulated(properties: SimCfnDynamoDbGlobalTableSimulatedProperties): void;
17
+ export {};
18
+ //# sourceMappingURL=sim-cfn-dynamodb-global-table-simulated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-dynamodb-global-table-simulated.d.ts","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-simulated.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAC;AAcpG,UAAU,4CAA4C;IACpD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,4BAA4B,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,4BAA4B,CAAC;CAChD;AAED;;;;;;;;GAQG;AACH,wBAAgB,wCAAwC,CACtD,UAAU,EAAE,4CAA4C,GACvD,IAAI,CAuBN"}
@@ -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