@kensio/yulin 1.6.0 → 1.6.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 (414) hide show
  1. package/dist/service/acm/cfn/sim-cfn-acm-resource-factory.d.ts +9 -0
  2. package/dist/service/acm/cfn/sim-cfn-acm-resource-factory.d.ts.map +1 -1
  3. package/dist/service/acm/cfn/sim-cfn-acm-resource-factory.js +20 -0
  4. package/dist/service/acm/cfn/sim-cfn-acm-resource-factory.js.map +1 -1
  5. package/dist/service/apigatewayv2/api/integration/sim-http-api-integration-store.d.ts +4 -0
  6. package/dist/service/apigatewayv2/api/integration/sim-http-api-integration-store.d.ts.map +1 -1
  7. package/dist/service/apigatewayv2/api/integration/sim-http-api-integration-store.js +6 -0
  8. package/dist/service/apigatewayv2/api/integration/sim-http-api-integration-store.js.map +1 -1
  9. package/dist/service/apigatewayv2/api/route/sim-http-api-route-store.d.ts +12 -0
  10. package/dist/service/apigatewayv2/api/route/sim-http-api-route-store.d.ts.map +1 -1
  11. package/dist/service/apigatewayv2/api/route/sim-http-api-route-store.js +17 -0
  12. package/dist/service/apigatewayv2/api/route/sim-http-api-route-store.js.map +1 -1
  13. package/dist/service/apigatewayv2/api/sim-http-api.d.ts +10 -0
  14. package/dist/service/apigatewayv2/api/sim-http-api.d.ts.map +1 -1
  15. package/dist/service/apigatewayv2/api/sim-http-api.js +19 -0
  16. package/dist/service/apigatewayv2/api/sim-http-api.js.map +1 -1
  17. package/dist/service/apigatewayv2/api/stage/sim-http-api-stage-store.d.ts +4 -0
  18. package/dist/service/apigatewayv2/api/stage/sim-http-api-stage-store.d.ts.map +1 -1
  19. package/dist/service/apigatewayv2/api/stage/sim-http-api-stage-store.js +6 -0
  20. package/dist/service/apigatewayv2/api/stage/sim-http-api-stage-store.js.map +1 -1
  21. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-deleter.d.ts +26 -0
  22. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-deleter.d.ts.map +1 -0
  23. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-deleter.js +32 -0
  24. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-deleter.js.map +1 -0
  25. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-factory.d.ts +7 -0
  26. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-factory.d.ts.map +1 -1
  27. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-factory.js +10 -0
  28. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-factory.js.map +1 -1
  29. package/dist/service/apigatewayv2/cfn/sim-cfn-http-api-part-deleter.d.ts +30 -0
  30. package/dist/service/apigatewayv2/cfn/sim-cfn-http-api-part-deleter.d.ts.map +1 -0
  31. package/dist/service/apigatewayv2/cfn/sim-cfn-http-api-part-deleter.js +72 -0
  32. package/dist/service/apigatewayv2/cfn/sim-cfn-http-api-part-deleter.js.map +1 -0
  33. package/dist/service/apigatewayv2/command/integration/integration.command.d.ts +15 -0
  34. package/dist/service/apigatewayv2/command/integration/integration.command.d.ts.map +1 -1
  35. package/dist/service/apigatewayv2/command/integration/sim-http-api-integration-commands.d.ts +9 -1
  36. package/dist/service/apigatewayv2/command/integration/sim-http-api-integration-commands.d.ts.map +1 -1
  37. package/dist/service/apigatewayv2/command/integration/sim-http-api-integration-commands.js +27 -0
  38. package/dist/service/apigatewayv2/command/integration/sim-http-api-integration-commands.js.map +1 -1
  39. package/dist/service/apigatewayv2/command/route/route.command.d.ts +15 -0
  40. package/dist/service/apigatewayv2/command/route/route.command.d.ts.map +1 -1
  41. package/dist/service/apigatewayv2/command/route/sim-http-api-route-commands.d.ts +9 -1
  42. package/dist/service/apigatewayv2/command/route/sim-http-api-route-commands.d.ts.map +1 -1
  43. package/dist/service/apigatewayv2/command/route/sim-http-api-route-commands.js +26 -0
  44. package/dist/service/apigatewayv2/command/route/sim-http-api-route-commands.js.map +1 -1
  45. package/dist/service/apigatewayv2/command/sim-api-gateway-v2-command.types.d.ts +3 -3
  46. package/dist/service/apigatewayv2/command/sim-api-gateway-v2-command.types.d.ts.map +1 -1
  47. package/dist/service/apigatewayv2/command/stage/sim-http-api-stage-commands.d.ts +9 -1
  48. package/dist/service/apigatewayv2/command/stage/sim-http-api-stage-commands.d.ts.map +1 -1
  49. package/dist/service/apigatewayv2/command/stage/sim-http-api-stage-commands.js +26 -0
  50. package/dist/service/apigatewayv2/command/stage/sim-http-api-stage-commands.js.map +1 -1
  51. package/dist/service/apigatewayv2/command/stage/stage.command.d.ts +15 -0
  52. package/dist/service/apigatewayv2/command/stage/stage.command.d.ts.map +1 -1
  53. package/dist/service/apigatewayv2/sdk/sim-api-gateway-v2-sdk-command-router.d.ts.map +1 -1
  54. package/dist/service/apigatewayv2/sdk/sim-api-gateway-v2-sdk-command-router.js +12 -0
  55. package/dist/service/apigatewayv2/sdk/sim-api-gateway-v2-sdk-command-router.js.map +1 -1
  56. package/dist/service/apigatewayv2/sim-api-gateway-v2-commands.d.ts +47 -0
  57. package/dist/service/apigatewayv2/sim-api-gateway-v2-commands.d.ts.map +1 -0
  58. package/dist/service/apigatewayv2/sim-api-gateway-v2-commands.js +61 -0
  59. package/dist/service/apigatewayv2/sim-api-gateway-v2-commands.js.map +1 -0
  60. package/dist/service/apigatewayv2/sim-api-gateway-v2.d.ts +14 -26
  61. package/dist/service/apigatewayv2/sim-api-gateway-v2.d.ts.map +1 -1
  62. package/dist/service/apigatewayv2/sim-api-gateway-v2.js +53 -80
  63. package/dist/service/apigatewayv2/sim-api-gateway-v2.js.map +1 -1
  64. package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.d.ts +9 -0
  65. package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.d.ts.map +1 -1
  66. package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.js +15 -0
  67. package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.js.map +1 -1
  68. package/dist/service/cloudformation/cdk/s3/bucket-notifications/sim-cdk-bucket-notifications-remover.d.ts +19 -0
  69. package/dist/service/cloudformation/cdk/s3/bucket-notifications/sim-cdk-bucket-notifications-remover.d.ts.map +1 -0
  70. package/dist/service/cloudformation/cdk/s3/bucket-notifications/sim-cdk-bucket-notifications-remover.js +35 -0
  71. package/dist/service/cloudformation/cdk/s3/bucket-notifications/sim-cdk-bucket-notifications-remover.js.map +1 -0
  72. package/dist/service/cloudformation/cdk/s3/bucket-notifications/sim-cdk-bucket-notifications.d.ts +9 -1
  73. package/dist/service/cloudformation/cdk/s3/bucket-notifications/sim-cdk-bucket-notifications.d.ts.map +1 -1
  74. package/dist/service/cloudformation/cdk/s3/bucket-notifications/sim-cdk-bucket-notifications.js +11 -0
  75. package/dist/service/cloudformation/cdk/s3/bucket-notifications/sim-cdk-bucket-notifications.js.map +1 -1
  76. package/dist/service/cloudformation/command/create-stack/create-stack.handler.js +1 -1
  77. package/dist/service/cloudformation/command/create-stack/create-stack.handler.js.map +1 -1
  78. package/dist/service/cloudformation/command/delete-stack/delete-stack.command.d.ts +25 -0
  79. package/dist/service/cloudformation/command/delete-stack/delete-stack.command.d.ts.map +1 -0
  80. package/dist/service/cloudformation/command/delete-stack/delete-stack.command.js +2 -0
  81. package/dist/service/cloudformation/command/delete-stack/delete-stack.command.js.map +1 -0
  82. package/dist/service/cloudformation/command/delete-stack/delete-stack.handler.d.ts +34 -0
  83. package/dist/service/cloudformation/command/delete-stack/delete-stack.handler.d.ts.map +1 -0
  84. package/dist/service/cloudformation/command/delete-stack/delete-stack.handler.js +41 -0
  85. package/dist/service/cloudformation/command/delete-stack/delete-stack.handler.js.map +1 -0
  86. package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.d.ts.map +1 -1
  87. package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.js +4 -11
  88. package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.js.map +1 -1
  89. package/dist/service/cloudformation/command/describe-stacks/sim-cfn-described-stacks.d.ts +26 -0
  90. package/dist/service/cloudformation/command/describe-stacks/sim-cfn-described-stacks.d.ts.map +1 -0
  91. package/dist/service/cloudformation/command/describe-stacks/sim-cfn-described-stacks.js +37 -0
  92. package/dist/service/cloudformation/command/describe-stacks/sim-cfn-described-stacks.js.map +1 -0
  93. package/dist/service/cloudformation/command/describe-stacks/sim-cfn-stack-describer.js +2 -2
  94. package/dist/service/cloudformation/command/describe-stacks/sim-cfn-stack-describer.js.map +1 -1
  95. package/dist/service/cloudformation/command/update-stack/update-stack.command.d.ts +29 -0
  96. package/dist/service/cloudformation/command/update-stack/update-stack.command.d.ts.map +1 -0
  97. package/dist/service/cloudformation/command/update-stack/update-stack.command.js +2 -0
  98. package/dist/service/cloudformation/command/update-stack/update-stack.command.js.map +1 -0
  99. package/dist/service/cloudformation/command/update-stack/update-stack.handler.d.ts +35 -0
  100. package/dist/service/cloudformation/command/update-stack/update-stack.handler.d.ts.map +1 -0
  101. package/dist/service/cloudformation/command/update-stack/update-stack.handler.js +51 -0
  102. package/dist/service/cloudformation/command/update-stack/update-stack.handler.js.map +1 -0
  103. package/dist/service/cloudformation/error/{sim-cloudfront.error.d.ts → sim-cloudformation.error.d.ts} +11 -1
  104. package/dist/service/cloudformation/error/sim-cloudformation.error.d.ts.map +1 -0
  105. package/dist/service/cloudformation/error/{sim-cloudfront.error.js → sim-cloudformation.error.js} +13 -1
  106. package/dist/service/cloudformation/error/sim-cloudformation.error.js.map +1 -0
  107. package/dist/service/cloudformation/resource/create/sim-cfn-resource-create-operation.d.ts +0 -1
  108. package/dist/service/cloudformation/resource/create/sim-cfn-resource-create-operation.d.ts.map +1 -1
  109. package/dist/service/cloudformation/resource/create/sim-cfn-resource-create-operation.js +2 -6
  110. package/dist/service/cloudformation/resource/create/sim-cfn-resource-create-operation.js.map +1 -1
  111. package/dist/service/cloudformation/resource/delete/sim-cfn-resource-delete-operation.d.ts +37 -0
  112. package/dist/service/cloudformation/resource/delete/sim-cfn-resource-delete-operation.d.ts.map +1 -0
  113. package/dist/service/cloudformation/resource/delete/sim-cfn-resource-delete-operation.js +66 -0
  114. package/dist/service/cloudformation/resource/delete/sim-cfn-resource-delete-operation.js.map +1 -0
  115. package/dist/service/cloudformation/resource/delete/sim-cfn-resource-deleter.d.ts +37 -0
  116. package/dist/service/cloudformation/resource/delete/sim-cfn-resource-deleter.d.ts.map +1 -0
  117. package/dist/service/cloudformation/resource/delete/sim-cfn-resource-deleter.js +48 -0
  118. package/dist/service/cloudformation/resource/delete/sim-cfn-resource-deleter.js.map +1 -0
  119. package/dist/service/cloudformation/resource/dependency/sim-cfn-resource-dependents.d.ts +14 -0
  120. package/dist/service/cloudformation/resource/dependency/sim-cfn-resource-dependents.d.ts.map +1 -0
  121. package/dist/service/cloudformation/resource/dependency/sim-cfn-resource-dependents.js +27 -0
  122. package/dist/service/cloudformation/resource/dependency/sim-cfn-resource-dependents.js.map +1 -0
  123. package/dist/service/cloudformation/resource/factory/sim-cfn-cfn-resource-factory.d.ts +8 -0
  124. package/dist/service/cloudformation/resource/factory/sim-cfn-cfn-resource-factory.d.ts.map +1 -1
  125. package/dist/service/cloudformation/resource/factory/sim-cfn-cfn-resource-factory.js +13 -0
  126. package/dist/service/cloudformation/resource/factory/sim-cfn-cfn-resource-factory.js.map +1 -1
  127. package/dist/service/cloudformation/resource/factory/sim-cfn-resource-factory.type.d.ts +15 -1
  128. package/dist/service/cloudformation/resource/factory/sim-cfn-resource-factory.type.d.ts.map +1 -1
  129. package/dist/service/cloudformation/resource/resolve/property/sim-cfn-resource-property-resolver.d.ts +2 -2
  130. package/dist/service/cloudformation/resource/resolve/property/sim-cfn-resource-property-resolver.d.ts.map +1 -1
  131. package/dist/service/cloudformation/resource/resolve/property/sim-cfn-resource-property-resolver.js.map +1 -1
  132. package/dist/service/cloudformation/resource/sim-cfn-resource-record.d.ts +110 -0
  133. package/dist/service/cloudformation/resource/sim-cfn-resource-record.d.ts.map +1 -0
  134. package/dist/service/cloudformation/resource/sim-cfn-resource-record.js +145 -0
  135. package/dist/service/cloudformation/resource/sim-cfn-resource-record.js.map +1 -0
  136. package/dist/service/cloudformation/resource/sim-cfn-resource.d.ts +61 -69
  137. package/dist/service/cloudformation/resource/sim-cfn-resource.d.ts.map +1 -1
  138. package/dist/service/cloudformation/resource/sim-cfn-resource.js +91 -100
  139. package/dist/service/cloudformation/resource/sim-cfn-resource.js.map +1 -1
  140. package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts +30 -3
  141. package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts.map +1 -1
  142. package/dist/service/cloudformation/resource/state/sim-cfn-resource-deletion-state.d.ts +76 -0
  143. package/dist/service/cloudformation/resource/state/sim-cfn-resource-deletion-state.d.ts.map +1 -0
  144. package/dist/service/cloudformation/resource/state/sim-cfn-resource-deletion-state.js +113 -0
  145. package/dist/service/cloudformation/resource/state/sim-cfn-resource-deletion-state.js.map +1 -0
  146. package/dist/service/cloudformation/resource/template/sim-cfn-resource-template-reader.d.ts +4 -0
  147. package/dist/service/cloudformation/resource/template/sim-cfn-resource-template-reader.d.ts.map +1 -1
  148. package/dist/service/cloudformation/resource/template/sim-cfn-resource-template-reader.js +7 -0
  149. package/dist/service/cloudformation/resource/template/sim-cfn-resource-template-reader.js.map +1 -1
  150. package/dist/service/cloudformation/resource/unsupported/sim-cfn-unsupported-resource.d.ts +12 -0
  151. package/dist/service/cloudformation/resource/unsupported/sim-cfn-unsupported-resource.d.ts.map +1 -0
  152. package/dist/service/cloudformation/resource/unsupported/sim-cfn-unsupported-resource.js +16 -0
  153. package/dist/service/cloudformation/resource/unsupported/sim-cfn-unsupported-resource.js.map +1 -0
  154. package/dist/service/cloudformation/sdk/sim-cloudformation-sdk-command-router.d.ts.map +1 -1
  155. package/dist/service/cloudformation/sdk/sim-cloudformation-sdk-command-router.js +8 -0
  156. package/dist/service/cloudformation/sdk/sim-cloudformation-sdk-command-router.js.map +1 -1
  157. package/dist/service/cloudformation/sim-cloudformation.d.ts +21 -0
  158. package/dist/service/cloudformation/sim-cloudformation.d.ts.map +1 -1
  159. package/dist/service/cloudformation/sim-cloudformation.js +42 -0
  160. package/dist/service/cloudformation/sim-cloudformation.js.map +1 -1
  161. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-deployment-lifecycle.d.ts +1 -1
  162. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-deployment-lifecycle.js +4 -4
  163. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-deployment-lifecycle.js.map +1 -1
  164. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.d.ts +1 -5
  165. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.d.ts.map +1 -1
  166. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.js +2 -9
  167. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.js.map +1 -1
  168. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-creator.d.ts +13 -2
  169. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-creator.d.ts.map +1 -1
  170. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-creator.js +17 -4
  171. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-creator.js.map +1 -1
  172. package/dist/service/cloudformation/stack/report/sim-cfn-stack-resource-report.d.ts +36 -0
  173. package/dist/service/cloudformation/stack/report/sim-cfn-stack-resource-report.d.ts.map +1 -0
  174. package/dist/service/cloudformation/stack/report/sim-cfn-stack-resource-report.js +49 -0
  175. package/dist/service/cloudformation/stack/report/sim-cfn-stack-resource-report.js.map +1 -0
  176. package/dist/service/cloudformation/stack/sim-cfn-stack-operation-scheduler.d.ts +47 -0
  177. package/dist/service/cloudformation/stack/sim-cfn-stack-operation-scheduler.d.ts.map +1 -0
  178. package/dist/service/cloudformation/stack/sim-cfn-stack-operation-scheduler.js +64 -0
  179. package/dist/service/cloudformation/stack/sim-cfn-stack-operation-scheduler.js.map +1 -0
  180. package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.d.ts +69 -0
  181. package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.d.ts.map +1 -0
  182. package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.js +98 -0
  183. package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.js.map +1 -0
  184. package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts +62 -29
  185. package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts.map +1 -1
  186. package/dist/service/cloudformation/stack/sim-cfn-stack.js +122 -57
  187. package/dist/service/cloudformation/stack/sim-cfn-stack.js.map +1 -1
  188. package/dist/service/cloudformation/stack/status/sim-cfn-stack-operation-status.d.ts +30 -0
  189. package/dist/service/cloudformation/stack/status/sim-cfn-stack-operation-status.d.ts.map +1 -0
  190. package/dist/service/cloudformation/stack/status/sim-cfn-stack-operation-status.js +34 -0
  191. package/dist/service/cloudformation/stack/status/sim-cfn-stack-operation-status.js.map +1 -0
  192. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-deletion-lifecycle.d.ts +74 -0
  193. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-deletion-lifecycle.d.ts.map +1 -0
  194. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-deletion-lifecycle.js +88 -0
  195. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-deletion-lifecycle.js.map +1 -0
  196. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-pending-deletions.d.ts +41 -0
  197. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-pending-deletions.d.ts.map +1 -0
  198. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-pending-deletions.js +56 -0
  199. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-pending-deletions.js.map +1 -0
  200. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.d.ts +29 -0
  201. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.d.ts.map +1 -0
  202. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.js +32 -0
  203. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.js.map +1 -0
  204. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.d.ts +52 -0
  205. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.d.ts.map +1 -0
  206. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.js +67 -0
  207. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.js.map +1 -0
  208. package/dist/service/cloudformation/stack/update/sim-cfn-stack-replaced-resources.d.ts +22 -0
  209. package/dist/service/cloudformation/stack/update/sim-cfn-stack-replaced-resources.d.ts.map +1 -0
  210. package/dist/service/cloudformation/stack/update/sim-cfn-stack-replaced-resources.js +52 -0
  211. package/dist/service/cloudformation/stack/update/sim-cfn-stack-replaced-resources.js.map +1 -0
  212. package/dist/service/cloudformation/stack/update/sim-cfn-stack-template-changes.d.ts +16 -0
  213. package/dist/service/cloudformation/stack/update/sim-cfn-stack-template-changes.d.ts.map +1 -0
  214. package/dist/service/cloudformation/stack/update/sim-cfn-stack-template-changes.js +32 -0
  215. package/dist/service/cloudformation/stack/update/sim-cfn-stack-template-changes.js.map +1 -0
  216. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-lifecycle.d.ts +64 -0
  217. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-lifecycle.d.ts.map +1 -0
  218. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-lifecycle.js +95 -0
  219. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-lifecycle.js.map +1 -0
  220. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-plan.d.ts +50 -0
  221. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-plan.d.ts.map +1 -0
  222. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-plan.js +76 -0
  223. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-plan.js.map +1 -0
  224. package/dist/service/cloudformation/stack/update/sim-cfn-stack-updater.d.ts +44 -0
  225. package/dist/service/cloudformation/stack/update/sim-cfn-stack-updater.d.ts.map +1 -0
  226. package/dist/service/cloudformation/stack/update/sim-cfn-stack-updater.js +57 -0
  227. package/dist/service/cloudformation/stack/update/sim-cfn-stack-updater.js.map +1 -0
  228. package/dist/service/cloudformation/stack/update/sim-cfn-template-signature.d.ts +17 -0
  229. package/dist/service/cloudformation/stack/update/sim-cfn-template-signature.d.ts.map +1 -0
  230. package/dist/service/cloudformation/stack/update/sim-cfn-template-signature.js +24 -0
  231. package/dist/service/cloudformation/stack/update/sim-cfn-template-signature.js.map +1 -0
  232. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-deleter.d.ts +29 -0
  233. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-deleter.d.ts.map +1 -0
  234. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-deleter.js +42 -0
  235. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-deleter.js.map +1 -0
  236. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.d.ts +8 -0
  237. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.d.ts.map +1 -1
  238. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.js +32 -0
  239. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.js.map +1 -1
  240. package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts +2 -9
  241. package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts.map +1 -1
  242. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts.map +1 -1
  243. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js +5 -13
  244. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js.map +1 -1
  245. package/dist/service/cloudfront/command/delete-distribution/delete-distribution-authorizer.d.ts +31 -0
  246. package/dist/service/cloudfront/command/delete-distribution/delete-distribution-authorizer.d.ts.map +1 -0
  247. package/dist/service/cloudfront/command/delete-distribution/delete-distribution-authorizer.js +40 -0
  248. package/dist/service/cloudfront/command/delete-distribution/delete-distribution-authorizer.js.map +1 -0
  249. package/dist/service/cloudfront/command/delete-distribution/delete-distribution.command.d.ts +27 -0
  250. package/dist/service/cloudfront/command/delete-distribution/delete-distribution.command.d.ts.map +1 -0
  251. package/dist/service/cloudfront/command/delete-distribution/delete-distribution.command.js +2 -0
  252. package/dist/service/cloudfront/command/delete-distribution/delete-distribution.command.js.map +1 -0
  253. package/dist/service/cloudfront/command/delete-distribution/delete-distribution.handler.d.ts +47 -0
  254. package/dist/service/cloudfront/command/delete-distribution/delete-distribution.handler.d.ts.map +1 -0
  255. package/dist/service/cloudfront/command/delete-distribution/delete-distribution.handler.js +53 -0
  256. package/dist/service/cloudfront/command/delete-distribution/delete-distribution.handler.js.map +1 -0
  257. package/dist/service/cloudfront/command/delete-function/delete-function-authorizer.d.ts +27 -0
  258. package/dist/service/cloudfront/command/delete-function/delete-function-authorizer.d.ts.map +1 -0
  259. package/dist/service/cloudfront/command/delete-function/delete-function-authorizer.js +36 -0
  260. package/dist/service/cloudfront/command/delete-function/delete-function-authorizer.js.map +1 -0
  261. package/dist/service/cloudfront/command/delete-function/delete-function.command.d.ts +27 -0
  262. package/dist/service/cloudfront/command/delete-function/delete-function.command.d.ts.map +1 -0
  263. package/dist/service/cloudfront/command/delete-function/delete-function.command.js +2 -0
  264. package/dist/service/cloudfront/command/delete-function/delete-function.command.js.map +1 -0
  265. package/dist/service/cloudfront/command/delete-function/delete-function.handler.d.ts +43 -0
  266. package/dist/service/cloudfront/command/delete-function/delete-function.handler.d.ts.map +1 -0
  267. package/dist/service/cloudfront/command/delete-function/delete-function.handler.js +46 -0
  268. package/dist/service/cloudfront/command/delete-function/delete-function.handler.js.map +1 -0
  269. package/dist/service/cloudfront/command/get-distribution/get-distribution.command.d.ts +2 -10
  270. package/dist/service/cloudfront/command/get-distribution/get-distribution.command.d.ts.map +1 -1
  271. package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.d.ts.map +1 -1
  272. package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.js +4 -11
  273. package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.js.map +1 -1
  274. package/dist/service/cloudfront/command/update-distribution/update-distribution-authorizer.d.ts +27 -0
  275. package/dist/service/cloudfront/command/update-distribution/update-distribution-authorizer.d.ts.map +1 -0
  276. package/dist/service/cloudfront/command/update-distribution/update-distribution-authorizer.js +36 -0
  277. package/dist/service/cloudfront/command/update-distribution/update-distribution-authorizer.js.map +1 -0
  278. package/dist/service/cloudfront/command/update-distribution/update-distribution.command.d.ts +32 -0
  279. package/dist/service/cloudfront/command/update-distribution/update-distribution.command.d.ts.map +1 -0
  280. package/dist/service/cloudfront/command/update-distribution/update-distribution.command.js +2 -0
  281. package/dist/service/cloudfront/command/update-distribution/update-distribution.command.js.map +1 -0
  282. package/dist/service/cloudfront/command/update-distribution/update-distribution.handler.d.ts +48 -0
  283. package/dist/service/cloudfront/command/update-distribution/update-distribution.handler.d.ts.map +1 -0
  284. package/dist/service/cloudfront/command/update-distribution/update-distribution.handler.js +63 -0
  285. package/dist/service/cloudfront/command/update-distribution/update-distribution.handler.js.map +1 -0
  286. package/dist/service/cloudfront/distribution/configurator/sim-cf-distribution-configurator.factory.d.ts +16 -0
  287. package/dist/service/cloudfront/distribution/configurator/sim-cf-distribution-configurator.factory.d.ts.map +1 -0
  288. package/dist/service/cloudfront/distribution/configurator/sim-cf-distribution-configurator.factory.js +13 -0
  289. package/dist/service/cloudfront/distribution/configurator/sim-cf-distribution-configurator.factory.js.map +1 -0
  290. package/dist/service/cloudfront/distribution/sim-cf-distribution-reconfigurer.d.ts +35 -0
  291. package/dist/service/cloudfront/distribution/sim-cf-distribution-reconfigurer.d.ts.map +1 -0
  292. package/dist/service/cloudfront/distribution/sim-cf-distribution-reconfigurer.js +37 -0
  293. package/dist/service/cloudfront/distribution/sim-cf-distribution-reconfigurer.js.map +1 -0
  294. package/dist/service/cloudfront/distribution/sim-cf-distribution-view.d.ts +27 -0
  295. package/dist/service/cloudfront/distribution/sim-cf-distribution-view.d.ts.map +1 -0
  296. package/dist/service/cloudfront/distribution/sim-cf-distribution-view.js +22 -0
  297. package/dist/service/cloudfront/distribution/sim-cf-distribution-view.js.map +1 -0
  298. package/dist/service/cloudfront/distribution/sim-cf-distro-config.factory.d.ts.map +1 -1
  299. package/dist/service/cloudfront/distribution/sim-cf-distro-config.factory.js +1 -0
  300. package/dist/service/cloudfront/distribution/sim-cf-distro-config.factory.js.map +1 -1
  301. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts +27 -1
  302. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts.map +1 -1
  303. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js +49 -2
  304. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js.map +1 -1
  305. package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts +24 -3
  306. package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts.map +1 -1
  307. package/dist/service/cloudfront/error/sim-cloudfront.error.js +28 -3
  308. package/dist/service/cloudfront/error/sim-cloudfront.error.js.map +1 -1
  309. package/dist/service/cloudfront/registry/sim-cloud-front-registry.d.ts +25 -0
  310. package/dist/service/cloudfront/registry/sim-cloud-front-registry.d.ts.map +1 -1
  311. package/dist/service/cloudfront/registry/sim-cloud-front-registry.js +48 -5
  312. package/dist/service/cloudfront/registry/sim-cloud-front-registry.js.map +1 -1
  313. package/dist/service/cloudfront/sdk/sim-cloudfront-sdk-command-router.d.ts.map +1 -1
  314. package/dist/service/cloudfront/sdk/sim-cloudfront-sdk-command-router.js +12 -0
  315. package/dist/service/cloudfront/sdk/sim-cloudfront-sdk-command-router.js.map +1 -1
  316. package/dist/service/cloudfront/sim-cloudfront-commands.d.ts +87 -0
  317. package/dist/service/cloudfront/sim-cloudfront-commands.d.ts.map +1 -0
  318. package/dist/service/cloudfront/sim-cloudfront-commands.js +97 -0
  319. package/dist/service/cloudfront/sim-cloudfront-commands.js.map +1 -0
  320. package/dist/service/cloudfront/sim-cloudfront.d.ts +24 -33
  321. package/dist/service/cloudfront/sim-cloudfront.d.ts.map +1 -1
  322. package/dist/service/cloudfront/sim-cloudfront.js +33 -48
  323. package/dist/service/cloudfront/sim-cloudfront.js.map +1 -1
  324. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-deleter.d.ts +24 -0
  325. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-deleter.d.ts.map +1 -0
  326. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-deleter.js +55 -0
  327. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-deleter.js.map +1 -0
  328. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-factory.d.ts +5 -0
  329. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-factory.d.ts.map +1 -1
  330. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-factory.js +9 -0
  331. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-factory.js.map +1 -1
  332. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-deleter.d.ts +23 -0
  333. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-deleter.d.ts.map +1 -0
  334. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-deleter.js +29 -0
  335. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-deleter.js.map +1 -0
  336. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.d.ts +5 -0
  337. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.d.ts.map +1 -1
  338. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.js +11 -0
  339. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.js.map +1 -1
  340. package/dist/service/iam/cfn/role/sim-cfn-iam-role-deleter.d.ts +30 -0
  341. package/dist/service/iam/cfn/role/sim-cfn-iam-role-deleter.d.ts.map +1 -0
  342. package/dist/service/iam/cfn/role/sim-cfn-iam-role-deleter.js +41 -0
  343. package/dist/service/iam/cfn/role/sim-cfn-iam-role-deleter.js.map +1 -0
  344. package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.d.ts +29 -0
  345. package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.d.ts.map +1 -0
  346. package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.js +61 -0
  347. package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.js.map +1 -0
  348. package/dist/service/iam/cfn/sim-cfn-iam-resource-factory.d.ts +6 -0
  349. package/dist/service/iam/cfn/sim-cfn-iam-resource-factory.d.ts.map +1 -1
  350. package/dist/service/iam/cfn/sim-cfn-iam-resource-factory.js +9 -0
  351. package/dist/service/iam/cfn/sim-cfn-iam-resource-factory.js.map +1 -1
  352. package/dist/service/kms/cfn/sim-cfn-kms-resource-deleter.d.ts +23 -0
  353. package/dist/service/kms/cfn/sim-cfn-kms-resource-deleter.d.ts.map +1 -0
  354. package/dist/service/kms/cfn/sim-cfn-kms-resource-deleter.js +40 -0
  355. package/dist/service/kms/cfn/sim-cfn-kms-resource-deleter.js.map +1 -0
  356. package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.d.ts +5 -0
  357. package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.d.ts.map +1 -1
  358. package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.js +9 -0
  359. package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.js.map +1 -1
  360. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-deleter.d.ts +33 -0
  361. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-deleter.d.ts.map +1 -0
  362. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-deleter.js +80 -0
  363. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-deleter.js.map +1 -0
  364. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.d.ts +5 -0
  365. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.d.ts.map +1 -1
  366. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.js +9 -0
  367. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.js.map +1 -1
  368. package/dist/service/route53/cfn/sim-cfn-route53-resource-deleter.d.ts +30 -0
  369. package/dist/service/route53/cfn/sim-cfn-route53-resource-deleter.d.ts.map +1 -0
  370. package/dist/service/route53/cfn/sim-cfn-route53-resource-deleter.js +63 -0
  371. package/dist/service/route53/cfn/sim-cfn-route53-resource-deleter.js.map +1 -0
  372. package/dist/service/route53/cfn/sim-cfn-route53-resource-factory.d.ts +6 -0
  373. package/dist/service/route53/cfn/sim-cfn-route53-resource-factory.d.ts.map +1 -1
  374. package/dist/service/route53/cfn/sim-cfn-route53-resource-factory.js +9 -0
  375. package/dist/service/route53/cfn/sim-cfn-route53-resource-factory.js.map +1 -1
  376. package/dist/service/s3/cfn/sim-cfn-s3-resource-deleter.d.ts +32 -0
  377. package/dist/service/s3/cfn/sim-cfn-s3-resource-deleter.d.ts.map +1 -0
  378. package/dist/service/s3/cfn/sim-cfn-s3-resource-deleter.js +51 -0
  379. package/dist/service/s3/cfn/sim-cfn-s3-resource-deleter.js.map +1 -0
  380. package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.d.ts +5 -0
  381. package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.d.ts.map +1 -1
  382. package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.js +9 -0
  383. package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.js.map +1 -1
  384. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.d.ts +11 -0
  385. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.d.ts.map +1 -1
  386. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.js +22 -0
  387. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.js.map +1 -1
  388. package/dist/service/sqs/cfn/sim-cfn-sqs-resource-deleter.d.ts +32 -0
  389. package/dist/service/sqs/cfn/sim-cfn-sqs-resource-deleter.d.ts.map +1 -0
  390. package/dist/service/sqs/cfn/sim-cfn-sqs-resource-deleter.js +61 -0
  391. package/dist/service/sqs/cfn/sim-cfn-sqs-resource-deleter.js.map +1 -0
  392. package/dist/service/sqs/cfn/sim-sqs-cfn-resource-factory.d.ts +6 -0
  393. package/dist/service/sqs/cfn/sim-sqs-cfn-resource-factory.d.ts.map +1 -1
  394. package/dist/service/sqs/cfn/sim-sqs-cfn-resource-factory.js +9 -0
  395. package/dist/service/sqs/cfn/sim-sqs-cfn-resource-factory.js.map +1 -1
  396. package/dist/service/sqs/queue/sim-sqs-queue-json-attribute.d.ts +4 -0
  397. package/dist/service/sqs/queue/sim-sqs-queue-json-attribute.d.ts.map +1 -1
  398. package/dist/service/sqs/queue/sim-sqs-queue-json-attribute.js +5 -1
  399. package/dist/service/sqs/queue/sim-sqs-queue-json-attribute.js.map +1 -1
  400. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.d.ts +4 -3
  401. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.d.ts.map +1 -1
  402. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.js +4 -3
  403. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.js.map +1 -1
  404. package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.d.ts +5 -0
  405. package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.d.ts.map +1 -1
  406. package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.js +14 -0
  407. package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.js.map +1 -1
  408. package/package.json +1 -1
  409. package/dist/service/cloudformation/error/sim-cloudfront.error.d.ts.map +0 -1
  410. package/dist/service/cloudformation/error/sim-cloudfront.error.js.map +0 -1
  411. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-deployment-scheduler.d.ts +0 -47
  412. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-deployment-scheduler.d.ts.map +0 -1
  413. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-deployment-scheduler.js +0 -64
  414. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-deployment-scheduler.js.map +0 -1
