@kensio/yulin 0.32.0 → 0.33.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 (612) hide show
  1. package/dist/docs/tsconfig.tsbuildinfo +1 -1
  2. package/dist/index.d.ts +0 -1
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +0 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/serve/http/local-server/sim-aws-local-server.d.ts.map +1 -1
  7. package/dist/serve/http/local-server/sim-aws-local-server.js +4 -2
  8. package/dist/serve/http/local-server/sim-aws-local-server.js.map +1 -1
  9. package/dist/serve/http/sim-aws-http.d.ts.map +1 -1
  10. package/dist/serve/http/sim-aws-http.js +2 -1
  11. package/dist/serve/http/sim-aws-http.js.map +1 -1
  12. package/dist/service/acm/certificate/sim-acm-certificate.d.ts.map +1 -1
  13. package/dist/service/acm/certificate/sim-acm-certificate.js +2 -2
  14. package/dist/service/acm/certificate/sim-acm-certificate.js.map +1 -1
  15. package/dist/service/acm/cfn/property/sim-cfn-acm-cert-prop-reader.d.ts.map +1 -1
  16. package/dist/service/acm/cfn/property/sim-cfn-acm-cert-prop-reader.js +2 -2
  17. package/dist/service/acm/cfn/property/sim-cfn-acm-cert-prop-reader.js.map +1 -1
  18. package/dist/service/acm/command/describe-certificate/describe-certificate-authorizer.d.ts +31 -0
  19. package/dist/service/acm/command/describe-certificate/describe-certificate-authorizer.d.ts.map +1 -0
  20. package/dist/service/acm/command/describe-certificate/describe-certificate-authorizer.js +41 -0
  21. package/dist/service/acm/command/describe-certificate/describe-certificate-authorizer.js.map +1 -0
  22. package/dist/service/acm/command/describe-certificate/describe-certificate.handler.d.ts +13 -1
  23. package/dist/service/acm/command/describe-certificate/describe-certificate.handler.d.ts.map +1 -1
  24. package/dist/service/acm/command/describe-certificate/describe-certificate.handler.js +12 -2
  25. package/dist/service/acm/command/describe-certificate/describe-certificate.handler.js.map +1 -1
  26. package/dist/service/acm/command/list-certificates/list-certificates-authorizer.d.ts +31 -0
  27. package/dist/service/acm/command/list-certificates/list-certificates-authorizer.d.ts.map +1 -0
  28. package/dist/service/acm/command/list-certificates/list-certificates-authorizer.js +41 -0
  29. package/dist/service/acm/command/list-certificates/list-certificates-authorizer.js.map +1 -0
  30. package/dist/service/acm/command/list-certificates/list-certificates-page-builder.d.ts +82 -0
  31. package/dist/service/acm/command/list-certificates/list-certificates-page-builder.d.ts.map +1 -0
  32. package/dist/service/acm/command/list-certificates/list-certificates-page-builder.js +128 -0
  33. package/dist/service/acm/command/list-certificates/list-certificates-page-builder.js.map +1 -0
  34. package/dist/service/acm/command/list-certificates/list-certificates.handler.d.ts +21 -7
  35. package/dist/service/acm/command/list-certificates/list-certificates.handler.d.ts.map +1 -1
  36. package/dist/service/acm/command/list-certificates/list-certificates.handler.js +22 -50
  37. package/dist/service/acm/command/list-certificates/list-certificates.handler.js.map +1 -1
  38. package/dist/service/acm/command/request-certificate/request-certificate-authorizer.d.ts +28 -0
  39. package/dist/service/acm/command/request-certificate/request-certificate-authorizer.d.ts.map +1 -0
  40. package/dist/service/acm/command/request-certificate/request-certificate-authorizer.js +38 -0
  41. package/dist/service/acm/command/request-certificate/request-certificate-authorizer.js.map +1 -0
  42. package/dist/service/acm/command/request-certificate/request-certificate-validator.d.ts +25 -0
  43. package/dist/service/acm/command/request-certificate/request-certificate-validator.d.ts.map +1 -0
  44. package/dist/service/acm/command/request-certificate/request-certificate-validator.js +32 -0
  45. package/dist/service/acm/command/request-certificate/request-certificate-validator.js.map +1 -0
  46. package/dist/service/acm/command/request-certificate/request-certificate.handler.d.ts +15 -2
  47. package/dist/service/acm/command/request-certificate/request-certificate.handler.d.ts.map +1 -1
  48. package/dist/service/acm/command/request-certificate/request-certificate.handler.js +19 -10
  49. package/dist/service/acm/command/request-certificate/request-certificate.handler.js.map +1 -1
  50. package/dist/service/acm/sim-acm.d.ts +10 -3
  51. package/dist/service/acm/sim-acm.d.ts.map +1 -1
  52. package/dist/service/acm/sim-acm.js +13 -7
  53. package/dist/service/acm/sim-acm.js.map +1 -1
  54. package/dist/service/aws/caller/sim-aws-account-root-principal.d.ts.map +1 -1
  55. package/dist/service/aws/caller/sim-aws-account-root-principal.js +1 -3
  56. package/dist/service/aws/caller/sim-aws-account-root-principal.js.map +1 -1
  57. package/dist/service/aws/caller/sim-aws-caller-resolver.d.ts +40 -0
  58. package/dist/service/aws/caller/sim-aws-caller-resolver.d.ts.map +1 -0
  59. package/dist/service/aws/caller/sim-aws-caller-resolver.js +62 -0
  60. package/dist/service/aws/caller/sim-aws-caller-resolver.js.map +1 -0
  61. package/dist/service/aws/caller/sim-aws-caller.d.ts +23 -25
  62. package/dist/service/aws/caller/sim-aws-caller.d.ts.map +1 -1
  63. package/dist/service/aws/caller/sim-aws-caller.js +1 -6
  64. package/dist/service/aws/caller/sim-aws-caller.js.map +1 -1
  65. package/dist/service/aws/factory/sim-aws-account-service-cache.d.ts.map +1 -1
  66. package/dist/service/aws/factory/sim-aws-account-service-cache.js +10 -5
  67. package/dist/service/aws/factory/sim-aws-account-service-cache.js.map +1 -1
  68. package/dist/service/aws/factory/sim-aws-service-factory.d.ts +9 -4
  69. package/dist/service/aws/factory/sim-aws-service-factory.d.ts.map +1 -1
  70. package/dist/service/aws/factory/sim-aws-service-factory.js +20 -4
  71. package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
  72. package/dist/service/aws/sim-aws-account-region-scope.d.ts +7 -2
  73. package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
  74. package/dist/service/aws/sim-aws-account-region-scope.js +8 -2
  75. package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
  76. package/dist/service/aws/sim-aws-account.d.ts +6 -1
  77. package/dist/service/aws/sim-aws-account.d.ts.map +1 -1
  78. package/dist/service/aws/sim-aws-account.js +7 -1
  79. package/dist/service/aws/sim-aws-account.js.map +1 -1
  80. package/dist/service/aws/sim-aws-region.d.ts +1 -1
  81. package/dist/service/aws/sim-aws-region.d.ts.map +1 -1
  82. package/dist/service/aws/sim-aws-region.js +1 -1
  83. package/dist/service/aws/sim-aws-region.js.map +1 -1
  84. package/dist/service/aws/sim-aws.d.ts +5 -0
  85. package/dist/service/aws/sim-aws.d.ts.map +1 -1
  86. package/dist/service/aws/sim-aws.js +6 -0
  87. package/dist/service/aws/sim-aws.js.map +1 -1
  88. package/dist/service/cloudformation/bind/validate/sim-cfn-exec-binding-matcher.js +1 -1
  89. package/dist/service/cloudformation/bind/validate/sim-cfn-exec-binding-matcher.js.map +1 -1
  90. package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.js +1 -1
  91. package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.js.map +1 -1
  92. package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.d.ts.map +1 -1
  93. package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.js +9 -6
  94. package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.js.map +1 -1
  95. package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.d.ts.map +1 -1
  96. package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.js +4 -1
  97. package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.js.map +1 -1
  98. package/dist/service/cloudformation/command/describe-stacks/sim-cfn-stack-describer.d.ts.map +1 -1
  99. package/dist/service/cloudformation/command/describe-stacks/sim-cfn-stack-describer.js +5 -2
  100. package/dist/service/cloudformation/command/describe-stacks/sim-cfn-stack-describer.js.map +1 -1
  101. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cff-cfn.factory.js +3 -3
  102. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cff-cfn.factory.js.map +1 -1
  103. package/dist/service/cloudformation/resource/sim-cfn-resource.d.ts.map +1 -1
  104. package/dist/service/cloudformation/resource/sim-cfn-resource.js +3 -2
  105. package/dist/service/cloudformation/resource/sim-cfn-resource.js.map +1 -1
  106. package/dist/service/cloudformation/sim-cloudformation.d.ts +2 -2
  107. package/dist/service/cloudformation/sim-cloudformation.d.ts.map +1 -1
  108. package/dist/service/cloudformation/sim-cloudformation.js +12 -12
  109. package/dist/service/cloudformation/sim-cloudformation.js.map +1 -1
  110. package/dist/service/cloudformation/stack/output/sim-cfn-stack-output-resolver.d.ts.map +1 -1
  111. package/dist/service/cloudformation/stack/output/sim-cfn-stack-output-resolver.js +3 -2
  112. package/dist/service/cloudformation/stack/output/sim-cfn-stack-output-resolver.js.map +1 -1
  113. package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts +5 -5
  114. package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts.map +1 -1
  115. package/dist/service/cloudformation/stack/sim-cfn-stack.js +8 -7
  116. package/dist/service/cloudformation/stack/sim-cfn-stack.js.map +1 -1
  117. package/dist/service/cloudformation/template/node/fn/sub/resolve/sim-cfn-fn-sub-unresolved-value.d.ts.map +1 -1
  118. package/dist/service/cloudformation/template/node/fn/sub/resolve/sim-cfn-fn-sub-unresolved-value.js +3 -1
  119. package/dist/service/cloudformation/template/node/fn/sub/resolve/sim-cfn-fn-sub-unresolved-value.js.map +1 -1
  120. package/dist/service/cloudformation/template/node/fn/sub/resolve/sim-cfn-fn-sub-variable-resolver.js +4 -2
  121. package/dist/service/cloudformation/template/node/fn/sub/resolve/sim-cfn-fn-sub-variable-resolver.js.map +1 -1
  122. package/dist/service/cloudformation/template/node/fn/sub/sim-cfn-fn-sub.d.ts.map +1 -1
  123. package/dist/service/cloudformation/template/node/fn/sub/sim-cfn-fn-sub.js +2 -2
  124. package/dist/service/cloudformation/template/node/fn/sub/sim-cfn-fn-sub.js.map +1 -1
  125. package/dist/service/cloudformation/template/node/fn/sub/template/sim-cfn-fn-sub-template.d.ts.map +1 -1
  126. package/dist/service/cloudformation/template/node/fn/sub/template/sim-cfn-fn-sub-template.js +2 -1
  127. package/dist/service/cloudformation/template/node/fn/sub/template/sim-cfn-fn-sub-template.js.map +1 -1
  128. package/dist/service/cloudformation/template/node/sim-cfn-object.d.ts.map +1 -1
  129. package/dist/service/cloudformation/template/node/sim-cfn-object.js +4 -1
  130. package/dist/service/cloudformation/template/node/sim-cfn-object.js.map +1 -1
  131. package/dist/service/cloudformation/template/parse/node/sim-cfn-node-parser.d.ts.map +1 -1
  132. package/dist/service/cloudformation/template/parse/node/sim-cfn-node-parser.js +2 -1
  133. package/dist/service/cloudformation/template/parse/node/sim-cfn-node-parser.js.map +1 -1
  134. package/dist/service/cloudformation/template/sim-cfn-template.d.ts.map +1 -1
  135. package/dist/service/cloudformation/template/sim-cfn-template.js +2 -1
  136. package/dist/service/cloudformation/template/sim-cfn-template.js.map +1 -1
  137. package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.d.ts +2 -2
  138. package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.d.ts.map +1 -1
  139. package/dist/service/cloudfront/cff/sim-cloudfront-function.d.ts.map +1 -1
  140. package/dist/service/cloudfront/cff/sim-cloudfront-function.js +1 -1
  141. package/dist/service/cloudfront/cff/sim-cloudfront-function.js.map +1 -1
  142. package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-create-input-builder.d.ts.map +1 -1
  143. package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-create-input-builder.js +3 -2
  144. package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-create-input-builder.js.map +1 -1
  145. package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-creator.d.ts.map +1 -1
  146. package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-creator.js +3 -2
  147. package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-creator.js.map +1 -1
  148. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.d.ts.map +1 -1
  149. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.js +3 -2
  150. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.js.map +1 -1
  151. package/dist/service/cloudfront/command/create-distribution/create-distribution-authorizer.d.ts +27 -0
  152. package/dist/service/cloudfront/command/create-distribution/create-distribution-authorizer.d.ts.map +1 -0
  153. package/dist/service/cloudfront/command/create-distribution/create-distribution-authorizer.js +37 -0
  154. package/dist/service/cloudfront/command/create-distribution/create-distribution-authorizer.js.map +1 -0
  155. package/dist/service/cloudfront/command/create-distribution/create-distribution.cmd.d.ts +8 -8
  156. package/dist/service/cloudfront/command/create-distribution/create-distribution.cmd.d.ts.map +1 -1
  157. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts +8 -1
  158. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts.map +1 -1
  159. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js +10 -2
  160. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js.map +1 -1
  161. package/dist/service/cloudfront/command/create-function/create-function-authorizer.d.ts +26 -0
  162. package/dist/service/cloudfront/command/create-function/create-function-authorizer.d.ts.map +1 -0
  163. package/dist/service/cloudfront/command/create-function/create-function-authorizer.js +35 -0
  164. package/dist/service/cloudfront/command/create-function/create-function-authorizer.js.map +1 -0
  165. package/dist/service/cloudfront/command/create-function/create-function.cmd.d.ts +2 -2
  166. package/dist/service/cloudfront/command/create-function/create-function.cmd.d.ts.map +1 -1
  167. package/dist/service/cloudfront/command/create-function/create-function.handler.d.ts +8 -1
  168. package/dist/service/cloudfront/command/create-function/create-function.handler.d.ts.map +1 -1
  169. package/dist/service/cloudfront/command/create-function/create-function.handler.js +12 -3
  170. package/dist/service/cloudfront/command/create-function/create-function.handler.js.map +1 -1
  171. package/dist/service/cloudfront/command/get-distribution/get-distribution-authorizer.d.ts +27 -0
  172. package/dist/service/cloudfront/command/get-distribution/get-distribution-authorizer.d.ts.map +1 -0
  173. package/dist/service/cloudfront/command/get-distribution/get-distribution-authorizer.js +36 -0
  174. package/dist/service/cloudfront/command/get-distribution/get-distribution-authorizer.js.map +1 -0
  175. package/dist/service/cloudfront/command/get-distribution/get-distribution.cmd.d.ts +2 -2
  176. package/dist/service/cloudfront/command/get-distribution/get-distribution.cmd.d.ts.map +1 -1
  177. package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.d.ts +10 -1
  178. package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.d.ts.map +1 -1
  179. package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.js +10 -2
  180. package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.js.map +1 -1
  181. package/dist/service/cloudfront/controller/sim-cloudfront-controller.d.ts.map +1 -1
  182. package/dist/service/cloudfront/controller/sim-cloudfront-controller.js +2 -1
  183. package/dist/service/cloudfront/controller/sim-cloudfront-controller.js.map +1 -1
  184. package/dist/service/cloudfront/distribution/configurator/sim-cff-associations-configure.d.ts.map +1 -1
  185. package/dist/service/cloudfront/distribution/configurator/sim-cff-associations-configure.js +19 -16
  186. package/dist/service/cloudfront/distribution/configurator/sim-cff-associations-configure.js.map +1 -1
  187. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.js +3 -3
  188. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.js.map +1 -1
  189. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts +2 -2
  190. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts.map +1 -1
  191. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js +3 -3
  192. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js.map +1 -1
  193. package/dist/service/cloudfront/origin/s3/sim-cloudfront-s3-origin.d.ts.map +1 -1
  194. package/dist/service/cloudfront/origin/s3/sim-cloudfront-s3-origin.js +3 -2
  195. package/dist/service/cloudfront/origin/s3/sim-cloudfront-s3-origin.js.map +1 -1
  196. package/dist/service/cloudfront/resolver/sim-cloud-front-behavior-resolver.d.ts.map +1 -1
  197. package/dist/service/cloudfront/resolver/sim-cloud-front-behavior-resolver.js +6 -3
  198. package/dist/service/cloudfront/resolver/sim-cloud-front-behavior-resolver.js.map +1 -1
  199. package/dist/service/cloudfront/router/alternate-domain/sim-cf-alternate-domain-router.js +3 -1
  200. package/dist/service/cloudfront/router/alternate-domain/sim-cf-alternate-domain-router.js.map +1 -1
  201. package/dist/service/cloudfront/router/sim-cloud-front-distro-router.d.ts.map +1 -1
  202. package/dist/service/cloudfront/router/sim-cloud-front-distro-router.js +2 -1
  203. package/dist/service/cloudfront/router/sim-cloud-front-distro-router.js.map +1 -1
  204. package/dist/service/cloudfront/sim-cloudfront.d.ts +10 -3
  205. package/dist/service/cloudfront/sim-cloudfront.d.ts.map +1 -1
  206. package/dist/service/cloudfront/sim-cloudfront.js +14 -7
  207. package/dist/service/cloudfront/sim-cloudfront.js.map +1 -1
  208. package/dist/service/dynamodb/command/list-tables/list-tables.handler.js +1 -1
  209. package/dist/service/dynamodb/command/list-tables/list-tables.handler.js.map +1 -1
  210. package/dist/service/dynamodb/item/dynamodb-item-attribute.d.ts.map +1 -1
  211. package/dist/service/dynamodb/item/dynamodb-item-attribute.js +10 -7
  212. package/dist/service/dynamodb/item/dynamodb-item-attribute.js.map +1 -1
  213. package/dist/service/dynamodb/table/dynamodb-key-schema.d.ts +3 -6
  214. package/dist/service/dynamodb/table/dynamodb-key-schema.d.ts.map +1 -1
  215. package/dist/service/dynamodb/table/dynamodb-key-schema.js +12 -12
  216. package/dist/service/dynamodb/table/dynamodb-key-schema.js.map +1 -1
  217. package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-auth-z-id-pol-coordinator.d.ts +38 -0
  218. package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-auth-z-id-pol-coordinator.d.ts.map +1 -0
  219. package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-auth-z-id-pol-coordinator.js +41 -0
  220. package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-auth-z-id-pol-coordinator.js.map +1 -0
  221. package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-id-pol-owner-resolver.d.ts +54 -0
  222. package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-id-pol-owner-resolver.d.ts.map +1 -0
  223. package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-id-pol-owner-resolver.js +52 -0
  224. package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-id-pol-owner-resolver.js.map +1 -0
  225. package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-id-pol-owner-src-builder.d.ts +51 -0
  226. package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-id-pol-owner-src-builder.d.ts.map +1 -0
  227. package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-id-pol-owner-src-builder.js +74 -0
  228. package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-id-pol-owner-src-builder.js.map +1 -0
  229. package/dist/service/iam/authorize/context/sim-iam-auth-z-caller-context-builder.d.ts +9 -27
  230. package/dist/service/iam/authorize/context/sim-iam-auth-z-caller-context-builder.d.ts.map +1 -1
  231. package/dist/service/iam/authorize/context/sim-iam-auth-z-caller-context-builder.js +12 -39
  232. package/dist/service/iam/authorize/context/sim-iam-auth-z-caller-context-builder.js.map +1 -1
  233. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts +30 -10
  234. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts.map +1 -1
  235. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js +30 -9
  236. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js.map +1 -1
  237. package/dist/service/iam/authorize/context/sim-iam-auth-z-context.d.ts +11 -4
  238. package/dist/service/iam/authorize/context/sim-iam-auth-z-context.d.ts.map +1 -1
  239. package/dist/service/iam/authorize/context/sim-iam-auth-z-context.factory.d.ts +2 -2
  240. package/dist/service/iam/authorize/context/sim-iam-auth-z-context.factory.d.ts.map +1 -1
  241. package/dist/service/iam/authorize/context/sim-iam-auth-z-context.factory.js +12 -1
  242. package/dist/service/iam/authorize/context/sim-iam-auth-z-context.factory.js.map +1 -1
  243. package/dist/service/iam/authorize/match/condition/numeric/less-than-equals/sim-iam-num-lte.d.ts +34 -0
  244. package/dist/service/iam/authorize/match/condition/numeric/less-than-equals/sim-iam-num-lte.d.ts.map +1 -0
  245. package/dist/service/iam/authorize/match/condition/numeric/less-than-equals/sim-iam-num-lte.js +52 -0
  246. package/dist/service/iam/authorize/match/condition/numeric/less-than-equals/sim-iam-num-lte.js.map +1 -0
  247. package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator-parser.d.ts +14 -0
  248. package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator-parser.d.ts.map +1 -0
  249. package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator-parser.js +46 -0
  250. package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator-parser.js.map +1 -0
  251. package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator.d.ts +15 -0
  252. package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator.d.ts.map +1 -0
  253. package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator.js +2 -0
  254. package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator.js.map +1 -0
  255. package/dist/service/iam/authorize/match/condition/sim-iam-policy-condition-matcher.d.ts +27 -0
  256. package/dist/service/iam/authorize/match/condition/sim-iam-policy-condition-matcher.d.ts.map +1 -0
  257. package/dist/service/iam/authorize/match/condition/sim-iam-policy-condition-matcher.js +52 -0
  258. package/dist/service/iam/authorize/match/condition/sim-iam-policy-condition-matcher.js.map +1 -0
  259. package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-condition-operator.d.ts +13 -0
  260. package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-condition-operator.d.ts.map +1 -0
  261. package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-condition-operator.js +21 -0
  262. package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-condition-operator.js.map +1 -0
  263. package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-equals.d.ts +8 -0
  264. package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-equals.d.ts.map +1 -0
  265. package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-equals.js +10 -0
  266. package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-equals.js.map +1 -0
  267. package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-like.d.ts +8 -0
  268. package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-like.d.ts.map +1 -0
  269. package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-like.js +13 -0
  270. package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-like.js.map +1 -0
  271. package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-condition-operator.d.ts +13 -0
  272. package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-condition-operator.d.ts.map +1 -0
  273. package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-condition-operator.js +21 -0
  274. package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-condition-operator.js.map +1 -0
  275. package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-equals.d.ts +8 -0
  276. package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-equals.d.ts.map +1 -0
  277. package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-equals.js +10 -0
  278. package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-equals.js.map +1 -0
  279. package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-like.d.ts +8 -0
  280. package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-like.d.ts.map +1 -0
  281. package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-like.js +13 -0
  282. package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-like.js.map +1 -0
  283. package/dist/service/iam/authorize/match/condition/string/equals/sim-iam-string-equals.d.ts +8 -0
  284. package/dist/service/iam/authorize/match/condition/string/equals/sim-iam-string-equals.d.ts.map +1 -0
  285. package/dist/service/iam/authorize/match/condition/string/equals/sim-iam-string-equals.js +10 -0
  286. package/dist/service/iam/authorize/match/condition/string/equals/sim-iam-string-equals.js.map +1 -0
  287. package/dist/service/iam/authorize/match/condition/string/like/sim-iam-string-like.d.ts +8 -0
  288. package/dist/service/iam/authorize/match/condition/string/like/sim-iam-string-like.d.ts.map +1 -0
  289. package/dist/service/iam/authorize/match/condition/string/like/sim-iam-string-like.js +13 -0
  290. package/dist/service/iam/authorize/match/condition/string/like/sim-iam-string-like.js.map +1 -0
  291. package/dist/service/iam/authorize/match/condition/string/sim-iam-scalar-string-condition-operator.d.ts +16 -0
  292. package/dist/service/iam/authorize/match/condition/string/sim-iam-scalar-string-condition-operator.d.ts.map +1 -0
  293. package/dist/service/iam/authorize/match/condition/string/sim-iam-scalar-string-condition-operator.js +20 -0
  294. package/dist/service/iam/authorize/match/condition/string/sim-iam-scalar-string-condition-operator.js.map +1 -0
  295. package/dist/service/iam/authorize/match/condition/string/sim-iam-string-values.d.ts +8 -0
  296. package/dist/service/iam/authorize/match/condition/string/sim-iam-string-values.d.ts.map +1 -0
  297. package/dist/service/iam/authorize/match/condition/string/sim-iam-string-values.js +17 -0
  298. package/dist/service/iam/authorize/match/condition/string/sim-iam-string-values.js.map +1 -0
  299. package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.d.ts +59 -0
  300. package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.d.ts.map +1 -0
  301. package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.js +119 -0
  302. package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.js.map +1 -0
  303. package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.d.ts +14 -31
  304. package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.d.ts.map +1 -1
  305. package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.js +25 -80
  306. package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.js.map +1 -1
  307. package/dist/service/iam/authorize/sim-iam-authorizer.d.ts +5 -1
  308. package/dist/service/iam/authorize/sim-iam-authorizer.d.ts.map +1 -1
  309. package/dist/service/iam/authorize/sim-iam-authorizer.js +1 -1
  310. package/dist/service/iam/authorize/sim-iam-authorizer.js.map +1 -1
  311. package/dist/service/iam/authorize/sim-iam-decision.d.ts +19 -0
  312. package/dist/service/iam/authorize/sim-iam-decision.d.ts.map +1 -1
  313. package/dist/service/iam/authorize/sim-iam-decision.js +27 -0
  314. package/dist/service/iam/authorize/sim-iam-decision.js.map +1 -1
  315. package/dist/service/iam/authorize/sim-iam-inter-service-auth-z.d.ts +53 -0
  316. package/dist/service/iam/authorize/sim-iam-inter-service-auth-z.d.ts.map +1 -0
  317. package/dist/service/iam/authorize/sim-iam-inter-service-auth-z.js +38 -0
  318. package/dist/service/iam/authorize/sim-iam-inter-service-auth-z.js.map +1 -0
  319. package/dist/service/iam/authorize/sim-iam-wildcard.d.ts +1 -1
  320. package/dist/service/iam/authorize/sim-iam-wildcard.js +7 -5
  321. package/dist/service/iam/authorize/sim-iam-wildcard.js.map +1 -1
  322. package/dist/service/iam/command/policy/list-policies/list-policies.handler.d.ts +2 -2
  323. package/dist/service/iam/command/policy/list-policies/list-policies.handler.d.ts.map +1 -1
  324. package/dist/service/iam/command/policy/list-policies/list-policies.handler.js +10 -10
  325. package/dist/service/iam/command/policy/list-policies/list-policies.handler.js.map +1 -1
  326. package/dist/service/iam/command/policy/put-role-policy/put-role-policy.handler.d.ts.map +1 -1
  327. package/dist/service/iam/command/policy/put-role-policy/put-role-policy.handler.js +2 -2
  328. package/dist/service/iam/command/policy/put-role-policy/put-role-policy.handler.js.map +1 -1
  329. package/dist/service/iam/command/policy/put-user-policy/put-user-policy.cmd.d.ts +12 -0
  330. package/dist/service/iam/command/policy/put-user-policy/put-user-policy.cmd.d.ts.map +1 -0
  331. package/dist/service/iam/command/policy/put-user-policy/put-user-policy.cmd.js +2 -0
  332. package/dist/service/iam/command/policy/put-user-policy/put-user-policy.cmd.js.map +1 -0
  333. package/dist/service/iam/command/policy/put-user-policy/put-user-policy.handler.d.ts +28 -0
  334. package/dist/service/iam/command/policy/put-user-policy/put-user-policy.handler.d.ts.map +1 -0
  335. package/dist/service/iam/command/policy/put-user-policy/put-user-policy.handler.js +43 -0
  336. package/dist/service/iam/command/policy/put-user-policy/put-user-policy.handler.js.map +1 -0
  337. package/dist/service/iam/command/role/create-role/create-role.handler.d.ts +2 -1
  338. package/dist/service/iam/command/role/create-role/create-role.handler.d.ts.map +1 -1
  339. package/dist/service/iam/command/role/create-role/create-role.handler.js +6 -3
  340. package/dist/service/iam/command/role/create-role/create-role.handler.js.map +1 -1
  341. package/dist/service/iam/command/role/get-role/get-role.cmd.d.ts +2 -1
  342. package/dist/service/iam/command/role/get-role/get-role.cmd.d.ts.map +1 -1
  343. package/dist/service/iam/command/role/list-roles/list-roles.handler.d.ts +2 -2
  344. package/dist/service/iam/command/role/list-roles/list-roles.handler.d.ts.map +1 -1
  345. package/dist/service/iam/command/role/list-roles/list-roles.handler.js +11 -11
  346. package/dist/service/iam/command/role/list-roles/list-roles.handler.js.map +1 -1
  347. package/dist/service/iam/command/user/create-access-key/create-access-key.cmd.d.ts +17 -0
  348. package/dist/service/iam/command/user/create-access-key/create-access-key.cmd.d.ts.map +1 -0
  349. package/dist/service/iam/command/user/create-access-key/create-access-key.cmd.js +2 -0
  350. package/dist/service/iam/command/user/create-access-key/create-access-key.cmd.js.map +1 -0
  351. package/dist/service/iam/command/user/create-access-key/create-access-key.handler.d.ts +28 -0
  352. package/dist/service/iam/command/user/create-access-key/create-access-key.handler.d.ts.map +1 -0
  353. package/dist/service/iam/command/user/create-access-key/create-access-key.handler.js +59 -0
  354. package/dist/service/iam/command/user/create-access-key/create-access-key.handler.js.map +1 -0
  355. package/dist/service/iam/command/user/create-user/create-user-record-factory.d.ts +25 -0
  356. package/dist/service/iam/command/user/create-user/create-user-record-factory.d.ts.map +1 -0
  357. package/dist/service/iam/command/user/create-user/create-user-record-factory.js +39 -0
  358. package/dist/service/iam/command/user/create-user/create-user-record-factory.js.map +1 -0
  359. package/dist/service/iam/command/user/create-user/create-user.cmd.d.ts +18 -0
  360. package/dist/service/iam/command/user/create-user/create-user.cmd.d.ts.map +1 -0
  361. package/dist/service/iam/command/user/create-user/create-user.cmd.js +2 -0
  362. package/dist/service/iam/command/user/create-user/create-user.cmd.js.map +1 -0
  363. package/dist/service/iam/command/user/create-user/create-user.handler.d.ts +26 -0
  364. package/dist/service/iam/command/user/create-user/create-user.handler.d.ts.map +1 -0
  365. package/dist/service/iam/command/user/create-user/create-user.handler.js +47 -0
  366. package/dist/service/iam/command/user/create-user/create-user.handler.js.map +1 -0
  367. package/dist/service/iam/credential/error/sim-iam-credential.error.d.ts +36 -0
  368. package/dist/service/iam/credential/error/sim-iam-credential.error.d.ts.map +1 -0
  369. package/dist/service/iam/credential/error/sim-iam-credential.error.js +66 -0
  370. package/dist/service/iam/credential/error/sim-iam-credential.error.js.map +1 -0
  371. package/dist/service/iam/credential/session/sim-iam-assumed-role-principal-factory.d.ts +35 -0
  372. package/dist/service/iam/credential/session/sim-iam-assumed-role-principal-factory.d.ts.map +1 -0
  373. package/dist/service/iam/credential/session/sim-iam-assumed-role-principal-factory.js +46 -0
  374. package/dist/service/iam/credential/session/sim-iam-assumed-role-principal-factory.js.map +1 -0
  375. package/dist/service/iam/credential/session/sim-iam-session-cred-gen.d.ts +21 -0
  376. package/dist/service/iam/credential/session/sim-iam-session-cred-gen.d.ts.map +1 -0
  377. package/dist/service/iam/credential/session/sim-iam-session-cred-gen.js +17 -0
  378. package/dist/service/iam/credential/session/sim-iam-session-cred-gen.js.map +1 -0
  379. package/dist/service/iam/credential/session/sim-iam-session-manager.d.ts +44 -0
  380. package/dist/service/iam/credential/session/sim-iam-session-manager.d.ts.map +1 -0
  381. package/dist/service/iam/credential/session/sim-iam-session-manager.js +62 -0
  382. package/dist/service/iam/credential/session/sim-iam-session-manager.js.map +1 -0
  383. package/dist/service/iam/credential/session/sim-iam-session.d.ts +33 -0
  384. package/dist/service/iam/credential/session/sim-iam-session.d.ts.map +1 -0
  385. package/dist/service/iam/credential/session/sim-iam-session.js +40 -0
  386. package/dist/service/iam/credential/session/sim-iam-session.js.map +1 -0
  387. package/dist/service/iam/credential/sim-aws-credentials.d.ts +21 -0
  388. package/dist/service/iam/credential/sim-aws-credentials.d.ts.map +1 -0
  389. package/dist/service/iam/credential/sim-aws-credentials.js +2 -0
  390. package/dist/service/iam/credential/sim-aws-credentials.js.map +1 -0
  391. package/dist/service/iam/credential/sim-iam-access-key.d.ts +44 -0
  392. package/dist/service/iam/credential/sim-iam-access-key.d.ts.map +1 -0
  393. package/dist/service/iam/credential/sim-iam-access-key.js +57 -0
  394. package/dist/service/iam/credential/sim-iam-access-key.js.map +1 -0
  395. package/dist/service/iam/credential/sim-iam-credential-registry.d.ts +21 -0
  396. package/dist/service/iam/credential/sim-iam-credential-registry.d.ts.map +1 -0
  397. package/dist/service/iam/credential/sim-iam-credential-registry.js +75 -0
  398. package/dist/service/iam/credential/sim-iam-credential-registry.js.map +1 -0
  399. package/dist/service/iam/credential/user/sim-iam-user-credential-generator.d.ts +20 -0
  400. package/dist/service/iam/credential/user/sim-iam-user-credential-generator.d.ts.map +1 -0
  401. package/dist/service/iam/credential/user/sim-iam-user-credential-generator.js +16 -0
  402. package/dist/service/iam/credential/user/sim-iam-user-credential-generator.js.map +1 -0
  403. package/dist/service/iam/error/sim-iam-caller-identifier.d.ts +25 -0
  404. package/dist/service/iam/error/sim-iam-caller-identifier.d.ts.map +1 -0
  405. package/dist/service/iam/error/sim-iam-caller-identifier.js +32 -0
  406. package/dist/service/iam/error/sim-iam-caller-identifier.js.map +1 -0
  407. package/dist/service/iam/error/sim-iam.error.d.ts +26 -0
  408. package/dist/service/iam/error/sim-iam.error.d.ts.map +1 -1
  409. package/dist/service/iam/error/sim-iam.error.js +25 -0
  410. package/dist/service/iam/error/sim-iam.error.js.map +1 -1
  411. package/dist/service/iam/policy/sim-iam-policy.d.ts +4 -2
  412. package/dist/service/iam/policy/sim-iam-policy.d.ts.map +1 -1
  413. package/dist/service/iam/registry/sim-iam-account-resolver.d.ts +16 -0
  414. package/dist/service/iam/registry/sim-iam-account-resolver.d.ts.map +1 -0
  415. package/dist/service/iam/registry/sim-iam-account-resolver.js +2 -0
  416. package/dist/service/iam/registry/sim-iam-account-resolver.js.map +1 -0
  417. package/dist/service/iam/registry/sim-iam-registry.d.ts +19 -73
  418. package/dist/service/iam/registry/sim-iam-registry.d.ts.map +1 -1
  419. package/dist/service/iam/registry/sim-iam-registry.js +25 -85
  420. package/dist/service/iam/registry/sim-iam-registry.js.map +1 -1
  421. package/dist/service/iam/role/arn/sim-iam-role-arn-parser.d.ts +16 -0
  422. package/dist/service/iam/role/arn/sim-iam-role-arn-parser.d.ts.map +1 -0
  423. package/dist/service/iam/role/arn/sim-iam-role-arn-parser.js +41 -0
  424. package/dist/service/iam/role/arn/sim-iam-role-arn-parser.js.map +1 -0
  425. package/dist/service/iam/role/arn/sim-iam-role-arn.d.ts +14 -0
  426. package/dist/service/iam/role/arn/sim-iam-role-arn.d.ts.map +1 -0
  427. package/dist/service/iam/role/arn/sim-iam-role-arn.js +9 -0
  428. package/dist/service/iam/role/arn/sim-iam-role-arn.js.map +1 -0
  429. package/dist/service/iam/role/sim-iam-role.factory.js +1 -1
  430. package/dist/service/iam/role/sim-iam-role.factory.js.map +1 -1
  431. package/dist/service/iam/sim-iam.d.ts +38 -5
  432. package/dist/service/iam/sim-iam.d.ts.map +1 -1
  433. package/dist/service/iam/sim-iam.js +69 -14
  434. package/dist/service/iam/sim-iam.js.map +1 -1
  435. package/dist/service/iam/user/arn/sim-iam-user-arn.d.ts +14 -0
  436. package/dist/service/iam/user/arn/sim-iam-user-arn.d.ts.map +1 -0
  437. package/dist/service/iam/user/arn/sim-iam-user-arn.js +8 -0
  438. package/dist/service/iam/user/arn/sim-iam-user-arn.js.map +1 -0
  439. package/dist/service/iam/user/sim-iam-user-id.d.ts +6 -0
  440. package/dist/service/iam/user/sim-iam-user-id.d.ts.map +1 -0
  441. package/dist/service/iam/user/sim-iam-user-id.js +10 -0
  442. package/dist/service/iam/user/sim-iam-user-id.js.map +1 -0
  443. package/dist/service/iam/user/sim-iam-user-path.d.ts +5 -0
  444. package/dist/service/iam/user/sim-iam-user-path.d.ts.map +1 -0
  445. package/dist/service/iam/user/sim-iam-user-path.js +13 -0
  446. package/dist/service/iam/user/sim-iam-user-path.js.map +1 -0
  447. package/dist/service/iam/user/sim-iam-user.d.ts +31 -0
  448. package/dist/service/iam/user/sim-iam-user.d.ts.map +1 -0
  449. package/dist/service/iam/user/sim-iam-user.js +2 -0
  450. package/dist/service/iam/user/sim-iam-user.js.map +1 -0
  451. package/dist/service/iam/validate/trust/sim-iam-trust-policy-doc-validator.d.ts +22 -0
  452. package/dist/service/iam/validate/trust/sim-iam-trust-policy-doc-validator.d.ts.map +1 -0
  453. package/dist/service/iam/validate/trust/sim-iam-trust-policy-doc-validator.js +85 -0
  454. package/dist/service/iam/validate/trust/sim-iam-trust-policy-doc-validator.js.map +1 -0
  455. package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.d.ts.map +1 -1
  456. package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.js +2 -1
  457. package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.js.map +1 -1
  458. package/dist/service/route53/cfn/record-set/build/sim-cfn-r53-record-set-builder.d.ts.map +1 -1
  459. package/dist/service/route53/cfn/record-set/build/sim-cfn-r53-record-set-builder.js +3 -2
  460. package/dist/service/route53/cfn/record-set/build/sim-cfn-r53-record-set-builder.js.map +1 -1
  461. package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-rec-set-zone-resolver.js +3 -1
  462. package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-rec-set-zone-resolver.js.map +1 -1
  463. package/dist/service/route53/command/create-hosted-zone/create-hosted-zone.handler.js +3 -1
  464. package/dist/service/route53/command/create-hosted-zone/create-hosted-zone.handler.js.map +1 -1
  465. package/dist/service/route53/command/list-hosted-zones-by-name/list-hosted-zones-by-name.js +1 -1
  466. package/dist/service/route53/command/list-hosted-zones-by-name/list-hosted-zones-by-name.js.map +1 -1
  467. package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.js +6 -6
  468. package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.js.map +1 -1
  469. package/dist/service/s3/bucket/name-availability/sim-s3-bucket-name-availability.d.ts.map +1 -1
  470. package/dist/service/s3/bucket/name-availability/sim-s3-bucket-name-availability.js +5 -4
  471. package/dist/service/s3/bucket/name-availability/sim-s3-bucket-name-availability.js.map +1 -1
  472. package/dist/service/s3/bucket/sim-s3-bucket.d.ts +11 -0
  473. package/dist/service/s3/bucket/sim-s3-bucket.d.ts.map +1 -1
  474. package/dist/service/s3/bucket/sim-s3-bucket.js +15 -1
  475. package/dist/service/s3/bucket/sim-s3-bucket.js.map +1 -1
  476. package/dist/service/s3/bucket/website/redirect/s3-bucket-website-redirects.d.ts.map +1 -1
  477. package/dist/service/s3/bucket/website/redirect/s3-bucket-website-redirects.js +6 -3
  478. package/dist/service/s3/bucket/website/redirect/s3-bucket-website-redirects.js.map +1 -1
  479. package/dist/service/s3/bucket/website/sim-s3-bucket-website.js +1 -1
  480. package/dist/service/s3/bucket/website/sim-s3-bucket-website.js.map +1 -1
  481. package/dist/service/s3/command/create-bucket/create-bucket.handler.d.ts +8 -1
  482. package/dist/service/s3/command/create-bucket/create-bucket.handler.d.ts.map +1 -1
  483. package/dist/service/s3/command/create-bucket/create-bucket.handler.js +23 -5
  484. package/dist/service/s3/command/create-bucket/create-bucket.handler.js.map +1 -1
  485. package/dist/service/s3/command/get-object/get-object-authorizer.d.ts +24 -0
  486. package/dist/service/s3/command/get-object/get-object-authorizer.d.ts.map +1 -0
  487. package/dist/service/s3/command/get-object/get-object-authorizer.js +44 -0
  488. package/dist/service/s3/command/get-object/get-object-authorizer.js.map +1 -0
  489. package/dist/service/s3/command/get-object/get-object-loader.d.ts +26 -0
  490. package/dist/service/s3/command/get-object/get-object-loader.d.ts.map +1 -0
  491. package/dist/service/s3/command/get-object/get-object-loader.js +36 -0
  492. package/dist/service/s3/command/get-object/get-object-loader.js.map +1 -0
  493. package/dist/service/s3/command/get-object/get-object.handler.d.ts +18 -2
  494. package/dist/service/s3/command/get-object/get-object.handler.d.ts.map +1 -1
  495. package/dist/service/s3/command/get-object/get-object.handler.js +21 -15
  496. package/dist/service/s3/command/get-object/get-object.handler.js.map +1 -1
  497. package/dist/service/s3/command/list-buckets/list-buckets-authorizer.d.ts +34 -0
  498. package/dist/service/s3/command/list-buckets/list-buckets-authorizer.d.ts.map +1 -0
  499. package/dist/service/s3/command/list-buckets/list-buckets-authorizer.js +44 -0
  500. package/dist/service/s3/command/list-buckets/list-buckets-authorizer.js.map +1 -0
  501. package/dist/service/s3/command/list-buckets/list-buckets-page-builder.d.ts +65 -0
  502. package/dist/service/s3/command/list-buckets/list-buckets-page-builder.d.ts.map +1 -0
  503. package/dist/service/s3/command/list-buckets/list-buckets-page-builder.js +94 -0
  504. package/dist/service/s3/command/list-buckets/list-buckets-page-builder.js.map +1 -0
  505. package/dist/service/s3/command/list-buckets/list-buckets.handler.d.ts +16 -4
  506. package/dist/service/s3/command/list-buckets/list-buckets.handler.d.ts.map +1 -1
  507. package/dist/service/s3/command/list-buckets/list-buckets.handler.js +18 -34
  508. package/dist/service/s3/command/list-buckets/list-buckets.handler.js.map +1 -1
  509. package/dist/service/s3/command/list-objects/list-objects-authorizer.d.ts +35 -0
  510. package/dist/service/s3/command/list-objects/list-objects-authorizer.d.ts.map +1 -0
  511. package/dist/service/s3/command/list-objects/list-objects-authorizer.js +53 -0
  512. package/dist/service/s3/command/list-objects/list-objects-authorizer.js.map +1 -0
  513. package/dist/service/s3/command/list-objects/list-objects-page-builder.d.ts +30 -0
  514. package/dist/service/s3/command/list-objects/list-objects-page-builder.d.ts.map +1 -0
  515. package/dist/service/s3/command/list-objects/list-objects-page-builder.js +43 -0
  516. package/dist/service/s3/command/list-objects/list-objects-page-builder.js.map +1 -0
  517. package/dist/service/s3/command/list-objects/list-objects.handler.d.ts +14 -2
  518. package/dist/service/s3/command/list-objects/list-objects.handler.d.ts.map +1 -1
  519. package/dist/service/s3/command/list-objects/list-objects.handler.js +26 -27
  520. package/dist/service/s3/command/list-objects/list-objects.handler.js.map +1 -1
  521. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy-authorizer.d.ts +20 -0
  522. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy-authorizer.d.ts.map +1 -0
  523. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy-authorizer.js +30 -0
  524. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy-authorizer.js.map +1 -0
  525. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.cmd.d.ts +21 -0
  526. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.cmd.d.ts.map +1 -0
  527. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.cmd.js +2 -0
  528. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.cmd.js.map +1 -0
  529. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.d.ts +30 -0
  530. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.d.ts.map +1 -0
  531. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.js +43 -0
  532. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.js.map +1 -0
  533. package/dist/service/s3/command/put-bucket-website/put-bucket-website-authorizer.d.ts +37 -0
  534. package/dist/service/s3/command/put-bucket-website/put-bucket-website-authorizer.d.ts.map +1 -0
  535. package/dist/service/s3/command/put-bucket-website/put-bucket-website-authorizer.js +47 -0
  536. package/dist/service/s3/command/put-bucket-website/put-bucket-website-authorizer.js.map +1 -0
  537. package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.d.ts +13 -1
  538. package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.d.ts.map +1 -1
  539. package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.js +12 -2
  540. package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.js.map +1 -1
  541. package/dist/service/s3/command/put-object/put-object-authorizer.d.ts +24 -0
  542. package/dist/service/s3/command/put-object/put-object-authorizer.d.ts.map +1 -0
  543. package/dist/service/s3/command/put-object/put-object-authorizer.js +44 -0
  544. package/dist/service/s3/command/put-object/put-object-authorizer.js.map +1 -0
  545. package/dist/service/s3/command/put-object/put-object-builder.d.ts +45 -0
  546. package/dist/service/s3/command/put-object/put-object-builder.d.ts.map +1 -0
  547. package/dist/service/s3/command/put-object/put-object-builder.js +70 -0
  548. package/dist/service/s3/command/put-object/put-object-builder.js.map +1 -0
  549. package/dist/service/s3/command/put-object/put-object.handler.d.ts +19 -4
  550. package/dist/service/s3/command/put-object/put-object.handler.d.ts.map +1 -1
  551. package/dist/service/s3/command/put-object/put-object.handler.js +19 -28
  552. package/dist/service/s3/command/put-object/put-object.handler.js.map +1 -1
  553. package/dist/service/s3/serve/sim-s3-get-obj-controller.js +1 -1
  554. package/dist/service/s3/serve/sim-s3-get-obj-controller.js.map +1 -1
  555. package/dist/service/s3/sim-s3.d.ts +18 -6
  556. package/dist/service/s3/sim-s3.d.ts.map +1 -1
  557. package/dist/service/s3/sim-s3.js +34 -13
  558. package/dist/service/s3/sim-s3.js.map +1 -1
  559. package/dist/service/s3/storage/s3-memory-storage.js +1 -1
  560. package/dist/service/s3/storage/s3-memory-storage.js.map +1 -1
  561. package/dist/service/sts/assume/sim-sts-assume-role-request-parser.d.ts +57 -0
  562. package/dist/service/sts/assume/sim-sts-assume-role-request-parser.d.ts.map +1 -0
  563. package/dist/service/sts/assume/sim-sts-assume-role-request-parser.js +79 -0
  564. package/dist/service/sts/assume/sim-sts-assume-role-request-parser.js.map +1 -0
  565. package/dist/service/sts/assume/sim-sts-assume-role-session-creator.d.ts +52 -0
  566. package/dist/service/sts/assume/sim-sts-assume-role-session-creator.d.ts.map +1 -0
  567. package/dist/service/sts/assume/sim-sts-assume-role-session-creator.js +64 -0
  568. package/dist/service/sts/assume/sim-sts-assume-role-session-creator.js.map +1 -0
  569. package/dist/service/sts/auth-z/assume-role-auth-z-coordinator.d.ts +57 -0
  570. package/dist/service/sts/auth-z/assume-role-auth-z-coordinator.d.ts.map +1 -0
  571. package/dist/service/sts/auth-z/assume-role-auth-z-coordinator.js +68 -0
  572. package/dist/service/sts/auth-z/assume-role-auth-z-coordinator.js.map +1 -0
  573. package/dist/service/sts/auth-z/assume-role-src-acc-auth-z.d.ts +45 -0
  574. package/dist/service/sts/auth-z/assume-role-src-acc-auth-z.d.ts.map +1 -0
  575. package/dist/service/sts/auth-z/assume-role-src-acc-auth-z.js +48 -0
  576. package/dist/service/sts/auth-z/assume-role-src-acc-auth-z.js.map +1 -0
  577. package/dist/service/sts/auth-z/assume-role-target-auth-z.d.ts +48 -0
  578. package/dist/service/sts/auth-z/assume-role-target-auth-z.d.ts.map +1 -0
  579. package/dist/service/sts/auth-z/assume-role-target-auth-z.js +50 -0
  580. package/dist/service/sts/auth-z/assume-role-target-auth-z.js.map +1 -0
  581. package/dist/service/sts/auth-z/assume-role-trust-grant-classifier.d.ts +57 -0
  582. package/dist/service/sts/auth-z/assume-role-trust-grant-classifier.d.ts.map +1 -0
  583. package/dist/service/sts/auth-z/assume-role-trust-grant-classifier.js +85 -0
  584. package/dist/service/sts/auth-z/assume-role-trust-grant-classifier.js.map +1 -0
  585. package/dist/service/sts/auth-z/assume-role-trust-policy-authorizer.d.ts +45 -0
  586. package/dist/service/sts/auth-z/assume-role-trust-policy-authorizer.d.ts.map +1 -0
  587. package/dist/service/sts/auth-z/assume-role-trust-policy-authorizer.js +64 -0
  588. package/dist/service/sts/auth-z/assume-role-trust-policy-authorizer.js.map +1 -0
  589. package/dist/service/sts/auth-z/resolve/assume-role-target-resolver.d.ts +44 -0
  590. package/dist/service/sts/auth-z/resolve/assume-role-target-resolver.d.ts.map +1 -0
  591. package/dist/service/sts/auth-z/resolve/assume-role-target-resolver.js +62 -0
  592. package/dist/service/sts/auth-z/resolve/assume-role-target-resolver.js.map +1 -0
  593. package/dist/service/sts/command/assume-role/assume-role.cmd.d.ts +45 -0
  594. package/dist/service/sts/command/assume-role/assume-role.cmd.d.ts.map +1 -0
  595. package/dist/service/sts/command/assume-role/assume-role.cmd.js +2 -0
  596. package/dist/service/sts/command/assume-role/assume-role.cmd.js.map +1 -0
  597. package/dist/service/sts/command/assume-role/assume-role.handler.d.ts +40 -0
  598. package/dist/service/sts/command/assume-role/assume-role.handler.d.ts.map +1 -0
  599. package/dist/service/sts/command/assume-role/assume-role.handler.js +69 -0
  600. package/dist/service/sts/command/assume-role/assume-role.handler.js.map +1 -0
  601. package/dist/service/sts/sim-sts.d.ts +31 -0
  602. package/dist/service/sts/sim-sts.d.ts.map +1 -0
  603. package/dist/service/sts/sim-sts.js +34 -0
  604. package/dist/service/sts/sim-sts.js.map +1 -0
  605. package/dist/tsconfig.tsbuildinfo +1 -1
  606. package/dist/util/background/background.d.ts.map +1 -1
  607. package/dist/util/background/background.js +2 -0
  608. package/dist/util/background/background.js.map +1 -1
  609. package/dist/util/background/non-deterministic-background.d.ts.map +1 -1
  610. package/dist/util/background/non-deterministic-background.js +1 -0
  611. package/dist/util/background/non-deterministic-background.js.map +1 -1
  612. package/package.json +23 -22
