@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,41 @@
1
+ import { type SimArn } from "../../aws/arn.js";
2
+ import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
3
+ import { SimAcmCertificate, type SimAcmCertificateStatus } from "./sim-acm-certificate.js";
4
+ import { type SimClock } from "../../../util/clock/sim-clock.js";
5
+ /**
6
+ * What a simulation says about a Certificate it registers as already existing.
7
+ */
8
+ export interface SimAcmCertificateRegistration {
9
+ /**
10
+ * The Certificate ARN the simulated Certificate takes. It has to be in this
11
+ * ACM's own Account and Region, since that is how other services find it.
12
+ */
13
+ readonly arn: string;
14
+ readonly domainName: string;
15
+ readonly subjectAlternativeNames?: readonly string[] | undefined;
16
+ /**
17
+ * The status the Certificate holds. `ISSUED` by default, a registered
18
+ * Certificate having been described as already existing.
19
+ */
20
+ readonly status?: SimAcmCertificateStatus | undefined;
21
+ }
22
+ interface RegisterSimAcmCertificateProperties {
23
+ readonly certificates: Map<SimArn, SimAcmCertificate>;
24
+ readonly accountRegionScope: SimAwsAccountRegionScope;
25
+ readonly clock?: SimClock | undefined;
26
+ }
27
+ /**
28
+ * Register a Certificate the simulation is told already exists.
29
+ *
30
+ * Real ACM allocates a Certificate ARN, so nothing on the command surface
31
+ * takes one. A CDK app that passes a certificate ARN between stacks bakes that
32
+ * ARN into the template of the stack using it, and this is how a simulation
33
+ * comes to own that ARN before the template deploys.
34
+ *
35
+ * The Certificate is ISSUED from the start. There is nothing to validate: it
36
+ * is described as already existing rather than requested here, so it carries
37
+ * no domain validation options.
38
+ */
39
+ export declare function registerSimAcmCertificate(registration: SimAcmCertificateRegistration, properties: RegisterSimAcmCertificateProperties): SimAcmCertificate;
40
+ export {};
41
+ //# sourceMappingURL=register-sim-acm-certificate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-sim-acm-certificate.d.ts","sourceRoot":"","sources":["../../../../src/service/acm/certificate/register-sim-acm-certificate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAE1F,OAAO,EACL,iBAAiB,EACjB,KAAK,uBAAuB,EAC7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,QAAQ,EAAgB,MAAM,kCAAkC,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,uBAAuB,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACjE;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,uBAAuB,GAAG,SAAS,CAAC;CACvD;AAED,UAAU,mCAAmC;IAC3C,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACtD,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;IACtD,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CACvC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,6BAA6B,EAC3C,UAAU,EAAE,mCAAmC,GAC9C,iBAAiB,CA8BnB"}
@@ -0,0 +1,60 @@
1
+ import { parseSimArn } from "../../aws/arn.js";
2
+ import { SimAcmInvalidArgumentsException } from "../error/sim-acm.error.js";
3
+ import { SimAcmCertificate, } from "./sim-acm-certificate.js";
4
+ import { SimRealClock } from "../../../util/clock/sim-clock.js";
5
+ /**
6
+ * Register a Certificate the simulation is told already exists.
7
+ *
8
+ * Real ACM allocates a Certificate ARN, so nothing on the command surface
9
+ * takes one. A CDK app that passes a certificate ARN between stacks bakes that
10
+ * ARN into the template of the stack using it, and this is how a simulation
11
+ * comes to own that ARN before the template deploys.
12
+ *
13
+ * The Certificate is ISSUED from the start. There is nothing to validate: it
14
+ * is described as already existing rather than requested here, so it carries
15
+ * no domain validation options.
16
+ */
17
+ export function registerSimAcmCertificate(registration, properties) {
18
+ const { certificates, accountRegionScope } = properties;
19
+ const certificateArn = scopedCertificateArn(registration.arn, accountRegionScope);
20
+ if (certificates.has(certificateArn)) {
21
+ throw new SimAcmInvalidArgumentsException(`A sim ACM Certificate with ARN ${certificateArn} already exists`);
22
+ }
23
+ const clock = properties.clock ?? new SimRealClock();
24
+ const registeredAt = clock.now();
25
+ const status = registration.status ?? "ISSUED";
26
+ const certificate = new SimAcmCertificate({
27
+ certificateArn,
28
+ domainName: registration.domainName,
29
+ subjectAlternativeNames: registration.subjectAlternativeNames ?? [],
30
+ status,
31
+ clock,
32
+ createdAt: registeredAt,
33
+ issuedAt: status === "ISSUED" ? registeredAt : undefined,
34
+ });
35
+ certificates.set(certificateArn, certificate);
36
+ return certificate;
37
+ }
38
+ /**
39
+ * Read a Certificate ARN this ACM can be found by.
40
+ *
41
+ * Other services reach a Certificate through the Account and Region in its
42
+ * ARN, so an ARN naming another scope would answer ACM commands here and be
43
+ * missed by every service that looks it up. Refusing it keeps the two views of
44
+ * the Certificate together.
45
+ */
46
+ function scopedCertificateArn(value, accountRegionScope) {
47
+ const arn = parseSimArn(value);
48
+ if (arn?.service !== "acm" ||
49
+ arn.resourceType !== "certificate" ||
50
+ arn.resourceId === "") {
51
+ throw new SimAcmInvalidArgumentsException(`${value} is not a sim ACM Certificate ARN`);
52
+ }
53
+ const { accountId, regionName } = accountRegionScope;
54
+ if (arn.accountId !== accountId || arn.region !== regionName) {
55
+ throw new SimAcmInvalidArgumentsException(`Sim ACM Certificate ARN ${value} names Account ${arn.accountId} in ${arn.region}, ` +
56
+ `but this sim ACM is Account ${accountId} in ${regionName}`);
57
+ }
58
+ return value;
59
+ }
60
+ //# sourceMappingURL=register-sim-acm-certificate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-sim-acm-certificate.js","sourceRoot":"","sources":["../../../../src/service/acm/certificate/register-sim-acm-certificate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAe,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EACL,iBAAiB,GAElB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAiB,YAAY,EAAE,MAAM,kCAAkC,CAAC;AA0B/E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,yBAAyB,CACvC,YAA2C,EAC3C,UAA+C;IAE/C,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,GAAG,UAAU,CAAC;IACxD,MAAM,cAAc,GAAG,oBAAoB,CACzC,YAAY,CAAC,GAAG,EAChB,kBAAkB,CACnB,CAAC;IAEF,IAAI,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,+BAA+B,CACvC,kCAAkC,cAAc,iBAAiB,CAClE,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,IAAI,YAAY,EAAE,CAAC;IACrD,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,IAAI,QAAQ,CAAC;IAE/C,MAAM,WAAW,GAAG,IAAI,iBAAiB,CAAC;QACxC,cAAc;QACd,UAAU,EAAE,YAAY,CAAC,UAAU;QACnC,uBAAuB,EAAE,YAAY,CAAC,uBAAuB,IAAI,EAAE;QACnE,MAAM;QACN,KAAK;QACL,SAAS,EAAE,YAAY;QACvB,QAAQ,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;KACzD,CAAC,CAAC;IAEH,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IAE9C,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,oBAAoB,CAC3B,KAAa,EACb,kBAA4C;IAE5C,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAE/B,IACE,GAAG,EAAE,OAAO,KAAK,KAAK;QACtB,GAAG,CAAC,YAAY,KAAK,aAAa;QAClC,GAAG,CAAC,UAAU,KAAK,EAAE,EACrB,CAAC;QACD,MAAM,IAAI,+BAA+B,CACvC,GAAG,KAAK,mCAAmC,CAC5C,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;IAErD,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAC7D,MAAM,IAAI,+BAA+B,CACvC,2BAA2B,KAAK,kBAAkB,GAAG,CAAC,SAAS,OAAO,GAAG,CAAC,MAAM,IAAI;YAClF,+BAA+B,SAAS,OAAO,UAAU,EAAE,CAC9D,CAAC;IACJ,CAAC;IAED,OAAO,KAAe,CAAC;AACzB,CAAC"}
@@ -39,6 +39,15 @@ export declare class RequestCertificateCommandHandler implements CommandHandler<
39
39
  * scheduling a certificate issuance task.