@@ -0,0 +1,29 @@
1
+ import type { SimCfnResource } from "../../cloudformation/resource/sim-cfn-resource.js";
2
+ import type { SimCfnTemplateValueRecord } from "../../cloudformation/template/value/sim-cfn-template-value.js";
3
+ import type { SimIam } from "../sim-iam.js";
4
+ interface SimCfnIamResourceDeleterProperties {
5
+ readonly iam: SimIam;
6
+ }
7
+ /**
8
+ * Deletes the simulated IAM resources a CloudFormation Stack created.
9
+ */
10
+ export declare class SimCfnIamResourceDeleter {
11
+ private readonly iam;
12
+ private readonly roleDeleter;
13
+ constructor(properties: SimCfnIamResourceDeleterProperties);
14
+ /**
15
+ * Delete a simulated IAM resource created from a CloudFormation Resource.
16
+ */
17
+ delete(resourceTypeName: string, resource: SimCfnResource, properties: SimCfnTemplateValueRecord): Promise<void>;
18
+ private deleteManagedPolicy;
19
+ /**
20
+ * Take an AWS::IAM::Policy back off the Roles it was put on.
21
+ *
22
+ * The Resource has no stored object of its own, so the Roles are read from
23
+ * the template the same way creation read them. Their Refs still resolve,
24
+ * because a Role is deleted after the policies naming it.
25
+ */
26
+ private deleteInlinePolicy;
27
+ }
28
+ export {};
29
+ //# sourceMappingURL=sim-cfn-iam-resource-deleter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-iam-resource-deleter.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/cfn/sim-cfn-iam-resource-deleter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AACxF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+DAA+D,CAAC;AAC/G,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAK5C,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IAEnD,YAAY,UAAU,EAAE,kCAAkC,EAGzD;IAED;;OAEG;IACG,MAAM,CACV,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,yBAAyB,GACpC,OAAO,CAAC,IAAI,CAAC,CAoBf;YAEa,mBAAmB;IAUjC;;;;;;OAMG;YACW,kBAAkB;CAqBjC"}
@@ -0,0 +1,61 @@
1
+ import { SimCfnIamRoleDeleter } from "./role/sim-cfn-iam-role-deleter.js";
2
+ import { assertDefined } from "../../../util/type-guard/defined.js";
3
+ /**
4
+ * Deletes the simulated IAM resources a CloudFormation Stack created.
5
+ */
6
+ export class SimCfnIamResourceDeleter {
7
+ iam;
8
+ roleDeleter;
9
+ constructor(properties) {
10
+ this.iam = properties.iam;
11
+ this.roleDeleter = new SimCfnIamRoleDeleter({ iam: properties.iam });
12
+ }
13
+ /**
14
+ * Delete a simulated IAM resource created from a CloudFormation Resource.
15
+ */
16
+ async delete(resourceTypeName, resource, properties) {
17
+ switch (resourceTypeName) {
18
+ case "ManagedPolicy": {
19
+ await this.deleteManagedPolicy(resource);
20
+ return;
21
+ }
22
+ case "Policy": {
23
+ await this.deleteInlinePolicy(properties);
24
+ return;
25
+ }
26
+ case "Role": {
27
+ await this.roleDeleter.delete(resource);
28
+ return;
29
+ }
30
+ default: {
31
+ throw new Error(`Unsupported sim IAM CloudFormation Resource ${resourceTypeName} deletion`);
32
+ }
33
+ }
34
+ }
35
+ async deleteManagedPolicy(resource) {
36
+ const policy = resource.simResource;
37
+ assertDefined(policy, `sim IAM Managed Policy for CloudFormation Resource ${resource.logicalId}`);
38
+ await this.iam.deletePolicy({ input: { PolicyArn: policy.arn } });
39
+ }
40
+ /**
41
+ * Take an AWS::IAM::Policy back off the Roles it was put on.
42
+ *
43
+ * The Resource has no stored object of its own, so the Roles are read from
44
+ * the template the same way creation read them. Their Refs still resolve,
45
+ * because a Role is deleted after the policies naming it.
46
+ */
47
+ async deleteInlinePolicy(properties) {
48
+ const policyName = properties["PolicyName"];
49
+ const roles = properties["Roles"];
50
+ /* v8 ignore if -- creation refused the Resource if either was missing */
51
+ if (typeof policyName !== "string" || !Array.isArray(roles)) {
52
+ return;
53
+ }
54
+ await Promise.all(roles
55
+ .filter((roleName) => typeof roleName === "string")
56
+ .map(async (roleName) => this.iam.deleteRolePolicy({
57
+ input: { RoleName: roleName, PolicyName: policyName },
58
+ })));
59
+ }
60
+ }
61
+ //# sourceMappingURL=sim-cfn-iam-resource-deleter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-iam-resource-deleter.js","sourceRoot":"","sources":["../../../../src/service/iam/cfn/sim-cfn-iam-resource-deleter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAMpE;;GAEG;AACH,MAAM,OAAO,wBAAwB;IAClB,GAAG,CAAS;IACZ,WAAW,CAAuB;IAEnD,YAAY,UAA8C;QACxD,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,oBAAoB,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,gBAAwB,EACxB,QAAwB,EACxB,UAAqC;QAErC,QAAQ,gBAAgB,EAAE,CAAC;YACzB,KAAK,eAAe,EAAE,CAAC;gBACrB,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;gBACzC,OAAO;YACT,CAAC;YACD,KAAK,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YACD,KAAK,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACxC,OAAO;YACT,CAAC;YACD,SAAS,CAAC;gBACR,MAAM,IAAI,KAAK,CACb,+CAA+C,gBAAgB,WAAW,CAC3E,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,QAAwB;QACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,WAA8C,CAAC;QACvE,aAAa,CACX,MAAM,EACN,sDAAsD,QAAQ,CAAC,SAAS,EAAE,CAC3E,CAAC;QAEF,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,kBAAkB,CAC9B,UAAqC;QAErC,MAAM,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QAElC,yEAAyE;QACzE,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5D,OAAO;QACT,CAAC;QAED,MAAM,OAAO,CAAC,GAAG,CACf,KAAK;aACF,MAAM,CAAC,CAAC,QAAQ,EAAsB,EAAE,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC;aACtE,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CACtB,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC;YACxB,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE;SACtD,CAAC,CACH,CACJ,CAAC;IACJ,CAAC;CACF"}
@@ -1,6 +1,7 @@
1
1
  import type { SimCfnResource, SimCloudFormationResourceCreateContext } from "../../cloudformation/resource/sim-cfn-resource.js";
