@kensio/yulin 1.17.0 → 1.17.1

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 (302) hide show
  1. package/dist/service/acm/certificate/register-sim-acm-certificate.d.ts +41 -0
  2. package/dist/service/acm/certificate/register-sim-acm-certificate.d.ts.map +1 -0
  3. package/dist/service/acm/certificate/register-sim-acm-certificate.js +60 -0
  4. package/dist/service/acm/certificate/register-sim-acm-certificate.js.map +1 -0
  5. package/dist/service/acm/command/request-certificate/request-certificate.handler.d.ts +9 -0
  6. package/dist/service/acm/command/request-certificate/request-certificate.handler.d.ts.map +1 -1
  7. package/dist/service/acm/command/request-certificate/request-certificate.handler.js +18 -1
  8. package/dist/service/acm/command/request-certificate/request-certificate.handler.js.map +1 -1
  9. package/dist/service/acm/sim-acm.d.ts +15 -0
  10. package/dist/service/acm/sim-acm.d.ts.map +1 -1
  11. package/dist/service/acm/sim-acm.js +21 -0
  12. package/dist/service/acm/sim-acm.js.map +1 -1
  13. package/dist/service/cloudformation/cdk/sim-cdk-assembly-selection.d.ts +4 -0
  14. package/dist/service/cloudformation/cdk/sim-cdk-assembly-selection.d.ts.map +1 -1
  15. package/dist/service/cloudformation/cdk/sim-cdk-assembly-selection.js +7 -2
  16. package/dist/service/cloudformation/cdk/sim-cdk-assembly-selection.js.map +1 -1
  17. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.d.ts +1 -1
  18. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.d.ts.map +1 -1
  19. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.js +6 -4
  20. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.js.map +1 -1
  21. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.d.ts +4 -0
  22. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.d.ts.map +1 -1
  23. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.js.map +1 -1
  24. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.d.ts +25 -2
  25. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.d.ts.map +1 -1
  26. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.js +13 -0
  27. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.js.map +1 -1
  28. package/dist/service/cloudformation/index.d.ts +1 -1
  29. package/dist/service/cloudformation/index.d.ts.map +1 -1
  30. package/dist/service/cloudformation/resource/cfn/iam/sim-iam-cfn-value-adapter.d.ts.map +1 -1
  31. package/dist/service/cloudformation/resource/cfn/iam/sim-iam-cfn-value-adapter.js +4 -0
  32. package/dist/service/cloudformation/resource/cfn/iam/sim-iam-cfn-value-adapter.js.map +1 -1
  33. package/dist/service/cloudformation/resource/cfn/iam/sim-iam-user-cfn.d.ts +28 -0
  34. package/dist/service/cloudformation/resource/cfn/iam/sim-iam-user-cfn.d.ts.map +1 -0
  35. package/dist/service/cloudformation/resource/cfn/iam/sim-iam-user-cfn.js +33 -0
  36. package/dist/service/cloudformation/resource/cfn/iam/sim-iam-user-cfn.js.map +1 -0
  37. package/dist/service/cloudformation/resource/resolve/property/sim-cfn-resource-property-resolver.d.ts +6 -0
  38. package/dist/service/cloudformation/resource/resolve/property/sim-cfn-resource-property-resolver.d.ts.map +1 -1
  39. package/dist/service/cloudformation/resource/resolve/property/sim-cfn-resource-property-resolver.js +3 -0
  40. package/dist/service/cloudformation/resource/resolve/property/sim-cfn-resource-property-resolver.js.map +1 -1
  41. package/dist/service/cloudformation/resource/sim-cfn-resource-record.d.ts.map +1 -1
  42. package/dist/service/cloudformation/resource/sim-cfn-resource-record.js +1 -0
  43. package/dist/service/cloudformation/resource/sim-cfn-resource-record.js.map +1 -1
  44. package/dist/service/cloudformation/template/dynamic/make-sim-cfn-dynamic-references.d.ts +1 -0
  45. package/dist/service/cloudformation/template/dynamic/make-sim-cfn-dynamic-references.d.ts.map +1 -1
  46. package/dist/service/cloudformation/template/dynamic/make-sim-cfn-dynamic-references.js +2 -1
  47. package/dist/service/cloudformation/template/dynamic/make-sim-cfn-dynamic-references.js.map +1 -1
  48. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-resolvers.d.ts.map +1 -1
  49. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-resolvers.js +4 -0
  50. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-resolvers.js.map +1 -1
  51. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference.type.d.ts +19 -1
  52. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference.type.d.ts.map +1 -1
  53. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-references.d.ts +6 -0
  54. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-references.d.ts.map +1 -1
  55. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-references.js +9 -3
  56. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-references.js.map +1 -1
  57. package/dist/service/cloudfront/command/create-function/create-function-code-size.d.ts +23 -0
  58. package/dist/service/cloudfront/command/create-function/create-function-code-size.d.ts.map +1 -0
  59. package/dist/service/cloudfront/command/create-function/create-function-code-size.js +33 -0
  60. package/dist/service/cloudfront/command/create-function/create-function-code-size.js.map +1 -0
  61. package/dist/service/cloudfront/command/create-function/create-function.handler.d.ts.map +1 -1
  62. package/dist/service/cloudfront/command/create-function/create-function.handler.js +2 -0
  63. package/dist/service/cloudfront/command/create-function/create-function.handler.js.map +1 -1
  64. package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts +11 -0
  65. package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts.map +1 -1
  66. package/dist/service/cloudfront/error/sim-cloudfront.error.js +13 -0
  67. package/dist/service/cloudfront/error/sim-cloudfront.error.js.map +1 -1
  68. package/dist/service/cloudfront/index.d.ts +1 -1
  69. package/dist/service/cloudfront/index.d.ts.map +1 -1
  70. package/dist/service/cloudfront/index.js +1 -1
  71. package/dist/service/cloudfront/index.js.map +1 -1
  72. package/dist/service/cognito/command/sim-cognito-commands.d.ts +6 -0
  73. package/dist/service/cognito/command/sim-cognito-commands.d.ts.map +1 -1
  74. package/dist/service/cognito/command/sim-cognito-commands.js +22 -6
  75. package/dist/service/cognito/command/sim-cognito-commands.js.map +1 -1
  76. package/dist/service/cognito/error/sim-cognito.error.d.ts +22 -0
  77. package/dist/service/cognito/error/sim-cognito.error.d.ts.map +1 -1
  78. package/dist/service/cognito/error/sim-cognito.error.js +26 -0
  79. package/dist/service/cognito/error/sim-cognito.error.js.map +1 -1
  80. package/dist/service/cognito/index.d.ts +2 -1
  81. package/dist/service/cognito/index.d.ts.map +1 -1
  82. package/dist/service/cognito/index.js +1 -1
  83. package/dist/service/cognito/index.js.map +1 -1
  84. package/dist/service/cognito/sim-cognito-identity-provider.d.ts +24 -0
  85. package/dist/service/cognito/sim-cognito-identity-provider.d.ts.map +1 -1
  86. package/dist/service/cognito/sim-cognito-identity-provider.js +26 -0
  87. package/dist/service/cognito/sim-cognito-identity-provider.js.map +1 -1
  88. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-factory.d.ts +9 -0
  89. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-factory.d.ts.map +1 -1
  90. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-factory.js +2 -2
  91. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-factory.js.map +1 -1
  92. package/dist/service/cognito/user-pool/register-sim-cognito-user-pool-client.d.ts +22 -0
  93. package/dist/service/cognito/user-pool/register-sim-cognito-user-pool-client.d.ts.map +1 -0
  94. package/dist/service/cognito/user-pool/register-sim-cognito-user-pool-client.js +36 -0
  95. package/dist/service/cognito/user-pool/register-sim-cognito-user-pool-client.js.map +1 -0
  96. package/dist/service/cognito/user-pool/register-sim-cognito-user-pool.d.ts +25 -0
  97. package/dist/service/cognito/user-pool/register-sim-cognito-user-pool.d.ts.map +1 -0
  98. package/dist/service/cognito/user-pool/register-sim-cognito-user-pool.js +30 -0
  99. package/dist/service/cognito/user-pool/register-sim-cognito-user-pool.js.map +1 -0
  100. package/dist/service/cognito/user-pool/sim-cognito-registration.types.d.ts +40 -0
  101. package/dist/service/cognito/user-pool/sim-cognito-registration.types.d.ts.map +1 -0
  102. package/dist/service/cognito/user-pool/sim-cognito-registration.types.js +2 -0
  103. package/dist/service/cognito/user-pool/sim-cognito-registration.types.js.map +1 -0
  104. package/dist/service/cognito/user-pool/sim-cognito-registrations.d.ts +34 -0
  105. package/dist/service/cognito/user-pool/sim-cognito-registrations.d.ts.map +1 -0
  106. package/dist/service/cognito/user-pool/sim-cognito-registrations.js +28 -0
  107. package/dist/service/cognito/user-pool/sim-cognito-registrations.js.map +1 -0
  108. package/dist/service/cognito/user-pool/sim-cognito-user-pool-factory.d.ts +9 -0
  109. package/dist/service/cognito/user-pool/sim-cognito-user-pool-factory.d.ts.map +1 -1
  110. package/dist/service/cognito/user-pool/sim-cognito-user-pool-factory.js +3 -2
  111. package/dist/service/cognito/user-pool/sim-cognito-user-pool-factory.js.map +1 -1
  112. package/dist/service/cognito/user-pool/sim-cognito-user-pool-id.d.ts +9 -0
  113. package/dist/service/cognito/user-pool/sim-cognito-user-pool-id.d.ts.map +1 -1
  114. package/dist/service/cognito/user-pool/sim-cognito-user-pool-id.js +18 -0
  115. package/dist/service/cognito/user-pool/sim-cognito-user-pool-id.js.map +1 -1
  116. package/dist/service/cognito/user-pool/sim-cognito-user-pool-store.d.ts +8 -0
  117. package/dist/service/cognito/user-pool/sim-cognito-user-pool-store.d.ts.map +1 -1
  118. package/dist/service/cognito/user-pool/sim-cognito-user-pool-store.js +15 -1
  119. package/dist/service/cognito/user-pool/sim-cognito-user-pool-store.js.map +1 -1
  120. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-attacher.d.ts +40 -0
  121. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-attacher.d.ts.map +1 -0
  122. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-attacher.js +65 -0
  123. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-attacher.js.map +1 -0
  124. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-creator.d.ts +1 -0
  125. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-creator.d.ts.map +1 -1
  126. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-creator.js +5 -0
  127. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-creator.js.map +1 -1
  128. package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-creator.d.ts +11 -20
  129. package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-creator.d.ts.map +1 -1
  130. package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-creator.js +29 -61
  131. package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-creator.js.map +1 -1
  132. package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-properties-parser.d.ts +38 -0
  133. package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-properties-parser.d.ts.map +1 -0
  134. package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-properties-parser.js +79 -0
  135. package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-properties-parser.js.map +1 -0
  136. package/dist/service/iam/cfn/role/sim-cfn-iam-role-properties-parser.d.ts +2 -2
  137. package/dist/service/iam/cfn/role/sim-cfn-iam-role-properties-parser.d.ts.map +1 -1
  138. package/dist/service/iam/cfn/role/sim-cfn-iam-role-properties-parser.js +4 -2
  139. package/dist/service/iam/cfn/role/sim-cfn-iam-role-properties-parser.js.map +1 -1
  140. package/dist/service/iam/cfn/sim-cfn-iam-policies-parser.d.ts +35 -0
  141. package/dist/service/iam/cfn/sim-cfn-iam-policies-parser.d.ts.map +1 -0
  142. package/dist/service/iam/cfn/{role/sim-cfn-iam-role-policies-parser.js → sim-cfn-iam-policies-parser.js} +17 -12
  143. package/dist/service/iam/cfn/sim-cfn-iam-policies-parser.js.map +1 -0
  144. package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.d.ts +11 -0
  145. package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.d.ts.map +1 -1
  146. package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.js +25 -0
  147. package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.js.map +1 -1
  148. package/dist/service/iam/cfn/sim-cfn-iam-resource-factory.d.ts +1 -0
  149. package/dist/service/iam/cfn/sim-cfn-iam-resource-factory.d.ts.map +1 -1
  150. package/dist/service/iam/cfn/sim-cfn-iam-resource-factory.js +6 -0
  151. package/dist/service/iam/cfn/sim-cfn-iam-resource-factory.js.map +1 -1
  152. package/dist/service/iam/cfn/user/sim-cfn-iam-user-creator.d.ts +28 -0
  153. package/dist/service/iam/cfn/user/sim-cfn-iam-user-creator.d.ts.map +1 -0
  154. package/dist/service/iam/cfn/user/sim-cfn-iam-user-creator.js +67 -0
  155. package/dist/service/iam/cfn/user/sim-cfn-iam-user-creator.js.map +1 -0
  156. package/dist/service/iam/cfn/user/sim-cfn-iam-user-deleter.d.ts +26 -0
  157. package/dist/service/iam/cfn/user/sim-cfn-iam-user-deleter.d.ts.map +1 -0
  158. package/dist/service/iam/cfn/user/sim-cfn-iam-user-deleter.js +29 -0
  159. package/dist/service/iam/cfn/user/sim-cfn-iam-user-deleter.js.map +1 -0
  160. package/dist/service/iam/cfn/user/sim-cfn-iam-user-properties-parser.d.ts +38 -0
  161. package/dist/service/iam/cfn/user/sim-cfn-iam-user-properties-parser.d.ts.map +1 -0
  162. package/dist/service/iam/cfn/user/sim-cfn-iam-user-properties-parser.js +80 -0
  163. package/dist/service/iam/cfn/user/sim-cfn-iam-user-properties-parser.js.map +1 -0
  164. package/dist/service/iam/command/sim-iam-command.types.d.ts +3 -0
  165. package/dist/service/iam/command/sim-iam-command.types.d.ts.map +1 -1
  166. package/dist/service/iam/command/user/attach-user-policy/attach-user-policy.command.d.ts +9 -0
  167. package/dist/service/iam/command/user/attach-user-policy/attach-user-policy.command.d.ts.map +1 -0
  168. package/dist/service/iam/command/user/attach-user-policy/attach-user-policy.command.js +2 -0
  169. package/dist/service/iam/command/user/attach-user-policy/attach-user-policy.command.js.map +1 -0
  170. package/dist/service/iam/command/user/attach-user-policy/attach-user-policy.handler.d.ts +30 -0
  171. package/dist/service/iam/command/user/attach-user-policy/attach-user-policy.handler.d.ts.map +1 -0
  172. package/dist/service/iam/command/user/attach-user-policy/attach-user-policy.handler.js +44 -0
  173. package/dist/service/iam/command/user/attach-user-policy/attach-user-policy.handler.js.map +1 -0
  174. package/dist/service/iam/command/user/create-login-profile/create-login-profile.command.d.ts +16 -0
  175. package/dist/service/iam/command/user/create-login-profile/create-login-profile.command.d.ts.map +1 -0
  176. package/dist/service/iam/command/user/create-login-profile/create-login-profile.command.js +2 -0
  177. package/dist/service/iam/command/user/create-login-profile/create-login-profile.command.js.map +1 -0
  178. package/dist/service/iam/command/user/create-login-profile/create-login-profile.handler.d.ts +32 -0
  179. package/dist/service/iam/command/user/create-login-profile/create-login-profile.handler.d.ts.map +1 -0
  180. package/dist/service/iam/command/user/create-login-profile/create-login-profile.handler.js +59 -0
  181. package/dist/service/iam/command/user/create-login-profile/create-login-profile.handler.js.map +1 -0
  182. package/dist/service/iam/command/user/create-user/create-user-record-factory.d.ts.map +1 -1
  183. package/dist/service/iam/command/user/create-user/create-user-record-factory.js +1 -0
  184. package/dist/service/iam/command/user/create-user/create-user-record-factory.js.map +1 -1
  185. package/dist/service/iam/command/user/delete-user/delete-user.command.d.ts +19 -0
  186. package/dist/service/iam/command/user/delete-user/delete-user.command.d.ts.map +1 -0
  187. package/dist/service/iam/command/user/delete-user/delete-user.command.js +2 -0
  188. package/dist/service/iam/command/user/delete-user/delete-user.command.js.map +1 -0
  189. package/dist/service/iam/command/user/delete-user/delete-user.handler.d.ts +34 -0
  190. package/dist/service/iam/command/user/delete-user/delete-user.handler.d.ts.map +1 -0
  191. package/dist/service/iam/command/user/delete-user/delete-user.handler.js +51 -0
  192. package/dist/service/iam/command/user/delete-user/delete-user.handler.js.map +1 -0
  193. package/dist/service/iam/command/user/sim-iam-user-command-handlers.d.ts +15 -0
  194. package/dist/service/iam/command/user/sim-iam-user-command-handlers.d.ts.map +1 -1
  195. package/dist/service/iam/command/user/sim-iam-user-command-handlers.js +36 -0
  196. package/dist/service/iam/command/user/sim-iam-user-command-handlers.js.map +1 -1
  197. package/dist/service/iam/sdk/sim-iam-sdk-command-router.d.ts.map +1 -1
  198. package/dist/service/iam/sdk/sim-iam-sdk-command-router.js +12 -0
  199. package/dist/service/iam/sdk/sim-iam-sdk-command-router.js.map +1 -1
  200. package/dist/service/iam/sim-iam.d.ts +12 -0
  201. package/dist/service/iam/sim-iam.d.ts.map +1 -1
  202. package/dist/service/iam/sim-iam.js +18 -0
  203. package/dist/service/iam/sim-iam.js.map +1 -1
  204. package/dist/service/iam/user/sim-iam-user-login-profile.d.ts +14 -0
  205. package/dist/service/iam/user/sim-iam-user-login-profile.d.ts.map +1 -0
  206. package/dist/service/iam/user/sim-iam-user-login-profile.js +2 -0
  207. package/dist/service/iam/user/sim-iam-user-login-profile.js.map +1 -0
  208. package/dist/service/iam/user/sim-iam-user.d.ts +8 -0
  209. package/dist/service/iam/user/sim-iam-user.d.ts.map +1 -1
  210. package/dist/service/lambda/function/code/sim-lambda-executable-code.d.ts +6 -5
  211. package/dist/service/lambda/function/code/sim-lambda-executable-code.d.ts.map +1 -1
  212. package/dist/service/lambda/function/code/sim-lambda-executable-code.js +7 -6
  213. package/dist/service/lambda/function/code/sim-lambda-executable-code.js.map +1 -1
  214. package/dist/service/lambda/function/invoke/sim-lambda-host-scope.d.ts +11 -3
  215. package/dist/service/lambda/function/invoke/sim-lambda-host-scope.d.ts.map +1 -1
  216. package/dist/service/lambda/function/invoke/sim-lambda-host-scope.js +13 -7
  217. package/dist/service/lambda/function/invoke/sim-lambda-host-scope.js.map +1 -1
  218. package/dist/service/lambda/function/invoke/sim-lambda-process-output.d.ts +104 -0
  219. package/dist/service/lambda/function/invoke/sim-lambda-process-output.d.ts.map +1 -0
  220. package/dist/service/lambda/function/invoke/sim-lambda-process-output.js +133 -0
  221. package/dist/service/lambda/function/invoke/sim-lambda-process-output.js.map +1 -0
  222. package/dist/service/lambda/function/logging/sim-lambda-function-logging.d.ts +10 -0
  223. package/dist/service/lambda/function/logging/sim-lambda-function-logging.d.ts.map +1 -1
  224. package/dist/service/lambda/function/logging/sim-lambda-function-logging.js +11 -0
  225. package/dist/service/lambda/function/logging/sim-lambda-function-logging.js.map +1 -1
  226. package/dist/service/lambda/function/sim-lambda-function.d.ts +2 -1
  227. package/dist/service/lambda/function/sim-lambda-function.d.ts.map +1 -1
  228. package/dist/service/lambda/function/sim-lambda-function.js +5 -2
  229. package/dist/service/lambda/function/sim-lambda-function.js.map +1 -1
  230. package/dist/service/s3/command/get-object/get-object-loader.d.ts +5 -3
  231. package/dist/service/s3/command/get-object/get-object-loader.d.ts.map +1 -1
  232. package/dist/service/s3/command/get-object/get-object-loader.js +19 -4
  233. package/dist/service/s3/command/get-object/get-object-loader.js.map +1 -1
  234. package/dist/service/s3/command/get-object/get-object.command.d.ts +13 -0
  235. package/dist/service/s3/command/get-object/get-object.command.d.ts.map +1 -1
  236. package/dist/service/s3/command/get-object/get-object.handler.d.ts +3 -0
  237. package/dist/service/s3/command/get-object/get-object.handler.d.ts.map +1 -1
  238. package/dist/service/s3/command/get-object/get-object.handler.js +4 -1
  239. package/dist/service/s3/command/get-object/get-object.handler.js.map +1 -1
  240. package/dist/service/s3/error/sim-s3.error.d.ts +13 -0
  241. package/dist/service/s3/error/sim-s3.error.d.ts.map +1 -1
  242. package/dist/service/s3/error/sim-s3.error.js +15 -0
  243. package/dist/service/s3/error/sim-s3.error.js.map +1 -1
  244. package/dist/service/s3/object/s3-object-range.d.ts +26 -0
  245. package/dist/service/s3/object/s3-object-range.d.ts.map +1 -0
  246. package/dist/service/s3/object/s3-object-range.js +89 -0
  247. package/dist/service/s3/object/s3-object-range.js.map +1 -0
  248. package/dist/service/s3/object/s3-object-response-headers.d.ts +7 -1
  249. package/dist/service/s3/object/s3-object-response-headers.d.ts.map +1 -1
  250. package/dist/service/s3/object/s3-object-response-headers.js +5 -1
  251. package/dist/service/s3/object/s3-object-response-headers.js.map +1 -1
  252. package/dist/service/s3/serve/api/sim-s3-api-input.d.ts +0 -14
  253. package/dist/service/s3/serve/api/sim-s3-api-input.d.ts.map +1 -1
  254. package/dist/service/s3/serve/api/sim-s3-api-input.js +0 -29
  255. package/dist/service/s3/serve/api/sim-s3-api-input.js.map +1 -1
  256. package/dist/service/s3/serve/api/sim-s3-api-object-input.d.ts +27 -0
  257. package/dist/service/s3/serve/api/sim-s3-api-object-input.d.ts.map +1 -0
  258. package/dist/service/s3/serve/api/sim-s3-api-object-input.js +47 -0
  259. package/dist/service/s3/serve/api/sim-s3-api-object-input.js.map +1 -0
  260. package/dist/service/s3/serve/api/sim-s3-api-object-output.d.ts +5 -0
  261. package/dist/service/s3/serve/api/sim-s3-api-object-output.d.ts.map +1 -1
  262. package/dist/service/s3/serve/api/sim-s3-api-object-output.js +8 -1
  263. package/dist/service/s3/serve/api/sim-s3-api-object-output.js.map +1 -1
  264. package/dist/service/s3/serve/api/sim-s3-api-object-routes.d.ts.map +1 -1
  265. package/dist/service/s3/serve/api/sim-s3-api-object-routes.js +2 -2
  266. package/dist/service/s3/serve/api/sim-s3-api-object-routes.js.map +1 -1
  267. package/dist/service/s3/serve/sim-s3-rest-object-reader.d.ts +5 -0
  268. package/dist/service/s3/serve/sim-s3-rest-object-reader.d.ts.map +1 -1
  269. package/dist/service/s3/serve/sim-s3-rest-object-reader.js +20 -3
  270. package/dist/service/s3/serve/sim-s3-rest-object-reader.js.map +1 -1
  271. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-dynamic-reference-resolver.d.ts +0 -7
  272. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-dynamic-reference-resolver.d.ts.map +1 -1
  273. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-dynamic-reference-resolver.js +7 -41
  274. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-dynamic-reference-resolver.js.map +1 -1
  275. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-reference-body.d.ts +14 -0
  276. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-reference-body.d.ts.map +1 -0
  277. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-reference-body.js +26 -0
  278. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-reference-body.js.map +1 -0
  279. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-reference-stand-in.d.ts +11 -0
  280. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-reference-stand-in.d.ts.map +1 -0
  281. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-reference-stand-in.js +16 -0
  282. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-reference-stand-in.js.map +1 -0
  283. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-dynamic-reference-resolver.d.ts +40 -0
  284. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-dynamic-reference-resolver.d.ts.map +1 -0
  285. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-dynamic-reference-resolver.js +67 -0
  286. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-dynamic-reference-resolver.js.map +1 -0
  287. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-reference-properties.d.ts +8 -0
  288. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-reference-properties.d.ts.map +1 -0
  289. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-reference-properties.js +61 -0
  290. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-reference-properties.js.map +1 -0
  291. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-refusals.d.ts +19 -0
  292. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-refusals.d.ts.map +1 -0
  293. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-refusals.js +37 -0
  294. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-refusals.js.map +1 -0
  295. package/dist/service/ssm/sim-ssm.d.ts +5 -0
  296. package/dist/service/ssm/sim-ssm.d.ts.map +1 -1
  297. package/dist/service/ssm/sim-ssm.js +7 -0
  298. package/dist/service/ssm/sim-ssm.js.map +1 -1
  299. package/package.json +1 -1
  300. package/dist/service/iam/cfn/role/sim-cfn-iam-role-policies-parser.d.ts +0 -25
  301. package/dist/service/iam/cfn/role/sim-cfn-iam-role-policies-parser.d.ts.map +0 -1
  302. package/dist/service/iam/cfn/role/sim-cfn-iam-role-policies-parser.js.map +0 -1
