@kensio/yulin 1.19.1 → 1.19.3

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 (638) hide show
  1. package/README.md +12 -0
  2. package/dist/serve/http/local-server/sim-aws-local-server.d.ts +31 -0
  3. package/dist/serve/http/local-server/sim-aws-local-server.d.ts.map +1 -1
  4. package/dist/serve/http/local-server/sim-aws-local-server.js +15 -1
  5. package/dist/serve/http/local-server/sim-aws-local-server.js.map +1 -1
  6. package/dist/serve/index.d.ts +1 -0
  7. package/dist/serve/index.d.ts.map +1 -1
  8. package/dist/serve/index.js.map +1 -1
  9. package/dist/serve/message/sim-local-message-logging.d.ts +39 -0
  10. package/dist/serve/message/sim-local-message-logging.d.ts.map +1 -0
  11. package/dist/serve/message/sim-local-message-logging.js +45 -0
  12. package/dist/serve/message/sim-local-message-logging.js.map +1 -0
  13. package/dist/serve/message/sim-message-log-console.d.ts +43 -0
  14. package/dist/serve/message/sim-message-log-console.d.ts.map +1 -0
  15. package/dist/serve/message/sim-message-log-console.js +71 -0
  16. package/dist/serve/message/sim-message-log-console.js.map +1 -0
  17. package/dist/serve/message/sim-message-logging.d.ts +42 -0
  18. package/dist/serve/message/sim-message-logging.d.ts.map +1 -0
  19. package/dist/serve/message/sim-message-logging.js +31 -0
  20. package/dist/serve/message/sim-message-logging.js.map +1 -0
  21. package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts +3 -0
  22. package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts.map +1 -1
  23. package/dist/service/aws/factory/sim-aws-account-region-service-builder.js +12 -1
  24. package/dist/service/aws/factory/sim-aws-account-region-service-builder.js.map +1 -1
  25. package/dist/service/aws/factory/sim-aws-service-factory.d.ts +9 -0
  26. package/dist/service/aws/factory/sim-aws-service-factory.d.ts.map +1 -1
  27. package/dist/service/aws/factory/sim-aws-service-factory.js +10 -0
  28. package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
  29. package/dist/service/aws/message/sim-aws-logged-message.d.ts +46 -0
  30. package/dist/service/aws/message/sim-aws-logged-message.d.ts.map +1 -0
  31. package/dist/service/aws/message/sim-aws-logged-message.js +2 -0
  32. package/dist/service/aws/message/sim-aws-logged-message.js.map +1 -0
  33. package/dist/service/aws/message/sim-aws-message-log.d.ts +40 -0
  34. package/dist/service/aws/message/sim-aws-message-log.d.ts.map +1 -0
  35. package/dist/service/aws/message/sim-aws-message-log.js +40 -0
  36. package/dist/service/aws/message/sim-aws-message-log.js.map +1 -0
  37. package/dist/service/cloudformation/cdk/s3/bucket-notifications/property/sim-cdk-bucket-notification-properties.d.ts +4 -3
  38. package/dist/service/cloudformation/cdk/s3/bucket-notifications/property/sim-cdk-bucket-notification-properties.d.ts.map +1 -1
  39. package/dist/service/cloudformation/cdk/s3/bucket-notifications/property/sim-cdk-bucket-notification-properties.js +4 -3
  40. package/dist/service/cloudformation/cdk/s3/bucket-notifications/property/sim-cdk-bucket-notification-properties.js.map +1 -1
  41. package/dist/service/cloudformation/cdk/s3/bucket-notifications/sim-cdk-bucket-notifications.d.ts +5 -0
  42. package/dist/service/cloudformation/cdk/s3/bucket-notifications/sim-cdk-bucket-notifications.d.ts.map +1 -1
  43. package/dist/service/cloudformation/cdk/s3/bucket-notifications/sim-cdk-bucket-notifications.js +5 -0
  44. package/dist/service/cloudformation/cdk/s3/bucket-notifications/sim-cdk-bucket-notifications.js.map +1 -1
  45. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.d.ts +2 -2
  46. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.d.ts.map +1 -1
  47. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.js.map +1 -1
  48. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.d.ts +3 -3
  49. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.d.ts.map +1 -1
  50. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.js.map +1 -1
  51. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts +5 -4
  52. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts.map +1 -1
  53. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.js.map +1 -1
  54. package/dist/service/cloudformation/index.d.ts +7 -0
  55. package/dist/service/cloudformation/index.d.ts.map +1 -1
  56. package/dist/service/cloudformation/resource/cfn/ses/sim-ses-cfn-value-adapter.d.ts.map +1 -1
  57. package/dist/service/cloudformation/resource/cfn/ses/sim-ses-cfn-value-adapter.js +8 -0
  58. package/dist/service/cloudformation/resource/cfn/ses/sim-ses-cfn-value-adapter.js.map +1 -1
  59. package/dist/service/cloudformation/resource/cfn/ses/sim-ses-configuration-set-cfn.d.ts +30 -0
  60. package/dist/service/cloudformation/resource/cfn/ses/sim-ses-configuration-set-cfn.d.ts.map +1 -0
  61. package/dist/service/cloudformation/resource/cfn/ses/sim-ses-configuration-set-cfn.js +29 -0
  62. package/dist/service/cloudformation/resource/cfn/ses/sim-ses-configuration-set-cfn.js.map +1 -0
  63. package/dist/service/cloudformation/resource/cfn/ses/sim-ses-identity-cfn.js +1 -1
  64. package/dist/service/cloudformation/resource/cfn/ses/sim-ses-identity-cfn.js.map +1 -1
  65. package/dist/service/cloudformation/resource/sim-cfn-deployed-resource.type.d.ts +59 -0
  66. package/dist/service/cloudformation/resource/sim-cfn-deployed-resource.type.d.ts.map +1 -0
  67. package/dist/service/cloudformation/resource/sim-cfn-deployed-resource.type.js +2 -0
  68. package/dist/service/cloudformation/resource/sim-cfn-deployed-resource.type.js.map +1 -0
  69. package/dist/service/cloudformation/sim-cloudformation.d.ts +8 -9
  70. package/dist/service/cloudformation/sim-cloudformation.d.ts.map +1 -1
  71. package/dist/service/cloudformation/sim-cloudformation.js +1 -3
  72. package/dist/service/cloudformation/sim-cloudformation.js.map +1 -1
  73. package/dist/service/cloudformation/stack/sim-cfn-deployed-stack.type.d.ts +68 -0
  74. package/dist/service/cloudformation/stack/sim-cfn-deployed-stack.type.d.ts.map +1 -0
  75. package/dist/service/cloudformation/stack/sim-cfn-deployed-stack.type.js +2 -0
  76. package/dist/service/cloudformation/stack/sim-cfn-deployed-stack.type.js.map +1 -0
  77. package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts +2 -1
  78. package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts.map +1 -1
  79. package/dist/service/cloudformation/stack/sim-cfn-stack.fixture.d.ts +21 -0
  80. package/dist/service/cloudformation/stack/sim-cfn-stack.fixture.d.ts.map +1 -0
  81. package/dist/service/cloudformation/stack/sim-cfn-stack.fixture.js +21 -0
  82. package/dist/service/cloudformation/stack/sim-cfn-stack.fixture.js.map +1 -0
  83. package/dist/service/cloudformation/stack/sim-cfn-stack.js.map +1 -1
  84. package/dist/service/cognito/cfn/client/sim-cfn-cognito-client-properties.d.ts.map +1 -1
  85. package/dist/service/cognito/cfn/client/sim-cfn-cognito-client-properties.js +2 -0
  86. package/dist/service/cognito/cfn/client/sim-cfn-cognito-client-properties.js.map +1 -1
  87. package/dist/service/cognito/cfn/sim-cfn-cognito-property-parser.d.ts +7 -0
  88. package/dist/service/cognito/cfn/sim-cfn-cognito-property-parser.d.ts.map +1 -1
  89. package/dist/service/cognito/cfn/sim-cfn-cognito-property-parser.js +14 -0
  90. package/dist/service/cognito/cfn/sim-cfn-cognito-property-parser.js.map +1 -1
  91. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-properties.d.ts.map +1 -1
  92. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-properties.js +10 -0
  93. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-properties.js.map +1 -1
  94. package/dist/service/cognito/command/auth/sim-cognito-available-challenges.d.ts.map +1 -1
  95. package/dist/service/cognito/command/auth/sim-cognito-available-challenges.js +7 -6
  96. package/dist/service/cognito/command/auth/sim-cognito-available-challenges.js.map +1 -1
  97. package/dist/service/cognito/command/client/sim-cognito-unsimulated-client-options.d.ts +20 -0
  98. package/dist/service/cognito/command/client/sim-cognito-unsimulated-client-options.d.ts.map +1 -1
  99. package/dist/service/cognito/command/client/sim-cognito-unsimulated-client-options.js +24 -4
  100. package/dist/service/cognito/command/client/sim-cognito-unsimulated-client-options.js.map +1 -1
  101. package/dist/service/cognito/command/sim-cognito-commands.d.ts +4 -0
  102. package/dist/service/cognito/command/sim-cognito-commands.d.ts.map +1 -1
  103. package/dist/service/cognito/command/sim-cognito-commands.js +8 -2
  104. package/dist/service/cognito/command/sim-cognito-commands.js.map +1 -1
  105. package/dist/service/cognito/command/sim-cognito-unsimulated-input.d.ts +9 -0
  106. package/dist/service/cognito/command/sim-cognito-unsimulated-input.d.ts.map +1 -1
  107. package/dist/service/cognito/command/sim-cognito-unsimulated-input.js +13 -3
  108. package/dist/service/cognito/command/sim-cognito-unsimulated-input.js.map +1 -1
  109. package/dist/service/cognito/command/user/sim-cognito-user-mfa-commands.d.ts.map +1 -1
  110. package/dist/service/cognito/command/user/sim-cognito-user-mfa-commands.js +2 -1
  111. package/dist/service/cognito/command/user/sim-cognito-user-mfa-commands.js.map +1 -1
  112. package/dist/service/cognito/command/user/user-mfa.command.d.ts +4 -3
  113. package/dist/service/cognito/command/user/user-mfa.command.d.ts.map +1 -1
  114. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-messaging.d.ts +22 -8
  115. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-messaging.d.ts.map +1 -1
  116. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-messaging.js +24 -11
  117. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-messaging.js.map +1 -1
  118. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-mfa-commands.d.ts +3 -3
  119. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-mfa-commands.d.ts.map +1 -1
  120. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-mfa-commands.js +5 -4
  121. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-mfa-commands.js.map +1 -1
  122. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-view.d.ts +6 -0
  123. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-view.d.ts.map +1 -1
  124. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-view.js +7 -0
  125. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-view.js.map +1 -1
  126. package/dist/service/cognito/command/user-pool/user-pool-mfa.command.d.ts +7 -6
  127. package/dist/service/cognito/command/user-pool/user-pool-mfa.command.d.ts.map +1 -1
  128. package/dist/service/cognito/command/user-pool/user-pool.command.d.ts +4 -2
  129. package/dist/service/cognito/command/user-pool/user-pool.command.d.ts.map +1 -1
  130. package/dist/service/cognito/error/sim-cognito.error.d.ts +23 -0
  131. package/dist/service/cognito/error/sim-cognito.error.d.ts.map +1 -1
  132. package/dist/service/cognito/error/sim-cognito.error.js +27 -0
  133. package/dist/service/cognito/error/sim-cognito.error.js.map +1 -1
  134. package/dist/service/cognito/index.d.ts +4 -0
  135. package/dist/service/cognito/index.d.ts.map +1 -1
  136. package/dist/service/cognito/index.js +4 -0
  137. package/dist/service/cognito/index.js.map +1 -1
  138. package/dist/service/cognito/sim-cognito-identity-provider.d.ts +14 -0
  139. package/dist/service/cognito/sim-cognito-identity-provider.d.ts.map +1 -1
  140. package/dist/service/cognito/sim-cognito-identity-provider.js +5 -1
  141. package/dist/service/cognito/sim-cognito-identity-provider.js.map +1 -1
  142. package/dist/service/cognito/user-pool/message/sim-aws-cognito-email-senders.d.ts +42 -0
  143. package/dist/service/cognito/user-pool/message/sim-aws-cognito-email-senders.d.ts.map +1 -0
  144. package/dist/service/cognito/user-pool/message/sim-aws-cognito-email-senders.js +84 -0
  145. package/dist/service/cognito/user-pool/message/sim-aws-cognito-email-senders.js.map +1 -0
  146. package/dist/service/cognito/user-pool/message/sim-cognito-email-configuration-reader.d.ts +31 -0
  147. package/dist/service/cognito/user-pool/message/sim-cognito-email-configuration-reader.d.ts.map +1 -0
  148. package/dist/service/cognito/user-pool/message/sim-cognito-email-configuration-reader.js +72 -0
  149. package/dist/service/cognito/user-pool/message/sim-cognito-email-configuration-reader.js.map +1 -0
  150. package/dist/service/cognito/user-pool/message/sim-cognito-email-configuration.d.ts +85 -0
  151. package/dist/service/cognito/user-pool/message/sim-cognito-email-configuration.d.ts.map +1 -0
  152. package/dist/service/cognito/user-pool/message/sim-cognito-email-configuration.js +117 -0
  153. package/dist/service/cognito/user-pool/message/sim-cognito-email-configuration.js.map +1 -0
  154. package/dist/service/cognito/user-pool/message/sim-cognito-email-senders.d.ts +73 -0
  155. package/dist/service/cognito/user-pool/message/sim-cognito-email-senders.d.ts.map +1 -0
  156. package/dist/service/cognito/user-pool/message/sim-cognito-email-senders.js +23 -0
  157. package/dist/service/cognito/user-pool/message/sim-cognito-email-senders.js.map +1 -0
  158. package/dist/service/cognito/user-pool/message/sim-cognito-email-source-arn.d.ts +39 -0
  159. package/dist/service/cognito/user-pool/message/sim-cognito-email-source-arn.d.ts.map +1 -0
  160. package/dist/service/cognito/user-pool/message/sim-cognito-email-source-arn.js +33 -0
  161. package/dist/service/cognito/user-pool/message/sim-cognito-email-source-arn.js.map +1 -0
  162. package/dist/service/cognito/user-pool/message/sim-cognito-pool-email-delivery.d.ts +41 -0
  163. package/dist/service/cognito/user-pool/message/sim-cognito-pool-email-delivery.d.ts.map +1 -0
  164. package/dist/service/cognito/user-pool/message/sim-cognito-pool-email-delivery.js +66 -0
  165. package/dist/service/cognito/user-pool/message/sim-cognito-pool-email-delivery.js.map +1 -0
  166. package/dist/service/cognito/user-pool/message/sim-cognito-pool-messenger.d.ts +19 -4
  167. package/dist/service/cognito/user-pool/message/sim-cognito-pool-messenger.d.ts.map +1 -1
  168. package/dist/service/cognito/user-pool/message/sim-cognito-pool-messenger.js +30 -8
  169. package/dist/service/cognito/user-pool/message/sim-cognito-pool-messenger.js.map +1 -1
  170. package/dist/service/cognito/user-pool/message/sim-cognito-sent-message.d.ts +9 -3
  171. package/dist/service/cognito/user-pool/message/sim-cognito-sent-message.d.ts.map +1 -1
  172. package/dist/service/cognito/user-pool/message/sim-cognito-sent-message.js +9 -3
  173. package/dist/service/cognito/user-pool/message/sim-cognito-sent-message.js.map +1 -1
  174. package/dist/service/cognito/user-pool/mfa/sim-cognito-user-pool-mfa.d.ts +2 -3
  175. package/dist/service/cognito/user-pool/mfa/sim-cognito-user-pool-mfa.d.ts.map +1 -1
  176. package/dist/service/cognito/user-pool/mfa/sim-cognito-user-pool-mfa.js.map +1 -1
  177. package/dist/service/cognito/user-pool/sim-cognito-user-pool-arn.d.ts +4 -2
  178. package/dist/service/cognito/user-pool/sim-cognito-user-pool-arn.d.ts.map +1 -1
  179. package/dist/service/cognito/user-pool/sim-cognito-user-pool-arn.js +2 -1
  180. package/dist/service/cognito/user-pool/sim-cognito-user-pool-arn.js.map +1 -1
  181. package/dist/service/cognito/user-pool/sim-cognito-user-pool-settings.d.ts +13 -0
  182. package/dist/service/cognito/user-pool/sim-cognito-user-pool-settings.d.ts.map +1 -1
  183. package/dist/service/cognito/user-pool/sim-cognito-user-pool-settings.js +7 -0
  184. package/dist/service/cognito/user-pool/sim-cognito-user-pool-settings.js.map +1 -1
  185. package/dist/service/elbv2/cfn/sim-cfn-elbv2.fixture.d.ts +2 -2
  186. package/dist/service/elbv2/cfn/sim-cfn-elbv2.fixture.d.ts.map +1 -1
  187. package/dist/service/elbv2/cfn/sim-cfn-elbv2.fixture.js.map +1 -1
  188. package/dist/service/iam/index.d.ts +1 -0
  189. package/dist/service/iam/index.d.ts.map +1 -1
  190. package/dist/service/iam/index.js.map +1 -1
  191. package/dist/service/ses/account/sim-ses-account.d.ts +22 -0
  192. package/dist/service/ses/account/sim-ses-account.d.ts.map +1 -1
  193. package/dist/service/ses/account/sim-ses-account.js +31 -0
  194. package/dist/service/ses/account/sim-ses-account.js.map +1 -1
  195. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-creator.d.ts +30 -0
  196. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-creator.d.ts.map +1 -0
  197. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-creator.js +47 -0
  198. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-creator.js.map +1 -0
  199. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-option-groups.d.ts +23 -0
  200. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-option-groups.d.ts.map +1 -0
  201. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-option-groups.js +52 -0
  202. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-option-groups.js.map +1 -0
  203. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-properties.d.ts +39 -0
  204. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-properties.d.ts.map +1 -0
  205. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-properties.js +71 -0
  206. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-properties.js.map +1 -0
  207. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-unsimulated-properties.d.ts +17 -0
  208. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-unsimulated-properties.d.ts.map +1 -0
  209. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-unsimulated-properties.js +34 -0
  210. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-unsimulated-properties.js.map +1 -0
  211. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-creator.d.ts +5 -0
  212. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-creator.d.ts.map +1 -1
  213. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-creator.js +7 -0
  214. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-creator.js.map +1 -1
  215. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-properties.d.ts +13 -8
  216. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-properties.d.ts.map +1 -1
  217. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-properties.js +29 -14
  218. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-properties.js.map +1 -1
  219. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-settings.d.ts +18 -0
  220. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-settings.d.ts.map +1 -0
  221. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-settings.js +77 -0
  222. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-settings.js.map +1 -0
  223. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-values.d.ts +25 -0
  224. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-values.d.ts.map +1 -0
  225. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-values.js +49 -0
  226. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-values.js.map +1 -0
  227. package/dist/service/ses/cfn/sim-cfn-ses-property-scalars.d.ts +25 -0
  228. package/dist/service/ses/cfn/sim-cfn-ses-property-scalars.d.ts.map +1 -0
  229. package/dist/service/ses/cfn/sim-cfn-ses-property-scalars.js +69 -0
  230. package/dist/service/ses/cfn/sim-cfn-ses-property-scalars.js.map +1 -0
  231. package/dist/service/ses/cfn/sim-cfn-ses-resource-types.d.ts +2 -0
  232. package/dist/service/ses/cfn/sim-cfn-ses-resource-types.d.ts.map +1 -1
  233. package/dist/service/ses/cfn/sim-cfn-ses-resource-types.js +2 -0
  234. package/dist/service/ses/cfn/sim-cfn-ses-resource-types.js.map +1 -1
  235. package/dist/service/ses/cfn/sim-ses-cfn-resource-factory.d.ts +3 -2
  236. package/dist/service/ses/cfn/sim-ses-cfn-resource-factory.d.ts.map +1 -1
  237. package/dist/service/ses/cfn/sim-ses-cfn-resource-factory.js +43 -40
  238. package/dist/service/ses/cfn/sim-ses-cfn-resource-factory.js.map +1 -1
  239. package/dist/service/ses/command/account/account.command.d.ts +22 -0
  240. package/dist/service/ses/command/account/account.command.d.ts.map +1 -1
  241. package/dist/service/ses/command/account/sim-ses-account-commands.d.ts +12 -4
  242. package/dist/service/ses/command/account/sim-ses-account-commands.d.ts.map +1 -1
  243. package/dist/service/ses/command/account/sim-ses-account-commands.js +16 -3
  244. package/dist/service/ses/command/account/sim-ses-account-commands.js.map +1 -1
  245. package/dist/service/ses/command/account/sim-ses-account-report.d.ts +3 -0
  246. package/dist/service/ses/command/account/sim-ses-account-report.d.ts.map +1 -1
  247. package/dist/service/ses/command/account/sim-ses-account-report.js +4 -0
  248. package/dist/service/ses/command/account/sim-ses-account-report.js.map +1 -1
  249. package/dist/service/ses/command/authorize/sim-ses-authorizer.d.ts +8 -0
  250. package/dist/service/ses/command/authorize/sim-ses-authorizer.d.ts.map +1 -1
  251. package/dist/service/ses/command/authorize/sim-ses-authorizer.js +11 -1
  252. package/dist/service/ses/command/authorize/sim-ses-authorizer.js.map +1 -1
  253. package/dist/service/ses/command/configuration-set/configuration-set.command.d.ts +100 -0
  254. package/dist/service/ses/command/configuration-set/configuration-set.command.d.ts.map +1 -0
  255. package/dist/service/ses/command/configuration-set/configuration-set.command.js +2 -0
  256. package/dist/service/ses/command/configuration-set/configuration-set.command.js.map +1 -0
  257. package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-commands.d.ts +55 -0
  258. package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-commands.d.ts.map +1 -0
  259. package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-commands.js +105 -0
  260. package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-commands.js.map +1 -0
  261. package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-options.d.ts +11 -0
  262. package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-options.d.ts.map +1 -0
  263. package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-options.js +83 -0
  264. package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-options.js.map +1 -0
  265. package/dist/service/ses/command/configuration-set/sim-ses-unsimulated-configuration-set-input.d.ts +12 -0
  266. package/dist/service/ses/command/configuration-set/sim-ses-unsimulated-configuration-set-input.d.ts.map +1 -0
  267. package/dist/service/ses/command/configuration-set/sim-ses-unsimulated-configuration-set-input.js +27 -0
  268. package/dist/service/ses/command/configuration-set/sim-ses-unsimulated-configuration-set-input.js.map +1 -0
  269. package/dist/service/ses/command/identity/identity.command.d.ts +55 -2
  270. package/dist/service/ses/command/identity/identity.command.d.ts.map +1 -1
  271. package/dist/service/ses/command/identity/sim-ses-identity-attributes.d.ts +29 -0
  272. package/dist/service/ses/command/identity/sim-ses-identity-attributes.d.ts.map +1 -0
  273. package/dist/service/ses/command/identity/sim-ses-identity-attributes.js +60 -0
  274. package/dist/service/ses/command/identity/sim-ses-identity-attributes.js.map +1 -0
  275. package/dist/service/ses/command/identity/sim-ses-identity-commands.d.ts +6 -1
  276. package/dist/service/ses/command/identity/sim-ses-identity-commands.d.ts.map +1 -1
  277. package/dist/service/ses/command/identity/sim-ses-identity-commands.js +12 -12
  278. package/dist/service/ses/command/identity/sim-ses-identity-commands.js.map +1 -1
  279. package/dist/service/ses/command/identity/sim-ses-identity-input-settings.d.ts +16 -0
  280. package/dist/service/ses/command/identity/sim-ses-identity-input-settings.d.ts.map +1 -0
  281. package/dist/service/ses/command/identity/sim-ses-identity-input-settings.js +57 -0
  282. package/dist/service/ses/command/identity/sim-ses-identity-input-settings.js.map +1 -0
  283. package/dist/service/ses/command/send/sim-ses-send-email.d.ts +6 -0
  284. package/dist/service/ses/command/send/sim-ses-send-email.d.ts.map +1 -1
  285. package/dist/service/ses/command/send/sim-ses-send-email.js +7 -0
  286. package/dist/service/ses/command/send/sim-ses-send-email.js.map +1 -1
  287. package/dist/service/ses/command/send/sim-ses-service-send.d.ts +68 -0
  288. package/dist/service/ses/command/send/sim-ses-service-send.d.ts.map +1 -0
  289. package/dist/service/ses/command/send/sim-ses-service-send.js +69 -0
  290. package/dist/service/ses/command/send/sim-ses-service-send.js.map +1 -0
  291. package/dist/service/ses/command/send/sim-ses-suppression-check.d.ts +31 -0
  292. package/dist/service/ses/command/send/sim-ses-suppression-check.d.ts.map +1 -0
  293. package/dist/service/ses/command/send/sim-ses-suppression-check.js +37 -0
  294. package/dist/service/ses/command/send/sim-ses-suppression-check.js.map +1 -0
  295. package/dist/service/ses/command/send/sim-ses-verified-identities.d.ts +8 -0
  296. package/dist/service/ses/command/send/sim-ses-verified-identities.d.ts.map +1 -1
  297. package/dist/service/ses/command/send/sim-ses-verified-identities.js +15 -2
  298. package/dist/service/ses/command/send/sim-ses-verified-identities.js.map +1 -1
  299. package/dist/service/ses/command/sim-ses-command.types.d.ts +4 -2
  300. package/dist/service/ses/command/sim-ses-command.types.d.ts.map +1 -1
  301. package/dist/service/ses/command/suppression/sim-ses-suppression-commands.d.ts +44 -0
  302. package/dist/service/ses/command/suppression/sim-ses-suppression-commands.d.ts.map +1 -0
  303. package/dist/service/ses/command/suppression/sim-ses-suppression-commands.js +79 -0
  304. package/dist/service/ses/command/suppression/sim-ses-suppression-commands.js.map +1 -0
  305. package/dist/service/ses/command/suppression/sim-ses-suppression-listing.d.ts +15 -0
  306. package/dist/service/ses/command/suppression/sim-ses-suppression-listing.d.ts.map +1 -0
  307. package/dist/service/ses/command/suppression/sim-ses-suppression-listing.js +29 -0
  308. package/dist/service/ses/command/suppression/sim-ses-suppression-listing.js.map +1 -0
  309. package/dist/service/ses/command/suppression/sim-ses-unsimulated-suppression-input.d.ts +9 -0
  310. package/dist/service/ses/command/suppression/sim-ses-unsimulated-suppression-input.d.ts.map +1 -0
  311. package/dist/service/ses/command/suppression/sim-ses-unsimulated-suppression-input.js +16 -0
  312. package/dist/service/ses/command/suppression/sim-ses-unsimulated-suppression-input.js.map +1 -0
  313. package/dist/service/ses/command/suppression/suppression.command.d.ts +90 -0
  314. package/dist/service/ses/command/suppression/suppression.command.d.ts.map +1 -0
  315. package/dist/service/ses/command/suppression/suppression.command.js +2 -0
  316. package/dist/service/ses/command/suppression/suppression.command.js.map +1 -0
  317. package/dist/service/ses/configuration-set/sim-ses-configuration-set-store.d.ts +44 -0
  318. package/dist/service/ses/configuration-set/sim-ses-configuration-set-store.d.ts.map +1 -0
  319. package/dist/service/ses/configuration-set/sim-ses-configuration-set-store.js +91 -0
  320. package/dist/service/ses/configuration-set/sim-ses-configuration-set-store.js.map +1 -0
  321. package/dist/service/ses/configuration-set/sim-ses-configuration-set.d.ts +75 -0
  322. package/dist/service/ses/configuration-set/sim-ses-configuration-set.d.ts.map +1 -0
  323. package/dist/service/ses/configuration-set/sim-ses-configuration-set.js +44 -0
  324. package/dist/service/ses/configuration-set/sim-ses-configuration-set.js.map +1 -0
  325. package/dist/service/ses/email/sim-ses-sent-email.d.ts +29 -0
  326. package/dist/service/ses/email/sim-ses-sent-email.d.ts.map +1 -1
  327. package/dist/service/ses/email/sim-ses-sent-email.js +21 -0
  328. package/dist/service/ses/email/sim-ses-sent-email.js.map +1 -1
  329. package/dist/service/ses/identity/sim-ses-dkim-tokens.d.ts.map +1 -0
  330. package/dist/service/ses/identity/sim-ses-dkim-tokens.js.map +1 -0
  331. package/dist/service/ses/identity/sim-ses-identity-name.d.ts +5 -0
  332. package/dist/service/ses/identity/sim-ses-identity-name.d.ts.map +1 -1
  333. package/dist/service/ses/identity/sim-ses-identity-name.js +5 -1
  334. package/dist/service/ses/identity/sim-ses-identity-name.js.map +1 -1
  335. package/dist/service/ses/identity/sim-ses-identity-settings.d.ts +64 -0
  336. package/dist/service/ses/identity/sim-ses-identity-settings.d.ts.map +1 -0
  337. package/dist/service/ses/identity/sim-ses-identity-settings.js +21 -0
  338. package/dist/service/ses/identity/sim-ses-identity-settings.js.map +1 -0
  339. package/dist/service/ses/identity/sim-ses-identity-store.d.ts +2 -1
  340. package/dist/service/ses/identity/sim-ses-identity-store.d.ts.map +1 -1
  341. package/dist/service/ses/identity/sim-ses-identity-store.js +2 -1
  342. package/dist/service/ses/identity/sim-ses-identity-store.js.map +1 -1
  343. package/dist/service/ses/identity/sim-ses-identity.d.ts +38 -0
  344. package/dist/service/ses/identity/sim-ses-identity.d.ts.map +1 -1
  345. package/dist/service/ses/identity/sim-ses-identity.js +54 -0
  346. package/dist/service/ses/identity/sim-ses-identity.js.map +1 -1
  347. package/dist/service/ses/index.d.ts +10 -3
  348. package/dist/service/ses/index.d.ts.map +1 -1
  349. package/dist/service/ses/index.js +7 -1
  350. package/dist/service/ses/index.js.map +1 -1
  351. package/dist/service/ses/sdk/sim-ses-sdk-command-router.d.ts.map +1 -1
  352. package/dist/service/ses/sdk/sim-ses-sdk-command-router.js +36 -0
  353. package/dist/service/ses/sdk/sim-ses-sdk-command-router.js.map +1 -1
  354. package/dist/service/ses/sim-ses-arn.d.ts +7 -0
  355. package/dist/service/ses/sim-ses-arn.d.ts.map +1 -1
  356. package/dist/service/ses/sim-ses-arn.js +9 -0
  357. package/dist/service/ses/sim-ses-arn.js.map +1 -1
  358. package/dist/service/ses/sim-ses-commands.d.ts +14 -0
  359. package/dist/service/ses/sim-ses-commands.d.ts.map +1 -1
  360. package/dist/service/ses/sim-ses-commands.js +47 -5
  361. package/dist/service/ses/sim-ses-commands.js.map +1 -1
  362. package/dist/service/ses/sim-ses-configuration-sets.d.ts +47 -0
  363. package/dist/service/ses/sim-ses-configuration-sets.d.ts.map +1 -0
  364. package/dist/service/ses/sim-ses-configuration-sets.js +60 -0
  365. package/dist/service/ses/sim-ses-configuration-sets.js.map +1 -0
  366. package/dist/service/ses/sim-ses-suppression.d.ts +52 -0
  367. package/dist/service/ses/sim-ses-suppression.d.ts.map +1 -0
  368. package/dist/service/ses/sim-ses-suppression.js +63 -0
  369. package/dist/service/ses/sim-ses-suppression.js.map +1 -0
  370. package/dist/service/ses/sim-ses-v2.d.ts +14 -1
  371. package/dist/service/ses/sim-ses-v2.d.ts.map +1 -1
  372. package/dist/service/ses/sim-ses-v2.js +48 -35
  373. package/dist/service/ses/sim-ses-v2.js.map +1 -1
  374. package/dist/service/ses/suppression/sim-ses-suppressed-destination.d.ts +24 -0
  375. package/dist/service/ses/suppression/sim-ses-suppressed-destination.d.ts.map +1 -0
  376. package/dist/service/ses/suppression/sim-ses-suppressed-destination.js +21 -0
  377. package/dist/service/ses/suppression/sim-ses-suppressed-destination.js.map +1 -0
  378. package/dist/service/ses/suppression/sim-ses-suppression-address.d.ts +9 -0
  379. package/dist/service/ses/suppression/sim-ses-suppression-address.d.ts.map +1 -0
  380. package/dist/service/ses/suppression/sim-ses-suppression-address.js +21 -0
  381. package/dist/service/ses/suppression/sim-ses-suppression-address.js.map +1 -0
  382. package/dist/service/ses/suppression/sim-ses-suppression-list.d.ts +57 -0
  383. package/dist/service/ses/suppression/sim-ses-suppression-list.d.ts.map +1 -0
  384. package/dist/service/ses/suppression/sim-ses-suppression-list.js +82 -0
  385. package/dist/service/ses/suppression/sim-ses-suppression-list.js.map +1 -0
  386. package/dist/service/ses/suppression/sim-ses-suppression-reason.d.ts +20 -0
  387. package/dist/service/ses/suppression/sim-ses-suppression-reason.d.ts.map +1 -0
  388. package/dist/service/ses/suppression/sim-ses-suppression-reason.js +24 -0
  389. package/dist/service/ses/suppression/sim-ses-suppression-reason.js.map +1 -0
  390. package/dist/service/sns/command/sim-sns-commands.d.ts +2 -0
  391. package/dist/service/sns/command/sim-sns-commands.d.ts.map +1 -1
  392. package/dist/service/sns/command/sim-sns-commands.js +4 -1
  393. package/dist/service/sns/command/sim-sns-commands.js.map +1 -1
  394. package/dist/service/sns/sim-sns.d.ts +7 -0
  395. package/dist/service/sns/sim-sns.d.ts.map +1 -1
  396. package/dist/service/sns/sim-sns.js +3 -1
  397. package/dist/service/sns/sim-sns.js.map +1 -1
  398. package/dist/service/sns/sms/sim-sns-sent-sms-store.d.ts +13 -0
  399. package/dist/service/sns/sms/sim-sns-sent-sms-store.d.ts.map +1 -1
  400. package/dist/service/sns/sms/sim-sns-sent-sms-store.js +15 -0
  401. package/dist/service/sns/sms/sim-sns-sent-sms-store.js.map +1 -1
  402. package/dist/terraform/index.d.ts +6 -0
  403. package/dist/terraform/index.d.ts.map +1 -0
  404. package/dist/terraform/index.js +2 -0
  405. package/dist/terraform/index.js.map +1 -0
  406. package/dist/terraform/map/sim-tf-map-cloudwatch-dimensions.d.ts +20 -0
  407. package/dist/terraform/map/sim-tf-map-cloudwatch-dimensions.d.ts.map +1 -0
  408. package/dist/terraform/map/sim-tf-map-cloudwatch-dimensions.js +36 -0
  409. package/dist/terraform/map/sim-tf-map-cloudwatch-dimensions.js.map +1 -0
  410. package/dist/terraform/map/sim-tf-map-cloudwatch.d.ts +12 -0
  411. package/dist/terraform/map/sim-tf-map-cloudwatch.d.ts.map +1 -0
  412. package/dist/terraform/map/sim-tf-map-cloudwatch.js +69 -0
  413. package/dist/terraform/map/sim-tf-map-cloudwatch.js.map +1 -0
  414. package/dist/terraform/map/sim-tf-map-cognito-client.d.ts +15 -0
  415. package/dist/terraform/map/sim-tf-map-cognito-client.d.ts.map +1 -0
  416. package/dist/terraform/map/sim-tf-map-cognito-client.js +37 -0
  417. package/dist/terraform/map/sim-tf-map-cognito-client.js.map +1 -0
  418. package/dist/terraform/map/sim-tf-map-cognito-pool.d.ts +26 -0
  419. package/dist/terraform/map/sim-tf-map-cognito-pool.d.ts.map +1 -0
  420. package/dist/terraform/map/sim-tf-map-cognito-pool.js +70 -0
  421. package/dist/terraform/map/sim-tf-map-cognito-pool.js.map +1 -0
  422. package/dist/terraform/map/sim-tf-map-cognito.d.ts +13 -0
  423. package/dist/terraform/map/sim-tf-map-cognito.d.ts.map +1 -0
  424. package/dist/terraform/map/sim-tf-map-cognito.js +39 -0
  425. package/dist/terraform/map/sim-tf-map-cognito.js.map +1 -0
  426. package/dist/terraform/map/sim-tf-map-dynamodb-keys.d.ts +31 -0
  427. package/dist/terraform/map/sim-tf-map-dynamodb-keys.d.ts.map +1 -0
  428. package/dist/terraform/map/sim-tf-map-dynamodb-keys.js +71 -0
  429. package/dist/terraform/map/sim-tf-map-dynamodb-keys.js.map +1 -0
  430. package/dist/terraform/map/sim-tf-map-dynamodb.d.ts +5 -0
  431. package/dist/terraform/map/sim-tf-map-dynamodb.d.ts.map +1 -0
  432. package/dist/terraform/map/sim-tf-map-dynamodb.js +31 -0
  433. package/dist/terraform/map/sim-tf-map-dynamodb.js.map +1 -0
  434. package/dist/terraform/map/sim-tf-map-ecr.d.ts +12 -0
  435. package/dist/terraform/map/sim-tf-map-ecr.d.ts.map +1 -0
  436. package/dist/terraform/map/sim-tf-map-ecr.js +34 -0
  437. package/dist/terraform/map/sim-tf-map-ecr.js.map +1 -0
  438. package/dist/terraform/map/sim-tf-map-events.d.ts +24 -0
  439. package/dist/terraform/map/sim-tf-map-events.d.ts.map +1 -0
  440. package/dist/terraform/map/sim-tf-map-events.js +151 -0
  441. package/dist/terraform/map/sim-tf-map-events.js.map +1 -0
  442. package/dist/terraform/map/sim-tf-map-http-api-routes.d.ts +10 -0
  443. package/dist/terraform/map/sim-tf-map-http-api-routes.d.ts.map +1 -0
  444. package/dist/terraform/map/sim-tf-map-http-api-routes.js +48 -0
  445. package/dist/terraform/map/sim-tf-map-http-api-routes.js.map +1 -0
  446. package/dist/terraform/map/sim-tf-map-http-api.d.ts +7 -0
  447. package/dist/terraform/map/sim-tf-map-http-api.d.ts.map +1 -0
  448. package/dist/terraform/map/sim-tf-map-http-api.js +38 -0
  449. package/dist/terraform/map/sim-tf-map-http-api.js.map +1 -0
  450. package/dist/terraform/map/sim-tf-map-iam-policy.d.ts +32 -0
  451. package/dist/terraform/map/sim-tf-map-iam-policy.d.ts.map +1 -0
  452. package/dist/terraform/map/sim-tf-map-iam-policy.js +85 -0
  453. package/dist/terraform/map/sim-tf-map-iam-policy.js.map +1 -0
  454. package/dist/terraform/map/sim-tf-map-iam.d.ts +7 -0
  455. package/dist/terraform/map/sim-tf-map-iam.d.ts.map +1 -0
  456. package/dist/terraform/map/sim-tf-map-iam.js +37 -0
  457. package/dist/terraform/map/sim-tf-map-iam.js.map +1 -0
  458. package/dist/terraform/map/sim-tf-map-kms.d.ts +25 -0
  459. package/dist/terraform/map/sim-tf-map-kms.d.ts.map +1 -0
  460. package/dist/terraform/map/sim-tf-map-kms.js +75 -0
  461. package/dist/terraform/map/sim-tf-map-kms.js.map +1 -0
  462. package/dist/terraform/map/sim-tf-map-lambda-environment.d.ts +20 -0
  463. package/dist/terraform/map/sim-tf-map-lambda-environment.d.ts.map +1 -0
  464. package/dist/terraform/map/sim-tf-map-lambda-environment.js +52 -0
  465. package/dist/terraform/map/sim-tf-map-lambda-environment.js.map +1 -0
  466. package/dist/terraform/map/sim-tf-map-lambda.d.ts +19 -0
  467. package/dist/terraform/map/sim-tf-map-lambda.d.ts.map +1 -0
  468. package/dist/terraform/map/sim-tf-map-lambda.js +73 -0
  469. package/dist/terraform/map/sim-tf-map-lambda.js.map +1 -0
  470. package/dist/terraform/map/sim-tf-map-logs.d.ts +12 -0
  471. package/dist/terraform/map/sim-tf-map-logs.d.ts.map +1 -0
  472. package/dist/terraform/map/sim-tf-map-logs.js +22 -0
  473. package/dist/terraform/map/sim-tf-map-logs.js.map +1 -0
  474. package/dist/terraform/map/sim-tf-map-s3-folds.d.ts +9 -0
  475. package/dist/terraform/map/sim-tf-map-s3-folds.d.ts.map +1 -0
  476. package/dist/terraform/map/sim-tf-map-s3-folds.js +47 -0
  477. package/dist/terraform/map/sim-tf-map-s3-folds.js.map +1 -0
  478. package/dist/terraform/map/sim-tf-map-s3-lifecycle.d.ts +4 -0
  479. package/dist/terraform/map/sim-tf-map-s3-lifecycle.d.ts.map +1 -0
  480. package/dist/terraform/map/sim-tf-map-s3-lifecycle.js +92 -0
  481. package/dist/terraform/map/sim-tf-map-s3-lifecycle.js.map +1 -0
  482. package/dist/terraform/map/sim-tf-map-s3-notification-destinations.d.ts +5 -0
  483. package/dist/terraform/map/sim-tf-map-s3-notification-destinations.d.ts.map +1 -0
  484. package/dist/terraform/map/sim-tf-map-s3-notification-destinations.js +30 -0
  485. package/dist/terraform/map/sim-tf-map-s3-notification-destinations.js.map +1 -0
  486. package/dist/terraform/map/sim-tf-map-s3-notification-filter.d.ts +12 -0
  487. package/dist/terraform/map/sim-tf-map-s3-notification-filter.d.ts.map +1 -0
  488. package/dist/terraform/map/sim-tf-map-s3-notification-filter.js +21 -0
  489. package/dist/terraform/map/sim-tf-map-s3-notification-filter.js.map +1 -0
  490. package/dist/terraform/map/sim-tf-map-s3-notification.d.ts +50 -0
  491. package/dist/terraform/map/sim-tf-map-s3-notification.d.ts.map +1 -0
  492. package/dist/terraform/map/sim-tf-map-s3-notification.js +80 -0
  493. package/dist/terraform/map/sim-tf-map-s3-notification.js.map +1 -0
  494. package/dist/terraform/map/sim-tf-map-s3-rules.d.ts +7 -0
  495. package/dist/terraform/map/sim-tf-map-s3-rules.d.ts.map +1 -0
  496. package/dist/terraform/map/sim-tf-map-s3-rules.js +49 -0
  497. package/dist/terraform/map/sim-tf-map-s3-rules.js.map +1 -0
  498. package/dist/terraform/map/sim-tf-map-s3.d.ts +5 -0
  499. package/dist/terraform/map/sim-tf-map-s3.d.ts.map +1 -0
  500. package/dist/terraform/map/sim-tf-map-s3.js +18 -0
  501. package/dist/terraform/map/sim-tf-map-s3.js.map +1 -0
  502. package/dist/terraform/map/sim-tf-map-secretsmanager.d.ts +12 -0
  503. package/dist/terraform/map/sim-tf-map-secretsmanager.d.ts.map +1 -0
  504. package/dist/terraform/map/sim-tf-map-secretsmanager.js +24 -0
  505. package/dist/terraform/map/sim-tf-map-secretsmanager.js.map +1 -0
  506. package/dist/terraform/map/sim-tf-map-sns.d.ts +15 -0
  507. package/dist/terraform/map/sim-tf-map-sns.d.ts.map +1 -0
  508. package/dist/terraform/map/sim-tf-map-sns.js +40 -0
  509. package/dist/terraform/map/sim-tf-map-sns.js.map +1 -0
  510. package/dist/terraform/map/sim-tf-map-sqs-redrive.d.ts +32 -0
  511. package/dist/terraform/map/sim-tf-map-sqs-redrive.d.ts.map +1 -0
  512. package/dist/terraform/map/sim-tf-map-sqs-redrive.js +68 -0
  513. package/dist/terraform/map/sim-tf-map-sqs-redrive.js.map +1 -0
  514. package/dist/terraform/map/sim-tf-map-sqs.d.ts +11 -0
  515. package/dist/terraform/map/sim-tf-map-sqs.d.ts.map +1 -0
  516. package/dist/terraform/map/sim-tf-map-sqs.js +26 -0
  517. package/dist/terraform/map/sim-tf-map-sqs.js.map +1 -0
  518. package/dist/terraform/map/sim-tf-map-ssm.d.ts +13 -0
  519. package/dist/terraform/map/sim-tf-map-ssm.d.ts.map +1 -0
  520. package/dist/terraform/map/sim-tf-map-ssm.js +24 -0
  521. package/dist/terraform/map/sim-tf-map-ssm.js.map +1 -0
  522. package/dist/terraform/sim-tf-adapter.d.ts +80 -0
  523. package/dist/terraform/sim-tf-adapter.d.ts.map +1 -0
  524. package/dist/terraform/sim-tf-adapter.js +44 -0
  525. package/dist/terraform/sim-tf-adapter.js.map +1 -0
  526. package/dist/terraform/sim-tf-attribute-reads.d.ts +12 -0
  527. package/dist/terraform/sim-tf-attribute-reads.d.ts.map +1 -0
  528. package/dist/terraform/sim-tf-attribute-reads.js +60 -0
  529. package/dist/terraform/sim-tf-attribute-reads.js.map +1 -0
  530. package/dist/terraform/sim-tf-attributes.d.ts +69 -0
  531. package/dist/terraform/sim-tf-attributes.d.ts.map +1 -0
  532. package/dist/terraform/sim-tf-attributes.js +121 -0
  533. package/dist/terraform/sim-tf-attributes.js.map +1 -0
  534. package/dist/terraform/sim-tf-declare.d.ts +37 -0
  535. package/dist/terraform/sim-tf-declare.d.ts.map +1 -0
  536. package/dist/terraform/sim-tf-declare.js +83 -0
  537. package/dist/terraform/sim-tf-declare.js.map +1 -0
  538. package/dist/terraform/sim-tf-fold.d.ts +26 -0
  539. package/dist/terraform/sim-tf-fold.d.ts.map +1 -0
  540. package/dist/terraform/sim-tf-fold.js +72 -0
  541. package/dist/terraform/sim-tf-fold.js.map +1 -0
  542. package/dist/terraform/sim-tf-import.d.ts +31 -0
  543. package/dist/terraform/sim-tf-import.d.ts.map +1 -0
  544. package/dist/terraform/sim-tf-import.js +38 -0
  545. package/dist/terraform/sim-tf-import.js.map +1 -0
  546. package/dist/terraform/sim-tf-logical-id.d.ts +27 -0
  547. package/dist/terraform/sim-tf-logical-id.d.ts.map +1 -0
  548. package/dist/terraform/sim-tf-logical-id.js +83 -0
  549. package/dist/terraform/sim-tf-logical-id.js.map +1 -0
  550. package/dist/terraform/sim-tf-mapping.type.d.ts +73 -0
  551. package/dist/terraform/sim-tf-mapping.type.d.ts.map +1 -0
  552. package/dist/terraform/sim-tf-mapping.type.js +2 -0
  553. package/dist/terraform/sim-tf-mapping.type.js.map +1 -0
  554. package/dist/terraform/sim-tf-module-outputs.d.ts +11 -0
  555. package/dist/terraform/sim-tf-module-outputs.d.ts.map +1 -0
  556. package/dist/terraform/sim-tf-module-outputs.js +33 -0
  557. package/dist/terraform/sim-tf-module-outputs.js.map +1 -0
  558. package/dist/terraform/sim-tf-nested-attributes.d.ts +33 -0
  559. package/dist/terraform/sim-tf-nested-attributes.d.ts.map +1 -0
  560. package/dist/terraform/sim-tf-nested-attributes.js +97 -0
  561. package/dist/terraform/sim-tf-nested-attributes.js.map +1 -0
  562. package/dist/terraform/sim-tf-override.type.d.ts +36 -0
  563. package/dist/terraform/sim-tf-override.type.d.ts.map +1 -0
  564. package/dist/terraform/sim-tf-override.type.js +2 -0
  565. package/dist/terraform/sim-tf-override.type.js.map +1 -0
  566. package/dist/terraform/sim-tf-overrides.d.ts +21 -0
  567. package/dist/terraform/sim-tf-overrides.d.ts.map +1 -0
  568. package/dist/terraform/sim-tf-overrides.js +40 -0
  569. package/dist/terraform/sim-tf-overrides.js.map +1 -0
  570. package/dist/terraform/sim-tf-plan-file.d.ts +23 -0
  571. package/dist/terraform/sim-tf-plan-file.d.ts.map +1 -0
  572. package/dist/terraform/sim-tf-plan-file.js +58 -0
  573. package/dist/terraform/sim-tf-plan-file.js.map +1 -0
  574. package/dist/terraform/sim-tf-plan-resources.d.ts +18 -0
  575. package/dist/terraform/sim-tf-plan-resources.d.ts.map +1 -0
  576. package/dist/terraform/sim-tf-plan-resources.js +52 -0
  577. package/dist/terraform/sim-tf-plan-resources.js.map +1 -0
  578. package/dist/terraform/sim-tf-plan-sections.d.ts +31 -0
  579. package/dist/terraform/sim-tf-plan-sections.d.ts.map +1 -0
  580. package/dist/terraform/sim-tf-plan-sections.js +60 -0
  581. package/dist/terraform/sim-tf-plan-sections.js.map +1 -0
  582. package/dist/terraform/sim-tf-plan.type.d.ts +98 -0
  583. package/dist/terraform/sim-tf-plan.type.d.ts.map +1 -0
  584. package/dist/terraform/sim-tf-plan.type.js +2 -0
  585. package/dist/terraform/sim-tf-plan.type.js.map +1 -0
  586. package/dist/terraform/sim-tf-reference-address.d.ts +52 -0
  587. package/dist/terraform/sim-tf-reference-address.d.ts.map +1 -0
  588. package/dist/terraform/sim-tf-reference-address.js +102 -0
  589. package/dist/terraform/sim-tf-reference-address.js.map +1 -0
  590. package/dist/terraform/sim-tf-reference.d.ts +82 -0
  591. package/dist/terraform/sim-tf-reference.d.ts.map +1 -0
  592. package/dist/terraform/sim-tf-reference.js +153 -0
  593. package/dist/terraform/sim-tf-reference.js.map +1 -0
  594. package/dist/terraform/sim-tf-referenced.d.ts +18 -0
  595. package/dist/terraform/sim-tf-referenced.d.ts.map +1 -0
  596. package/dist/terraform/sim-tf-referenced.js +40 -0
  597. package/dist/terraform/sim-tf-referenced.js.map +1 -0
  598. package/dist/terraform/sim-tf-refusal.d.ts +23 -0
  599. package/dist/terraform/sim-tf-refusal.d.ts.map +1 -0
  600. package/dist/terraform/sim-tf-refusal.js +44 -0
  601. package/dist/terraform/sim-tf-refusal.js.map +1 -0
  602. package/dist/terraform/sim-tf-registry.d.ts +15 -0
  603. package/dist/terraform/sim-tf-registry.d.ts.map +1 -0
  604. package/dist/terraform/sim-tf-registry.js +67 -0
  605. package/dist/terraform/sim-tf-registry.js.map +1 -0
  606. package/dist/terraform/sim-tf-report.d.ts +21 -0
  607. package/dist/terraform/sim-tf-report.d.ts.map +1 -0
  608. package/dist/terraform/sim-tf-report.js +57 -0
  609. package/dist/terraform/sim-tf-report.js.map +1 -0
  610. package/dist/terraform/sim-tf-report.type.d.ts +37 -0
  611. package/dist/terraform/sim-tf-report.type.d.ts.map +1 -0
  612. package/dist/terraform/sim-tf-report.type.js +2 -0
  613. package/dist/terraform/sim-tf-report.type.js.map +1 -0
  614. package/dist/terraform/sim-tf-resource.type.d.ts +33 -0
  615. package/dist/terraform/sim-tf-resource.type.d.ts.map +1 -0
  616. package/dist/terraform/sim-tf-resource.type.js +3 -0
  617. package/dist/terraform/sim-tf-resource.type.js.map +1 -0
  618. package/dist/terraform/sim-tf-settle.d.ts +36 -0
  619. package/dist/terraform/sim-tf-settle.d.ts.map +1 -0
  620. package/dist/terraform/sim-tf-settle.js +63 -0
  621. package/dist/terraform/sim-tf-settle.js.map +1 -0
  622. package/dist/util/filesystem/test-terraform-project.d.ts +67 -0
  623. package/dist/util/filesystem/test-terraform-project.d.ts.map +1 -0
  624. package/dist/util/filesystem/test-terraform-project.js +112 -0
  625. package/dist/util/filesystem/test-terraform-project.js.map +1 -0
  626. package/package.json +7 -2
  627. package/dist/service/cloudformation/resource/cfn/ses/sim-ses-dkim-tokens.d.ts.map +0 -1
  628. package/dist/service/cloudformation/resource/cfn/ses/sim-ses-dkim-tokens.js.map +0 -1
  629. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-unsimulated-properties.d.ts +0 -17
  630. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-unsimulated-properties.d.ts.map +0 -1
  631. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-unsimulated-properties.js +0 -48
  632. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-unsimulated-properties.js.map +0 -1
  633. package/dist/service/ses/command/identity/sim-ses-unsimulated-identity-input.d.ts +0 -12
  634. package/dist/service/ses/command/identity/sim-ses-unsimulated-identity-input.d.ts.map +0 -1
  635. package/dist/service/ses/command/identity/sim-ses-unsimulated-identity-input.js +0 -26
  636. package/dist/service/ses/command/identity/sim-ses-unsimulated-identity-input.js.map +0 -1
  637. /package/dist/service/{cloudformation/resource/cfn/ses → ses/identity}/sim-ses-dkim-tokens.d.ts +0 -0
  638. /package/dist/service/{cloudformation/resource/cfn/ses → ses/identity}/sim-ses-dkim-tokens.js +0 -0