2
2
  import type { SimCfnServiceResourceFactory } from "../../cloudformation/resource/factory/sim-cfn-resource-factory.type.js";
3
3
  import type { SimIam } from "../sim-iam.js";
4
+ import type { SimCloudFormationResourceDeleteContext } from "../../cloudformation/resource/sim-cfn-resource.type.js";
4
5
  /**
5
6
  * CloudFormation Resource factory for simulated IAM resources.
6
7
  */
@@ -8,10 +9,15 @@ export declare class SimIamCloudFormationResourceFactory implements SimCfnServic
8
9
  private readonly managedPolicyCreator;
9
10
  private readonly policyCreator;
10
11
  private readonly roleCreator;
12
+ private readonly deleter;
11
13
  constructor(iam: SimIam);
12
14
  /**
13
15
  * Create a simulated IAM resource from a CloudFormation Resource.
14
16
  */
15
17
  create(resourceTypeName: string, resource: SimCfnResource, context: SimCloudFormationResourceCreateContext): Promise<object | undefined>;
18
+ /**
19
+ * Delete a simulated IAM resource created from a CloudFormation Resource.
20
+ */
21
+ delete(resourceTypeName: string, resource: SimCfnResource, context: SimCloudFormationResourceDeleteContext): Promise<void>;
16
22
  }