@@ -0,0 +1,29 @@
1
+ import { assertDefined } from "../../../../util/type-guard/defined.js";
2
+ /**
3
+ * Deletes simulated Users created from AWS::IAM::User Resources.
4
+ *
5
+ * DeleteUser refuses a User that still has policies on it, the way DeleteRole
6
+ * refuses a Role, so the User's policies come off first. Real CloudFormation
7
+ * does the same for the ones it put there itself: a `ManagedPolicyArns` entry
8
+ * is detached and a `Policies` entry removed as part of deleting the User.
9
+ *
10
+ * Sim IAM serves no DeleteUserPolicy or DetachUserPolicy, so both come off the
11
+ * User record here rather than through a command.
12
+ */
13
+ export class SimCfnIamUserDeleter {
14
+ iam;
15
+ constructor(properties) {
16
+ this.iam = properties.iam;
17
+ }
18
+ /**
19
+ * Delete the User a CloudFormation Resource created.
20
+ */
21
+ async delete(resource) {
22
+ const user = resource.simResource;
23
+ assertDefined(user, `sim IAM User for CloudFormation Resource ${resource.logicalId}`);
24
+ user.attachedPolicyArns.clear();
25
+ user.inlinePolicies.clear();
26
+ await this.iam.deleteUser({ input: { UserName: user.userName } });
27
+ }
28
+ }
29
+ //# sourceMappingURL=sim-cfn-iam-user-deleter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-iam-user-deleter.js","sourceRoot":"","sources":["../../../../../src/service/iam/cfn/user/sim-cfn-iam-user-deleter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAMvE;;;;;;;;;;GAUG;AACH,MAAM,OAAO,oBAAoB;IACd,GAAG,CAAS;IAE7B,YAAY,UAA0C;QACpD,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,QAAwB;QACnC,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAqC,CAAC;QAC5D,aAAa,CACX,IAAI,EACJ,4CAA4C,QAAQ,CAAC,SAAS,EAAE,CACjE,CAAC;QAEF,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAE5B,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACpE,CAAC;CACF"}
@@ -0,0 +1,38 @@
1
+ import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
2
+ import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
3
+ import { type SimCfnIamInlinePolicy } from "../sim-cfn-iam-policies-parser.js";
4
+ export interface SimCfnIamUserLoginProfile {
5
+ readonly password: string;
6
+ readonly passwordResetRequired: boolean;
7
+ }
8
+ export interface SimCfnIamUserProperties {
9
+ readonly userName: string;
10
+ readonly path: string | undefined;
11
+ readonly inlinePolicies: readonly SimCfnIamInlinePolicy[];
12
+ readonly managedPolicyArns: readonly string[];
13
+ readonly loginProfile: SimCfnIamUserLoginProfile | undefined;
14
+ }
15
+ /**
16
+ * Parses and validates AWS::IAM::User CloudFormation properties into the shape
17
+ * the sim IAM User creator needs.
18
+ *
19
+ * Keeping the property-shape validation here keeps the creator focused on
20
+ * orchestrating IAM command calls.
21
+ */
22
+ export declare class SimCfnIamUserPropertiesParser {
23
+ private readonly policiesParser;
24
+ /**
25
+ * Parse the resolved CloudFormation properties for an AWS::IAM::User.
26
+ */
27
+ parse(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): SimCfnIamUserProperties;
28
+ /**
29
+ * Group membership is not simulated, and silently dropping it would be
30
+ * misleading, so naming a Group fails the Resource. CDK leaves `Groups` out
31
+ * of the template altogether for a User in no group, so an empty list still
32
+ * deploys.
33
+ */
34
+ private rejectGroups;
35
+ private loginProfile;
36
+ private optionalString;
37
+ }
38
+ //# sourceMappingURL=sim-cfn-iam-user-properties-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-iam-user-properties-parser.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/cfn/user/sim-cfn-iam-user-properties-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAClH,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,mCAAmC,CAAC;AAE3C,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;CACzC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC1D,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,QAAQ,CAAC,YAAY,EAAE,yBAAyB,GAAG,SAAS,CAAC;CAC9D;AAID;;;;;;GAMG;AACH,qBAAa,6BAA6B;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAE5B;IAEH;;OAEG;IACH,KAAK,CACH,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,yBAAyB,GACpC,uBAAuB,CAezB;IAED;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,YAAY;IA6CpB,OAAO,CAAC,cAAc;CAiBvB"}
@@ -0,0 +1,80 @@
1
+ import { SimCfnIamPoliciesParser, } from "../sim-cfn-iam-policies-parser.js";
2
+ const resourceType = "AWS::IAM::User";
3
+ /**
4
+ * Parses and validates AWS::IAM::User CloudFormation properties into the shape
5
+ * the sim IAM User creator needs.
6
+ *
7
+ * Keeping the property-shape validation here keeps the creator focused on
8
+ * orchestrating IAM command calls.
9
+ */
10
+ export class SimCfnIamUserPropertiesParser {
11
+ policiesParser = new SimCfnIamPoliciesParser({
12
+ resourceType,
13
+ });
14
+ /**
15
+ * Parse the resolved CloudFormation properties for an AWS::IAM::User.
16
+ */
17
+ parse(resource, properties) {
18
+ this.rejectGroups(resource, properties);
19
+ return {
20
+ userName: this.optionalString(resource, properties["UserName"], "UserName") ??
21
+ resource.logicalId,
22
+ path: this.optionalString(resource, properties["Path"], "Path"),
23
+ inlinePolicies: this.policiesParser.inlinePolicies(resource, properties),
24
+ managedPolicyArns: this.policiesParser.managedPolicyArns(resource, properties),
25
+ loginProfile: this.loginProfile(resource, properties),
26
+ };
27
+ }
28
+ /**
29
+ * Group membership is not simulated, and silently dropping it would be
30
+ * misleading, so naming a Group fails the Resource. CDK leaves `Groups` out
31
+ * of the template altogether for a User in no group, so an empty list still
32
+ * deploys.
33
+ */
34
+ rejectGroups(resource, properties) {
35
+ const groups = properties["Groups"];
36
+ if (groups === undefined) {
37
+ return;
38
+ }
39
+ if (!Array.isArray(groups)) {
40
+ throw new TypeError(`Invalid ${resourceType} ${resource.logicalId}: Groups must be an array`);
41
+ }
42
+ if (groups.length > 0) {
43
+ throw new TypeError(`Invalid ${resourceType} ${resource.logicalId}: Groups are not simulated`);
44
+ }
45
+ }
46
+ loginProfile(resource, properties) {
47
+ const loginProfile = properties["LoginProfile"];
48
+ if (loginProfile === undefined) {
49
+ return undefined;
50
+ }
51
+ if (typeof loginProfile !== "object" ||
52
+ loginProfile === null ||
53
+ Array.isArray(loginProfile)) {
54
+ throw new TypeError(`Invalid ${resourceType} ${resource.logicalId}: LoginProfile must be an object`);
55
+ }
56
+ const password = loginProfile["Password"];
57
+ if (typeof password !== "string") {
58
+ throw new TypeError(`Invalid ${resourceType} ${resource.logicalId}: LoginProfile Password must be a string`);
59
+ }
60
+ const passwordResetRequired = loginProfile["PasswordResetRequired"];
61
+ if (passwordResetRequired !== undefined &&
62
+ typeof passwordResetRequired !== "boolean") {
63
+ throw new TypeError(`Invalid ${resourceType} ${resource.logicalId}: LoginProfile PasswordResetRequired must be a boolean`);
64
+ }
65
+ return {
66
+ password,
67
+ passwordResetRequired: passwordResetRequired ?? false,
68
+ };
69
+ }
70
+ optionalString(resource, value, label) {
71
+ if (value === undefined) {
72
+ return undefined;
73
+ }
74
+ if (typeof value !== "string") {
75
+ throw new TypeError(`Invalid ${resourceType} ${resource.logicalId}: ${label} must be a string`);
76
+ }
77
+ return value;
78
+ }
79
+ }
80
+ //# sourceMappingURL=sim-cfn-iam-user-properties-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-iam-user-properties-parser.js","sourceRoot":"","sources":["../../../../../src/service/iam/cfn/user/sim-cfn-iam-user-properties-parser.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,uBAAuB,GAExB,MAAM,mCAAmC,CAAC;AAe3C,MAAM,YAAY,GAAG,gBAAgB,CAAC;AAEtC;;;;;;GAMG;AACH,MAAM,OAAO,6BAA6B;IACvB,cAAc,GAAG,IAAI,uBAAuB,CAAC;QAC5D,YAAY;KACb,CAAC,CAAC;IAEH;;OAEG;IACH,KAAK,CACH,QAAwB,EACxB,UAAqC;QAErC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAExC,OAAO;YACL,QAAQ,EACN,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;gBACjE,QAAQ,CAAC,SAAS;YACpB,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;YAC/D,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC;YACxE,iBAAiB,EAAE,IAAI,CAAC,cAAc,CAAC,iBAAiB,CACtD,QAAQ,EACR,UAAU,CACX;YACD,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC;SACtD,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,YAAY,CAClB,QAAwB,EACxB,UAAqC;QAErC,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QAEpC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,SAAS,CACjB,WAAW,YAAY,IAAI,QAAQ,CAAC,SAAS,2BAA2B,CACzE,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,SAAS,CACjB,WAAW,YAAY,IAAI,QAAQ,CAAC,SAAS,4BAA4B,CAC1E,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,YAAY,CAClB,QAAwB,EACxB,UAAqC;QAErC,MAAM,YAAY,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;QAEhD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IACE,OAAO,YAAY,KAAK,QAAQ;YAChC,YAAY,KAAK,IAAI;YACrB,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAC3B,CAAC;YACD,MAAM,IAAI,SAAS,CACjB,WAAW,YAAY,IAAI,QAAQ,CAAC,SAAS,kCAAkC,CAChF,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;QAE1C,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,IAAI,SAAS,CACjB,WAAW,YAAY,IAAI,QAAQ,CAAC,SAAS,0CAA0C,CACxF,CAAC;QACJ,CAAC;QAED,MAAM,qBAAqB,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAAC;QAEpE,IACE,qBAAqB,KAAK,SAAS;YACnC,OAAO,qBAAqB,KAAK,SAAS,EAC1C,CAAC;YACD,MAAM,IAAI,SAAS,CACjB,WAAW,YAAY,IAAI,QAAQ,CAAC,SAAS,wDAAwD,CACtG,CAAC;QACJ,CAAC;QAED,OAAO;YACL,QAAQ;YACR,qBAAqB,EAAE,qBAAqB,IAAI,KAAK;SACtD,CAAC;IACJ,CAAC;IAEO,cAAc,CACpB,QAAwB,EACxB,KAAoD,EACpD,KAAa;QAEb,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,SAAS,CACjB,WAAW,YAAY,IAAI,QAAQ,CAAC,SAAS,KAAK,KAAK,mBAAmB,CAC3E,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
@@ -17,6 +17,9 @@ export type { SimDeleteRoleCommand, SimDeleteRoleCommandOutput, } from "./role/d
17
17
  export type { SimDetachRolePolicyCommand, SimDetachRolePolicyCommandOutput, } from "./role/detach-role-policy/detach-role-policy.command.js";
