@kensio/yulin 0.41.0 → 0.42.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 (424) 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-service-factory.d.ts +18 -27
  6. package/dist/service/aws/factory/sim-aws-service-factory.d.ts.map +1 -1
  7. package/dist/service/aws/factory/sim-aws-service-factory.js +26 -27
  8. package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
  9. package/dist/service/aws/sim-aws-account-region-scope.d.ts +5 -0
  10. package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
  11. package/dist/service/aws/sim-aws-account-region-scope.js +6 -0
  12. package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
  13. package/dist/service/aws/sim-aws.d.ts +15 -36
  14. package/dist/service/aws/sim-aws.d.ts.map +1 -1
  15. package/dist/service/aws/sim-aws.js +16 -36
  16. package/dist/service/aws/sim-aws.js.map +1 -1
  17. package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.d.ts.map +1 -1
  18. package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js +2 -0
  19. package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js.map +1 -1
  20. package/dist/service/cloudformation/resource/cfn/ssm/sim-ssm-cfn-value-adapter.d.ts +6 -0
  21. package/dist/service/cloudformation/resource/cfn/ssm/sim-ssm-cfn-value-adapter.d.ts.map +1 -0
  22. package/dist/service/cloudformation/resource/cfn/ssm/sim-ssm-cfn-value-adapter.js +13 -0
  23. package/dist/service/cloudformation/resource/cfn/ssm/sim-ssm-cfn-value-adapter.js.map +1 -0
  24. package/dist/service/cloudformation/resource/cfn/ssm/sim-ssm-parameter-cfn.d.ts +27 -0
  25. package/dist/service/cloudformation/resource/cfn/ssm/sim-ssm-parameter-cfn.d.ts.map +1 -0
  26. package/dist/service/cloudformation/resource/cfn/ssm/sim-ssm-parameter-cfn.js +36 -0
  27. package/dist/service/cloudformation/resource/cfn/ssm/sim-ssm-parameter-cfn.js.map +1 -0
  28. package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-resolver.d.ts.map +1 -1
  29. package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-resolver.js +3 -0
  30. package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-resolver.js.map +1 -1
  31. package/dist/service/cognito/command/authorize/sim-cognito-authorizer.d.ts +36 -0
  32. package/dist/service/cognito/command/authorize/sim-cognito-authorizer.d.ts.map +1 -0
  33. package/dist/service/cognito/command/authorize/sim-cognito-authorizer.js +54 -0
  34. package/dist/service/cognito/command/authorize/sim-cognito-authorizer.js.map +1 -0
  35. package/dist/service/cognito/command/client/list-user-pool-clients.command.d.ts +29 -0
  36. package/dist/service/cognito/command/client/list-user-pool-clients.command.d.ts.map +1 -0
  37. package/dist/service/cognito/command/client/list-user-pool-clients.command.js +2 -0
  38. package/dist/service/cognito/command/client/list-user-pool-clients.command.js.map +1 -0
  39. package/dist/service/cognito/command/client/sim-cognito-list-user-pool-clients.d.ts +30 -0
  40. package/dist/service/cognito/command/client/sim-cognito-list-user-pool-clients.d.ts.map +1 -0
  41. package/dist/service/cognito/command/client/sim-cognito-list-user-pool-clients.js +44 -0
  42. package/dist/service/cognito/command/client/sim-cognito-list-user-pool-clients.js.map +1 -0
  43. package/dist/service/cognito/command/client/sim-cognito-unsimulated-client-options.d.ts +16 -0
  44. package/dist/service/cognito/command/client/sim-cognito-unsimulated-client-options.d.ts.map +1 -0
  45. package/dist/service/cognito/command/client/sim-cognito-unsimulated-client-options.js +28 -0
  46. package/dist/service/cognito/command/client/sim-cognito-unsimulated-client-options.js.map +1 -0
  47. package/dist/service/cognito/command/client/sim-cognito-unsimulated-managed-login.d.ts +23 -0
  48. package/dist/service/cognito/command/client/sim-cognito-unsimulated-managed-login.d.ts.map +1 -0
  49. package/dist/service/cognito/command/client/sim-cognito-unsimulated-managed-login.js +51 -0
  50. package/dist/service/cognito/command/client/sim-cognito-unsimulated-managed-login.js.map +1 -0
  51. package/dist/service/cognito/command/client/sim-cognito-user-pool-client-commands.d.ts +50 -0
  52. package/dist/service/cognito/command/client/sim-cognito-user-pool-client-commands.d.ts.map +1 -0
  53. package/dist/service/cognito/command/client/sim-cognito-user-pool-client-commands.js +75 -0
  54. package/dist/service/cognito/command/client/sim-cognito-user-pool-client-commands.js.map +1 -0
  55. package/dist/service/cognito/command/client/sim-cognito-user-pool-client-view.d.ts +27 -0
  56. package/dist/service/cognito/command/client/sim-cognito-user-pool-client-view.d.ts.map +1 -0
  57. package/dist/service/cognito/command/client/sim-cognito-user-pool-client-view.js +45 -0
  58. package/dist/service/cognito/command/client/sim-cognito-user-pool-client-view.js.map +1 -0
  59. package/dist/service/cognito/command/client/user-pool-client.command.d.ts +97 -0
  60. package/dist/service/cognito/command/client/user-pool-client.command.d.ts.map +1 -0
  61. package/dist/service/cognito/command/client/user-pool-client.command.js +2 -0
  62. package/dist/service/cognito/command/client/user-pool-client.command.js.map +1 -0
  63. package/dist/service/cognito/command/sim-cognito-command.types.d.ts +8 -0
  64. package/dist/service/cognito/command/sim-cognito-command.types.d.ts.map +1 -0
  65. package/dist/service/cognito/command/sim-cognito-command.types.js +2 -0
  66. package/dist/service/cognito/command/sim-cognito-command.types.js.map +1 -0
  67. package/dist/service/cognito/command/sim-cognito-page.d.ts +29 -0
  68. package/dist/service/cognito/command/sim-cognito-page.d.ts.map +1 -0
  69. package/dist/service/cognito/command/sim-cognito-page.js +59 -0
  70. package/dist/service/cognito/command/sim-cognito-page.js.map +1 -0
  71. package/dist/service/cognito/command/sim-cognito-unsimulated-input.d.ts +21 -0
  72. package/dist/service/cognito/command/sim-cognito-unsimulated-input.d.ts.map +1 -0
  73. package/dist/service/cognito/command/sim-cognito-unsimulated-input.js +37 -0
  74. package/dist/service/cognito/command/sim-cognito-unsimulated-input.js.map +1 -0
  75. package/dist/service/cognito/command/user-pool/list-user-pools.command.d.ts +29 -0
  76. package/dist/service/cognito/command/user-pool/list-user-pools.command.d.ts.map +1 -0
  77. package/dist/service/cognito/command/user-pool/list-user-pools.command.js +2 -0
  78. package/dist/service/cognito/command/user-pool/list-user-pools.command.js.map +1 -0
  79. package/dist/service/cognito/command/user-pool/sim-cognito-list-user-pools.d.ts +37 -0
  80. package/dist/service/cognito/command/user-pool/sim-cognito-list-user-pools.d.ts.map +1 -0
  81. package/dist/service/cognito/command/user-pool/sim-cognito-list-user-pools.js +48 -0
  82. package/dist/service/cognito/command/user-pool/sim-cognito-list-user-pools.js.map +1 -0
  83. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-features.d.ts +16 -0
  84. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-features.d.ts.map +1 -0
  85. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-features.js +30 -0
  86. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-features.js.map +1 -0
  87. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-messaging.d.ts +16 -0
  88. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-messaging.d.ts.map +1 -0
  89. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-messaging.js +24 -0
  90. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-messaging.js.map +1 -0
  91. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-options.d.ts +28 -0
  92. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-options.d.ts.map +1 -0
  93. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-options.js +47 -0
  94. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-options.js.map +1 -0
  95. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-commands.d.ts +41 -0
  96. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-commands.d.ts.map +1 -0
  97. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-commands.js +65 -0
  98. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-commands.js.map +1 -0
  99. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-view.d.ts +25 -0
  100. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-view.d.ts.map +1 -0
  101. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-view.js +41 -0
  102. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-view.js.map +1 -0
  103. package/dist/service/cognito/command/user-pool/user-pool.command.d.ts +94 -0
  104. package/dist/service/cognito/command/user-pool/user-pool.command.d.ts.map +1 -0
  105. package/dist/service/cognito/command/user-pool/user-pool.command.js +2 -0
  106. package/dist/service/cognito/command/user-pool/user-pool.command.js.map +1 -0
  107. package/dist/service/cognito/error/sim-cognito.error.d.ts +34 -0
  108. package/dist/service/cognito/error/sim-cognito.error.d.ts.map +1 -0
  109. package/dist/service/cognito/error/sim-cognito.error.js +35 -0
  110. package/dist/service/cognito/error/sim-cognito.error.js.map +1 -0
  111. package/dist/service/cognito/index.d.ts +13 -0
  112. package/dist/service/cognito/index.d.ts.map +1 -0
  113. package/dist/service/cognito/index.js +11 -0
  114. package/dist/service/cognito/index.js.map +1 -0
  115. package/dist/service/cognito/sdk/sim-cognito-sdk-command-router.d.ts +18 -0
  116. package/dist/service/cognito/sdk/sim-cognito-sdk-command-router.d.ts.map +1 -0
  117. package/dist/service/cognito/sdk/sim-cognito-sdk-command-router.js +56 -0
  118. package/dist/service/cognito/sdk/sim-cognito-sdk-command-router.js.map +1 -0
  119. package/dist/service/cognito/sim-cognito-identity-provider.d.ts +81 -0
  120. package/dist/service/cognito/sim-cognito-identity-provider.d.ts.map +1 -0
  121. package/dist/service/cognito/sim-cognito-identity-provider.js +132 -0
  122. package/dist/service/cognito/sim-cognito-identity-provider.js.map +1 -0
  123. package/dist/service/cognito/user-pool/client/sim-cognito-client-secret.d.ts +10 -0
  124. package/dist/service/cognito/user-pool/client/sim-cognito-client-secret.d.ts.map +1 -0
  125. package/dist/service/cognito/user-pool/client/sim-cognito-client-secret.js +22 -0
  126. package/dist/service/cognito/user-pool/client/sim-cognito-client-secret.js.map +1 -0
  127. package/dist/service/cognito/user-pool/client/sim-cognito-explicit-auth-flows.d.ts +23 -0
  128. package/dist/service/cognito/user-pool/client/sim-cognito-explicit-auth-flows.d.ts.map +1 -0
  129. package/dist/service/cognito/user-pool/client/sim-cognito-explicit-auth-flows.js +77 -0
  130. package/dist/service/cognito/user-pool/client/sim-cognito-explicit-auth-flows.js.map +1 -0
  131. package/dist/service/cognito/user-pool/client/sim-cognito-refresh-token-lifetime.d.ts +13 -0
  132. package/dist/service/cognito/user-pool/client/sim-cognito-refresh-token-lifetime.d.ts.map +1 -0
  133. package/dist/service/cognito/user-pool/client/sim-cognito-refresh-token-lifetime.js +28 -0
  134. package/dist/service/cognito/user-pool/client/sim-cognito-refresh-token-lifetime.js.map +1 -0
  135. package/dist/service/cognito/user-pool/client/sim-cognito-token-lifetime-specs.d.ts +29 -0
  136. package/dist/service/cognito/user-pool/client/sim-cognito-token-lifetime-specs.d.ts.map +1 -0
  137. package/dist/service/cognito/user-pool/client/sim-cognito-token-lifetime-specs.js +41 -0
  138. package/dist/service/cognito/user-pool/client/sim-cognito-token-lifetime-specs.js.map +1 -0
  139. package/dist/service/cognito/user-pool/client/sim-cognito-token-lifetime.d.ts +49 -0
  140. package/dist/service/cognito/user-pool/client/sim-cognito-token-lifetime.d.ts.map +1 -0
  141. package/dist/service/cognito/user-pool/client/sim-cognito-token-lifetime.js +66 -0
  142. package/dist/service/cognito/user-pool/client/sim-cognito-token-lifetime.js.map +1 -0
  143. package/dist/service/cognito/user-pool/client/sim-cognito-token-validity.d.ts +41 -0
  144. package/dist/service/cognito/user-pool/client/sim-cognito-token-validity.d.ts.map +1 -0
  145. package/dist/service/cognito/user-pool/client/sim-cognito-token-validity.js +40 -0
  146. package/dist/service/cognito/user-pool/client/sim-cognito-token-validity.js.map +1 -0
  147. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-factory.d.ts +32 -0
  148. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-factory.d.ts.map +1 -0
  149. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-factory.js +44 -0
  150. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-factory.js.map +1 -0
  151. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-id.d.ts +11 -0
  152. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-id.d.ts.map +1 -0
  153. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-id.js +39 -0
  154. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-id.js.map +1 -0
  155. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-store.d.ts +37 -0
  156. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-store.d.ts.map +1 -0
  157. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-store.js +52 -0
  158. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-store.js.map +1 -0
  159. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client.d.ts +50 -0
  160. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client.d.ts.map +1 -0
  161. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client.js +47 -0
  162. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client.js.map +1 -0
  163. package/dist/service/cognito/user-pool/sim-cognito-deletion-protection.d.ts +18 -0
  164. package/dist/service/cognito/user-pool/sim-cognito-deletion-protection.d.ts.map +1 -0
  165. package/dist/service/cognito/user-pool/sim-cognito-deletion-protection.js +31 -0
  166. package/dist/service/cognito/user-pool/sim-cognito-deletion-protection.js.map +1 -0
  167. package/dist/service/cognito/user-pool/sim-cognito-name.d.ts +22 -0
  168. package/dist/service/cognito/user-pool/sim-cognito-name.d.ts.map +1 -0
  169. package/dist/service/cognito/user-pool/sim-cognito-name.js +29 -0
  170. package/dist/service/cognito/user-pool/sim-cognito-name.js.map +1 -0
  171. package/dist/service/cognito/user-pool/sim-cognito-password-policy.d.ts +56 -0
  172. package/dist/service/cognito/user-pool/sim-cognito-password-policy.d.ts.map +1 -0
  173. package/dist/service/cognito/user-pool/sim-cognito-password-policy.js +51 -0
  174. package/dist/service/cognito/user-pool/sim-cognito-password-policy.js.map +1 -0
  175. package/dist/service/cognito/user-pool/sim-cognito-user-pool-arn.d.ts +26 -0
  176. package/dist/service/cognito/user-pool/sim-cognito-user-pool-arn.d.ts.map +1 -0
  177. package/dist/service/cognito/user-pool/sim-cognito-user-pool-arn.js +26 -0
  178. package/dist/service/cognito/user-pool/sim-cognito-user-pool-arn.js.map +1 -0
  179. package/dist/service/cognito/user-pool/sim-cognito-user-pool-factory.d.ts +34 -0
  180. package/dist/service/cognito/user-pool/sim-cognito-user-pool-factory.d.ts.map +1 -0
  181. package/dist/service/cognito/user-pool/sim-cognito-user-pool-factory.js +44 -0
  182. package/dist/service/cognito/user-pool/sim-cognito-user-pool-factory.js.map +1 -0
  183. package/dist/service/cognito/user-pool/sim-cognito-user-pool-id.d.ts +20 -0
  184. package/dist/service/cognito/user-pool/sim-cognito-user-pool-id.d.ts.map +1 -0
  185. package/dist/service/cognito/user-pool/sim-cognito-user-pool-id.js +48 -0
  186. package/dist/service/cognito/user-pool/sim-cognito-user-pool-id.js.map +1 -0
  187. package/dist/service/cognito/user-pool/sim-cognito-user-pool-store.d.ts +36 -0
  188. package/dist/service/cognito/user-pool/sim-cognito-user-pool-store.d.ts.map +1 -0
  189. package/dist/service/cognito/user-pool/sim-cognito-user-pool-store.js +51 -0
  190. package/dist/service/cognito/user-pool/sim-cognito-user-pool-store.js.map +1 -0
  191. package/dist/service/cognito/user-pool/sim-cognito-user-pool.d.ts +65 -0
  192. package/dist/service/cognito/user-pool/sim-cognito-user-pool.d.ts.map +1 -0
  193. package/dist/service/cognito/user-pool/sim-cognito-user-pool.js +71 -0
  194. package/dist/service/cognito/user-pool/sim-cognito-user-pool.js.map +1 -0
  195. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts +23 -4
  196. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts.map +1 -1
  197. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js +22 -9
  198. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js.map +1 -1
  199. package/dist/service/iam/authorize/context/sim-iam-caller-condition-source.d.ts +21 -0
  200. package/dist/service/iam/authorize/context/sim-iam-caller-condition-source.d.ts.map +1 -0
  201. package/dist/service/iam/authorize/context/sim-iam-caller-condition-source.js +2 -0
  202. package/dist/service/iam/authorize/context/sim-iam-caller-condition-source.js.map +1 -0
  203. package/dist/service/kms/command/alias/sim-kms-alias-commands.d.ts +3 -6
  204. package/dist/service/kms/command/alias/sim-kms-alias-commands.d.ts.map +1 -1
  205. package/dist/service/kms/command/alias/sim-kms-alias-commands.js +2 -2
  206. package/dist/service/kms/command/alias/sim-kms-alias-commands.js.map +1 -1
  207. package/dist/service/kms/command/authorize/sim-kms-authorizer.d.ts +16 -3
  208. package/dist/service/kms/command/authorize/sim-kms-authorizer.d.ts.map +1 -1
  209. package/dist/service/kms/command/authorize/sim-kms-authorizer.js +32 -4
  210. package/dist/service/kms/command/authorize/sim-kms-authorizer.js.map +1 -1
  211. package/dist/service/kms/command/crypto/sim-kms-crypto-commands.d.ts +3 -6
  212. package/dist/service/kms/command/crypto/sim-kms-crypto-commands.d.ts.map +1 -1
  213. package/dist/service/kms/command/crypto/sim-kms-crypto-commands.js +2 -2
  214. package/dist/service/kms/command/crypto/sim-kms-crypto-commands.js.map +1 -1
  215. package/dist/service/kms/command/crypto/sim-kms-generate-data-key.d.ts +2 -5
  216. package/dist/service/kms/command/crypto/sim-kms-generate-data-key.d.ts.map +1 -1
  217. package/dist/service/kms/command/crypto/sim-kms-generate-data-key.js +1 -1
  218. package/dist/service/kms/command/crypto/sim-kms-generate-data-key.js.map +1 -1
  219. package/dist/service/kms/command/key/sim-kms-key-commands.d.ts +3 -6
  220. package/dist/service/kms/command/key/sim-kms-key-commands.d.ts.map +1 -1
  221. package/dist/service/kms/command/key/sim-kms-key-commands.js +2 -2
  222. package/dist/service/kms/command/key/sim-kms-key-commands.js.map +1 -1
  223. package/dist/service/kms/command/key/sim-kms-key-lifecycle-commands.d.ts +5 -8
  224. package/dist/service/kms/command/key/sim-kms-key-lifecycle-commands.d.ts.map +1 -1
  225. package/dist/service/kms/command/key/sim-kms-key-lifecycle-commands.js +4 -4
  226. package/dist/service/kms/command/key/sim-kms-key-lifecycle-commands.js.map +1 -1
  227. package/dist/service/kms/command/key/sim-kms-key-policy-commands.d.ts +3 -6
  228. package/dist/service/kms/command/key/sim-kms-key-policy-commands.d.ts.map +1 -1
  229. package/dist/service/kms/command/key/sim-kms-key-policy-commands.js +2 -2
  230. package/dist/service/kms/command/key/sim-kms-key-policy-commands.js.map +1 -1
  231. package/dist/service/kms/command/key/sim-kms-list-keys.d.ts +2 -5
  232. package/dist/service/kms/command/key/sim-kms-list-keys.d.ts.map +1 -1
  233. package/dist/service/kms/command/key/sim-kms-list-keys.js +1 -1
  234. package/dist/service/kms/command/key/sim-kms-list-keys.js.map +1 -1
  235. package/dist/service/kms/command/sim-kms-request-options.d.ts +24 -0
  236. package/dist/service/kms/command/sim-kms-request-options.d.ts.map +1 -0
  237. package/dist/service/kms/command/sim-kms-request-options.js +2 -0
  238. package/dist/service/kms/command/sim-kms-request-options.js.map +1 -0
  239. package/dist/service/kms/index.d.ts +2 -1
  240. package/dist/service/kms/index.d.ts.map +1 -1
  241. package/dist/service/kms/index.js.map +1 -1
  242. package/dist/service/kms/key/sim-kms-caller-account.d.ts +25 -0
  243. package/dist/service/kms/key/sim-kms-caller-account.d.ts.map +1 -0
  244. package/dist/service/kms/key/sim-kms-caller-account.js +27 -0
  245. package/dist/service/kms/key/sim-kms-caller-account.js.map +1 -0
  246. package/dist/service/kms/key/sim-kms-key-factory.d.ts +17 -2
  247. package/dist/service/kms/key/sim-kms-key-factory.d.ts.map +1 -1
  248. package/dist/service/kms/key/sim-kms-key-factory.js +25 -7
  249. package/dist/service/kms/key/sim-kms-key-factory.js.map +1 -1
  250. package/dist/service/kms/key/sim-kms-key-policy.d.ts +14 -0
  251. package/dist/service/kms/key/sim-kms-key-policy.d.ts.map +1 -1
  252. package/dist/service/kms/key/sim-kms-key-policy.js +49 -0
  253. package/dist/service/kms/key/sim-kms-key-policy.js.map +1 -1
  254. package/dist/service/kms/key/sim-kms-key-store.d.ts +5 -1
  255. package/dist/service/kms/key/sim-kms-key-store.d.ts.map +1 -1
  256. package/dist/service/kms/key/sim-kms-key-store.js +7 -3
  257. package/dist/service/kms/key/sim-kms-key-store.js.map +1 -1
  258. package/dist/service/kms/key/sim-kms-via-service.d.ts +37 -0
  259. package/dist/service/kms/key/sim-kms-via-service.d.ts.map +1 -0
  260. package/dist/service/kms/key/sim-kms-via-service.js +50 -0
  261. package/dist/service/kms/key/sim-kms-via-service.js.map +1 -0
  262. package/dist/service/kms/sim-kms.d.ts +1 -4
  263. package/dist/service/kms/sim-kms.d.ts.map +1 -1
  264. package/dist/service/kms/sim-kms.js.map +1 -1
  265. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-metadata-update.d.ts +24 -0
  266. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-metadata-update.d.ts.map +1 -0
  267. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-metadata-update.js +27 -0
  268. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-metadata-update.js.map +1 -0
  269. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-commands.d.ts +1 -1
  270. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-commands.d.ts.map +1 -1
  271. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-commands.js +26 -10
  272. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-commands.js.map +1 -1
  273. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-update-secret.d.ts +6 -6
  274. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-update-secret.d.ts.map +1 -1
  275. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-update-secret.js +21 -19
  276. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-update-secret.js.map +1 -1
  277. package/dist/service/secretsmanager/command/value/sim-secrets-manager-value-commands.d.ts +10 -2
  278. package/dist/service/secretsmanager/command/value/sim-secrets-manager-value-commands.d.ts.map +1 -1
  279. package/dist/service/secretsmanager/command/value/sim-secrets-manager-value-commands.js +19 -5
  280. package/dist/service/secretsmanager/command/value/sim-secrets-manager-value-commands.js.map +1 -1
  281. package/dist/service/secretsmanager/error/sim-secrets-manager.error.d.ts +22 -0
  282. package/dist/service/secretsmanager/error/sim-secrets-manager.error.d.ts.map +1 -1
  283. package/dist/service/secretsmanager/error/sim-secrets-manager.error.js +26 -0
  284. package/dist/service/secretsmanager/error/sim-secrets-manager.error.js.map +1 -1
  285. package/dist/service/secretsmanager/index.d.ts +2 -1
  286. package/dist/service/secretsmanager/index.d.ts.map +1 -1
  287. package/dist/service/secretsmanager/index.js +2 -1
  288. package/dist/service/secretsmanager/index.js.map +1 -1
  289. package/dist/service/secretsmanager/secret/sim-secrets-manager-encrypted-value.d.ts +35 -0
  290. package/dist/service/secretsmanager/secret/sim-secrets-manager-encrypted-value.d.ts.map +1 -0
  291. package/dist/service/secretsmanager/secret/sim-secrets-manager-encrypted-value.js +34 -0
  292. package/dist/service/secretsmanager/secret/sim-secrets-manager-encrypted-value.js.map +1 -0
  293. package/dist/service/secretsmanager/secret/sim-secrets-manager-kms-crypto.d.ts +63 -0
  294. package/dist/service/secretsmanager/secret/sim-secrets-manager-kms-crypto.d.ts.map +1 -0
  295. package/dist/service/secretsmanager/secret/sim-secrets-manager-kms-crypto.js +24 -0
  296. package/dist/service/secretsmanager/secret/sim-secrets-manager-kms-crypto.js.map +1 -0
  297. package/dist/service/secretsmanager/secret/sim-secrets-manager-kms-key-problems.d.ts +17 -0
  298. package/dist/service/secretsmanager/secret/sim-secrets-manager-kms-key-problems.d.ts.map +1 -0
  299. package/dist/service/secretsmanager/secret/sim-secrets-manager-kms-key-problems.js +30 -0
  300. package/dist/service/secretsmanager/secret/sim-secrets-manager-kms-key-problems.js.map +1 -0
  301. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-store.d.ts +21 -0
  302. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-store.d.ts.map +1 -1
  303. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-store.js +29 -0
  304. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-store.js.map +1 -1
  305. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-value.d.ts +16 -4
  306. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-value.d.ts.map +1 -1
  307. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-value.js +40 -11
  308. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-value.js.map +1 -1
  309. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-version.d.ts +7 -3
  310. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-version.d.ts.map +1 -1
  311. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-version.js +4 -0
  312. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-version.js.map +1 -1
  313. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret.d.ts +5 -5
  314. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret.js +5 -5
  315. package/dist/service/secretsmanager/secret/sim-secrets-manager-value-cipher.d.ts +20 -0
  316. package/dist/service/secretsmanager/secret/sim-secrets-manager-value-cipher.d.ts.map +1 -0
  317. package/dist/service/secretsmanager/secret/sim-secrets-manager-value-cipher.js +53 -0
  318. package/dist/service/secretsmanager/secret/sim-secrets-manager-value-cipher.js.map +1 -0
  319. package/dist/service/secretsmanager/secret/sim-secrets-manager-value-encryption.d.ts +45 -0
  320. package/dist/service/secretsmanager/secret/sim-secrets-manager-value-encryption.d.ts.map +1 -0
  321. package/dist/service/secretsmanager/secret/sim-secrets-manager-value-encryption.js +56 -0
  322. package/dist/service/secretsmanager/secret/sim-secrets-manager-value-encryption.js.map +1 -0
  323. package/dist/service/secretsmanager/secret/sim-secrets-manager-version-write.d.ts +37 -0
  324. package/dist/service/secretsmanager/secret/sim-secrets-manager-version-write.d.ts.map +1 -0
  325. package/dist/service/secretsmanager/secret/sim-secrets-manager-version-write.js +2 -0
  326. package/dist/service/secretsmanager/secret/sim-secrets-manager-version-write.js.map +1 -0
  327. package/dist/service/secretsmanager/secret/sim-secrets-manager-version-writer.d.ts +13 -14
  328. package/dist/service/secretsmanager/secret/sim-secrets-manager-version-writer.d.ts.map +1 -1
  329. package/dist/service/secretsmanager/secret/sim-secrets-manager-version-writer.js +14 -7
  330. package/dist/service/secretsmanager/secret/sim-secrets-manager-version-writer.js.map +1 -1
  331. package/dist/service/secretsmanager/sim-secrets-manager.d.ts +7 -0
  332. package/dist/service/secretsmanager/sim-secrets-manager.d.ts.map +1 -1
  333. package/dist/service/secretsmanager/sim-secrets-manager.js +10 -4
  334. package/dist/service/secretsmanager/sim-secrets-manager.js.map +1 -1
  335. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.d.ts +30 -0
  336. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.d.ts.map +1 -0
  337. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.js +48 -0
  338. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.js.map +1 -0
  339. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-properties.d.ts +77 -0
  340. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-properties.d.ts.map +1 -0
  341. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-properties.js +125 -0
  342. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-properties.js.map +1 -0
  343. package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.d.ts +23 -0
  344. package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.d.ts.map +1 -0
  345. package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.js +30 -0
  346. package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.js.map +1 -0
  347. package/dist/service/ssm/command/parameter/parameter.command.d.ts +1 -0
  348. package/dist/service/ssm/command/parameter/parameter.command.d.ts.map +1 -1
  349. package/dist/service/ssm/command/parameter/sim-ssm-get-parameter-commands.d.ts +7 -5
  350. package/dist/service/ssm/command/parameter/sim-ssm-get-parameter-commands.d.ts.map +1 -1
  351. package/dist/service/ssm/command/parameter/sim-ssm-get-parameter-commands.js +19 -8
  352. package/dist/service/ssm/command/parameter/sim-ssm-get-parameter-commands.js.map +1 -1
  353. package/dist/service/ssm/command/parameter/sim-ssm-get-parameters-by-path.d.ts +8 -1
  354. package/dist/service/ssm/command/parameter/sim-ssm-get-parameters-by-path.d.ts.map +1 -1
  355. package/dist/service/ssm/command/parameter/sim-ssm-get-parameters-by-path.js +12 -2
  356. package/dist/service/ssm/command/parameter/sim-ssm-get-parameters-by-path.js.map +1 -1
  357. package/dist/service/ssm/command/parameter/sim-ssm-parameter-read.d.ts +23 -0
  358. package/dist/service/ssm/command/parameter/sim-ssm-parameter-read.d.ts.map +1 -0
  359. package/dist/service/ssm/command/parameter/sim-ssm-parameter-read.js +2 -0
  360. package/dist/service/ssm/command/parameter/sim-ssm-parameter-read.js.map +1 -0
  361. package/dist/service/ssm/command/parameter/sim-ssm-parameter-reader.d.ts +8 -16
  362. package/dist/service/ssm/command/parameter/sim-ssm-parameter-reader.d.ts.map +1 -1
  363. package/dist/service/ssm/command/parameter/sim-ssm-parameter-reader.js +12 -7
  364. package/dist/service/ssm/command/parameter/sim-ssm-parameter-reader.js.map +1 -1
  365. package/dist/service/ssm/command/parameter/sim-ssm-parameter-view.d.ts +5 -1
  366. package/dist/service/ssm/command/parameter/sim-ssm-parameter-view.d.ts.map +1 -1
  367. package/dist/service/ssm/command/parameter/sim-ssm-parameter-view.js +7 -2
  368. package/dist/service/ssm/command/parameter/sim-ssm-parameter-view.js.map +1 -1
  369. package/dist/service/ssm/command/parameter/sim-ssm-put-parameter.d.ts +1 -1
  370. package/dist/service/ssm/command/parameter/sim-ssm-put-parameter.d.ts.map +1 -1
  371. package/dist/service/ssm/command/parameter/sim-ssm-put-parameter.js +4 -2
  372. package/dist/service/ssm/command/parameter/sim-ssm-put-parameter.js.map +1 -1
  373. package/dist/service/ssm/command/parameter/sim-ssm-unsimulated-put-options.d.ts.map +1 -1
  374. package/dist/service/ssm/command/parameter/sim-ssm-unsimulated-put-options.js +0 -1
  375. package/dist/service/ssm/command/parameter/sim-ssm-unsimulated-put-options.js.map +1 -1
  376. package/dist/service/ssm/error/sim-ssm.error.d.ts +11 -0
  377. package/dist/service/ssm/error/sim-ssm.error.d.ts.map +1 -1
  378. package/dist/service/ssm/error/sim-ssm.error.js +13 -0
  379. package/dist/service/ssm/error/sim-ssm.error.js.map +1 -1
  380. package/dist/service/ssm/index.d.ts +3 -1
  381. package/dist/service/ssm/index.d.ts.map +1 -1
  382. package/dist/service/ssm/index.js +3 -1
  383. package/dist/service/ssm/index.js.map +1 -1
  384. package/dist/service/ssm/parameter/sim-ssm-kms-crypto.d.ts +55 -0
  385. package/dist/service/ssm/parameter/sim-ssm-kms-crypto.d.ts.map +1 -0
  386. package/dist/service/ssm/parameter/sim-ssm-kms-crypto.js +20 -0
  387. package/dist/service/ssm/parameter/sim-ssm-kms-crypto.js.map +1 -0
  388. package/dist/service/ssm/parameter/sim-ssm-kms-key-problems.d.ts +12 -0
  389. package/dist/service/ssm/parameter/sim-ssm-kms-key-problems.d.ts.map +1 -0
  390. package/dist/service/ssm/parameter/sim-ssm-kms-key-problems.js +24 -0
  391. package/dist/service/ssm/parameter/sim-ssm-kms-key-problems.js.map +1 -0
  392. package/dist/service/ssm/parameter/sim-ssm-parameter-encryption.d.ts +42 -0
  393. package/dist/service/ssm/parameter/sim-ssm-parameter-encryption.d.ts.map +1 -0
  394. package/dist/service/ssm/parameter/sim-ssm-parameter-encryption.js +52 -0
  395. package/dist/service/ssm/parameter/sim-ssm-parameter-encryption.js.map +1 -0
  396. package/dist/service/ssm/parameter/sim-ssm-parameter-kms.d.ts +43 -0
  397. package/dist/service/ssm/parameter/sim-ssm-parameter-kms.d.ts.map +1 -0
  398. package/dist/service/ssm/parameter/sim-ssm-parameter-kms.js +68 -0
  399. package/dist/service/ssm/parameter/sim-ssm-parameter-kms.js.map +1 -0
  400. package/dist/service/ssm/parameter/sim-ssm-parameter-overwrite.d.ts +34 -0
  401. package/dist/service/ssm/parameter/sim-ssm-parameter-overwrite.d.ts.map +1 -0
  402. package/dist/service/ssm/parameter/sim-ssm-parameter-overwrite.js +48 -0
  403. package/dist/service/ssm/parameter/sim-ssm-parameter-overwrite.js.map +1 -0
  404. package/dist/service/ssm/parameter/sim-ssm-parameter-type.d.ts +9 -5
  405. package/dist/service/ssm/parameter/sim-ssm-parameter-type.d.ts.map +1 -1
  406. package/dist/service/ssm/parameter/sim-ssm-parameter-type.js +17 -13
  407. package/dist/service/ssm/parameter/sim-ssm-parameter-type.js.map +1 -1
  408. package/dist/service/ssm/parameter/sim-ssm-parameter-value.d.ts +19 -3
  409. package/dist/service/ssm/parameter/sim-ssm-parameter-value.d.ts.map +1 -1
  410. package/dist/service/ssm/parameter/sim-ssm-parameter-value.js +22 -4
  411. package/dist/service/ssm/parameter/sim-ssm-parameter-value.js.map +1 -1
  412. package/dist/service/ssm/parameter/sim-ssm-parameter-version.d.ts +7 -1
  413. package/dist/service/ssm/parameter/sim-ssm-parameter-version.d.ts.map +1 -1
  414. package/dist/service/ssm/parameter/sim-ssm-parameter-version.js +2 -0
  415. package/dist/service/ssm/parameter/sim-ssm-parameter-version.js.map +1 -1
  416. package/dist/service/ssm/parameter/sim-ssm-parameter-writer.d.ts +35 -15
  417. package/dist/service/ssm/parameter/sim-ssm-parameter-writer.d.ts.map +1 -1
  418. package/dist/service/ssm/parameter/sim-ssm-parameter-writer.js +31 -45
  419. package/dist/service/ssm/parameter/sim-ssm-parameter-writer.js.map +1 -1
  420. package/dist/service/ssm/sim-ssm.d.ts +13 -0
  421. package/dist/service/ssm/sim-ssm.d.ts.map +1 -1
  422. package/dist/service/ssm/sim-ssm.js +19 -4
  423. package/dist/service/ssm/sim-ssm.js.map +1 -1
  424. package/package.json +6 -1