40
40
  */
41
41
  handle(command: SimRequestCertificateCommand, options?: RequestCertificateCommandHandlerOptions): Promise<SimRequestCertificateCommandOutput>;
42
+ /**
43
+ * Build the certificate, on an ARN no other certificate holds.
44
+ *
45
+ * ARNs are allocated from the number of certificates ACM holds, and a
46
+ * registered certificate holds an ARN the simulation never allocated. One of
47
+ * those can sit on the sequence number this count reaches, and stepping past
48
+ * it keeps a requested certificate from replacing a registered one.
49
+ */
50
+ private makeUntakenCertificate;
42
51
  }
43
52
  export {};
44
53
  //# sourceMappingURL=request-certificate.handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"request-certificate.handler.d.ts","sourceRoot":"","sources":["../../../../../src/service/acm/command/request-certificate/request-certificate.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,EACV,4BAA4B,EAC5B,kCAAkC,EACnC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAIlF,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,wDAAwD,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,oDAAoD,CAAC;AAEjG,UAAU,0CAA0C;IAClD,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;IACtD,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACtD,QAAQ,CAAC,GAAG,CAAC,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;IAC1C,QAAQ,CAAC,UAAU,CAAC,EAAE,2BAA2B,CAAC;CACnD;AAED,UAAU,uCAAuC;IAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;CAChC;AAED;;;;GAIG;AACH,qBAAa,gCAAiC,YAAW,cAAc,CACrE,4BAA4B,EAC5B,kCAAkC,CACnC;IACC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAiC;IAC9D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAC1D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA4B;IAC/D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8B;IACzD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAE/D,YAAY,UAAU,EAAE,0CAA0C,EAoBjE;IAED;;;;;;;OAOG;IACG,MAAM,CACV,OAAO,EAAE,4BAA4B,EACrC,OAAO,CAAC,EAAE,uCAAuC,GAChD,OAAO,CAAC,kCAAkC,CAAC,CAuB7C;CACF"}
1
+ {"version":3,"file":"request-certificate.handler.d.ts","sourceRoot":"","sources":["../../../../../src/service/acm/command/request-certificate/request-certificate.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,EACV,4BAA4B,EAC5B,kCAAkC,EACnC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAIlF,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,wDAAwD,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,oDAAoD,CAAC;AAEjG,UAAU,0CAA0C;IAClD,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;IACtD,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACtD,QAAQ,CAAC,GAAG,CAAC,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;IAC1C,QAAQ,CAAC,UAAU,CAAC,EAAE,2BAA2B,CAAC;CACnD;AAED,UAAU,uCAAuC;IAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;CAChC;AAED;;;;GAIG;AACH,qBAAa,gCAAiC,YAAW,cAAc,CACrE,4BAA4B,EAC5B,kCAAkC,CACnC;IACC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAiC;IAC9D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAC1D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA4B;IAC/D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8B;IACzD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAE/D,YAAY,UAAU,EAAE,0CAA0C,EAoBjE;IAED;;;;;;;OAOG;IACG,MAAM,CACV,OAAO,EAAE,4BAA4B,EACrC,OAAO,CAAC,EAAE,uCAAuC,GAChD,OAAO,CAAC,kCAAkC,CAAC,CAoB7C;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,sBAAsB;CAmB/B"}
@@ -43,7 +43,7 @@ export class RequestCertificateCommandHandler {
43
43
  // Allow for potential non-deterministic sequencing of async events.
44
44
  await this.background.sequence();
45
45
  this.authorizer.authorize(options?.caller);
46
- const certificate = this.certificateFactory.makeCertificate(command, this.certificates.size);
46
+ const certificate = this.makeUntakenCertificate(command);
47
47
  const { certificateArn } = certificate;
48
48
  this.certificates.set(certificateArn, certificate);
49
49
  // Issuance waits on domain validation, which happens in the background.
@@ -53,5 +53,22 @@ export class RequestCertificateCommandHandler {
53
53
  CertificateArn: certificateArn,
54
54
  };
55
55
  }
56
+ /**
57
+ * Build the certificate, on an ARN no other certificate holds.
58
+ *
59
+ * ARNs are allocated from the number of certificates ACM holds, and a
60
+ * registered certificate holds an ARN the simulation never allocated. One of
61
+ * those can sit on the sequence number this count reaches, and stepping past
62
+ * it keeps a requested certificate from replacing a registered one.
63
+ */
64
+ makeUntakenCertificate(command) {
65
+ let certificateCount = this.certificates.size;
66
+ let certificate = this.certificateFactory.makeCertificate(command, certificateCount);
67
+ while (this.certificates.has(certificate.certificateArn)) {
68
+ certificateCount += 1;
69
+ certificate = this.certificateFactory.makeCertificate(command, certificateCount);
70
+ }
71
+ return certificate;
72
+ }
56
73
  }
