@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
@@ -0,0 +1,16 @@
1
+ import type { SimIamConditionValue } from "../../../../policy/sim-iam-policy.js";
2
+ import type { SimIamConditionOperator } from "../sim-iam-condition-operator.js";
3
+ /**
4
+ * Base for unqualified IAM string operators.
5
+ *
6
+ * Unqualified operators require a scalar request value. Policy values may be a
7
+ * scalar or an array, with multiple policy values using OR semantics.
8
+ */
9
+ export declare abstract class SimIamScalarStringConditionOperator implements SimIamConditionOperator {
10
+ /**
11
+ * Check whether a given value matches the expected value.
12
+ */
13
+ matches(actual: SimIamConditionValue, expected: SimIamConditionValue): boolean;
14
+ protected abstract valueMatches(actual: string, expected: string): boolean;
15
+ }
16
+ //# sourceMappingURL=sim-iam-scalar-string-condition-operator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-scalar-string-condition-operator.d.ts","sourceRoot":"","sources":["../../../../../../../src/service/iam/authorize/match/condition/string/sim-iam-scalar-string-condition-operator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAGhF;;;;;GAKG;AACH,8BAAsB,mCAAoC,YAAW,uBAAuB;IAC1F;;OAEG;IACH,OAAO,CACL,MAAM,EAAE,oBAAoB,EAC5B,QAAQ,EAAE,oBAAoB,GAC7B,OAAO,CAYT;IAED,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5E"}
@@ -0,0 +1,20 @@
1
+ import { simIamStringValues } from "./sim-iam-string-values.js";
2
+ /**
3
+ * Base for unqualified IAM string operators.
4
+ *
5
+ * Unqualified operators require a scalar request value. Policy values may be a
6
+ * scalar or an array, with multiple policy values using OR semantics.
7
+ */
8
+ export class SimIamScalarStringConditionOperator {
9
+ /**
10
+ * Check whether a given value matches the expected value.
11
+ */
12
+ matches(actual, expected) {
13
+ if (typeof actual !== "string") {
14
+ return false;
15
+ }
16
+ const expectedValues = simIamStringValues(expected);
17
+ return Boolean(expectedValues?.some((expectedValue) => this.valueMatches(actual, expectedValue)));
18
+ }
19
+ }
20
+ //# sourceMappingURL=sim-iam-scalar-string-condition-operator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-scalar-string-condition-operator.js","sourceRoot":"","sources":["../../../../../../../src/service/iam/authorize/match/condition/string/sim-iam-scalar-string-condition-operator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,OAAgB,mCAAmC;IACvD;;OAEG;IACH,OAAO,CACL,MAA4B,EAC5B,QAA8B;QAE9B,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,cAAc,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAEpD,OAAO,OAAO,CACZ,cAAc,EAAE,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE,CACrC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,CACzC,CACF,CAAC;IACJ,CAAC;CAGF"}
@@ -0,0 +1,8 @@
1
+ import type { SimIamConditionValue } from "../../../../policy/sim-iam-policy.js";
2
+ /**
3
+ * Return a condition value as a string array.
4
+ *
5
+ * Non-string values fail validation instead of being coerced.
6
+ */
7
+ export declare function simIamStringValues(value: SimIamConditionValue): readonly string[] | undefined;
8
+ //# sourceMappingURL=sim-iam-string-values.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-string-values.d.ts","sourceRoot":"","sources":["../../../../../../../src/service/iam/authorize/match/condition/string/sim-iam-string-values.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAEjF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,oBAAoB,GAC1B,SAAS,MAAM,EAAE,GAAG,SAAS,CAY/B"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Return a condition value as a string array.
3
+ *
4
+ * Non-string values fail validation instead of being coerced.
5
+ */
6
+ export function simIamStringValues(value) {
7
+ if (typeof value === "string") {
8
+ return [value];
9
+ }
10
+ if (!Array.isArray(value)) {
11
+ return undefined;
12
+ }
13
+ return value.every((item) => typeof item === "string")
14
+ ? value
15
+ : undefined;
16
+ }
17
+ //# sourceMappingURL=sim-iam-string-values.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-string-values.js","sourceRoot":"","sources":["../../../../../../../src/service/iam/authorize/match/condition/string/sim-iam-string-values.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAA2B;IAE3B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;QACpE,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC"}
@@ -0,0 +1,59 @@
1
+ import type { SimIamParsedPolicyStatement } from "../../policy/parse/sim-iam-doc-parser.js";
2
+ import type { SimIamAuthZContext, SimIamAuthZPolicySource } from "../context/sim-iam-auth-z-context.js";
3
+ /**
4
+ * Matches the principal portion of an IAM policy statement.
5
+ *
6
+ * Principal matching has different rules depending on the policy source:
7
+ *
8
+ * - identity policies must not contain Principal or NotPrincipal;
9
+ * - resource and trust policies must identify the caller through Principal, or
10
+ * exclude the caller through NotPrincipal;
11
+ * - Principal may be a string, an array, or an object grouped by principal type;
12
+ * - AWS account IDs and account-root ARNs grant access to authenticated
13
+ * principals belonging to the referenced account.
14
+ *
15
+ * Keeping these rules in one collaborator prevents statement matching from
16
+ * mixing principal parsing concerns with Action, Resource, and Condition logic.
17
+ */
18
+ export declare class SimIamPolicyPrincipalMatcher {
19
+ private readonly context;
20
+ constructor(context: SimIamAuthZContext);
21
+ /**
22
+ * Check whether the statement's principal constraint applies to the caller.
23
+ *
24
+ * Identity policies are associated with their identity by the surrounding
25
+ * authorization flow, so Principal and NotPrincipal are rejected.
26
+ *
27
+ * Resource and trust policies require Principal or NotPrincipal because the
28
+ * policy must state which callers it applies to.
29
+ */
30
+ matches(policy: SimIamAuthZPolicySource, statement: SimIamParsedPolicyStatement): boolean;
31
+ /**
32
+ * Check each Principal representation supported by the parsed policy model.
33
+ *
34
+ * Arrays use logical OR semantics. Principal objects are evaluated according
35
+ * to their principal category so AWS values match caller ARNs and account
36
+ * delegation, while Service values match service principals.
37
+ */
38
+ private valueMatches;
39
+ /**
40
+ * Compare an AWS principal pattern with the resolved caller.
41
+ *
42
+ * The wildcard matches both authenticated and anonymous requests. Other AWS
43
+ * forms require an ARN-based caller. Account delegation forms compare against
44
+ * the account ID derived by the caller resolver.
45
+ */
46
+ private awsPatternMatches;
47
+ /**
48
+ * Compare a service principal pattern with the resolved caller.
49
+ */
50
+ private servicePatternMatches;
51
+ /**
52
+ * Return the account ID represented by an account delegation principal.
53
+ *
54
+ * IAM supports both a bare 12-digit account ID and the corresponding account
55
+ * root ARN.
56
+ */
57
+ private delegatedAccountId;
58
+ }
59
+ //# sourceMappingURL=sim-iam-policy-principal-matcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-policy-principal-matcher.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/authorize/match/sim-iam-policy-principal-matcher.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AAC5F,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,sCAAsC,CAAC;AAG9C;;;;;;;;;;;;;;GAcG;AACH,qBAAa,4BAA4B;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAApC,YAA6B,OAAO,EAAE,kBAAkB,EAAI;IAE5D;;;;;;;;OAQG;IACH,OAAO,CACL,MAAM,EAAE,uBAAuB,EAC/B,SAAS,EAAE,2BAA2B,GACrC,OAAO,CAiBT;IAED;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IA2BpB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAqBzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAa7B;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;CAQ3B"}
@@ -0,0 +1,119 @@
1
+ import { simIamWildcardMatch } from "../sim-iam-wildcard.js";
2
+ /**
3
+ * Matches the principal portion of an IAM policy statement.
4
+ *
5
+ * Principal matching has different rules depending on the policy source:
6
+ *
7
+ * - identity policies must not contain Principal or NotPrincipal;
8
+ * - resource and trust policies must identify the caller through Principal, or
9
+ * exclude the caller through NotPrincipal;
10
+ * - Principal may be a string, an array, or an object grouped by principal type;
11
+ * - AWS account IDs and account-root ARNs grant access to authenticated
12
+ * principals belonging to the referenced account.
13
+ *
14
+ * Keeping these rules in one collaborator prevents statement matching from
15
+ * mixing principal parsing concerns with Action, Resource, and Condition logic.
16
+ */
17
+ export class SimIamPolicyPrincipalMatcher {
18
+ context;
19
+ constructor(context) {
20
+ this.context = context;
21
+ }
22
+ /**
23
+ * Check whether the statement's principal constraint applies to the caller.
24
+ *
25
+ * Identity policies are associated with their identity by the surrounding
26
+ * authorization flow, so Principal and NotPrincipal are rejected.
27
+ *
28
+ * Resource and trust policies require Principal or NotPrincipal because the
29
+ * policy must state which callers it applies to.
30
+ */
31
+ matches(policy, statement) {
32
+ if (policy.sourceType !== "resource" && policy.sourceType !== "trust") {
33
+ return (statement.principal === undefined &&
34
+ statement.notPrincipal === undefined);
35
+ }
36
+ if (statement.principal !== undefined) {
37
+ return this.valueMatches(statement.principal);
38
+ }
39
+ if (statement.notPrincipal !== undefined) {
40
+ return !this.valueMatches(statement.notPrincipal);
41
+ }
42
+ return false;
43
+ }
44
+ /**
45
+ * Check each Principal representation supported by the parsed policy model.
46
+ *
47
+ * Arrays use logical OR semantics. Principal objects are evaluated according
48
+ * to their principal category so AWS values match caller ARNs and account
49
+ * delegation, while Service values match service principals.
50
+ */
51
+ valueMatches(principal) {
52
+ if (typeof principal === "string") {
53
+ return this.awsPatternMatches(principal);
54
+ }
55
+ if (Array.isArray(principal)) {
56
+ return principal.some((value) => this.awsPatternMatches(value));
57
+ }
58
+ return Object.entries(principal).some(([principalType, values]) => {
59
+ const patterns = typeof values === "string" ? [values] : values;
60
+ if (principalType === "AWS") {
61
+ return patterns.some((pattern) => this.awsPatternMatches(pattern));
62
+ }
63
+ /* v8 ignore if -- service principals not yet fully supported */
64
+ if (principalType === "Service") {
65
+ return patterns.some((pattern) => this.servicePatternMatches(pattern));
66
+ }
67
+ return false;
68
+ });
69
+ }
70
+ /**
71
+ * Compare an AWS principal pattern with the resolved caller.
72
+ *
73
+ * The wildcard matches both authenticated and anonymous requests. Other AWS
74
+ * forms require an ARN-based caller. Account delegation forms compare against
75
+ * the account ID derived by the caller resolver.
76
+ */
77
+ awsPatternMatches(pattern) {
78
+ if (pattern === "*") {
79
+ return true;
80
+ }
81
+ const caller = this.context.caller;
82
+ if (caller.arn === undefined) {
83
+ return false;
84
+ }
85
+ const delegatedAccountId = this.delegatedAccountId(pattern);
86
+ if (delegatedAccountId !== undefined) {
87
+ return caller.accountId === delegatedAccountId;
88
+ }
89
+ return simIamWildcardMatch(pattern, caller.arn, {
90
+ caseSensitive: true,
91
+ });
92
+ }
93
+ /**
94
+ * Compare a service principal pattern with the resolved caller.
95
+ */
96
+ servicePatternMatches(pattern) {
97
+ /* v8 ignore next -- service principals not yet fully supported */
98
+ const service = this.context.caller.service;
99
+ /* v8 ignore next -- service principals not yet fully supported */
100
+ return (service !== undefined &&
101
+ simIamWildcardMatch(pattern, service, {
102
+ caseSensitive: true,
103
+ }));
104
+ }
105
+ /**
106
+ * Return the account ID represented by an account delegation principal.
107
+ *
108
+ * IAM supports both a bare 12-digit account ID and the corresponding account
109
+ * root ARN.
110
+ */
111
+ delegatedAccountId(pattern) {
112
+ if (/^\d{12}$/u.test(pattern)) {
113
+ return pattern;
114
+ }
115
+ const match = /^arn:aws:iam::(\d{12}):root$/u.exec(pattern);
116
+ return match?.[1];
117
+ }
118
+ }
119
+ //# sourceMappingURL=sim-iam-policy-principal-matcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-policy-principal-matcher.js","sourceRoot":"","sources":["../../../../../src/service/iam/authorize/match/sim-iam-policy-principal-matcher.ts"],"names":[],"mappings":"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"}
@@ -7,47 +7,30 @@ import type { SimIamParsedPolicyStatement } from "../../policy/parse/sim-iam-doc
7
7
  * `SimIamPolicyDecision` can stay focused on policy iteration and final
