@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 @@
1
+ {"version":3,"file":"sim-tf-mapping.type.d.ts","sourceRoot":"","sources":["../../src/terraform/sim-tf-mapping.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oEAAoE,CAAC;AAC9G,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACzD,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC;;;;;;;;OAQG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEtC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;CACpD;AAED,MAAM,MAAM,wBAAwB,GAAG,CACrC,OAAO,EAAE,uBAAuB,KAC7B,uBAAuB,CAAC;AAE7B,6EAA6E;AAC7E,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;CAC5C;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,qBAAqB;IACpC,oEAAoE;IACpE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,CACnB,OAAO,EAAE,uBAAuB,EAChC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,KACzC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAEzC;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,SAAS,MAAM,EAAE,CAAC;CACzE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sim-tf-mapping.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-mapping.type.js","sourceRoot":"","sources":["../../src/terraform/sim-tf-mapping.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import type { TerraformPlan } from "./sim-tf-plan.type.js";
2
+ /**
3
+ * Every module output a plan declares, keyed by the address that reads it.
4
+ *
5
+ * A resource in one module reaching a resource in another goes through an
6
+ * output. `module.processor.lambda_function_arn` is not an address any resource
7
+ * has, and the plan resolves nothing for it, so following it means reading the
8
+ * output's own expression and continuing from the module that declares it.
9
+ */
10
+ export declare function terraformModuleOutputs(plan: TerraformPlan): ReadonlyMap<string, readonly string[]>;
11
+ //# sourceMappingURL=sim-tf-module-outputs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-module-outputs.d.ts","sourceRoot":"","sources":["../../src/terraform/sim-tf-module-outputs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EACd,MAAM,uBAAuB,CAAC;AAE/B;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,aAAa,GAClB,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CASxC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Every module output a plan declares, keyed by the address that reads it.
3
+ *
4
+ * A resource in one module reaching a resource in another goes through an
5
+ * output. `module.processor.lambda_function_arn` is not an address any resource
6
+ * has, and the plan resolves nothing for it, so following it means reading the
7
+ * output's own expression and continuing from the module that declares it.
8
+ */
9
+ export function terraformModuleOutputs(plan) {
10
+ const outputs = new Map();
11
+ const root = plan.configuration?.root_module;
12
+ if (root !== undefined) {
13
+ collect(root, [], outputs);
14
+ }
15
+ return outputs;
16
+ }
17
+ function collect(config, modulePath, outputs) {
18
+ const calls = Object.entries(config.module_calls ?? {});
19
+ for (const [callName, call] of calls) {
20
+ const child = call.module;
21
+ if (child === undefined) {
22
+ continue;
23
+ }
24
+ const childPath = [...modulePath, callName];
25
+ const address = childPath.map((name) => `module.${name}`).join(".");
26
+ const declared = Object.entries(child.outputs ?? {});
27
+ for (const [name, output] of declared) {
28
+ outputs.set(`${address}.${name}`, output.expression?.references ?? []);
29
+ }
30
+ collect(child, childPath, outputs);
31
+ }
32
+ }
33
+ //# sourceMappingURL=sim-tf-module-outputs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-module-outputs.js","sourceRoot":"","sources":["../../src/terraform/sim-tf-module-outputs.ts"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAmB;IAEnB,MAAM,OAAO,GAAG,IAAI,GAAG,EAA6B,CAAC;IACrD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC;IAE7C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,OAAO,CACd,MAA6B,EAC7B,UAA6B,EAC7B,OAAuC;IAEvC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;IAExD,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAE1B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,CAAC,GAAG,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEpE,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAErD,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,IAAI,IAAI,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;AACH,CAAC"}
@@ -0,0 +1,33 @@
1
+ import type { SimCfnTemplateValue } from "../service/cloudformation/template/value/sim-cfn-template-value.js";
2
+ import { type TerraformMappingContext } from "./sim-tf-attributes.js";
3
+ /**
4
+ * A list attribute whose entries name other resources.
5
+ *
6
+ * An alarm's `alarm_actions` holding one topic ARN of the same plan is marked
7
+ * unknown as a whole list, and the entries are gone with it. What survives is
8
+ * the reference behind each entry, and Terraform lists both the attribute form
9
+ * and the bare resource form of one reference. Both forms of a topic resolve to
10
+ * the same `Ref`, so the resolved values are deduplicated rather than the
11
+ * references, which is the only place the two forms can be told apart.
12
+ *
13
+ * A list the plan resolved is carried across as it stands.
14
+ */
15
+ export declare function attributeList(context: TerraformMappingContext, key: string): SimCfnTemplateValue | undefined;
16
+ /**
17
+ * One attribute of one entry of a repeating nested block.
18
+ *
19
+ * A bucket notification names the function it calls inside a `lambda_function`
20
+ * block, and the function's ARN is unknown whenever the same plan creates it.
21
+ * The mark and the references both sit at the same position in a list mirroring
22
+ * the block, so the entry's index is what finds them.
23
+ */
24
+ export declare function blockAttribute(context: TerraformMappingContext, key: string, index: number, name: string): SimCfnTemplateValue | undefined;
25
+ /**
26
+ * The fields of one nested block, under the names CloudFormation gives them.
27
+ *
28
+ * The provider writes every field of a block that was declared, filling the
29
+ * ones the configuration left out with null, so the table says what each field
30
+ * is called on either side and `properties` takes the nulls back out.
31
+ */
32
+ export declare function blockFields(record: Record<string, unknown>, names: Readonly<Record<string, string>>): Record<string, SimCfnTemplateValue>;
33
+ //# sourceMappingURL=sim-tf-nested-attributes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-nested-attributes.d.ts","sourceRoot":"","sources":["../../src/terraform/sim-tf-nested-attributes.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oEAAoE,CAAC;AAC9G,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,wBAAwB,CAAC;AAIhC;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,uBAAuB,EAChC,GAAG,EAAE,MAAM,GACV,mBAAmB,GAAG,SAAS,CAqBjC;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,uBAAuB,EAChC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,mBAAmB,GAAG,SAAS,CAmBjC;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GACtC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CASrC"}
@@ -0,0 +1,97 @@
1
+ /*
2
+ * The two attribute shapes `attribute()` cannot read: a list whose entries name
3
+ * other resources, and an attribute inside a repeating nested block.
4
+ *
5
+ * `after_unknown` mirrors the shape of the value it marks, so a list of ARNs
6
+ * built from one resource is marked `true` whole, and a block whose one field
7
+ * is unknown is marked as a list of records. `configuration` mirrors the same
8
+ * shape with its `references`, and reading the two together is what puts the
9
+ * intrinsic back where the value was.
10
+ *
11
+ * Reading a plan means reading records whose keys come from the document
12
+ * rather than from this code, so the object-injection rule fires on every
13
+ * lookup. The records are parsed JSON with no prototype of their own.
14
+ */
15
+ // oxlint-disable security/detect-object-injection
16
+ import { isRecord } from "../util/type-guard/record.js";
17
+ import { properties, templateValue, } from "./sim-tf-attributes.js";
18
+ import { longestFirst } from "./sim-tf-reference-address.js";
19
+ /**
20
+ * A list attribute whose entries name other resources.
21
+ *
22
+ * An alarm's `alarm_actions` holding one topic ARN of the same plan is marked
23
+ * unknown as a whole list, and the entries are gone with it. What survives is
24
+ * the reference behind each entry, and Terraform lists both the attribute form
25
+ * and the bare resource form of one reference. Both forms of a topic resolve to
26
+ * the same `Ref`, so the resolved values are deduplicated rather than the
27
+ * references, which is the only place the two forms can be told apart.
28
+ *
29
+ * A list the plan resolved is carried across as it stands.
30
+ */
31
+ export function attributeList(context, key) {
32
+ const { resource, resolver } = context;
33
+ if (resource.unknown[key] !== true) {
34
+ const value = resource.values[key];
35
+ return Array.isArray(value) ? templateValue(value) : undefined;
36
+ }
37
+ const resolved = new Map();
38
+ const declared = longestFirst(references(resource.expressions[key]));
39
+ for (const reference of declared) {
40
+ const value = resolver.resolve(reference, resource.modulePath);
41
+ if (value !== undefined) {
42
+ resolved.set(JSON.stringify(value), value);
43
+ }
44
+ }
45
+ return resolved.size === 0 ? undefined : resolved.values().toArray();
46
+ }
47
+ /**
48
+ * One attribute of one entry of a repeating nested block.
49
+ *
50
+ * A bucket notification names the function it calls inside a `lambda_function`
51
+ * block, and the function's ARN is unknown whenever the same plan creates it.
52
+ * The mark and the references both sit at the same position in a list mirroring
53
+ * the block, so the entry's index is what finds them.
54
+ */
55
+ export function blockAttribute(context, key, index, name) {
56
+ const { resource, resolver } = context;
57
+ if (entry(resource.unknown[key], index)?.[name] !== true) {
58
+ return templateValue(entry(resource.values[key], index)?.[name]);
59
+ }
60
+ const expression = entry(resource.expressions[key], index)?.[name];
61
+ const declared = longestFirst(references(expression));
62
+ for (const reference of declared) {
63
+ const value = resolver.resolve(reference, resource.modulePath);
64
+ if (value !== undefined) {
65
+ return value;
66
+ }
67
+ }
68
+ return undefined;
69
+ }
70
+ /**
71
+ * The fields of one nested block, under the names CloudFormation gives them.
72
+ *
73
+ * The provider writes every field of a block that was declared, filling the
74
+ * ones the configuration left out with null, so the table says what each field
75
+ * is called on either side and `properties` takes the nulls back out.
76
+ */
77
+ export function blockFields(record, names) {
78
+ return properties(Object.fromEntries(Object.entries(names).map(([property, name]) => [
79
+ property,
80
+ templateValue(record[name]),
81
+ ])));
82
+ }
83
+ /** One entry of a list mirroring a repeating block. */
84
+ function entry(value, index) {
85
+ if (!Array.isArray(value)) {
86
+ return undefined;
87
+ }
88
+ const found = value[index];
89
+ return isRecord(found) ? found : undefined;
90
+ }
91
+ /** The references one expression records, or none where it holds no expression. */
92
+ function references(expression) {
93
+ return isRecord(expression)
94
+ ? (expression.references ?? [])
95
+ : [];
96
+ }
97
+ //# sourceMappingURL=sim-tf-nested-attributes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-nested-attributes.js","sourceRoot":"","sources":["../../src/terraform/sim-tf-nested-attributes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,kDAAkD;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,EACL,UAAU,EACV,aAAa,GAEd,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAC3B,OAAgC,EAChC,GAAW;IAEX,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAEvC,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEnC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA+B,CAAC;IACxD,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAErE,KAAK,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;QAE/D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;AACvE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAgC,EAChC,GAAW,EACX,KAAa,EACb,IAAY;IAEZ,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAEvC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QACzD,OAAO,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IAEtD,KAAK,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;QAE/D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CACzB,MAA+B,EAC/B,KAAuC;IAEvC,OAAO,UAAU,CACf,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;QAC9C,QAAQ;QACR,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KAC5B,CAAC,CACH,CACF,CAAC;AACJ,CAAC;AAED,uDAAuD;AACvD,SAAS,KAAK,CACZ,KAAc,EACd,KAAa;IAEb,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAY,KAAK,CAAC,KAAK,CAAC,CAAC;IAEpC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7C,CAAC;AAED,mFAAmF;AACnF,SAAS,UAAU,CAAC,UAAmB;IACrC,OAAO,QAAQ,CAAC,UAAU,CAAC;QACzB,CAAC,CAAC,CAAE,UAAkC,CAAC,UAAU,IAAI,EAAE,CAAC;QACxD,CAAC,CAAC,EAAE,CAAC;AACT,CAAC"}
@@ -0,0 +1,36 @@
1
+ import type { SimIamPolicyDocument } from "../service/iam/policy/sim-iam-policy.js";
2
+ /**
3
+ * A value a deployment supplies because the plan could not carry it.
4
+ *
5
+ * Terraform resolves nothing inside a value it could not build, so an
6
+ * attribute holding one reference to a resource of the same plan arrives
7
+ * unknown along with everything around it. A Lambda `environment.variables`
8
+ * map loses its variable names, and an `aws_iam_role_policy` document built
9
+ * with `jsonencode` loses its statements.
10
+ *
11
+ * An override is matched the way a deploy binding is, on the name the plan
12
+ * carries. It fills a gap and never replaces what the plan resolved, so a
13
+ * configuration that later resolves the value on its own stops needing one.
14
+ */
15
+ export type TerraformPlanOverride = TerraformFunctionEnvironmentOverride | TerraformRolePolicyOverride;
16
+ /** The environment variables of the function the plan names. */
17
+ export interface TerraformFunctionEnvironmentOverride {
18
+ readonly functionName: string;
19
+ readonly environment: Readonly<Record<string, string>>;
20
+ readonly roleName?: never;
21
+ readonly policy?: never;
22
+ }
23
+ /**
24
+ * The inline policy of the role the plan names.
25
+ *
26
+ * The name is the role's own `name`, which is what a plan resolves for a role
27
+ * declared with one, rather than the name of the `aws_iam_role_policy`
28
+ * resource holding the document.
29
+ */
30
+ export interface TerraformRolePolicyOverride {
31
+ readonly roleName: string;
32
+ readonly policy: SimIamPolicyDocument;
33
+ readonly functionName?: never;
34
+ readonly environment?: never;
35
+ }
36
+ //# sourceMappingURL=sim-tf-override.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-override.type.d.ts","sourceRoot":"","sources":["../../src/terraform/sim-tf-override.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAEpF;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,qBAAqB,GAC7B,oCAAoC,GACpC,2BAA2B,CAAC;AAEhC,gEAAgE;AAChE,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;CACzB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC;CAC9B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sim-tf-override.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-override.type.js","sourceRoot":"","sources":["../../src/terraform/sim-tf-override.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ import type { SimIamPolicyDocument } from "../service/iam/policy/sim-iam-policy.js";
2
+ import type { TerraformPlanOverride } from "./sim-tf-override.type.js";
3
+ /**
4
+ * The values a deployment supplied for the gaps a plan left, by the name each
5
+ * one is matched on.
6
+ *
7
+ * A mapping asks this for the name the plan gave a resource and gets back what
8
+ * was supplied for it, or nothing. Asking with a name the plan itself could not
9
+ * resolve gets nothing back, which is the same answer as no override, so a
10
+ * mapping has one case to handle rather than two.
11
+ */
12
+ export declare class TerraformPlanOverrides {
13
+ private readonly environments;
14
+ private readonly policies;
15
+ constructor(overrides?: readonly TerraformPlanOverride[]);
16
+ /** The environment variables supplied for one function name. */
17
+ environment(functionName: unknown): Readonly<Record<string, string>> | undefined;
18
+ /** The inline policy document supplied for one role name. */
19
+ policy(roleName: unknown): SimIamPolicyDocument | undefined;
20
+ }
21
+ //# sourceMappingURL=sim-tf-overrides.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-overrides.d.ts","sourceRoot":"","sources":["../../src/terraform/sim-tf-overrides.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,KAAK,EAEV,qBAAqB,EAEtB,MAAM,2BAA2B,CAAC;AAEnC;;;;;;;;GAQG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAG3B;IAEF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4C;IAErE,YAAY,SAAS,GAAE,SAAS,qBAAqB,EAAO,EAW3D;IAED,gEAAgE;IACzD,WAAW,CAChB,YAAY,EAAE,OAAO,GACpB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAI9C;IAED,6DAA6D;IACtD,MAAM,CAAC,QAAQ,EAAE,OAAO,GAAG,oBAAoB,GAAG,SAAS,CAIjE;CACF"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * The values a deployment supplied for the gaps a plan left, by the name each
3
+ * one is matched on.
4
+ *
5
+ * A mapping asks this for the name the plan gave a resource and gets back what
6
+ * was supplied for it, or nothing. Asking with a name the plan itself could not
7
+ * resolve gets nothing back, which is the same answer as no override, so a
8
+ * mapping has one case to handle rather than two.
9
+ */
10
+ export class TerraformPlanOverrides {
11
+ environments;
12
+ policies;
13
+ constructor(overrides = []) {
14
+ this.environments = new Map(overrides
15
+ .filter(isEnvironmentOverride)
16
+ .map((override) => [override.functionName, override.environment]));
17
+ this.policies = new Map(overrides
18
+ .filter(isRolePolicyOverride)
19
+ .map((override) => [override.roleName, override.policy]));
20
+ }
21
+ /** The environment variables supplied for one function name. */
22
+ environment(functionName) {
23
+ return typeof functionName === "string"
24
+ ? this.environments.get(functionName)
25
+ : undefined;
26
+ }
27
+ /** The inline policy document supplied for one role name. */
28
+ policy(roleName) {
29
+ return typeof roleName === "string"
30
+ ? this.policies.get(roleName)
31
+ : undefined;
32
+ }
33
+ }
34
+ function isEnvironmentOverride(override) {
35
+ return override.functionName !== undefined;
36
+ }
37
+ function isRolePolicyOverride(override) {
38
+ return override.roleName !== undefined;
39
+ }
40
+ //# sourceMappingURL=sim-tf-overrides.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-overrides.js","sourceRoot":"","sources":["../../src/terraform/sim-tf-overrides.ts"],"names":[],"mappings":"AAOA;;;;;;;;GAQG;AACH,MAAM,OAAO,sBAAsB;IAChB,YAAY,CAG3B;IAEe,QAAQ,CAA4C;IAErE,YAAY,SAAS,GAAqC,EAAE;QAC1D,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CACzB,SAAS;aACN,MAAM,CAAC,qBAAqB,CAAC;aAC7B,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CACpE,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CACrB,SAAS;aACN,MAAM,CAAC,oBAAoB,CAAC;aAC5B,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAC3D,CAAC;IACJ,CAAC;IAED,gEAAgE;IACzD,WAAW,CAChB,YAAqB;QAErB,OAAO,OAAO,YAAY,KAAK,QAAQ;YACrC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC;YACrC,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED,6DAA6D;IACtD,MAAM,CAAC,QAAiB;QAC7B,OAAO,OAAO,QAAQ,KAAK,QAAQ;YACjC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC7B,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;CACF;AAED,SAAS,qBAAqB,CAC5B,QAA+B;IAE/B,OAAO,QAAQ,CAAC,YAAY,KAAK,SAAS,CAAC;AAC7C,CAAC;AAED,SAAS,oBAAoB,CAC3B,QAA+B;IAE/B,OAAO,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC;AACzC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { TerraformPlan } from "./sim-tf-plan.type.js";
2
+ /**
3
+ * Read the plan JSON at a path.
4
+ *
5
+ * The two ways of getting this wrong are worth telling apart. A path with no
6
+ * file at it is named as resolved, and a file that is not the JSON form is met
7
+ * with the command that writes it, since `terraform plan -out` writes a binary
8
+ * file whose name looks like the right one.
9
+ *
10
+ * A document that parses but is not a plan is refused the same way. Every
11
+ * `terraform show -json` document carries `format_version`, and without that
12
+ * check a JSON file of anything at all reads as a plan that creates nothing
13
+ * and deploys as an empty Stack.
14
+ */
15
+ export declare function readTerraformPlanFile(planPath: string): Promise<TerraformPlan>;
16
+ /**
17
+ * The Stack name a plan file gives, for a deployment that names none.
18
+ *
19
+ * `orders.tfplan.json` deploys as `orders`, the way a template file deployment
20
+ * is named after the template.
21
+ */
22
+ export declare function terraformStackNameFromPlanPath(planPath: string): string;
23
+ //# sourceMappingURL=sim-tf-plan-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-plan-file.d.ts","sourceRoot":"","sources":["../../src/terraform/sim-tf-plan-file.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;;;;;;;;;GAYG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,aAAa,CAAC,CAcxB;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEvE"}
@@ -0,0 +1,58 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { isRecord } from "../util/type-guard/record.js";
4
+ /**
5
+ * Read the plan JSON at a path.
6
+ *
7
+ * The two ways of getting this wrong are worth telling apart. A path with no
8
+ * file at it is named as resolved, and a file that is not the JSON form is met
9
+ * with the command that writes it, since `terraform plan -out` writes a binary
10
+ * file whose name looks like the right one.
11
+ *
12
+ * A document that parses but is not a plan is refused the same way. Every
13
+ * `terraform show -json` document carries `format_version`, and without that
14
+ * check a JSON file of anything at all reads as a plan that creates nothing
15
+ * and deploys as an empty Stack.
16
+ */
17
+ export async function readTerraformPlanFile(planPath) {
18
+ const contents = await planFileContents(planPath);
19
+ try {
20
+ const parsed = JSON.parse(contents);
21
+ if (isPlanDocument(parsed)) {
22
+ return parsed;
23
+ }
24
+ }
25
+ catch (error) {
26
+ throw notPlanJson(planPath, error);
27
+ }
28
+ throw notPlanJson(planPath);
29
+ }
30
+ /**
31
+ * The Stack name a plan file gives, for a deployment that names none.
32
+ *
33
+ * `orders.tfplan.json` deploys as `orders`, the way a template file deployment
34
+ * is named after the template.
35
+ */
36
+ export function terraformStackNameFromPlanPath(planPath) {
37
+ return path.basename(planPath).replace(/(?:\.tfplan|\.plan)?\.json$/u, "");
38
+ }
39
+ function isPlanDocument(parsed) {
40
+ return isRecord(parsed) && typeof parsed["format_version"] === "string";
41
+ }
42
+ async function planFileContents(planPath) {
43
+ try {
44
+ // oxlint-disable-next-line security/detect-non-literal-fs-filename
45
+ return await readFile(planPath, "utf8");
46
+ }
47
+ catch (error) {
48
+ if (error instanceof Error && "code" in error && error.code === "ENOENT") {
49
+ throw new Error(`No Terraform plan JSON file at ${path.resolve(planPath)}`, { cause: error });
50
+ }
51
+ throw error;
52
+ }
53
+ }
54
+ function notPlanJson(planPath, cause) {
55
+ return new Error(`${path.resolve(planPath)} is not Terraform plan JSON. ` +
56
+ `Write it with \`terraform show -json <planfile>\`.`, { cause });
57
+ }
58
+ //# sourceMappingURL=sim-tf-plan-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-plan-file.js","sourceRoot":"","sources":["../../src/terraform/sim-tf-plan-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAGxD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAAgB;IAEhB,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAElD,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B,CAAC,QAAgB;IAC7D,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,cAAc,CAAC,MAAe;IACrC,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,gBAAgB,CAAC,KAAK,QAAQ,CAAC;AAC1E,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IAC9C,IAAI,CAAC;QACH,mEAAmE;QACnE,OAAO,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CACb,kCAAkC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAC1D,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,QAAgB,EAAE,KAAe;IACpD,OAAO,IAAI,KAAK,CACd,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,+BAA+B;QACtD,oDAAoD,EACtD,EAAE,KAAK,EAAE,CACV,CAAC;AACJ,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { TerraformPlan } from "./sim-tf-plan.type.js";
2
+ import type { TerraformResource } from "./sim-tf-resource.type.js";
3
+ /**
4
+ * Every managed AWS resource a plan will create, in declaration order.
5
+ *
6
+ * The three sections a plan splits a resource across are walked together.
7
+ * `planned_values` and `configuration` are two trees of the same shape, and
8
+ * `configuration` addresses its resources relative to the module declaring
9
+ * them, so the two are joined per module rather than matched on address.
10
+ * `resource_changes` is a flat list keyed by the fully qualified address.
11
+ *
12
+ * Data sources are left out, because a data source reads infrastructure that
13
+ * already exists and creates nothing. Resources from another provider are left
14
+ * in, carrying their provider name, so the caller can report them rather than
15
+ * silently lose them.
16
+ */
17
+ export declare function terraformPlanResources(plan: TerraformPlan): readonly TerraformResource[];
18
+ //# sourceMappingURL=sim-tf-plan-resources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-plan-resources.d.ts","sourceRoot":"","sources":["../../src/terraform/sim-tf-plan-resources.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAGV,aAAa,EAGd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AASnE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,aAAa,GAClB,SAAS,iBAAiB,EAAE,CAa9B"}
@@ -0,0 +1,52 @@
1
+ import { childModuleCallName, childModuleSegment, configResourcesByKey, providerShortName, unknownAttributesByAddress, } from "./sim-tf-plan-sections.js";
2
+ /**
3
+ * Every managed AWS resource a plan will create, in declaration order.
4
+ *
5
+ * The three sections a plan splits a resource across are walked together.
6
+ * `planned_values` and `configuration` are two trees of the same shape, and
7
+ * `configuration` addresses its resources relative to the module declaring
8
+ * them, so the two are joined per module rather than matched on address.
9
+ * `resource_changes` is a flat list keyed by the fully qualified address.
10
+ *
11
+ * Data sources are left out, because a data source reads infrastructure that
12
+ * already exists and creates nothing. Resources from another provider are left
13
+ * in, carrying their provider name, so the caller can report them rather than
14
+ * silently lose them.
15
+ */
16
+ export function terraformPlanResources(plan) {
17
+ const rootValues = plan.planned_values?.root_module;
18
+ if (rootValues === undefined) {
19
+ return [];
20
+ }
21
+ return collectModule(rootValues, plan.configuration?.root_module, [], unknownAttributesByAddress(plan));
22
+ }
23
+ function collectModule(values, config, modulePath, unknown) {
24
+ const declared = configResourcesByKey(config);
25
+ const own = (values.resources ?? [])
26
+ .filter((resource) => (resource.mode ?? "managed") === "managed")
27
+ .map((resource) => joined(resource, declared, modulePath, unknown));
28
+ const nested = (values.child_modules ?? []).flatMap((child) => {
29
+ // The configuration is filed under the call name and the resources are
30
+ // addressed by the instance, so the two parts of the walk take different
31
+ // halves of the same segment.
32
+ const callName = childModuleCallName(child.address, modulePath);
33
+ return collectModule(child, config?.module_calls?.[callName]?.module, [...modulePath, childModuleSegment(child.address, modulePath)], unknown);
34
+ });
35
+ return [...own, ...nested];
36
+ }
37
+ function joined(resource, declared, modulePath, unknown) {
38
+ const config = declared.get(`${resource.type}.${resource.name}`);
39
+ return {
40
+ address: resource.address,
41
+ type: resource.type,
42
+ name: resource.name,
43
+ index: resource.index,
44
+ provider: providerShortName(resource.provider_name),
45
+ values: resource.values ?? {},
46
+ unknown: unknown.get(resource.address) ?? {},
47
+ expressions: config?.expressions ?? {},
48
+ dependsOn: config?.depends_on ?? [],
49
+ modulePath,
50
+ };
51
+ }
52
+ //# sourceMappingURL=sim-tf-plan-resources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-plan-resources.js","sourceRoot":"","sources":["../../src/terraform/sim-tf-plan-resources.ts"],"names":[],"mappings":"AAcA,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,2BAA2B,CAAC;AAEnC;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAmB;IAEnB,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC;IAEpD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,aAAa,CAClB,UAAU,EACV,IAAI,CAAC,aAAa,EAAE,WAAW,EAC/B,EAAE,EACF,0BAA0B,CAAC,IAAI,CAAC,CACjC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,MAA8B,EAC9B,MAAyC,EACzC,UAA6B,EAC7B,OAAqD;IAErD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAE9C,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;SACjC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,SAAS,CAAC,KAAK,SAAS,CAAC;SAChE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAEtE,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC5D,uEAAuE;QACvE,yEAAyE;QACzE,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAEhE,OAAO,aAAa,CAClB,KAAK,EACL,MAAM,EAAE,YAAY,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EACxC,CAAC,GAAG,UAAU,EAAE,kBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,EAC9D,OAAO,CACR,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,MAAM,CACb,QAAkC,EAClC,QAAsD,EACtD,UAA6B,EAC7B,OAAqD;IAErD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAEjE,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC;QACnD,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,EAAE;QAC7B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE;QAC5C,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,EAAE;QACtC,SAAS,EAAE,MAAM,EAAE,UAAU,IAAI,EAAE;QACnC,UAAU;KACX,CAAC;AACJ,CAAC"}
@@ -0,0 +1,31 @@
1
+ import type { TerraformConfigModule, TerraformConfigResource, TerraformPlan } from "./sim-tf-plan.type.js";
2
+ /**
3
+ * Each resource's `after_unknown`, keyed by the address it belongs to.
4
+ *
5
+ * `planned_values` says what a value is and `resource_changes` says whether the
6
+ * plan knew it, so reading a resource means having both to hand.
7
+ */
8
+ export declare function unknownAttributesByAddress(plan: TerraformPlan): ReadonlyMap<string, Record<string, unknown>>;
9
+ /** The declared configuration of one module's resources, by type and name. */
10
+ export declare function configResourcesByKey(config: TerraformConfigModule | undefined): ReadonlyMap<string, TerraformConfigResource>;
11
+ /**
12
+ * The child module segment of an address, as `planned_values` writes it.
13
+ *
14
+ * A child module address repeats its parents, so `module.a.module.b` under
15
+ * `["a"]` is `b`. A module called with `count` or `for_each` carries the
16
+ * instance key here, and `module.workers["blue"]` gives `workers["blue"]`.
17
+ * That is the form every address under the module is written with, so it is
18
+ * the form a reference from inside it has to be qualified against.
19
+ */
20
+ export declare function childModuleSegment(address: string | undefined, modulePath: readonly string[]): string;
21
+ /**
22
+ * The call name of a child module, without any instance key.
23
+ *
24
+ * The configuration files a module under the name it was called by, once,
25
+ * however many instances the call has, so this is the form its `module_calls`
26
+ * are keyed on.
27
+ */
28
+ export declare function childModuleCallName(address: string | undefined, modulePath: readonly string[]): string;
29
+ /** The provider that owns a resource type, without the registry it came from. */
30
+ export declare function providerShortName(providerName: string | undefined): string;
31
+ //# sourceMappingURL=sim-tf-plan-sections.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-plan-sections.d.ts","sourceRoot":"","sources":["../../src/terraform/sim-tf-plan-sections.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,qBAAqB,EACrB,uBAAuB,EACvB,aAAa,EACd,MAAM,uBAAuB,CAAC;AAE/B;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,aAAa,GAClB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAO9C;AAED,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,qBAAqB,GAAG,SAAS,GACxC,WAAW,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAO9C;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,UAAU,EAAE,SAAS,MAAM,EAAE,GAC5B,MAAM,CAER;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,UAAU,EAAE,SAAS,MAAM,EAAE,GAC5B,MAAM,CAER;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAM1E"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * How the three sections of a plan document address and key what they hold.
3
+ *
4
+ * Each section says something different about the same resource and none of
5
+ * them says it the same way. `resource_changes` is a flat list keyed by fully
6
+ * qualified address, `configuration` files a resource under the module that
7
+ * declares it, and both a child module address and a provider name carry more
8
+ * than the name being read out of them. This is that reading, kept away from
9
+ * the walk that uses it.
10
+ */
11
+ import { addressSegments, withoutInstanceKeys, } from "./sim-tf-reference-address.js";
12
+ /**
13
+ * Each resource's `after_unknown`, keyed by the address it belongs to.
14
+ *
15
+ * `planned_values` says what a value is and `resource_changes` says whether the
16
+ * plan knew it, so reading a resource means having both to hand.
17
+ */
18
+ export function unknownAttributesByAddress(plan) {
19
+ return new Map((plan.resource_changes ?? []).map((change) => [
20
+ change.address,
21
+ change.change?.after_unknown ?? {},
22
+ ]));
23
+ }
24
+ /** The declared configuration of one module's resources, by type and name. */
25
+ export function configResourcesByKey(config) {
26
+ return new Map((config?.resources ?? []).map((resource) => [
27
+ `${resource.type}.${resource.name}`,
28
+ resource,
29
+ ]));
30
+ }
31
+ /**
32
+ * The child module segment of an address, as `planned_values` writes it.
33
+ *
34
+ * A child module address repeats its parents, so `module.a.module.b` under
35
+ * `["a"]` is `b`. A module called with `count` or `for_each` carries the
36
+ * instance key here, and `module.workers["blue"]` gives `workers["blue"]`.
37
+ * That is the form every address under the module is written with, so it is
38
+ * the form a reference from inside it has to be qualified against.
39
+ */
40
+ export function childModuleSegment(address, modulePath) {
41
+ return addressSegments(address ?? "")[modulePath.length * 2 + 1] ?? "";
42
+ }
43
+ /**
44
+ * The call name of a child module, without any instance key.
45
+ *
46
+ * The configuration files a module under the name it was called by, once,
47
+ * however many instances the call has, so this is the form its `module_calls`
48
+ * are keyed on.
49
+ */
50
+ export function childModuleCallName(address, modulePath) {
51
+ return withoutInstanceKeys(childModuleSegment(address, modulePath));
52
+ }
53
+ /** The provider that owns a resource type, without the registry it came from. */
54
+ export function providerShortName(providerName) {
55
+ if (providerName === undefined) {
56
+ return "unknown";
57
+ }
58
+ return providerName.replace(/^registry\.terraform\.io\//u, "");
59
+ }
60
+ //# sourceMappingURL=sim-tf-plan-sections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-plan-sections.js","sourceRoot":"","sources":["../../src/terraform/sim-tf-plan-sections.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EACL,eAAe,EACf,mBAAmB,GACpB,MAAM,+BAA+B,CAAC;AAOvC;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CACxC,IAAmB;IAEnB,OAAO,IAAI,GAAG,CACZ,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QAC5C,MAAM,CAAC,OAAO;QACd,MAAM,CAAC,MAAM,EAAE,aAAa,IAAI,EAAE;KACnC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,oBAAoB,CAClC,MAAyC;IAEzC,OAAO,IAAI,GAAG,CACZ,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC1C,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE;QACnC,QAAQ;KACT,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAA2B,EAC3B,UAA6B;IAE7B,OAAO,eAAe,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACzE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAA2B,EAC3B,UAA6B;IAE7B,OAAO,mBAAmB,CAAC,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,iBAAiB,CAAC,YAAgC;IAChE,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,YAAY,CAAC,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAAC;AACjE,CAAC"}