57
74
  //# sourceMappingURL=request-certificate.handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"request-certificate.handler.js","sourceRoot":"","sources":["../../../../../src/service/acm/command/request-certificate/request-certificate.handler.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,eAAe,GAChB,MAAM,2CAA2C,CAAC;AAOnD,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EACL,kBAAkB,GAEnB,MAAM,wDAAwD,CAAC;AAEhE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oDAAoD,CAAC;AAcjG;;;;GAIG;AACH,MAAM,OAAO,gCAAgC;IAI1B,YAAY,CAAiC;IAC7C,UAAU,CAA+B;IACzC,UAAU,CAAsB;IAChC,kBAAkB,CAA4B;IAC9C,UAAU,CAA8B;IACxC,SAAS,GAAG,IAAI,2BAA2B,EAAE,CAAC;IAE/D,YAAY,UAAsD;QAChE,MAAM,EACJ,kBAAkB,EAClB,YAAY,EACZ,GAAG,GAAG,IAAI,kBAAkB,EAAE,EAC9B,UAAU,GAAG,IAAI,eAAe,EAAE,EAClC,UAAU,GAAG,IAAI,2BAA2B,CAAC,EAAE,UAAU,EAAE,CAAC,GAC7D,GAAG,UAAU,CAAC;QAEf,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,4BAA4B,CAAC;YACjD,GAAG;YACH,QAAQ,EAAE,eAAe,kBAAkB,CAAC,UAAU,IAAI,kBAAkB,CAAC,SAAS,gBAAgB;SACvG,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,kBAAkB,GAAG,IAAI,yBAAyB,CAAC;YACtD,kBAAkB;YAClB,KAAK,EAAE,UAAU;SAClB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CACV,OAAqC,EACrC,OAAiD;QAEjD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEjC,oEAAoE;QACpE,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEjC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAE3C,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,eAAe,CACzD,OAAO,EACP,IAAI,CAAC,YAAY,CAAC,IAAI,CACvB,CAAC;QACF,MAAM,EAAE,cAAc,EAAE,GAAG,WAAW,CAAC;QAEvC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAEnD,wEAAwE;QACxE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAEnC,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,cAAc;SAC/B,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"request-certificate.handler.js","sourceRoot":"","sources":["../../../../../src/service/acm/command/request-certificate/request-certificate.handler.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,eAAe,GAChB,MAAM,2CAA2C,CAAC;AAOnD,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EACL,kBAAkB,GAEnB,MAAM,wDAAwD,CAAC;AAEhE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oDAAoD,CAAC;AAcjG;;;;GAIG;AACH,MAAM,OAAO,gCAAgC;IAI1B,YAAY,CAAiC;IAC7C,UAAU,CAA+B;IACzC,UAAU,CAAsB;IAChC,kBAAkB,CAA4B;IAC9C,UAAU,CAA8B;IACxC,SAAS,GAAG,IAAI,2BAA2B,EAAE,CAAC;IAE/D,YAAY,UAAsD;QAChE,MAAM,EACJ,kBAAkB,EAClB,YAAY,EACZ,GAAG,GAAG,IAAI,kBAAkB,EAAE,EAC9B,UAAU,GAAG,IAAI,eAAe,EAAE,EAClC,UAAU,GAAG,IAAI,2BAA2B,CAAC,EAAE,UAAU,EAAE,CAAC,GAC7D,GAAG,UAAU,CAAC;QAEf,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,4BAA4B,CAAC;YACjD,GAAG;YACH,QAAQ,EAAE,eAAe,kBAAkB,CAAC,UAAU,IAAI,kBAAkB,CAAC,SAAS,gBAAgB;SACvG,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,kBAAkB,GAAG,IAAI,yBAAyB,CAAC;YACtD,kBAAkB;YAClB,KAAK,EAAE,UAAU;SAClB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CACV,OAAqC,EACrC,OAAiD;QAEjD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEjC,oEAAoE;QACpE,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEjC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAE3C,MAAM,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACzD,MAAM,EAAE,cAAc,EAAE,GAAG,WAAW,CAAC;QAEvC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAEnD,wEAAwE;QACxE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAEnC,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,cAAc;SAC/B,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACK,sBAAsB,CAC5B,OAAqC;QAErC,IAAI,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;QAC9C,IAAI,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,eAAe,CACvD,OAAO,EACP,gBAAgB,CACjB,CAAC;QAEF,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC;YACzD,gBAAgB,IAAI,CAAC,CAAC;YACtB,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,eAAe,CACnD,OAAO,EACP,gBAAgB,CACjB,CAAC;QACJ,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;CACF"}
@@ -2,6 +2,7 @@ import { type BackgroundScheduler } from "../../util/background/background.js";
2
2
  import type { SimAwsAccountRegionScope } from "../aws/sim-aws-account-region-scope.js";
3
3
  import type { SimRequestCertificateCommand, SimRequestCertificateCommandOutput } from "./command/request-certificate/request-certificate.command.js";
4
4
  import type { SimAcmCertificate } from "./certificate/sim-acm-certificate.js";
5
+ import { type SimAcmCertificateRegistration } from "./certificate/register-sim-acm-certificate.js";
5
6
  import type { SimDescribeCertificateCommand, SimDescribeCertificateCommandOutput } from "./command/describe-certificate/describe-certificate.command.js";
6
7
  import type { SimDeleteCertificateCommand, SimDeleteCertificateCommandOutput } from "./command/delete-certificate/delete-certificate.command.js";
7
8
  import type { SimListCertificatesCommand, SimListCertificatesCommandOutput } from "./command/list-certificates/list-certificates.command.js";
