@kensio/yulin 1.19.2 → 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 (705) 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/resource/cfn/ses/sim-ses-cfn-value-adapter.d.ts.map +1 -1
  46. package/dist/service/cloudformation/resource/cfn/ses/sim-ses-cfn-value-adapter.js +8 -0
  47. package/dist/service/cloudformation/resource/cfn/ses/sim-ses-cfn-value-adapter.js.map +1 -1
  48. package/dist/service/cloudformation/resource/cfn/ses/sim-ses-configuration-set-cfn.d.ts +30 -0
  49. package/dist/service/cloudformation/resource/cfn/ses/sim-ses-configuration-set-cfn.d.ts.map +1 -0
  50. package/dist/service/cloudformation/resource/cfn/ses/sim-ses-configuration-set-cfn.js +29 -0
  51. package/dist/service/cloudformation/resource/cfn/ses/sim-ses-configuration-set-cfn.js.map +1 -0
  52. package/dist/service/cloudformation/resource/cfn/ses/sim-ses-identity-cfn.js +1 -1
  53. package/dist/service/cloudformation/resource/cfn/ses/sim-ses-identity-cfn.js.map +1 -1
  54. package/dist/service/cognito/cfn/client/sim-cfn-cognito-client-properties.d.ts.map +1 -1
  55. package/dist/service/cognito/cfn/client/sim-cfn-cognito-client-properties.js +2 -0
  56. package/dist/service/cognito/cfn/client/sim-cfn-cognito-client-properties.js.map +1 -1
  57. package/dist/service/cognito/cfn/sim-cfn-cognito-property-parser.d.ts +7 -0
  58. package/dist/service/cognito/cfn/sim-cfn-cognito-property-parser.d.ts.map +1 -1
  59. package/dist/service/cognito/cfn/sim-cfn-cognito-property-parser.js +14 -0
  60. package/dist/service/cognito/cfn/sim-cfn-cognito-property-parser.js.map +1 -1
  61. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-properties.d.ts.map +1 -1
  62. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-properties.js +10 -0
  63. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-properties.js.map +1 -1
  64. package/dist/service/cognito/command/auth/sim-cognito-available-challenges.d.ts.map +1 -1
  65. package/dist/service/cognito/command/auth/sim-cognito-available-challenges.js +7 -6
  66. package/dist/service/cognito/command/auth/sim-cognito-available-challenges.js.map +1 -1
  67. package/dist/service/cognito/command/client/sim-cognito-unsimulated-client-options.d.ts +20 -0
  68. package/dist/service/cognito/command/client/sim-cognito-unsimulated-client-options.d.ts.map +1 -1
  69. package/dist/service/cognito/command/client/sim-cognito-unsimulated-client-options.js +24 -4
  70. package/dist/service/cognito/command/client/sim-cognito-unsimulated-client-options.js.map +1 -1
  71. package/dist/service/cognito/command/sim-cognito-commands.d.ts +4 -0
  72. package/dist/service/cognito/command/sim-cognito-commands.d.ts.map +1 -1
  73. package/dist/service/cognito/command/sim-cognito-commands.js +8 -2
  74. package/dist/service/cognito/command/sim-cognito-commands.js.map +1 -1
  75. package/dist/service/cognito/command/sim-cognito-unsimulated-input.d.ts +9 -0
  76. package/dist/service/cognito/command/sim-cognito-unsimulated-input.d.ts.map +1 -1
  77. package/dist/service/cognito/command/sim-cognito-unsimulated-input.js +13 -3
  78. package/dist/service/cognito/command/sim-cognito-unsimulated-input.js.map +1 -1
  79. package/dist/service/cognito/command/user/sim-cognito-user-mfa-commands.d.ts.map +1 -1
  80. package/dist/service/cognito/command/user/sim-cognito-user-mfa-commands.js +2 -1
  81. package/dist/service/cognito/command/user/sim-cognito-user-mfa-commands.js.map +1 -1
  82. package/dist/service/cognito/command/user/user-mfa.command.d.ts +4 -3
  83. package/dist/service/cognito/command/user/user-mfa.command.d.ts.map +1 -1
  84. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-messaging.d.ts +22 -8
  85. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-messaging.d.ts.map +1 -1
  86. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-messaging.js +24 -11
  87. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-messaging.js.map +1 -1
  88. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-mfa-commands.d.ts +3 -3
  89. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-mfa-commands.d.ts.map +1 -1
  90. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-mfa-commands.js +5 -4
  91. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-mfa-commands.js.map +1 -1
  92. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-view.d.ts +6 -0
  93. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-view.d.ts.map +1 -1
  94. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-view.js +7 -0
  95. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-view.js.map +1 -1
  96. package/dist/service/cognito/command/user-pool/user-pool-mfa.command.d.ts +7 -6
  97. package/dist/service/cognito/command/user-pool/user-pool-mfa.command.d.ts.map +1 -1
  98. package/dist/service/cognito/command/user-pool/user-pool.command.d.ts +4 -2
  99. package/dist/service/cognito/command/user-pool/user-pool.command.d.ts.map +1 -1
  100. package/dist/service/cognito/error/sim-cognito.error.d.ts +23 -0
  101. package/dist/service/cognito/error/sim-cognito.error.d.ts.map +1 -1
  102. package/dist/service/cognito/error/sim-cognito.error.js +27 -0
  103. package/dist/service/cognito/error/sim-cognito.error.js.map +1 -1
  104. package/dist/service/cognito/index.d.ts +4 -0
  105. package/dist/service/cognito/index.d.ts.map +1 -1
  106. package/dist/service/cognito/index.js +4 -0
  107. package/dist/service/cognito/index.js.map +1 -1
  108. package/dist/service/cognito/sim-cognito-identity-provider.d.ts +14 -0
  109. package/dist/service/cognito/sim-cognito-identity-provider.d.ts.map +1 -1
  110. package/dist/service/cognito/sim-cognito-identity-provider.js +5 -1
  111. package/dist/service/cognito/sim-cognito-identity-provider.js.map +1 -1
  112. package/dist/service/cognito/user-pool/message/sim-aws-cognito-email-senders.d.ts +42 -0
  113. package/dist/service/cognito/user-pool/message/sim-aws-cognito-email-senders.d.ts.map +1 -0
  114. package/dist/service/cognito/user-pool/message/sim-aws-cognito-email-senders.js +84 -0
  115. package/dist/service/cognito/user-pool/message/sim-aws-cognito-email-senders.js.map +1 -0
  116. package/dist/service/cognito/user-pool/message/sim-cognito-email-configuration-reader.d.ts +31 -0
  117. package/dist/service/cognito/user-pool/message/sim-cognito-email-configuration-reader.d.ts.map +1 -0
  118. package/dist/service/cognito/user-pool/message/sim-cognito-email-configuration-reader.js +72 -0
  119. package/dist/service/cognito/user-pool/message/sim-cognito-email-configuration-reader.js.map +1 -0
  120. package/dist/service/cognito/user-pool/message/sim-cognito-email-configuration.d.ts +85 -0
  121. package/dist/service/cognito/user-pool/message/sim-cognito-email-configuration.d.ts.map +1 -0
  122. package/dist/service/cognito/user-pool/message/sim-cognito-email-configuration.js +117 -0
  123. package/dist/service/cognito/user-pool/message/sim-cognito-email-configuration.js.map +1 -0
  124. package/dist/service/cognito/user-pool/message/sim-cognito-email-senders.d.ts +73 -0
  125. package/dist/service/cognito/user-pool/message/sim-cognito-email-senders.d.ts.map +1 -0
  126. package/dist/service/cognito/user-pool/message/sim-cognito-email-senders.js +23 -0
  127. package/dist/service/cognito/user-pool/message/sim-cognito-email-senders.js.map +1 -0
  128. package/dist/service/cognito/user-pool/message/sim-cognito-email-source-arn.d.ts +39 -0
  129. package/dist/service/cognito/user-pool/message/sim-cognito-email-source-arn.d.ts.map +1 -0
  130. package/dist/service/cognito/user-pool/message/sim-cognito-email-source-arn.js +33 -0
  131. package/dist/service/cognito/user-pool/message/sim-cognito-email-source-arn.js.map +1 -0
  132. package/dist/service/cognito/user-pool/message/sim-cognito-pool-email-delivery.d.ts +41 -0
  133. package/dist/service/cognito/user-pool/message/sim-cognito-pool-email-delivery.d.ts.map +1 -0
  134. package/dist/service/cognito/user-pool/message/sim-cognito-pool-email-delivery.js +66 -0
  135. package/dist/service/cognito/user-pool/message/sim-cognito-pool-email-delivery.js.map +1 -0
  136. package/dist/service/cognito/user-pool/message/sim-cognito-pool-messenger.d.ts +19 -4
  137. package/dist/service/cognito/user-pool/message/sim-cognito-pool-messenger.d.ts.map +1 -1
  138. package/dist/service/cognito/user-pool/message/sim-cognito-pool-messenger.js +30 -8
  139. package/dist/service/cognito/user-pool/message/sim-cognito-pool-messenger.js.map +1 -1
  140. package/dist/service/cognito/user-pool/message/sim-cognito-sent-message.d.ts +9 -3
  141. package/dist/service/cognito/user-pool/message/sim-cognito-sent-message.d.ts.map +1 -1
  142. package/dist/service/cognito/user-pool/message/sim-cognito-sent-message.js +9 -3
  143. package/dist/service/cognito/user-pool/message/sim-cognito-sent-message.js.map +1 -1
  144. package/dist/service/cognito/user-pool/mfa/sim-cognito-user-pool-mfa.d.ts +2 -3
  145. package/dist/service/cognito/user-pool/mfa/sim-cognito-user-pool-mfa.d.ts.map +1 -1
  146. package/dist/service/cognito/user-pool/mfa/sim-cognito-user-pool-mfa.js.map +1 -1
  147. package/dist/service/cognito/user-pool/sim-cognito-user-pool-arn.d.ts +4 -2
  148. package/dist/service/cognito/user-pool/sim-cognito-user-pool-arn.d.ts.map +1 -1
  149. package/dist/service/cognito/user-pool/sim-cognito-user-pool-arn.js +2 -1
  150. package/dist/service/cognito/user-pool/sim-cognito-user-pool-arn.js.map +1 -1
  151. package/dist/service/cognito/user-pool/sim-cognito-user-pool-settings.d.ts +13 -0
  152. package/dist/service/cognito/user-pool/sim-cognito-user-pool-settings.d.ts.map +1 -1
  153. package/dist/service/cognito/user-pool/sim-cognito-user-pool-settings.js +7 -0
  154. package/dist/service/cognito/user-pool/sim-cognito-user-pool-settings.js.map +1 -1
  155. package/dist/service/iam/index.d.ts +1 -0
  156. package/dist/service/iam/index.d.ts.map +1 -1
  157. package/dist/service/iam/index.js.map +1 -1
  158. package/dist/service/ses/account/sim-ses-account.d.ts +22 -0
  159. package/dist/service/ses/account/sim-ses-account.d.ts.map +1 -1
  160. package/dist/service/ses/account/sim-ses-account.js +31 -0
  161. package/dist/service/ses/account/sim-ses-account.js.map +1 -1
  162. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-creator.d.ts +30 -0
  163. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-creator.d.ts.map +1 -0
  164. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-creator.js +47 -0
  165. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-creator.js.map +1 -0
  166. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-option-groups.d.ts +23 -0
  167. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-option-groups.d.ts.map +1 -0
  168. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-option-groups.js +52 -0
  169. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-option-groups.js.map +1 -0
  170. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-properties.d.ts +39 -0
  171. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-properties.d.ts.map +1 -0
  172. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-properties.js +71 -0
  173. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-properties.js.map +1 -0
  174. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-unsimulated-properties.d.ts +17 -0
  175. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-unsimulated-properties.d.ts.map +1 -0
  176. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-unsimulated-properties.js +34 -0
  177. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-unsimulated-properties.js.map +1 -0
  178. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-creator.d.ts +5 -0
  179. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-creator.d.ts.map +1 -1
  180. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-creator.js +7 -0
  181. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-creator.js.map +1 -1
  182. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-properties.d.ts +13 -8
  183. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-properties.d.ts.map +1 -1
  184. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-properties.js +29 -14
  185. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-properties.js.map +1 -1
  186. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-settings.d.ts +18 -0
  187. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-settings.d.ts.map +1 -0
  188. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-settings.js +77 -0
  189. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-settings.js.map +1 -0
  190. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-values.d.ts +25 -0
  191. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-values.d.ts.map +1 -0
  192. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-values.js +49 -0
  193. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-values.js.map +1 -0
  194. package/dist/service/ses/cfn/sim-cfn-ses-property-scalars.d.ts +25 -0
  195. package/dist/service/ses/cfn/sim-cfn-ses-property-scalars.d.ts.map +1 -0
  196. package/dist/service/ses/cfn/sim-cfn-ses-property-scalars.js +69 -0
  197. package/dist/service/ses/cfn/sim-cfn-ses-property-scalars.js.map +1 -0
  198. package/dist/service/ses/cfn/sim-cfn-ses-resource-types.d.ts +2 -0
  199. package/dist/service/ses/cfn/sim-cfn-ses-resource-types.d.ts.map +1 -1
  200. package/dist/service/ses/cfn/sim-cfn-ses-resource-types.js +2 -0
  201. package/dist/service/ses/cfn/sim-cfn-ses-resource-types.js.map +1 -1
  202. package/dist/service/ses/cfn/sim-ses-cfn-resource-factory.d.ts +3 -2
  203. package/dist/service/ses/cfn/sim-ses-cfn-resource-factory.d.ts.map +1 -1
  204. package/dist/service/ses/cfn/sim-ses-cfn-resource-factory.js +43 -40
  205. package/dist/service/ses/cfn/sim-ses-cfn-resource-factory.js.map +1 -1
  206. package/dist/service/ses/command/account/account.command.d.ts +22 -0
  207. package/dist/service/ses/command/account/account.command.d.ts.map +1 -1
  208. package/dist/service/ses/command/account/sim-ses-account-commands.d.ts +12 -4
  209. package/dist/service/ses/command/account/sim-ses-account-commands.d.ts.map +1 -1
  210. package/dist/service/ses/command/account/sim-ses-account-commands.js +16 -3
  211. package/dist/service/ses/command/account/sim-ses-account-commands.js.map +1 -1
  212. package/dist/service/ses/command/account/sim-ses-account-report.d.ts +3 -0
  213. package/dist/service/ses/command/account/sim-ses-account-report.d.ts.map +1 -1
  214. package/dist/service/ses/command/account/sim-ses-account-report.js +4 -0
  215. package/dist/service/ses/command/account/sim-ses-account-report.js.map +1 -1
  216. package/dist/service/ses/command/authorize/sim-ses-authorizer.d.ts +8 -0
  217. package/dist/service/ses/command/authorize/sim-ses-authorizer.d.ts.map +1 -1
  218. package/dist/service/ses/command/authorize/sim-ses-authorizer.js +11 -1
  219. package/dist/service/ses/command/authorize/sim-ses-authorizer.js.map +1 -1
  220. package/dist/service/ses/command/configuration-set/configuration-set.command.d.ts +100 -0
  221. package/dist/service/ses/command/configuration-set/configuration-set.command.d.ts.map +1 -0
  222. package/dist/service/ses/command/configuration-set/configuration-set.command.js +2 -0
  223. package/dist/service/ses/command/configuration-set/configuration-set.command.js.map +1 -0
  224. package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-commands.d.ts +55 -0
  225. package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-commands.d.ts.map +1 -0
  226. package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-commands.js +105 -0
  227. package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-commands.js.map +1 -0
  228. package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-options.d.ts +11 -0
  229. package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-options.d.ts.map +1 -0
  230. package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-options.js +83 -0
  231. package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-options.js.map +1 -0
  232. package/dist/service/ses/command/configuration-set/sim-ses-unsimulated-configuration-set-input.d.ts +12 -0
  233. package/dist/service/ses/command/configuration-set/sim-ses-unsimulated-configuration-set-input.d.ts.map +1 -0
  234. package/dist/service/ses/command/configuration-set/sim-ses-unsimulated-configuration-set-input.js +27 -0
  235. package/dist/service/ses/command/configuration-set/sim-ses-unsimulated-configuration-set-input.js.map +1 -0
  236. package/dist/service/ses/command/identity/identity.command.d.ts +55 -2
  237. package/dist/service/ses/command/identity/identity.command.d.ts.map +1 -1
  238. package/dist/service/ses/command/identity/sim-ses-identity-attributes.d.ts +29 -0
  239. package/dist/service/ses/command/identity/sim-ses-identity-attributes.d.ts.map +1 -0
  240. package/dist/service/ses/command/identity/sim-ses-identity-attributes.js +60 -0
  241. package/dist/service/ses/command/identity/sim-ses-identity-attributes.js.map +1 -0
  242. package/dist/service/ses/command/identity/sim-ses-identity-commands.d.ts +6 -1
  243. package/dist/service/ses/command/identity/sim-ses-identity-commands.d.ts.map +1 -1
  244. package/dist/service/ses/command/identity/sim-ses-identity-commands.js +12 -12
  245. package/dist/service/ses/command/identity/sim-ses-identity-commands.js.map +1 -1
  246. package/dist/service/ses/command/identity/sim-ses-identity-input-settings.d.ts +16 -0
  247. package/dist/service/ses/command/identity/sim-ses-identity-input-settings.d.ts.map +1 -0
  248. package/dist/service/ses/command/identity/sim-ses-identity-input-settings.js +57 -0
  249. package/dist/service/ses/command/identity/sim-ses-identity-input-settings.js.map +1 -0
  250. package/dist/service/ses/command/send/sim-ses-send-email.d.ts +6 -0
  251. package/dist/service/ses/command/send/sim-ses-send-email.d.ts.map +1 -1
  252. package/dist/service/ses/command/send/sim-ses-send-email.js +7 -0
  253. package/dist/service/ses/command/send/sim-ses-send-email.js.map +1 -1
  254. package/dist/service/ses/command/send/sim-ses-service-send.d.ts +68 -0
  255. package/dist/service/ses/command/send/sim-ses-service-send.d.ts.map +1 -0
  256. package/dist/service/ses/command/send/sim-ses-service-send.js +69 -0
  257. package/dist/service/ses/command/send/sim-ses-service-send.js.map +1 -0
  258. package/dist/service/ses/command/send/sim-ses-suppression-check.d.ts +31 -0
  259. package/dist/service/ses/command/send/sim-ses-suppression-check.d.ts.map +1 -0
  260. package/dist/service/ses/command/send/sim-ses-suppression-check.js +37 -0
  261. package/dist/service/ses/command/send/sim-ses-suppression-check.js.map +1 -0
  262. package/dist/service/ses/command/send/sim-ses-verified-identities.d.ts +8 -0
  263. package/dist/service/ses/command/send/sim-ses-verified-identities.d.ts.map +1 -1
  264. package/dist/service/ses/command/send/sim-ses-verified-identities.js +15 -2
  265. package/dist/service/ses/command/send/sim-ses-verified-identities.js.map +1 -1
  266. package/dist/service/ses/command/sim-ses-command.types.d.ts +4 -2
  267. package/dist/service/ses/command/sim-ses-command.types.d.ts.map +1 -1
  268. package/dist/service/ses/command/suppression/sim-ses-suppression-commands.d.ts +44 -0
  269. package/dist/service/ses/command/suppression/sim-ses-suppression-commands.d.ts.map +1 -0
  270. package/dist/service/ses/command/suppression/sim-ses-suppression-commands.js +79 -0
  271. package/dist/service/ses/command/suppression/sim-ses-suppression-commands.js.map +1 -0
  272. package/dist/service/ses/command/suppression/sim-ses-suppression-listing.d.ts +15 -0
  273. package/dist/service/ses/command/suppression/sim-ses-suppression-listing.d.ts.map +1 -0
  274. package/dist/service/ses/command/suppression/sim-ses-suppression-listing.js +29 -0
  275. package/dist/service/ses/command/suppression/sim-ses-suppression-listing.js.map +1 -0
  276. package/dist/service/ses/command/suppression/sim-ses-unsimulated-suppression-input.d.ts +9 -0
  277. package/dist/service/ses/command/suppression/sim-ses-unsimulated-suppression-input.d.ts.map +1 -0
  278. package/dist/service/ses/command/suppression/sim-ses-unsimulated-suppression-input.js +16 -0
  279. package/dist/service/ses/command/suppression/sim-ses-unsimulated-suppression-input.js.map +1 -0
  280. package/dist/service/ses/command/suppression/suppression.command.d.ts +90 -0
  281. package/dist/service/ses/command/suppression/suppression.command.d.ts.map +1 -0
  282. package/dist/service/ses/command/suppression/suppression.command.js +2 -0
  283. package/dist/service/ses/command/suppression/suppression.command.js.map +1 -0
  284. package/dist/service/ses/configuration-set/sim-ses-configuration-set-store.d.ts +44 -0
  285. package/dist/service/ses/configuration-set/sim-ses-configuration-set-store.d.ts.map +1 -0
  286. package/dist/service/ses/configuration-set/sim-ses-configuration-set-store.js +91 -0
  287. package/dist/service/ses/configuration-set/sim-ses-configuration-set-store.js.map +1 -0
  288. package/dist/service/ses/configuration-set/sim-ses-configuration-set.d.ts +75 -0
  289. package/dist/service/ses/configuration-set/sim-ses-configuration-set.d.ts.map +1 -0
  290. package/dist/service/ses/configuration-set/sim-ses-configuration-set.js +44 -0
  291. package/dist/service/ses/configuration-set/sim-ses-configuration-set.js.map +1 -0
  292. package/dist/service/ses/email/sim-ses-sent-email.d.ts +29 -0
  293. package/dist/service/ses/email/sim-ses-sent-email.d.ts.map +1 -1
  294. package/dist/service/ses/email/sim-ses-sent-email.js +21 -0
  295. package/dist/service/ses/email/sim-ses-sent-email.js.map +1 -1
  296. package/dist/service/ses/identity/sim-ses-dkim-tokens.d.ts.map +1 -0
  297. package/dist/service/ses/identity/sim-ses-dkim-tokens.js.map +1 -0
  298. package/dist/service/ses/identity/sim-ses-identity-name.d.ts +5 -0
  299. package/dist/service/ses/identity/sim-ses-identity-name.d.ts.map +1 -1
  300. package/dist/service/ses/identity/sim-ses-identity-name.js +5 -1
  301. package/dist/service/ses/identity/sim-ses-identity-name.js.map +1 -1
  302. package/dist/service/ses/identity/sim-ses-identity-settings.d.ts +64 -0
  303. package/dist/service/ses/identity/sim-ses-identity-settings.d.ts.map +1 -0
  304. package/dist/service/ses/identity/sim-ses-identity-settings.js +21 -0
  305. package/dist/service/ses/identity/sim-ses-identity-settings.js.map +1 -0
  306. package/dist/service/ses/identity/sim-ses-identity-store.d.ts +2 -1
  307. package/dist/service/ses/identity/sim-ses-identity-store.d.ts.map +1 -1
  308. package/dist/service/ses/identity/sim-ses-identity-store.js +2 -1
  309. package/dist/service/ses/identity/sim-ses-identity-store.js.map +1 -1
  310. package/dist/service/ses/identity/sim-ses-identity.d.ts +38 -0
  311. package/dist/service/ses/identity/sim-ses-identity.d.ts.map +1 -1
  312. package/dist/service/ses/identity/sim-ses-identity.js +54 -0
  313. package/dist/service/ses/identity/sim-ses-identity.js.map +1 -1
  314. package/dist/service/ses/index.d.ts +10 -3
  315. package/dist/service/ses/index.d.ts.map +1 -1
  316. package/dist/service/ses/index.js +7 -1
  317. package/dist/service/ses/index.js.map +1 -1
  318. package/dist/service/ses/sdk/sim-ses-sdk-command-router.d.ts.map +1 -1
  319. package/dist/service/ses/sdk/sim-ses-sdk-command-router.js +36 -0
  320. package/dist/service/ses/sdk/sim-ses-sdk-command-router.js.map +1 -1
  321. package/dist/service/ses/sim-ses-arn.d.ts +7 -0
  322. package/dist/service/ses/sim-ses-arn.d.ts.map +1 -1
  323. package/dist/service/ses/sim-ses-arn.js +9 -0
  324. package/dist/service/ses/sim-ses-arn.js.map +1 -1
  325. package/dist/service/ses/sim-ses-commands.d.ts +14 -0
  326. package/dist/service/ses/sim-ses-commands.d.ts.map +1 -1
  327. package/dist/service/ses/sim-ses-commands.js +47 -5
  328. package/dist/service/ses/sim-ses-commands.js.map +1 -1
  329. package/dist/service/ses/sim-ses-configuration-sets.d.ts +47 -0
  330. package/dist/service/ses/sim-ses-configuration-sets.d.ts.map +1 -0
  331. package/dist/service/ses/sim-ses-configuration-sets.js +60 -0
  332. package/dist/service/ses/sim-ses-configuration-sets.js.map +1 -0
  333. package/dist/service/ses/sim-ses-suppression.d.ts +52 -0
  334. package/dist/service/ses/sim-ses-suppression.d.ts.map +1 -0
  335. package/dist/service/ses/sim-ses-suppression.js +63 -0
  336. package/dist/service/ses/sim-ses-suppression.js.map +1 -0
  337. package/dist/service/ses/sim-ses-v2.d.ts +14 -1
  338. package/dist/service/ses/sim-ses-v2.d.ts.map +1 -1
  339. package/dist/service/ses/sim-ses-v2.js +48 -35
  340. package/dist/service/ses/sim-ses-v2.js.map +1 -1
  341. package/dist/service/ses/suppression/sim-ses-suppressed-destination.d.ts +24 -0
  342. package/dist/service/ses/suppression/sim-ses-suppressed-destination.d.ts.map +1 -0
  343. package/dist/service/ses/suppression/sim-ses-suppressed-destination.js +21 -0
  344. package/dist/service/ses/suppression/sim-ses-suppressed-destination.js.map +1 -0
  345. package/dist/service/ses/suppression/sim-ses-suppression-address.d.ts +9 -0
  346. package/dist/service/ses/suppression/sim-ses-suppression-address.d.ts.map +1 -0
  347. package/dist/service/ses/suppression/sim-ses-suppression-address.js +21 -0
  348. package/dist/service/ses/suppression/sim-ses-suppression-address.js.map +1 -0
  349. package/dist/service/ses/suppression/sim-ses-suppression-list.d.ts +57 -0
  350. package/dist/service/ses/suppression/sim-ses-suppression-list.d.ts.map +1 -0
  351. package/dist/service/ses/suppression/sim-ses-suppression-list.js +82 -0
  352. package/dist/service/ses/suppression/sim-ses-suppression-list.js.map +1 -0
  353. package/dist/service/ses/suppression/sim-ses-suppression-reason.d.ts +20 -0
  354. package/dist/service/ses/suppression/sim-ses-suppression-reason.d.ts.map +1 -0
  355. package/dist/service/ses/suppression/sim-ses-suppression-reason.js +24 -0
  356. package/dist/service/ses/suppression/sim-ses-suppression-reason.js.map +1 -0
  357. package/dist/service/sns/command/sim-sns-commands.d.ts +2 -0
  358. package/dist/service/sns/command/sim-sns-commands.d.ts.map +1 -1
  359. package/dist/service/sns/command/sim-sns-commands.js +4 -1
  360. package/dist/service/sns/command/sim-sns-commands.js.map +1 -1
  361. package/dist/service/sns/sim-sns.d.ts +7 -0
  362. package/dist/service/sns/sim-sns.d.ts.map +1 -1
  363. package/dist/service/sns/sim-sns.js +3 -1
  364. package/dist/service/sns/sim-sns.js.map +1 -1
  365. package/dist/service/sns/sms/sim-sns-sent-sms-store.d.ts +13 -0
  366. package/dist/service/sns/sms/sim-sns-sent-sms-store.d.ts.map +1 -1
  367. package/dist/service/sns/sms/sim-sns-sent-sms-store.js +15 -0
  368. package/dist/service/sns/sms/sim-sns-sent-sms-store.js.map +1 -1
  369. package/dist/terraform/index.d.ts +6 -0
  370. package/dist/terraform/index.d.ts.map +1 -0
  371. package/dist/terraform/index.js +2 -0
  372. package/dist/terraform/index.js.map +1 -0
  373. package/dist/terraform/map/sim-tf-map-cloudwatch-dimensions.d.ts +20 -0
  374. package/dist/terraform/map/sim-tf-map-cloudwatch-dimensions.d.ts.map +1 -0
  375. package/dist/terraform/map/sim-tf-map-cloudwatch-dimensions.js +36 -0
  376. package/dist/terraform/map/sim-tf-map-cloudwatch-dimensions.js.map +1 -0
  377. package/dist/terraform/map/sim-tf-map-cloudwatch.d.ts +12 -0
  378. package/dist/terraform/map/sim-tf-map-cloudwatch.d.ts.map +1 -0
  379. package/dist/terraform/map/sim-tf-map-cloudwatch.js +69 -0
  380. package/dist/terraform/map/sim-tf-map-cloudwatch.js.map +1 -0
  381. package/dist/terraform/map/sim-tf-map-cognito-client.d.ts +15 -0
  382. package/dist/terraform/map/sim-tf-map-cognito-client.d.ts.map +1 -0
  383. package/dist/terraform/map/sim-tf-map-cognito-client.js +37 -0
  384. package/dist/terraform/map/sim-tf-map-cognito-client.js.map +1 -0
  385. package/dist/terraform/map/sim-tf-map-cognito-pool.d.ts +26 -0
  386. package/dist/terraform/map/sim-tf-map-cognito-pool.d.ts.map +1 -0
  387. package/dist/terraform/map/sim-tf-map-cognito-pool.js +70 -0
  388. package/dist/terraform/map/sim-tf-map-cognito-pool.js.map +1 -0
  389. package/dist/terraform/map/sim-tf-map-cognito.d.ts +13 -0
  390. package/dist/terraform/map/sim-tf-map-cognito.d.ts.map +1 -0
  391. package/dist/terraform/map/sim-tf-map-cognito.js +39 -0
  392. package/dist/terraform/map/sim-tf-map-cognito.js.map +1 -0
  393. package/dist/terraform/map/sim-tf-map-dynamodb-keys.d.ts +31 -0
  394. package/dist/terraform/map/sim-tf-map-dynamodb-keys.d.ts.map +1 -0
  395. package/dist/{service/cloudformation/terraform/sim-tf-map-dynamodb.js → terraform/map/sim-tf-map-dynamodb-keys.js} +27 -30
  396. package/dist/terraform/map/sim-tf-map-dynamodb-keys.js.map +1 -0
  397. package/dist/terraform/map/sim-tf-map-dynamodb.d.ts +5 -0
  398. package/dist/terraform/map/sim-tf-map-dynamodb.d.ts.map +1 -0
  399. package/dist/terraform/map/sim-tf-map-dynamodb.js +31 -0
  400. package/dist/terraform/map/sim-tf-map-dynamodb.js.map +1 -0
  401. package/dist/terraform/map/sim-tf-map-ecr.d.ts +12 -0
  402. package/dist/terraform/map/sim-tf-map-ecr.d.ts.map +1 -0
  403. package/dist/terraform/map/sim-tf-map-ecr.js +34 -0
  404. package/dist/terraform/map/sim-tf-map-ecr.js.map +1 -0
  405. package/dist/terraform/map/sim-tf-map-events.d.ts +24 -0
  406. package/dist/terraform/map/sim-tf-map-events.d.ts.map +1 -0
  407. package/dist/terraform/map/sim-tf-map-events.js +151 -0
  408. package/dist/terraform/map/sim-tf-map-events.js.map +1 -0
  409. package/dist/terraform/map/sim-tf-map-http-api-routes.d.ts +10 -0
  410. package/dist/terraform/map/sim-tf-map-http-api-routes.d.ts.map +1 -0
  411. package/dist/{service/cloudformation/terraform/sim-tf-map-http-api-route.js → terraform/map/sim-tf-map-http-api-routes.js} +19 -3
  412. package/dist/terraform/map/sim-tf-map-http-api-routes.js.map +1 -0
  413. package/dist/terraform/map/sim-tf-map-http-api.d.ts +7 -0
  414. package/dist/terraform/map/sim-tf-map-http-api.d.ts.map +1 -0
  415. package/dist/{service/cloudformation/terraform → terraform/map}/sim-tf-map-http-api.js +3 -17
  416. package/dist/terraform/map/sim-tf-map-http-api.js.map +1 -0
  417. package/dist/terraform/map/sim-tf-map-iam-policy.d.ts +32 -0
  418. package/dist/terraform/map/sim-tf-map-iam-policy.d.ts.map +1 -0
  419. package/dist/terraform/map/sim-tf-map-iam-policy.js +85 -0
  420. package/dist/terraform/map/sim-tf-map-iam-policy.js.map +1 -0
  421. package/dist/{service/cloudformation/terraform → terraform/map}/sim-tf-map-iam.d.ts +2 -4
  422. package/dist/terraform/map/sim-tf-map-iam.d.ts.map +1 -0
  423. package/dist/terraform/map/sim-tf-map-iam.js +37 -0
  424. package/dist/terraform/map/sim-tf-map-iam.js.map +1 -0
  425. package/dist/terraform/map/sim-tf-map-kms.d.ts +25 -0
  426. package/dist/terraform/map/sim-tf-map-kms.d.ts.map +1 -0
  427. package/dist/terraform/map/sim-tf-map-kms.js +75 -0
  428. package/dist/terraform/map/sim-tf-map-kms.js.map +1 -0
  429. package/dist/terraform/map/sim-tf-map-lambda-environment.d.ts +20 -0
  430. package/dist/terraform/map/sim-tf-map-lambda-environment.d.ts.map +1 -0
  431. package/dist/terraform/map/sim-tf-map-lambda-environment.js +52 -0
  432. package/dist/terraform/map/sim-tf-map-lambda-environment.js.map +1 -0
  433. package/dist/{service/cloudformation/terraform → terraform/map}/sim-tf-map-lambda.d.ts +2 -2
  434. package/dist/terraform/map/sim-tf-map-lambda.d.ts.map +1 -0
  435. package/dist/{service/cloudformation/terraform → terraform/map}/sim-tf-map-lambda.js +19 -36
  436. package/dist/terraform/map/sim-tf-map-lambda.js.map +1 -0
  437. package/dist/terraform/map/sim-tf-map-logs.d.ts +12 -0
  438. package/dist/terraform/map/sim-tf-map-logs.d.ts.map +1 -0
  439. package/dist/terraform/map/sim-tf-map-logs.js +22 -0
  440. package/dist/terraform/map/sim-tf-map-logs.js.map +1 -0
  441. package/dist/{service/cloudformation/terraform → terraform/map}/sim-tf-map-s3-folds.d.ts +1 -1
  442. package/dist/terraform/map/sim-tf-map-s3-folds.d.ts.map +1 -0
  443. package/dist/{service/cloudformation/terraform → terraform/map}/sim-tf-map-s3-folds.js +2 -3
  444. package/dist/terraform/map/sim-tf-map-s3-folds.js.map +1 -0
  445. package/dist/terraform/map/sim-tf-map-s3-lifecycle.d.ts +4 -0
  446. package/dist/terraform/map/sim-tf-map-s3-lifecycle.d.ts.map +1 -0
  447. package/dist/terraform/map/sim-tf-map-s3-lifecycle.js +92 -0
  448. package/dist/terraform/map/sim-tf-map-s3-lifecycle.js.map +1 -0
  449. package/dist/terraform/map/sim-tf-map-s3-notification-destinations.d.ts +5 -0
  450. package/dist/terraform/map/sim-tf-map-s3-notification-destinations.d.ts.map +1 -0
  451. package/dist/terraform/map/sim-tf-map-s3-notification-destinations.js +30 -0
  452. package/dist/terraform/map/sim-tf-map-s3-notification-destinations.js.map +1 -0
  453. package/dist/terraform/map/sim-tf-map-s3-notification-filter.d.ts +12 -0
  454. package/dist/terraform/map/sim-tf-map-s3-notification-filter.d.ts.map +1 -0
  455. package/dist/terraform/map/sim-tf-map-s3-notification-filter.js +21 -0
  456. package/dist/terraform/map/sim-tf-map-s3-notification-filter.js.map +1 -0
  457. package/dist/terraform/map/sim-tf-map-s3-notification.d.ts +50 -0
  458. package/dist/terraform/map/sim-tf-map-s3-notification.d.ts.map +1 -0
  459. package/dist/terraform/map/sim-tf-map-s3-notification.js +80 -0
  460. package/dist/terraform/map/sim-tf-map-s3-notification.js.map +1 -0
  461. package/dist/terraform/map/sim-tf-map-s3-rules.d.ts +7 -0
  462. package/dist/terraform/map/sim-tf-map-s3-rules.d.ts.map +1 -0
  463. package/dist/{service/cloudformation/terraform/sim-tf-map-s3-encryption.js → terraform/map/sim-tf-map-s3-rules.js} +20 -3
  464. package/dist/terraform/map/sim-tf-map-s3-rules.js.map +1 -0
  465. package/dist/terraform/map/sim-tf-map-s3.d.ts +5 -0
  466. package/dist/terraform/map/sim-tf-map-s3.d.ts.map +1 -0
  467. package/dist/{service/cloudformation/terraform → terraform/map}/sim-tf-map-s3.js +1 -1
  468. package/dist/terraform/map/sim-tf-map-s3.js.map +1 -0
  469. package/dist/{service/cloudformation/terraform/sim-tf-map-config.d.ts → terraform/map/sim-tf-map-secretsmanager.d.ts} +3 -5
  470. package/dist/terraform/map/sim-tf-map-secretsmanager.d.ts.map +1 -0
  471. package/dist/{service/cloudformation/terraform/sim-tf-map-config.js → terraform/map/sim-tf-map-secretsmanager.js} +2 -14
  472. package/dist/terraform/map/sim-tf-map-secretsmanager.js.map +1 -0
  473. package/dist/{service/cloudformation/terraform → terraform/map}/sim-tf-map-sns.d.ts +2 -2
  474. package/dist/terraform/map/sim-tf-map-sns.d.ts.map +1 -0
  475. package/dist/{service/cloudformation/terraform → terraform/map}/sim-tf-map-sns.js +1 -1
  476. package/dist/terraform/map/sim-tf-map-sns.js.map +1 -0
  477. package/dist/terraform/map/sim-tf-map-sqs-redrive.d.ts +32 -0
  478. package/dist/terraform/map/sim-tf-map-sqs-redrive.d.ts.map +1 -0
  479. package/dist/terraform/map/sim-tf-map-sqs-redrive.js +68 -0
  480. package/dist/terraform/map/sim-tf-map-sqs-redrive.js.map +1 -0
  481. package/dist/terraform/map/sim-tf-map-sqs.d.ts +11 -0
  482. package/dist/terraform/map/sim-tf-map-sqs.d.ts.map +1 -0
  483. package/dist/terraform/map/sim-tf-map-sqs.js +26 -0
  484. package/dist/terraform/map/sim-tf-map-sqs.js.map +1 -0
  485. package/dist/terraform/map/sim-tf-map-ssm.d.ts +13 -0
  486. package/dist/terraform/map/sim-tf-map-ssm.d.ts.map +1 -0
  487. package/dist/terraform/map/sim-tf-map-ssm.js +24 -0
  488. package/dist/terraform/map/sim-tf-map-ssm.js.map +1 -0
  489. package/dist/terraform/sim-tf-adapter.d.ts +80 -0
  490. package/dist/terraform/sim-tf-adapter.d.ts.map +1 -0
  491. package/dist/terraform/sim-tf-adapter.js +44 -0
  492. package/dist/terraform/sim-tf-adapter.js.map +1 -0
  493. package/dist/terraform/sim-tf-attribute-reads.d.ts.map +1 -0
  494. package/dist/terraform/sim-tf-attribute-reads.js.map +1 -0
  495. package/dist/{service/cloudformation/terraform → terraform}/sim-tf-attributes.d.ts +13 -4
  496. package/dist/terraform/sim-tf-attributes.d.ts.map +1 -0
  497. package/dist/{service/cloudformation/terraform → terraform}/sim-tf-attributes.js +1 -1
  498. package/dist/terraform/sim-tf-attributes.js.map +1 -0
  499. package/dist/terraform/sim-tf-declare.d.ts +37 -0
  500. package/dist/terraform/sim-tf-declare.d.ts.map +1 -0
  501. package/dist/{service/cloudformation/terraform/sim-tf-template-graph.js → terraform/sim-tf-declare.js} +35 -23
  502. package/dist/terraform/sim-tf-declare.js.map +1 -0
  503. package/dist/terraform/sim-tf-fold.d.ts +26 -0
  504. package/dist/terraform/sim-tf-fold.d.ts.map +1 -0
  505. package/dist/terraform/sim-tf-fold.js +72 -0
  506. package/dist/terraform/sim-tf-fold.js.map +1 -0
  507. package/dist/terraform/sim-tf-import.d.ts +31 -0
  508. package/dist/terraform/sim-tf-import.d.ts.map +1 -0
  509. package/dist/terraform/sim-tf-import.js +38 -0
  510. package/dist/terraform/sim-tf-import.js.map +1 -0
  511. package/dist/terraform/sim-tf-logical-id.d.ts +27 -0
  512. package/dist/terraform/sim-tf-logical-id.d.ts.map +1 -0
  513. package/dist/terraform/sim-tf-logical-id.js +83 -0
  514. package/dist/terraform/sim-tf-logical-id.js.map +1 -0
  515. package/dist/terraform/sim-tf-mapping.type.d.ts +73 -0
  516. package/dist/terraform/sim-tf-mapping.type.d.ts.map +1 -0
  517. package/dist/terraform/sim-tf-mapping.type.js.map +1 -0
  518. package/dist/{service/cloudformation/terraform → terraform}/sim-tf-module-outputs.d.ts +1 -9
  519. package/dist/terraform/sim-tf-module-outputs.d.ts.map +1 -0
  520. package/dist/terraform/sim-tf-module-outputs.js +33 -0
  521. package/dist/terraform/sim-tf-module-outputs.js.map +1 -0
  522. package/dist/terraform/sim-tf-nested-attributes.d.ts +33 -0
  523. package/dist/terraform/sim-tf-nested-attributes.d.ts.map +1 -0
  524. package/dist/terraform/sim-tf-nested-attributes.js +97 -0
  525. package/dist/terraform/sim-tf-nested-attributes.js.map +1 -0
  526. package/dist/terraform/sim-tf-override.type.d.ts +36 -0
  527. package/dist/terraform/sim-tf-override.type.d.ts.map +1 -0
  528. package/dist/terraform/sim-tf-override.type.js +2 -0
  529. package/dist/terraform/sim-tf-override.type.js.map +1 -0
  530. package/dist/terraform/sim-tf-overrides.d.ts +21 -0
  531. package/dist/terraform/sim-tf-overrides.d.ts.map +1 -0
  532. package/dist/terraform/sim-tf-overrides.js +40 -0
  533. package/dist/terraform/sim-tf-overrides.js.map +1 -0
  534. package/dist/terraform/sim-tf-plan-file.d.ts +23 -0
  535. package/dist/terraform/sim-tf-plan-file.d.ts.map +1 -0
  536. package/dist/terraform/sim-tf-plan-file.js +58 -0
  537. package/dist/terraform/sim-tf-plan-file.js.map +1 -0
  538. package/dist/terraform/sim-tf-plan-resources.d.ts +18 -0
  539. package/dist/terraform/sim-tf-plan-resources.d.ts.map +1 -0
  540. package/dist/{service/cloudformation/terraform → terraform}/sim-tf-plan-resources.js +18 -10
  541. package/dist/terraform/sim-tf-plan-resources.js.map +1 -0
  542. package/dist/terraform/sim-tf-plan-sections.d.ts +31 -0
  543. package/dist/terraform/sim-tf-plan-sections.d.ts.map +1 -0
  544. package/dist/terraform/sim-tf-plan-sections.js +60 -0
  545. package/dist/terraform/sim-tf-plan-sections.js.map +1 -0
  546. package/dist/{service/cloudformation/terraform → terraform}/sim-tf-plan.type.d.ts +5 -1
  547. package/dist/terraform/sim-tf-plan.type.d.ts.map +1 -0
  548. package/dist/terraform/sim-tf-plan.type.js.map +1 -0
  549. package/dist/terraform/sim-tf-reference-address.d.ts +52 -0
  550. package/dist/terraform/sim-tf-reference-address.d.ts.map +1 -0
  551. package/dist/terraform/sim-tf-reference-address.js +102 -0
  552. package/dist/terraform/sim-tf-reference-address.js.map +1 -0
  553. package/dist/terraform/sim-tf-reference.d.ts +82 -0
  554. package/dist/terraform/sim-tf-reference.d.ts.map +1 -0
  555. package/dist/terraform/sim-tf-reference.js +153 -0
  556. package/dist/terraform/sim-tf-reference.js.map +1 -0
  557. package/dist/terraform/sim-tf-referenced.d.ts +18 -0
  558. package/dist/terraform/sim-tf-referenced.d.ts.map +1 -0
  559. package/dist/terraform/sim-tf-referenced.js +40 -0
  560. package/dist/terraform/sim-tf-referenced.js.map +1 -0
  561. package/dist/terraform/sim-tf-refusal.d.ts +23 -0
  562. package/dist/terraform/sim-tf-refusal.d.ts.map +1 -0
  563. package/dist/terraform/sim-tf-refusal.js +44 -0
  564. package/dist/terraform/sim-tf-refusal.js.map +1 -0
  565. package/dist/{service/cloudformation/terraform → terraform}/sim-tf-registry.d.ts +2 -1
  566. package/dist/terraform/sim-tf-registry.d.ts.map +1 -0
  567. package/dist/terraform/sim-tf-registry.js +67 -0
  568. package/dist/terraform/sim-tf-registry.js.map +1 -0
  569. package/dist/terraform/sim-tf-report.d.ts +21 -0
  570. package/dist/terraform/sim-tf-report.d.ts.map +1 -0
  571. package/dist/terraform/sim-tf-report.js +57 -0
  572. package/dist/terraform/sim-tf-report.js.map +1 -0
  573. package/dist/{service/cloudformation/terraform → terraform}/sim-tf-report.type.d.ts +10 -4
  574. package/dist/terraform/sim-tf-report.type.d.ts.map +1 -0
  575. package/dist/terraform/sim-tf-report.type.js.map +1 -0
  576. package/dist/{service/cloudformation/terraform/sim-tf-plan-resources.d.ts → terraform/sim-tf-resource.type.d.ts} +6 -12
  577. package/dist/terraform/sim-tf-resource.type.d.ts.map +1 -0
  578. package/dist/terraform/sim-tf-resource.type.js +3 -0
  579. package/dist/terraform/sim-tf-resource.type.js.map +1 -0
  580. package/dist/terraform/sim-tf-settle.d.ts +36 -0
  581. package/dist/terraform/sim-tf-settle.d.ts.map +1 -0
  582. package/dist/terraform/sim-tf-settle.js +63 -0
  583. package/dist/terraform/sim-tf-settle.js.map +1 -0
  584. package/dist/util/filesystem/test-terraform-project.d.ts +11 -0
  585. package/dist/util/filesystem/test-terraform-project.d.ts.map +1 -1
  586. package/dist/util/filesystem/test-terraform-project.js +30 -1
  587. package/dist/util/filesystem/test-terraform-project.js.map +1 -1
  588. package/package.json +5 -1
  589. package/dist/service/cloudformation/resource/cfn/ses/sim-ses-dkim-tokens.d.ts.map +0 -1
  590. package/dist/service/cloudformation/resource/cfn/ses/sim-ses-dkim-tokens.js.map +0 -1
  591. package/dist/service/cloudformation/terraform/sim-tf-attribute-reads.d.ts.map +0 -1
  592. package/dist/service/cloudformation/terraform/sim-tf-attribute-reads.js.map +0 -1
  593. package/dist/service/cloudformation/terraform/sim-tf-attributes.d.ts.map +0 -1
  594. package/dist/service/cloudformation/terraform/sim-tf-attributes.js.map +0 -1
  595. package/dist/service/cloudformation/terraform/sim-tf-map-config.d.ts.map +0 -1
  596. package/dist/service/cloudformation/terraform/sim-tf-map-config.js.map +0 -1
  597. package/dist/service/cloudformation/terraform/sim-tf-map-dynamodb.d.ts +0 -15
  598. package/dist/service/cloudformation/terraform/sim-tf-map-dynamodb.d.ts.map +0 -1
  599. package/dist/service/cloudformation/terraform/sim-tf-map-dynamodb.js.map +0 -1
  600. package/dist/service/cloudformation/terraform/sim-tf-map-http-api-route.d.ts +0 -5
  601. package/dist/service/cloudformation/terraform/sim-tf-map-http-api-route.d.ts.map +0 -1
  602. package/dist/service/cloudformation/terraform/sim-tf-map-http-api-route.js.map +0 -1
  603. package/dist/service/cloudformation/terraform/sim-tf-map-http-api.d.ts +0 -12
  604. package/dist/service/cloudformation/terraform/sim-tf-map-http-api.d.ts.map +0 -1
  605. package/dist/service/cloudformation/terraform/sim-tf-map-http-api.js.map +0 -1
  606. package/dist/service/cloudformation/terraform/sim-tf-map-iam.d.ts.map +0 -1
  607. package/dist/service/cloudformation/terraform/sim-tf-map-iam.js +0 -80
  608. package/dist/service/cloudformation/terraform/sim-tf-map-iam.js.map +0 -1
  609. package/dist/service/cloudformation/terraform/sim-tf-map-lambda.d.ts.map +0 -1
  610. package/dist/service/cloudformation/terraform/sim-tf-map-lambda.js.map +0 -1
  611. package/dist/service/cloudformation/terraform/sim-tf-map-s3-cors.d.ts +0 -5
  612. package/dist/service/cloudformation/terraform/sim-tf-map-s3-cors.d.ts.map +0 -1
  613. package/dist/service/cloudformation/terraform/sim-tf-map-s3-cors.js +0 -12
  614. package/dist/service/cloudformation/terraform/sim-tf-map-s3-cors.js.map +0 -1
  615. package/dist/service/cloudformation/terraform/sim-tf-map-s3-encryption.d.ts +0 -5
  616. package/dist/service/cloudformation/terraform/sim-tf-map-s3-encryption.d.ts.map +0 -1
  617. package/dist/service/cloudformation/terraform/sim-tf-map-s3-encryption.js.map +0 -1
  618. package/dist/service/cloudformation/terraform/sim-tf-map-s3-folds.d.ts.map +0 -1
  619. package/dist/service/cloudformation/terraform/sim-tf-map-s3-folds.js.map +0 -1
  620. package/dist/service/cloudformation/terraform/sim-tf-map-s3.d.ts +0 -5
  621. package/dist/service/cloudformation/terraform/sim-tf-map-s3.d.ts.map +0 -1
  622. package/dist/service/cloudformation/terraform/sim-tf-map-s3.js.map +0 -1
  623. package/dist/service/cloudformation/terraform/sim-tf-map-sns.d.ts.map +0 -1
  624. package/dist/service/cloudformation/terraform/sim-tf-map-sns.js.map +0 -1
  625. package/dist/service/cloudformation/terraform/sim-tf-map-sqs.d.ts +0 -5
  626. package/dist/service/cloudformation/terraform/sim-tf-map-sqs.d.ts.map +0 -1
  627. package/dist/service/cloudformation/terraform/sim-tf-map-sqs.js +0 -56
  628. package/dist/service/cloudformation/terraform/sim-tf-map-sqs.js.map +0 -1
  629. package/dist/service/cloudformation/terraform/sim-tf-mapping.type.d.ts +0 -41
  630. package/dist/service/cloudformation/terraform/sim-tf-mapping.type.d.ts.map +0 -1
  631. package/dist/service/cloudformation/terraform/sim-tf-mapping.type.js.map +0 -1
  632. package/dist/service/cloudformation/terraform/sim-tf-module-outputs.d.ts.map +0 -1
  633. package/dist/service/cloudformation/terraform/sim-tf-module-outputs.js +0 -63
  634. package/dist/service/cloudformation/terraform/sim-tf-module-outputs.js.map +0 -1
  635. package/dist/service/cloudformation/terraform/sim-tf-plan-index.d.ts +0 -26
  636. package/dist/service/cloudformation/terraform/sim-tf-plan-index.d.ts.map +0 -1
  637. package/dist/service/cloudformation/terraform/sim-tf-plan-index.js +0 -45
  638. package/dist/service/cloudformation/terraform/sim-tf-plan-index.js.map +0 -1
  639. package/dist/service/cloudformation/terraform/sim-tf-plan-resources.d.ts.map +0 -1
  640. package/dist/service/cloudformation/terraform/sim-tf-plan-resources.js.map +0 -1
  641. package/dist/service/cloudformation/terraform/sim-tf-plan.type.d.ts.map +0 -1
  642. package/dist/service/cloudformation/terraform/sim-tf-plan.type.js.map +0 -1
  643. package/dist/service/cloudformation/terraform/sim-tf-reference-address.d.ts +0 -27
  644. package/dist/service/cloudformation/terraform/sim-tf-reference-address.d.ts.map +0 -1
  645. package/dist/service/cloudformation/terraform/sim-tf-reference-address.js +0 -58
  646. package/dist/service/cloudformation/terraform/sim-tf-reference-address.js.map +0 -1
  647. package/dist/service/cloudformation/terraform/sim-tf-reference.d.ts +0 -64
  648. package/dist/service/cloudformation/terraform/sim-tf-reference.d.ts.map +0 -1
  649. package/dist/service/cloudformation/terraform/sim-tf-reference.js +0 -122
  650. package/dist/service/cloudformation/terraform/sim-tf-reference.js.map +0 -1
  651. package/dist/service/cloudformation/terraform/sim-tf-registry.d.ts.map +0 -1
  652. package/dist/service/cloudformation/terraform/sim-tf-registry.js +0 -40
  653. package/dist/service/cloudformation/terraform/sim-tf-registry.js.map +0 -1
  654. package/dist/service/cloudformation/terraform/sim-tf-report.type.d.ts.map +0 -1
  655. package/dist/service/cloudformation/terraform/sim-tf-report.type.js.map +0 -1
  656. package/dist/service/cloudformation/terraform/sim-tf-template-folds.d.ts +0 -20
  657. package/dist/service/cloudformation/terraform/sim-tf-template-folds.d.ts.map +0 -1
  658. package/dist/service/cloudformation/terraform/sim-tf-template-folds.js +0 -28
  659. package/dist/service/cloudformation/terraform/sim-tf-template-folds.js.map +0 -1
  660. package/dist/service/cloudformation/terraform/sim-tf-template-graph.d.ts +0 -29
  661. package/dist/service/cloudformation/terraform/sim-tf-template-graph.d.ts.map +0 -1
  662. package/dist/service/cloudformation/terraform/sim-tf-template-graph.js.map +0 -1
  663. package/dist/service/cloudformation/terraform/sim-tf-template-mappings.d.ts +0 -23
  664. package/dist/service/cloudformation/terraform/sim-tf-template-mappings.d.ts.map +0 -1
  665. package/dist/service/cloudformation/terraform/sim-tf-template-mappings.js +0 -72
  666. package/dist/service/cloudformation/terraform/sim-tf-template-mappings.js.map +0 -1
  667. package/dist/service/cloudformation/terraform/sim-tf-template-merge.d.ts +0 -21
  668. package/dist/service/cloudformation/terraform/sim-tf-template-merge.d.ts.map +0 -1
  669. package/dist/service/cloudformation/terraform/sim-tf-template-merge.js +0 -33
  670. package/dist/service/cloudformation/terraform/sim-tf-template-merge.js.map +0 -1
  671. package/dist/service/cloudformation/terraform/sim-tf-template-prune.d.ts +0 -21
  672. package/dist/service/cloudformation/terraform/sim-tf-template-prune.d.ts.map +0 -1
  673. package/dist/service/cloudformation/terraform/sim-tf-template-prune.js +0 -51
  674. package/dist/service/cloudformation/terraform/sim-tf-template-prune.js.map +0 -1
  675. package/dist/service/cloudformation/terraform/sim-tf-template-pruned.d.ts +0 -18
  676. package/dist/service/cloudformation/terraform/sim-tf-template-pruned.d.ts.map +0 -1
  677. package/dist/service/cloudformation/terraform/sim-tf-template-pruned.js +0 -23
  678. package/dist/service/cloudformation/terraform/sim-tf-template-pruned.js.map +0 -1
  679. package/dist/service/cloudformation/terraform/sim-tf-template-references.d.ts +0 -10
  680. package/dist/service/cloudformation/terraform/sim-tf-template-references.d.ts.map +0 -1
  681. package/dist/service/cloudformation/terraform/sim-tf-template-references.js +0 -39
  682. package/dist/service/cloudformation/terraform/sim-tf-template-references.js.map +0 -1
  683. package/dist/service/cloudformation/terraform/sim-tf-template-resolver.d.ts +0 -12
  684. package/dist/service/cloudformation/terraform/sim-tf-template-resolver.d.ts.map +0 -1
  685. package/dist/service/cloudformation/terraform/sim-tf-template-resolver.js +0 -17
  686. package/dist/service/cloudformation/terraform/sim-tf-template-resolver.js.map +0 -1
  687. package/dist/service/cloudformation/terraform/sim-tf-template.d.ts +0 -26
  688. package/dist/service/cloudformation/terraform/sim-tf-template.d.ts.map +0 -1
  689. package/dist/service/cloudformation/terraform/sim-tf-template.js +0 -54
  690. package/dist/service/cloudformation/terraform/sim-tf-template.js.map +0 -1
  691. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-unsimulated-properties.d.ts +0 -17
  692. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-unsimulated-properties.d.ts.map +0 -1
  693. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-unsimulated-properties.js +0 -48
  694. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-unsimulated-properties.js.map +0 -1
  695. package/dist/service/ses/command/identity/sim-ses-unsimulated-identity-input.d.ts +0 -12
  696. package/dist/service/ses/command/identity/sim-ses-unsimulated-identity-input.d.ts.map +0 -1
  697. package/dist/service/ses/command/identity/sim-ses-unsimulated-identity-input.js +0 -26
  698. package/dist/service/ses/command/identity/sim-ses-unsimulated-identity-input.js.map +0 -1
  699. /package/dist/service/{cloudformation/resource/cfn/ses → ses/identity}/sim-ses-dkim-tokens.d.ts +0 -0
  700. /package/dist/service/{cloudformation/resource/cfn/ses → ses/identity}/sim-ses-dkim-tokens.js +0 -0
  701. /package/dist/{service/cloudformation/terraform → terraform}/sim-tf-attribute-reads.d.ts +0 -0
  702. /package/dist/{service/cloudformation/terraform → terraform}/sim-tf-attribute-reads.js +0 -0
  703. /package/dist/{service/cloudformation/terraform → terraform}/sim-tf-mapping.type.js +0 -0
  704. /package/dist/{service/cloudformation/terraform → terraform}/sim-tf-plan.type.js +0 -0
  705. /package/dist/{service/cloudformation/terraform → terraform}/sim-tf-report.type.js +0 -0
