@kensio/yulin 1.17.0 → 1.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. package/dist/service/acm/certificate/register-sim-acm-certificate.d.ts +41 -0
  2. package/dist/service/acm/certificate/register-sim-acm-certificate.d.ts.map +1 -0
  3. package/dist/service/acm/certificate/register-sim-acm-certificate.js +60 -0
  4. package/dist/service/acm/certificate/register-sim-acm-certificate.js.map +1 -0
  5. package/dist/service/acm/command/request-certificate/request-certificate.handler.d.ts +9 -0
  6. package/dist/service/acm/command/request-certificate/request-certificate.handler.d.ts.map +1 -1
  7. package/dist/service/acm/command/request-certificate/request-certificate.handler.js +18 -1
  8. package/dist/service/acm/command/request-certificate/request-certificate.handler.js.map +1 -1
  9. package/dist/service/acm/sim-acm.d.ts +15 -0
  10. package/dist/service/acm/sim-acm.d.ts.map +1 -1
  11. package/dist/service/acm/sim-acm.js +21 -0
  12. package/dist/service/acm/sim-acm.js.map +1 -1
  13. package/dist/service/cloudformation/cdk/sim-cdk-assembly-selection.d.ts +4 -0
  14. package/dist/service/cloudformation/cdk/sim-cdk-assembly-selection.d.ts.map +1 -1
  15. package/dist/service/cloudformation/cdk/sim-cdk-assembly-selection.js +7 -2
  16. package/dist/service/cloudformation/cdk/sim-cdk-assembly-selection.js.map +1 -1
  17. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.d.ts +1 -1
  18. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.d.ts.map +1 -1
  19. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.js +6 -4
  20. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.js.map +1 -1
  21. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.d.ts +4 -0
  22. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.d.ts.map +1 -1
  23. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.js.map +1 -1
  24. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.d.ts +25 -2
  25. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.d.ts.map +1 -1
  26. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.js +13 -0
  27. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.js.map +1 -1
  28. package/dist/service/cloudformation/index.d.ts +1 -1
  29. package/dist/service/cloudformation/index.d.ts.map +1 -1
  30. package/dist/service/cloudformation/resource/cfn/iam/sim-iam-cfn-value-adapter.d.ts.map +1 -1
  31. package/dist/service/cloudformation/resource/cfn/iam/sim-iam-cfn-value-adapter.js +4 -0
  32. package/dist/service/cloudformation/resource/cfn/iam/sim-iam-cfn-value-adapter.js.map +1 -1
  33. package/dist/service/cloudformation/resource/cfn/iam/sim-iam-user-cfn.d.ts +28 -0
  34. package/dist/service/cloudformation/resource/cfn/iam/sim-iam-user-cfn.d.ts.map +1 -0
  35. package/dist/service/cloudformation/resource/cfn/iam/sim-iam-user-cfn.js +33 -0
  36. package/dist/service/cloudformation/resource/cfn/iam/sim-iam-user-cfn.js.map +1 -0
  37. package/dist/service/cloudformation/resource/resolve/property/sim-cfn-resource-property-resolver.d.ts +6 -0
  38. package/dist/service/cloudformation/resource/resolve/property/sim-cfn-resource-property-resolver.d.ts.map +1 -1
  39. package/dist/service/cloudformation/resource/resolve/property/sim-cfn-resource-property-resolver.js +3 -0
  40. package/dist/service/cloudformation/resource/resolve/property/sim-cfn-resource-property-resolver.js.map +1 -1
  41. package/dist/service/cloudformation/resource/sim-cfn-resource-record.d.ts.map +1 -1
  42. package/dist/service/cloudformation/resource/sim-cfn-resource-record.js +1 -0
  43. package/dist/service/cloudformation/resource/sim-cfn-resource-record.js.map +1 -1
  44. package/dist/service/cloudformation/template/dynamic/make-sim-cfn-dynamic-references.d.ts +1 -0
  45. package/dist/service/cloudformation/template/dynamic/make-sim-cfn-dynamic-references.d.ts.map +1 -1
  46. package/dist/service/cloudformation/template/dynamic/make-sim-cfn-dynamic-references.js +2 -1
  47. package/dist/service/cloudformation/template/dynamic/make-sim-cfn-dynamic-references.js.map +1 -1
  48. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-resolvers.d.ts.map +1 -1
  49. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-resolvers.js +4 -0
  50. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference-resolvers.js.map +1 -1
  51. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference.type.d.ts +19 -1
  52. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-reference.type.d.ts.map +1 -1
  53. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-references.d.ts +6 -0
  54. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-references.d.ts.map +1 -1
  55. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-references.js +9 -3
  56. package/dist/service/cloudformation/template/dynamic/sim-cfn-dynamic-references.js.map +1 -1
  57. package/dist/service/cloudfront/command/create-function/create-function-code-size.d.ts +23 -0
  58. package/dist/service/cloudfront/command/create-function/create-function-code-size.d.ts.map +1 -0
  59. package/dist/service/cloudfront/command/create-function/create-function-code-size.js +33 -0
  60. package/dist/service/cloudfront/command/create-function/create-function-code-size.js.map +1 -0
  61. package/dist/service/cloudfront/command/create-function/create-function.handler.d.ts.map +1 -1
  62. package/dist/service/cloudfront/command/create-function/create-function.handler.js +2 -0
  63. package/dist/service/cloudfront/command/create-function/create-function.handler.js.map +1 -1
  64. package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts +11 -0
  65. package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts.map +1 -1
  66. package/dist/service/cloudfront/error/sim-cloudfront.error.js +13 -0
  67. package/dist/service/cloudfront/error/sim-cloudfront.error.js.map +1 -1
  68. package/dist/service/cloudfront/index.d.ts +1 -1
  69. package/dist/service/cloudfront/index.d.ts.map +1 -1
  70. package/dist/service/cloudfront/index.js +1 -1
  71. package/dist/service/cloudfront/index.js.map +1 -1
  72. package/dist/service/cognito/command/sim-cognito-commands.d.ts +6 -0
  73. package/dist/service/cognito/command/sim-cognito-commands.d.ts.map +1 -1
  74. package/dist/service/cognito/command/sim-cognito-commands.js +22 -6
  75. package/dist/service/cognito/command/sim-cognito-commands.js.map +1 -1
  76. package/dist/service/cognito/error/sim-cognito.error.d.ts +22 -0
  77. package/dist/service/cognito/error/sim-cognito.error.d.ts.map +1 -1
  78. package/dist/service/cognito/error/sim-cognito.error.js +26 -0
  79. package/dist/service/cognito/error/sim-cognito.error.js.map +1 -1
  80. package/dist/service/cognito/index.d.ts +2 -1
  81. package/dist/service/cognito/index.d.ts.map +1 -1
  82. package/dist/service/cognito/index.js +1 -1
  83. package/dist/service/cognito/index.js.map +1 -1
  84. package/dist/service/cognito/sim-cognito-identity-provider.d.ts +24 -0
  85. package/dist/service/cognito/sim-cognito-identity-provider.d.ts.map +1 -1
  86. package/dist/service/cognito/sim-cognito-identity-provider.js +26 -0
  87. package/dist/service/cognito/sim-cognito-identity-provider.js.map +1 -1
  88. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-factory.d.ts +9 -0
  89. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-factory.d.ts.map +1 -1
  90. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-factory.js +2 -2
  91. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-factory.js.map +1 -1
  92. package/dist/service/cognito/user-pool/register-sim-cognito-user-pool-client.d.ts +22 -0
  93. package/dist/service/cognito/user-pool/register-sim-cognito-user-pool-client.d.ts.map +1 -0
  94. package/dist/service/cognito/user-pool/register-sim-cognito-user-pool-client.js +36 -0
  95. package/dist/service/cognito/user-pool/register-sim-cognito-user-pool-client.js.map +1 -0
  96. package/dist/service/cognito/user-pool/register-sim-cognito-user-pool.d.ts +25 -0
  97. package/dist/service/cognito/user-pool/register-sim-cognito-user-pool.d.ts.map +1 -0
  98. package/dist/service/cognito/user-pool/register-sim-cognito-user-pool.js +30 -0
  99. package/dist/service/cognito/user-pool/register-sim-cognito-user-pool.js.map +1 -0
  100. package/dist/service/cognito/user-pool/sim-cognito-registration.types.d.ts +40 -0
  101. package/dist/service/cognito/user-pool/sim-cognito-registration.types.d.ts.map +1 -0
  102. package/dist/service/cognito/user-pool/sim-cognito-registration.types.js +2 -0
  103. package/dist/service/cognito/user-pool/sim-cognito-registration.types.js.map +1 -0
  104. package/dist/service/cognito/user-pool/sim-cognito-registrations.d.ts +34 -0
  105. package/dist/service/cognito/user-pool/sim-cognito-registrations.d.ts.map +1 -0
  106. package/dist/service/cognito/user-pool/sim-cognito-registrations.js +28 -0
  107. package/dist/service/cognito/user-pool/sim-cognito-registrations.js.map +1 -0
  108. package/dist/service/cognito/user-pool/sim-cognito-user-pool-factory.d.ts +9 -0
  109. package/dist/service/cognito/user-pool/sim-cognito-user-pool-factory.d.ts.map +1 -1
  110. package/dist/service/cognito/user-pool/sim-cognito-user-pool-factory.js +3 -2
  111. package/dist/service/cognito/user-pool/sim-cognito-user-pool-factory.js.map +1 -1
  112. package/dist/service/cognito/user-pool/sim-cognito-user-pool-id.d.ts +9 -0
  113. package/dist/service/cognito/user-pool/sim-cognito-user-pool-id.d.ts.map +1 -1
  114. package/dist/service/cognito/user-pool/sim-cognito-user-pool-id.js +18 -0
  115. package/dist/service/cognito/user-pool/sim-cognito-user-pool-id.js.map +1 -1
  116. package/dist/service/cognito/user-pool/sim-cognito-user-pool-store.d.ts +8 -0
  117. package/dist/service/cognito/user-pool/sim-cognito-user-pool-store.d.ts.map +1 -1
  118. package/dist/service/cognito/user-pool/sim-cognito-user-pool-store.js +15 -1
  119. package/dist/service/cognito/user-pool/sim-cognito-user-pool-store.js.map +1 -1
  120. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-attacher.d.ts +40 -0
  121. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-attacher.d.ts.map +1 -0
  122. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-attacher.js +65 -0
  123. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-attacher.js.map +1 -0
  124. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-creator.d.ts +1 -0
  125. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-creator.d.ts.map +1 -1
  126. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-creator.js +5 -0
  127. package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-creator.js.map +1 -1
  128. package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-creator.d.ts +11 -20
  129. package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-creator.d.ts.map +1 -1
  130. package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-creator.js +29 -61
  131. package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-creator.js.map +1 -1
  132. package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-properties-parser.d.ts +38 -0
  133. package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-properties-parser.d.ts.map +1 -0
  134. package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-properties-parser.js +79 -0
  135. package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-properties-parser.js.map +1 -0
  136. package/dist/service/iam/cfn/role/sim-cfn-iam-role-properties-parser.d.ts +2 -2
  137. package/dist/service/iam/cfn/role/sim-cfn-iam-role-properties-parser.d.ts.map +1 -1
  138. package/dist/service/iam/cfn/role/sim-cfn-iam-role-properties-parser.js +4 -2
  139. package/dist/service/iam/cfn/role/sim-cfn-iam-role-properties-parser.js.map +1 -1
  140. package/dist/service/iam/cfn/sim-cfn-iam-policies-parser.d.ts +35 -0
  141. package/dist/service/iam/cfn/sim-cfn-iam-policies-parser.d.ts.map +1 -0
  142. package/dist/service/iam/cfn/{role/sim-cfn-iam-role-policies-parser.js → sim-cfn-iam-policies-parser.js} +17 -12
  143. package/dist/service/iam/cfn/sim-cfn-iam-policies-parser.js.map +1 -0
  144. package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.d.ts +11 -0
  145. package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.d.ts.map +1 -1
  146. package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.js +25 -0
  147. package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.js.map +1 -1
  148. package/dist/service/iam/cfn/sim-cfn-iam-resource-factory.d.ts +1 -0
  149. package/dist/service/iam/cfn/sim-cfn-iam-resource-factory.d.ts.map +1 -1
  150. package/dist/service/iam/cfn/sim-cfn-iam-resource-factory.js +6 -0
  151. package/dist/service/iam/cfn/sim-cfn-iam-resource-factory.js.map +1 -1
  152. package/dist/service/iam/cfn/user/sim-cfn-iam-user-creator.d.ts +28 -0
  153. package/dist/service/iam/cfn/user/sim-cfn-iam-user-creator.d.ts.map +1 -0
  154. package/dist/service/iam/cfn/user/sim-cfn-iam-user-creator.js +67 -0
  155. package/dist/service/iam/cfn/user/sim-cfn-iam-user-creator.js.map +1 -0
  156. package/dist/service/iam/cfn/user/sim-cfn-iam-user-deleter.d.ts +26 -0
  157. package/dist/service/iam/cfn/user/sim-cfn-iam-user-deleter.d.ts.map +1 -0
  158. package/dist/service/iam/cfn/user/sim-cfn-iam-user-deleter.js +29 -0
  159. package/dist/service/iam/cfn/user/sim-cfn-iam-user-deleter.js.map +1 -0
  160. package/dist/service/iam/cfn/user/sim-cfn-iam-user-properties-parser.d.ts +38 -0
  161. package/dist/service/iam/cfn/user/sim-cfn-iam-user-properties-parser.d.ts.map +1 -0
  162. package/dist/service/iam/cfn/user/sim-cfn-iam-user-properties-parser.js +80 -0
  163. package/dist/service/iam/cfn/user/sim-cfn-iam-user-properties-parser.js.map +1 -0
  164. package/dist/service/iam/command/sim-iam-command.types.d.ts +3 -0
  165. package/dist/service/iam/command/sim-iam-command.types.d.ts.map +1 -1
  166. package/dist/service/iam/command/user/attach-user-policy/attach-user-policy.command.d.ts +9 -0
  167. package/dist/service/iam/command/user/attach-user-policy/attach-user-policy.command.d.ts.map +1 -0
  168. package/dist/service/iam/command/user/attach-user-policy/attach-user-policy.command.js +2 -0
  169. package/dist/service/iam/command/user/attach-user-policy/attach-user-policy.command.js.map +1 -0
  170. package/dist/service/iam/command/user/attach-user-policy/attach-user-policy.handler.d.ts +30 -0
  171. package/dist/service/iam/command/user/attach-user-policy/attach-user-policy.handler.d.ts.map +1 -0
  172. package/dist/service/iam/command/user/attach-user-policy/attach-user-policy.handler.js +44 -0
  173. package/dist/service/iam/command/user/attach-user-policy/attach-user-policy.handler.js.map +1 -0
  174. package/dist/service/iam/command/user/create-login-profile/create-login-profile.command.d.ts +16 -0
  175. package/dist/service/iam/command/user/create-login-profile/create-login-profile.command.d.ts.map +1 -0
  176. package/dist/service/iam/command/user/create-login-profile/create-login-profile.command.js +2 -0
  177. package/dist/service/iam/command/user/create-login-profile/create-login-profile.command.js.map +1 -0
  178. package/dist/service/iam/command/user/create-login-profile/create-login-profile.handler.d.ts +32 -0
  179. package/dist/service/iam/command/user/create-login-profile/create-login-profile.handler.d.ts.map +1 -0
  180. package/dist/service/iam/command/user/create-login-profile/create-login-profile.handler.js +59 -0
  181. package/dist/service/iam/command/user/create-login-profile/create-login-profile.handler.js.map +1 -0
  182. package/dist/service/iam/command/user/create-user/create-user-record-factory.d.ts.map +1 -1
  183. package/dist/service/iam/command/user/create-user/create-user-record-factory.js +1 -0
  184. package/dist/service/iam/command/user/create-user/create-user-record-factory.js.map +1 -1
  185. package/dist/service/iam/command/user/delete-user/delete-user.command.d.ts +19 -0
  186. package/dist/service/iam/command/user/delete-user/delete-user.command.d.ts.map +1 -0
  187. package/dist/service/iam/command/user/delete-user/delete-user.command.js +2 -0
  188. package/dist/service/iam/command/user/delete-user/delete-user.command.js.map +1 -0
  189. package/dist/service/iam/command/user/delete-user/delete-user.handler.d.ts +34 -0
  190. package/dist/service/iam/command/user/delete-user/delete-user.handler.d.ts.map +1 -0
  191. package/dist/service/iam/command/user/delete-user/delete-user.handler.js +51 -0
  192. package/dist/service/iam/command/user/delete-user/delete-user.handler.js.map +1 -0
  193. package/dist/service/iam/command/user/sim-iam-user-command-handlers.d.ts +15 -0
  194. package/dist/service/iam/command/user/sim-iam-user-command-handlers.d.ts.map +1 -1
  195. package/dist/service/iam/command/user/sim-iam-user-command-handlers.js +36 -0
  196. package/dist/service/iam/command/user/sim-iam-user-command-handlers.js.map +1 -1
  197. package/dist/service/iam/sdk/sim-iam-sdk-command-router.d.ts.map +1 -1
  198. package/dist/service/iam/sdk/sim-iam-sdk-command-router.js +12 -0
  199. package/dist/service/iam/sdk/sim-iam-sdk-command-router.js.map +1 -1
  200. package/dist/service/iam/sim-iam.d.ts +12 -0
  201. package/dist/service/iam/sim-iam.d.ts.map +1 -1
  202. package/dist/service/iam/sim-iam.js +18 -0
  203. package/dist/service/iam/sim-iam.js.map +1 -1
  204. package/dist/service/iam/user/sim-iam-user-login-profile.d.ts +14 -0
  205. package/dist/service/iam/user/sim-iam-user-login-profile.d.ts.map +1 -0
  206. package/dist/service/iam/user/sim-iam-user-login-profile.js +2 -0
  207. package/dist/service/iam/user/sim-iam-user-login-profile.js.map +1 -0
  208. package/dist/service/iam/user/sim-iam-user.d.ts +8 -0
  209. package/dist/service/iam/user/sim-iam-user.d.ts.map +1 -1
  210. package/dist/service/lambda/function/code/sim-lambda-executable-code.d.ts +6 -5
  211. package/dist/service/lambda/function/code/sim-lambda-executable-code.d.ts.map +1 -1
  212. package/dist/service/lambda/function/code/sim-lambda-executable-code.js +7 -6
  213. package/dist/service/lambda/function/code/sim-lambda-executable-code.js.map +1 -1
  214. package/dist/service/lambda/function/invoke/sim-lambda-host-scope.d.ts +11 -3
  215. package/dist/service/lambda/function/invoke/sim-lambda-host-scope.d.ts.map +1 -1
  216. package/dist/service/lambda/function/invoke/sim-lambda-host-scope.js +13 -7
  217. package/dist/service/lambda/function/invoke/sim-lambda-host-scope.js.map +1 -1
  218. package/dist/service/lambda/function/invoke/sim-lambda-process-output.d.ts +104 -0
  219. package/dist/service/lambda/function/invoke/sim-lambda-process-output.d.ts.map +1 -0
  220. package/dist/service/lambda/function/invoke/sim-lambda-process-output.js +133 -0
  221. package/dist/service/lambda/function/invoke/sim-lambda-process-output.js.map +1 -0
  222. package/dist/service/lambda/function/logging/sim-lambda-function-logging.d.ts +10 -0
  223. package/dist/service/lambda/function/logging/sim-lambda-function-logging.d.ts.map +1 -1
  224. package/dist/service/lambda/function/logging/sim-lambda-function-logging.js +11 -0
  225. package/dist/service/lambda/function/logging/sim-lambda-function-logging.js.map +1 -1
  226. package/dist/service/lambda/function/sim-lambda-function.d.ts +2 -1
  227. package/dist/service/lambda/function/sim-lambda-function.d.ts.map +1 -1
  228. package/dist/service/lambda/function/sim-lambda-function.js +5 -2
  229. package/dist/service/lambda/function/sim-lambda-function.js.map +1 -1
  230. package/dist/service/s3/command/get-object/get-object-loader.d.ts +5 -3
  231. package/dist/service/s3/command/get-object/get-object-loader.d.ts.map +1 -1
  232. package/dist/service/s3/command/get-object/get-object-loader.js +19 -4
  233. package/dist/service/s3/command/get-object/get-object-loader.js.map +1 -1
  234. package/dist/service/s3/command/get-object/get-object.command.d.ts +13 -0
  235. package/dist/service/s3/command/get-object/get-object.command.d.ts.map +1 -1
  236. package/dist/service/s3/command/get-object/get-object.handler.d.ts +3 -0
  237. package/dist/service/s3/command/get-object/get-object.handler.d.ts.map +1 -1
  238. package/dist/service/s3/command/get-object/get-object.handler.js +4 -1
  239. package/dist/service/s3/command/get-object/get-object.handler.js.map +1 -1
  240. package/dist/service/s3/error/sim-s3.error.d.ts +13 -0
  241. package/dist/service/s3/error/sim-s3.error.d.ts.map +1 -1
  242. package/dist/service/s3/error/sim-s3.error.js +15 -0
  243. package/dist/service/s3/error/sim-s3.error.js.map +1 -1
  244. package/dist/service/s3/object/s3-object-range.d.ts +26 -0
  245. package/dist/service/s3/object/s3-object-range.d.ts.map +1 -0
  246. package/dist/service/s3/object/s3-object-range.js +89 -0
  247. package/dist/service/s3/object/s3-object-range.js.map +1 -0
  248. package/dist/service/s3/object/s3-object-response-headers.d.ts +7 -1
  249. package/dist/service/s3/object/s3-object-response-headers.d.ts.map +1 -1
  250. package/dist/service/s3/object/s3-object-response-headers.js +5 -1
  251. package/dist/service/s3/object/s3-object-response-headers.js.map +1 -1
  252. package/dist/service/s3/serve/api/sim-s3-api-input.d.ts +0 -14
  253. package/dist/service/s3/serve/api/sim-s3-api-input.d.ts.map +1 -1
  254. package/dist/service/s3/serve/api/sim-s3-api-input.js +0 -29
  255. package/dist/service/s3/serve/api/sim-s3-api-input.js.map +1 -1
  256. package/dist/service/s3/serve/api/sim-s3-api-object-input.d.ts +27 -0
  257. package/dist/service/s3/serve/api/sim-s3-api-object-input.d.ts.map +1 -0
  258. package/dist/service/s3/serve/api/sim-s3-api-object-input.js +47 -0
  259. package/dist/service/s3/serve/api/sim-s3-api-object-input.js.map +1 -0
  260. package/dist/service/s3/serve/api/sim-s3-api-object-output.d.ts +5 -0
  261. package/dist/service/s3/serve/api/sim-s3-api-object-output.d.ts.map +1 -1
  262. package/dist/service/s3/serve/api/sim-s3-api-object-output.js +8 -1
  263. package/dist/service/s3/serve/api/sim-s3-api-object-output.js.map +1 -1
  264. package/dist/service/s3/serve/api/sim-s3-api-object-routes.d.ts.map +1 -1
  265. package/dist/service/s3/serve/api/sim-s3-api-object-routes.js +2 -2
  266. package/dist/service/s3/serve/api/sim-s3-api-object-routes.js.map +1 -1
  267. package/dist/service/s3/serve/sim-s3-rest-object-reader.d.ts +5 -0
  268. package/dist/service/s3/serve/sim-s3-rest-object-reader.d.ts.map +1 -1
  269. package/dist/service/s3/serve/sim-s3-rest-object-reader.js +20 -3
  270. package/dist/service/s3/serve/sim-s3-rest-object-reader.js.map +1 -1
  271. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-dynamic-reference-resolver.d.ts +0 -7
  272. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-dynamic-reference-resolver.d.ts.map +1 -1
  273. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-dynamic-reference-resolver.js +7 -41
  274. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-dynamic-reference-resolver.js.map +1 -1
  275. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-reference-body.d.ts +14 -0
  276. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-reference-body.d.ts.map +1 -0
  277. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-reference-body.js +26 -0
  278. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-reference-body.js.map +1 -0
  279. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-reference-stand-in.d.ts +11 -0
  280. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-reference-stand-in.d.ts.map +1 -0
  281. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-reference-stand-in.js +16 -0
  282. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-reference-stand-in.js.map +1 -0
  283. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-dynamic-reference-resolver.d.ts +40 -0
  284. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-dynamic-reference-resolver.d.ts.map +1 -0
  285. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-dynamic-reference-resolver.js +67 -0
  286. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-dynamic-reference-resolver.js.map +1 -0
  287. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-reference-properties.d.ts +8 -0
  288. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-reference-properties.d.ts.map +1 -0
  289. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-reference-properties.js +61 -0
  290. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-reference-properties.js.map +1 -0
  291. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-refusals.d.ts +19 -0
  292. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-refusals.d.ts.map +1 -0
  293. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-refusals.js +37 -0
  294. package/dist/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-refusals.js.map +1 -0
  295. package/dist/service/ssm/sim-ssm.d.ts +5 -0
  296. package/dist/service/ssm/sim-ssm.d.ts.map +1 -1
  297. package/dist/service/ssm/sim-ssm.js +7 -0
  298. package/dist/service/ssm/sim-ssm.js.map +1 -1
  299. package/package.json +1 -1
  300. package/dist/service/iam/cfn/role/sim-cfn-iam-role-policies-parser.d.ts +0 -25
  301. package/dist/service/iam/cfn/role/sim-cfn-iam-role-policies-parser.d.ts.map +0 -1
  302. package/dist/service/iam/cfn/role/sim-cfn-iam-role-policies-parser.js.map +0 -1
