@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,98 @@
1
+ /**
2
+ * The parts of a `terraform show -json <planfile>` document this import reads.
3
+ *
4
+ * Terraform documents this as the plan representation, and its `format_version`
5
+ * has been `1.x` since Terraform 0.12. Only the members the import uses are
6
+ * described here. A plan carries a great deal more.
7
+ */
8
+ export interface TerraformPlan {
9
+ readonly format_version?: string;
10
+ readonly terraform_version?: string;
11
+ readonly planned_values?: {
12
+ readonly root_module?: TerraformPlannedModule;
13
+ };
14
+ readonly resource_changes?: readonly TerraformResourceChange[];
15
+ readonly configuration?: {
16
+ readonly root_module?: TerraformConfigModule;
17
+ };
18
+ }
19
+ /**
20
+ * One module's resolved resources, and the modules it calls.
21
+ *
22
+ * `count` and `for_each` are already expanded here. A resource declared with
23
+ * `count = 3` appears as three entries carrying `index` 0, 1 and 2.
24
+ */
25
+ export interface TerraformPlannedModule {
26
+ readonly resources?: readonly TerraformPlannedResource[];
27
+ readonly child_modules?: readonly TerraformPlannedChildModule[];
28
+ }
29
+ export interface TerraformPlannedChildModule extends TerraformPlannedModule {
30
+ /** The fully qualified call address, such as `module.uploads_bucket`. */
31
+ readonly address?: string;
32
+ }
33
+ export interface TerraformPlannedResource {
34
+ readonly address: string;
35
+ readonly mode?: string;
36
+ readonly type: string;
37
+ readonly name: string;
38
+ readonly index?: string | number | undefined;
39
+ readonly provider_name?: string;
40
+ readonly values?: Record<string, unknown>;
41
+ }
42
+ /**
43
+ * What a plan says it will do to one resource.
44
+ *
45
+ * `after` holds the attributes whose values the plan resolved, and
46
+ * `after_unknown` marks the ones it could not. An attribute unknown at plan
47
+ * time is absent from `after` and carries `true` in `after_unknown`, so the two
48
+ * have to be read together to tell "no value" from "not known yet".
49
+ */
50
+ export interface TerraformResourceChange {
51
+ readonly address: string;
52
+ readonly mode?: string;
53
+ readonly type: string;
54
+ readonly name: string;
55
+ readonly change?: {
56
+ readonly actions?: readonly string[];
57
+ readonly after?: Record<string, unknown> | null;
58
+ readonly after_unknown?: Record<string, unknown> | null;
59
+ };
60
+ }
61
+ /**
62
+ * The declared configuration, holding the reference graph.
63
+ *
64
+ * Addresses here are relative to the module the resource is declared in, while
65
+ * `planned_values` addresses are fully qualified. Joining the two means walking
66
+ * both trees together rather than matching on address.
67
+ */
68
+ export interface TerraformConfigModule {
69
+ readonly resources?: readonly TerraformConfigResource[];
70
+ readonly outputs?: Record<string, TerraformConfigOutput>;
71
+ readonly module_calls?: Record<string, {
72
+ readonly module?: TerraformConfigModule;
73
+ }>;
74
+ }
75
+ export interface TerraformConfigResource {
76
+ readonly address: string;
77
+ readonly mode?: string;
78
+ readonly type: string;
79
+ readonly name: string;
80
+ readonly expressions?: Record<string, unknown>;
81
+ readonly depends_on?: readonly string[];
82
+ }
83
+ export interface TerraformConfigOutput {
84
+ readonly expression?: TerraformExpression;
85
+ }
86
+ /**
87
+ * A `references` entry, which is a resource address optionally followed by the
88
+ * attribute being read off it.
89
+ *
90
+ * Terraform lists both forms for one reference. `aws_iam_role.processor.arn`
91
+ * names the attribute and `aws_iam_role.processor` names the resource, and both
92
+ * appear in the same array.
93
+ */
94
+ export interface TerraformExpression {
95
+ readonly constant_value?: unknown;
96
+ readonly references?: readonly string[];
97
+ }
98
+ //# sourceMappingURL=sim-tf-plan.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-plan.type.d.ts","sourceRoot":"","sources":["../../src/terraform/sim-tf-plan.type.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sim-tf-plan.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-plan.type.js","sourceRoot":"","sources":["../../src/terraform/sim-tf-plan.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * How a Terraform reference string is read, before anything is looked up.
3
+ *
4
+ * A reference is text the configuration wrote, and two things about that text
5
+ * have to be settled before a resource can be found behind it. Which of the
6
+ * forms Terraform lists is the one to follow, and what the reference means
7
+ * from outside the module that wrote it.
8
+ */
9
+ /**
10
+ * References ordered longest first.
11
+ *
12
+ * Terraform lists the attribute form and the bare resource form of one
13
+ * reference. The attribute form is longer, and it is the one that resolves to
14
+ * the value being read rather than to the resource as a whole.
15
+ */
16
+ export declare function longestFirst(references: readonly string[]): readonly string[];
17
+ /**
18
+ * An address split on the dots between its segments.
19
+ *
20
+ * A `count` or `for_each` key can hold anything, including a dot, so the dots
21
+ * inside a bracketed key are not separators. `module.hosts["a.example.com"]`
22
+ * is two segments rather than four.
23
+ */
24
+ export declare function addressSegments(address: string): readonly string[];
25
+ /**
26
+ * The module instance path a module output was read through.
27
+ *
28
+ * `module.workers["blue"].module.queue.queue_arn` is the output `queue_arn` of
29
+ * the call `queue` inside the instance `workers["blue"]`. The output's own
30
+ * references are relative to that path, keys and all, where the index the
31
+ * output was found in is keyed by call name alone.
32
+ */
33
+ export declare function moduleOutputPath(qualified: string): readonly string[];
34
+ /**
35
+ * A reference with every `count` and `for_each` key taken out of it.
36
+ *
37
+ * A module declares its outputs once however many instances of the call there
38
+ * are, so the output index is keyed by call path. A reference made from inside
39
+ * one instance carries that instance's key, and this is what it is looked up
40
+ * by.
41
+ */
42
+ export declare function withoutInstanceKeys(reference: string): string;
43
+ /**
44
+ * A module-relative reference turned into a plan-wide address.
45
+ *
46
+ * References inside a module name their own module's resources without the
47
+ * module prefix that `planned_values` puts on them. A reference to another
48
+ * module's output is qualified the same way, because the output index is keyed
49
+ * by the full call path and a nested call would otherwise miss it.
50
+ */
51
+ export declare function qualifiedReference(reference: string, modulePath: readonly string[]): string;
52
+ //# sourceMappingURL=sim-tf-reference-address.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-reference-address.d.ts","sourceRoot":"","sources":["../../src/terraform/sim-tf-reference-address.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,CAE7E;AAoBD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAsBlE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAIrE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,SAAS,MAAM,EAAE,GAC5B,MAAM,CASR"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * How a Terraform reference string is read, before anything is looked up.
3
+ *
4
+ * A reference is text the configuration wrote, and two things about that text
5
+ * have to be settled before a resource can be found behind it. Which of the
6
+ * forms Terraform lists is the one to follow, and what the reference means
7
+ * from outside the module that wrote it.
8
+ */
9
+ /**
10
+ * References ordered longest first.
11
+ *
12
+ * Terraform lists the attribute form and the bare resource form of one
13
+ * reference. The attribute form is longer, and it is the one that resolves to
14
+ * the value being read rather than to the resource as a whole.
15
+ */
16
+ export function longestFirst(references) {
17
+ return references.toSorted((a, b) => b.length - a.length);
18
+ }
19
+ /**
20
+ * Scopes that name something other than a resource of the same module.
21
+ *
22
+ * A reference under one of these is resolved by Terraform rather than by an
23
+ * address lookup, and prefixing it with the module path would invent an
24
+ * address no resource has.
25
+ */
26
+ const unqualifiedScopes = [
27
+ "var.",
28
+ "local.",
29
+ "each.",
30
+ "count.",
31
+ "self.",
32
+ "data.",
33
+ "path.",
34
+ "terraform.",
35
+ ];
36
+ /**
37
+ * An address split on the dots between its segments.
38
+ *
39
+ * A `count` or `for_each` key can hold anything, including a dot, so the dots
40
+ * inside a bracketed key are not separators. `module.hosts["a.example.com"]`
41
+ * is two segments rather than four.
42
+ */
43
+ export function addressSegments(address) {
44
+ const segments = [];
45
+ let current = "";
46
+ let bracketed = false;
47
+ for (const character of address) {
48
+ if (character === "[") {
49
+ bracketed = true;
50
+ }
51
+ else if (character === "]") {
52
+ bracketed = false;
53
+ }
54
+ if (character === "." && !bracketed) {
55
+ segments.push(current);
56
+ current = "";
57
+ continue;
58
+ }
59
+ current += character;
60
+ }
61
+ return [...segments, current];
62
+ }
63
+ /**
64
+ * The module instance path a module output was read through.
65
+ *
66
+ * `module.workers["blue"].module.queue.queue_arn` is the output `queue_arn` of
67
+ * the call `queue` inside the instance `workers["blue"]`. The output's own
68
+ * references are relative to that path, keys and all, where the index the
69
+ * output was found in is keyed by call name alone.
70
+ */
71
+ export function moduleOutputPath(qualified) {
72
+ return addressSegments(qualified)
73
+ .slice(0, -1)
74
+ .filter((_, position) => position % 2 === 1);
75
+ }
76
+ /**
77
+ * A reference with every `count` and `for_each` key taken out of it.
78
+ *
79
+ * A module declares its outputs once however many instances of the call there
80
+ * are, so the output index is keyed by call path. A reference made from inside
81
+ * one instance carries that instance's key, and this is what it is looked up
82
+ * by.
83
+ */
84
+ export function withoutInstanceKeys(reference) {
85
+ return reference.replaceAll(/\[[^\]]*\]/gu, "");
86
+ }
87
+ /**
88
+ * A module-relative reference turned into a plan-wide address.
89
+ *
90
+ * References inside a module name their own module's resources without the
91
+ * module prefix that `planned_values` puts on them. A reference to another
92
+ * module's output is qualified the same way, because the output index is keyed
93
+ * by the full call path and a nested call would otherwise miss it.
94
+ */
95
+ export function qualifiedReference(reference, modulePath) {
96
+ if (modulePath.length === 0 ||
97
+ unqualifiedScopes.some((scope) => reference.startsWith(scope))) {
98
+ return reference;
99
+ }
100
+ return `${modulePath.map((call) => `module.${call}`).join(".")}.${reference}`;
101
+ }
102
+ //# sourceMappingURL=sim-tf-reference-address.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-reference-address.js","sourceRoot":"","sources":["../../src/terraform/sim-tf-reference-address.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,UAA6B;IACxD,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAG;IACxB,MAAM;IACN,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,YAAY;CACb,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;QAChC,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YACtB,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;aAAM,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YAC7B,SAAS,GAAG,KAAK,CAAC;QACpB,CAAC;QAED,IAAI,SAAS,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,OAAO,GAAG,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QAED,OAAO,IAAI,SAAS,CAAC;IACvB,CAAC;IAED,OAAO,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,OAAO,eAAe,CAAC,SAAS,CAAC;SAC9B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACZ,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,OAAO,SAAS,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAChC,SAAiB,EACjB,UAA6B;IAE7B,IACE,UAAU,CAAC,MAAM,KAAK,CAAC;QACvB,iBAAiB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAC9D,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,EAAE,CAAC;AAChF,CAAC"}
@@ -0,0 +1,82 @@
1
+ import type { SimCfnTemplateValue } from "../service/cloudformation/template/value/sim-cfn-template-value.js";
2
+ import type { TerraformResource } from "./sim-tf-resource.type.js";
3
+ /**
4
+ * Resolves a Terraform reference against the resources a template declares.
5
+ *
6
+ * A reference is an address optionally followed by the attribute being read.
7
+ * Terraform lists both forms for the same reference, so the longest address
8
+ * matching a resource wins and what is left over is the attribute.
9
+ *
10
+ * The resources given are the ones the template will hold, rather than every
11
+ * resource of the plan. A reference to a resource the template does not
12
+ * declare resolves to nothing, so no property can come out of this naming a
13
+ * logical ID that is not there.
14
+ */
15
+ export declare class TerraformReferenceResolver {
16
+ private readonly byAddress;
17
+ private readonly moduleOutputs;
18
+ private readonly logicalIds;
19
+ constructor(resources: readonly TerraformResource[], moduleOutputs?: ReadonlyMap<string, readonly string[]>);
20
+ /** The logical ID the template declares one address under. */
21
+ logicalId(address: string): string;
22
+ /**
23
+ * The resource at one address, for a caller that needs the resource rather
24
+ * than a value read off it. A mapping reading a name out of the resource its
25
+ * own attribute refers to is what wants this.
26
+ */
27
+ resource(address: string): TerraformResource | undefined;
28
+ /**
29
+ * The CloudFormation value one reference stands for.
30
+ *
31
+ * A reference to a resource the template does not declare returns undefined,
32
+ * and so does one whose attribute has no entry in the read table. The caller
33
+ * decides what an unresolvable reference means for the Resource holding it.
34
+ */
35
+ resolve(reference: string, modulePath: readonly string[]): SimCfnTemplateValue | undefined;
36
+ /**
37
+ * The address of the resource one reference names.
38
+ *
39
+ * A fold needs the resource a reference points at rather than the value read
40
+ * off it, because it is merging properties into that resource's template,
41
+ * and so does the ordering pass.
42
+ */
43
+ targetAddress(reference: string, modulePath: readonly string[]): string | undefined;
44
+ /**
45
+ * The attribute a reference reads off the resource behind it.
46
+ *
47
+ * A reference naming a resource address and nothing else names no attribute,
48
+ * and is the resource itself. A reference through a module output names the
49
+ * output rather than the attribute, and the output's own expression says
50
+ * which attribute that is.
51
+ */
52
+ private attributeName;
53
+ private target;
54
+ /**
55
+ * The module output one reference names.
56
+ *
57
+ * The index is keyed by module call path, since a module declares its
58
+ * outputs once however many instances of the call there are. A reference
59
+ * made from inside one instance carries that instance's key, so the key
60
+ * comes off when the qualified form finds nothing.
61
+ */
62
+ private moduleOutput;
63
+ /**
64
+ * The resource a module output leads to.
65
+ *
66
+ * The output's own expression names it, in terms of the module declaring the
67
+ * output, so following one is resolving that expression again one module
68
+ * down. An output built out of several resources returns the first that
69
+ * resolves, and the depth limit stops a module whose outputs refer to each
70
+ * other from looping.
71
+ */
72
+ private throughModuleOutput;
73
+ /**
74
+ * The resource whose address is the longest prefix of this reference.
75
+ *
76
+ * `aws_iam_role.processor.arn` has to find `aws_iam_role.processor` and leave
77
+ * `arn` behind, and a `for_each` instance address carries a bracketed key
78
+ * that is part of the address rather than an attribute.
79
+ */
80
+ private longestMatch;
81
+ }
82
+ //# sourceMappingURL=sim-tf-reference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-reference.d.ts","sourceRoot":"","sources":["../../src/terraform/sim-tf-reference.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oEAAoE,CAAC;AAC9G,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAUnE;;;;;;;;;;;GAWG;AACH,qBAAa,0BAA0B;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyC;IACnE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyC;IACvE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAEjD,YACE,SAAS,EAAE,SAAS,iBAAiB,EAAE,EACvC,aAAa,GAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAa,EAOlE;IAED,8DAA8D;IACvD,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExC;IAED;;;;OAIG;IACI,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAE9D;IAED;;;;;;OAMG;IACI,OAAO,CACZ,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,SAAS,MAAM,EAAE,GAC5B,mBAAmB,GAAG,SAAS,CAuBjC;IAED;;;;;;OAMG;IACI,aAAa,CAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,SAAS,MAAM,EAAE,GAC5B,MAAM,GAAG,SAAS,CAEpB;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,MAAM;IAId;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY;IAOpB;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IA6B3B;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;CAerB"}
@@ -0,0 +1,153 @@
1
+ import { terraformAttributeReads } from "./sim-tf-attribute-reads.js";
2
+ import { TerraformLogicalIds } from "./sim-tf-logical-id.js";
3
+ import { longestFirst, moduleOutputPath, qualifiedReference, withoutInstanceKeys, } from "./sim-tf-reference-address.js";
4
+ /**
5
+ * Resolves a Terraform reference against the resources a template declares.
6
+ *
7
+ * A reference is an address optionally followed by the attribute being read.
8
+ * Terraform lists both forms for the same reference, so the longest address
9
+ * matching a resource wins and what is left over is the attribute.
10
+ *
11
+ * The resources given are the ones the template will hold, rather than every
12
+ * resource of the plan. A reference to a resource the template does not
13
+ * declare resolves to nothing, so no property can come out of this naming a
14
+ * logical ID that is not there.
15
+ */
16
+ export class TerraformReferenceResolver {
17
+ byAddress;
18
+ moduleOutputs;
19
+ logicalIds;
20
+ constructor(resources, moduleOutputs = new Map()) {
21
+ this.byAddress = new Map(resources.map((resource) => [resource.address, resource]));
22
+ this.moduleOutputs = moduleOutputs;
23
+ this.logicalIds = new TerraformLogicalIds(this.byAddress.keys());
24
+ }
25
+ /** The logical ID the template declares one address under. */
26
+ logicalId(address) {
27
+ return this.logicalIds.of(address);
28
+ }
29
+ /**
30
+ * The resource at one address, for a caller that needs the resource rather
31
+ * than a value read off it. A mapping reading a name out of the resource its
32
+ * own attribute refers to is what wants this.
33
+ */
34
+ resource(address) {
35
+ return this.byAddress.get(address);
36
+ }
37
+ /**
38
+ * The CloudFormation value one reference stands for.
39
+ *
40
+ * A reference to a resource the template does not declare returns undefined,
41
+ * and so does one whose attribute has no entry in the read table. The caller
42
+ * decides what an unresolvable reference means for the Resource holding it.
43
+ */
44
+ resolve(reference, modulePath) {
45
+ const qualified = qualifiedReference(reference, modulePath);
46
+ const target = this.target(qualified);
47
+ if (target === undefined) {
48
+ return undefined;
49
+ }
50
+ const attribute = this.attributeName(qualified, target.address);
51
+ const read = attribute === undefined
52
+ ? "Ref"
53
+ : terraformAttributeReads.get(`${target.type}.${attribute}`);
54
+ if (read === undefined) {
55
+ return undefined;
56
+ }
57
+ const logicalId = this.logicalId(target.address);
58
+ return read === "Ref"
59
+ ? { Ref: logicalId }
60
+ : { "Fn::GetAtt": [logicalId, read] };
61
+ }
62
+ /**
63
+ * The address of the resource one reference names.
64
+ *
65
+ * A fold needs the resource a reference points at rather than the value read
66
+ * off it, because it is merging properties into that resource's template,
67
+ * and so does the ordering pass.
68
+ */
69
+ targetAddress(reference, modulePath) {
70
+ return this.target(qualifiedReference(reference, modulePath))?.address;
71
+ }
72
+ /**
73
+ * The attribute a reference reads off the resource behind it.
74
+ *
75
+ * A reference naming a resource address and nothing else names no attribute,
76
+ * and is the resource itself. A reference through a module output names the
77
+ * output rather than the attribute, and the output's own expression says
78
+ * which attribute that is.
79
+ */
80
+ attributeName(qualified, address) {
81
+ if (qualified === address) {
82
+ return undefined;
83
+ }
84
+ if (qualified.startsWith(`${address}.`)) {
85
+ return qualified.slice(address.length + 1);
86
+ }
87
+ const [longest] = longestFirst(this.moduleOutput(qualified) ?? []);
88
+ return longest?.split(".").pop();
89
+ }
90
+ target(qualified) {
91
+ return this.longestMatch(qualified) ?? this.throughModuleOutput(qualified);
92
+ }
93
+ /**
94
+ * The module output one reference names.
95
+ *
96
+ * The index is keyed by module call path, since a module declares its
97
+ * outputs once however many instances of the call there are. A reference
98
+ * made from inside one instance carries that instance's key, so the key
99
+ * comes off when the qualified form finds nothing.
100
+ */
101
+ moduleOutput(qualified) {
102
+ return (this.moduleOutputs.get(qualified) ??
103
+ this.moduleOutputs.get(withoutInstanceKeys(qualified)));
104
+ }
105
+ /**
106
+ * The resource a module output leads to.
107
+ *
108
+ * The output's own expression names it, in terms of the module declaring the
109
+ * output, so following one is resolving that expression again one module
110
+ * down. An output built out of several resources returns the first that
111
+ * resolves, and the depth limit stops a module whose outputs refer to each
112
+ * other from looping.
113
+ */
114
+ throughModuleOutput(qualified, depth = 0) {
115
+ const output = this.moduleOutput(qualified);
116
+ if (output === undefined || depth > 8) {
117
+ return undefined;
118
+ }
119
+ // The path the output was read through rather than the one it was
120
+ // declared under, so an output reached inside a `for_each` instance
121
+ // follows its own instance's resources.
122
+ const instance = moduleOutputPath(qualified);
123
+ for (const reference of longestFirst(output)) {
124
+ const nested = qualifiedReference(reference, instance);
125
+ const target = this.longestMatch(nested) ??
126
+ this.throughModuleOutput(nested, depth + 1);
127
+ if (target !== undefined) {
128
+ return target;
129
+ }
130
+ }
131
+ return undefined;
132
+ }
133
+ /**
134
+ * The resource whose address is the longest prefix of this reference.
135
+ *
136
+ * `aws_iam_role.processor.arn` has to find `aws_iam_role.processor` and leave
137
+ * `arn` behind, and a `for_each` instance address carries a bracketed key
138
+ * that is part of the address rather than an attribute.
139
+ */
140
+ longestMatch(qualified) {
141
+ let best;
142
+ for (const [address, resource] of this.byAddress) {
143
+ if (qualified !== address && !qualified.startsWith(`${address}.`)) {
144
+ continue;
145
+ }
146
+ if (best === undefined || address.length > best.address.length) {
147
+ best = resource;
148
+ }
149
+ }
150
+ return best;
151
+ }
152
+ }
153
+ //# sourceMappingURL=sim-tf-reference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-reference.js","sourceRoot":"","sources":["../../src/terraform/sim-tf-reference.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { TerraformResource } from "./sim-tf-resource.type.js";
2
+ import type { TerraformReferenceResolver } from "./sim-tf-reference.js";
3
+ /**
4
+ * The resource one attribute of a resource refers to.
5
+ *
6
+ * A fold reads the resource it configures this way, because its parent
7
+ * attribute holds a reference rather than a value. A bucket or a role being
8
+ * created by the same plan has no name until it exists, so the reference is
9
+ * all there is to go on.
10
+ *
11
+ * Terraform lists both the attribute form and the bare resource form of one
12
+ * reference, and both lead to the same resource, so the first that resolves
13
+ * wins.
14
+ */
15
+ export declare function terraformReferencedResource(resource: TerraformResource, key: string, resolver: TerraformReferenceResolver): TerraformResource | undefined;
16
+ /** The address of the resource one attribute refers to. */
17
+ export declare function terraformReferencedAddress(resource: TerraformResource, key: string, resolver: TerraformReferenceResolver): string | undefined;
18
+ //# sourceMappingURL=sim-tf-referenced.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-referenced.d.ts","sourceRoot":"","sources":["../../src/terraform/sim-tf-referenced.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAGxE;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,iBAAiB,EAC3B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,0BAA0B,GACnC,iBAAiB,GAAG,SAAS,CAI/B;AAED,2DAA2D;AAC3D,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,iBAAiB,EAC3B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,0BAA0B,GACnC,MAAM,GAAG,SAAS,CAoBpB"}
@@ -0,0 +1,40 @@
1
+ /*
2
+ * Reading a plan means reading records whose keys come from the document
3
+ * rather than from this code, so the object-injection rule fires on every
4
+ * lookup. The records are parsed JSON with no prototype of their own.
5
+ */
6
+ // oxlint-disable security/detect-object-injection
7
+ import { isRecord } from "../util/type-guard/record.js";
8
+ import { longestFirst } from "./sim-tf-reference-address.js";
9
+ /**
10
+ * The resource one attribute of a resource refers to.
11
+ *
12
+ * A fold reads the resource it configures this way, because its parent
13
+ * attribute holds a reference rather than a value. A bucket or a role being
14
+ * created by the same plan has no name until it exists, so the reference is
15
+ * all there is to go on.
16
+ *
17
+ * Terraform lists both the attribute form and the bare resource form of one
18
+ * reference, and both lead to the same resource, so the first that resolves
19
+ * wins.
20
+ */
21
+ export function terraformReferencedResource(resource, key, resolver) {
22
+ const address = terraformReferencedAddress(resource, key, resolver);
23
+ return address === undefined ? undefined : resolver.resource(address);
24
+ }
25
+ /** The address of the resource one attribute refers to. */
26
+ export function terraformReferencedAddress(resource, key, resolver) {
27
+ const expression = resource.expressions[key];
28
+ if (!isRecord(expression)) {
29
+ return undefined;
30
+ }
31
+ const references = longestFirst(expression.references ?? []);
32
+ for (const reference of references) {
33
+ const address = resolver.targetAddress(reference, resource.modulePath);
34
+ if (address !== undefined) {
35
+ return address;
36
+ }
37
+ }
38
+ return undefined;
39
+ }
40
+ //# sourceMappingURL=sim-tf-referenced.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-referenced.js","sourceRoot":"","sources":["../../src/terraform/sim-tf-referenced.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,kDAAkD;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAIxD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,2BAA2B,CACzC,QAA2B,EAC3B,GAAW,EACX,QAAoC;IAEpC,MAAM,OAAO,GAAG,0BAA0B,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAEpE,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACxE,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,0BAA0B,CACxC,QAA2B,EAC3B,GAAW,EACX,QAAoC;IAEpC,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAE7C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,UAAU,GAAG,YAAY,CAC5B,UAAkC,CAAC,UAAU,IAAI,EAAE,CACrD,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;QAEvE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { TerraformResource } from "./sim-tf-resource.type.js";
2
+ import type { TerraformBuildContext } from "./sim-tf-attributes.js";
3
+ import type { TerraformDeclaration } from "./sim-tf-mapping.type.js";
4
+ import type { TerraformSkipReason } from "./sim-tf-report.type.js";
5
+ /**
6
+ * Why the Resource a mapping builds is one the service would not accept.
7
+ *
8
+ * A plan can leave a value the service requires unresolvable, and a Resource
9
+ * built without it fails and takes the Stack's other Resources with it. The
10
+ * mapping names those properties under `requires`, and names under `refused`
11
+ * the case where every property is there and the service will not take one of
12
+ * the values. Either way the resource is left out of the template rather than
13
+ * deployed into a failure.
14
+ */
15
+ export declare function terraformRefusal(declaration: TerraformDeclaration, build: TerraformBuildContext, unresolved: TerraformSkipReason): TerraformSkipReason | undefined;
16
+ /**
17
+ * The properties a mapping declares as required and could not fill.
18
+ *
19
+ * A resource with no mapping at all has none. It is refused for the type
20
+ * before any value is read, and there is no mapping to ask what it needed.
21
+ */
22
+ export declare function terraformMissingProperties(resource: TerraformResource, build: TerraformBuildContext): readonly string[];
23
+ //# sourceMappingURL=sim-tf-refusal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-refusal.d.ts","sourceRoot":"","sources":["../../src/terraform/sim-tf-refusal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAEpE,OAAO,KAAK,EACV,oBAAoB,EAErB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,oBAAoB,EACjC,KAAK,EAAE,qBAAqB,EAC5B,UAAU,EAAE,mBAAmB,GAC9B,mBAAmB,GAAG,SAAS,CAQjC;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,iBAAiB,EAC3B,KAAK,EAAE,qBAAqB,GAC3B,SAAS,MAAM,EAAE,CAMnB"}