@@ -0,0 +1,52 @@
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 { block, field, } from "../sim-tf-attributes.js";
9
+ /**
10
+ * The environment variables a simulated function runs with.
11
+ *
12
+ * A map holding one reference to a resource of the same plan is unknown in its
13
+ * entirety, and the variable names go with it, so a deployment can supply the
14
+ * map against the function name the plan carries. What the plan resolved wins
15
+ * over what was supplied, variable by variable, which is what makes a
16
+ * configuration that later resolves the map stop needing the override.
17
+ */
18
+ export function lambdaEnvironment(context) {
19
+ const supplied = context.overrides.environment(field(context.resource.values, "function_name"));
20
+ const variables = { ...supplied, ...plannedVariables(context) };
21
+ if (Object.keys(variables).length > 0) {
22
+ return { property: { Variables: variables }, lost: [] };
23
+ }
24
+ return {
25
+ property: undefined,
26
+ lost: collapsed(context) ? ["environment.variables"] : [],
27
+ };
28
+ }
29
+ /** The variables the plan itself resolved, which is usually none of them. */
30
+ function plannedVariables(context) {
31
+ const environment = block(context, "environment");
32
+ const variables = environment && field(environment, "variables");
33
+ return isRecord(variables) ? variables : {};
34
+ }
35
+ /**
36
+ * Whether Terraform marked the whole variables map unknown.
37
+ *
38
+ * A function declaring no environment at all has lost nothing. One whose map
39
+ * collapsed has lost names this cannot know, which is the case an override is
40
+ * for.
41
+ *
42
+ * The map goes whole or not at all. Terraform 1.15.8 against AWS provider
43
+ * 5.100.0 writes `"variables": true` for a map holding one literal and one
44
+ * reference to a resource of the same plan, so there is no per-variable form
45
+ * of this to read.
46
+ */
47
+ function collapsed(context) {
48
+ const declared = field(context.resource.unknown, "environment");
49
+ const entries = Array.isArray(declared) ? declared : [];
50
+ return isRecord(entries[0]) && field(entries[0], "variables") === true;
51
+ }
52
+ //# sourceMappingURL=sim-tf-map-lambda-environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-map-lambda-environment.js","sourceRoot":"","sources":["../../../src/terraform/map/sim-tf-map-lambda-environment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,kDAAkD;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAE3D,OAAO,EACL,KAAK,EACL,KAAK,GAEN,MAAM,yBAAyB,CAAC;AAUjC;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAgC;IAEhC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,CAC5C,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC,CAChD,CAAC;IACF,MAAM,SAAS,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;IAEhE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAC1D,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE;KAC1D,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,SAAS,gBAAgB,CACvB,OAAgC;IAEhC,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,WAAW,IAAI,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAEjE,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAE,SAAoC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,SAAS,CAAC,OAAgC;IACjD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAChE,MAAM,OAAO,GAAuB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAE5E,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,IAAI,CAAC;AACzE,CAAC"}
@@ -1,5 +1,5 @@
1
- import { type TerraformMappingContext } from "./sim-tf-attributes.js";
2
- import type { TerraformMappedResource } from "./sim-tf-mapping.type.js";
1
+ import { type TerraformMappingContext } from "../sim-tf-attributes.js";
2
+ import type { TerraformMappedResource } from "../sim-tf-mapping.type.js";
3
3
  /**
4
4
  * A function, minus its code.
5
5
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-map-lambda.d.ts","sourceRoot":"","sources":["../../../src/terraform/map/sim-tf-map-lambda.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEzE;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,uBAAuB,GAC/B,uBAAuB,CAiCzB;AAED,2CAA2C;AAC3C,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,uBAAuB,GAC/B,uBAAuB,CAWzB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,uBAAuB,GAC/B,uBAAuB,CAWzB"}
@@ -1,11 +1,5 @@
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 { block, field, properties, renamed, tags, templateValue, } from "./sim-tf-attributes.js";
1
+ import { properties, renamed, tags, } from "../sim-tf-attributes.js";
2
+ import { lambdaEnvironment } from "./sim-tf-map-lambda-environment.js";
9
3
  /**
10
4
  * A function, minus its code.
11
5
  *
@@ -15,7 +9,7 @@ import { block, field, properties, renamed, tags, templateValue, } from "./sim-t
15
9
  * template carries.
16
10
  */