@@ -0,0 +1,26 @@
1
+ /** The characters CloudFormation documents a referenced parameter name as. */
2
+ const ssmReferenceName = /^[a-zA-Z0-9_.\-/]+$/;
3
+ /** The version selector, which CloudFormation documents as an integer. */
4
+ const ssmReferenceVersion = /^\d+$/;
5
+ /**
6
+ * Read a reference body as a parameter name and an optional version.
7
+ *
8
+ * A parameter name holds no colon, so the last one always opens the version.
9
+ * `ssm` and `ssm-secure` references take the same body, and read it the same
10
+ * way.
11
+ */
12
+ export function parseSimCfnSsmReferenceBody(body) {
13
+ const colon = body.lastIndexOf(":");
14
+ if (colon === -1) {
15
+ return ssmReferenceName.test(body)
16
+ ? { name: body, version: undefined }
17
+ : undefined;
18
+ }
19
+ const name = body.slice(0, colon);
20
+ const version = body.slice(colon + 1);
21
+ if (!ssmReferenceName.test(name) || !ssmReferenceVersion.test(version)) {
22
+ return undefined;
23
+ }
24
+ return { name, version };
25
+ }
26
+ //# sourceMappingURL=sim-cfn-ssm-reference-body.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-ssm-reference-body.js","sourceRoot":"","sources":["../../../../../src/service/ssm/cfn/dynamic/sim-cfn-ssm-reference-body.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AAE/C,0EAA0E;AAC1E,MAAM,mBAAmB,GAAG,OAAO,CAAC;AAQpC;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CACzC,IAAY;IAEZ,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAEpC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YAChC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE;YACpC,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAEtC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { SimCfnDynamicReference, SimCfnDynamicReferenceResolution } from "../../../cloudformation/template/dynamic/sim-cfn-dynamic-reference.type.js";
2
+ /**
3
+ * The value a reference Parameter Store could not answer resolves to.
4
+ *
5
+ * The shape follows CDK, which fills an unresolved context lookup with
6
+ * `dummy-value-for-<name>`. A test reading one back sees where it came from.
7
+ * `ssm` and `ssm-secure` references both take this path, and both record the
8
+ * reason against the property that held the reference.
9
+ */
10
+ export declare function simCfnSsmReferenceStandIn(reference: SimCfnDynamicReference, name: string, reason: string): SimCfnDynamicReferenceResolution;
11
+ //# sourceMappingURL=sim-cfn-ssm-reference-stand-in.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-ssm-reference-stand-in.d.ts","sourceRoot":"","sources":["../../../../../src/service/ssm/cfn/dynamic/sim-cfn-ssm-reference-stand-in.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,gCAAgC,EACjC,MAAM,4EAA4E,CAAC;AAEpF;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,sBAAsB,EACjC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,gCAAgC,CAOlC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * The value a reference Parameter Store could not answer resolves to.
3
+ *
4
+ * The shape follows CDK, which fills an unresolved context lookup with
5
+ * `dummy-value-for-<name>`. A test reading one back sees where it came from.
6
+ * `ssm` and `ssm-secure` references both take this path, and both record the
7
+ * reason against the property that held the reference.
8
+ */
9
+ export function simCfnSsmReferenceStandIn(reference, name, reason) {
10
+ return {
11
+ value: `dummy-value-for-${name}`,
12
+ reason: `holds ${reference.text}, ${reason}, so the Resource is created ` +
13
+ `with a stand-in value`,
14
+ };
15
+ }
16
+ //# sourceMappingURL=sim-cfn-ssm-reference-stand-in.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-ssm-reference-stand-in.js","sourceRoot":"","sources":["../../../../../src/service/ssm/cfn/dynamic/sim-cfn-ssm-reference-stand-in.ts"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACvC,SAAiC,EACjC,IAAY,EACZ,MAAc;IAEd,OAAO;QACL,KAAK,EAAE,mBAAmB,IAAI,EAAE;QAChC,MAAM,EACJ,SAAS,SAAS,CAAC,IAAI,KAAK,MAAM,+BAA+B;YACjE,uBAAuB;KAC1B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,40 @@
1
+ import type { SimCfnDynamicReference, SimCfnDynamicReferenceResolution, SimCfnDynamicReferenceResolver, SimCfnDynamicReferenceSite } from "../../../cloudformation/template/dynamic/sim-cfn-dynamic-reference.type.js";
2
+ import type { SimSsm } from "../../sim-ssm.js";
3
+ interface SimCfnSsmSecureDynamicReferenceResolverProperties {
4
+ readonly ssm: SimSsm;
5
+ }
6
+ /**
7
+ * Answers `{{resolve:ssm-secure:...}}` references from the simulated Parameter
8
+ * Store.
9
+ *
10
+ * The parameter is read the way `GetParameter` with `WithDecryption` reads it,
11
+ * as the caller deploying the Stack, so the value comes back decrypted through
12
+ * the simulated KMS key it was written under. A caller the key does not admit
13
+ * is denied here, which is the failure a real deployment hits. Decrypting
14
+ * cannot be done synchronously, so the answer comes back as a promise for the
15
+ * CloudFormation engine to wait on.
16
+ *
17
+ * A reference the template had no business writing fails the Resource, which
18
+ * `sim-cfn-ssm-secure-refusals.ts` holds the rules for. Everything else
19
+ * Parameter Store cannot answer becomes a stand-in value carrying a reason. A
20
+ * template naming parameters a test never created still deploys, and the
21
+ * Resource records what it was given instead.
22
+ */
23
+ export declare class SimCfnSsmSecureDynamicReferenceResolver implements SimCfnDynamicReferenceResolver {
24
+ private readonly ssm;
25
+ constructor(properties: SimCfnSsmSecureDynamicReferenceResolverProperties);
26
+ /**
27
+ * Resolve one reference to the decrypted parameter value it names.
28
+ *
29
+ * Where the reference sits is checked before anything is read, so a template
30
+ * writing one somewhere CloudFormation refuses it fails without a parameter
31
+ * being touched.
32
+ */
33
+ resolve(reference: SimCfnDynamicReference, site: SimCfnDynamicReferenceSite): SimCfnDynamicReferenceResolution | Promise<SimCfnDynamicReferenceResolution>;
34
+ /**
35
+ * Read the version the reference selects, or the current one, decrypted.
36
+ */
37
+ private decrypted;
38
+ }
39
+ export {};
40
+ //# sourceMappingURL=sim-cfn-ssm-secure-dynamic-reference-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-ssm-secure-dynamic-reference-resolver.d.ts","sourceRoot":"","sources":["../../../../../src/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-dynamic-reference-resolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,sBAAsB,EACtB,gCAAgC,EAChC,8BAA8B,EAC9B,0BAA0B,EAC3B,MAAM,4EAA4E,CAAC;AAEpF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAQ/C,UAAU,iDAAiD;IACzD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,uCAAwC,YAAW,8BAA8B;IAC5F,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAE7B,YAAY,UAAU,EAAE,iDAAiD,EAExE;IAED;;;;;;OAMG;IACH,OAAO,CACL,SAAS,EAAE,sBAAsB,EACjC,IAAI,EAAE,0BAA0B,GAE9B,gCAAgC,GAChC,OAAO,CAAC,gCAAgC,CAAC,CAe5C;IAED;;OAEG;YACW,SAAS;CA+BxB"}
@@ -0,0 +1,67 @@
1
+ import { assertDefined } from "../../../../util/type-guard/defined.js";
2
+ import { SimSsmError } from "../../error/sim-ssm.error.js";
3
+ import { parseSimCfnSsmReferenceBody } from "./sim-cfn-ssm-reference-body.js";
4
+ import { simCfnSsmReferenceStandIn } from "./sim-cfn-ssm-reference-stand-in.js";
5
+ import { requireSecureStringParameter, requireSsmSecureReferenceProperty, } from "./sim-cfn-ssm-secure-refusals.js";
6
+ /**
7
+ * Answers `{{resolve:ssm-secure:...}}` references from the simulated Parameter
8
+ * Store.
9
+ *
10
+ * The parameter is read the way `GetParameter` with `WithDecryption` reads it,
11
+ * as the caller deploying the Stack, so the value comes back decrypted through
12
+ * the simulated KMS key it was written under. A caller the key does not admit
13
+ * is denied here, which is the failure a real deployment hits. Decrypting
14
+ * cannot be done synchronously, so the answer comes back as a promise for the
15
+ * CloudFormation engine to wait on.
16
+ *
17
+ * A reference the template had no business writing fails the Resource, which
18
+ * `sim-cfn-ssm-secure-refusals.ts` holds the rules for. Everything else
19
+ * Parameter Store cannot answer becomes a stand-in value carrying a reason. A
20
+ * template naming parameters a test never created still deploys, and the
21
+ * Resource records what it was given instead.
22
+ */
23
+ export class SimCfnSsmSecureDynamicReferenceResolver {
24
+ ssm;
25
+ constructor(properties) {
26
+ this.ssm = properties.ssm;
27
+ }
28
+ /**
29
+ * Resolve one reference to the decrypted parameter value it names.
30
+ *
31
+ * Where the reference sits is checked before anything is read, so a template
32
+ * writing one somewhere CloudFormation refuses it fails without a parameter
33
+ * being touched.
34
+ */
35
+ resolve(reference, site) {
36
+ requireSsmSecureReferenceProperty(reference, site);
37
+ const parsed = parseSimCfnSsmReferenceBody(reference.body);
38
+ if (parsed === undefined) {
39
+ return simCfnSsmReferenceStandIn(reference, reference.body, `which is not the parameter name, optionally followed by an integer ` +
40
+ `version, that an ssm-secure dynamic reference takes`);
41
+ }
42
+ return this.decrypted(reference, parsed.name, parsed.version);
43
+ }
44
+ /**
45
+ * Read the version the reference selects, or the current one, decrypted.
46
+ */
47
+ async decrypted(reference, name, version) {
48
+ const selector = version === undefined ? name : `${name}:${version}`;
49
+ try {
50
+ const read = await this.ssm.getParameter({
51
+ input: { Name: selector, WithDecryption: true },
52
+ });
53
+ const parameter = read.Parameter;
54
+ assertDefined(parameter, `the parameter read for '${name}'`);
55
+ requireSecureStringParameter(name, parameter);
56
+ assertDefined(parameter.Value, `the value read for '${name}'`);
57
+ return { value: parameter.Value };
58
+ }
59
+ catch (error) {
60
+ if (!(error instanceof SimSsmError)) {
61
+ throw error;
62
+ }
63
+ return simCfnSsmReferenceStandIn(reference, name, `and simulated Parameter Store could not read it (${error.message})`);
64
+ }
65
+ }
66
+ }
67
+ //# sourceMappingURL=sim-cfn-ssm-secure-dynamic-reference-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-ssm-secure-dynamic-reference-resolver.js","sourceRoot":"","sources":["../../../../../src/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-dynamic-reference-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAOvE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EACL,4BAA4B,EAC5B,iCAAiC,GAClC,MAAM,kCAAkC,CAAC;AAM1C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,uCAAuC;IACjC,GAAG,CAAS;IAE7B,YAAY,UAA6D;QACvE,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;IAC5B,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CACL,SAAiC,EACjC,IAAgC;QAIhC,iCAAiC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAEnD,MAAM,MAAM,GAAG,2BAA2B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE3D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,yBAAyB,CAC9B,SAAS,EACT,SAAS,CAAC,IAAI,EACd,qEAAqE;gBACnE,qDAAqD,CACxD,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,SAAS,CACrB,SAAiC,EACjC,IAAY,EACZ,OAA2B;QAE3B,MAAM,QAAQ,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC;QAErE,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;gBACvC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE;aAChD,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAEjC,aAAa,CAAC,SAAS,EAAE,2BAA2B,IAAI,GAAG,CAAC,CAAC;YAC7D,4BAA4B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC9C,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,uBAAuB,IAAI,GAAG,CAAC,CAAC;YAE/D,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,KAAK,YAAY,WAAW,CAAC,EAAE,CAAC;gBACpC,MAAM,KAAK,CAAC;YACd,CAAC;YAED,OAAO,yBAAyB,CAC9B,SAAS,EACT,IAAI,EACJ,oDAAoD,KAAK,CAAC,OAAO,GAAG,CACrE,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Whether an `ssm-secure` reference is accepted in one Resource property.
3
+ *
4
+ * A Resource with no type in its template accepts none, since there is nothing
5
+ * to match it against.
6
+ */
7
+ export declare function acceptsSsmSecureReference(resourceType: string | undefined, propertyPath: string): boolean;
8
+ //# sourceMappingURL=sim-cfn-ssm-secure-reference-properties.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-ssm-secure-reference-properties.d.ts","sourceRoot":"","sources":["../../../../../src/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-reference-properties.ts"],"names":[],"mappings":"AAoCA;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,YAAY,EAAE,MAAM,GACnB,OAAO,CAST"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * The Resource properties real CloudFormation reads an `ssm-secure` dynamic
3
+ * reference in.
4
+ *
5
+ * Every other property refuses one, which is a rule worth keeping because a
6
+ * template breaking it is wrong wherever it deploys. The list is short and
7
+ * fixed, and AWS documents it in full:
8
+ * https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references-ssm-secure-strings.html
9
+ *
10
+ * `AWS::IAM::User` `LoginProfile.Password` is the only pair a simulated
11
+ * Resource holds today. The other ten name Resource types nothing here
12
+ * simulates, and they are listed anyway so that the rule is the documented one
13
+ * rather than the part of it this simulation happens to reach.
14
+ */
15
+ const acceptingProperties = new Map([
16
+ ["AWS::DirectoryService::MicrosoftAD", new Set(["Password"])],
17
+ ["AWS::DirectoryService::SimpleAD", new Set(["Password"])],
18
+ ["AWS::ElastiCache::ReplicationGroup", new Set(["AuthToken"])],
19
+ ["AWS::IAM::User", new Set(["LoginProfile.Password"])],
20
+ [
21
+ "AWS::KinesisFirehose::DeliveryStream",
22
+ new Set(["RedshiftDestinationConfiguration.Password"]),
23
+ ],
24
+ ["AWS::OpsWorks::App", new Set(["Source.Password"])],
25
+ [
26
+ "AWS::OpsWorks::Stack",
27
+ new Set(["CustomCookbooksSource.Password", "RdsDbInstances.DbPassword"]),
28
+ ],
29
+ ["AWS::RDS::DBCluster", new Set(["MasterUserPassword"])],
30
+ ["AWS::RDS::DBInstance", new Set(["MasterUserPassword"])],
31
+ ["AWS::Redshift::Cluster", new Set(["MasterUserPassword"])],
32
+ ]);
33
+ /** A list position in a resolved property path, such as the `0` of `Tags.0`. */
34
+ const listPosition = /^\d+$/;
35
+ /**
36
+ * Whether an `ssm-secure` reference is accepted in one Resource property.
37
+ *
38
+ * A Resource with no type in its template accepts none, since there is nothing
39
+ * to match it against.
40
+ */
41
+ export function acceptsSsmSecureReference(resourceType, propertyPath) {
42
+ if (resourceType === undefined) {
43
+ return false;
44
+ }
45
+ return (acceptingProperties.get(resourceType)?.has(namedProperty(propertyPath)) ===
46
+ true);
47
+ }
48
+ /**
49
+ * The property a resolved path names, with the list positions taken out.
50
+ *
51
+ * `RdsDbInstances` holds a list, so the path to a password inside it reads
52
+ * `RdsDbInstances.0.DbPassword` while the documented property is
53
+ * `RdsDbInstances.DbPassword`.
54
+ */
55
+ function namedProperty(propertyPath) {
56
+ return propertyPath
57
+ .split(".")
58
+ .filter((segment) => !listPosition.test(segment))
59
+ .join(".");
60
+ }
61
+ //# sourceMappingURL=sim-cfn-ssm-secure-reference-properties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-ssm-secure-reference-properties.js","sourceRoot":"","sources":["../../../../../src/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-reference-properties.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,mBAAmB,GAA6C,IAAI,GAAG,CAAC;IAC5E,CAAC,oCAAoC,EAAE,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7D,CAAC,iCAAiC,EAAE,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1D,CAAC,oCAAoC,EAAE,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9D,CAAC,gBAAgB,EAAE,IAAI,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC;IACtD;QACE,sCAAsC;QACtC,IAAI,GAAG,CAAC,CAAC,2CAA2C,CAAC,CAAC;KACvD;IACD,CAAC,oBAAoB,EAAE,IAAI,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACpD;QACE,sBAAsB;QACtB,IAAI,GAAG,CAAC,CAAC,gCAAgC,EAAE,2BAA2B,CAAC,CAAC;KACzE;IACD,CAAC,qBAAqB,EAAE,IAAI,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACxD,CAAC,sBAAsB,EAAE,IAAI,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACzD,CAAC,wBAAwB,EAAE,IAAI,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;CAC5D,CAAC,CAAC;AAEH,gFAAgF;AAChF,MAAM,YAAY,GAAG,OAAO,CAAC;AAE7B;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CACvC,YAAgC,EAChC,YAAoB;IAEpB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,CACL,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACvE,IAAI,CACL,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,aAAa,CAAC,YAAoB;IACzC,OAAO,YAAY;SAChB,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAChD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { SimCfnDynamicReference, SimCfnDynamicReferenceSite } from "../../../cloudformation/template/dynamic/sim-cfn-dynamic-reference.type.js";
2
+ import type { SimSsmParameterOutput } from "../../command/parameter/parameter.command.js";
3
+ /**
4
+ * Fail a reference written into a property CloudFormation does not read one
5
+ * in.
6
+ *
7
+ * This fails the Resource rather than resolving to a stand-in value. A
8
+ * template breaking the rule is wrong wherever it deploys, so saying so is
9
+ * more use than deploying something that was never the secret.
10
+ */
11
+ export declare function requireSsmSecureReferenceProperty(reference: SimCfnDynamicReference, site: SimCfnDynamicReferenceSite): void;
12
+ /**
13
+ * Fail a reference naming a parameter stored in the clear.
14
+ *
15
+ * Real CloudFormation refuses one the same way. The plain `ssm` reference
16
+ * beside it is what reads a `String` or a `StringList`.
17
+ */
18
+ export declare function requireSecureStringParameter(name: string, parameter: SimSsmParameterOutput): void;
19
+ //# sourceMappingURL=sim-cfn-ssm-secure-refusals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-ssm-secure-refusals.d.ts","sourceRoot":"","sources":["../../../../../src/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-refusals.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,sBAAsB,EACtB,0BAA0B,EAC3B,MAAM,4EAA4E,CAAC;AACpF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAS1F;;;;;;;GAOG;AACH,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,sBAAsB,EACjC,IAAI,EAAE,0BAA0B,GAC/B,IAAI,CAUN;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,qBAAqB,GAC/B,IAAI,CAUN"}
@@ -0,0 +1,37 @@
1
+ import { SimCloudFormationValidationError } from "../../../cloudformation/error/sim-cloudformation.error.js";
2
+ import { acceptsSsmSecureReference } from "./sim-cfn-ssm-secure-reference-properties.js";
3
+ /** What a Resource carrying no `Type` is called in a refusal. */
4
+ const untypedResource = "A Resource with no Type";
5
+ /** The parameter type an `ssm-secure` reference reads. */
6
+ const secureString = "SecureString";
7
+ /**
8
+ * Fail a reference written into a property CloudFormation does not read one
9
+ * in.
10
+ *
11
+ * This fails the Resource rather than resolving to a stand-in value. A
12
+ * template breaking the rule is wrong wherever it deploys, so saying so is
13
+ * more use than deploying something that was never the secret.
14
+ */
15
+ export function requireSsmSecureReferenceProperty(reference, site) {
16
+ if (acceptsSsmSecureReference(site.resourceType, site.propertyPath)) {
17
+ return;
18
+ }
19
+ throw new SimCloudFormationValidationError(`${site.resourceType ?? untypedResource} holds ${reference.text}. ` +
20
+ `CloudFormation reads an ssm-secure dynamic reference in eleven ` +
21
+ `Resource properties, and this is not one of them.`);
22
+ }
23
+ /**
24
+ * Fail a reference naming a parameter stored in the clear.
25
+ *
26
+ * Real CloudFormation refuses one the same way. The plain `ssm` reference
27
+ * beside it is what reads a `String` or a `StringList`.
28
+ */
29
+ export function requireSecureStringParameter(name, parameter) {
30
+ if (parameter.Type === secureString) {
31
+ return;
32
+ }
33
+ throw new SimCloudFormationValidationError(`'${name}' is a ${parameter.Type ?? "typeless"} parameter, and an ` +
34
+ `ssm-secure dynamic reference reads a ${secureString}. Read a plain ` +
35
+ `parameter with an ssm reference instead.`);
36
+ }
37
+ //# sourceMappingURL=sim-cfn-ssm-secure-refusals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-ssm-secure-refusals.js","sourceRoot":"","sources":["../../../../../src/service/ssm/cfn/dynamic/sim-cfn-ssm-secure-refusals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,2DAA2D,CAAC;AAM7G,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAC;AAEzF,iEAAiE;AACjE,MAAM,eAAe,GAAG,yBAAyB,CAAC;AAElD,0DAA0D;AAC1D,MAAM,YAAY,GAAG,cAAc,CAAC;AAEpC;;;;;;;GAOG;AACH,MAAM,UAAU,iCAAiC,CAC/C,SAAiC,EACjC,IAAgC;IAEhC,IAAI,yBAAyB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACpE,OAAO;IACT,CAAC;IAED,MAAM,IAAI,gCAAgC,CACxC,GAAG,IAAI,CAAC,YAAY,IAAI,eAAe,UAAU,SAAS,CAAC,IAAI,IAAI;QACjE,iEAAiE;QACjE,mDAAmD,CACtD,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAC1C,IAAY,EACZ,SAAgC;IAEhC,IAAI,SAAS,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACpC,OAAO;IACT,CAAC;IAED,MAAM,IAAI,gCAAgC,CACxC,IAAI,IAAI,UAAU,SAAS,CAAC,IAAI,IAAI,UAAU,qBAAqB;QACjE,wCAAwC,YAAY,iBAAiB;QACrE,0CAA0C,CAC7C,CAAC;AACJ,CAAC"}
@@ -6,6 +6,7 @@ import { type SimIamInterServiceAuthZ } from "../iam/authorize/sim-iam-inter-ser
6
6
  import type * as simSsmCommands from "./command/sim-ssm-command.types.js";