17
23
  //# sourceMappingURL=sim-cfn-iam-resource-factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cfn-iam-resource-factory.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/cfn/sim-cfn-iam-resource-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,sCAAsC,EACvC,MAAM,mDAAmD,CAAC;AAC3D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,wEAAwE,CAAC;AAC3H,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAK5C;;GAEG;AACH,qBAAa,mCAAoC,YAAW,4BAA4B;IACtF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAgC;IACrE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyB;IACvD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IAEnD,YAAY,GAAG,EAAE,MAAM,EAItB;IAED;;OAEG;IACG,MAAM,CACV,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,sCAAsC,GAC9C,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA2B7B;CACF"}
1
+ {"version":3,"file":"sim-cfn-iam-resource-factory.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/cfn/sim-cfn-iam-resource-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,sCAAsC,EACvC,MAAM,mDAAmD,CAAC;AAC3D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,wEAAwE,CAAC;AAC3H,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAK5C,OAAO,KAAK,EAAE,sCAAsC,EAAE,MAAM,wDAAwD,CAAC;AAErH;;GAEG;AACH,qBAAa,mCAAoC,YAAW,4BAA4B;IACtF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAgC;IACrE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyB;IACvD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IACnD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IAEnD,YAAY,GAAG,EAAE,MAAM,EAKtB;IAED;;OAEG;IACG,MAAM,CACV,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,sCAAsC,GAC9C,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA2B7B;IAED;;OAEG;IACG,MAAM,CACV,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,sCAAsC,GAC9C,OAAO,CAAC,IAAI,CAAC,CAMf;CACF"}
@@ -1,6 +1,7 @@
1
1
  import { SimCfnIamManagedPolicyCreator } from "./managed-policy/sim-cfn-iam-managed-policy-creator.js";