17
11
  export function lambdaFunction(context) {
18
- const variables = environmentVariables(context);
12
+ const environment = lambdaEnvironment(context);
19
13
  return {
20
14
  Type: "AWS::Lambda::Function",
21
15
  Properties: {
@@ -28,38 +22,25 @@ export function lambdaFunction(context) {
28
22
  MemorySize: "memory_size",
29
23
  }),
30
24
  ...properties({
31
- Environment: variables && { Variables: variables },
25
+ Environment: environment.property,
32
26
  Tags: tags(context),
33
27
  }),
34
28
  },
35
- lost: lost(context, variables),
29
+ /*
30
+ * The code is always lost, since a plan points at a zip, an S3 object or
31
+ * an image. The environment joins it only where the plan collapsed the
32
+ * variables map and no override supplied one.
33
+ */
34
+ lost: ["code", ...environment.lost],
35
+ /*
36
+ * A function whose execution role the plan does not create, such as one
37
+ * read out of a data source, has no role for the template to name. Sim
38
+ * Lambda refuses a function without one, so the function is left out and
39
+ * recorded rather than failing the Stack around it.
40
+ */
41
+ requires: ["Role"],
36
42
  };
37
43
  }
38
- function environmentVariables(context) {
39
- const environment = block(context, "environment");
40
- const variables = environment && field(environment, "variables");
41
- if (!isRecord(variables)) {
42
- return undefined;
43
- }
44
- const value = templateValue(variables);
45
- return value;
46
- }
47
- /**
48
- * What the mapping could not carry.
49
- *
50
- * The code is always one. The environment variables are another whenever any
51
- * value in the map names a resource of the same plan, because Terraform marks
52
- * the whole map unknown and the variable names go with it.
53
- */
54
- function lost(context, variables) {
55
- const declared = field(context.resource.unknown, "environment");
56
- const entries = Array.isArray(declared) ? declared : [];
57
- const first = entries[0];
58
- const collapsed = isRecord(first) &&
59
- field(first, "variables") === true &&
60
- variables === undefined;
61
- return collapsed ? ["code", "environment.variables"] : ["code"];
62
- }
63
44
  /** One permission to invoke a function. */