@@ -0,0 +1,44 @@
1
+ import { terraformResourceMappings } from "./sim-tf-registry.js";
2
+ /**
3
+ * Why the Resource a mapping builds is one the service would not accept.
4
+ *
5
+ * A plan can leave a value the service requires unresolvable, and a Resource
6
+ * built without it fails and takes the Stack's other Resources with it. The
7
+ * mapping names those properties under `requires`, and names under `refused`
8
+ * the case where every property is there and the service will not take one of
9
+ * the values. Either way the resource is left out of the template rather than
10
+ * deployed into a failure.
11
+ */
12
+ export function terraformRefusal(declaration, build, unresolved) {
13
+ const built = builtResource(declaration, build);
14
+ if (built.refused !== undefined) {
15
+ return built.refused;
16
+ }
17
+ return missing(built).length === 0 ? undefined : unresolved;
18
+ }
19
+ /**
20
+ * The properties a mapping declares as required and could not fill.
21
+ *
22
+ * A resource with no mapping at all has none. It is refused for the type
23
+ * before any value is read, and there is no mapping to ask what it needed.
24
+ */
25
+ export function terraformMissingProperties(resource, build) {
26
+ const mapping = terraformResourceMappings.get(resource.type);
27
+ return mapping === undefined
28
+ ? []
29
+ : missing(builtResource({ resource, mapping }, build));
30
+ }
31
+ /** The Resource one declaration's mapping builds, against this plan. */
32
+ function builtResource(declaration, build) {
33
+ return declaration.mapping({
34
+ resource: declaration.resource,
35
+ resolver: build.resolver,
36
+ overrides: build.overrides,
37
+ });
38
+ }
39
+ function missing(built) {
40
+ return (built.requires ?? []).filter(
41
+ // oxlint-disable-next-line security/detect-object-injection
42
+ (name) => built.Properties[name] === undefined);
43
+ }
44
+ //# sourceMappingURL=sim-tf-refusal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-refusal.js","sourceRoot":"","sources":["../../src/terraform/sim-tf-refusal.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAOjE;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAC9B,WAAiC,EACjC,KAA4B,EAC5B,UAA+B;IAE/B,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAEhD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IAED,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;AAC9D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CACxC,QAA2B,EAC3B,KAA4B;IAE5B,MAAM,OAAO,GAAG,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE7D,OAAO,OAAO,KAAK,SAAS;QAC1B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,wEAAwE;AACxE,SAAS,aAAa,CACpB,WAAiC,EACjC,KAA4B;IAE5B,OAAO,WAAW,CAAC,OAAO,CAAC;QACzB,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,OAAO,CAAC,KAA8B;IAC7C,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM;IAClC,4DAA4D;IAC5D,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,SAAS,CAC/C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { TerraformResourceFold, TerraformResourceMapping } from "./sim-tf-mapping.type.js";
2
+ /**
3
+ * The Terraform resource types this import turns into CloudFormation Resources.
4
+ *
5
+ * A type with no entry is recorded as skipped, which is what the stack already
6
+ * does with a CloudFormation Resource type no simulated service models. The
7
+ * set grows a service at a time.
8
+ */
9
+ export declare const terraformResourceMappings: ReadonlyMap<string, TerraformResourceMapping>;
10
+ /**
11
+ * The Terraform resource types that configure another resource rather than
12
+ * creating one of their own.
13
+ */
14
+ export declare const terraformResourceFolds: ReadonlyMap<string, TerraformResourceFold>;
15
+ //# sourceMappingURL=sim-tf-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-registry.d.ts","sourceRoot":"","sources":["../../src/terraform/sim-tf-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,0BAA0B,CAAC;AAiClC;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,EAAE,WAAW,CACjD,MAAM,EACN,wBAAwB,CA0BxB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAC9C,MAAM,EACN,qBAAqB,CAQrB,CAAC"}
@@ -0,0 +1,67 @@
1
+ import { metricAlarm } from "./map/sim-tf-map-cloudwatch.js";
2
+ import { cognitoUserPool } from "./map/sim-tf-map-cognito.js";
3
+ import { cognitoUserPoolClient } from "./map/sim-tf-map-cognito-client.js";
4
+ import { dynamodbTable } from "./map/sim-tf-map-dynamodb.js";
5
+ import { ecrRepository } from "./map/sim-tf-map-ecr.js";
6
+ import { eventRule, eventTargetFolds } from "./map/sim-tf-map-events.js";
7
+ import { httpApi, httpApiStage } from "./map/sim-tf-map-http-api.js";
8
+ import { httpApiIntegration, httpApiRoute, } from "./map/sim-tf-map-http-api-routes.js";
9
+ import { iamRole, iamRoleFolds } from "./map/sim-tf-map-iam.js";
10
+ import { kmsAlias, kmsKey } from "./map/sim-tf-map-kms.js";
11
+ import { lambdaEventSourceMapping, lambdaFunction, lambdaPermission, } from "./map/sim-tf-map-lambda.js";
12
+ import { logGroup } from "./map/sim-tf-map-logs.js";
13
+ import { s3Bucket } from "./map/sim-tf-map-s3.js";
14
+ import { s3BucketFolds } from "./map/sim-tf-map-s3-folds.js";
15
+ import { s3LifecycleFolds } from "./map/sim-tf-map-s3-lifecycle.js";
16
+ import { bucketNotification } from "./map/sim-tf-map-s3-notification.js";
17
+ import { secretsManagerFolds, secretsManagerSecret, } from "./map/sim-tf-map-secretsmanager.js";
18
+ import { snsSubscription, snsTopic } from "./map/sim-tf-map-sns.js";
19
+ import { sqsQueue } from "./map/sim-tf-map-sqs.js";
20
+ import { sqsRedriveFolds } from "./map/sim-tf-map-sqs-redrive.js";
21
+ import { ssmParameter } from "./map/sim-tf-map-ssm.js";
22
+ /**
23
+ * The Terraform resource types this import turns into CloudFormation Resources.
24
+ *
25
+ * A type with no entry is recorded as skipped, which is what the stack already
26
+ * does with a CloudFormation Resource type no simulated service models. The
27
+ * set grows a service at a time.
28
+ */
29
+ export const terraformResourceMappings = new Map([
30
+ ["aws_apigatewayv2_api", httpApi],
31
+ ["aws_apigatewayv2_integration", httpApiIntegration],
32
+ ["aws_apigatewayv2_route", httpApiRoute],
33
+ ["aws_apigatewayv2_stage", httpApiStage],
34
+ ["aws_cloudwatch_event_rule", eventRule],
35
+ ["aws_cloudwatch_log_group", logGroup],
36
+ ["aws_cloudwatch_metric_alarm", metricAlarm],
37
+ ["aws_cognito_user_pool", cognitoUserPool],
38
+ ["aws_cognito_user_pool_client", cognitoUserPoolClient],
39
+ ["aws_dynamodb_table", dynamodbTable],
40
+ ["aws_ecr_repository", ecrRepository],
41
+ ["aws_iam_role", iamRole],
42
+ ["aws_kms_alias", kmsAlias],
43
+ ["aws_kms_key", kmsKey],
44
+ ["aws_lambda_event_source_mapping", lambdaEventSourceMapping],
45
+ ["aws_lambda_function", lambdaFunction],
46
+ ["aws_lambda_permission", lambdaPermission],
47
+ ["aws_s3_bucket", s3Bucket],
48
+ ["aws_s3_bucket_notification", bucketNotification],
49
+ ["aws_secretsmanager_secret", secretsManagerSecret],
50
+ ["aws_sns_topic", snsTopic],
51
+ ["aws_sns_topic_subscription", snsSubscription],
52
+ ["aws_sqs_queue", sqsQueue],
53
+ ["aws_ssm_parameter", ssmParameter],
54
+ ]);
55
+ /**
56
+ * The Terraform resource types that configure another resource rather than
57
+ * creating one of their own.
58
+ */
59
+ export const terraformResourceFolds = new Map([
60
+ ...s3BucketFolds,
61
+ ...s3LifecycleFolds,
62
+ ...iamRoleFolds,
63
+ ...secretsManagerFolds,
64
+ ...eventTargetFolds,
65
+ ...sqsRedriveFolds,
66
+ ]);
67
+ //# sourceMappingURL=sim-tf-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-registry.js","sourceRoot":"","sources":["../../src/terraform/sim-tf-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { TerraformResource } from "./sim-tf-resource.type.js";
2
+ import type { TerraformSettledPlan } from "./sim-tf-settle.js";
3
+ import type { TerraformDeclaredResources } from "./sim-tf-declare.js";
4
+ import type { TerraformFoldedResources } from "./sim-tf-fold.js";
5
+ import type { TerraformImportReport } from "./sim-tf-report.type.js";
6
+ export interface TerraformImportPasses {
7
+ readonly resources: readonly TerraformResource[];
8
+ readonly settled: TerraformSettledPlan;
9
+ readonly declared: TerraformDeclaredResources;
10
+ readonly folded: TerraformFoldedResources;
11
+ }
12
+ /**
13
+ * What an import did with every resource of the plan.
14
+ *
15
+ * Each resource is in exactly one of mapped, folded and skipped, so the three
16
+ * add up to the plan's managed resource count. That is what makes the mapped
17
+ * fraction a fraction of something, and what a reader checks the report
18
+ * against the configuration with.
19
+ */
20
+ export declare function terraformImportReport(passes: TerraformImportPasses): TerraformImportReport;
21
+ //# sourceMappingURL=sim-tf-report.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-report.d.ts","sourceRoot":"","sources":["../../src/terraform/sim-tf-report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EACV,qBAAqB,EAGtB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACjD,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,0BAA0B,CAAC;IAC9C,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;CAC3C;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,qBAAqB,GAC5B,qBAAqB,CAcvB"}
@@ -0,0 +1,57 @@
1
+ import { terraformMissingProperties } from "./sim-tf-refusal.js";
2
+ /**
3
+ * What an import did with every resource of the plan.
4
+ *
5
+ * Each resource is in exactly one of mapped, folded and skipped, so the three
6
+ * add up to the plan's managed resource count. That is what makes the mapped
7
+ * fraction a fraction of something, and what a reader checks the report
8
+ * against the configuration with.
9
+ */
10
+ export function terraformImportReport(passes) {
11
+ const { resources, settled, declared, folded } = passes;
12
+ return {
13
+ total: resources.length,
14
+ mapped: declared.mapped,
15
+ folded: folded.folded,
16
+ skipped: skippedResources(resources, settled, folded.skipped),
17
+ lost: [
18
+ ...declared.lost,
19
+ ...folded.lost,
20
+ ...refusedAttributes(resources, settled),
21
+ ],
22
+ };
23
+ }
24
+ /**
25
+ * Every resource the template holds nothing for, in the plan's own order.
26
+ *
27
+ * A resource is refused before anything is built, or is a fold that never
28
+ * found the resource it configures. Reading the plan's order back means the
29
+ * report can be read beside the configuration it came from.
30
+ */
31
+ function skippedResources(resources, settled, foldSkips) {
32
+ const byAddress = new Map(foldSkips.map((skip) => [skip.address, skip]));
33
+ return resources.flatMap((resource) => {
34
+ const reason = settled.refused.get(resource.address);
35
+ if (reason !== undefined) {
36
+ return [{ address: resource.address, type: resource.type, reason }];
37
+ }
38
+ const foldSkip = byAddress.get(resource.address);
39
+ return foldSkip === undefined ? [] : [foldSkip];
40
+ });
41
+ }
42
+ /**
43
+ * The attributes a refused resource was refused for.
44
+ *
45
+ * A resource left out because a required value would not resolve names that
46
+ * value here, so the report says which attribute the plan could not carry
47
+ * rather than only that the resource is missing.
48
+ */
49
+ function refusedAttributes(resources, settled) {
50
+ return resources
51
+ .filter((resource) => settled.refused.has(resource.address))
52
+ .flatMap((resource) => terraformMissingProperties(resource, settled).map((attribute) => ({
53
+ address: resource.address,
54
+ attribute,
55
+ })));
56
+ }
57
+ //# sourceMappingURL=sim-tf-report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-report.js","sourceRoot":"","sources":["../../src/terraform/sim-tf-report.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAgBjE;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAA6B;IAE7B,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAExD,OAAO;QACL,KAAK,EAAE,SAAS,CAAC,MAAM;QACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;QAC7D,IAAI,EAAE;YACJ,GAAG,QAAQ,CAAC,IAAI;YAChB,GAAG,MAAM,CAAC,IAAI;YACd,GAAG,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC;SACzC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CACvB,SAAuC,EACvC,OAA6B,EAC7B,SAA8C;IAE9C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAEzE,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QACpC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAErD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEjD,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,SAAS,iBAAiB,CACxB,SAAuC,EACvC,OAA6B;IAE7B,OAAO,SAAS;SACb,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SAC3D,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CACpB,0BAA0B,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAChE,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,SAAS;KACV,CAAC,CAAC,CACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * What one import of a plan did with every resource in it.
3
+ *
4
+ * A resource is mapped to a Resource of its own, folded into another
5
+ * resource's Resource, or skipped. The three add up to the plan's managed
6
+ * resource count, which is what makes the mapped fraction a fraction of
7
+ * something.
8
+ */
9
+ export interface TerraformImportReport {
10
+ readonly total: number;
11
+ readonly mapped: readonly TerraformImportedResource[];
12
+ readonly folded: readonly TerraformImportedResource[];
13
+ readonly skipped: readonly TerraformSkippedResource[];
14
+ /** Attributes a mapping could not carry across, named per resource. */
15
+ readonly lost: readonly TerraformLostAttribute[];
16
+ }
17
+ export interface TerraformImportedResource {
18
+ /** The Terraform address, such as `module.uploads.aws_s3_bucket.this`. */
19
+ readonly address: string;
20
+ /** The Terraform resource type, such as `aws_s3_bucket`. */
21
+ readonly type: string;
22
+ /** The CloudFormation type it was deployed as, for a mapped resource. */
23
+ readonly cfnType?: string;
24
+ /** The logical ID the template declares it under, for a mapped resource. */
25
+ readonly logicalId?: string;
26
+ }
27
+ export interface TerraformSkippedResource {
28
+ readonly address: string;
29
+ readonly type: string;
30
+ readonly reason: TerraformSkipReason;
31
+ }
32
+ export type TerraformSkipReason = "no mapping for resource type" | "not an AWS provider resource" | "fold target not found" | "unresolved required attribute" | "a property value the service refuses" | "references a resource that was skipped";
33
+ export interface TerraformLostAttribute {
34
+ readonly address: string;
35
+ readonly attribute: string;
36
+ }
37
+ //# sourceMappingURL=sim-tf-report.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-report.type.d.ts","sourceRoot":"","sources":["../../src/terraform/sim-tf-report.type.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,SAAS,yBAAyB,EAAE,CAAC;IACtD,QAAQ,CAAC,MAAM,EAAE,SAAS,yBAAyB,EAAE,CAAC;IACtD,QAAQ,CAAC,OAAO,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACtD,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,SAAS,sBAAsB,EAAE,CAAC;CAClD;AAED,MAAM,WAAW,yBAAyB;IACxC,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,4EAA4E;IAC5E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;CACtC;AAED,MAAM,MAAM,mBAAmB,GAC3B,8BAA8B,GAC9B,8BAA8B,GAC9B,uBAAuB,GACvB,+BAA+B,GAC/B,sCAAsC,GACtC,wCAAwC,CAAC;AAE7C,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sim-tf-report.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-report.type.js","sourceRoot":"","sources":["../../src/terraform/sim-tf-report.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ /** The provider whose resource types this import knows how to map. */
2
+ export declare const terraformAwsProvider = "hashicorp/aws";
3
+ /**
4
+ * One resource of a plan, with everything the import needs about it in one
5
+ * place.
6
+ *
7
+ * A plan splits what it knows about a resource across three sections.
8
+ * `planned_values` holds resolved attributes, `resource_changes` marks the
9
+ * attributes that stayed unknown, and `configuration` holds what the resource
10
+ * refers to. This is the three joined up, and it is what every mapping, every
11
+ * reference and every report entry is written against.
12
+ */
13
+ export interface TerraformResource {
14
+ /** The fully qualified address, such as `module.uploads.aws_s3_bucket.this`. */
15
+ readonly address: string;
16
+ readonly type: string;
17
+ readonly name: string;
18
+ /** The `count` or `for_each` key, for one instance of an expanded resource. */
19
+ readonly index: string | number | undefined;
20
+ /** The provider that owns the type, such as `hashicorp/aws`. */
21
+ readonly provider: string;
22
+ /** Attributes the plan resolved to a value. */
23
+ readonly values: Record<string, unknown>;
24
+ /** `after_unknown`, whose `true` leaves mark attributes still to be decided. */
25
+ readonly unknown: Record<string, unknown>;
26
+ /** Declared expressions, holding the `references` this resource reads. */
27
+ readonly expressions: Record<string, unknown>;
28
+ /** Explicit `depends_on` addresses, relative to the declaring module. */
29
+ readonly dependsOn: readonly string[];
30
+ /** The module call path this resource was declared under. */
31
+ readonly modulePath: readonly string[];
32
+ }
33
+ //# sourceMappingURL=sim-tf-resource.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-resource.type.d.ts","sourceRoot":"","sources":["../../src/terraform/sim-tf-resource.type.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,eAAO,MAAM,oBAAoB,kBAAkB,CAAC;AAEpD;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB;IAChC,gFAAgF;IAChF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC5C,gEAAgE;IAChE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,gFAAgF;IAChF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,0EAA0E;IAC1E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,yEAAyE;IACzE,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,6DAA6D;IAC7D,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC"}
@@ -0,0 +1,3 @@
1
+ /** The provider whose resource types this import knows how to map. */
2
+ export const terraformAwsProvider = "hashicorp/aws";
3
+ //# sourceMappingURL=sim-tf-resource.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-resource.type.js","sourceRoot":"","sources":["../../src/terraform/sim-tf-resource.type.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAe,CAAC"}
@@ -0,0 +1,36 @@
1
+ import type { TerraformPlan } from "./sim-tf-plan.type.js";
2
+ import { type TerraformResource } from "./sim-tf-resource.type.js";
3
+ import { TerraformReferenceResolver } from "./sim-tf-reference.js";
4
+ import type { TerraformDeclaration } from "./sim-tf-mapping.type.js";
5
+ import type { TerraformPlanOverrides } from "./sim-tf-overrides.js";
6
+ import type { TerraformSkipReason } from "./sim-tf-report.type.js";
7
+ /**
8
+ * Which resources of a plan the template will declare, and what resolves
9
+ * against them.
10
+ */
11
+ export interface TerraformSettledPlan {
12
+ /** The resources a Resource is built for, in plan order. */
13
+ readonly declared: readonly TerraformDeclaration[];
14
+ /** A resolver that knows those resources and no others. */
15
+ readonly resolver: TerraformReferenceResolver;
16
+ /** What the deployment supplied for the values the plan could not carry. */
17
+ readonly overrides: TerraformPlanOverrides;
18
+ /** Why a resource is not one of them, by address. */
19
+ readonly refused: ReadonlyMap<string, TerraformSkipReason>;
20
+ }
21
+ /**
22
+ * Settle which resources of a plan become CloudFormation Resources.
23
+ *
24
+ * Whether a resource can be built depends on what its references resolve to,
25
+ * and what a reference resolves to depends on which resources are being built.
26
+ * The two are decided together before anything is built. Each round drops the
27
+ * resources whose required properties the round's resolver cannot fill, and a
28
+ * resource dropped is one the next round's references no longer reach. The set
29
+ * only ever shrinks, and the rounds therefore end.
30
+ *
31
+ * Building against the settled set is then a single pass that produces nothing
32
+ * it has to take back. No Resource is built and then removed, and no property
33
+ * is left naming a logical ID the template does not declare.
34
+ */
35
+ export declare function settledTerraformPlan(plan: TerraformPlan, resources: readonly TerraformResource[], overrides: TerraformPlanOverrides): TerraformSettledPlan;
36
+ //# sourceMappingURL=sim-tf-settle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-settle.d.ts","sourceRoot":"","sources":["../../src/terraform/sim-tf-settle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAKnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACnD,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,EAAE,0BAA0B,CAAC;IAC9C,4EAA4E;IAC5E,QAAQ,CAAC,SAAS,EAAE,sBAAsB,CAAC;IAC3C,qDAAqD;IACrD,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CAC5D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,aAAa,EACnB,SAAS,EAAE,SAAS,iBAAiB,EAAE,EACvC,SAAS,EAAE,sBAAsB,GAChC,oBAAoB,CAuCtB"}
@@ -0,0 +1,63 @@
1
+ import { terraformAwsProvider, } from "./sim-tf-resource.type.js";
2
+ import { terraformModuleOutputs } from "./sim-tf-module-outputs.js";
3
+ import { TerraformReferenceResolver } from "./sim-tf-reference.js";
4
+ import { terraformResourceFolds, terraformResourceMappings, } from "./sim-tf-registry.js";
5
+ import { terraformRefusal } from "./sim-tf-refusal.js";
6
+ /**
7
+ * Settle which resources of a plan become CloudFormation Resources.
8
+ *
9
+ * Whether a resource can be built depends on what its references resolve to,
10
+ * and what a reference resolves to depends on which resources are being built.
11
+ * The two are decided together before anything is built. Each round drops the
12
+ * resources whose required properties the round's resolver cannot fill, and a
13
+ * resource dropped is one the next round's references no longer reach. The set
14
+ * only ever shrinks, and the rounds therefore end.
15
+ *
16
+ * Building against the settled set is then a single pass that produces nothing
17
+ * it has to take back. No Resource is built and then removed, and no property
18
+ * is left naming a logical ID the template does not declare.
19
+ */
20
+ export function settledTerraformPlan(plan, resources, overrides) {
21
+ const moduleOutputs = terraformModuleOutputs(plan);
22
+ const refused = new Map();
23
+ let candidates = resources.flatMap((resource) => mappable(resource, refused));
24
+ let reason = "unresolved required attribute";
25
+ for (;;) {
26
+ const resolver = new TerraformReferenceResolver(candidates.map((declaration) => declaration.resource), moduleOutputs);
27
+ const dropped = new Map(candidates.flatMap((declaration) => {
28
+ const why = terraformRefusal(declaration, { resolver, overrides }, reason);
29
+ return why === undefined ? [] : [[declaration.resource.address, why]];
30
+ }));
31
+ if (dropped.size === 0) {
32
+ return { declared: candidates, resolver, overrides, refused };
33
+ }
34
+ for (const [address, why] of dropped) {
35
+ refused.set(address, why);
36
+ }
37
+ candidates = candidates.filter((declaration) => !dropped.has(declaration.resource.address));
38
+ // A resource that was buildable a round ago and is not now lost the
39
+ // resource it was reading, rather than never having had one.
40
+ reason = "references a resource that was skipped";
41
+ }
42
+ }
43
+ /**
44
+ * The mapping a resource will be built with, if this import has one for it.
45
+ *
46
+ * A folding resource comes back with none and without a reason recorded, since
47
+ * the fold pass is what decides whether it reached the resource it configures.
48
+ */
49
+ function mappable(resource, refused) {
50
+ if (resource.provider !== terraformAwsProvider) {
51
+ refused.set(resource.address, "not an AWS provider resource");
52
+ return [];
53
+ }
54
+ const mapping = terraformResourceMappings.get(resource.type);
55
+ if (mapping !== undefined) {
56
+ return [{ resource, mapping }];
57
+ }
58
+ if (!terraformResourceFolds.has(resource.type)) {
59
+ refused.set(resource.address, "no mapping for resource type");
60
+ }
61
+ return [];
62
+ }
63
+ //# sourceMappingURL=sim-tf-settle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-settle.js","sourceRoot":"","sources":["../../src/terraform/sim-tf-settle.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,GAErB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EACL,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAkBvD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAmB,EACnB,SAAuC,EACvC,SAAiC;IAEjC,MAAM,aAAa,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,IAAI,GAAG,EAA+B,CAAC;IAEvD,IAAI,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9E,IAAI,MAAM,GAAwB,+BAA+B,CAAC;IAElE,SAAS,CAAC;QACR,MAAM,QAAQ,GAAG,IAAI,0BAA0B,CAC7C,UAAU,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,EACrD,aAAa,CACd,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,UAAU,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;YACjC,MAAM,GAAG,GAAG,gBAAgB,CAC1B,WAAW,EACX,EAAE,QAAQ,EAAE,SAAS,EAAE,EACvB,MAAM,CACP,CAAC;YAEF,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;QAChE,CAAC;QAED,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC5B,CAAC;QAED,UAAU,GAAG,UAAU,CAAC,MAAM,CAC5B,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAC5D,CAAC;QACF,oEAAoE;QACpE,6DAA6D;QAC7D,MAAM,GAAG,wCAAwC,CAAC;IACpD,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,QAAQ,CACf,QAA2B,EAC3B,OAAyC;IAEzC,IAAI,QAAQ,CAAC,QAAQ,KAAK,oBAAoB,EAAE,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC;QAE9D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE7D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -0,0 +1,67 @@
1
+ export interface TestTerraformProjectProperties {
2
+ /**
3
+ * Whether this configuration is expected to fail its `data` blocks.
4
+ *
5
+ * Only a configuration known to read AWS at plan time sets this, and it
6
+ * limits the tolerance to that one. Every other configuration treats a
7
+ * non-zero exit as the failure it is.
8
+ */
9
+ readonly toleratesDataSourceErrors?: boolean;
10
+ }
11
+ /**
12
+ * A Terraform configuration under `test/terraform`, planned on demand.
13
+ *
14
+ * The plan JSON a Terraform import reads runs to thousands of lines, and the
15
+ * configuration behind it runs to tens. Only the configuration is in the
16
+ * repository, and this produces the plan from it the way `TestCdkProject`
17
+ * produces a cloud assembly from a CDK app.
18
+ *
19
+ * `terraform init` downloads the AWS provider, which is one binary of about
20
+ * 650MB. That is far too slow to sit inside a test, so it is left to
21
+ * `pnpm tf:init` and to the workflow step that caches it. A configuration that
22
+ * has never been initialised is reported rather than initialised here.
23
+ */
24
+ export declare class TestTerraformProject {
25
+ readonly name: string;
26
+ private readonly directory;
27
+ private readonly toleratesDataSourceErrors;
28
+ constructor(name: string, properties?: TestTerraformProjectProperties);
29
+ /**
30
+ * The plan JSON for this configuration, as `terraform show -json` writes it.
31
+ *
32
+ * The plan file goes to a temporary directory rather than into the
33
+ * configuration, so a run leaves the repository as it found it.
34
+ */
35
+ planJson(): Promise<unknown>;
36
+ /**
37
+ * The path of a file holding this configuration's plan JSON.
38
+ *
39
+ * `TerraformAdapter.deployPlan` reads a path rather than a document, so a
40
+ * test of the deployment needs the JSON on disk. It goes to a temporary directory
41
+ * for the same reason the plan file does.
42
+ */
43
+ planJsonPath(): Promise<string>;
44
+ /**
45
+ * Write the plan file.
46
+ *
47
+ * A configuration reading a `data` block that calls AWS cannot be planned
48
+ * offline. Terraform reports each one as an error and exits non-zero, and it
49
+ * still writes a plan covering the managed resources, which are what an
50
+ * import reads. A configuration expecting that says so. Every other failure
51
+ * is a failure, so a broken configuration cannot pass as a partial plan.
52
+ *
53
+ * The state lock is not taken. These configurations have no state and are
54
+ * never applied, and several test files plan the same one at once.
55
+ */
56
+ private plan;
57
+ private show;
58
+ /**
59
+ * Fail with what to run, rather than with what Terraform says.
60
+ *
61
+ * Terraform's own message for an uninitialised directory names a command
62
+ * that would work and say nothing about the provider cache this repository
63
+ * shares between its two configurations.
64
+ */
65
+ private requireInitialised;
66
+ }
67
+ //# sourceMappingURL=test-terraform-project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-terraform-project.d.ts","sourceRoot":"","sources":["../../../src/util/filesystem/test-terraform-project.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,8BAA8B;IAC7C;;;;;;OAMG;IACH,QAAQ,CAAC,yBAAyB,CAAC,EAAE,OAAO,CAAC;CAC9C;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,oBAAoB;aAKb,IAAI,EAAE,MAAM;IAJ9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAU;IAEpD,YACkB,IAAI,EAAE,MAAM,EAC5B,UAAU,GAAE,8BAAmC,EAKhD;IAED;;;;;OAKG;IACG,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,CAUjC;IAED;;;;;;OAMG;IACG,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAcpC;IAED;;;;;;;;;;;OAWG;YACW,IAAI;YA6BJ,IAAI;IAUlB;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;CAY3B"}
@@ -0,0 +1,112 @@
1
+ import { existsSync } from "node:fs";
2
+ import { execa } from "execa";
3
+ import { repoPath } from "./path.js";
4
+ import { TemporaryDirectory } from "./temporary-directory.js";
5
+ /**
6
+ * A Terraform configuration under `test/terraform`, planned on demand.
7
+ *
8
+ * The plan JSON a Terraform import reads runs to thousands of lines, and the
9
+ * configuration behind it runs to tens. Only the configuration is in the
10
+ * repository, and this produces the plan from it the way `TestCdkProject`
11
+ * produces a cloud assembly from a CDK app.
12
+ *
13
+ * `terraform init` downloads the AWS provider, which is one binary of about
14
+ * 650MB. That is far too slow to sit inside a test, so it is left to
15
+ * `pnpm tf:init` and to the workflow step that caches it. A configuration that
16
+ * has never been initialised is reported rather than initialised here.
17
+ */
18
+ export class TestTerraformProject {
19
+ name;
20
+ directory;
21
+ toleratesDataSourceErrors;
22
+ constructor(name, properties = {}) {
23
+ this.name = name;
24
+ this.directory = repoPath(`test/terraform/${name}`);
25
+ this.toleratesDataSourceErrors =
26
+ properties.toleratesDataSourceErrors ?? false;
27
+ }
28
+ /**
29
+ * The plan JSON for this configuration, as `terraform show -json` writes it.
30
+ *
31
+ * The plan file goes to a temporary directory rather than into the
32
+ * configuration, so a run leaves the repository as it found it.
33
+ */
34
+ async planJson() {
35
+ this.requireInitialised();
36
+ const output = new TemporaryDirectory();
37
+ await output.resolvePath();
38
+ const planFile = output.join(`${this.name}.tfplan`);
39
+ await this.plan(planFile);
40
+ return JSON.parse(await this.show(planFile));
41
+ }
42
+ /**
43
+ * The path of a file holding this configuration's plan JSON.
44
+ *
45
+ * `TerraformAdapter.deployPlan` reads a path rather than a document, so a
46
+ * test of the deployment needs the JSON on disk. It goes to a temporary directory
47
+ * for the same reason the plan file does.
48
+ */
49
+ async planJsonPath() {
50
+ this.requireInitialised();
51
+ const output = new TemporaryDirectory();
52
+ await output.resolvePath();
53
+ const planFile = output.join(`${this.name}.tfplan`);
54
+ await this.plan(planFile);
55
+ await output.writeFile(`${this.name}.tfplan.json`, await this.show(planFile));
56
+ return output.join(`${this.name}.tfplan.json`);
57
+ }
58
+ /**
59
+ * Write the plan file.
60
+ *
61
+ * A configuration reading a `data` block that calls AWS cannot be planned
62
+ * offline. Terraform reports each one as an error and exits non-zero, and it
63
+ * still writes a plan covering the managed resources, which are what an
64
+ * import reads. A configuration expecting that says so. Every other failure
65
+ * is a failure, so a broken configuration cannot pass as a partial plan.
66
+ *
67
+ * The state lock is not taken. These configurations have no state and are
68
+ * never applied, and several test files plan the same one at once.
69
+ */
70
+ async plan(planFile) {
71
+ const result = await execa("terraform", [
72
+ `-chdir=${this.directory}`,
73
+ "plan",
74
+ "-input=false",
75
+ // There is no state to protect. Nothing is ever applied here, and two
76
+ // test files planning the same configuration at once would otherwise
77
+ // fail on each other's state lock rather than on the configuration.
78
+ "-lock=false",
79
+ "-out",
80
+ planFile,
81
+ ], { env: { TF_IN_AUTOMATION: "1" }, reject: false });
82
+ if (result.exitCode === 0) {
83
+ return;
84
+ }
85
+ // oxlint-disable-next-line security/detect-non-literal-fs-filename
86
+ if (this.toleratesDataSourceErrors && existsSync(planFile)) {
87
+ return;
88
+ }
89
+ throw new Error(`terraform plan failed for ${this.name}: ${result.stderr}`);
90
+ }
91
+ async show(planFile) {
92
+ const { stdout } = await execa("terraform", [`-chdir=${this.directory}`, "show", "-json", planFile], { env: { TF_IN_AUTOMATION: "1" } });
93
+ return stdout;
94
+ }
95
+ /**
96
+ * Fail with what to run, rather than with what Terraform says.
97
+ *
98
+ * Terraform's own message for an uninitialised directory names a command
99
+ * that would work and say nothing about the provider cache this repository
100
+ * shares between its two configurations.
101
+ */
102
+ requireInitialised() {
103
+ // oxlint-disable-next-line security/detect-non-literal-fs-filename
104
+ if (existsSync(`${this.directory}/.terraform`)) {
105
+ return;
106
+ }
107
+ throw new Error(`Terraform configuration ${this.name} is not initialised. ` +
108
+ `Run \`pnpm tf:init\` first. It downloads the AWS provider, which ` +
109
+ `takes a few minutes the first time and nothing afterwards.`);
110
+ }
111
+ }
112
+ //# sourceMappingURL=test-terraform-project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-terraform-project.js","sourceRoot":"","sources":["../../../src/util/filesystem/test-terraform-project.ts"],"names":[],"mappings":"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"}