@@ -58,6 +59,20 @@ export declare class SimAcm {
58
59
  * @internal
59
60
  */
60
61
  settleCertificateValidation(certificate: SimAcmCertificate): Promise<void>;
62
+ /**
63
+ * Register a Certificate that already exists, with an ARN of your choosing.
64
+ *
65
+ * `RequestCertificate` allocates its own ARN, as real ACM does, so this is
66
+ * the way to stand up a Certificate a template already names. A CDK app that
67
+ * passes a certificate ARN into another stack bakes that ARN into the
68
+ * template it synthesizes, and a registered Certificate answers ACM commands
69
+ * and satisfies the CloudFront and ELBv2 lookups the same as one this
70
+ * simulation issued.
71
+ *
72
+ * An ARN another Certificate holds, an ARN outside this ACM's own Account and
73
+ * Region, or a string that is no ACM Certificate ARN, is refused.
74
+ */
75
+ registerCertificate(registration: SimAcmCertificateRegistration): SimAcmCertificate;
61
76
  /**
62
77
  * Handle a Describe Certificate Command from the SDK.
63
78
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sim-acm.d.ts","sourceRoot":"","sources":["../../../src/service/acm/sim-acm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sim-acm.d.ts","sourceRoot":"","sources":["../../../src/service/acm/sim-acm.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { BackgroundTasks, } from "../../util/background/background.js";
2
2
  import { RequestCertificateCommandHandler } from "./command/request-certificate/request-certificate.handler.js";
3
+ import { registerSimAcmCertificate, } from "./certificate/register-sim-acm-certificate.js";
3
4
  import { DescribeCertificateCommandHandler } from "./command/describe-certificate/describe-certificate.handler.js";
4
5
  import { DeleteCertificateCommandHandler } from "./command/delete-certificate/delete-certificate.handler.js";
5
6
  import { ListCertificatesCommandHandler } from "./command/list-certificates/list-certificates.handler.js";
@@ -74,6 +75,26 @@ export class SimAcm {
74
75
  async settleCertificateValidation(certificate) {
75
76
  await this.validation.settle(certificate);
76
77
  }
78
+ /**
79
+ * Register a Certificate that already exists, with an ARN of your choosing.
80
+ *
81
+ * `RequestCertificate` allocates its own ARN, as real ACM does, so this is
82
+ * the way to stand up a Certificate a template already names. A CDK app that
83
+ * passes a certificate ARN into another stack bakes that ARN into the
84
+ * template it synthesizes, and a registered Certificate answers ACM commands
85
+ * and satisfies the CloudFront and ELBv2 lookups the same as one this
86
+ * simulation issued.
87
+ *
88
+ * An ARN another Certificate holds, an ARN outside this ACM's own Account and
89
+ * Region, or a string that is no ACM Certificate ARN, is refused.
90
+ */
91
+ registerCertificate(registration) {
92
+ return registerSimAcmCertificate(registration, {
93
+ certificates: this.certificates,
94
+ accountRegionScope: this.accountRegionScope,
95
+ clock: this.background,
96
+ });
97
+ }
77
98
  /**
78
99
  * Handle a Describe Certificate Command from the SDK.
79
100
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sim-acm.js","sourceRoot":"","sources":["../../../src/service/acm/sim-acm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sim-acm.js","sourceRoot":"","sources":["../../../src/service/acm/sim-acm.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,10 @@ import type { SimCdkAssemblyStack } from "./sim-cdk-assembly-manifest.js";
6
6
  * Stage deploys a Stack whose artifact ID is not what the Stack is called.
7
7
  * Naming nothing takes every Stack in the assembly.
8
8
  *
9
+ * The Stacks come back in the order they were named, which is the order they
10
+ * deploy in wherever the manifest declares no dependency between them. Naming
11
+ * one twice takes it once, under the first name it was given.
12
+ *
9
13
  * Throws naming the Stacks the assembly does hold, which is what a caller who
10
14
  * has just renamed one needs to see.
11
15
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cdk-assembly-selection.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudformation/cdk/sim-cdk-assembly-selection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAE1E;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE;IAClD,QAAQ,CAAC,MAAM,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC,GAAG,SAAS,mBAAmB,EAAE,CAcjC"}
1
+ {"version":3,"file":"sim-cdk-assembly-selection.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudformation/cdk/sim-cdk-assembly-selection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAE1E;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE;IAClD,QAAQ,CAAC,MAAM,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC,GAAG,SAAS,mBAAmB,EAAE,CAcjC"}
@@ -6,6 +6,10 @@ import { assertDefined } from "../../../util/type-guard/defined.js";
6
6
  * Stage deploys a Stack whose artifact ID is not what the Stack is called.
7
7
  * Naming nothing takes every Stack in the assembly.
8
8
  *
9
+ * The Stacks come back in the order they were named, which is the order they
10
+ * deploy in wherever the manifest declares no dependency between them. Naming
11
+ * one twice takes it once, under the first name it was given.
12
+ *
9
13
  * Throws naming the Stacks the assembly does hold, which is what a caller who
10
14
  * has just renamed one needs to see.
11
15
  */
@@ -14,8 +18,9 @@ export function selectCdkAssemblyStacks(properties) {
14
18
  if (stackNames === undefined) {
15
19
  return stacks;
16
20
  }
17
- const selected = new Set(stackNames.map((stackName) => selectOne({ stacks, stackName, directoryPath })));
18
- return stacks.filter((stack) => selected.has(stack));
21
+ return [
22
+ ...new Set(stackNames.map((stackName) => selectOne({ stacks, stackName, directoryPath }))),
23
+ ];
19
24
  }
20
25
  function selectOne(properties) {
21
26
  const { stacks, stackName, directoryPath } = properties;
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cdk-assembly-selection.js","sourceRoot":"","sources":["../../../../src/service/cloudformation/cdk/sim-cdk-assembly-selection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAGpE;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CAAC,UAIvC;IACC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,UAAU,CAAC;IAEzD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAC3B,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAChD,CACF,CAAC;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,SAAS,CAAC,UAIlB;IACC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,UAAU,CAAC;IAExD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAC1B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,CAC3E,CAAC;IAEF,aAAa,CACX,QAAQ,EACR,6BAA6B,aAAa,yBAAyB,SAAS,IAAI;QAC9E,YAAY,aAAa,CAAC,MAAM,CAAC,GAAG,CACvC,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,aAAa,CAAC,MAAsC;IAC3D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"sim-cdk-assembly-selection.js","sourceRoot":"","sources":["../../../../src/service/cloudformation/cdk/sim-cdk-assembly-selection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAGpE;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,uBAAuB,CAAC,UAIvC;IACC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,UAAU,CAAC;IAEzD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO;QACL,GAAG,IAAI,GAAG,CACR,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAC3B,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAChD,CACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,UAIlB;IACC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,UAAU,CAAC;IAExD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAC1B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,CAC3E,CAAC;IAEF,aAAa,CACX,QAAQ,EACR,6BAA6B,aAAa,yBAAyB,SAAS,IAAI;QAC9E,YAAY,aAAa,CAAC,MAAM,CAAC,GAAG,CACvC,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,aAAa,CAAC,MAAsC;IAC3D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3D,CAAC"}
@@ -2,7 +2,7 @@ import type { SimAws } from "../../aws/sim-aws.js";
2
2
  import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
3
3
  import type { SimCfnStack } from "../stack/sim-cfn-stack.js";
4
4
  import { type SimCloudFormationDeployCdkOutProperties } from "./sim-cfn-cdk-out-plan.js";
5
- export type { SimCfnCdkOutStackOptions } from "./sim-cfn-cdk-out-stack-options.js";
5
+ export type { SimCfnCdkOutStackOptions, SimCfnCdkOutTemplateTransform, } from "./sim-cfn-cdk-out-stack-options.js";
6
6
  export type { SimCloudFormationDeployCdkOutProperties } from "./sim-cfn-cdk-out-plan.js";
7
7
  interface SimCfnCdkOutDeployerProperties {
8
8
  readonly simAws: SimAws;
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cfn-cdk-out-deployer.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAIL,KAAK,uCAAuC,EAC7C,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AACnF,YAAY,EAAE,uCAAuC,EAAE,MAAM,2BAA2B,CAAC;AAEzF,UAAU,8BAA8B;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;CACvD;AAED;;;;;;GAMG;AACH,qBAAa,oBAAoB;IACnB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAlC,YAA6B,KAAK,EAAE,8BAA8B,EAAI;IAEhE,MAAM,CACV,OAAO,EAAE,uCAAuC,GAAG,MAAM,GACxD,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAgB3C;YAEa,WAAW;CAe1B"}
1
+ {"version":3,"file":"sim-cfn-cdk-out-deployer.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAK7D,OAAO,EAIL,KAAK,uCAAuC,EAC7C,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EACV,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,oCAAoC,CAAC;AAC5C,YAAY,EAAE,uCAAuC,EAAE,MAAM,2BAA2B,CAAC;AAEzF,UAAU,8BAA8B;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;CACvD;AAED;;;;;;GAMG;AACH,qBAAa,oBAAoB;IACnB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAlC,YAA6B,KAAK,EAAE,8BAA8B,EAAI;IAEhE,MAAM,CACV,OAAO,EAAE,uCAAuC,GAAG,MAAM,GACxD,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAgB3C;YAEa,WAAW;CAqB1B"}
@@ -1,4 +1,4 @@
1
- import { cdkOutOptionsFor } from "./sim-cfn-cdk-out-stack-options.js";
1
+ import { cdkOutBoundTransform, cdkOutOptionsFor, } from "./sim-cfn-cdk-out-stack-options.js";
2
2
  import { planCdkOutDeployment, } from "./sim-cfn-cdk-out-plan.js";
3
3
  /**
4
4
  * Deploys the Stacks a CDK cloud assembly holds, each into its own region.
@@ -20,20 +20,22 @@ export class SimCfnCdkOutDeployer {
20
20
  const deployed = new Map();
21
21
  for (const stack of plan.stacks) {
22
22
  // oxlint-disable-next-line no-await-in-loop -- one Stack at a time, since a later one may depend on an earlier one
23
- const deployedStack = await this.deployStack(stack, plan);
23
+ const deployedStack = await this.deployStack(stack, plan, deployed);
24
24
  deployed.set(stack.stackName, deployedStack);
25
25
  }
26
26
  return deployed;
27
27
  }
28
- async deployStack(stack, plan) {
28
+ async deployStack(stack, plan, deployed) {
29
29
  const { simAws, accountRegionScope } = this.scope;
30
+ const { transform, ...options } = cdkOutOptionsFor(stack, plan.stackOptions);
30
31
  return await simAws
31
32
  .accountRegionScope(accountRegionScope.accountId, stack.regionName)
32
33
  .cloudFormation()
33
34
  .deployTemplateFile({
34
35
  templatePath: stack.templatePath,
35
36
  stackName: stack.stackName,
36
- ...cdkOutOptionsFor(stack, plan.stackOptions),
37
+ ...options,
38
+ transform: cdkOutBoundTransform(transform, deployed),
37
39
  });
38
40
  }
39
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cfn-cdk-out-deployer.js","sourceRoot":"","sources":["../../../../src/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EACL,oBAAoB,GAIrB,MAAM,2BAA2B,CAAC;AAUnC;;;;;;GAMG;AACH,MAAM,OAAO,oBAAoB;IACF,KAAK;IAAlC,YAA6B,KAAqC;qBAArC,KAAK;IAAmC,CAAC;IAEtE,KAAK,CAAC,MAAM,CACV,OAAyD;QAEzD,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC;YACtC,OAAO;YACP,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,UAAU;SAC5D,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;QAEhD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,mHAAmH;YACnH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAE1D,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,KAA+B,EAC/B,IAAsB;QAEtB,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAElD,OAAO,MAAM,MAAM;aAChB,kBAAkB,CAAC,kBAAkB,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC;aAClE,cAAc,EAAE;aAChB,kBAAkB,CAAC;YAClB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC;SAC9C,CAAC,CAAC;IACP,CAAC;CACF"}
1
+ {"version":3,"file":"sim-cfn-cdk-out-deployer.js","sourceRoot":"","sources":["../../../../src/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,oBAAoB,GAIrB,MAAM,2BAA2B,CAAC;AAanC;;;;;;GAMG;AACH,MAAM,OAAO,oBAAoB;IACF,KAAK;IAAlC,YAA6B,KAAqC;qBAArC,KAAK;IAAmC,CAAC;IAEtE,KAAK,CAAC,MAAM,CACV,OAAyD;QAEzD,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC;YACtC,OAAO;YACP,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,UAAU;SAC5D,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;QAEhD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,mHAAmH;YACnH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAEpE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,KAA+B,EAC/B,IAAsB,EACtB,QAA0C;QAE1C,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAClD,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,GAAG,gBAAgB,CAChD,KAAK,EACL,IAAI,CAAC,YAAY,CAClB,CAAC;QAEF,OAAO,MAAM,MAAM;aAChB,kBAAkB,CAAC,kBAAkB,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC;aAClE,cAAc,EAAE;aAChB,kBAAkB,CAAC;YAClB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,GAAG,OAAO;YACV,SAAS,EAAE,oBAAoB,CAAC,SAAS,EAAE,QAAQ,CAAC;SACrD,CAAC,CAAC;IACP,CAAC;CACF"}
@@ -10,6 +10,10 @@ export interface SimCloudFormationDeployCdkOutProperties {
10
10
  * Every Stack in the assembly is deployed when this is left out, which is
11
11
  * rarely what a test wants of an app that also synthesizes a deployment
12
12
  * pipeline.
13
+ *
14
+ * The order they are named is the order they deploy in. A Stack the manifest
15
+ * says another depends on still goes first, whatever order the two are named
16
+ * in.
13
17
  */
14
18
  readonly stackNames?: readonly string[] | undefined;
15
19
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cfn-cdk-out-plan.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudformation/deploy/sim-cfn-cdk-out-plan.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,qCAAqC,CAAC;AAG7C,OAAO,EAEL,KAAK,8BAA8B,EACpC,MAAM,oCAAoC,CAAC;AAE5C,MAAM,WAAW,uCAAuC;IACtD,oEAAoE;IACpE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAEpD;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,8BAA8B,GAAG,SAAS,CAAC;CACpE;AAED,kEAAkE;AAClE,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACnE,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;CACpC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACrD,QAAQ,CAAC,YAAY,CAAC,EAAE,8BAA8B,GAAG,SAAS,CAAC;CACpE;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,UAAU,EAAE;IACrD,QAAQ,CAAC,OAAO,EAAE,uCAAuC,GAAG,MAAM,CAAC;IACnE,QAAQ,CAAC,iBAAiB,EAAE,aAAa,CAAC;CAC3C,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAoB5B"}
1
+ {"version":3,"file":"sim-cfn-cdk-out-plan.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudformation/deploy/sim-cfn-cdk-out-plan.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,qCAAqC,CAAC;AAG7C,OAAO,EAEL,KAAK,8BAA8B,EACpC,MAAM,oCAAoC,CAAC;AAE5C,MAAM,WAAW,uCAAuC;IACtD,oEAAoE;IACpE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAEpD;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,8BAA8B,GAAG,SAAS,CAAC;CACpE;AAED,kEAAkE;AAClE,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACnE,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;CACpC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACrD,QAAQ,CAAC,YAAY,CAAC,EAAE,8BAA8B,GAAG,SAAS,CAAC;CACpE;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,UAAU,EAAE;IACrD,QAAQ,CAAC,OAAO,EAAE,uCAAuC,GAAG,MAAM,CAAC;IACnE,QAAQ,CAAC,iBAAiB,EAAE,aAAa,CAAC;CAC3C,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAoB5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cfn-cdk-out-plan.js","sourceRoot":"","sources":["../../../../src/service/cloudformation/deploy/sim-cfn-cdk-out-plan.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,qBAAqB,GAEtB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EACL,8BAA8B,GAE/B,MAAM,oCAAoC,CAAC;AAgC5C;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,UAG1C;IACC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,gBAAgB,CAClE,UAAU,CAAC,OAAO,CACnB,CAAC;IAEF,MAAM,QAAQ,GAAG,uBAAuB,CAAC;QACvC,MAAM,EAAE,MAAM,qBAAqB,CAAC,aAAa,CAAC;QAClD,UAAU;QACV,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;KAC3C,CAAC,CAAC;IAEH,8BAA8B,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAEvD,OAAO;QACL,MAAM,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACvD,GAAG,KAAK;YACR,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,UAAU,CAAC,iBAAiB;SAC7D,CAAC,CAAC;QACH,YAAY;KACb,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CACvB,OAAyD;IAEzD,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AAC5E,CAAC"}
1
+ {"version":3,"file":"sim-cfn-cdk-out-plan.js","sourceRoot":"","sources":["../../../../src/service/cloudformation/deploy/sim-cfn-cdk-out-plan.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,qBAAqB,GAEtB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EACL,8BAA8B,GAE/B,MAAM,oCAAoC,CAAC;AAoC5C;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,UAG1C;IACC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,gBAAgB,CAClE,UAAU,CAAC,OAAO,CACnB,CAAC;IAEF,MAAM,QAAQ,GAAG,uBAAuB,CAAC;QACvC,MAAM,EAAE,MAAM,qBAAqB,CAAC,aAAa,CAAC;QAClD,UAAU;QACV,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;KAC3C,CAAC,CAAC;IAEH,8BAA8B,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAEvD,OAAO;QACL,MAAM,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACvD,GAAG,KAAK;YACR,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,UAAU,CAAC,iBAAiB;SAC7D,CAAC,CAAC;QACH,YAAY;KACb,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CACvB,OAAyD;IAEzD,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AAC5E,CAAC"}
@@ -1,22 +1,45 @@
1
1
  import type { SimCdkAssemblyStack } from "../cdk/sim-cdk-assembly-manifest.js";
2
2
  import type { SimCfnDeployBinding } from "../bind/sim-cfn-deploy-binding.js";
3
+ import type { SimCfnStack } from "../stack/sim-cfn-stack.js";
4
+ import type { CfnTemplateBodyRecord } from "../template/sim-cfn-template.js";
3
5
  import type { SimCfnTemplateFileTransform } from "./sim-cfn-template-file-transform.js";
6
+ /**
7
+ * Adapts one Stack's parsed template, with the Stacks the same call has already
8
+ * deployed to hand.
9
+ *
10
+ * A synthesized template names the real account's resources as literals, and a
11
+ * simulation allocates its own identifiers for them. The deployed Stacks are
12
+ * keyed by Stack name, and a value one of them created is reached through
13
+ * `output(...)` or `getResource(...)`.
14
+ *
15
+ * A transform taking the template alone is this type too, since the deployed
16
+ * Stacks are the second argument.
17
+ */
18
+ export type SimCfnCdkOutTemplateTransform = (template: CfnTemplateBodyRecord, deployed: ReadonlyMap<string, SimCfnStack>) => CfnTemplateBodyRecord;
4
19
  /**
5
20
  * What one Stack in a cloud assembly is deployed with.
6
21
  *
7
22
  * These are the per-template options `deployTemplateFile` takes, for the one
8
- * Stack they are keyed against.
23
+ * Stack they are keyed against. The transform sees more than that one does,
24
+ * because a Stack in an assembly has Stacks in front of it.
9
25
  */
10
26
  export interface SimCfnCdkOutStackOptions {
11
27
  readonly parameters?: Record<string, string> | undefined;
12
28
  readonly bindings?: readonly SimCfnDeployBinding[] | undefined;
13
- readonly transform?: SimCfnTemplateFileTransform | undefined;
29
+ readonly transform?: SimCfnCdkOutTemplateTransform | undefined;
14
30
  }
15
31
  export type SimCfnCdkOutStackOptionsByName = Record<string, SimCfnCdkOutStackOptions>;
16
32
  /**
17
33
  * The options a Stack is deployed with, keyed by Stack name or artifact ID.
18
34
  */
19
35
  export declare function cdkOutOptionsFor(stack: SimCdkAssemblyStack, optionsByName: SimCfnCdkOutStackOptionsByName | undefined): SimCfnCdkOutStackOptions;
36
+ /**
37
+ * Bind a Stack's transform to the Stacks deployed ahead of it.
38
+ *
39
+ * The deployment is copied on the way in, so a transform holding on to the map
40
+ * keeps the deployment it was handed while the call goes on deploying.
41
+ */
42
+ export declare function cdkOutBoundTransform(transform: SimCfnCdkOutTemplateTransform | undefined, deployed: ReadonlyMap<string, SimCfnStack>): SimCfnTemplateFileTransform | undefined;
20
43
  /**
21
44
  * Refuse options keyed against a Stack that is not being deployed.
22
45
  *
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cfn-cdk-out-stack-options.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAExF;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACzD,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,mBAAmB,EAAE,GAAG,SAAS,CAAC;IAC/D,QAAQ,CAAC,SAAS,CAAC,EAAE,2BAA2B,GAAG,SAAS,CAAC;CAC9D;AAED,MAAM,MAAM,8BAA8B,GAAG,MAAM,CACjD,MAAM,EACN,wBAAwB,CACzB,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,mBAAmB,EAC1B,aAAa,EAAE,8BAA8B,GAAG,SAAS,GACxD,wBAAwB,CAI1B;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,8BAA8B,GAAG,SAAS,EACzD,SAAS,EAAE,SAAS,mBAAmB,EAAE,GACxC,IAAI,CAaN"}
1
+ {"version":3,"file":"sim-cfn-cdk-out-stack-options.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAExF;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,6BAA6B,GAAG,CAC1C,QAAQ,EAAE,qBAAqB,EAC/B,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,KACvC,qBAAqB,CAAC;AAE3B;;;;;;GAMG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACzD,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,mBAAmB,EAAE,GAAG,SAAS,CAAC;IAC/D,QAAQ,CAAC,SAAS,CAAC,EAAE,6BAA6B,GAAG,SAAS,CAAC;CAChE;AAED,MAAM,MAAM,8BAA8B,GAAG,MAAM,CACjD,MAAM,EACN,wBAAwB,CACzB,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,mBAAmB,EAC1B,aAAa,EAAE,8BAA8B,GAAG,SAAS,GACxD,wBAAwB,CAI1B;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,6BAA6B,GAAG,SAAS,EACpD,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,GACzC,2BAA2B,GAAG,SAAS,CAQzC;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,8BAA8B,GAAG,SAAS,EACzD,SAAS,EAAE,SAAS,mBAAmB,EAAE,GACxC,IAAI,CAaN"}
@@ -4,6 +4,19 @@
4
4
  export function cdkOutOptionsFor(stack, optionsByName) {
5
5
  return (optionsByName?.[stack.stackName] ?? optionsByName?.[stack.artifactId] ?? {});
6
6
  }
7
+ /**
8
+ * Bind a Stack's transform to the Stacks deployed ahead of it.
9
+ *
10
+ * The deployment is copied on the way in, so a transform holding on to the map
11
+ * keeps the deployment it was handed while the call goes on deploying.
12
+ */
13
+ export function cdkOutBoundTransform(transform, deployed) {
14
+ if (transform === undefined) {
15
+ return undefined;
16
+ }
17
+ const deployedSoFar = new Map(deployed);
18
+ return (template) => transform(template, deployedSoFar);
19
+ }
7
20
  /**
8
21
  * Refuse options keyed against a Stack that is not being deployed.
9
22
  *
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cfn-cdk-out-stack-options.js","sourceRoot":"","sources":["../../../../src/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.ts"],"names":[],"mappings":"AAqBA;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAA0B,EAC1B,aAAyD;IAEzD,OAAO,CACL,aAAa,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,aAAa,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAC5E,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,8BAA8B,CAC5C,aAAyD,EACzD,SAAyC;IAEzC,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAClE,CAAC;IACF,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,MAAM,CACvD,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAC3B,CAAC;IAEF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,0BAA0B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,2EAA2E,UAAU,CAAC,SAAS,CAAC,GAAG,CAClJ,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,MAAsC;IACxD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"sim-cfn-cdk-out-stack-options.js","sourceRoot":"","sources":["../../../../src/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.ts"],"names":[],"mappings":"AAyCA;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAA0B,EAC1B,aAAyD;IAEzD,OAAO,CACL,aAAa,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,aAAa,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAC5E,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,SAAoD,EACpD,QAA0C;IAE1C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IAExC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,8BAA8B,CAC5C,aAAyD,EACzD,SAAyC;IAEzC,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAClE,CAAC;IACF,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,MAAM,CACvD,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAC3B,CAAC;IAEF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,0BAA0B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,2EAA2E,UAAU,CAAC,SAAS,CAAC,GAAG,CAClJ,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,MAAsC;IACxD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3D,CAAC"}
@@ -2,6 +2,6 @@ export { SimCloudFormation } from "./sim-cloudformation.js";
2
2
  export type { CfnTemplateBodyRecord } from "./template/sim-cfn-template.js";
3
3
  export type { SimCfnTemplateFileTransform } from "./deploy/sim-cfn-template-file-transform.js";
4
4
  export type { SimCloudFormationDeployCdkOutProperties } from "./deploy/sim-cfn-cdk-out-deployer.js";
5
- export type { SimCfnCdkOutStackOptions } from "./deploy/sim-cfn-cdk-out-stack-options.js";
5
+ export type { SimCfnCdkOutStackOptions, SimCfnCdkOutTemplateTransform, } from "./deploy/sim-cfn-cdk-out-stack-options.js";
6
6
  export type { SimCfnTemplateFileWatchOptions, SimCfnWatchReloadTarget, } from "./watch/sim-cfn-template-watch.type.js";
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/service/cloudformation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,YAAY,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,YAAY,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAC/F,YAAY,EAAE,uCAAuC,EAAE,MAAM,sCAAsC,CAAC;AACpG,YAAY,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAC1F,YAAY,EACV,8BAA8B,EAC9B,uBAAuB,GACxB,MAAM,wCAAwC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/service/cloudformation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,YAAY,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,YAAY,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAC/F,YAAY,EAAE,uCAAuC,EAAE,MAAM,sCAAsC,CAAC;AACpG,YAAY,EACV,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,2CAA2C,CAAC;AACnD,YAAY,EACV,8BAA8B,EAC9B,uBAAuB,GACxB,MAAM,wCAAwC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sim-iam-cfn-value-adapter.d.ts","sourceRoot":"","sources":["../../../../../../src/service/cloudformation/resource/cfn/iam/sim-iam-cfn-value-adapter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,oCAAoC,EACpC,yBAAyB,EAC1B,MAAM,sCAAsC,CAAC;AAE9C;;GAEG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,oCAAoC,GAC/C,yBAAyB,CAY3B"}
1
+ {"version":3,"file":"sim-iam-cfn-value-adapter.d.ts","sourceRoot":"","sources":["../../../../../../src/service/cloudformation/resource/cfn/iam/sim-iam-cfn-value-adapter.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,oCAAoC,EACpC,yBAAyB,EAC1B,MAAM,sCAAsC,CAAC;AAE9C;;GAEG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,oCAAoC,GAC/C,yBAAyB,CAgB3B"}
@@ -1,5 +1,6 @@
1
1
  import { SimIamManagedPolicyCfn } from "./sim-iam-managed-policy-cfn.js";
2
2
  import { SimIamRoleCfn } from "./sim-iam-role-cfn.js";
3
+ import { SimIamUserCfn } from "./sim-iam-user-cfn.js";
3
4
  /**
4
5
  * The CloudFormation-facing value adapter for a simulated IAM Resource.
5
6
  */
@@ -12,6 +13,9 @@ export function iamValueAdapter(properties) {
12
13
  if (properties.type === "AWS::IAM::Role") {
13
14
  return new SimIamRoleCfn({ role: properties.simResource });
14
15
  }
16
+ if (properties.type === "AWS::IAM::User") {
17
+ return new SimIamUserCfn({ user: properties.simResource });
18
+ }
15
19
  return undefined;
16
20
  }
17
21
  //# sourceMappingURL=sim-iam-cfn-value-adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-iam-cfn-value-adapter.js","sourceRoot":"","sources":["../../../../../../src/service/cloudformation/resource/cfn/iam/sim-iam-cfn-value-adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAMtD;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,UAAgD;IAEhD,IAAI,UAAU,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;QAClD,OAAO,IAAI,sBAAsB,CAAC;YAChC,MAAM,EAAE,UAAU,CAAC,WAAkC;SACtD,CAAC,CAAC;IACL,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACzC,OAAO,IAAI,aAAa,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,WAAyB,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"sim-iam-cfn-value-adapter.js","sourceRoot":"","sources":["../../../../../../src/service/cloudformation/resource/cfn/iam/sim-iam-cfn-value-adapter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAMtD;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,UAAgD;IAEhD,IAAI,UAAU,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;QAClD,OAAO,IAAI,sBAAsB,CAAC;YAChC,MAAM,EAAE,UAAU,CAAC,WAAkC;SACtD,CAAC,CAAC;IACL,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACzC,OAAO,IAAI,aAAa,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,WAAyB,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACzC,OAAO,IAAI,aAAa,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,WAAyB,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { SimCfnTemplateValue } from "../../../template/value/sim-cfn-template-value.js";
2
+ import type { SimIamUser } from "../../../../iam/user/sim-iam-user.js";
3
+ import type { SimCfnResourceValueAdapter } from "../sim-cfn-resource-value-adapter.js";
4
+ interface SimIamUserCfnProperties {
5
+ readonly user: SimIamUser;
6
+ }
7
+ /**
8
+ * CloudFormation-facing behaviour for an AWS::IAM::User Resource.
9
+ *
10
+ * Keeps IAM user objects free of CloudFormation intrinsic-function concerns
11
+ * while exposing the correct Ref and Fn::GetAtt values.
12
+ */
13
+ export declare class SimIamUserCfn implements SimCfnResourceValueAdapter {
14
+ private readonly user;
15
+ constructor(properties: SimIamUserCfnProperties);
16
+ /**
17
+ * CloudFormation Ref for AWS::IAM::User returns the user name.
18
+ */
19
+ refValue(): SimCfnTemplateValue;
20
+ /**
21
+ * CloudFormation attributes for AWS::IAM::User.
22
+ *
23
+ * AWS::IAM::User supports Fn::GetAtt for Arn and UserId.
24
+ */
25
+ attributeValue(attributeName: string): SimCfnTemplateValue;
26
+ }
27
+ export {};
28
+ //# sourceMappingURL=sim-iam-user-cfn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-user-cfn.d.ts","sourceRoot":"","sources":["../../../../../../src/service/cloudformation/resource/cfn/iam/sim-iam-user-cfn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AAC7F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAEvF,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B;AAED;;;;;GAKG;AACH,qBAAa,aAAc,YAAW,0BAA0B;IAC9D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAElC,YAAY,UAAU,EAAE,uBAAuB,EAE9C;IAED;;OAEG;IACH,QAAQ,IAAI,mBAAmB,CAE9B;IAED;;;;OAIG;IACH,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,mBAAmB,CAUzD;CACF"}