64
45
  export function lambdaPermission(context) {
65
46
  return {
@@ -70,6 +51,7 @@ export function lambdaPermission(context) {
70
51
  Principal: "principal",
71
52
  SourceArn: "source_arn",
72
53
  }),
54
+ requires: ["FunctionName", "Action", "Principal"],
73
55
  };
74
56
  }
75
57
  /**
@@ -85,6 +67,7 @@ export function lambdaEventSourceMapping(context) {
85
67
  BatchSize: "batch_size",
86
68
  Enabled: "enabled",
87
69
  }),
70
+ requires: ["EventSourceArn", "FunctionName"],
88
71
  };
89
72
  }
90
73
  //# sourceMappingURL=sim-tf-map-lambda.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-map-lambda.js","sourceRoot":"","sources":["../../../src/terraform/map/sim-tf-map-lambda.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,OAAO,EACP,IAAI,GAEL,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAGvE;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAgC;IAEhC,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAE/C,OAAO;QACL,IAAI,EAAE,uBAAuB;QAC7B,UAAU,EAAE;YACV,GAAG,OAAO,CAAC,OAAO,EAAE;gBAClB,YAAY,EAAE,eAAe;gBAC7B,OAAO,EAAE,SAAS;gBAClB,OAAO,EAAE,SAAS;gBAClB,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,SAAS;gBAClB,UAAU,EAAE,aAAa;aAC1B,CAAC;YACF,GAAG,UAAU,CAAC;gBACZ,WAAW,EAAE,WAAW,CAAC,QAAQ;gBACjC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;aACpB,CAAC;SACH;QACD;;;;WAIG;QACH,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC;QACnC;;;;;WAKG;QACH,QAAQ,EAAE,CAAC,MAAM,CAAC;KACnB,CAAC;AACJ,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,gBAAgB,CAC9B,OAAgC;IAEhC,OAAO;QACL,IAAI,EAAE,yBAAyB;QAC/B,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE;YAC3B,YAAY,EAAE,eAAe;YAC7B,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,WAAW;YACtB,SAAS,EAAE,YAAY;SACxB,CAAC;QACF,QAAQ,EAAE,CAAC,cAAc,EAAE,QAAQ,EAAE,WAAW,CAAC;KAClD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAgC;IAEhC,OAAO;QACL,IAAI,EAAE,iCAAiC;QACvC,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE;YAC3B,cAAc,EAAE,kBAAkB;YAClC,YAAY,EAAE,eAAe;YAC7B,SAAS,EAAE,YAAY;YACvB,OAAO,EAAE,SAAS;SACnB,CAAC;QACF,QAAQ,EAAE,CAAC,gBAAgB,EAAE,cAAc,CAAC;KAC7C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { type TerraformMappingContext } from "../sim-tf-attributes.js";
2
+ import type { TerraformMappedResource } from "../sim-tf-mapping.type.js";
3
+ /**
4
+ * A log group.
5
+ *
6
+ * Terraform spells "never expire" as a retention of zero, and simulated
7
+ * CloudWatch Logs refuses a `RetentionInDays` of zero the way real
8
+ * CloudFormation does. A group configured to keep its logs forever is one
9
+ * declaring no retention at all.
10
+ */
11
+ export declare function logGroup(context: TerraformMappingContext): TerraformMappedResource;
12
+ //# sourceMappingURL=sim-tf-map-logs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-map-logs.d.ts","sourceRoot":"","sources":["../../../src/terraform/map/sim-tf-map-logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEzE;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CACtB,OAAO,EAAE,uBAAuB,GAC/B,uBAAuB,CAYzB"}
@@ -0,0 +1,22 @@
1
+ import { attribute, properties, renamed, } from "../sim-tf-attributes.js";
2
+ /**
3
+ * A log group.
4
+ *
5
+ * Terraform spells "never expire" as a retention of zero, and simulated
6
+ * CloudWatch Logs refuses a `RetentionInDays` of zero the way real
7
+ * CloudFormation does. A group configured to keep its logs forever is one
8
+ * declaring no retention at all.
9
+ */
10
+ export function logGroup(context) {
11
+ const retention = attribute(context, "retention_in_days");
12
+ return {
13
+ Type: "AWS::Logs::LogGroup",
14
+ Properties: {
15
+ ...renamed(context, { LogGroupName: "name" }),
16
+ ...properties({
17
+ RetentionInDays: retention === 0 ? undefined : retention,
18
+ }),
19
+ },
20
+ };
21
+ }
22
+ //# sourceMappingURL=sim-tf-map-logs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-map-logs.js","sourceRoot":"","sources":["../../../src/terraform/map/sim-tf-map-logs.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,UAAU,EACV,OAAO,GAER,MAAM,yBAAyB,CAAC;AAGjC;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CACtB,OAAgC;IAEhC,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAE1D,OAAO;QACL,IAAI,EAAE,qBAAqB;QAC3B,UAAU,EAAE;YACV,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;YAC7C,GAAG,UAAU,CAAC;gBACZ,eAAe,EAAE,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;aACzD,CAAC;SACH;KACF,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { TerraformResourceFold } from "./sim-tf-mapping.type.js";
1
+ import type { TerraformResourceFold } from "../sim-tf-mapping.type.js";
2
2
  /**
3
3
  * The `aws_s3_bucket_*` resources that configure a bucket declared elsewhere.
4
4
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-map-s3-folds.d.ts","sourceRoot":"","sources":["../../../src/terraform/map/sim-tf-map-s3-folds.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGvE;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,qBAAqB,CAkBjE,CAAC"}
@@ -1,6 +1,5 @@
1
- import { block, field, renamed, } from "./sim-tf-attributes.js";
2
- import { cors } from "./sim-tf-map-s3-cors.js";
3
- import { encryption } from "./sim-tf-map-s3-encryption.js";
1
+ import { block, field, renamed, } from "../sim-tf-attributes.js";
2
+ import { cors, encryption } from "./sim-tf-map-s3-rules.js";
4
3
  /**
5
4
  * The `aws_s3_bucket_*` resources that configure a bucket declared elsewhere.
6
5
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-map-s3-folds.js","sourceRoot":"","sources":["../../../src/terraform/map/sim-tf-map-s3-folds.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,EACL,KAAK,EACL,OAAO,GAER,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GACxB,IAAI,GAAG,CAAC;IACN;QACE,0BAA0B;QAC1B,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE;KACtD;IACD;QACE,mCAAmC;QACnC,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE;KACxD;IACD;QACE,kCAAkC;QAClC,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE;KAChD;IACD;QACE,oDAAoD;QACpD,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE;KACtD;CACF,CAAC,CAAC;AAEL,SAAS,UAAU,CACjB,OAAgC;IAEhC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;IAE9D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,KAAK,SAAS,CAAC;IAE1D,OAAO;QACL,uBAAuB,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE;KACvE,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,OAAgC;IAEhC,OAAO;QACL,8BAA8B,EAAE,OAAO,CAAC,OAAO,EAAE;YAC/C,eAAe,EAAE,mBAAmB;YACpC,iBAAiB,EAAE,qBAAqB;YACxC,gBAAgB,EAAE,oBAAoB;YACtC,qBAAqB,EAAE,yBAAyB;SACjD,CAAC;KACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { TerraformResourceFold } from "../sim-tf-mapping.type.js";
2
+ /** The resource that configures a bucket's lifecycle rules. */
3
+ export declare const s3LifecycleFolds: ReadonlyMap<string, TerraformResourceFold>;
4
+ //# sourceMappingURL=sim-tf-map-s3-lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-map-s3-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/terraform/map/sim-tf-map-s3-lifecycle.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEvE,+DAA+D;AAC/D,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,qBAAqB,CAMpE,CAAC"}
@@ -0,0 +1,92 @@
1
+ /*
2
+ * The bucket lifecycle configuration, which the provider declares as a
3
+ * resource of its own and CloudFormation carries on the bucket.
4
+ *
5
+ * Simulated S3 expires and transitions nothing, and records the whole
6
+ * `LifecycleConfiguration` property against the Resource as one it does not act
7
+ * on. The rules are carried across so that record names what the bucket was
8
+ * asked for, rather than the resource being skipped and the configuration
9
+ * disappearing from the report.
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 { blocks, field, properties, } from "../sim-tf-attributes.js";
18
+ /** The resource that configures a bucket's lifecycle rules. */
19
+ export const s3LifecycleFolds = new Map([
20
+ [
21
+ "aws_s3_bucket_lifecycle_configuration",
22
+ { parentAttribute: "bucket", properties: bucketLifecycle },
23
+ ],
24
+ ]);
25
+ /** The lifecycle rules a bucket is deployed with. */
26
+ function bucketLifecycle(context) {
27
+ const rules = blocks(context, "rule").map((rule) => lifecycleRule(rule));
28
+ return rules.length === 0 ? {} : { LifecycleConfiguration: { Rules: rules } };
29
+ }
30
+ function lifecycleRule(rule) {
31
+ const expiration = firstBlock(rule, "expiration");
32
+ const noncurrent = firstBlock(rule, "noncurrent_version_expiration");
33
+ const abortAfter = number(firstBlock(rule, "abort_incomplete_multipart_upload"), "days_after_initiation");
34
+ return properties({
35
+ Id: text(rule, "id"),
36
+ Status: text(rule, "status"),
37
+ Prefix: text(rule, "prefix") ?? filterPrefix(rule),
38
+ ExpirationInDays: number(expiration, "days"),
39
+ ExpirationDate: text(expiration, "date"),
40
+ NoncurrentVersionExpirationInDays: number(noncurrent, "noncurrent_days"),
41
+ AbortIncompleteMultipartUpload: abortAfter === undefined
42
+ ? undefined
43
+ : { DaysAfterInitiation: abortAfter },
44
+ Transitions: transitions(rule),
45
+ });
46
+ }
47
+ /**
48
+ * The prefix a rule matches on, where it was written as a filter.
49
+ *
50
+ * The provider takes a prefix either as the rule's own deprecated attribute or
51
+ * inside a `filter` block, and CloudFormation has the one `Prefix`.
52
+ */
53
+ function filterPrefix(rule) {
54
+ return text(firstBlock(rule, "filter"), "prefix");
55
+ }
56
+ /** The storage class changes a rule asks for, as CloudFormation lists them. */
57
+ function transitions(rule) {
58
+ const declared = field(rule, "transition");
59
+ const entries = (Array.isArray(declared) ? declared : [])
60
+ .filter((entry) => isRecord(entry))
61
+ .map((entry) => properties({
62
+ StorageClass: text(entry, "storage_class"),
63
+ TransitionInDays: number(entry, "days"),
64
+ TransitionDate: text(entry, "date"),
65
+ }));
66
+ return entries.length === 0 ? undefined : entries;
67
+ }
68
+ /**
69
+ * One entry of a nested block, which the plan represents as a list even where
70
+ * the schema allows only one.
71
+ */
72
+ function firstBlock(record, key) {
73
+ const declared = record === undefined ? undefined : field(record, key);
74
+ const [first] = Array.isArray(declared) ? declared : [];
75
+ return isRecord(first) ? first : undefined;
76
+ }
77
+ /**
78
+ * A string field of a block, where the provider wrote one.
79
+ *
80
+ * An absent optional string inside a nested block arrives as an empty string
81
+ * rather than as null, and a rule carrying an empty `Prefix` matches every
82
+ * object rather than none.
83
+ */
84
+ function text(record, key) {
85
+ const value = record === undefined ? undefined : field(record, key);
86
+ return typeof value === "string" && value.length > 0 ? value : undefined;
87
+ }
88
+ function number(record, key) {
89
+ const value = record === undefined ? undefined : field(record, key);
90
+ return typeof value === "number" ? value : undefined;
91
+ }
92
+ //# sourceMappingURL=sim-tf-map-s3-lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-map-s3-lifecycle.js","sourceRoot":"","sources":["../../../src/terraform/map/sim-tf-map-s3-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,kDAAkD;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAE3D,OAAO,EACL,MAAM,EACN,KAAK,EACL,UAAU,GAEX,MAAM,yBAAyB,CAAC;AAGjC,+DAA+D;AAC/D,MAAM,CAAC,MAAM,gBAAgB,GAC3B,IAAI,GAAG,CAAC;IACN;QACE,uCAAuC;QACvC,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE;KAC3D;CACF,CAAC,CAAC;AAEL,qDAAqD;AACrD,SAAS,eAAe,CACtB,OAAgC;IAEhC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAEzE,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;AAChF,CAAC;AAED,SAAS,aAAa,CAAC,IAA6B;IAClD,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,EAAE,+BAA+B,CAAC,CAAC;IACrE,MAAM,UAAU,GAAG,MAAM,CACvB,UAAU,CAAC,IAAI,EAAE,mCAAmC,CAAC,EACrD,uBAAuB,CACxB,CAAC;IAEF,OAAO,UAAU,CAAC;QAChB,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;QACpB,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;QAC5B,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC;QAClD,gBAAgB,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5C,cAAc,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC;QACxC,iCAAiC,EAAE,MAAM,CAAC,UAAU,EAAE,iBAAiB,CAAC;QACxE,8BAA8B,EAC5B,UAAU,KAAK,SAAS;YACtB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,EAAE,mBAAmB,EAAE,UAAU,EAAE;QACzC,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC;KAC/B,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,IAA6B;IACjD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;AACpD,CAAC;AAED,+EAA+E;AAC/E,SAAS,WAAW,CAClB,IAA6B;IAE7B,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAClC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACb,UAAU,CAAC;QACT,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC;QAC1C,gBAAgB,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC;QACvC,cAAc,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;KACpC,CAAC,CACH,CAAC;IAEJ,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;AACpD,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU,CACjB,MAA2C,EAC3C,GAAW;IAEX,MAAM,QAAQ,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvE,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,QAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;IAEvE,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,IAAI,CACX,MAA2C,EAC3C,GAAW;IAEX,MAAM,KAAK,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEpE,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3E,CAAC;AAED,SAAS,MAAM,CACb,MAA2C,EAC3C,GAAW;IAEX,MAAM,KAAK,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEpE,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { SimCfnTemplateValue } from "../../service/cloudformation/template/value/sim-cfn-template-value.js";
2
+ import { type TerraformMappingContext } from "../sim-tf-attributes.js";
3
+ /** Every destination the bucket sends to, grouped by the service it names. */
4
+ export declare function notificationConfiguration(context: TerraformMappingContext): SimCfnTemplateValue | undefined;
5
+ //# sourceMappingURL=sim-tf-map-s3-notification-destinations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-map-s3-notification-destinations.d.ts","sourceRoot":"","sources":["../../../src/terraform/map/sim-tf-map-s3-notification-destinations.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uEAAuE,CAAC;AACjH,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAC;AAWjC,8EAA8E;AAC9E,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,uBAAuB,GAC/B,mBAAmB,GAAG,SAAS,CAWjC"}
@@ -0,0 +1,30 @@
1
+ import { blocks, field, properties, } from "../sim-tf-attributes.js";
2
+ import { blockAttribute } from "../sim-tf-nested-attributes.js";
3
+ import { notificationDestinations, } from "./sim-tf-map-s3-notification.js";
4
+ import { notificationKeyFilter, notificationText, } from "./sim-tf-map-s3-notification-filter.js";
5
+ /** Every destination the bucket sends to, grouped by the service it names. */
6
+ export function notificationConfiguration(context) {
7
+ const configuration = properties(Object.fromEntries(notificationDestinations.map((destination) => [
8
+ destination.property,
9
+ entries(context, destination),
10
+ ])));
11
+ return Object.keys(configuration).length === 0 ? undefined : configuration;
12
+ }
13
+ /** One destination's entries, each naming the events it wants. */
14
+ function entries(context, destination) {
15
+ const declared = blocks(context, destination.block).flatMap((entry, index) => {
16
+ const arn = blockAttribute(context, destination.block, index, destination.destination);
17
+ return arn === undefined
18
+ ? []
19
+ : [
20
+ properties({
21
+ Id: notificationText(entry, "id"),
22
+ [destination.arn]: arn,
23
+ Events: field(entry, "events"),
24
+ Filter: notificationKeyFilter(entry),
25
+ }),
26
+ ];
27
+ });
28
+ return declared.length === 0 ? undefined : declared;
29
+ }
30
+ //# sourceMappingURL=sim-tf-map-s3-notification-destinations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-map-s3-notification-destinations.js","sourceRoot":"","sources":["../../../src/terraform/map/sim-tf-map-s3-notification-destinations.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,MAAM,EACN,KAAK,EACL,UAAU,GAEX,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EACL,wBAAwB,GAEzB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,wCAAwC,CAAC;AAEhD,8EAA8E;AAC9E,MAAM,UAAU,yBAAyB,CACvC,OAAgC;IAEhC,MAAM,aAAa,GAAG,UAAU,CAC9B,MAAM,CAAC,WAAW,CAChB,wBAAwB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QAC5C,WAAW,CAAC,QAAQ;QACpB,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC;KAC9B,CAAC,CACH,CACF,CAAC;IAEF,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC;AAC7E,CAAC;AAED,kEAAkE;AAClE,SAAS,OAAO,CACd,OAAgC,EAChC,WAAoC;IAEpC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,CACzD,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACf,MAAM,GAAG,GAAG,cAAc,CACxB,OAAO,EACP,WAAW,CAAC,KAAK,EACjB,KAAK,EACL,WAAW,CAAC,WAAW,CACxB,CAAC;QAEF,OAAO,GAAG,KAAK,SAAS;YACtB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,UAAU,CAAC;oBACT,EAAE,EAAE,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC;oBACjC,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG;oBACtB,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAwB;oBACrD,MAAM,EAAE,qBAAqB,CAAC,KAAK,CAAC;iBACrC,CAAC;aACH,CAAC;IACR,CAAC,CACF,CAAC;IAEF,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtD,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { SimCfnTemplateValue } from "../../service/cloudformation/template/value/sim-cfn-template-value.js";
2
+ /**
3
+ * The object key filter, from the prefix and suffix Terraform states apart.
4
+ *
5
+ * An absent optional string inside a nested block arrives as an empty string
6
+ * rather than as null, and a rule matching the empty prefix matches every
7
+ * object, which is what a filter is written to stop.
8
+ */
9
+ export declare function notificationKeyFilter(entry: Record<string, unknown>): SimCfnTemplateValue | undefined;
10
+ /** A string field of a block, where the provider wrote anything in it. */
11
+ export declare function notificationText(entry: Record<string, unknown>, key: string): string | undefined;
12
+ //# sourceMappingURL=sim-tf-map-s3-notification-filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-map-s3-notification-filter.d.ts","sourceRoot":"","sources":["../../../src/terraform/map/sim-tf-map-s3-notification-filter.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uEAAuE,CAAC;AAGjH;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,mBAAmB,GAAG,SAAS,CASjC;AAED,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,GAAG,EAAE,MAAM,GACV,MAAM,GAAG,SAAS,CAIpB"}
@@ -0,0 +1,21 @@
1
+ import { field } from "../sim-tf-attributes.js";
2
+ /**
3
+ * The object key filter, from the prefix and suffix Terraform states apart.
4
+ *
5
+ * An absent optional string inside a nested block arrives as an empty string
6
+ * rather than as null, and a rule matching the empty prefix matches every
7
+ * object, which is what a filter is written to stop.
8
+ */
9
+ export function notificationKeyFilter(entry) {
10
+ const rules = [
11
+ { Name: "prefix", Value: notificationText(entry, "filter_prefix") },
12
+ { Name: "suffix", Value: notificationText(entry, "filter_suffix") },
13
+ ].filter((rule) => rule.Value !== undefined);
14
+ return rules.length === 0 ? undefined : { Key: { FilterRules: rules } };
15
+ }
16
+ /** A string field of a block, where the provider wrote anything in it. */
17
+ export function notificationText(entry, key) {
18
+ const value = field(entry, key);
19
+ return typeof value === "string" && value.length > 0 ? value : undefined;
20
+ }
21
+ //# sourceMappingURL=sim-tf-map-s3-notification-filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-map-s3-notification-filter.js","sourceRoot":"","sources":["../../../src/terraform/map/sim-tf-map-s3-notification-filter.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAA8B;IAE9B,MAAM,KAAK,GAAG;QACZ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,eAAe,CAAC,EAAE;QACnE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,eAAe,CAAC,EAAE;KACpE,CAAC,MAAM,CACN,CAAC,IAAI,EAA2C,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAC5E,CAAC;IAEF,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC;AAC1E,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,gBAAgB,CAC9B,KAA8B,EAC9B,GAAW;IAEX,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEhC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3E,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { type TerraformMappingContext } from "../sim-tf-attributes.js";
2
+ import type { TerraformMappedResource } from "../sim-tf-mapping.type.js";
3
+ /**
4
+ * The three destination blocks, and what the request calls each of them.
5
+ *
6
+ * `destination` is the Terraform attribute holding the ARN, and `arn` is the
7
+ * key it is written under, which repeats the service's name on all three.
8
+ */
9
+ export declare const notificationDestinations: readonly [{
10
+ readonly block: "lambda_function";
11
+ readonly destination: "lambda_function_arn";
12
+ readonly property: "LambdaFunctionConfigurations";
13
+ readonly arn: "LambdaFunctionArn";
14
+ }, {
15
+ readonly block: "queue";
16
+ readonly destination: "queue_arn";
17
+ readonly property: "QueueConfigurations";
18
+ readonly arn: "QueueArn";
19
+ }, {
20
+ readonly block: "topic";
21
+ readonly destination: "topic_arn";
22
+ readonly property: "TopicConfigurations";
23
+ readonly arn: "TopicArn";
24
+ }];
25
+ export interface NotificationDestination {
26
+ readonly block: string;
27
+ readonly destination: string;
28
+ readonly property: string;
29
+ readonly arn: string;
30
+ }
31
+ /**
32
+ * The notification configuration a bucket is deployed with.
33
+ *
34
+ * This is a Resource of its own rather than a bucket property, for the reason
35
+ * CDK gives it one as well. A function's `AWS::Lambda::Permission` names the
36
+ * bucket whose events it admits, so a bucket naming the function back is a
37
+ * circular dependency CloudFormation refuses. Terraform declares the same three
38
+ * resources and has no cycle, because the notification sits between them, and
39
+ * `Custom::S3BucketNotifications` is that resource here. Simulated
40
+ * CloudFormation applies one with a single
41
+ * PutBucketNotificationConfiguration call, after everything the plan declared
42
+ * it to come after.
43
+ *
44
+ * The Resource carries the SDK request shape rather than the CloudFormation
45
+ * one, which is what CDK's own provider function is handed, and it is the
46
+ * closer of the two to what Terraform writes: a list of events per destination
47
+ * rather than one configuration per event.
48
+ */
49
+ export declare function bucketNotification(context: TerraformMappingContext): TerraformMappedResource;
50
+ //# sourceMappingURL=sim-tf-map-s3-notification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-map-s3-notification.d.ts","sourceRoot":"","sources":["../../../src/terraform/map/sim-tf-map-s3-notification.ts"],"names":[],"mappings":"AAIA,OAAO,EAKL,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAIzE;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB;aAEjC,KAAK,EAAE,iBAAiB;aACxB,WAAW,EAAE,qBAAqB;aAClC,QAAQ,EAAE,8BAA8B;aACxC,GAAG,EAAE,mBAAmB;;aAGxB,KAAK,EAAE,OAAO;aACd,WAAW,EAAE,WAAW;aACxB,QAAQ,EAAE,qBAAqB;aAC/B,GAAG,EAAE,UAAU;;aAGf,KAAK,EAAE,OAAO;aACd,WAAW,EAAE,WAAW;aACxB,QAAQ,EAAE,qBAAqB;aAC/B,GAAG,EAAE,UAAU;EAET,CAAC;AAEX,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,uBAAuB,GAC/B,uBAAuB,CAUzB"}
@@ -0,0 +1,80 @@
1
+ /*
2
+ * Where a bucket sends its events, which the provider declares as a resource
3
+ * of its own.
4
+ */
5
+ import { attribute, blocks, field, properties, } from "../sim-tf-attributes.js";
6
+ import { blockAttribute } from "../sim-tf-nested-attributes.js";
7
+ import { notificationConfiguration } from "./sim-tf-map-s3-notification-destinations.js";
8
+ /**
9
+ * The three destination blocks, and what the request calls each of them.
10
+ *
11
+ * `destination` is the Terraform attribute holding the ARN, and `arn` is the
12
+ * key it is written under, which repeats the service's name on all three.
13
+ */
14
+ export const notificationDestinations = [
15
+ {
16
+ block: "lambda_function",
17
+ destination: "lambda_function_arn",
18
+ property: "LambdaFunctionConfigurations",
19
+ arn: "LambdaFunctionArn",
20
+ },
21
+ {
22
+ block: "queue",
23
+ destination: "queue_arn",
24
+ property: "QueueConfigurations",
25
+ arn: "QueueArn",
26
+ },
27
+ {
28
+ block: "topic",
29
+ destination: "topic_arn",
30
+ property: "TopicConfigurations",
31
+ arn: "TopicArn",
32
+ },
33
+ ];
34
+ /**
35
+ * The notification configuration a bucket is deployed with.
36
+ *
37
+ * This is a Resource of its own rather than a bucket property, for the reason
38
+ * CDK gives it one as well. A function's `AWS::Lambda::Permission` names the
39
+ * bucket whose events it admits, so a bucket naming the function back is a
40
+ * circular dependency CloudFormation refuses. Terraform declares the same three
41
+ * resources and has no cycle, because the notification sits between them, and
42
+ * `Custom::S3BucketNotifications` is that resource here. Simulated
43
+ * CloudFormation applies one with a single
44
+ * PutBucketNotificationConfiguration call, after everything the plan declared
45
+ * it to come after.
46
+ *
47
+ * The Resource carries the SDK request shape rather than the CloudFormation
48
+ * one, which is what CDK's own provider function is handed, and it is the
49
+ * closer of the two to what Terraform writes: a list of events per destination
50
+ * rather than one configuration per event.
51
+ */
52
+ export function bucketNotification(context) {
53
+ return {
54
+ Type: "Custom::S3BucketNotifications",
55
+ Properties: properties({
56
+ BucketName: attribute(context, "bucket"),
57
+ NotificationConfiguration: notificationConfiguration(context),
58
+ }),
59
+ requires: ["BucketName", "NotificationConfiguration"],
60
+ lost: notificationLost(context),
61
+ };
62
+ }
63
+ /**
64
+ * What the notification configuration could not carry across.
65
+ *
66
+ * A destination whose ARN the plan left unresolvable is dropped, since a
67
+ * configuration naming nothing would raise its events at nothing. EventBridge
68
+ * delivery is dropped too: simulated S3 refuses an `EventBridgeConfiguration`
69
+ * by name rather than accepting one it would never deliver through.
70
+ */
71
+ function notificationLost(context) {
72
+ const dropped = notificationDestinations.filter((destination) => blocks(context, destination.block).some((_, index) => blockAttribute(context, destination.block, index, destination.destination) === undefined));
73
+ return [
74
+ ...dropped.map((destination) => destination.block),
75
+ ...(field(context.resource.values, "eventbridge") === true
76
+ ? ["eventbridge"]
77
+ : []),
78
+ ];
79
+ }
80
+ //# sourceMappingURL=sim-tf-map-s3-notification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-map-s3-notification.js","sourceRoot":"","sources":["../../../src/terraform/map/sim-tf-map-s3-notification.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,SAAS,EACT,MAAM,EACN,KAAK,EACL,UAAU,GAEX,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAC;AAEzF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC;QACE,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,qBAAqB;QAClC,QAAQ,EAAE,8BAA8B;QACxC,GAAG,EAAE,mBAAmB;KACzB;IACD;QACE,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,WAAW;QACxB,QAAQ,EAAE,qBAAqB;QAC/B,GAAG,EAAE,UAAU;KAChB;IACD;QACE,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,WAAW;QACxB,QAAQ,EAAE,qBAAqB;QAC/B,GAAG,EAAE,UAAU;KAChB;CACO,CAAC;AASX;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAgC;IAEhC,OAAO;QACL,IAAI,EAAE,+BAA+B;QACrC,UAAU,EAAE,UAAU,CAAC;YACrB,UAAU,EAAE,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC;YACxC,yBAAyB,EAAE,yBAAyB,CAAC,OAAO,CAAC;SAC9D,CAAC;QACF,QAAQ,EAAE,CAAC,YAAY,EAAE,2BAA2B,CAAC;QACrD,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC;KAChC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,gBAAgB,CAAC,OAAgC;IACxD,MAAM,OAAO,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAC9D,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CACrC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CACX,cAAc,CACZ,OAAO,EACP,WAAW,CAAC,KAAK,EACjB,KAAK,EACL,WAAW,CAAC,WAAW,CACxB,KAAK,SAAS,CAClB,CACF,CAAC;IAEF,OAAO;QACL,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC;QAClD,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,IAAI;YACxD,CAAC,CAAC,CAAC,aAAa,CAAC;YACjB,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { SimCfnTemplateValue } from "../../service/cloudformation/template/value/sim-cfn-template-value.js";
2
+ import { type TerraformMappingContext } from "../sim-tf-attributes.js";
3
+ /** The CORS rules a bucket answers browser requests under. */
4
+ export declare function cors(context: TerraformMappingContext): Record<string, SimCfnTemplateValue>;
5
+ /** The default encryption a bucket applies, as CloudFormation declares it. */
6
+ export declare function encryption(context: TerraformMappingContext): Record<string, SimCfnTemplateValue>;
7
+ //# sourceMappingURL=sim-tf-map-s3-rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-tf-map-s3-rules.d.ts","sourceRoot":"","sources":["../../../src/terraform/map/sim-tf-map-s3-rules.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uEAAuE,CAAC;AACjH,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAC;AAEjC,8DAA8D;AAC9D,wBAAgB,IAAI,CAClB,OAAO,EAAE,uBAAuB,GAC/B,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAWrC;AAED,8EAA8E;AAC9E,wBAAgB,UAAU,CACxB,OAAO,EAAE,uBAAuB,GAC/B,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAQrC"}
@@ -1,11 +1,28 @@
1
1
  /*
2
+ * The two bucket sections that are lists of rules rather than flat settings.
3
+ *
4
+ * Versioning and the public access block are renames. CORS and default
5
+ * encryption arrive as repeating Terraform blocks and CloudFormation holds
6
+ * each as a list of rules under a wrapper of its own, so both are rebuilt
7
+ * rather than carried across.
8
+ *
2
9
  * Reading a plan means reading records whose keys come from the document
3
10
  * rather than from this code, so the object-injection rule fires on every
4
11
  * lookup. The records are parsed JSON with no prototype of their own.
5
12
  */