@@ -0,0 +1,51 @@
1
+ import { SimCognitoInvalidParameterException } from "../error/sim-cognito.error.js";
2
+ const minimumLengthRange = { least: 6, most: 99 };
3
+ const temporaryPasswordValidityDaysRange = { least: 0, most: 365 };
4
+ /**
5
+ * The password policy of one simulated user pool.
6
+ *
7
+ * The defaults are the ones real Cognito applies when a `CreateUserPool`
8
+ * request says nothing about passwords: eight characters, with an uppercase
9
+ * letter, a lowercase letter, a number and a symbol each required. A pool
10
+ * created here therefore rejects the same passwords a pool created with the
11
+ * SDK and no arguments would.
12
+ */
13
+ export class SimCognitoPasswordPolicy {
14
+ minimumLength;
15
+ requiresUppercase;
16
+ requiresLowercase;
17
+ requiresNumbers;
18
+ requiresSymbols;
19
+ temporaryPasswordValidityDays;
20
+ constructor(policy = {}) {
21
+ this.minimumLength = SimCognitoPasswordPolicy.wholeNumberIn("MinimumLength", policy.MinimumLength ?? 8, minimumLengthRange);
22
+ this.requiresUppercase = policy.RequireUppercase ?? true;
23
+ this.requiresLowercase = policy.RequireLowercase ?? true;
24
+ this.requiresNumbers = policy.RequireNumbers ?? true;
25
+ this.requiresSymbols = policy.RequireSymbols ?? true;
26
+ this.temporaryPasswordValidityDays = SimCognitoPasswordPolicy.wholeNumberIn("TemporaryPasswordValidityDays", policy.TemporaryPasswordValidityDays ?? 7, temporaryPasswordValidityDaysRange);
27
+ }
28
+ static wholeNumberIn(field, value, range) {
29
+ if (!Number.isSafeInteger(value) ||
30
+ value < range.least ||
31
+ value > range.most) {
32
+ throw new SimCognitoInvalidParameterException(`PasswordPolicy ${field} must be a whole number between ` +
33
+ `${String(range.least)} and ${String(range.most)}`);
34
+ }
35
+ return value;
36
+ }
37
+ /**
38
+ * The policy as Cognito reports it on the pool.
39
+ */
40
+ toOutput() {
41
+ return {
42
+ MinimumLength: this.minimumLength,
43
+ RequireUppercase: this.requiresUppercase,
44
+ RequireLowercase: this.requiresLowercase,
45
+ RequireNumbers: this.requiresNumbers,
46
+ RequireSymbols: this.requiresSymbols,
47
+ TemporaryPasswordValidityDays: this.temporaryPasswordValidityDays,
48
+ };
49
+ }
50
+ }
51
+ //# sourceMappingURL=sim-cognito-password-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cognito-password-policy.js","sourceRoot":"","sources":["../../../../src/service/cognito/user-pool/sim-cognito-password-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mCAAmC,EAAE,MAAM,+BAA+B,CAAC;AAqCpF,MAAM,kBAAkB,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AAClD,MAAM,kCAAkC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AAEnE;;;;;;;;GAQG;AACH,MAAM,OAAO,wBAAwB;IACnB,aAAa,CAAS;IACtB,iBAAiB,CAAU;IAC3B,iBAAiB,CAAU;IAC3B,eAAe,CAAU;IACzB,eAAe,CAAU;IACzB,6BAA6B,CAAS;IAEtD,YAAY,MAAM,GAAiC,EAAE;QACnD,IAAI,CAAC,aAAa,GAAG,wBAAwB,CAAC,aAAa,CACzD,eAAe,EACf,MAAM,CAAC,aAAa,IAAI,CAAC,EACzB,kBAAkB,CACnB,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC;QACzD,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC;QACzD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC;QACrD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC;QACrD,IAAI,CAAC,6BAA6B,GAAG,wBAAwB,CAAC,aAAa,CACzE,+BAA+B,EAC/B,MAAM,CAAC,6BAA6B,IAAI,CAAC,EACzC,kCAAkC,CACnC,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,aAAa,CAC1B,KAAa,EACb,KAAa,EACb,KAAwD;QAExD,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;YAC5B,KAAK,GAAG,KAAK,CAAC,KAAK;YACnB,KAAK,GAAG,KAAK,CAAC,IAAI,EAClB,CAAC;YACD,MAAM,IAAI,mCAAmC,CAC3C,kBAAkB,KAAK,kCAAkC;gBACvD,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CACrD,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO;YACL,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB;YACxC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB;YACxC,cAAc,EAAE,IAAI,CAAC,eAAe;YACpC,cAAc,EAAE,IAAI,CAAC,eAAe;YACpC,6BAA6B,EAAE,IAAI,CAAC,6BAA6B;SAClE,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,26 @@
1
+ import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
2
+ import type { SimCognitoUserPoolId } from "./sim-cognito-user-pool-id.js";
3
+ /**
4
+ * The part of a user pool ARN that comes before the pool's own id.
5
+ */
6
+ export declare function cognitoUserPoolArnPrefix(accountRegionScope: SimAwsAccountRegionScope): string;
7
+ interface SimCognitoUserPoolArnProperties {
8
+ readonly userPoolId: SimCognitoUserPoolId;
9
+ readonly accountRegionScope: SimAwsAccountRegionScope;
10
+ }
11
+ /**
12
+ * The ARN of one simulated user pool.
13
+ *
14
+ * A pool ARN is the pool id after `userpool/`, and the id already names its
15
+ * region, so the region appears twice:
16
+ * `arn:aws:cognito-idp:eu-west-2:111111111111:userpool/eu-west-2_aBcDeFgHi`.
17
+ * This is the resource every user pool IAM policy is written against,
18
+ * including the policies for app client operations, which have no ARN of
19
+ * their own.
20
+ */
21
+ export declare class SimCognitoUserPoolArn {
22
+ readonly value: string;
23
+ constructor(properties: SimCognitoUserPoolArnProperties);
24
+ }
25
+ export {};
26
+ //# sourceMappingURL=sim-cognito-user-pool-arn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cognito-user-pool-arn.d.ts","sourceRoot":"","sources":["../../../../src/service/cognito/user-pool/sim-cognito-user-pool-arn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAE1E;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,kBAAkB,EAAE,wBAAwB,GAC3C,MAAM,CAIR;AAED,UAAU,+BAA+B;IACvC,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;CACvD;AAED;;;;;;;;;GASG;AACH,qBAAa,qBAAqB;IAChC,SAAgB,KAAK,EAAE,MAAM,CAAC;IAE9B,YAAY,UAAU,EAAE,+BAA+B,EAItD;CACF"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * The part of a user pool ARN that comes before the pool's own id.
3
+ */
4
+ export function cognitoUserPoolArnPrefix(accountRegionScope) {
5
+ const { regionName, accountId } = accountRegionScope;
6
+ return `arn:aws:cognito-idp:${regionName}:${accountId}:userpool/`;
7
+ }
8
+ /**
9
+ * The ARN of one simulated user pool.
10
+ *
11
+ * A pool ARN is the pool id after `userpool/`, and the id already names its
12
+ * region, so the region appears twice:
13
+ * `arn:aws:cognito-idp:eu-west-2:111111111111:userpool/eu-west-2_aBcDeFgHi`.
14
+ * This is the resource every user pool IAM policy is written against,
15
+ * including the policies for app client operations, which have no ARN of
16
+ * their own.
17
+ */
18
+ export class SimCognitoUserPoolArn {
19
+ value;
20
+ constructor(properties) {
21
+ this.value =
22
+ cognitoUserPoolArnPrefix(properties.accountRegionScope) +
23
+ properties.userPoolId;
24
+ }
25
+ }
26
+ //# sourceMappingURL=sim-cognito-user-pool-arn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cognito-user-pool-arn.js","sourceRoot":"","sources":["../../../../src/service/cognito/user-pool/sim-cognito-user-pool-arn.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,kBAA4C;IAE5C,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,kBAAkB,CAAC;IAErD,OAAO,uBAAuB,UAAU,IAAI,SAAS,YAAY,CAAC;AACpE,CAAC;AAOD;;;;;;;;;GASG;AACH,MAAM,OAAO,qBAAqB;IAChB,KAAK,CAAS;IAE9B,YAAY,UAA2C;QACrD,IAAI,CAAC,KAAK;YACR,wBAAwB,CAAC,UAAU,CAAC,kBAAkB,CAAC;gBACvD,UAAU,CAAC,UAAU,CAAC;IAC1B,CAAC;CACF"}
@@ -0,0 +1,34 @@
1
+ import type { SimClock } from "../../../util/clock/sim-clock.js";
2
+ import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
3
+ import { type SimCognitoUserPoolPoliciesType } from "./sim-cognito-password-policy.js";
4
+ import { SimCognitoUserPool } from "./sim-cognito-user-pool.js";
5
+ import type { SimCognitoUserPoolStore } from "./sim-cognito-user-pool-store.js";
6
+ interface SimCognitoUserPoolFactoryProperties {
7
+ readonly accountRegionScope: SimAwsAccountRegionScope;
8
+ readonly pools: SimCognitoUserPoolStore;
9
+ readonly clock: SimClock;
10
+ }
11
+ interface SimCognitoMakeUserPoolProperties {
12
+ readonly name: string | undefined;
13
+ readonly policies?: SimCognitoUserPoolPoliciesType | undefined;
14
+ readonly deletionProtection?: string | undefined;
15
+ }
16
+ /**
17
+ * Builds simulated user pools, including their id, ARN and defaults.
18
+ *
19
+ * Creation has to produce an id carrying the region, an ARN built from that
20
+ * id, a validated name and the password policy defaults, so it happens in one
21
+ * place rather than at each call site that needs a pool.
22
+ */
23
+ export declare class SimCognitoUserPoolFactory {
24
+ private readonly accountRegionScope;
25
+ private readonly pools;
26
+ private readonly clock;
27
+ constructor(properties: SimCognitoUserPoolFactoryProperties);
28
+ /**
29
+ * Make a new pool with no app clients yet.
30
+ */
31
+ make(properties: SimCognitoMakeUserPoolProperties): SimCognitoUserPool;
32
+ }
33
+ export {};
34
+ //# sourceMappingURL=sim-cognito-user-pool-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cognito-user-pool-factory.d.ts","sourceRoot":"","sources":["../../../../src/service/cognito/user-pool/sim-cognito-user-pool-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAG1F,OAAO,EAEL,KAAK,8BAA8B,EACpC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,UAAU,mCAAmC;IAC3C,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;IACtD,QAAQ,CAAC,KAAK,EAAE,uBAAuB,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;CAC1B;AAED,UAAU,gCAAgC;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,8BAA8B,GAAG,SAAS,CAAC;IAC/D,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClD;AAED;;;;;;GAMG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2B;IAC9D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0B;IAChD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IAEjC,YAAY,UAAU,EAAE,mCAAmC,EAI1D;IAED;;OAEG;IACH,IAAI,CAAC,UAAU,EAAE,gCAAgC,GAAG,kBAAkB,CAwBrE;CACF"}
@@ -0,0 +1,44 @@
1
+ import { SimCognitoDeletionProtection } from "./sim-cognito-deletion-protection.js";
2
+ import { SimCognitoName } from "./sim-cognito-name.js";
3
+ import { SimCognitoPasswordPolicy, } from "./sim-cognito-password-policy.js";
4
+ import { SimCognitoUserPool } from "./sim-cognito-user-pool.js";
5
+ import { SimCognitoUserPoolArn } from "./sim-cognito-user-pool-arn.js";
6
+ import { makeSimCognitoUserPoolId } from "./sim-cognito-user-pool-id.js";
7
+ /**
8
+ * Builds simulated user pools, including their id, ARN and defaults.
9
+ *
10
+ * Creation has to produce an id carrying the region, an ARN built from that
11
+ * id, a validated name and the password policy defaults, so it happens in one
12
+ * place rather than at each call site that needs a pool.
13
+ */
14
+ export class SimCognitoUserPoolFactory {
15
+ accountRegionScope;
16
+ pools;
17
+ clock;
18
+ constructor(properties) {
19
+ this.accountRegionScope = properties.accountRegionScope;
20
+ this.pools = properties.pools;
21
+ this.clock = properties.clock;
22
+ }
23
+ /**
24
+ * Make a new pool with no app clients yet.
25
+ */
26
+ make(properties) {
27
+ const userPoolId = makeSimCognitoUserPoolId(this.accountRegionScope.regionName, this.pools.ids);
28
+ return new SimCognitoUserPool({
29
+ id: userPoolId,
30
+ arn: new SimCognitoUserPoolArn({
31
+ userPoolId,
32
+ accountRegionScope: this.accountRegionScope,
33
+ }),
34
+ name: new SimCognitoName({
35
+ field: "PoolName",
36
+ value: properties.name,
37
+ }),
38
+ passwordPolicy: new SimCognitoPasswordPolicy(properties.policies?.PasswordPolicy),
39
+ deletionProtection: new SimCognitoDeletionProtection(properties.deletionProtection),
40
+ createdDate: this.clock.now(),
41
+ });
42
+ }
43
+ }
44
+ //# sourceMappingURL=sim-cognito-user-pool-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cognito-user-pool-factory.js","sourceRoot":"","sources":["../../../../src/service/cognito/user-pool/sim-cognito-user-pool-factory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EACL,wBAAwB,GAEzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAezE;;;;;;GAMG;AACH,MAAM,OAAO,yBAAyB;IACnB,kBAAkB,CAA2B;IAC7C,KAAK,CAA0B;IAC/B,KAAK,CAAW;IAEjC,YAAY,UAA+C;QACzD,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC;QACxD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,UAA4C;QAC/C,MAAM,UAAU,GAAG,wBAAwB,CACzC,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAClC,IAAI,CAAC,KAAK,CAAC,GAAG,CACf,CAAC;QAEF,OAAO,IAAI,kBAAkB,CAAC;YAC5B,EAAE,EAAE,UAAU;YACd,GAAG,EAAE,IAAI,qBAAqB,CAAC;gBAC7B,UAAU;gBACV,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;aAC5C,CAAC;YACF,IAAI,EAAE,IAAI,cAAc,CAAC;gBACvB,KAAK,EAAE,UAAU;gBACjB,KAAK,EAAE,UAAU,CAAC,IAAI;aACvB,CAAC;YACF,cAAc,EAAE,IAAI,wBAAwB,CAC1C,UAAU,CAAC,QAAQ,EAAE,cAAc,CACpC;YACD,kBAAkB,EAAE,IAAI,4BAA4B,CAClD,UAAU,CAAC,kBAAkB,CAC9B;YACD,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;SAC9B,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,20 @@
1
+ import type { Brand } from "../../../util/brand.type.js";
2
+ import type { AwsRegionName } from "../../aws/sim-aws-region.js";
3
+ export type SimCognitoUserPoolId = Brand<string, "SimCognitoUserPoolId">;
4
+ /**
5
+ * Allocate a user pool id for a region.
6
+ *
7
+ * The region is part of the id rather than decoration: SDK code routinely
8
+ * splits a pool id on the underscore to work out which region to talk to, and
9
+ * the hosted issuer URL is built from it the same way.
10
+ */
11
+ export declare function makeSimCognitoUserPoolId(regionName: AwsRegionName, existing?: Set<string>): SimCognitoUserPoolId;
12
+ /**
13
+ * Read a requested user pool id, or refuse a malformed one.
14
+ *
15
+ * Real Cognito validates the id's shape before it looks anything up, so a
16
+ * value that is not a pool id at all fails as a validation error rather than
17
+ * as a missing pool.
18
+ */
19
+ export declare function requireSimCognitoUserPoolId(value: string | undefined): SimCognitoUserPoolId;
20
+ //# sourceMappingURL=sim-cognito-user-pool-id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cognito-user-pool-id.d.ts","sourceRoot":"","sources":["../../../../src/service/cognito/user-pool/sim-cognito-user-pool-id.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAGjE,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;AAczE;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,aAAa,EACzB,QAAQ,cAAoB,GAC3B,oBAAoB,CAatB;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,oBAAoB,CAetB"}
@@ -0,0 +1,48 @@
1
+ import { faker } from "@faker-js/faker";
2
+ import { SimCognitoInvalidParameterException } from "../error/sim-cognito.error.js";
3
+ /**
4
+ * The number of random characters a user pool id carries after its region.
5
+ *
6
+ * Real Cognito ids look like `eu-west-2_aBcDeFgHi`: the region the pool lives
7
+ * in, an underscore, then nine mixed-case alphanumerics.
8
+ */
9
+ const userPoolIdSuffixLength = 9;
10
+ const userPoolIdPattern = /^[\w-]+_[0-9a-zA-Z]+$/u;
11
+ const maxUserPoolIdLength = 55;
12
+ /**
13
+ * Allocate a user pool id for a region.
14
+ *
15
+ * The region is part of the id rather than decoration: SDK code routinely
16
+ * splits a pool id on the underscore to work out which region to talk to, and
17
+ * the hosted issuer URL is built from it the same way.
18
+ */
19
+ export function makeSimCognitoUserPoolId(regionName, existing = new Set()) {
20
+ for (let attempt = 0; attempt < 10; attempt += 1) {
21
+ const userPoolId = `${regionName}_${faker.string.alphanumeric({
22
+ length: userPoolIdSuffixLength,
23
+ })}`;
24
+ if (!existing.has(userPoolId)) {
25
+ return userPoolId;
26
+ }
27
+ }
28
+ /* v8 ignore next -- unlikely to happen in practice */
29
+ throw new Error("Could not allocate unique Cognito user pool id");
30
+ }
31
+ /**
32
+ * Read a requested user pool id, or refuse a malformed one.
33
+ *
34
+ * Real Cognito validates the id's shape before it looks anything up, so a
35
+ * value that is not a pool id at all fails as a validation error rather than
36
+ * as a missing pool.
37
+ */
38
+ export function requireSimCognitoUserPoolId(value) {
39
+ if (value === undefined || value === "") {
40
+ throw new SimCognitoInvalidParameterException("UserPoolId is required: name the pool the request is for");
41
+ }
42
+ if (value.length > maxUserPoolIdLength || !userPoolIdPattern.test(value)) {
43
+ throw new SimCognitoInvalidParameterException(`UserPoolId '${value}' is not a user pool id: ids take the ` +
44
+ `'<region>_<characters>' form, such as 'eu-west-2_aBcDeFgHi'`);
45
+ }
46
+ return value;
47
+ }
48
+ //# sourceMappingURL=sim-cognito-user-pool-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cognito-user-pool-id.js","sourceRoot":"","sources":["../../../../src/service/cognito/user-pool/sim-cognito-user-pool-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGxC,OAAO,EAAE,mCAAmC,EAAE,MAAM,+BAA+B,CAAC;AAIpF;;;;;GAKG;AACH,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAEjC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;AAEnD,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAE/B;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,UAAyB,EACzB,QAAQ,GAAG,IAAI,GAAG,EAAU;IAE5B,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,EAAE,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,GAAG,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC;YAC5D,MAAM,EAAE,sBAAsB;SAC/B,CAAC,EAA0B,CAAC;QAE7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CACzC,KAAyB;IAEzB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,mCAAmC,CAC3C,0DAA0D,CAC3D,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,GAAG,mBAAmB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,mCAAmC,CAC3C,eAAe,KAAK,wCAAwC;YAC1D,6DAA6D,CAChE,CAAC;IACJ,CAAC;IAED,OAAO,KAA6B,CAAC;AACvC,CAAC"}
@@ -0,0 +1,36 @@
1
+ import type { SimCognitoUserPool } from "./sim-cognito-user-pool.js";
2
+ import type { SimCognitoUserPoolId } from "./sim-cognito-user-pool-id.js";
3
+ /**
4
+ * The user pools of one simulated Cognito scope.
5
+ *
6
+ * Pools are keyed by id rather than by name, as real Cognito keys them: two
7
+ * pools may share a name, and only the id ever identifies one.
8
+ */
9
+ export declare class SimCognitoUserPoolStore {
10
+ private readonly pools;
11
+ /**
12
+ * Every pool in this scope, in creation order.
13
+ */
14
+ get all(): readonly SimCognitoUserPool[];
15
+ /**
16
+ * The pool ids already in use, so a new one can avoid them.
17
+ */
18
+ get ids(): Set<string>;
19
+ /**
20
+ * Store a newly created pool.
21
+ */
22
+ add(pool: SimCognitoUserPool): void;
23
+ /**
24
+ * Forget a deleted pool.
25
+ */
26
+ remove(pool: SimCognitoUserPool): void;
27
+ /**
28
+ * Find a pool by id.
29
+ */
30
+ find(userPoolId: SimCognitoUserPoolId): SimCognitoUserPool | undefined;
31
+ /**
32
+ * Resolve a pool by id, or refuse.
33
+ */
34
+ require(userPoolId: SimCognitoUserPoolId): SimCognitoUserPool;
35
+ }
36
+ //# sourceMappingURL=sim-cognito-user-pool-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cognito-user-pool-store.d.ts","sourceRoot":"","sources":["../../../../src/service/cognito/user-pool/sim-cognito-user-pool-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAE1E;;;;;GAKG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyC;IAE/D;;OAEG;IACH,IAAI,GAAG,IAAI,SAAS,kBAAkB,EAAE,CAEvC;IAED;;OAEG;IACH,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAErB;IAED;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAElC;IAED;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAErC;IAED;;OAEG;IACH,IAAI,CAAC,UAAU,EAAE,oBAAoB,GAAG,kBAAkB,GAAG,SAAS,CAErE;IAED;;OAEG;IACH,OAAO,CAAC,UAAU,EAAE,oBAAoB,GAAG,kBAAkB,CAU5D;CACF"}
@@ -0,0 +1,51 @@
1
+ import { SimCognitoResourceNotFoundException } from "../error/sim-cognito.error.js";
2
+ /**
3
+ * The user pools of one simulated Cognito scope.
4
+ *
5
+ * Pools are keyed by id rather than by name, as real Cognito keys them: two
6
+ * pools may share a name, and only the id ever identifies one.
7
+ */
8
+ export class SimCognitoUserPoolStore {
9
+ pools = new Map();
10
+ /**
11
+ * Every pool in this scope, in creation order.
12
+ */
13
+ get all() {
14
+ return this.pools.values().toArray();
15
+ }
16
+ /**
17
+ * The pool ids already in use, so a new one can avoid them.
18
+ */
19
+ get ids() {
20
+ return new Set(this.pools.keys());
21
+ }
22
+ /**
23
+ * Store a newly created pool.
24
+ */
25
+ add(pool) {
26
+ this.pools.set(pool.id, pool);
27
+ }
28
+ /**
29
+ * Forget a deleted pool.
30
+ */
31
+ remove(pool) {
32
+ this.pools.delete(pool.id);
33
+ }
34
+ /**
35
+ * Find a pool by id.
36
+ */
37
+ find(userPoolId) {
38
+ return this.pools.get(userPoolId);
39
+ }
40
+ /**
41
+ * Resolve a pool by id, or refuse.
42
+ */
43
+ require(userPoolId) {
44
+ const found = this.find(userPoolId);
45
+ if (found === undefined) {
46
+ throw new SimCognitoResourceNotFoundException(`User pool ${userPoolId} does not exist.`);
47
+ }
48
+ return found;
49
+ }
50
+ }
51
+ //# sourceMappingURL=sim-cognito-user-pool-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cognito-user-pool-store.js","sourceRoot":"","sources":["../../../../src/service/cognito/user-pool/sim-cognito-user-pool-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mCAAmC,EAAE,MAAM,+BAA+B,CAAC;AAIpF;;;;;GAKG;AACH,MAAM,OAAO,uBAAuB;IACjB,KAAK,GAAG,IAAI,GAAG,EAA8B,CAAC;IAE/D;;OAEG;IACH,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,IAAI,GAAG;QACL,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,IAAwB;QAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAwB;QAC7B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,UAAgC;QACnC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,UAAgC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,mCAAmC,CAC3C,aAAa,UAAU,kBAAkB,CAC1C,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
@@ -0,0 +1,65 @@
1
+ import type { SimCognitoUserPoolClient } from "./client/sim-cognito-user-pool-client.js";
2
+ import type { SimCognitoUserPoolClientId } from "./client/sim-cognito-user-pool-client-id.js";
3
+ import type { SimCognitoDeletionProtection } from "./sim-cognito-deletion-protection.js";
4
+ import type { SimCognitoName } from "./sim-cognito-name.js";
5
+ import type { SimCognitoPasswordPolicy } from "./sim-cognito-password-policy.js";
6
+ import type { SimCognitoUserPoolArn } from "./sim-cognito-user-pool-arn.js";
7
+ import type { SimCognitoUserPoolId } from "./sim-cognito-user-pool-id.js";
8
+ interface SimCognitoUserPoolProperties {
9
+ readonly id: SimCognitoUserPoolId;
10
+ readonly arn: SimCognitoUserPoolArn;
11
+ readonly name: SimCognitoName;
12
+ readonly passwordPolicy: SimCognitoPasswordPolicy;
13
+ readonly deletionProtection: SimCognitoDeletionProtection;
14
+ readonly createdDate: Date;
15
+ }
16
+ /**
17
+ * One simulated Cognito user pool.
18
+ *
19
+ * The pool owns its app clients, because that is where they live on real
20
+ * Cognito: deleting a pool takes its clients with it, and a client id means
21
+ * nothing outside the pool that issued it.
22
+ */
23
+ export declare class SimCognitoUserPool {
24
+ readonly id: SimCognitoUserPoolId;
25
+ readonly arn: SimCognitoUserPoolArn;
26
+ readonly name: string;
27
+ readonly passwordPolicy: SimCognitoPasswordPolicy;
28
+ readonly deletionProtection: SimCognitoDeletionProtection;
29
+ readonly creationDate: Date;
30
+ private readonly clientStore;
31
+ constructor(properties: SimCognitoUserPoolProperties);
32
+ /**
33
+ * When the pool last changed.
34
+ *
35
+ * Nothing can change a pool here, as `UpdateUserPool` is not simulated, so
36
+ * this is its creation date.
37
+ */
38
+ get lastModifiedDate(): Date;
39
+ /**
40
+ * Every app client of this pool, in creation order.
41
+ */
42
+ get clients(): readonly SimCognitoUserPoolClient[];
43
+ /**
44
+ * The app client ids already in use in this pool.
45
+ */
46
+ get clientIds(): Set<string>;
47
+ /**
48
+ * Store a newly created app client.
49
+ */
50
+ addClient(client: SimCognitoUserPoolClient): void;
51
+ /**
52
+ * Forget a deleted app client.
53
+ */
54
+ removeClient(client: SimCognitoUserPoolClient): void;
55
+ /**
56
+ * Find an app client of this pool by id.
57
+ */
58
+ findClient(clientId: string): SimCognitoUserPoolClient | undefined;
59
+ /**
60
+ * Resolve an app client of this pool by id, or refuse.
61
+ */
62
+ requireClient(clientId: SimCognitoUserPoolClientId): SimCognitoUserPoolClient;
63
+ }
64
+ export {};
65
+ //# sourceMappingURL=sim-cognito-user-pool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cognito-user-pool.d.ts","sourceRoot":"","sources":["../../../../src/service/cognito/user-pool/sim-cognito-user-pool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AAE9F,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACzF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAE1E,UAAU,4BAA4B;IACpC,QAAQ,CAAC,EAAE,EAAE,oBAAoB,CAAC;IAClC,QAAQ,CAAC,GAAG,EAAE,qBAAqB,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,wBAAwB,CAAC;IAClD,QAAQ,CAAC,kBAAkB,EAAE,4BAA4B,CAAC;IAC1D,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,qBAAa,kBAAkB;IAC7B,SAAgB,EAAE,EAAE,oBAAoB,CAAC;IACzC,SAAgB,GAAG,EAAE,qBAAqB,CAAC;IAC3C,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,cAAc,EAAE,wBAAwB,CAAC;IACzD,SAAgB,kBAAkB,EAAE,4BAA4B,CAAC;IACjE,SAAgB,YAAY,EAAE,IAAI,CAAC;IAEnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuC;IAEnE,YAAY,UAAU,EAAE,4BAA4B,EAOnD;IAED;;;;;OAKG;IACH,IAAI,gBAAgB,IAAI,IAAI,CAE3B;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,SAAS,wBAAwB,EAAE,CAEjD;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,CAE3B;IAED;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,wBAAwB,GAAG,IAAI,CAEhD;IAED;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,wBAAwB,GAAG,IAAI,CAEnD;IAED;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,wBAAwB,GAAG,SAAS,CAEjE;IAED;;OAEG;IACH,aAAa,CACX,QAAQ,EAAE,0BAA0B,GACnC,wBAAwB,CAE1B;CACF"}
@@ -0,0 +1,71 @@
1
+ import { SimCognitoUserPoolClientStore } from "./client/sim-cognito-user-pool-client-store.js";
2
+ /**
3
+ * One simulated Cognito user pool.
4
+ *
5
+ * The pool owns its app clients, because that is where they live on real
6
+ * Cognito: deleting a pool takes its clients with it, and a client id means
7
+ * nothing outside the pool that issued it.
8
+ */
9
+ export class SimCognitoUserPool {
10
+ id;
11
+ arn;
12
+ name;
13
+ passwordPolicy;
14
+ deletionProtection;
15
+ creationDate;
16
+ clientStore = new SimCognitoUserPoolClientStore();
17
+ constructor(properties) {
18
+ this.id = properties.id;
19
+ this.arn = properties.arn;
20
+ this.name = properties.name.value;
21
+ this.passwordPolicy = properties.passwordPolicy;
22
+ this.deletionProtection = properties.deletionProtection;
23
+ this.creationDate = properties.createdDate;
24
+ }
25
+ /**
26
+ * When the pool last changed.
27
+ *
28
+ * Nothing can change a pool here, as `UpdateUserPool` is not simulated, so
29
+ * this is its creation date.
30
+ */
31
+ get lastModifiedDate() {
32
+ return this.creationDate;
33
+ }
34
+ /**
35
+ * Every app client of this pool, in creation order.
36
+ */
37
+ get clients() {
38
+ return this.clientStore.all;
39
+ }
40
+ /**
41
+ * The app client ids already in use in this pool.
42
+ */
43
+ get clientIds() {
44
+ return this.clientStore.ids;
45
+ }
46
+ /**
47
+ * Store a newly created app client.
48
+ */
49
+ addClient(client) {
50
+ this.clientStore.add(client);
51
+ }
52
+ /**
53
+ * Forget a deleted app client.
54
+ */
55
+ removeClient(client) {
56
+ this.clientStore.remove(client);
57
+ }
58
+ /**
59
+ * Find an app client of this pool by id.
60
+ */
61
+ findClient(clientId) {
62
+ return this.clientStore.find(clientId);
63
+ }
64
+ /**
65
+ * Resolve an app client of this pool by id, or refuse.
66
+ */
67
+ requireClient(clientId) {
68
+ return this.clientStore.require(clientId);
69
+ }
70
+ }
71
+ //# sourceMappingURL=sim-cognito-user-pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cognito-user-pool.js","sourceRoot":"","sources":["../../../../src/service/cognito/user-pool/sim-cognito-user-pool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,6BAA6B,EAAE,MAAM,gDAAgD,CAAC;AAgB/F;;;;;;GAMG;AACH,MAAM,OAAO,kBAAkB;IACb,EAAE,CAAuB;IACzB,GAAG,CAAwB;IAC3B,IAAI,CAAS;IACb,cAAc,CAA2B;IACzC,kBAAkB,CAA+B;IACjD,YAAY,CAAO;IAElB,WAAW,GAAG,IAAI,6BAA6B,EAAE,CAAC;IAEnE,YAAY,UAAwC;QAClD,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC;QAChD,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC;QACxD,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,WAAW,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACH,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAgC;QACxC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,MAAgC;QAC3C,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,QAAgB;QACzB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,aAAa,CACX,QAAoC;QAEpC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;CACF"}
@@ -4,6 +4,7 @@ import type { SimAwsAccountId } from "../../../aws/sim-aws-account.js";
4
4
  import type { SimIamAccountResolver } from "../../registry/sim-iam-account-resolver.js";