2
2
  import { SimCfnIamPolicyCreator } from "./policy/sim-cfn-iam-policy-creator.js";
3
3
  import { SimCfnIamRoleCreator } from "./role/sim-cfn-iam-role-creator.js";
4
+ import { SimCfnIamResourceDeleter } from "./sim-cfn-iam-resource-deleter.js";
4
5
  /**
5
6
  * CloudFormation Resource factory for simulated IAM resources.
6
7
  */
@@ -8,10 +9,12 @@ export class SimIamCloudFormationResourceFactory {
8
9
  managedPolicyCreator;
9
10
  policyCreator;
10
11
  roleCreator;
12
+ deleter;
11
13
  constructor(iam) {
12
14
  this.managedPolicyCreator = new SimCfnIamManagedPolicyCreator({ iam });
13
15
  this.policyCreator = new SimCfnIamPolicyCreator({ iam });
14
16
  this.roleCreator = new SimCfnIamRoleCreator({ iam });
17
+ this.deleter = new SimCfnIamResourceDeleter({ iam });
15
18
  }
16
19
  /**
17
20
  * Create a simulated IAM resource from a CloudFormation Resource.
@@ -33,5 +36,11 @@ export class SimIamCloudFormationResourceFactory {
33
36
  }
34
37
  }
35
38
  }
39
+ /**
40
+ * Delete a simulated IAM resource created from a CloudFormation Resource.
41
+ */
42
+ async delete(resourceTypeName, resource, context) {
43
+ await this.deleter.delete(resourceTypeName, resource, context.resolvedProperties ?? resource.properties);
44
+ }
36
45
  }
37
46
  //# sourceMappingURL=sim-cfn-iam-resource-factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cfn-iam-resource-factory.js","sourceRoot":"","sources":["../../../../src/service/iam/cfn/sim-cfn-iam-resource-factory.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,6BAA6B,EAAE,MAAM,wDAAwD,CAAC;AACvG,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1E;;GAEG;AACH,MAAM,OAAO,mCAAmC;IAC7B,oBAAoB,CAAgC;IACpD,aAAa,CAAyB;IACtC,WAAW,CAAuB;IAEnD,YAAY,GAAW;QACrB,IAAI,CAAC,oBAAoB,GAAG,IAAI,6BAA6B,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,aAAa,GAAG,IAAI,sBAAsB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,WAAW,GAAG,IAAI,oBAAoB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,gBAAwB,EACxB,QAAwB,EACxB,OAA+C;QAE/C,QAAQ,gBAAgB,EAAE,CAAC;YACzB,KAAK,eAAe,EAAE,CAAC;gBACrB,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAC3C,QAAQ,EACR,OAAO,CAAC,kBAAkB,IAAI,QAAQ,CAAC,UAAU,CAClD,CAAC;YACJ,CAAC;YACD,KAAK,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAC7B,QAAQ,EACR,OAAO,CAAC,kBAAkB,IAAI,QAAQ,CAAC,UAAU,CAClD,CAAC;gBACF,OAAO;YACT,CAAC;YACD,KAAK,MAAM,EAAE,CAAC;gBACZ,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAClC,QAAQ,EACR,OAAO,CAAC,kBAAkB,IAAI,QAAQ,CAAC,UAAU,CAClD,CAAC;YACJ,CAAC;YACD,SAAS,CAAC;gBACR,MAAM,IAAI,KAAK,CACb,+CAA+C,gBAAgB,EAAE,CAClE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"sim-cfn-iam-resource-factory.js","sourceRoot":"","sources":["../../../../src/service/iam/cfn/sim-cfn-iam-resource-factory.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,6BAA6B,EAAE,MAAM,wDAAwD,CAAC;AACvG,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAG7E;;GAEG;AACH,MAAM,OAAO,mCAAmC;IAC7B,oBAAoB,CAAgC;IACpD,aAAa,CAAyB;IACtC,WAAW,CAAuB;IAClC,OAAO,CAA2B;IAEnD,YAAY,GAAW;QACrB,IAAI,CAAC,oBAAoB,GAAG,IAAI,6BAA6B,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,aAAa,GAAG,IAAI,sBAAsB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,WAAW,GAAG,IAAI,oBAAoB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,GAAG,IAAI,wBAAwB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,gBAAwB,EACxB,QAAwB,EACxB,OAA+C;QAE/C,QAAQ,gBAAgB,EAAE,CAAC;YACzB,KAAK,eAAe,EAAE,CAAC;gBACrB,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAC3C,QAAQ,EACR,OAAO,CAAC,kBAAkB,IAAI,QAAQ,CAAC,UAAU,CAClD,CAAC;YACJ,CAAC;YACD,KAAK,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAC7B,QAAQ,EACR,OAAO,CAAC,kBAAkB,IAAI,QAAQ,CAAC,UAAU,CAClD,CAAC;gBACF,OAAO;YACT,CAAC;YACD,KAAK,MAAM,EAAE,CAAC;gBACZ,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAClC,QAAQ,EACR,OAAO,CAAC,kBAAkB,IAAI,QAAQ,CAAC,UAAU,CAClD,CAAC;YACJ,CAAC;YACD,SAAS,CAAC;gBACR,MAAM,IAAI,KAAK,CACb,+CAA+C,gBAAgB,EAAE,CAClE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,gBAAwB,EACxB,QAAwB,EACxB,OAA+C;QAE/C,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CACvB,gBAAgB,EAChB,QAAQ,EACR,OAAO,CAAC,kBAAkB,IAAI,QAAQ,CAAC,UAAU,CAClD,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,23 @@
1
+ import type { SimCfnResource } from "../../cloudformation/resource/sim-cfn-resource.js";
2
+ import type { SimKms } from "../sim-kms.js";
3
+ interface SimCfnKmsResourceDeleterProperties {
4
+ readonly kms: SimKms;
5
+ }
6
+ /**
7
+ * Deletes the simulated KMS resources a CloudFormation Stack created.
8
+ *
9
+ * KMS has no DeleteKey. A key is scheduled for deletion and sits in
10
+ * `PendingDeletion` until the window runs out, so that is what a Stack deletion
11
+ * leaves behind: a key that is still there and can no longer be used. Anything
12
+ * expecting the key to be gone is expecting something KMS does not do.
13
+ */
14
+ export declare class SimCfnKmsResourceDeleter {
15
+ private readonly kms;
16
+ constructor(properties: SimCfnKmsResourceDeleterProperties);
17
+ /**
18
+ * Delete a simulated KMS resource created from a CloudFormation Resource.
19
+ */
20
+ delete(resourceTypeName: string, resource: SimCfnResource): Promise<void>;
21
+ }
22
+ export {};
23
+ //# sourceMappingURL=sim-cfn-kms-resource-deleter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-kms-resource-deleter.d.ts","sourceRoot":"","sources":["../../../../src/service/kms/cfn/sim-cfn-kms-resource-deleter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AACxF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAK5C,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAE7B,YAAY,UAAU,EAAE,kCAAkC,EAEzD;IAED;;OAEG;IACG,MAAM,CACV,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC,CAgCf;CACF"}
@@ -0,0 +1,40 @@
1
+ import { assertDefined } from "../../../util/type-guard/defined.js";
2
+ /**
3
+ * Deletes the simulated KMS resources a CloudFormation Stack created.
4
+ *
5
+ * KMS has no DeleteKey. A key is scheduled for deletion and sits in
6
+ * `PendingDeletion` until the window runs out, so that is what a Stack deletion
7
+ * leaves behind: a key that is still there and can no longer be used. Anything
8
+ * expecting the key to be gone is expecting something KMS does not do.
9
+ */
10
+ export class SimCfnKmsResourceDeleter {
11
+ kms;
12
+ constructor(properties) {
13
+ this.kms = properties.kms;
14
+ }
15
+ /**
16
+ * Delete a simulated KMS resource created from a CloudFormation Resource.
17
+ */
18
+ async delete(resourceTypeName, resource) {
19
+ switch (resourceTypeName) {
20
+ case "Key": {
21
+ const key = resource.simResource;
22
+ assertDefined(key, `sim KMS Key for CloudFormation Resource ${resource.logicalId}`);
23
+ await this.kms.scheduleKeyDeletion({ input: { KeyId: key.keyId } });
24
+ return;
25
+ }
26
+ case "Alias": {
27
+ const alias = resource.simResource;
28
+ assertDefined(alias, `sim KMS Alias for CloudFormation Resource ${resource.logicalId}`);
29
+ await this.kms.deleteAlias({
30
+ input: { AliasName: alias.aliasName },
31
+ });
32
+ return;
33
+ }
34
+ default: {
35
+ throw new Error(`Unsupported sim KMS CloudFormation Resource ${resourceTypeName} deletion`);
36
+ }
37
+ }
38
+ }
39
+ }
40
+ //# sourceMappingURL=sim-cfn-kms-resource-deleter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-kms-resource-deleter.js","sourceRoot":"","sources":["../../../../src/service/kms/cfn/sim-cfn-kms-resource-deleter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAMpE;;;;;;;GAOG;AACH,MAAM,OAAO,wBAAwB;IAClB,GAAG,CAAS;IAE7B,YAAY,UAA8C;QACxD,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,gBAAwB,EACxB,QAAwB;QAExB,QAAQ,gBAAgB,EAAE,CAAC;YACzB,KAAK,KAAK,EAAE,CAAC;gBACX,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAoC,CAAC;gBAC1D,aAAa,CACX,GAAG,EACH,2CAA2C,QAAQ,CAAC,SAAS,EAAE,CAChE,CAAC;gBAEF,MAAM,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAEpE,OAAO;YACT,CAAC;YACD,KAAK,OAAO,EAAE,CAAC;gBACb,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAsC,CAAC;gBAC9D,aAAa,CACX,KAAK,EACL,6CAA6C,QAAQ,CAAC,SAAS,EAAE,CAClE,CAAC;gBAEF,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;oBACzB,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE;iBACtC,CAAC,CAAC;gBAEH,OAAO;YACT,CAAC;YACD,SAAS,CAAC;gBACR,MAAM,IAAI,KAAK,CACb,+CAA+C,gBAAgB,WAAW,CAC3E,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -10,6 +10,7 @@ interface SimKmsCfnResourceFactoryProperties {
10
10
  export declare class SimKmsCfnResourceFactory implements SimCfnServiceResourceFactory {
11
11
  private readonly keyCreator;
12
12
  private readonly aliasCreator;
13
+ private readonly deleter;
13
14
  constructor(properties: SimKmsCfnResourceFactoryProperties);
14
15
  /**
15
16
  * Create a simulated KMS resource from a CloudFormation Resource.
@@ -18,6 +19,10 @@ export declare class SimKmsCfnResourceFactory implements SimCfnServiceResourceFa
18
19
  * reported as unsupported rather than quietly treated as deployed.
19
20
  */
20
21
  create(resourceTypeName: string, resource: SimCfnResource, context: SimCloudFormationResourceCreateContext): Promise<object | undefined>;
22
+ /**
23
+ * Delete a simulated KMS resource created from a CloudFormation Resource.
24
+ */
25
+ delete(resourceTypeName: string, resource: SimCfnResource): Promise<void>;
21
26
  }