6
13
  // oxlint-disable security/detect-object-injection
7
- import { isRecord } from "../../../util/type-guard/record.js";
8
- import { blocks, field, properties, } from "./sim-tf-attributes.js";
14
+ import { isRecord } from "../../util/type-guard/record.js";
15
+ import { blocks, field, properties, } from "../sim-tf-attributes.js";
16
+ /** The CORS rules a bucket answers browser requests under. */
17
+ export function cors(context) {
18
+ const rules = blocks(context, "cors_rule").map((rule) => properties({
19
+ AllowedHeaders: field(rule, "allowed_headers"),
20
+ AllowedMethods: field(rule, "allowed_methods"),
21
+ AllowedOrigins: field(rule, "allowed_origins"),
22
+ MaxAge: field(rule, "max_age_seconds"),
23
+ }));
24
+ return { CorsConfiguration: { CorsRules: rules } };
25
+ }
9
26
  /** The default encryption a bucket applies, as CloudFormation declares it. */
10
27
  export function encryption(context) {
11
28
  return {
@@ -29,4 +46,4 @@ function encryptionRule(rule) {
29
46
  }),
30
47
  };
31
48
  }
32
- //# sourceMappingURL=sim-tf-map-s3-encryption.js.map
49
+ //# sourceMappingURL=sim-tf-map-s3-rules.js.map