18
18
  export type { SimGetRoleCommand, SimGetRoleCommandOutput, } from "./role/get-role/get-role.command.js";
19
19
  export type { SimListRolesCommand, SimListRolesCommandOutput, } from "./role/list-roles/list-roles.command.js";
20
+ export type { SimAttachUserPolicyCommand, SimAttachUserPolicyCommandOutput, } from "./user/attach-user-policy/attach-user-policy.command.js";
20
21
  export type { SimCreateAccessKeyCommand, SimCreateAccessKeyCommandOutput, } from "./user/create-access-key/create-access-key.command.js";
22
+ export type { SimCreateLoginProfileCommand, SimCreateLoginProfileCommandOutput, } from "./user/create-login-profile/create-login-profile.command.js";
21
23
  export type { SimCreateUserCommand, SimCreateUserCommandOutput, } from "./user/create-user/create-user.command.js";
24
+ export type { SimDeleteUserCommand, SimDeleteUserCommandOutput, } from "./user/delete-user/delete-user.command.js";
22
25
  //# sourceMappingURL=sim-iam-command.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-iam-command.types.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/command/sim-iam-command.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,EACV,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,iDAAiD,CAAC;AACzD,YAAY,EACV,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,iDAAiD,CAAC;AACzD,YAAY,EACV,0BAA0B,EAC1B,gCAAgC,GACjC,MAAM,2DAA2D,CAAC;AACnE,YAAY,EACV,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,2CAA2C,CAAC;AACnD,YAAY,EACV,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,iDAAiD,CAAC;AACzD,YAAY,EACV,uBAAuB,EACvB,6BAA6B,GAC9B,MAAM,qDAAqD,CAAC;AAC7D,YAAY,EACV,uBAAuB,EACvB,6BAA6B,GAC9B,MAAM,qDAAqD,CAAC;AAC7D,YAAY,EACV,0BAA0B,EAC1B,gCAAgC,GACjC,MAAM,yDAAyD,CAAC;AACjE,YAAY,EACV,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,2CAA2C,CAAC;AACnD,YAAY,EACV,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,2CAA2C,CAAC;AACnD,YAAY,EACV,0BAA0B,EAC1B,gCAAgC,GACjC,MAAM,yDAAyD,CAAC;AACjE,YAAY,EACV,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EACV,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,yCAAyC,CAAC;AACjD,YAAY,EACV,yBAAyB,EACzB,+BAA+B,GAChC,MAAM,uDAAuD,CAAC;AAC/D,YAAY,EACV,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,2CAA2C,CAAC"}