22
27
  export {};
23
28
  //# sourceMappingURL=sim-cfn-kms-resource-factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cfn-kms-resource-factory.d.ts","sourceRoot":"","sources":["../../../../src/service/kms/cfn/sim-cfn-kms-resource-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,wEAAwE,CAAC;AAC3H,OAAO,KAAK,EACV,cAAc,EACd,sCAAsC,EACvC,MAAM,mDAAmD,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAI5C,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,wBAAyB,YAAW,4BAA4B;IAC3E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IAErD,YAAY,UAAU,EAAE,kCAAkC,EAGzD;IAED;;;;;OAKG;IACG,MAAM,CACV,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,sCAAsC,GAC9C,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAgB7B;CACF"}
1
+ {"version":3,"file":"sim-cfn-kms-resource-factory.d.ts","sourceRoot":"","sources":["../../../../src/service/kms/cfn/sim-cfn-kms-resource-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,wEAAwE,CAAC;AAC3H,OAAO,KAAK,EACV,cAAc,EACd,sCAAsC,EACvC,MAAM,mDAAmD,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAK5C,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,wBAAyB,YAAW,4BAA4B;IAC3E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IAEnD,YAAY,UAAU,EAAE,kCAAkC,EAIzD;IAED;;;;;OAKG;IACG,MAAM,CACV,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,sCAAsC,GAC9C,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAgB7B;IAED;;OAEG;IACG,MAAM,CACV,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC,CAEf;CACF"}
@@ -1,14 +1,17 @@
1
1
  import { SimCfnKmsAliasCreator } from "./alias/sim-cfn-kms-alias-creator.js";
2
2
  import { SimCfnKmsKeyCreator } from "./key/sim-cfn-kms-key-creator.js";
3
+ import { SimCfnKmsResourceDeleter } from "./sim-cfn-kms-resource-deleter.js";
3
4
  /**
4
5
  * CloudFormation Resource factory for simulated KMS resources.
5
6
  */
6
7
  export class SimKmsCfnResourceFactory {
7
8
  keyCreator;
8
9
  aliasCreator;
10
+ deleter;
9
11
  constructor(properties) {
10
12
  this.keyCreator = new SimCfnKmsKeyCreator({ kms: properties.kms });
11
13
  this.aliasCreator = new SimCfnKmsAliasCreator({ kms: properties.kms });
14
+ this.deleter = new SimCfnKmsResourceDeleter({ kms: properties.kms });
12
15
  }
13
16
  /**
14
17
  * Create a simulated KMS resource from a CloudFormation Resource.
@@ -30,5 +33,11 @@ export class SimKmsCfnResourceFactory {
30
33
  }
31
34
  }
32
35
  }
36
+ /**
37
+ * Delete a simulated KMS resource created from a CloudFormation Resource.
38
+ */
39
+ async delete(resourceTypeName, resource) {
40
+ await this.deleter.delete(resourceTypeName, resource);
41
+ }
33
42
  }
34
43
  //# sourceMappingURL=sim-cfn-kms-resource-factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cfn-kms-resource-factory.js","sourceRoot":"","sources":["../../../../src/service/kms/cfn/sim-cfn-kms-resource-factory.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAMvE;;GAEG;AACH,MAAM,OAAO,wBAAwB;IAClB,UAAU,CAAsB;IAChC,YAAY,CAAwB;IAErD,YAAY,UAA8C;QACxD,IAAI,CAAC,UAAU,GAAG,IAAI,mBAAmB,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,GAAG,IAAI,qBAAqB,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;IACzE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CACV,gBAAwB,EACxB,QAAwB,EACxB,OAA+C;QAE/C,MAAM,UAAU,GAAG,OAAO,CAAC,kBAAkB,IAAI,QAAQ,CAAC,UAAU,CAAC;QAErE,QAAQ,gBAAgB,EAAE,CAAC;YACzB,KAAK,KAAK,EAAE,CAAC;gBACX,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC5D,CAAC;YACD,KAAK,OAAO,EAAE,CAAC;gBACb,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC9D,CAAC;YACD,SAAS,CAAC;gBACR,MAAM,IAAI,KAAK,CACb,+CAA+C,gBAAgB,EAAE,CAClE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"sim-cfn-kms-resource-factory.js","sourceRoot":"","sources":["../../../../src/service/kms/cfn/sim-cfn-kms-resource-factory.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAM7E;;GAEG;AACH,MAAM,OAAO,wBAAwB;IAClB,UAAU,CAAsB;IAChC,YAAY,CAAwB;IACpC,OAAO,CAA2B;IAEnD,YAAY,UAA8C;QACxD,IAAI,CAAC,UAAU,GAAG,IAAI,mBAAmB,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,GAAG,IAAI,qBAAqB,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,OAAO,GAAG,IAAI,wBAAwB,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;IACvE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CACV,gBAAwB,EACxB,QAAwB,EACxB,OAA+C;QAE/C,MAAM,UAAU,GAAG,OAAO,CAAC,kBAAkB,IAAI,QAAQ,CAAC,UAAU,CAAC;QAErE,QAAQ,gBAAgB,EAAE,CAAC;YACzB,KAAK,KAAK,EAAE,CAAC;gBACX,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC5D,CAAC;YACD,KAAK,OAAO,EAAE,CAAC;gBACb,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC9D,CAAC;YACD,SAAS,CAAC;gBACR,MAAM,IAAI,KAAK,CACb,+CAA+C,gBAAgB,EAAE,CAClE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,gBAAwB,EACxB,QAAwB;QAExB,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;CACF"}
@@ -0,0 +1,33 @@
1
+ import type { SimCfnResource } from "../../cloudformation/resource/sim-cfn-resource.js";
2
+ import type { SimLambda } from "../sim-lambda.js";
3
+ interface SimCfnLambdaResourceDeleterProperties {
4
+ readonly lambda: SimLambda;
5
+ }
6
+ /**
7
+ * Deletes the simulated Lambda resources a CloudFormation Stack created.
8
+ *
9
+ * Each Resource type is addressed by what its creation produced, so a URL and a
10
+ * permission are removed from the function they were put on rather than from
11
+ * the function name the template happened to write.
12
+ */
13
+ export declare class SimCfnLambdaResourceDeleter {
14
+ private readonly lambda;
15
+ constructor(properties: SimCfnLambdaResourceDeleterProperties);
16
+ /**
17
+ * Delete a simulated Lambda resource created from a CloudFormation Resource.
18
+ */
19
+ delete(resourceTypeName: string, resource: SimCfnResource): Promise<void>;
20
+ private deleteFunction;
21
+ private deleteFunctionUrl;
22
+ private deleteEventSourceMapping;
23
+ /**
24
+ * Take a permission back off the function it was added to.
25
+ *
26
+ * The statement is named after the Resource's logical ID when it is added,
27
+ * because AWS::Lambda::Permission has no StatementId property, so that is
28
+ * what addresses it again here.
29
+ */
30
+ private removePermission;
31
+ }
32
+ export {};
33
+ //# sourceMappingURL=sim-cfn-lambda-resource-deleter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-lambda-resource-deleter.d.ts","sourceRoot":"","sources":["../../../../src/service/lambda/cfn/sim-cfn-lambda-resource-deleter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AACxF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAQlD,UAAU,qCAAqC;IAC7C,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IAEnC,YAAY,UAAU,EAAE,qCAAqC,EAE5D;IAED;;OAEG;IACG,MAAM,CACV,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC,CAwBf;YAEa,cAAc;YAYd,iBAAiB;YAajB,wBAAwB;IAetC;;;;;;OAMG;YACW,gBAAgB;CAc/B"}
@@ -0,0 +1,80 @@
1
+ import { assertDefined } from "../../../util/type-guard/defined.js";
2
+ import { simCfnLambdaTargetFunctionName } from "./function/sim-cfn-lambda-target-function.js";
3
+ /**
4
+ * Deletes the simulated Lambda resources a CloudFormation Stack created.
5
+ *
6
+ * Each Resource type is addressed by what its creation produced, so a URL and a
7
+ * permission are removed from the function they were put on rather than from
8
+ * the function name the template happened to write.
9
+ */
10
+ export class SimCfnLambdaResourceDeleter {
11
+ lambda;
12
+ constructor(properties) {
13
+ this.lambda = properties.lambda;
14
+ }
15
+ /**
16
+ * Delete a simulated Lambda resource created from a CloudFormation Resource.
17
+ */
18
+ async delete(resourceTypeName, resource) {
19
+ switch (resourceTypeName) {
20
+ case "Function": {
21
+ await this.deleteFunction(resource);
22
+ return;
23
+ }
24
+ case "Url": {
25
+ await this.deleteFunctionUrl(resource);
26
+ return;
27
+ }
28
+ case "EventSourceMapping": {
29
+ await this.deleteEventSourceMapping(resource);
30
+ return;
31
+ }
32
+ case "Permission": {
33
+ await this.removePermission(resource);
34
+ return;
35
+ }
36
+ default: {
37
+ throw new Error(`Unsupported sim Lambda CloudFormation Resource ${resourceTypeName} deletion`);
38
+ }
39
+ }
40
+ }
41
+ async deleteFunction(resource) {
42
+ const simFunction = resource.simResource;
43
+ assertDefined(simFunction, `sim Lambda Function for CloudFormation Resource ${resource.logicalId}`);
44
+ await this.lambda.deleteFunction({
45
+ input: { FunctionName: simFunction.name },
46
+ });
47
+ }
48
+ async deleteFunctionUrl(resource) {
49
+ const functionUrl = resource.simResource;
50
+ assertDefined(functionUrl, `sim Lambda Function URL for CloudFormation Resource ${resource.logicalId}`);
51
+ await this.lambda.deleteFunctionUrlConfig({
52
+ input: { FunctionName: functionUrl.functionName },
53
+ });
54
+ }
55
+ async deleteEventSourceMapping(resource) {
56
+ const mapping = resource.simResource;
57
+ assertDefined(mapping, `sim Lambda event source mapping for CloudFormation Resource ${resource.logicalId}`);
58
+ await this.lambda.deleteEventSourceMapping({
59
+ input: { UUID: mapping.uuid },
60
+ });
61
+ }
62
+ /**
63
+ * Take a permission back off the function it was added to.
64
+ *
65
+ * The statement is named after the Resource's logical ID when it is added,
66
+ * because AWS::Lambda::Permission has no StatementId property, so that is
67
+ * what addresses it again here.
68
+ */
69
+ async removePermission(resource) {
70
+ const permission = resource.simResource;
71
+ assertDefined(permission, `sim Lambda permission for CloudFormation Resource ${resource.logicalId}`);
72
+ await this.lambda.removePermission({
73
+ input: {
74
+ FunctionName: simCfnLambdaTargetFunctionName(permission.resourceArn),
75
+ StatementId: permission.statementId,
76
+ },
77
+ });
78
+ }
79
+ }
80
+ //# sourceMappingURL=sim-cfn-lambda-resource-deleter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-lambda-resource-deleter.js","sourceRoot":"","sources":["../../../../src/service/lambda/cfn/sim-cfn-lambda-resource-deleter.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,8BAA8B,EAAE,MAAM,8CAA8C,CAAC;AAM9F;;;;;;GAMG;AACH,MAAM,OAAO,2BAA2B;IACrB,MAAM,CAAY;IAEnC,YAAY,UAAiD;QAC3D,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,gBAAwB,EACxB,QAAwB;QAExB,QAAQ,gBAAgB,EAAE,CAAC;YACzB,KAAK,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;gBACpC,OAAO;YACT,CAAC;YACD,KAAK,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBACvC,OAAO;YACT,CAAC;YACD,KAAK,oBAAoB,EAAE,CAAC;gBAC1B,MAAM,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;gBAC9C,OAAO;YACT,CAAC;YACD,KAAK,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBACtC,OAAO;YACT,CAAC;YACD,SAAS,CAAC;gBACR,MAAM,IAAI,KAAK,CACb,kDAAkD,gBAAgB,WAAW,CAC9E,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,QAAwB;QACnD,MAAM,WAAW,GAAG,QAAQ,CAAC,WAA4C,CAAC;QAC1E,aAAa,CACX,WAAW,EACX,mDAAmD,QAAQ,CAAC,SAAS,EAAE,CACxE,CAAC;QAEF,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;YAC/B,KAAK,EAAE,EAAE,YAAY,EAAE,WAAW,CAAC,IAAI,EAAE;SAC1C,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,QAAwB;QACtD,MAAM,WAAW,GAAG,QAAQ,CAAC,WACK,CAAC;QACnC,aAAa,CACX,WAAW,EACX,uDAAuD,QAAQ,CAAC,SAAS,EAAE,CAC5E,CAAC;QAEF,MAAM,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC;YACxC,KAAK,EAAE,EAAE,YAAY,EAAE,WAAW,CAAC,YAAY,EAAE;SAClD,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACpC,QAAwB;QAExB,MAAM,OAAO,GAAG,QAAQ,CAAC,WACgB,CAAC;QAC1C,aAAa,CACX,OAAO,EACP,+DAA+D,QAAQ,CAAC,SAAS,EAAE,CACpF,CAAC;QAEF,MAAM,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC;YACzC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;SAC9B,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,gBAAgB,CAAC,QAAwB;QACrD,MAAM,UAAU,GAAG,QAAQ,CAAC,WAA8C,CAAC;QAC3E,aAAa,CACX,UAAU,EACV,qDAAqD,QAAQ,CAAC,SAAS,EAAE,CAC1E,CAAC;QAEF,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;YACjC,KAAK,EAAE;gBACL,YAAY,EAAE,8BAA8B,CAAC,UAAU,CAAC,WAAW,CAAC;gBACpE,WAAW,EAAE,UAAU,CAAC,WAAW;aACpC;SACF,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -9,10 +9,15 @@ export declare class SimLambdaCloudFormationResourceFactory implements SimCfnSer
9
9
  private readonly urlCreator;
10
10
  private readonly permissionCreator;
11
11
  private readonly eventSourceMappingCreator;
12
+ private readonly deleter;
12
13
  constructor(lambda: SimLambda);
13
14
  /**
14
15
  * Create a simulated Lambda resource from a CloudFormation Resource.
15
16
  */
16
17
  create(resourceTypeName: string, resource: SimCfnResource, context: SimCloudFormationResourceCreateContext): Promise<object | undefined>;
18
+ /**
19
+ * Delete a simulated Lambda resource created from a CloudFormation Resource.
20
+ */
21
+ delete(resourceTypeName: string, resource: SimCfnResource): Promise<void>;
17
22
  }