8
8
  * Deny/Allow/ImplicitDeny aggregation.
9
9
  *
10
- * The matcher currently covers the IAM dimensions supported by the simulator:
10
+ * Principal and NotPrincipal evaluation is delegated to
11
+ * `SimIamPolicyPrincipalMatcher`, which owns the policy-source rules, supported
12
+ * Principal shapes, and AWS account delegation forms.
11
13
  *
12
- * - Principal and NotPrincipal for resource policies;
13
- * - Action and NotAction;
14
- * - Resource and NotResource.
14
+ * The matcher coordinates:
15
15
  *
16
- * Conditions are not evaluated yet. A statement with a Condition is treated as
17
- * non-matching so the simulator does not grant access from a statement whose
18
- * condition semantics it cannot prove.
16
+ * - Principal and NotPrincipal;
17
+ * - Action and NotAction;
18
+ * - Resource and NotResource;
19
+ * - supported IAM string conditions.
19
20
  */
20
21
  export declare class SimIamPolicyStatementMatcher {
21
22
  private readonly context;
23
+ private readonly conditionMatcher;
24
+ private readonly principalMatcher;
22
25
  constructor(context: SimIamAuthZContext);
23
26
  /**
24
27
  * Check whether a parsed statement applies to the current request.
25
- */
26
- matches(policy: SimIamAuthZPolicySource, statement: SimIamParsedPolicyStatement): boolean;
27
- /**
28
- * Check the principal part of a statement.
29
- *
30
- * Identity policies do not carry Principal or NotPrincipal because they are
31
- * already attached to the caller identity. Resource policies must name the
32
- * caller with Principal, or exclude the caller with NotPrincipal.
33
- */
34
- private principalMatches;
35
- /**
36
- * Check every Principal shape supported by the parsed policy model.
37
- *
38
- * IAM allows Principal to be a string, an array, or an object keyed by
39
- * principal type. The simulator currently recognizes AWS and Service
40
- * principal objects because those are the forms used by supported services.
41
- */
42
- private principalValueMatches;
43
- /**
44
- * Match a single principal pattern against the caller ARN.
45
28
  *
46
- * The wildcard principal `*` matches anonymous and signed requests. Any other
47
- * principal pattern requires a caller ARN because there is no stable value to
48
- * compare when the request has no caller principal.
29
+ * Each statement section must match. The short-circuit evaluation also avoids
30
+ * evaluating later sections after an earlier constraint has rejected the
31
+ * statement.
49
32
  */
50
- private principalPatternMatches;
33
+ matches(policy: SimIamAuthZPolicySource, statement: SimIamParsedPolicyStatement): boolean;
51
34
  /**
52
35
  * Check Action or NotAction against the requested IAM action.
53
36
  *
@@ -1 +1 @@
1
- {"version":3,"file":"sim-iam-policy-statement-matcher.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/authorize/match/sim-iam-policy-statement-matcher.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AAG5F;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,4BAA4B;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAApC,YAA6B,OAAO,EAAE,kBAAkB,EAAI;IAE5D;;OAEG;IACH,OAAO,CACL,MAAM,EAAE,uBAAuB,EAC/B,SAAS,EAAE,2BAA2B,GACrC,OAAO,CAWT;IAED;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IAsBxB;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IA0B7B;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IAc/B;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAuBrB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;CAsBxB"}
1
+ {"version":3,"file":"sim-iam-policy-statement-matcher.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/authorize/match/sim-iam-policy-statement-matcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AAK5F;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,4BAA4B;IAI3B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA+B;IAChE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA+B;IAEhE,YAA6B,OAAO,EAAE,kBAAkB,EAKvD;IAED;;;;;;OAMG;IACH,OAAO,CACL,MAAM,EAAE,uBAAuB,EAC/B,SAAS,EAAE,2BAA2B,GACrC,OAAO,CAOT;IAED;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAwBrB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;CAuBxB"}
@@ -1,4 +1,6 @@
1
1
  import { simIamWildcardMatch } from "../sim-iam-wildcard.js";
2
+ import { SimIamPolicyConditionMatcher } from "./condition/sim-iam-policy-condition-matcher.js";
3
+ import { SimIamPolicyPrincipalMatcher } from "./sim-iam-policy-principal-matcher.js";
2
4
  /**
3
5
  * Matches one parsed IAM policy statement against one authorization request.
4
6
  *
@@ -6,94 +8,38 @@ import { simIamWildcardMatch } from "../sim-iam-wildcard.js";
6
8
  * `SimIamPolicyDecision` can stay focused on policy iteration and final
7
9
  * Deny/Allow/ImplicitDeny aggregation.
8
10
  *
9
- * The matcher currently covers the IAM dimensions supported by the simulator:
11
+ * Principal and NotPrincipal evaluation is delegated to
12
+ * `SimIamPolicyPrincipalMatcher`, which owns the policy-source rules, supported
13
+ * Principal shapes, and AWS account delegation forms.
10
14
  *
11
- * - Principal and NotPrincipal for resource policies;
12
- * - Action and NotAction;
13
- * - Resource and NotResource.
15
+ * The matcher coordinates:
14
16
  *
15
- * Conditions are not evaluated yet. A statement with a Condition is treated as
16
- * non-matching so the simulator does not grant access from a statement whose
17
- * condition semantics it cannot prove.
17
+ * - Principal and NotPrincipal;
18
+ * - Action and NotAction;
19
+ * - Resource and NotResource;
20
+ * - supported IAM string conditions.
18
21
  */
19
22
  export class SimIamPolicyStatementMatcher {
20
23
  context;
24
+ conditionMatcher;
25
+ principalMatcher;
21
26
  constructor(context) {
22
27
  this.context = context;
28
+ this.conditionMatcher = new SimIamPolicyConditionMatcher(context.conditionContext);
29
+ this.principalMatcher = new SimIamPolicyPrincipalMatcher(context);
23
30
  }
24
31
  /**
25
32
  * Check whether a parsed statement applies to the current request.
33
+ *
34
+ * Each statement section must match. The short-circuit evaluation also avoids
35
+ * evaluating later sections after an earlier constraint has rejected the
36
+ * statement.
26
37
  */
27
38
  matches(policy, statement) {
28
- /* v8 ignore if -- policy conditions are TODO */
29
- if (statement.condition !== undefined) {
30
- return false;
31
- }
32
- return (this.principalMatches(policy, statement) &&
39
+ return (this.principalMatcher.matches(policy, statement) &&
33
40
  this.actionMatches(statement) &&
34
- this.resourceMatches(statement));
35
- }
36
- /**
37
- * Check the principal part of a statement.
38
- *
39
- * Identity policies do not carry Principal or NotPrincipal because they are
40
- * already attached to the caller identity. Resource policies must name the
41
- * caller with Principal, or exclude the caller with NotPrincipal.
42
- */
43
- principalMatches(policy, statement) {
44
- if (policy.sourceType !== "resource") {
45
- return (statement.principal === undefined &&
46
- statement.notPrincipal === undefined);
47
- }
48
- if (statement.principal !== undefined) {
49
- return this.principalValueMatches(statement.principal);
50
- }
51
- if (statement.notPrincipal !== undefined) {
52
- return !this.principalValueMatches(statement.notPrincipal);
53
- }
54
- return false;
55
- }
56
- /**
57
- * Check every Principal shape supported by the parsed policy model.
58
- *
59
- * IAM allows Principal to be a string, an array, or an object keyed by
60
- * principal type. The simulator currently recognizes AWS and Service
61
- * principal objects because those are the forms used by supported services.
62
- */
63
- principalValueMatches(principal) {
64
- if (typeof principal === "string") {
65
- return this.principalPatternMatches(principal);
66
- }
67
- if (Array.isArray(principal)) {
68
- return principal.some((value) => this.principalPatternMatches(value));
69
- }
70
- return Object.entries(principal).some(([principalType, values]) => {
71
- if (principalType !== "AWS" && principalType !== "Service") {
72
- return false;
73
- }
74
- if (typeof values === "string") {
75
- return this.principalPatternMatches(values);
76
- }
77
- return values.some((value) => this.principalPatternMatches(value));
78
- });
79
- }
80
- /**
81
- * Match a single principal pattern against the caller ARN.
82
- *
83
- * The wildcard principal `*` matches anonymous and signed requests. Any other
84
- * principal pattern requires a caller ARN because there is no stable value to
85
- * compare when the request has no caller principal.
86
- */
87
- principalPatternMatches(pattern) {
88
- if (pattern === "*") {
89
- return true;
90
- }
91
- if (this.context.callerPrincipal?.arn === undefined) {
92
- return false;
93
- }
94
- return simIamWildcardMatch(pattern, this.context.callerPrincipal.arn, {
95
- caseSensitive: true,
96
- });
41
+ this.resourceMatches(policy, statement) &&
42
+ this.conditionMatcher.matches(statement.condition));
97
43
  }
98
44
  /**
99
45
  * Check Action or NotAction against the requested IAM action.
@@ -109,7 +55,7 @@ export class SimIamPolicyStatementMatcher {
109
55
  }));
110
56
  }
111
57
  if (statement.notActions !== undefined) {
112
- return !statement.notActions.some((pattern) => simIamWildcardMatch(pattern, this.context.action, {
58
+ return statement.notActions.every((pattern) => !simIamWildcardMatch(pattern, this.context.action, {
113
59
  caseSensitive: false,
114
60
  }));
115
61
  }
@@ -123,19 +69,18 @@ export class SimIamPolicyStatementMatcher {
123
69
  * behavior and prevents policies from matching resources that differ only by
124
70
  * case.
125
71
  */
126
- resourceMatches(statement) {
72
+ resourceMatches(policy, statement) {
127
73
  if (statement.resources !== undefined) {
128
74
  return statement.resources.some((pattern) => simIamWildcardMatch(pattern, this.context.resource, {
129
75
  caseSensitive: true,
130
76
  }));
131
77
  }
132
78
  if (statement.notResources !== undefined) {
133
- return !statement.notResources.some((pattern) => simIamWildcardMatch(pattern, this.context.resource, {
79
+ return statement.notResources.every((pattern) => !simIamWildcardMatch(pattern, this.context.resource, {
134
80
  caseSensitive: true,
135
81
  }));
136
82
  }
137
- /* v8 ignore next -- defensive diagnostic error */
138
- throw new TypeError("IAM policy statement must define either Resource or NotResource");
83
+ return policy.sourceType === "trust";
139
84
  }
140
85
  }
141
86
  //# sourceMappingURL=sim-iam-policy-statement-matcher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-iam-policy-statement-matcher.js","sourceRoot":"","sources":["../../../../../src/service/iam/authorize/match/sim-iam-policy-statement-matcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sim-iam-policy-statement-matcher.js","sourceRoot":"","sources":["../../../../../src/service/iam/authorize/match/sim-iam-policy-statement-matcher.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAC;AAC/F,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAErF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,4BAA4B;IAIV,OAAO;IAHnB,gBAAgB,CAA+B;IAC/C,gBAAgB,CAA+B;IAEhE,YAA6B,OAA2B;uBAA3B,OAAO;QAClC,IAAI,CAAC,gBAAgB,GAAG,IAAI,4BAA4B,CACtD,OAAO,CAAC,gBAAgB,CACzB,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG,IAAI,4BAA4B,CAAC,OAAO,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CACL,MAA+B,EAC/B,SAAsC;QAEtC,OAAO,CACL,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC;YAChD,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;YAC7B,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC;YACvC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CACnD,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,aAAa,CAAC,SAAsC;QAC1D,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACxC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBAChD,aAAa,EAAE,KAAK;aACrB,CAAC,CACH,CAAC;QACJ,CAAC;QAED,IAAI,SAAS,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACvC,OAAO,SAAS,CAAC,UAAU,CAAC,KAAK,CAC/B,CAAC,OAAO,EAAE,EAAE,CACV,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACjD,aAAa,EAAE,KAAK;aACrB,CAAC,CACL,CAAC;QACJ,CAAC;QAED,kDAAkD;QAClD,MAAM,IAAI,SAAS,CACjB,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,eAAe,CACrB,MAA+B,EAC/B,SAAsC;QAEtC,IAAI,SAAS,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAC1C,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;gBAClD,aAAa,EAAE,IAAI;aACpB,CAAC,CACH,CAAC;QACJ,CAAC;QAED,IAAI,SAAS,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACzC,OAAO,SAAS,CAAC,YAAY,CAAC,KAAK,CACjC,CAAC,OAAO,EAAE,EAAE,CACV,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;gBACnD,aAAa,EAAE,IAAI;aACpB,CAAC,CACL,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC,UAAU,KAAK,OAAO,CAAC;IACvC,CAAC;CACF"}
@@ -4,10 +4,14 @@ import type { SimIamRole, SimIamRoleName } from "../role/sim-iam-role.js";
4
4
  import { type SimIamAuthorizationInput } from "./context/sim-iam-auth-z-context-builder.js";
5
5
  import { SimIamPolicyDecision } from "./sim-iam-decision.js";
6
6
  import type { SimAwsPrincipal } from "../../aws/caller/sim-aws-caller.js";
7
+ import type { SimIamUser, SimIamUsername } from "../user/sim-iam-user.js";
8
+ import type { SimAwsCredentialIdentityResolver } from "../../aws/caller/sim-aws-caller-resolver.js";
7
9
  interface SimIamAuthorizerProps {
8
10
  readonly policies: ReadonlyMap<SimArn, SimIamPolicy>;
9
11
  readonly roles: ReadonlyMap<SimIamRoleName, SimIamRole>;
10
- readonly defaultCallerPrincipal?: SimAwsPrincipal | undefined;
12
+ readonly users: ReadonlyMap<SimIamUsername, SimIamUser>;
13
+ readonly defaultCallerPrincipal: SimAwsPrincipal;
14
+ readonly credentialIdentityResolver: SimAwsCredentialIdentityResolver;
11
15
  }
12
16
  /**
13
17
  * Facade for simulated IAM authorization decisions.
@@ -1 +1 @@
1
- {"version":3,"file":"sim-iam-authorizer.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/authorize/sim-iam-authorizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAE1E,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACrD,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IACxD,QAAQ,CAAC,sBAAsB,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;CAC/D;AAED;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4B;IAE3D,YAAY,KAAK,EAAE,qBAAqB,EAMvC;IAED;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,wBAAwB,GAAG,oBAAoB,CAE/D;CACF"}
1
+ {"version":3,"file":"sim-iam-authorizer.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/authorize/sim-iam-authorizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,6CAA6C,CAAC;AAEpG,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACrD,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IACxD,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IACxD,QAAQ,CAAC,sBAAsB,EAAE,eAAe,CAAC;IACjD,QAAQ,CAAC,0BAA0B,EAAE,gCAAgC,CAAC;CACvE;AAED;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4B;IAE3D,YAAY,KAAK,EAAE,qBAAqB,EAQvC;IAED;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,wBAAwB,GAAG,oBAAoB,CAE/D;CACF"}
@@ -11,7 +11,7 @@ import { SimIamPolicyDecision } from "./sim-iam-decision.js";
11
11
  export class SimIamAuthorizer {
12
12
  contextBuilder;
13
13
  constructor(props) {
14
- this.contextBuilder = new SimIamAuthZContextBuilder(props.policies, props.roles, props.defaultCallerPrincipal);
14
+ this.contextBuilder = new SimIamAuthZContextBuilder(props.policies, props.roles, props.users, props.defaultCallerPrincipal, props.credentialIdentityResolver);
15
15
  }
16
16
  /**
17
17
  * Evaluate an IAM authorization request.
@@ -1 +1 @@
1
- {"version":3,"file":"sim-iam-authorizer.js","sourceRoot":"","sources":["../../../../src/service/iam/authorize/sim-iam-authorizer.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,yBAAyB,GAE1B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAS7D;;;;;;;GAOG;AACH,MAAM,OAAO,gBAAgB;IACV,cAAc,CAA4B;IAE3D,YAAY,KAA4B;QACtC,IAAI,CAAC,cAAc,GAAG,IAAI,yBAAyB,CACjD,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,sBAAsB,CAC7B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,KAA+B;QACvC,OAAO,IAAI,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACpE,CAAC;CACF"}
1
+ {"version":3,"file":"sim-iam-authorizer.js","sourceRoot":"","sources":["../../../../src/service/iam/authorize/sim-iam-authorizer.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,yBAAyB,GAE1B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAa7D;;;;;;;GAOG;AACH,MAAM,OAAO,gBAAgB;IACV,cAAc,CAA4B;IAE3D,YAAY,KAA4B;QACtC,IAAI,CAAC,cAAc,GAAG,IAAI,yBAAyB,CACjD,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,sBAAsB,EAC5B,KAAK,CAAC,0BAA0B,CACjC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,KAA+B;QACvC,OAAO,IAAI,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACpE,CAAC;CACF"}
@@ -1,6 +1,7 @@
1
1
  import type { SimIamPolicyDocumentStatement } from "../policy/sim-iam-policy.js";
2
2
  import type { SimIamAuthZContext } from "./context/sim-iam-auth-z-context.js";
3
3
  import { SimIamPolicyDocumentParser } from "../policy/parse/sim-iam-doc-parser.js";
4
+ import type { SimAwsResolvedCaller } from "../../aws/caller/sim-aws-caller-resolver.js";
4
5
  export declare const SimIamPolicyDecisionValue: {
5
6
  readonly ExplicitDeny: "ExplicitDeny";
6
7
  readonly Allow: "Allow";
@@ -30,7 +31,15 @@ export declare class SimIamPolicyDecision {
30
31
  private readonly statementMatcher;
31
32
  private readonly explicitDenyStatementRecords;
32
33
  private readonly allowStatementRecords;
34
+ private readonly trustAllowStatementRecords;
33
35
  constructor(request: SimIamAuthZContext, policyDocumentParser?: SimIamPolicyDocumentParser);
36
+ /**
37
+ * Resolved caller against which this authorization decision was evaluated.
38
+ *
39
+ * This includes IAM's default account-root caller when the authorization input
40
+ * omitted a caller.
41
+ */
42
+ get caller(): SimAwsResolvedCaller;
34
43
  /**
35
44
  * Final IAM decision value.
36
45
  */
@@ -51,6 +60,12 @@ export declare class SimIamPolicyDecision {
51
60
  * Whether the request is denied because no Allow statement matched.
52
61
  */
53
62
  get isImplicitDeny(): boolean;
63
+ /**
64
+ * Whether a matching trust-policy statement explicitly allows the request.
65
+ *
66
+ * An identity-policy Allow cannot substitute for the target role's trust.
67
+ */
68
+ get isAllowedByTrustPolicy(): boolean;
54
69
  /**
55
70
  * Matching explicit Deny statements.
56
71
  */
@@ -59,6 +74,10 @@ export declare class SimIamPolicyDecision {
59
74
  * Matching Allow statements.
60
75
  */
61
76
  get allowStatements(): readonly SimIamPolicyDocumentStatement[];
77
+ /**
78
+ * Matching Allow statements originating from trust policies.
79
+ */
80
+ get trustAllowStatements(): readonly SimIamPolicyDocumentStatement[];
62
81
  private evaluate;
63
82
  private evaluatePolicy;
64
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sim-iam-decision.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/authorize/sim-iam-decision.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AAGnF,eAAO,MAAM,yBAAyB;aACpC,YAAY,EAAE,cAAc;aAC5B,KAAK,EAAE,OAAO;aACd,YAAY,EAAE,cAAc;CACpB,CAAC;AAEX,MAAM,MAAM,yBAAyB,GACnC,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,OAAO,yBAAyB,CAAC,CAAC;AAE7E;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA6B;IAClE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA+B;IAChE,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CACxC;IACL,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAuC;IAE7E,YACE,OAAO,EAAE,kBAAkB,EAC3B,oBAAoB,GAAE,0BAA6D,EAOpF;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,yBAAyB,CAUrC;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED;;OAEG;IACH,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED;;OAEG;IACH,IAAI,sBAAsB,IAAI,SAAS,6BAA6B,EAAE,CAErE;IAED;;OAEG;IACH,IAAI,eAAe,IAAI,SAAS,6BAA6B,EAAE,CAE9D;IAED,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,cAAc;CAgBvB"}
1
+ {"version":3,"file":"sim-iam-decision.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/authorize/sim-iam-decision.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AAEnF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAExF,eAAO,MAAM,yBAAyB;aACpC,YAAY,EAAE,cAAc;aAC5B,KAAK,EAAE,OAAO;aACd,YAAY,EAAE,cAAc;CACpB,CAAC;AAEX,MAAM,MAAM,yBAAyB,GACnC,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,OAAO,yBAAyB,CAAC,CAAC;AAE7E;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA6B;IAClE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA+B;IAChE,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CACxC;IACL,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAuC;IAC7E,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CACtC;IAEL,YACE,OAAO,EAAE,kBAAkB,EAC3B,oBAAoB,GAAE,0BAA6D,EAOpF;IAED;;;;;OAKG;IACH,IAAI,MAAM,IAAI,oBAAoB,CAEjC;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,yBAAyB,CAUrC;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED;;OAEG;IACH,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED;;;;OAIG;IACH,IAAI,sBAAsB,IAAI,OAAO,CAEpC;IAED;;OAEG;IACH,IAAI,sBAAsB,IAAI,SAAS,6BAA6B,EAAE,CAErE;IAED;;OAEG;IACH,IAAI,eAAe,IAAI,SAAS,6BAA6B,EAAE,CAE9D;IAED;;OAEG;IACH,IAAI,oBAAoB,IAAI,SAAS,6BAA6B,EAAE,CAEnE;IAED,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,cAAc;CAoBvB"}