1
+ {"version":3,"file":"sim-iam-command.types.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/command/sim-iam-command.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,EACV,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,iDAAiD,CAAC;AACzD,YAAY,EACV,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,iDAAiD,CAAC;AACzD,YAAY,EACV,0BAA0B,EAC1B,gCAAgC,GACjC,MAAM,2DAA2D,CAAC;AACnE,YAAY,EACV,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,2CAA2C,CAAC;AACnD,YAAY,EACV,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,iDAAiD,CAAC;AACzD,YAAY,EACV,uBAAuB,EACvB,6BAA6B,GAC9B,MAAM,qDAAqD,CAAC;AAC7D,YAAY,EACV,uBAAuB,EACvB,6BAA6B,GAC9B,MAAM,qDAAqD,CAAC;AAC7D,YAAY,EACV,0BAA0B,EAC1B,gCAAgC,GACjC,MAAM,yDAAyD,CAAC;AACjE,YAAY,EACV,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,2CAA2C,CAAC;AACnD,YAAY,EACV,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,2CAA2C,CAAC;AACnD,YAAY,EACV,0BAA0B,EAC1B,gCAAgC,GACjC,MAAM,yDAAyD,CAAC;AACjE,YAAY,EACV,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EACV,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,yCAAyC,CAAC;AACjD,YAAY,EACV,0BAA0B,EAC1B,gCAAgC,GACjC,MAAM,yDAAyD,CAAC;AACjE,YAAY,EACV,yBAAyB,EACzB,+BAA+B,GAChC,MAAM,uDAAuD,CAAC;AAC/D,YAAY,EACV,4BAA4B,EAC5B,kCAAkC,GACnC,MAAM,6DAA6D,CAAC;AACrE,YAAY,EACV,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,2CAA2C,CAAC;AACnD,YAAY,EACV,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,2CAA2C,CAAC"}
@@ -0,0 +1,9 @@
1
+ export interface SimAttachUserPolicyCommandInput {
2
+ readonly UserName?: string | undefined;
3
+ readonly PolicyArn?: string | undefined;
4
+ }
5
+ export interface SimAttachUserPolicyCommand {
6
+ readonly input: SimAttachUserPolicyCommandInput;
7
+ }
8
+ export type SimAttachUserPolicyCommandOutput = Record<string, never>;
9
+ //# sourceMappingURL=attach-user-policy.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attach-user-policy.command.d.ts","sourceRoot":"","sources":["../../../../../../src/service/iam/command/user/attach-user-policy/attach-user-policy.command.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE,+BAA+B,CAAC;CACjD;AAED,MAAM,MAAM,gCAAgC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=attach-user-policy.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attach-user-policy.command.js","sourceRoot":"","sources":["../../../../../../src/service/iam/command/user/attach-user-policy/attach-user-policy.command.ts"],"names":[],"mappings":""}
@@ -0,0 +1,30 @@
1
+ import type { CommandHandler } from "../../../../../command/command-handler.js";
2
+ import { type BackgroundScheduler } from "../../../../../util/background/background.js";
3
+ import type { SimIamUser, SimIamUsername } from "../../../user/sim-iam-user.js";
4
+ import type { SimAttachUserPolicyCommand, SimAttachUserPolicyCommandOutput } from "./attach-user-policy.command.js";
5
+ interface AttachUserPolicyCommandHandlerProperties {
6
+ readonly users: Map<SimIamUsername, SimIamUser>;
7
+ readonly background?: BackgroundScheduler;
8
+ }
9
+ /**
10
+ * IAM AttachUserPolicyCommand handler.
11
+ *
12
+ * The user-side counterpart of AttachRolePolicy: the attachment records a
13
+ * managed policy ARN on the user, and authorization resolves the referenced
14
+ * policy from the account policy store when it evaluates a request. An ARN
15
+ * with no stored policy behind it, such as an AWS-managed one, attaches and
16
+ * contributes no statements.
17
+ *
18
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/AttachUserPolicyCommand/
19
+ */
20
+ export declare class AttachUserPolicyCommandHandler implements CommandHandler<SimAttachUserPolicyCommand, SimAttachUserPolicyCommandOutput> {
21
+ private readonly users;
22
+ private readonly background;
23
+ constructor(properties: AttachUserPolicyCommandHandlerProperties);
24
+ /**
25
+ * Handle an AttachUserPolicyCommand from the SDK.
26
+ */
27
+ handle(command: SimAttachUserPolicyCommand): Promise<SimAttachUserPolicyCommandOutput>;
28
+ }
29
+ export {};
30
+ //# sourceMappingURL=attach-user-policy.handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attach-user-policy.handler.d.ts","sourceRoot":"","sources":["../../../../../../src/service/iam/command/user/attach-user-policy/attach-user-policy.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,8CAA8C,CAAC;AAGtD,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,KAAK,EACV,0BAA0B,EAC1B,gCAAgC,EACjC,MAAM,iCAAiC,CAAC;AAEzC,UAAU,wCAAwC;IAChD,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;;;;;;;;;GAUG;AACH,qBAAa,8BAA+B,YAAW,cAAc,CACnE,0BAA0B,EAC1B,gCAAgC,CACjC;IACC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAEjD,YAAY,UAAU,EAAE,wCAAwC,EAK/D;IAED;;OAEG;IACG,MAAM,CACV,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,gCAAgC,CAAC,CAuB3C;CACF"}
@@ -0,0 +1,44 @@
1
+ import { BackgroundTasks, } from "../../../../../util/background/background.js";
2
+ import { SimIamNoSuchEntity } from "../../../error/sim-iam.error.js";
3
+ /**
4
+ * IAM AttachUserPolicyCommand handler.
5
+ *
6
+ * The user-side counterpart of AttachRolePolicy: the attachment records a
7
+ * managed policy ARN on the user, and authorization resolves the referenced
8
+ * policy from the account policy store when it evaluates a request. An ARN
9
+ * with no stored policy behind it, such as an AWS-managed one, attaches and
10
+ * contributes no statements.
11
+ *
12
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/AttachUserPolicyCommand/
13
+ */
14
+ export class AttachUserPolicyCommandHandler {
15
+ users;
16
+ background;
17
+ constructor(properties) {
18
+ const { users, background = new BackgroundTasks() } = properties;
19
+ this.users = users;
20
+ this.background = background;
21
+ }
22
+ /**
23
+ * Handle an AttachUserPolicyCommand from the SDK.
24
+ */
25
+ async handle(command) {
26
+ const username = command.input.UserName;
27
+ if (username === undefined || username.length === 0) {
28
+ throw new Error("UserName is required");
29
+ }
30
+ const policyArn = command.input.PolicyArn;
31
+ if (policyArn === undefined || policyArn.length === 0) {
32
+ throw new Error("PolicyArn is required");
33
+ }
34
+ // Allow for potential non-deterministic sequencing of async events.
35
+ await this.background.sequence();
36
+ const user = this.users.get(username);
37
+ if (user === undefined) {
38
+ throw new SimIamNoSuchEntity(`No IAM User with name ${username}`);
39
+ }
40
+ user.attachedPolicyArns.add(policyArn);
41
+ return {};
42
+ }
43
+ }
44
+ //# sourceMappingURL=attach-user-policy.handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attach-user-policy.handler.js","sourceRoot":"","sources":["../../../../../../src/service/iam/command/user/attach-user-policy/attach-user-policy.handler.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,eAAe,GAChB,MAAM,8CAA8C,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAYrE;;;;;;;;;;GAUG;AACH,MAAM,OAAO,8BAA8B;IAIxB,KAAK,CAAkC;IACvC,UAAU,CAAsB;IAEjD,YAAY,UAAoD;QAC9D,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,eAAe,EAAE,EAAE,GAAG,UAAU,CAAC;QAEjE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,OAAmC;QAEnC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,QAAsC,CAAC;QACtE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,SAA+B,CAAC;QAChE,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,oEAAoE;QACpE,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEjC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEtC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,kBAAkB,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEvC,OAAO,EAAE,CAAC;IACZ,CAAC;CACF"}
@@ -0,0 +1,16 @@
1
+ export interface SimCreateLoginProfileCommandInput {
2
+ readonly UserName?: string | undefined;
3
+ readonly Password?: string | undefined;
4
+ readonly PasswordResetRequired?: boolean | undefined;
5
+ }
6
+ export interface SimCreateLoginProfileCommand {
7
+ readonly input: SimCreateLoginProfileCommandInput;
8
+ }
9
+ export interface SimCreateLoginProfileCommandOutput {
10
+ readonly LoginProfile: {
11
+ readonly UserName: string;
12
+ readonly CreateDate: Date;
13
+ readonly PasswordResetRequired: boolean;
14
+ };
15
+ }
16
+ //# sourceMappingURL=create-login-profile.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-login-profile.command.d.ts","sourceRoot":"","sources":["../../../../../../src/service/iam/command/user/create-login-profile/create-login-profile.command.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACtD;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,KAAK,EAAE,iCAAiC,CAAC;CACnD;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,YAAY,EAAE;QACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;QAC1B,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;KACzC,CAAC;CACH"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=create-login-profile.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-login-profile.command.js","sourceRoot":"","sources":["../../../../../../src/service/iam/command/user/create-login-profile/create-login-profile.command.ts"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ import type { CommandHandler } from "../../../../../command/command-handler.js";
2
+ import { type BackgroundScheduler } from "../../../../../util/background/background.js";
3
+ import type { SimIamUser, SimIamUsername } from "../../../user/sim-iam-user.js";
4
+ import type { SimCreateLoginProfileCommand, SimCreateLoginProfileCommandOutput } from "./create-login-profile.command.js";
5
+ interface CreateLoginProfileCommandHandlerProperties {
6
+ readonly users: Map<SimIamUsername, SimIamUser>;
7
+ readonly background?: BackgroundScheduler;
8
+ }
9
+ /**
10
+ * IAM CreateLoginProfileCommand handler.
11
+ *
12
+ * A login profile is the console password of a user. The response describes
13
+ * the profile without the password, which is how real IAM behaves: a password
14
+ * goes in and is never read back out. A test asserting on one reads it from
15
+ * the user record in `SimIam.users`.
16
+ *
17
+ * No password policy is applied. Real IAM validates the password against the
18
+ * account password policy, which the simulator does not model.
19
+ *
20
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/CreateLoginProfileCommand/
21
+ */
22
+ export declare class CreateLoginProfileCommandHandler implements CommandHandler<SimCreateLoginProfileCommand, SimCreateLoginProfileCommandOutput> {
23
+ private readonly users;
24
+ private readonly background;
25
+ constructor(properties: CreateLoginProfileCommandHandlerProperties);
26
+ /**
27
+ * Handle a CreateLoginProfileCommand from the SDK.
28
+ */
29
+ handle(command: SimCreateLoginProfileCommand): Promise<SimCreateLoginProfileCommandOutput>;
30
+ }
31
+ export {};
32
+ //# sourceMappingURL=create-login-profile.handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-login-profile.handler.d.ts","sourceRoot":"","sources":["../../../../../../src/service/iam/command/user/create-login-profile/create-login-profile.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,8CAA8C,CAAC;AAKtD,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,KAAK,EACV,4BAA4B,EAC5B,kCAAkC,EACnC,MAAM,mCAAmC,CAAC;AAE3C,UAAU,0CAA0C;IAClD,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,gCAAiC,YAAW,cAAc,CACrE,4BAA4B,EAC5B,kCAAkC,CACnC;IACC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAEjD,YAAY,UAAU,EAAE,0CAA0C,EAKjE;IAED;;OAEG;IACG,MAAM,CACV,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,kCAAkC,CAAC,CAuC7C;CACF"}
@@ -0,0 +1,59 @@
1
+ import { BackgroundTasks, } from "../../../../../util/background/background.js";
2
+ import { SimIamEntityAlreadyExists, SimIamNoSuchEntity, } from "../../../error/sim-iam.error.js";
3
+ /**
4
+ * IAM CreateLoginProfileCommand handler.
5
+ *
6
+ * A login profile is the console password of a user. The response describes
7
+ * the profile without the password, which is how real IAM behaves: a password
8
+ * goes in and is never read back out. A test asserting on one reads it from
9
+ * the user record in `SimIam.users`.
10
+ *
11
+ * No password policy is applied. Real IAM validates the password against the
12
+ * account password policy, which the simulator does not model.
13
+ *
14
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/CreateLoginProfileCommand/
15
+ */
16
+ export class CreateLoginProfileCommandHandler {
17
+ users;
18
+ background;
19
+ constructor(properties) {
20
+ const { users, background = new BackgroundTasks() } = properties;
21
+ this.users = users;
22
+ this.background = background;
23
+ }
24
+ /**
25
+ * Handle a CreateLoginProfileCommand from the SDK.
26
+ */
27
+ async handle(command) {
28
+ const username = command.input.UserName;
29
+ if (username === undefined || username.length === 0) {
30
+ throw new Error("UserName is required");
31
+ }
32
+ const password = command.input.Password;
33
+ if (password === undefined || password.length === 0) {
34
+ throw new Error("Password is required");
35
+ }
36
+ // Allow for potential non-deterministic sequencing of async events.
37
+ await this.background.sequence();
38
+ const user = this.users.get(username);
39
+ if (user === undefined) {
40
+ throw new SimIamNoSuchEntity(`No IAM User with name ${username}`);
41
+ }
42
+ if (user.loginProfile !== undefined) {
43
+ throw new SimIamEntityAlreadyExists(`Sim IAM User ${username} already has a login profile`);
44
+ }
45
+ user.loginProfile = {
46
+ password,
47
+ createDate: this.background.now(),
48
+ passwordResetRequired: command.input.PasswordResetRequired ?? false,
49
+ };
50
+ return {
51
+ LoginProfile: {
52
+ UserName: user.userName,
53
+ CreateDate: user.loginProfile.createDate,
54
+ PasswordResetRequired: user.loginProfile.passwordResetRequired,
55
+ },
56
+ };
57
+ }
58
+ }
59
+ //# sourceMappingURL=create-login-profile.handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-login-profile.handler.js","sourceRoot":"","sources":["../../../../../../src/service/iam/command/user/create-login-profile/create-login-profile.handler.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,eAAe,GAChB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,iCAAiC,CAAC;AAYzC;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,gCAAgC;IAI1B,KAAK,CAAkC;IACvC,UAAU,CAAsB;IAEjD,YAAY,UAAsD;QAChE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,eAAe,EAAE,EAAE,GAAG,UAAU,CAAC;QAEjE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,OAAqC;QAErC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,QAAsC,CAAC;QACtE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;QACxC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QAED,oEAAoE;QACpE,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEjC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEtC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,kBAAkB,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,IAAI,yBAAyB,CACjC,gBAAgB,QAAQ,8BAA8B,CACvD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,YAAY,GAAG;YAClB,QAAQ;YACR,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;YACjC,qBAAqB,EAAE,OAAO,CAAC,KAAK,CAAC,qBAAqB,IAAI,KAAK;SACpE,CAAC;QAEF,OAAO;YACL,YAAY,EAAE;gBACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU;gBACxC,qBAAqB,EAAE,IAAI,CAAC,YAAY,CAAC,qBAAqB;aAC/D;SACF,CAAC;IACJ,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-user-record-factory.d.ts","sourceRoot":"","sources":["../../../../../../src/service/iam/command/user/create-user/create-user-record-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEhF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAE3E,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC;CAC7B;AAED;;GAEG;AACH,qBAAa,uBAAuB;IAClC;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,kBAAkB,GAAG,UAAU,CAcnD;IAED;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,0BAA0B,CAUvD;CACF"}
1
+ {"version":3,"file":"create-user-record-factory.d.ts","sourceRoot":"","sources":["../../../../../../src/service/iam/command/user/create-user/create-user-record-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEhF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAE3E,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC;CAC7B;AAED;;GAEG;AACH,qBAAa,uBAAuB;IAClC;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,kBAAkB,GAAG,UAAU,CAenD;IAED;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,0BAA0B,CAUvD;CACF"}
@@ -19,6 +19,7 @@ export class CreateUserRecordFactory {
19
19
  accessKeys: new Map(),
20
20
  inlinePolicies: new Map(),
21
21
  attachedPolicyArns: new Set(),
22
+ loginProfile: undefined,
22
23
  };
23
24
  }