18
23
  //# sourceMappingURL=sim-cfn-lambda-resource-factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cfn-lambda-resource-factory.d.ts","sourceRoot":"","sources":["../../../../src/service/lambda/cfn/sim-cfn-lambda-resource-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,sCAAsC,EACvC,MAAM,mDAAmD,CAAC;AAC3D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,wEAAwE,CAAC;AAC3H,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAMlD;;GAEG;AACH,qBAAa,sCAAuC,YAAW,4BAA4B;IACzF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA8B;IAC9D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAgC;IAClE,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAwC;IAElF,YAAY,MAAM,EAAE,SAAS,EAO5B;IAED;;OAEG;IACG,MAAM,CACV,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,sCAAsC,GAC9C,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAiC7B;CACF"}
1
+ {"version":3,"file":"sim-cfn-lambda-resource-factory.d.ts","sourceRoot":"","sources":["../../../../src/service/lambda/cfn/sim-cfn-lambda-resource-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,sCAAsC,EACvC,MAAM,mDAAmD,CAAC;AAC3D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,wEAAwE,CAAC;AAC3H,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAOlD;;GAEG;AACH,qBAAa,sCAAuC,YAAW,4BAA4B;IACzF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA8B;IAC9D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAgC;IAClE,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAwC;IAClF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IAEtD,YAAY,MAAM,EAAE,SAAS,EAQ5B;IAED;;OAEG;IACG,MAAM,CACV,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,sCAAsC,GAC9C,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAiC7B;IAED;;OAEG;IACG,MAAM,CACV,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC,CAEf;CACF"}
@@ -2,6 +2,7 @@ import { SimCfnLambdaEventSourceMappingCreator } from "./event-source-mapping/si
2
2
  import { SimCfnLambdaFunctionCreator } from "./function/sim-cfn-lambda-function-creator.js";
3
3
  import { SimCfnLambdaPermissionCreator } from "./permission/sim-cfn-lambda-permission-creator.js";
4
4
  import { SimCfnLambdaUrlCreator } from "./url/sim-cfn-lambda-url-creator.js";
5
+ import { SimCfnLambdaResourceDeleter } from "./sim-cfn-lambda-resource-deleter.js";
5
6
  /**
6
7
  * CloudFormation Resource factory for simulated Lambda resources.
7
8
  */
@@ -10,7 +11,9 @@ export class SimLambdaCloudFormationResourceFactory {
10
11
  urlCreator;
11
12
  permissionCreator;
12
13
  eventSourceMappingCreator;
14
+ deleter;
13
15
  constructor(lambda) {
16
+ this.deleter = new SimCfnLambdaResourceDeleter({ lambda });
14
17
  this.functionCreator = new SimCfnLambdaFunctionCreator({ lambda });
15
18
  this.urlCreator = new SimCfnLambdaUrlCreator({ lambda });
16
19
  this.permissionCreator = new SimCfnLambdaPermissionCreator({ lambda });
@@ -40,5 +43,11 @@ export class SimLambdaCloudFormationResourceFactory {
40
43
  }
41
44
  }
42
45
  }
46
+ /**
47
+ * Delete a simulated Lambda resource created from a CloudFormation Resource.
48
+ */
49
+ async delete(resourceTypeName, resource) {
50
+ await this.deleter.delete(resourceTypeName, resource);
51
+ }
43
52
  }