5
5
  import type { SimIamConditionValue, SimIamPolicy, SimIamPolicyDocument } from "../../policy/sim-iam-policy.js";
6
6
  import type { SimIamRole, SimIamRoleName } from "../../role/sim-iam-role.js";
7
+ import type { SimIamCallerConditionSource } from "./sim-iam-caller-condition-source.js";
7
8
  import type { SimIamAuthZContext, SimIamAuthZPolicySource, SimIamAuthZPolicySourceType } from "./sim-iam-auth-z-context.js";
8
9
  import type { SimAwsCredentialIdentityResolver } from "../../../aws/caller/sim-aws-caller-resolver.js";
9
10
  import type { SimIamUser, SimIamUsername } from "../../user/sim-iam-user.js";
@@ -29,6 +30,14 @@ export interface SimIamAuthorizationInput {
29
30
  * precedence over supplied values for equivalent keys.
30
31
  */
31
32
  readonly conditionContext?: Readonly<Record<string, SimIamConditionValue>> | undefined;
33
+ /**
34
+ * Condition values the service can only supply once IAM has resolved the
35
+ * caller, such as the Account a KMS request came from.
36
+ *
37
+ * These are combined with the values supplied directly, and IAM-derived
38
+ * values still take precedence over both.
39
+ */
40
+ readonly callerConditions?: SimIamCallerConditionSource | undefined;
32
41
  /**
33
42
  * Simulated request caller.
34
43
  *
@@ -120,12 +129,22 @@ export declare class SimIamAuthZContextBuilder {
120
129
  private ownIdentityPolicySources;
121
130
  /**
122
131
  * Combine service-provided condition values with global values that IAM can
123
- * derive from the resolved caller. AWS:PrincipalArn identifies the IAM
124
- * identity whose policies apply; for temporary Role credentials this is the
125
- * underlying Role ARN, rather than the STS assumed-role session ARN retained
126
- * as the effective caller for diagnostics.
132
+ * derive from the resolved caller.
133
+ *
134
+ * A service supplies values it knows from the request, and values it can
135
+ * only work out once the caller is resolved. IAM's own values are applied
136
+ * last, so nothing a service supplies can overwrite them.
127
137
  */
128
138
  private conditionContext;
139
+ /**
140
+ * The condition values IAM derives from the caller itself.
141
+ *
142
+ * AWS:PrincipalArn identifies the IAM identity whose policies apply; for
143
+ * temporary Role credentials this is the underlying Role ARN, rather than
144
+ * the STS assumed-role session ARN retained as the effective caller for
145
+ * diagnostics.
146
+ */
147
+ private callerDerivedConditions;
129
148
  /**
130
149
  * Convert resource policies supplied by the resource-owning service into
131
150
  * authorization policy sources.
@@ -1 +1 @@
1
- {"version":3,"file":"sim-iam-auth-z-context-builder.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/authorize/context/sim-iam-auth-z-context-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sim-iam-auth-z-context-builder.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/authorize/context/sim-iam-auth-z-context-builder.ts"],"names":[],"mappings":"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"}
@@ -87,21 +87,34 @@ export class SimIamAuthZContextBuilder {
87
87
  }
88
88
  /**
89
89
  * Combine service-provided condition values with global values that IAM can
90
- * derive from the resolved caller. AWS:PrincipalArn identifies the IAM
91
- * identity whose policies apply; for temporary Role credentials this is the
92
- * underlying Role ARN, rather than the STS assumed-role session ARN retained
93
- * as the effective caller for diagnostics.
90
+ * derive from the resolved caller.
91
+ *
92
+ * A service supplies values it knows from the request, and values it can
93
+ * only work out once the caller is resolved. IAM's own values are applied
94
+ * last, so nothing a service supplies can overwrite them.
94
95
  */
95
96
  conditionContext(input, caller) {
96
- const principalArn = caller.identityPolicyArn ?? caller.arn;
97
- if (principalArn === undefined) {
98
- return input.conditionContext ?? {};
99
- }
100
97
  return {
101
98
  ...input.conditionContext,
102
- "aws:PrincipalArn": principalArn,
99
+ ...input.callerConditions?.conditionValuesFor(caller),
100
+ ...this.callerDerivedConditions(caller),
103
101
  };
104
102
  }
103
+ /**
104
+ * The condition values IAM derives from the caller itself.
105
+ *
106
+ * AWS:PrincipalArn identifies the IAM identity whose policies apply; for
107
+ * temporary Role credentials this is the underlying Role ARN, rather than
108
+ * the STS assumed-role session ARN retained as the effective caller for
109
+ * diagnostics.
110
+ */
111
+ callerDerivedConditions(caller) {
112
+ const principalArn = caller.identityPolicyArn ?? caller.arn;
113
+ if (principalArn === undefined) {
114
+ return {};
115
+ }
116
+ return { "aws:PrincipalArn": principalArn };
117
+ }
105
118
  /**
106
119
  * Convert resource policies supplied by the resource-owning service into
107
120
  * authorization policy sources.