24
25
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"create-user-record-factory.js","sourceRoot":"","sources":["../../../../../../src/service/iam/command/user/create-user/create-user-record-factory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAWpE;;GAEG;AACH,MAAM,OAAO,uBAAuB;IAClC;;OAEG;IACH,QAAQ,CAAC,UAA8B;QACrC,OAAO;YACL,GAAG,EAAE,UAAU,CAAC,GAAG;YACnB,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,aAAa,EAAE,MAAM;YACrB,IAAI,EAAE,UAAU,CAAC,QAAQ;YACzB,MAAM,EAAE,gBAAgB,EAAE;YAC1B,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,UAAU,EAAE,IAAI,GAAG,EAAE;YACrB,cAAc,EAAE,IAAI,GAAG,EAAE;YACzB,kBAAkB,EAAE,IAAI,GAAG,EAAE;SAC9B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAgB;QACzB,OAAO;YACL,IAAI,EAAE;gBACJ,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,UAAU,EAAE,IAAI,CAAC,YAAY;aAC9B;SACF,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"create-user-record-factory.js","sourceRoot":"","sources":["../../../../../../src/service/iam/command/user/create-user/create-user-record-factory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAWpE;;GAEG;AACH,MAAM,OAAO,uBAAuB;IAClC;;OAEG;IACH,QAAQ,CAAC,UAA8B;QACrC,OAAO;YACL,GAAG,EAAE,UAAU,CAAC,GAAG;YACnB,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,aAAa,EAAE,MAAM;YACrB,IAAI,EAAE,UAAU,CAAC,QAAQ;YACzB,MAAM,EAAE,gBAAgB,EAAE;YAC1B,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,UAAU,EAAE,IAAI,GAAG,EAAE;YACrB,cAAc,EAAE,IAAI,GAAG,EAAE;YACzB,kBAAkB,EAAE,IAAI,GAAG,EAAE;YAC7B,YAAY,EAAE,SAAS;SACxB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAgB;QACzB,OAAO;YACL,IAAI,EAAE;gBACJ,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,UAAU,EAAE,IAAI,CAAC,YAAY;aAC9B;SACF,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Minimal structural sim IAM DeleteUser command.
3
+ */
4
+ export interface SimDeleteUserCommand {
5
+ readonly input: SimDeleteUserCommandInput;
6
+ }
7
+ /**
8
+ * Minimal structural sim IAM DeleteUser input.
9
+ */
10
+ export interface SimDeleteUserCommandInput {
11
+ readonly UserName?: string | undefined;
12
+ }
13
+ /**
14
+ * Minimal structural sim IAM DeleteUser output.
15
+ *
16
+ * Real IAM answers a successful DeleteUser with an empty response body.
17
+ */
18
+ export type SimDeleteUserCommandOutput = Record<string, never>;
19
+ //# sourceMappingURL=delete-user.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-user.command.d.ts","sourceRoot":"","sources":["../../../../../../src/service/iam/command/user/delete-user/delete-user.command.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,yBAAyB,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC;AAED;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=delete-user.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-user.command.js","sourceRoot":"","sources":["../../../../../../src/service/iam/command/user/delete-user/delete-user.command.ts"],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ import type { CommandHandler } from "../../../../../command/command-handler.js";
2
+ import { type BackgroundScheduler } from "../../../../../util/background/background.js";
3
+ import type { SimIamUser, SimIamUsername } from "../../../user/sim-iam-user.js";
4
+ import type { SimDeleteUserCommand, SimDeleteUserCommandOutput } from "./delete-user.command.js";
5
+ interface DeleteUserCommandHandlerProperties {
6
+ readonly users: Map<SimIamUsername, SimIamUser>;
7
+ readonly background?: BackgroundScheduler;
8
+ }
9
+ /**
10
+ * IAM DeleteUserCommand handler.
11
+ *
12
+ * Real IAM only deletes a User nothing is hanging off, the way DeleteRole
13
+ * refuses a Role still carrying policies. A User with inline policies or
14
+ * attached managed policies is refused here too, which is why a CloudFormation
15
+ * Stack takes a User's policies off before deleting it.
16
+ *
17
+ * Real IAM also refuses a User that still has access keys, a login profile or
18
+ * an MFA device. The simulator serves no way to remove any of those, so
19
+ * refusing on them would leave a User that could never be deleted.
20
+ *
21
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/DeleteUserCommand/
22
+ */
23
+ export declare class DeleteUserCommandHandler implements CommandHandler<SimDeleteUserCommand, SimDeleteUserCommandOutput> {
24
+ private readonly users;
25
+ private readonly background;
26
+ constructor(properties: DeleteUserCommandHandlerProperties);
27
+ /**
28
+ * Handle a DeleteUserCommand from the SDK.
29
+ */
30
+ handle(command: SimDeleteUserCommand): Promise<SimDeleteUserCommandOutput>;
31
+ private assertNothingAttached;
32
+ }
33
+ export {};
34
+ //# sourceMappingURL=delete-user.handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-user.handler.d.ts","sourceRoot":"","sources":["../../../../../../src/service/iam/command/user/delete-user/delete-user.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,8CAA8C,CAAC;AAKtD,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,KAAK,EACV,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,0BAA0B,CAAC;AAElC,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,wBAAyB,YAAW,cAAc,CAC7D,oBAAoB,EACpB,0BAA0B,CAC3B;IACC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAEjD,YAAY,UAAU,EAAE,kCAAkC,EAKzD;IAED;;OAEG;IACG,MAAM,CACV,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,0BAA0B,CAAC,CAoBrC;IAED,OAAO,CAAC,qBAAqB;CAU9B"}
@@ -0,0 +1,51 @@
1
+ import { BackgroundTasks, } from "../../../../../util/background/background.js";
2
+ import { SimIamDeleteConflict, SimIamNoSuchEntity, } from "../../../error/sim-iam.error.js";
3
+ /**
4
+ * IAM DeleteUserCommand handler.
5
+ *
6
+ * Real IAM only deletes a User nothing is hanging off, the way DeleteRole
7
+ * refuses a Role still carrying policies. A User with inline policies or
8
+ * attached managed policies is refused here too, which is why a CloudFormation
9
+ * Stack takes a User's policies off before deleting it.
10
+ *
11
+ * Real IAM also refuses a User that still has access keys, a login profile or
12
+ * an MFA device. The simulator serves no way to remove any of those, so
13
+ * refusing on them would leave a User that could never be deleted.
14
+ *
15
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/DeleteUserCommand/
16
+ */
17
+ export class DeleteUserCommandHandler {
18
+ users;
19
+ background;
20
+ constructor(properties) {
21
+ const { users, background = new BackgroundTasks() } = properties;
22
+ this.users = users;
23
+ this.background = background;
24
+ }
25
+ /**
26
+ * Handle a DeleteUserCommand from the SDK.
27
+ */
28
+ async handle(command) {
29
+ const username = command.input.UserName;
30
+ if (username === undefined || username.length === 0) {
31
+ throw new Error("UserName is required");
32
+ }
33
+ // Allow for potential non-deterministic sequencing of async events.
34
+ await this.background.sequence();
35
+ const user = this.users.get(username);
36
+ if (user === undefined) {
37
+ throw new SimIamNoSuchEntity(`No IAM User with name ${username}`);
38
+ }
39
+ this.assertNothingAttached(user);
40
+ this.users.delete(username);
41
+ return {};
42
+ }
43
+ assertNothingAttached(user) {
44
+ const attached = user.inlinePolicies.size + user.attachedPolicyArns.size;
45
+ if (attached > 0) {
46
+ throw new SimIamDeleteConflict(`Cannot delete entity, must detach all policies first: ` +
47
+ `IAM User ${user.userName}`);
48
+ }
49
+ }
50
+ }
51
+ //# sourceMappingURL=delete-user.handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-user.handler.js","sourceRoot":"","sources":["../../../../../../src/service/iam/command/user/delete-user/delete-user.handler.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,eAAe,GAChB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,iCAAiC,CAAC;AAYzC;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,wBAAwB;IAIlB,KAAK,CAAkC;IACvC,UAAU,CAAsB;IAEjD,YAAY,UAA8C;QACxD,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,eAAe,EAAE,EAAE,GAAG,UAAU,CAAC;QAEjE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,OAA6B;QAE7B,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,QAAsC,CAAC;QAEtE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QAED,oEAAoE;QACpE,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEjC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEtC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,kBAAkB,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE5B,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,qBAAqB,CAAC,IAAgB;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;QAEzE,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjB,MAAM,IAAI,oBAAoB,CAC5B,wDAAwD;gBACtD,YAAY,IAAI,CAAC,QAAQ,EAAE,CAC9B,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
@@ -6,7 +6,10 @@ import type { SimIamCredentialRegistry } from "../../credential/sim-iam-credenti
6
6
  import type { SimIamUserCredentialGenerator } from "../../credential/user/sim-iam-user-credential-generator.js";
7
7
  import type { SimIamUser, SimIamUsername } from "../../user/sim-iam-user.js";
8
8
  import type { SimCreateAccessKeyCommand, SimCreateAccessKeyCommandOutput } from "./create-access-key/create-access-key.command.js";
9
+ import type { SimAttachUserPolicyCommand, SimAttachUserPolicyCommandOutput } from "./attach-user-policy/attach-user-policy.command.js";
10
+ import type { SimCreateLoginProfileCommand, SimCreateLoginProfileCommandOutput } from "./create-login-profile/create-login-profile.command.js";
9
11
  import type { SimCreateUserCommand, SimCreateUserCommandOutput } from "./create-user/create-user.command.js";
12
+ import type { SimDeleteUserCommand, SimDeleteUserCommandOutput } from "./delete-user/delete-user.command.js";
10
13
  interface SimIamUserCommandHandlersProperties {
11
14
  readonly accountId: SimAwsAccountId;
12
15
  readonly users: Map<SimIamUsername, SimIamUser>;
@@ -34,6 +37,18 @@ export declare class SimIamUserCommandHandlers {
34
37
  * Handle a CreateUser command from the SDK.
35
38
  */
36
39
  createUser(command: SimCreateUserCommand, options?: SimIamRequestOptions): Promise<SimCreateUserCommandOutput>;
40
+ /**
41
+ * Handle a DeleteUser command from the SDK.
42
+ */
43
+ deleteUser(command: SimDeleteUserCommand, options?: SimIamRequestOptions): Promise<SimDeleteUserCommandOutput>;
44
+ /**
45
+ * Handle an AttachUserPolicy command from the SDK.
46
+ */
47
+ attachUserPolicy(command: SimAttachUserPolicyCommand, options?: SimIamRequestOptions): Promise<SimAttachUserPolicyCommandOutput>;
48
+ /**
49
+ * Handle a CreateLoginProfile command from the SDK.
50
+ */
51
+ createLoginProfile(command: SimCreateLoginProfileCommand, options?: SimIamRequestOptions): Promise<SimCreateLoginProfileCommandOutput>;
37
52
  /**
38
53
  * Handle a CreateAccessKey command from the SDK.
39
54
  */