7
7
  import { SimSsmCfnResourceFactory } from "./cfn/sim-cfn-ssm-resource-factory.js";
8
8
  import { SimCfnSsmDynamicReferenceResolver } from "./cfn/dynamic/sim-cfn-ssm-dynamic-reference-resolver.js";
9
+ import { SimCfnSsmSecureDynamicReferenceResolver } from "./cfn/dynamic/sim-cfn-ssm-secure-dynamic-reference-resolver.js";
9
10
  import { SimCfnSsmParameterValueReader } from "./cfn/parameter/sim-cfn-ssm-parameter-value-reader.js";
10
11
  import type { SimSsmParameter } from "./parameter/sim-ssm-parameter.js";
11
12
  import type { SimSsmKmsCrypto } from "./parameter/sim-ssm-kms-crypto.js";
@@ -87,6 +88,10 @@ export declare class SimSsm {
87
88
  * Get the resolver for `{{resolve:ssm:...}}` dynamic references.
88
89
  */
89
90
  cfnDynamicReferenceResolver(): SimCfnSsmDynamicReferenceResolver;
91
+ /**
92
+ * Get the resolver for `{{resolve:ssm-secure:...}}` dynamic references.
93
+ */
94
+ cfnSecureDynamicReferenceResolver(): SimCfnSsmSecureDynamicReferenceResolver;
90
95
  /**
91
96
  * Get the reader for `AWS::SSM::Parameter::Value<...>` template Parameters.
92
97
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sim-ssm.d.ts","sourceRoot":"","sources":["../../../src/service/ssm/sim-ssm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sim-ssm.d.ts","sourceRoot":"","sources":["../../../src/service/ssm/sim-ssm.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ import { SimSsmGetParametersByPath } from "./command/parameter/sim-ssm-get-param
10
10
  import { SimSsmPutParameter } from "./command/parameter/sim-ssm-put-parameter.js";
11
11
  import { SimSsmCfnResourceFactory } from "./cfn/sim-cfn-ssm-resource-factory.js";
12
12
  import { SimCfnSsmDynamicReferenceResolver } from "./cfn/dynamic/sim-cfn-ssm-dynamic-reference-resolver.js";
13
+ import { SimCfnSsmSecureDynamicReferenceResolver } from "./cfn/dynamic/sim-cfn-ssm-secure-dynamic-reference-resolver.js";
13
14
  import { SimCfnSsmParameterValueReader } from "./cfn/parameter/sim-cfn-ssm-parameter-value-reader.js";
14
15
  import { SimSsmParameterEncryption } from "./parameter/sim-ssm-parameter-encryption.js";
15
16
  import { SimSsmParameterStore } from "./parameter/sim-ssm-parameter-store.js";
@@ -142,6 +143,12 @@ export class SimSsm {
142
143
  cfnDynamicReferenceResolver() {
143
144
  return new SimCfnSsmDynamicReferenceResolver({ ssm: this });
144
145
  }
146
+ /**
147
+ * Get the resolver for `{{resolve:ssm-secure:...}}` dynamic references.
148
+ */
149
+ cfnSecureDynamicReferenceResolver() {
150
+ return new SimCfnSsmSecureDynamicReferenceResolver({ ssm: this });
151
+ }
145
152
  /**
146
153
  * Get the reader for `AWS::SSM::Parameter::Value<...>` template Parameters.
147
154
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sim-ssm.js","sourceRoot":"","sources":["../../../src/service/ssm/sim-ssm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sim-ssm.js","sourceRoot":"","sources":["../../../src/service/ssm/sim-ssm.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kensio/yulin",
3
- "version": "1.17.0",
3
+ "version": "1.17.1",
4
4
  "description": "AWS system behaviour simulation for isolated unit testing",
5
5
  "repository": "https://github.com/KensioSoftware/yulin",
6
6
  "homepage": "https://yulinsim.dev/",
@@ -1,25 +0,0 @@
1
- import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
2
- import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
3
- export interface SimCfnIamRoleInlinePolicy {
4
- readonly policyName: string;
5
- readonly policyDocument: string;
6
- }
7
- /**
8
- * Parses the AWS::IAM::Role policy collection properties: the inline `Policies`
9
- * list and the attached `ManagedPolicyArns` list.
10
- *
11
- * These list-shaped properties carry the bulk of the Role property validation,
12
- * so grouping them here keeps the main Role props parser small.
13
- */
14
- export declare class SimCfnIamRolePoliciesParser {
15
- /**
16
- * Parse the inline `Policies` property into normalised inline policies.
17
- */
18
- inlinePolicies(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): readonly SimCfnIamRoleInlinePolicy[];
19
- /**
20
- * Parse the attached `ManagedPolicyArns` property into policy ARN strings.
21
- */
22
- managedPolicyArns(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): readonly string[];
23
- private inlinePolicy;
24
- }
25
- //# sourceMappingURL=sim-cfn-iam-role-policies-parser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sim-cfn-iam-role-policies-parser.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/cfn/role/sim-cfn-iam-role-policies-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAElH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED;;;;;;GAMG;AACH,qBAAa,2BAA2B;IACtC;;OAEG;IACH,cAAc,CACZ,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,yBAAyB,GACpC,SAAS,yBAAyB,EAAE,CActC;IAED;;OAEG;IACH,iBAAiB,CACf,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,yBAAyB,GACpC,SAAS,MAAM,EAAE,CAsBnB;IAED,OAAO,CAAC,YAAY;CAuCrB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sim-cfn-iam-role-policies-parser.js","sourceRoot":"","sources":["../../../../../src/service/iam/cfn/role/sim-cfn-iam-role-policies-parser.ts"],"names":[],"mappings":"AAQA;;;;;;GAMG;AACH,MAAM,OAAO,2BAA2B;IACtC;;OAEG;IACH,cAAc,CACZ,QAAwB,EACxB,UAAqC;QAErC,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;QAExC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,SAAS,CACjB,0BAA0B,QAAQ,CAAC,SAAS,6BAA6B,CAC1E,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACH,iBAAiB,CACf,QAAwB,EACxB,UAAqC;QAErC,MAAM,iBAAiB,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAE1D,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,SAAS,CACjB,0BAA0B,QAAQ,CAAC,SAAS,sCAAsC,CACnF,CAAC;QACJ,CAAC;QAED,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACnC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC5B,MAAM,IAAI,SAAS,CACjB,0BAA0B,QAAQ,CAAC,SAAS,iDAAiD,CAC9F,CAAC;YACJ,CAAC;YAED,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,YAAY,CAClB,QAAwB,EACxB,MAAqD;QAErD,IACE,OAAO,MAAM,KAAK,QAAQ;YAC1B,MAAM,KAAK,IAAI;YACf,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EACrB,CAAC;YACD,MAAM,IAAI,SAAS,CACjB,0BAA0B,QAAQ,CAAC,SAAS,yCAAyC,CACtF,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QAExC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACnC,MAAM,IAAI,SAAS,CACjB,0BAA0B,QAAQ,CAAC,SAAS,8CAA8C,CAC3F,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAEhD,IACE,OAAO,cAAc,KAAK,QAAQ;YAClC,cAAc,KAAK,IAAI;YACvB,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAC7B,CAAC;YACD,MAAM,IAAI,SAAS,CACjB,0BAA0B,QAAQ,CAAC,SAAS,mDAAmD,CAChG,CAAC;QACJ,CAAC;QAED,OAAO;YACL,UAAU;YACV,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;SAC/C,CAAC;IACJ,CAAC;CACF"}