44
53
  //# sourceMappingURL=sim-cfn-lambda-resource-factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cfn-lambda-resource-factory.js","sourceRoot":"","sources":["../../../../src/service/lambda/cfn/sim-cfn-lambda-resource-factory.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,qCAAqC,EAAE,MAAM,uEAAuE,CAAC;AAC9H,OAAO,EAAE,2BAA2B,EAAE,MAAM,+CAA+C,CAAC;AAC5F,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AAClG,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAE7E;;GAEG;AACH,MAAM,OAAO,sCAAsC;IAChC,eAAe,CAA8B;IAC7C,UAAU,CAAyB;IACnC,iBAAiB,CAAgC;IACjD,yBAAyB,CAAwC;IAElF,YAAY,MAAiB;QAC3B,IAAI,CAAC,eAAe,GAAG,IAAI,2BAA2B,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU,GAAG,IAAI,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,iBAAiB,GAAG,IAAI,6BAA6B,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,yBAAyB,GAAG,IAAI,qCAAqC,CAAC;YACzE,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,gBAAwB,EACxB,QAAwB,EACxB,OAA+C;QAE/C,QAAQ,gBAAgB,EAAE,CAAC;YACzB,KAAK,UAAU,EAAE,CAAC;gBAChB,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CACtC,QAAQ,EACR,OAAO,CAAC,kBAAkB,IAAI,QAAQ,CAAC,UAAU,EACjD,OAAO,CAAC,QAAQ,CACjB,CAAC;YACJ,CAAC;YACD,KAAK,KAAK,EAAE,CAAC;gBACX,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CACjC,QAAQ,EACR,OAAO,CAAC,kBAAkB,IAAI,QAAQ,CAAC,UAAU,CAClD,CAAC;YACJ,CAAC;YACD,KAAK,oBAAoB,EAAE,CAAC;gBAC1B,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAChD,QAAQ,EACR,OAAO,CAAC,kBAAkB,IAAI,QAAQ,CAAC,UAAU,CAClD,CAAC;YACJ,CAAC;YACD,KAAK,YAAY,EAAE,CAAC;gBAClB,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CACxC,QAAQ,EACR,OAAO,CAAC,kBAAkB,IAAI,QAAQ,CAAC,UAAU,CAClD,CAAC;YACJ,CAAC;YACD,SAAS,CAAC;gBACR,MAAM,IAAI,KAAK,CACb,kDAAkD,gBAAgB,EAAE,CACrE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"sim-cfn-lambda-resource-factory.js","sourceRoot":"","sources":["../../../../src/service/lambda/cfn/sim-cfn-lambda-resource-factory.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,qCAAqC,EAAE,MAAM,uEAAuE,CAAC;AAC9H,OAAO,EAAE,2BAA2B,EAAE,MAAM,+CAA+C,CAAC;AAC5F,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AAClG,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAEnF;;GAEG;AACH,MAAM,OAAO,sCAAsC;IAChC,eAAe,CAA8B;IAC7C,UAAU,CAAyB;IACnC,iBAAiB,CAAgC;IACjD,yBAAyB,CAAwC;IACjE,OAAO,CAA8B;IAEtD,YAAY,MAAiB;QAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,2BAA2B,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,eAAe,GAAG,IAAI,2BAA2B,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU,GAAG,IAAI,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,iBAAiB,GAAG,IAAI,6BAA6B,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,yBAAyB,GAAG,IAAI,qCAAqC,CAAC;YACzE,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,gBAAwB,EACxB,QAAwB,EACxB,OAA+C;QAE/C,QAAQ,gBAAgB,EAAE,CAAC;YACzB,KAAK,UAAU,EAAE,CAAC;gBAChB,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CACtC,QAAQ,EACR,OAAO,CAAC,kBAAkB,IAAI,QAAQ,CAAC,UAAU,EACjD,OAAO,CAAC,QAAQ,CACjB,CAAC;YACJ,CAAC;YACD,KAAK,KAAK,EAAE,CAAC;gBACX,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CACjC,QAAQ,EACR,OAAO,CAAC,kBAAkB,IAAI,QAAQ,CAAC,UAAU,CAClD,CAAC;YACJ,CAAC;YACD,KAAK,oBAAoB,EAAE,CAAC;gBAC1B,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAChD,QAAQ,EACR,OAAO,CAAC,kBAAkB,IAAI,QAAQ,CAAC,UAAU,CAClD,CAAC;YACJ,CAAC;YACD,KAAK,YAAY,EAAE,CAAC;gBAClB,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CACxC,QAAQ,EACR,OAAO,CAAC,kBAAkB,IAAI,QAAQ,CAAC,UAAU,CAClD,CAAC;YACJ,CAAC;YACD,SAAS,CAAC;gBACR,MAAM,IAAI,KAAK,CACb,kDAAkD,gBAAgB,EAAE,CACrE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,gBAAwB,EACxB,QAAwB;QAExB,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;CACF"}
@@ -0,0 +1,30 @@
1
+ import type { SimCfnResource } from "../../cloudformation/resource/sim-cfn-resource.js";
2
+ import type { SimCfnTemplateValueRecord } from "../../cloudformation/template/value/sim-cfn-template-value.js";
3
+ import type { SimRoute53 } from "../sim-route53.js";
4
+ interface SimCfnRoute53ResourceDeleterProperties {
5
+ readonly route53: SimRoute53;
6
+ }
7
+ /**
8
+ * Deletes the simulated Route53 resources a CloudFormation Stack created.
9
+ *
10
+ * A record set has no delete command of its own. Route53 only takes changes, so
11
+ * removing one is a ChangeResourceRecordSets carrying a DELETE change built
12
+ * from the same template properties that created it.
13
+ *
14
+ * The Hosted Zone goes last, and only works because it does: DeleteHostedZone
15
+ * refuses a zone that still holds records, and the record set Resources naming
16
+ * the zone have already been taken off it by then.
17
+ */
18
+ export declare class SimCfnRoute53ResourceDeleter {
19
+ private readonly route53;
20
+ private readonly hostedZoneResolver;
21
+ constructor(properties: SimCfnRoute53ResourceDeleterProperties);
22
+ /**
23
+ * Delete a simulated Route53 resource created from a CloudFormation Resource.
24
+ */
25
+ delete(resourceTypeName: string, resource: SimCfnResource, properties: SimCfnTemplateValueRecord): Promise<void>;
26
+ private deleteHostedZone;
27
+ private deleteRecordSet;
28
+ }
29
+ export {};
30
+ //# sourceMappingURL=sim-cfn-route53-resource-deleter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-route53-resource-deleter.d.ts","sourceRoot":"","sources":["../../../../src/service/route53/cfn/sim-cfn-route53-resource-deleter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AACxF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+DAA+D,CAAC;AAC/G,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAMpD,UAAU,sCAAsC;IAC9C,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;CAC9B;AAED;;;;;;;;;;GAUG;AACH,qBAAa,4BAA4B;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2C;IAE9E,YAAY,UAAU,EAAE,sCAAsC,EAK7D;IAED;;OAEG;IACG,MAAM,CACV,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,yBAAyB,GACpC,OAAO,CAAC,IAAI,CAAC,CAgBf;YAEa,gBAAgB;YAUhB,eAAe;CA0B9B"}
@@ -0,0 +1,63 @@
1
+ import { SimCfnRoute53RecordSetBuilder } from "./record-set/build/sim-cfn-r53-record-set-builder.js";
2
+ import { SimCfnRoute53RecordSetHostedZoneResolver } from "./record-set/resolve/sim-cfn-r53-rec-set-zone-resolver.js";
3
+ import { assertDefined } from "../../../util/type-guard/defined.js";
4
+ /**
5
+ * Deletes the simulated Route53 resources a CloudFormation Stack created.
6
+ *
7
+ * A record set has no delete command of its own. Route53 only takes changes, so
8
+ * removing one is a ChangeResourceRecordSets carrying a DELETE change built
9
+ * from the same template properties that created it.
10
+ *
11
+ * The Hosted Zone goes last, and only works because it does: DeleteHostedZone
12
+ * refuses a zone that still holds records, and the record set Resources naming
13
+ * the zone have already been taken off it by then.
14
+ */
15
+ export class SimCfnRoute53ResourceDeleter {
16
+ route53;
17
+ hostedZoneResolver;
18
+ constructor(properties) {
19
+ this.route53 = properties.route53;
20
+ this.hostedZoneResolver = new SimCfnRoute53RecordSetHostedZoneResolver({
21
+ route53: this.route53,
22
+ });
23
+ }
24
+ /**
25
+ * Delete a simulated Route53 resource created from a CloudFormation Resource.
26
+ */
27
+ async delete(resourceTypeName, resource, properties) {
28
+ switch (resourceTypeName) {
29
+ case "HostedZone": {
30
+ await this.deleteHostedZone(resource);
31
+ return;
32
+ }
33
+ case "RecordSet": {
34
+ await this.deleteRecordSet(resource, properties);
35
+ return;
36
+ }
37
+ default: {
38
+ throw new Error(`Unsupported sim Route53 CloudFormation Resource ${resourceTypeName} deletion`);
39
+ }
40
+ }
41
+ }
42
+ async deleteHostedZone(resource) {
43
+ const hostedZone = resource.simResource;
44
+ assertDefined(hostedZone, `sim Route53 Hosted Zone for CloudFormation Resource ${resource.logicalId}`);
45
+ await this.route53.deleteHostedZone({ input: { Id: hostedZone.id } });
46
+ }
47
+ async deleteRecordSet(resource, properties) {
48
+ const hostedZoneId = this.hostedZoneResolver.hostedZoneId(resource, properties);
49
+ const recordSet = new SimCfnRoute53RecordSetBuilder(resource, properties).build();
50
+ await this.route53.changeResourceRecordSets({
51
+ input: {
52
+ HostedZoneId: hostedZoneId,
53
+ ChangeBatch: {
54
+ Changes: [{ Action: "DELETE", ResourceRecordSet: recordSet }],
55
+ },
56
+ },
57
+ });
58
+ await this.route53.hostedZones
59
+ .get(hostedZoneId)
60
+ ?.waitForSynchronizationComplete();
61
+ }
62
+ }
63
+ //# sourceMappingURL=sim-cfn-route53-resource-deleter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-route53-resource-deleter.js","sourceRoot":"","sources":["../../../../src/service/route53/cfn/sim-cfn-route53-resource-deleter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,6BAA6B,EAAE,MAAM,sDAAsD,CAAC;AACrG,OAAO,EAAE,wCAAwC,EAAE,MAAM,2DAA2D,CAAC;AACrH,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAMpE;;;;;;;;;;GAUG;AACH,MAAM,OAAO,4BAA4B;IACtB,OAAO,CAAa;IACpB,kBAAkB,CAA2C;IAE9E,YAAY,UAAkD;QAC5D,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC,kBAAkB,GAAG,IAAI,wCAAwC,CAAC;YACrE,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,gBAAwB,EACxB,QAAwB,EACxB,UAAqC;QAErC,QAAQ,gBAAgB,EAAE,CAAC;YACzB,KAAK,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBACtC,OAAO;YACT,CAAC;YACD,KAAK,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACjD,OAAO;YACT,CAAC;YACD,SAAS,CAAC;gBACR,MAAM,IAAI,KAAK,CACb,mDAAmD,gBAAgB,WAAW,CAC/E,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,QAAwB;QACrD,MAAM,UAAU,GAAG,QAAQ,CAAC,WAA+C,CAAC;QAC5E,aAAa,CACX,UAAU,EACV,uDAAuD,QAAQ,CAAC,SAAS,EAAE,CAC5E,CAAC;QAEF,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,QAAwB,EACxB,UAAqC;QAErC,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CACvD,QAAQ,EACR,UAAU,CACX,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,6BAA6B,CACjD,QAAQ,EACR,UAAU,CACX,CAAC,KAAK,EAAE,CAAC;QAEV,MAAM,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC;YAC1C,KAAK,EAAE;gBACL,YAAY,EAAE,YAAY;gBAC1B,WAAW,EAAE;oBACX,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC;iBAC9D;aACF;SACF,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW;aAC3B,GAAG,CAAC,YAAY,CAAC;YAClB,EAAE,8BAA8B,EAAE,CAAC;IACvC,CAAC;CACF"}