@@ -28,12 +28,22 @@ export class SimIamPolicyDecision {
28
28
  statementMatcher;
29
29
  explicitDenyStatementRecords = [];
30
30
  allowStatementRecords = [];
31
+ trustAllowStatementRecords = [];
31
32
  constructor(request, policyDocumentParser = new SimIamPolicyDocumentParser()) {
32
33
  this.request = request;
33
34
  this.policyDocumentParser = policyDocumentParser;
34
35
  this.statementMatcher = new SimIamPolicyStatementMatcher(request);
35
36
  this.evaluate();
36
37
  }
38
+ /**
39
+ * Resolved caller against which this authorization decision was evaluated.
40
+ *
41
+ * This includes IAM's default account-root caller when the authorization input
42
+ * omitted a caller.
43
+ */
44
+ get caller() {
45
+ return this.request.caller;
46
+ }
37
47
  /**
38
48
  * Final IAM decision value.
39
49
  */
@@ -70,6 +80,14 @@ export class SimIamPolicyDecision {
70
80
  get isImplicitDeny() {
71
81
  return this.value === SimIamPolicyDecisionValue.ImplicitDeny;
72
82
  }
83
+ /**
84
+ * Whether a matching trust-policy statement explicitly allows the request.
85
+ *
86
+ * An identity-policy Allow cannot substitute for the target role's trust.
87
+ */
88
+ get isAllowedByTrustPolicy() {
89
+ return this.trustAllowStatementRecords.length > 0;
90
+ }
73
91
  /**
74
92
  * Matching explicit Deny statements.
75
93
  */
@@ -82,6 +100,12 @@ export class SimIamPolicyDecision {
82
100
  get allowStatements() {
83
101
  return this.allowStatementRecords;
84
102
  }
103
+ /**
104
+ * Matching Allow statements originating from trust policies.
105
+ */
106
+ get trustAllowStatements() {
107
+ return this.trustAllowStatementRecords;
108
+ }
85
109
  evaluate() {
86
110
  for (const policy of [
87
111
  ...this.request.identityPolicies,
@@ -101,6 +125,9 @@ export class SimIamPolicyDecision {
101
125
  continue;
102
126
  }
103
127
  this.allowStatementRecords.push(statement.source);
128
+ if (policy.sourceType === "trust") {
129
+ this.trustAllowStatementRecords.push(statement.source);
130
+ }
104
131
  }
105
132
  }
106
133
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sim-iam-decision.js","sourceRoot":"","sources":["../../../../src/service/iam/authorize/sim-iam-decision.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sim-iam-decision.js","sourceRoot":"","sources":["../../../../src/service/iam/authorize/sim-iam-decision.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import type { SimIamAuthorizationInput } from "./context/sim-iam-auth-z-context-builder.js";
2
+ import type { SimAwsResolvedCaller } from "../../aws/caller/sim-aws-caller-resolver.js";
3
+ /**
4
+ * The part of an IAM authorization decision needed by service integrations.
5
+ *
6
+ * Service command handlers need to know whether authorization succeeded and
7
+ * which caller should appear in an access-denied error. They do not need the
8
+ * policy evaluation details exposed by SimIamPolicyDecision.
9
+ *
10
+ * SimIamPolicyDecision structurally implements this interface, while simpler
11
+ * authorization implementations can return a decision without invoking the IAM
12
+ * policy parser and matcher.
13
+ */
14
+ export interface SimIamAuthorizationDecision {
15
+ readonly caller: SimAwsResolvedCaller;
16
+ readonly isAllowed: boolean;
17
+ readonly isDenied: boolean;
18
+ }
19
+ /**
20
+ * IAM authorization capability consumed by other simulated AWS services.
21
+ *
22
+ * SimIam structurally implements this interface without requiring consumers to
23
+ * depend on the complete IAM service facade or its concrete decision type.
24
+ */
25
+ export interface SimIamInterServiceAuthZ {
26
+ authorize(input: SimIamAuthorizationInput): SimIamAuthorizationDecision;
27
+ }
28
+ /**
29
+ * Permissive authorization used when a service is constructed without IAM.
30
+ *
31
+ * Top-level SimAws service construction supplies the account-scoped SimIam
32
+ * implementation, so requests made through SimAws still evaluate simulated IAM
33
+ * policies. This fallback supports direct construction of service facades and
34
+ * command handlers without creating isolated IAM state.
35
+ *
36
+ * This implementation does not create synthetic policies or use the IAM policy
37
+ * evaluator. Its result therefore remains allowed if IAM later adds principal-
38
+ * specific rules, permission boundaries, service control policies, or other
39
+ * sources of explicit denial.
40
+ */
41
+ export declare class SimIamAllowAllAuth implements SimIamInterServiceAuthZ {
42
+ private readonly callerResolver;
43
+ /**
44
+ * Return an unconditional allowed decision.
45
+ *
46
+ * Caller resolution is retained only for consistent diagnostic metadata. An
47
+ * omitted caller is represented as anonymous because this adapter has no
48
+ * Account from which to derive a root ARN. That representation cannot affect
49
+ * the result because no policies or principal rules are evaluated here.
50
+ */
51
+ authorize(input: SimIamAuthorizationInput): SimIamAuthorizationDecision;
52
+ }
53
+ //# sourceMappingURL=sim-iam-inter-service-auth-z.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-inter-service-auth-z.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/authorize/sim-iam-inter-service-auth-z.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AAC5F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAGxF;;;;;;;;;;GAUG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,KAAK,EAAE,wBAAwB,GAAG,2BAA2B,CAAC;CACzE;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,kBAAmB,YAAW,uBAAuB;IAChE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA8B;IAE7D;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,wBAAwB,GAAG,2BAA2B,CAgBtE;CACF"}
@@ -0,0 +1,38 @@
1
+ import { SimAwsCallerResolver } from "../../aws/caller/sim-aws-caller-resolver.js";
2
+ /**
3
+ * Permissive authorization used when a service is constructed without IAM.
4
+ *
5
+ * Top-level SimAws service construction supplies the account-scoped SimIam
6
+ * implementation, so requests made through SimAws still evaluate simulated IAM
7
+ * policies. This fallback supports direct construction of service facades and
8
+ * command handlers without creating isolated IAM state.
9
+ *
10
+ * This implementation does not create synthetic policies or use the IAM policy
11
+ * evaluator. Its result therefore remains allowed if IAM later adds principal-
12
+ * specific rules, permission boundaries, service control policies, or other
13
+ * sources of explicit denial.
14
+ */
15
+ export class SimIamAllowAllAuth {
16
+ callerResolver = new SimAwsCallerResolver();
17
+ /**
18
+ * Return an unconditional allowed decision.
19
+ *
20
+ * Caller resolution is retained only for consistent diagnostic metadata. An
21
+ * omitted caller is represented as anonymous because this adapter has no
22
+ * Account from which to derive a root ARN. That representation cannot affect
23
+ * the result because no policies or principal rules are evaluated here.
24
+ */
25
+ authorize(input) {
26
+ const caller = input.caller?.kind === "credentials"
27
+ ? this.callerResolver.resolve({ kind: "anonymous" }, { kind: "anonymous" })
28
+ : this.callerResolver.resolve(input.caller, {
29
+ kind: "anonymous",
30
+ });
31
+ return {
32
+ caller,
33
+ isAllowed: true,
34
+ isDenied: false,
35
+ };
36
+ }
37
+ }
38
+ //# sourceMappingURL=sim-iam-inter-service-auth-z.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-inter-service-auth-z.js","sourceRoot":"","sources":["../../../../src/service/iam/authorize/sim-iam-inter-service-auth-z.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AA6BnF;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,kBAAkB;IACZ,cAAc,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAE7D;;;;;;;OAOG;IACH,SAAS,CAAC,KAA+B;QACvC,MAAM,MAAM,GACV,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,aAAa;YAClC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CACzB,EAAE,IAAI,EAAE,WAAW,EAAE,EACrB,EAAE,IAAI,EAAE,WAAW,EAAE,CACtB;YACH,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE;gBACxC,IAAI,EAAE,WAAW;aAClB,CAAC,CAAC;QAET,OAAO;YACL,MAAM;YACN,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC;CACF"}
@@ -4,7 +4,7 @@ interface SimIamWildcardMatchOptions {
4
4
  /**
5
5
  * Match an IAM-style wildcard pattern.
6
6
  *
7
- * Initial support is small: "*" means zero or more characters.
7
+ * "*" means zero or more characters and "?" means exactly one character.
8
8
  */
9
9
  export declare function simIamWildcardMatch(pattern: string, value: string, options: SimIamWildcardMatchOptions): boolean;
10
10
  export {};
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Match an IAM-style wildcard pattern.
3
3
  *
4
- * Initial support is small: "*" means zero or more characters.
4
+ * "*" means zero or more characters and "?" means exactly one character.
5
5
  */
6
6
  export function simIamWildcardMatch(pattern, value, options) {
7
7
  return wildcardMatch(pattern, value, options);
@@ -9,13 +9,15 @@ export function simIamWildcardMatch(pattern, value, options) {
9
9
  function wildcardMatch(pattern, value, options) {
10
10
  const regexPattern = pattern
11
11
  .replaceAll(/[\\^$.*+?()[\]{}|]/gu, String.raw `\$&`)
12
- .replaceAll(String.raw `\*`, ".*");
12
+ .replaceAll(String.raw `\*`, ".*")
13
+ .replaceAll(String.raw `\?`, ".");
13
14
  /*
14
15
  * IAM wildcard patterns are not accepted as regex syntax. They are converted
15
- * from a small wildcard language where only "*" has special meaning. All other
16
- * characters are escaped above.
16
+ * from a small wildcard language where "*" and "?" have special meaning. All
17
+ * other regex characters are escaped above.
17
18
  */
18
19
  // eslint-disable-next-line security/detect-non-literal-regexp
19
- return new RegExp(`^${regexPattern}$`, options.caseSensitive ? "u" : "iu").test(value);
20
+ const regExp = new RegExp(`^${regexPattern}$`, options.caseSensitive ? "u" : "iu");
21
+ return regExp.test(value);
20
22
  }
21
23
  //# sourceMappingURL=sim-iam-wildcard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-iam-wildcard.js","sourceRoot":"","sources":["../../../../src/service/iam/authorize/sim-iam-wildcard.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,KAAa,EACb,OAAmC;IAEnC,OAAO,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,aAAa,CACpB,OAAe,EACf,KAAa,EACb,OAAmC;IAEnC,MAAM,YAAY,GAAG,OAAO;SACzB,UAAU,CAAC,sBAAsB,EAAE,MAAM,CAAC,GAAG,CAAA,KAAK,CAAC;SACnD,UAAU,CAAC,MAAM,CAAC,GAAG,CAAA,IAAI,EAAE,IAAI,CAAC,CAAC;IAEpC;;;;OAIG;IACH,8DAA8D;IAC9D,OAAO,IAAI,MAAM,CACf,IAAI,YAAY,GAAG,EACnB,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CACnC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"sim-iam-wildcard.js","sourceRoot":"","sources":["../../../../src/service/iam/authorize/sim-iam-wildcard.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,KAAa,EACb,OAAmC;IAEnC,OAAO,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,aAAa,CACpB,OAAe,EACf,KAAa,EACb,OAAmC;IAEnC,MAAM,YAAY,GAAG,OAAO;SACzB,UAAU,CAAC,sBAAsB,EAAE,MAAM,CAAC,GAAG,CAAA,KAAK,CAAC;SACnD,UAAU,CAAC,MAAM,CAAC,GAAG,CAAA,IAAI,EAAE,IAAI,CAAC;SAChC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAA,IAAI,EAAE,GAAG,CAAC,CAAC;IAEnC;;;;OAIG;IACH,8DAA8D;IAC9D,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,IAAI,YAAY,GAAG,EACnB,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CACnC,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC"}
@@ -21,8 +21,8 @@ export declare class ListPoliciesCommandHandler implements CommandHandler<SimLis
21
21
  */
22
22
  handle(cmd: SimListPoliciesCommand): Promise<SimListPoliciesCommandOutput>;
23
23
  private matchingPolicies;
24
- private static makeMarker;
25
- private static parseMarker;
24
+ private makeMarker;
25
+ private parseMarker;
26
26
  }
27
27
  export {};
28
28
  //# sourceMappingURL=list-policies.handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-policies.handler.d.ts","sourceRoot":"","sources":["../../../../../../src/service/iam/command/policy/list-policies/list-policies.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EACV,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,wBAAwB,CAAC;AAEhC,UAAU,+BAA+B;IACvC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACpD,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;;;GAIG;AACH,qBAAa,0BAA2B,YAAW,cAAc,CAC/D,sBAAsB,EACtB,4BAA4B,CAC7B;IACC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAC5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAEjD,YAAY,KAAK,EAAE,+BAA+B,EAKjD;IAED;;OAEG;IACG,MAAM,CACV,GAAG,EAAE,sBAAsB,GAC1B,OAAO,CAAC,4BAA4B,CAAC,CA4CvC;IAED,OAAO,CAAC,gBAAgB;IAgCxB,OAAO,CAAC,MAAM,CAAC,UAAU;IAIzB,OAAO,CAAC,MAAM,CAAC,WAAW;CAG3B"}
1
+ {"version":3,"file":"list-policies.handler.d.ts","sourceRoot":"","sources":["../../../../../../src/service/iam/command/policy/list-policies/list-policies.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EACV,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,wBAAwB,CAAC;AAEhC,UAAU,+BAA+B;IACvC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACpD,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;;;GAIG;AACH,qBAAa,0BAA2B,YAAW,cAAc,CAC/D,sBAAsB,EACtB,4BAA4B,CAC7B;IACC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAC5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAEjD,YAAY,KAAK,EAAE,+BAA+B,EAKjD;IAED;;OAEG;IACG,MAAM,CACV,GAAG,EAAE,sBAAsB,GAC1B,OAAO,CAAC,4BAA4B,CAAC,CA4CvC;IAED,OAAO,CAAC,gBAAgB;IA6BxB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,WAAW;CAGpB"}
@@ -22,7 +22,7 @@ export class ListPoliciesCommandHandler {
22
22
  const policies = this.matchingPolicies(cmd);
23
23
  const startArn = cmd.input.Marker === undefined
24
24
  ? undefined
25
- : ListPoliciesCommandHandler.parseMarker(cmd.input.Marker);
25
+ : this.parseMarker(cmd.input.Marker);
26
26
  const startIndex = startArn === undefined
27
27
  ? 0
28
28
  : Math.max(0, policies.findIndex((policy) => policy.arn === startArn) + 1);
@@ -45,12 +45,15 @@ export class ListPoliciesCommandHandler {
45
45
  })),
46
46
  IsTruncated: isTruncated,
47
47
  Marker: isTruncated && lastPolicy !== undefined
48
- ? ListPoliciesCommandHandler.makeMarker(lastPolicy.arn)
48
+ ? this.makeMarker(lastPolicy.arn)
49
49
  : undefined,
50
50
  };
51
51
  }
52
52
  matchingPolicies(cmd) {
53
- const policies = [...this.policies.values()].toSorted((a, b) => a.arn.localeCompare(b.arn));
53
+ const policies = this.policies
54
+ .values()
55
+ .toArray()
56
+ .toSorted((a, b) => a.arn.localeCompare(b.arn));
54
57
  return policies.filter((policy) => {
55
58
  if (cmd.input.Scope === "AWS") {
56
59
  return false;
@@ -62,17 +65,14 @@ export class ListPoliciesCommandHandler {
62
65
  !policy.path.startsWith(cmd.input.PathPrefix)) {
63
66
  return false;
64
67
  }
65
- if (cmd.input.PolicyUsageFilter === "PermissionsBoundary" &&
66
- policy.permissionsBoundaryUsageCount === 0) {
67
- return false;
68
- }
69
- return true;
68
+ return !(cmd.input.PolicyUsageFilter === "PermissionsBoundary" &&
69
+ policy.permissionsBoundaryUsageCount === 0);
70
70
  });
71
71
  }
72
- static makeMarker(policyArn) {
72
+ makeMarker(policyArn) {
73
73
  return Buffer.from(policyArn, "utf8").toString("base64url");
74
74
  }
75
- static parseMarker(marker) {
75
+ parseMarker(marker) {
76
76
  return Buffer.from(marker, "base64url").toString("utf8");
77
77
  }
78
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"list-policies.handler.js","sourceRoot":"","sources":["../../../../../../src/service/iam/command/policy/list-policies/list-policies.handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list-policies.handler.js","sourceRoot":"","sources":["../../../../../../src/service/iam/command/policy/list-policies/list-policies.handler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"put-role-policy.handler.d.ts","sourceRoot":"","sources":["../../../../../../src/service/iam/command/policy/put-role-policy/put-role-policy.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,8CAA8C,CAAC;AAEtD,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,KAAK,EACV,uBAAuB,EACvB,6BAA6B,EAC9B,MAAM,0BAA0B,CAAC;AAGlC,UAAU,gCAAgC;IACxC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;;;;;;;GAQG;AACH,qBAAa,2BAA4B,YAAW,cAAc,CAChE,uBAAuB,EACvB,6BAA6B,CAC9B;IACC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAgC;IAEnE,YAAY,KAAK,EAAE,gCAAgC,EAMlD;IAED;;OAEG;IACG,MAAM,CACV,GAAG,EAAE,uBAAuB,GAC3B,OAAO,CAAC,6BAA6B,CAAC,CA2BxC;CACF"}
1
+ {"version":3,"file":"put-role-policy.handler.d.ts","sourceRoot":"","sources":["../../../../../../src/service/iam/command/policy/put-role-policy/put-role-policy.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,8CAA8C,CAAC;AAEtD,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,KAAK,EACV,uBAAuB,EACvB,6BAA6B,EAC9B,MAAM,0BAA0B,CAAC;AAGlC,UAAU,gCAAgC;IACxC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;;;;;;;GAQG;AACH,qBAAa,2BAA4B,YAAW,cAAc,CAChE,uBAAuB,EACvB,6BAA6B,CAC9B;IACC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAgC;IAEnE,YAAY,KAAK,EAAE,gCAAgC,EAMlD;IAED;;OAEG;IACG,MAAM,CACV,GAAG,EAAE,uBAAuB,GAC3B,OAAO,CAAC,6BAA6B,CAAC,CA0BxC;CACF"}
@@ -25,14 +25,14 @@ export class PutRolePolicyCommandHandler {
25
25
  */
26
26
  async handle(cmd) {
27
27
  const roleName = cmd.input.RoleName;
28
- const policyName = cmd.input.PolicyName;
29
- const policyDocument = cmd.input.PolicyDocument;
30
28
  if (roleName === undefined || roleName.length === 0) {
31
29
  throw new Error("RoleName is required");
32
30
  }
31
+ const policyName = cmd.input.PolicyName;
33
32
  if (policyName === undefined || policyName.length === 0) {
34
33
  throw new Error("PolicyName is required");
35
34
  }
35
+ const policyDocument = cmd.input.PolicyDocument;
36
36
  this.policyDocValidator.validateRequired(policyDocument);
37
37
  // Allow for potential non-deterministic sequencing of async events.
38
38
  await this.background.sequence();
@@ -1 +1 @@
1
- {"version":3,"file":"put-role-policy.handler.js","sourceRoot":"","sources":["../../../../../../src/service/iam/command/policy/put-role-policy/put-role-policy.handler.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,eAAe,GAChB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAMrE,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AAOlG;;;;;;;;GAQG;AACH,MAAM,OAAO,2BAA2B;IAIrB,KAAK,CAAkC;IACvC,UAAU,CAAsB;IAChC,kBAAkB,CAAgC;IAEnE,YAAY,KAAuC;QACjD,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,eAAe,EAAE,EAAE,GAAG,KAAK,CAAC;QAE5D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,kBAAkB,GAAG,IAAI,6BAA6B,EAAE,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,GAA4B;QAE5B,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,QAAsC,CAAC;QAClE,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC;QACxC,MAAM,cAAc,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC;QAEhD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;QAEzD,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,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAEpD,OAAO,EAAE,CAAC;IACZ,CAAC;CACF"}
1
+ {"version":3,"file":"put-role-policy.handler.js","sourceRoot":"","sources":["../../../../../../src/service/iam/command/policy/put-role-policy/put-role-policy.handler.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,eAAe,GAChB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAMrE,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AAOlG;;;;;;;;GAQG;AACH,MAAM,OAAO,2BAA2B;IAIrB,KAAK,CAAkC;IACvC,UAAU,CAAsB;IAChC,kBAAkB,CAAgC;IAEnE,YAAY,KAAuC;QACjD,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,eAAe,EAAE,EAAE,GAAG,KAAK,CAAC;QAE5D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,kBAAkB,GAAG,IAAI,6BAA6B,EAAE,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,GAA4B;QAE5B,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,QAAsC,CAAC;QAClE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC;QACxC,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,cAAc,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC;QAChD,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;QAEzD,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,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAEpD,OAAO,EAAE,CAAC;IACZ,CAAC;CACF"}
@@ -0,0 +1,12 @@
1
+ import type { JSONString } from "../../../../../util/type-guard/json.js";
2
+ import type { SimIamPolicyDocument } from "../../../policy/sim-iam-policy.js";
3
+ export interface SimPutUserPolicyCommandInput {
4
+ readonly UserName?: string | undefined;
5
+ readonly PolicyName?: string | undefined;
6
+ readonly PolicyDocument?: JSONString<SimIamPolicyDocument> | string | undefined;
7
+ }
8
+ export interface SimPutUserPolicyCommand {
9
+ readonly input: SimPutUserPolicyCommandInput;
10
+ }
11
+ export type SimPutUserPolicyCommandOutput = Record<string, never>;
12
+ //# sourceMappingURL=put-user-policy.cmd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"put-user-policy.cmd.d.ts","sourceRoot":"","sources":["../../../../../../src/service/iam/command/policy/put-user-policy/put-user-policy.cmd.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,cAAc,CAAC,EACtB,UAAU,CAAC,oBAAoB,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;CACzD;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,4BAA4B,CAAC;CAC9C;AAED,MAAM,MAAM,6BAA6B,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=put-user-policy.cmd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"put-user-policy.cmd.js","sourceRoot":"","sources":["../../../../../../src/service/iam/command/policy/put-user-policy/put-user-policy.cmd.ts"],"names":[],"mappings":""}
@@ -0,0 +1,28 @@
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 { SimPutUserPolicyCommand, SimPutUserPolicyCommandOutput } from "./put-user-policy.cmd.js";
5
+ interface PutUserPolicyCommandHandlerProps {
6
+ readonly users: Map<SimIamUsername, SimIamUser>;
7
+ readonly background?: BackgroundScheduler;
8
+ }
9
+ /**
10
+ * IAM PutUserPolicyCommand handler.
11
+ *
12
+ * PutUserPolicy creates or replaces an inline identity-based permissions policy
13
+ * stored directly on a user. It does not create a managed IAM policy.
14
+ *
15
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/PutUserPolicyCommand/
16
+ */
17
+ export declare class PutUserPolicyCommandHandler implements CommandHandler<SimPutUserPolicyCommand, SimPutUserPolicyCommandOutput> {
18
+ private readonly users;
19
+ private readonly background;
20
+ private readonly policyDocValidator;
21
+ constructor(props: PutUserPolicyCommandHandlerProps);
22
+ /**
23
+ * Handle a PutUserPolicyCommand from the SDK.
24
+ */
25
+ handle(cmd: SimPutUserPolicyCommand): Promise<SimPutUserPolicyCommandOutput>;
26
+ }
27
+ export {};
28
+ //# sourceMappingURL=put-user-policy.handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"put-user-policy.handler.d.ts","sourceRoot":"","sources":["../../../../../../src/service/iam/command/policy/put-user-policy/put-user-policy.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,8CAA8C,CAAC;AAEtD,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEhF,OAAO,KAAK,EACV,uBAAuB,EACvB,6BAA6B,EAC9B,MAAM,0BAA0B,CAAC;AAGlC,UAAU,gCAAgC;IACxC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;;;;;;GAOG;AACH,qBAAa,2BAA4B,YAAW,cAAc,CAChE,uBAAuB,EACvB,6BAA6B,CAC9B;IACC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAgC;IAEnE,YAAY,KAAK,EAAE,gCAAgC,EAMlD;IAED;;OAEG;IACG,MAAM,CACV,GAAG,EAAE,uBAAuB,GAC3B,OAAO,CAAC,6BAA6B,CAAC,CAqBxC;CACF"}
@@ -0,0 +1,43 @@
1
+ import { BackgroundTasks, } from "../../../../../util/background/background.js";
2
+ import { SimIamNoSuchEntity } from "../../../error/sim-iam.error.js";
3
+ import { SimIamPolicyDocumentValidator } from "../../../validate/sim-iam-policy-doc-validator.js";
4
+ import { assertDefined } from "../../../../../util/type-guard/defined.js";
5
+ /**
6
+ * IAM PutUserPolicyCommand handler.
7
+ *
8
+ * PutUserPolicy creates or replaces an inline identity-based permissions policy
9
+ * stored directly on a user. It does not create a managed IAM policy.
10
+ *
11
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/PutUserPolicyCommand/
12
+ */
13
+ export class PutUserPolicyCommandHandler {
14
+ users;
15
+ background;
16
+ policyDocValidator;
17
+ constructor(props) {
18
+ const { users, background = new BackgroundTasks() } = props;
19
+ this.users = users;
20
+ this.background = background;
21
+ this.policyDocValidator = new SimIamPolicyDocumentValidator();
22
+ }
23
+ /**
24
+ * Handle a PutUserPolicyCommand from the SDK.
25
+ */
26
+ async handle(cmd) {
27
+ const username = cmd.input.UserName;
28
+ assertDefined(username, "PutUserPolicyCommand.input.UserName");
29
+ const policyName = cmd.input.PolicyName;
30
+ assertDefined(policyName, "PutUserPolicyCommand.input.PolicyName");
31
+ const policyDocument = cmd.input.PolicyDocument;
32
+ this.policyDocValidator.validateRequired(policyDocument);
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
+ user.inlinePolicies.set(policyName, policyDocument);
40
+ return {};
41
+ }
42
+ }
43
+ //# sourceMappingURL=put-user-policy.handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"put-user-policy.handler.js","sourceRoot":"","sources":["../../../../../../src/service/iam/command/policy/put-user-policy/put-user-policy.handler.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,eAAe,GAChB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AAKlG,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAO1E;;;;;;;GAOG;AACH,MAAM,OAAO,2BAA2B;IAIrB,KAAK,CAAkC;IACvC,UAAU,CAAsB;IAChC,kBAAkB,CAAgC;IAEnE,YAAY,KAAuC;QACjD,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,eAAe,EAAE,EAAE,GAAG,KAAK,CAAC;QAE5D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,kBAAkB,GAAG,IAAI,6BAA6B,EAAE,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,GAA4B;QAE5B,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,QAAsC,CAAC;QAClE,aAAa,CAAC,QAAQ,EAAE,qCAAqC,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC;QACxC,aAAa,CAAC,UAAU,EAAE,uCAAuC,CAAC,CAAC;QACnE,MAAM,cAAc,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC;QAEhD,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;QAEzD,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,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAEpD,OAAO,EAAE,CAAC;IACZ,CAAC;CACF"}
@@ -20,8 +20,9 @@ interface CreateRoleCommandHandlerProps {
20
20
  export declare class CreateRoleCommandHandler implements CommandHandler<SimCreateRoleCommand, SimCreateRoleCommandOutput> {
21
21
  private readonly accountId;
22
22
  private readonly roles;
23
- private readonly background;
24
23
  private readonly roleFactory;
24
+ private readonly trustPolicyValidator;
25
+ private readonly background;
25
26
  constructor(props: CreateRoleCommandHandlerProps);
26
27
  /**
27
28
  * Handle a CreateRoleCommand from the SDK.
@@ -1 +1 @@
1
- {"version":3,"file":"create-role.handler.d.ts","sourceRoot":"","sources":["../../../../../../src/service/iam/command/role/create-role/create-role.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,EACV,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,8CAA8C,CAAC;AAGtD,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAIhF,UAAU,6BAA6B;IACrC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAID;;;;;;;;GAQG;AACH,qBAAa,wBAAyB,YAAW,cAAc,CAC7D,oBAAoB,EACpB,0BAA0B,CAC3B;IACC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiC;IAE7D,YAAY,KAAK,EAAE,6BAA6B,EAM/C;IAED;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAkC3E;CACF"}
1
+ {"version":3,"file":"create-role.handler.d.ts","sourceRoot":"","sources":["../../../../../../src/service/iam/command/role/create-role/create-role.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,EACV,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,8CAA8C,CAAC;AAGtD,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAKhF,UAAU,6BAA6B;IACrC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;;;;;;;GAQG;AACH,qBAAa,wBAAyB,YAAW,cAAc,CAC7D,oBAAoB,EACpB,0BAA0B,CAC3B;IACC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IACxD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiC;IAC7D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAqC;IAC1E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAEjD,YAAY,KAAK,EAAE,6BAA6B,EAO/C;IAED;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAsC3E;CACF"}
@@ -2,8 +2,8 @@ import { BackgroundTasks, } from "../../../../../util/background/background.js";
2
2
  import { CreateRoleRecordFactory } from "./create-role-record-factory.js";
3
3
  import { SimIamEntityAlreadyExists } from "../../../error/sim-iam.error.js";
4
4
  import { normaliseRolePath } from "../../../role/sim-iam-role-path.js";
5
- import { makeSimRoleArn } from "../../../role/sim-iam-role-arn.js";
6
- // TODO: trust policies
5
+ import { makeSimRoleArn } from "../../../role/arn/sim-iam-role-arn.js";
6
+ import { SimIamTrustPolicyDocumentValidator } from "../../../validate/trust/sim-iam-trust-policy-doc-validator.js";
7
7
  /**
8
8
  * IAM CreateRoleCommand handler.
9
9
  *
@@ -16,12 +16,14 @@ import { makeSimRoleArn } from "../../../role/sim-iam-role-arn.js";
16
16
  export class CreateRoleCommandHandler {
17
17
  accountId;
18
18
  roles;
19
- background;
20
19
  roleFactory = new CreateRoleRecordFactory();
20
+ trustPolicyValidator;
21
+ background;
21
22
  constructor(props) {
22
23
  const { accountId, roles, background = new BackgroundTasks() } = props;
23
24
  this.accountId = accountId;
24
25
  this.roles = roles;
26
+ this.trustPolicyValidator = new SimIamTrustPolicyDocumentValidator();
25
27
  this.background = background;
26
28
  }
27
29
  /**
@@ -32,6 +34,7 @@ export class CreateRoleCommandHandler {
32
34
  if (roleName === undefined || roleName.length === 0) {
33
35
  throw new Error("RoleName is required");
34
36
  }
37
+ this.trustPolicyValidator.validateRequired(cmd.input.AssumeRolePolicyDocument);
35
38
  const path = normaliseRolePath(cmd.input.Path);
36
39
  const arn = makeSimRoleArn({
37
40
  accountId: this.accountId,
@@ -1 +1 @@
1
- {"version":3,"file":"create-role.handler.js","sourceRoot":"","sources":["../../../../../../src/service/iam/command/role/create-role/create-role.handler.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,eAAe,GAChB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAE5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAQnE,uBAAuB;AAEvB;;;;;;;;GAQG;AACH,MAAM,OAAO,wBAAwB;IAIlB,SAAS,CAAkB;IAC3B,KAAK,CAAkC;IACvC,UAAU,CAAsB;IAChC,WAAW,GAAG,IAAI,uBAAuB,EAAE,CAAC;IAE7D,YAAY,KAAoC;QAC9C,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,eAAe,EAAE,EAAE,GAAG,KAAK,CAAC;QAEvE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,GAAyB;QACpC,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,QAAsC,CAAC;QAElE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,cAAc,CAAC;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI;YACJ,QAAQ;SACT,CAAC,CAAC;QAEH,oEAAoE;QACpE,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEjC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,yBAAyB,CACjC,gCAAgC,QAAQ,EAAE,CAC3C,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;YACrC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,GAAG;YACH,IAAI;YACJ,QAAQ;YACR,GAAG;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAE/B,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;CACF"}
1
+ {"version":3,"file":"create-role.handler.js","sourceRoot":"","sources":["../../../../../../src/service/iam/command/role/create-role/create-role.handler.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,eAAe,GAChB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAE5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,kCAAkC,EAAE,MAAM,+DAA+D,CAAC;AAQnH;;;;;;;;GAQG;AACH,MAAM,OAAO,wBAAwB;IAIlB,SAAS,CAAkB;IAC3B,KAAK,CAAkC;IACvC,WAAW,GAAG,IAAI,uBAAuB,EAAE,CAAC;IAC5C,oBAAoB,CAAqC;IACzD,UAAU,CAAsB;IAEjD,YAAY,KAAoC;QAC9C,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,eAAe,EAAE,EAAE,GAAG,KAAK,CAAC;QAEvE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,oBAAoB,GAAG,IAAI,kCAAkC,EAAE,CAAC;QACrE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,GAAyB;QACpC,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,QAAsC,CAAC;QAElE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CACxC,GAAG,CAAC,KAAK,CAAC,wBAAwB,CACnC,CAAC;QAEF,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,cAAc,CAAC;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI;YACJ,QAAQ;SACT,CAAC,CAAC;QAEH,oEAAoE;QACpE,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEjC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,yBAAyB,CACjC,gCAAgC,QAAQ,EAAE,CAC3C,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;YACrC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,GAAG;YACH,IAAI;YACJ,QAAQ;YACR,GAAG;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAE/B,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;CACF"}
@@ -1,4 +1,5 @@
1
1
  import type { SimArn } from "../../../../aws/arn.js";
2
+ import type { SimIamRoleName } from "../../../role/sim-iam-role.js";
2
3
  export interface SimGetRoleCommandInput {
3
4
  readonly RoleName?: string | undefined;
4
5
  }
@@ -8,7 +9,7 @@ export interface SimGetRoleCommand {
8
9
  export interface SimGetRoleCommandOutput {
9
10
  readonly Role: {
10
11
  readonly Path: string;
11
- readonly RoleName: string;
12
+ readonly RoleName: SimIamRoleName;
12
13
  readonly RoleId: string;
13
14
  readonly Arn: SimArn;
14
15
  readonly CreateDate: Date;
@@ -1 +1 @@
1
- {"version":3,"file":"get-role.cmd.d.ts","sourceRoot":"","sources":["../../../../../../src/service/iam/command/role/get-role/get-role.cmd.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAC;CACxC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;QAC1B,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACvD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC3C,CAAC;CACH"}
1
+ {"version":3,"file":"get-role.cmd.d.ts","sourceRoot":"","sources":["../../../../../../src/service/iam/command/role/get-role/get-role.cmd.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAC;CACxC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;QAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;QAC1B,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACvD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC3C,CAAC;CACH"}
@@ -22,8 +22,8 @@ export declare class ListRolesCommandHandler implements CommandHandler<SimListRo
22
22
  private matchingRoles;
23
23
  private getMaxItems;
24
24
  private getStartIndex;
25
- private static makeMarker;
26
- private static parseMarker;
25
+ private makeMarker;
26
+ private parseMarker;
27
27
  }
28
28
  export {};
29
29
  //# sourceMappingURL=list-roles.handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-roles.handler.d.ts","sourceRoot":"","sources":["../../../../../../src/service/iam/command/role/list-roles/list-roles.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAGhF,UAAU,4BAA4B;IACpC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;;;GAIG;AACH,qBAAa,uBAAwB,YAAW,cAAc,CAC5D,mBAAmB,EACnB,yBAAyB,CAC1B;IACC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAEjD,YAAY,KAAK,EAAE,4BAA4B,EAK9C;IAED;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAkCzE;IAED,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,MAAM,CAAC,UAAU;IAIzB,OAAO,CAAC,MAAM,CAAC,WAAW;CAG3B"}
1
+ {"version":3,"file":"list-roles.handler.d.ts","sourceRoot":"","sources":["../../../../../../src/service/iam/command/role/list-roles/list-roles.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAGhF,UAAU,4BAA4B;IACpC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;;;GAIG;AACH,qBAAa,uBAAwB,YAAW,cAAc,CAC5D,mBAAmB,EACnB,yBAAyB,CAC1B;IACC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAEjD,YAAY,KAAK,EAAE,4BAA4B,EAK9C;IAED;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAkCzE;IAED,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,WAAW;CAGpB"}
@@ -23,7 +23,7 @@ export class ListRolesCommandHandler {
23
23
  const roles = this.matchingRoles(cmd);
24
24
  const startRoleName = cmd.input.Marker === undefined
25
25
  ? undefined
26
- : ListRolesCommandHandler.parseMarker(cmd.input.Marker);
26
+ : this.parseMarker(cmd.input.Marker);
27
27
  const startIndex = this.getStartIndex(roles, startRoleName);
28
28
  const page = roles.slice(startIndex, startIndex + maxItems);
29
29
  const lastRole = page.at(-1);
@@ -40,23 +40,23 @@ export class ListRolesCommandHandler {
40
40
  })),
41
41
  IsTruncated: isTruncated,
42
42
  Marker: isTruncated && lastRole !== undefined
43
- ? ListRolesCommandHandler.makeMarker(lastRole.roleName)
43
+ ? this.makeMarker(lastRole.roleName)
44
44
  : undefined,
45
45
  };
46
46
  }
47
47
  matchingRoles(cmd) {
48
- const roles = [...this.roles.values()].toSorted((a, b) => a.arn.localeCompare(b.arn));
48
+ const roles = this.roles
49
+ .values()
50
+ .toArray()
51
+ .toSorted((a, b) => a.arn.localeCompare(b.arn));
49
52
  return roles.filter((role) => {
50
- if (cmd.input.PathPrefix !== undefined &&
51
- !role.path.startsWith(cmd.input.PathPrefix)) {
52
- return false;
53
- }
54
- return true;
53
+ return !(cmd.input.PathPrefix !== undefined &&
54
+ !role.path.startsWith(cmd.input.PathPrefix));
55
55
  });
56
56
  }
57
57
  getMaxItems(cmd) {
58
58
  const maxItems = cmd.input.MaxItems ?? 100;
59
- if (!Number.isInteger(maxItems) || maxItems < 1 || maxItems > 1000) {
59
+ if (!Number.isSafeInteger(maxItems) || maxItems < 1 || maxItems > 1000) {
60
60
  throw new RangeError("ListRolesCommand.input.MaxItems must be an integer between 1 and 1000");
61
61
  }
62
62
  return maxItems;
@@ -71,10 +71,10 @@ export class ListRolesCommandHandler {
71
71
  }
72
72
  return markerIndex + 1;
73
73
  }
74
- static makeMarker(roleName) {
74
+ makeMarker(roleName) {
75
75
  return Buffer.from(roleName, "utf8").toString("base64url");
76
76
  }
77
- static parseMarker(marker) {
77
+ parseMarker(marker) {
78
78
  return Buffer.from(marker, "base64url").toString("utf8");
79
79
  }
80
80
  }