@kensio/yulin 1.19.1 → 1.19.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (638) hide show
  1. package/README.md +12 -0
  2. package/dist/serve/http/local-server/sim-aws-local-server.d.ts +31 -0
  3. package/dist/serve/http/local-server/sim-aws-local-server.d.ts.map +1 -1
  4. package/dist/serve/http/local-server/sim-aws-local-server.js +15 -1
  5. package/dist/serve/http/local-server/sim-aws-local-server.js.map +1 -1
  6. package/dist/serve/index.d.ts +1 -0
  7. package/dist/serve/index.d.ts.map +1 -1
  8. package/dist/serve/index.js.map +1 -1
  9. package/dist/serve/message/sim-local-message-logging.d.ts +39 -0
  10. package/dist/serve/message/sim-local-message-logging.d.ts.map +1 -0
  11. package/dist/serve/message/sim-local-message-logging.js +45 -0
  12. package/dist/serve/message/sim-local-message-logging.js.map +1 -0
  13. package/dist/serve/message/sim-message-log-console.d.ts +43 -0
  14. package/dist/serve/message/sim-message-log-console.d.ts.map +1 -0
  15. package/dist/serve/message/sim-message-log-console.js +71 -0
  16. package/dist/serve/message/sim-message-log-console.js.map +1 -0
  17. package/dist/serve/message/sim-message-logging.d.ts +42 -0
  18. package/dist/serve/message/sim-message-logging.d.ts.map +1 -0
  19. package/dist/serve/message/sim-message-logging.js +31 -0
  20. package/dist/serve/message/sim-message-logging.js.map +1 -0
  21. package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts +3 -0
  22. package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts.map +1 -1
  23. package/dist/service/aws/factory/sim-aws-account-region-service-builder.js +12 -1
  24. package/dist/service/aws/factory/sim-aws-account-region-service-builder.js.map +1 -1
  25. package/dist/service/aws/factory/sim-aws-service-factory.d.ts +9 -0
  26. package/dist/service/aws/factory/sim-aws-service-factory.d.ts.map +1 -1
  27. package/dist/service/aws/factory/sim-aws-service-factory.js +10 -0
  28. package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
  29. package/dist/service/aws/message/sim-aws-logged-message.d.ts +46 -0
  30. package/dist/service/aws/message/sim-aws-logged-message.d.ts.map +1 -0
  31. package/dist/service/aws/message/sim-aws-logged-message.js +2 -0
  32. package/dist/service/aws/message/sim-aws-logged-message.js.map +1 -0
  33. package/dist/service/aws/message/sim-aws-message-log.d.ts +40 -0
  34. package/dist/service/aws/message/sim-aws-message-log.d.ts.map +1 -0
  35. package/dist/service/aws/message/sim-aws-message-log.js +40 -0
  36. package/dist/service/aws/message/sim-aws-message-log.js.map +1 -0
  37. package/dist/service/cloudformation/cdk/s3/bucket-notifications/property/sim-cdk-bucket-notification-properties.d.ts +4 -3
  38. package/dist/service/cloudformation/cdk/s3/bucket-notifications/property/sim-cdk-bucket-notification-properties.d.ts.map +1 -1
  39. package/dist/service/cloudformation/cdk/s3/bucket-notifications/property/sim-cdk-bucket-notification-properties.js +4 -3
  40. package/dist/service/cloudformation/cdk/s3/bucket-notifications/property/sim-cdk-bucket-notification-properties.js.map +1 -1
  41. package/dist/service/cloudformation/cdk/s3/bucket-notifications/sim-cdk-bucket-notifications.d.ts +5 -0
  42. package/dist/service/cloudformation/cdk/s3/bucket-notifications/sim-cdk-bucket-notifications.d.ts.map +1 -1
  43. package/dist/service/cloudformation/cdk/s3/bucket-notifications/sim-cdk-bucket-notifications.js +5 -0
  44. package/dist/service/cloudformation/cdk/s3/bucket-notifications/sim-cdk-bucket-notifications.js.map +1 -1
  45. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.d.ts +2 -2
  46. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.d.ts.map +1 -1
  47. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.js.map +1 -1
  48. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.d.ts +3 -3
  49. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.d.ts.map +1 -1
  50. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.js.map +1 -1
  51. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts +5 -4
  52. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts.map +1 -1
  53. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.js.map +1 -1
  54. package/dist/service/cloudformation/index.d.ts +7 -0
  55. package/dist/service/cloudformation/index.d.ts.map +1 -1
  56. package/dist/service/cloudformation/resource/cfn/ses/sim-ses-cfn-value-adapter.d.ts.map +1 -1
  57. package/dist/service/cloudformation/resource/cfn/ses/sim-ses-cfn-value-adapter.js +8 -0
  58. package/dist/service/cloudformation/resource/cfn/ses/sim-ses-cfn-value-adapter.js.map +1 -1
  59. package/dist/service/cloudformation/resource/cfn/ses/sim-ses-configuration-set-cfn.d.ts +30 -0
  60. package/dist/service/cloudformation/resource/cfn/ses/sim-ses-configuration-set-cfn.d.ts.map +1 -0
  61. package/dist/service/cloudformation/resource/cfn/ses/sim-ses-configuration-set-cfn.js +29 -0
  62. package/dist/service/cloudformation/resource/cfn/ses/sim-ses-configuration-set-cfn.js.map +1 -0
  63. package/dist/service/cloudformation/resource/cfn/ses/sim-ses-identity-cfn.js +1 -1
  64. package/dist/service/cloudformation/resource/cfn/ses/sim-ses-identity-cfn.js.map +1 -1
  65. package/dist/service/cloudformation/resource/sim-cfn-deployed-resource.type.d.ts +59 -0
  66. package/dist/service/cloudformation/resource/sim-cfn-deployed-resource.type.d.ts.map +1 -0
  67. package/dist/service/cloudformation/resource/sim-cfn-deployed-resource.type.js +2 -0
  68. package/dist/service/cloudformation/resource/sim-cfn-deployed-resource.type.js.map +1 -0
  69. package/dist/service/cloudformation/sim-cloudformation.d.ts +8 -9
  70. package/dist/service/cloudformation/sim-cloudformation.d.ts.map +1 -1
  71. package/dist/service/cloudformation/sim-cloudformation.js +1 -3
  72. package/dist/service/cloudformation/sim-cloudformation.js.map +1 -1
  73. package/dist/service/cloudformation/stack/sim-cfn-deployed-stack.type.d.ts +68 -0
  74. package/dist/service/cloudformation/stack/sim-cfn-deployed-stack.type.d.ts.map +1 -0
  75. package/dist/service/cloudformation/stack/sim-cfn-deployed-stack.type.js +2 -0
  76. package/dist/service/cloudformation/stack/sim-cfn-deployed-stack.type.js.map +1 -0
  77. package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts +2 -1
  78. package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts.map +1 -1
  79. package/dist/service/cloudformation/stack/sim-cfn-stack.fixture.d.ts +21 -0
  80. package/dist/service/cloudformation/stack/sim-cfn-stack.fixture.d.ts.map +1 -0
  81. package/dist/service/cloudformation/stack/sim-cfn-stack.fixture.js +21 -0
  82. package/dist/service/cloudformation/stack/sim-cfn-stack.fixture.js.map +1 -0
  83. package/dist/service/cloudformation/stack/sim-cfn-stack.js.map +1 -1
  84. package/dist/service/cognito/cfn/client/sim-cfn-cognito-client-properties.d.ts.map +1 -1
  85. package/dist/service/cognito/cfn/client/sim-cfn-cognito-client-properties.js +2 -0
  86. package/dist/service/cognito/cfn/client/sim-cfn-cognito-client-properties.js.map +1 -1
  87. package/dist/service/cognito/cfn/sim-cfn-cognito-property-parser.d.ts +7 -0
  88. package/dist/service/cognito/cfn/sim-cfn-cognito-property-parser.d.ts.map +1 -1
  89. package/dist/service/cognito/cfn/sim-cfn-cognito-property-parser.js +14 -0
  90. package/dist/service/cognito/cfn/sim-cfn-cognito-property-parser.js.map +1 -1
  91. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-properties.d.ts.map +1 -1
  92. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-properties.js +10 -0
  93. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-properties.js.map +1 -1
  94. package/dist/service/cognito/command/auth/sim-cognito-available-challenges.d.ts.map +1 -1
  95. package/dist/service/cognito/command/auth/sim-cognito-available-challenges.js +7 -6
  96. package/dist/service/cognito/command/auth/sim-cognito-available-challenges.js.map +1 -1
  97. package/dist/service/cognito/command/client/sim-cognito-unsimulated-client-options.d.ts +20 -0
  98. package/dist/service/cognito/command/client/sim-cognito-unsimulated-client-options.d.ts.map +1 -1
  99. package/dist/service/cognito/command/client/sim-cognito-unsimulated-client-options.js +24 -4
  100. package/dist/service/cognito/command/client/sim-cognito-unsimulated-client-options.js.map +1 -1
  101. package/dist/service/cognito/command/sim-cognito-commands.d.ts +4 -0
  102. package/dist/service/cognito/command/sim-cognito-commands.d.ts.map +1 -1
  103. package/dist/service/cognito/command/sim-cognito-commands.js +8 -2
  104. package/dist/service/cognito/command/sim-cognito-commands.js.map +1 -1
  105. package/dist/service/cognito/command/sim-cognito-unsimulated-input.d.ts +9 -0
  106. package/dist/service/cognito/command/sim-cognito-unsimulated-input.d.ts.map +1 -1
  107. package/dist/service/cognito/command/sim-cognito-unsimulated-input.js +13 -3
  108. package/dist/service/cognito/command/sim-cognito-unsimulated-input.js.map +1 -1
  109. package/dist/service/cognito/command/user/sim-cognito-user-mfa-commands.d.ts.map +1 -1
  110. package/dist/service/cognito/command/user/sim-cognito-user-mfa-commands.js +2 -1
  111. package/dist/service/cognito/command/user/sim-cognito-user-mfa-commands.js.map +1 -1
  112. package/dist/service/cognito/command/user/user-mfa.command.d.ts +4 -3
  113. package/dist/service/cognito/command/user/user-mfa.command.d.ts.map +1 -1
  114. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-messaging.d.ts +22 -8
  115. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-messaging.d.ts.map +1 -1
  116. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-messaging.js +24 -11
  117. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-messaging.js.map +1 -1
  118. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-mfa-commands.d.ts +3 -3
  119. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-mfa-commands.d.ts.map +1 -1
  120. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-mfa-commands.js +5 -4
  121. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-mfa-commands.js.map +1 -1
  122. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-view.d.ts +6 -0
  123. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-view.d.ts.map +1 -1
  124. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-view.js +7 -0
  125. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-view.js.map +1 -1
  126. package/dist/service/cognito/command/user-pool/user-pool-mfa.command.d.ts +7 -6
  127. package/dist/service/cognito/command/user-pool/user-pool-mfa.command.d.ts.map +1 -1
  128. package/dist/service/cognito/command/user-pool/user-pool.command.d.ts +4 -2
  129. package/dist/service/cognito/command/user-pool/user-pool.command.d.ts.map +1 -1
  130. package/dist/service/cognito/error/sim-cognito.error.d.ts +23 -0
  131. package/dist/service/cognito/error/sim-cognito.error.d.ts.map +1 -1
  132. package/dist/service/cognito/error/sim-cognito.error.js +27 -0
  133. package/dist/service/cognito/error/sim-cognito.error.js.map +1 -1
  134. package/dist/service/cognito/index.d.ts +4 -0
  135. package/dist/service/cognito/index.d.ts.map +1 -1
  136. package/dist/service/cognito/index.js +4 -0
  137. package/dist/service/cognito/index.js.map +1 -1
  138. package/dist/service/cognito/sim-cognito-identity-provider.d.ts +14 -0
  139. package/dist/service/cognito/sim-cognito-identity-provider.d.ts.map +1 -1
  140. package/dist/service/cognito/sim-cognito-identity-provider.js +5 -1
  141. package/dist/service/cognito/sim-cognito-identity-provider.js.map +1 -1
  142. package/dist/service/cognito/user-pool/message/sim-aws-cognito-email-senders.d.ts +42 -0
  143. package/dist/service/cognito/user-pool/message/sim-aws-cognito-email-senders.d.ts.map +1 -0
  144. package/dist/service/cognito/user-pool/message/sim-aws-cognito-email-senders.js +84 -0
  145. package/dist/service/cognito/user-pool/message/sim-aws-cognito-email-senders.js.map +1 -0
  146. package/dist/service/cognito/user-pool/message/sim-cognito-email-configuration-reader.d.ts +31 -0
  147. package/dist/service/cognito/user-pool/message/sim-cognito-email-configuration-reader.d.ts.map +1 -0
  148. package/dist/service/cognito/user-pool/message/sim-cognito-email-configuration-reader.js +72 -0
  149. package/dist/service/cognito/user-pool/message/sim-cognito-email-configuration-reader.js.map +1 -0
  150. package/dist/service/cognito/user-pool/message/sim-cognito-email-configuration.d.ts +85 -0
  151. package/dist/service/cognito/user-pool/message/sim-cognito-email-configuration.d.ts.map +1 -0
  152. package/dist/service/cognito/user-pool/message/sim-cognito-email-configuration.js +117 -0
  153. package/dist/service/cognito/user-pool/message/sim-cognito-email-configuration.js.map +1 -0
  154. package/dist/service/cognito/user-pool/message/sim-cognito-email-senders.d.ts +73 -0
  155. package/dist/service/cognito/user-pool/message/sim-cognito-email-senders.d.ts.map +1 -0
  156. package/dist/service/cognito/user-pool/message/sim-cognito-email-senders.js +23 -0
  157. package/dist/service/cognito/user-pool/message/sim-cognito-email-senders.js.map +1 -0
  158. package/dist/service/cognito/user-pool/message/sim-cognito-email-source-arn.d.ts +39 -0
  159. package/dist/service/cognito/user-pool/message/sim-cognito-email-source-arn.d.ts.map +1 -0
  160. package/dist/service/cognito/user-pool/message/sim-cognito-email-source-arn.js +33 -0
  161. package/dist/service/cognito/user-pool/message/sim-cognito-email-source-arn.js.map +1 -0
  162. package/dist/service/cognito/user-pool/message/sim-cognito-pool-email-delivery.d.ts +41 -0
  163. package/dist/service/cognito/user-pool/message/sim-cognito-pool-email-delivery.d.ts.map +1 -0
  164. package/dist/service/cognito/user-pool/message/sim-cognito-pool-email-delivery.js +66 -0
  165. package/dist/service/cognito/user-pool/message/sim-cognito-pool-email-delivery.js.map +1 -0
  166. package/dist/service/cognito/user-pool/message/sim-cognito-pool-messenger.d.ts +19 -4
  167. package/dist/service/cognito/user-pool/message/sim-cognito-pool-messenger.d.ts.map +1 -1
  168. package/dist/service/cognito/user-pool/message/sim-cognito-pool-messenger.js +30 -8
  169. package/dist/service/cognito/user-pool/message/sim-cognito-pool-messenger.js.map +1 -1
  170. package/dist/service/cognito/user-pool/message/sim-cognito-sent-message.d.ts +9 -3
  171. package/dist/service/cognito/user-pool/message/sim-cognito-sent-message.d.ts.map +1 -1
  172. package/dist/service/cognito/user-pool/message/sim-cognito-sent-message.js +9 -3
  173. package/dist/service/cognito/user-pool/message/sim-cognito-sent-message.js.map +1 -1
  174. package/dist/service/cognito/user-pool/mfa/sim-cognito-user-pool-mfa.d.ts +2 -3
  175. package/dist/service/cognito/user-pool/mfa/sim-cognito-user-pool-mfa.d.ts.map +1 -1
  176. package/dist/service/cognito/user-pool/mfa/sim-cognito-user-pool-mfa.js.map +1 -1
  177. package/dist/service/cognito/user-pool/sim-cognito-user-pool-arn.d.ts +4 -2
  178. package/dist/service/cognito/user-pool/sim-cognito-user-pool-arn.d.ts.map +1 -1
  179. package/dist/service/cognito/user-pool/sim-cognito-user-pool-arn.js +2 -1
  180. package/dist/service/cognito/user-pool/sim-cognito-user-pool-arn.js.map +1 -1
  181. package/dist/service/cognito/user-pool/sim-cognito-user-pool-settings.d.ts +13 -0
  182. package/dist/service/cognito/user-pool/sim-cognito-user-pool-settings.d.ts.map +1 -1
  183. package/dist/service/cognito/user-pool/sim-cognito-user-pool-settings.js +7 -0
  184. package/dist/service/cognito/user-pool/sim-cognito-user-pool-settings.js.map +1 -1
  185. package/dist/service/elbv2/cfn/sim-cfn-elbv2.fixture.d.ts +2 -2
  186. package/dist/service/elbv2/cfn/sim-cfn-elbv2.fixture.d.ts.map +1 -1
  187. package/dist/service/elbv2/cfn/sim-cfn-elbv2.fixture.js.map +1 -1
  188. package/dist/service/iam/index.d.ts +1 -0
  189. package/dist/service/iam/index.d.ts.map +1 -1
  190. package/dist/service/iam/index.js.map +1 -1
  191. package/dist/service/ses/account/sim-ses-account.d.ts +22 -0
  192. package/dist/service/ses/account/sim-ses-account.d.ts.map +1 -1
  193. package/dist/service/ses/account/sim-ses-account.js +31 -0
  194. package/dist/service/ses/account/sim-ses-account.js.map +1 -1
  195. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-creator.d.ts +30 -0
  196. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-creator.d.ts.map +1 -0
  197. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-creator.js +47 -0
  198. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-creator.js.map +1 -0
  199. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-option-groups.d.ts +23 -0
  200. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-option-groups.d.ts.map +1 -0
  201. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-option-groups.js +52 -0
  202. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-option-groups.js.map +1 -0
  203. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-properties.d.ts +39 -0
  204. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-properties.d.ts.map +1 -0
  205. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-properties.js +71 -0
  206. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-properties.js.map +1 -0
  207. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-unsimulated-properties.d.ts +17 -0
  208. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-unsimulated-properties.d.ts.map +1 -0
  209. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-unsimulated-properties.js +34 -0
  210. package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-unsimulated-properties.js.map +1 -0
  211. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-creator.d.ts +5 -0
  212. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-creator.d.ts.map +1 -1
  213. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-creator.js +7 -0
  214. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-creator.js.map +1 -1
  215. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-properties.d.ts +13 -8
  216. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-properties.d.ts.map +1 -1
  217. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-properties.js +29 -14
  218. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-properties.js.map +1 -1
  219. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-settings.d.ts +18 -0
  220. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-settings.d.ts.map +1 -0
  221. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-settings.js +77 -0
  222. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-settings.js.map +1 -0
  223. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-values.d.ts +25 -0
  224. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-values.d.ts.map +1 -0
  225. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-values.js +49 -0
  226. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-values.js.map +1 -0
  227. package/dist/service/ses/cfn/sim-cfn-ses-property-scalars.d.ts +25 -0
  228. package/dist/service/ses/cfn/sim-cfn-ses-property-scalars.d.ts.map +1 -0
  229. package/dist/service/ses/cfn/sim-cfn-ses-property-scalars.js +69 -0
  230. package/dist/service/ses/cfn/sim-cfn-ses-property-scalars.js.map +1 -0
  231. package/dist/service/ses/cfn/sim-cfn-ses-resource-types.d.ts +2 -0
  232. package/dist/service/ses/cfn/sim-cfn-ses-resource-types.d.ts.map +1 -1
  233. package/dist/service/ses/cfn/sim-cfn-ses-resource-types.js +2 -0
  234. package/dist/service/ses/cfn/sim-cfn-ses-resource-types.js.map +1 -1
  235. package/dist/service/ses/cfn/sim-ses-cfn-resource-factory.d.ts +3 -2
  236. package/dist/service/ses/cfn/sim-ses-cfn-resource-factory.d.ts.map +1 -1
  237. package/dist/service/ses/cfn/sim-ses-cfn-resource-factory.js +43 -40
  238. package/dist/service/ses/cfn/sim-ses-cfn-resource-factory.js.map +1 -1
  239. package/dist/service/ses/command/account/account.command.d.ts +22 -0
  240. package/dist/service/ses/command/account/account.command.d.ts.map +1 -1
  241. package/dist/service/ses/command/account/sim-ses-account-commands.d.ts +12 -4
  242. package/dist/service/ses/command/account/sim-ses-account-commands.d.ts.map +1 -1
  243. package/dist/service/ses/command/account/sim-ses-account-commands.js +16 -3
  244. package/dist/service/ses/command/account/sim-ses-account-commands.js.map +1 -1
  245. package/dist/service/ses/command/account/sim-ses-account-report.d.ts +3 -0
  246. package/dist/service/ses/command/account/sim-ses-account-report.d.ts.map +1 -1
  247. package/dist/service/ses/command/account/sim-ses-account-report.js +4 -0
  248. package/dist/service/ses/command/account/sim-ses-account-report.js.map +1 -1
  249. package/dist/service/ses/command/authorize/sim-ses-authorizer.d.ts +8 -0
  250. package/dist/service/ses/command/authorize/sim-ses-authorizer.d.ts.map +1 -1
  251. package/dist/service/ses/command/authorize/sim-ses-authorizer.js +11 -1
  252. package/dist/service/ses/command/authorize/sim-ses-authorizer.js.map +1 -1
  253. package/dist/service/ses/command/configuration-set/configuration-set.command.d.ts +100 -0
  254. package/dist/service/ses/command/configuration-set/configuration-set.command.d.ts.map +1 -0
  255. package/dist/service/ses/command/configuration-set/configuration-set.command.js +2 -0
  256. package/dist/service/ses/command/configuration-set/configuration-set.command.js.map +1 -0
  257. package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-commands.d.ts +55 -0
  258. package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-commands.d.ts.map +1 -0
  259. package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-commands.js +105 -0
  260. package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-commands.js.map +1 -0
  261. package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-options.d.ts +11 -0
  262. package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-options.d.ts.map +1 -0
  263. package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-options.js +83 -0
  264. package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-options.js.map +1 -0
  265. package/dist/service/ses/command/configuration-set/sim-ses-unsimulated-configuration-set-input.d.ts +12 -0
  266. package/dist/service/ses/command/configuration-set/sim-ses-unsimulated-configuration-set-input.d.ts.map +1 -0
  267. package/dist/service/ses/command/configuration-set/sim-ses-unsimulated-configuration-set-input.js +27 -0
  268. package/dist/service/ses/command/configuration-set/sim-ses-unsimulated-configuration-set-input.js.map +1 -0
  269. package/dist/service/ses/command/identity/identity.command.d.ts +55 -2
  270. package/dist/service/ses/command/identity/identity.command.d.ts.map +1 -1
  271. package/dist/service/ses/command/identity/sim-ses-identity-attributes.d.ts +29 -0
  272. package/dist/service/ses/command/identity/sim-ses-identity-attributes.d.ts.map +1 -0
  273. package/dist/service/ses/command/identity/sim-ses-identity-attributes.js +60 -0
  274. package/dist/service/ses/command/identity/sim-ses-identity-attributes.js.map +1 -0
  275. package/dist/service/ses/command/identity/sim-ses-identity-commands.d.ts +6 -1
  276. package/dist/service/ses/command/identity/sim-ses-identity-commands.d.ts.map +1 -1
  277. package/dist/service/ses/command/identity/sim-ses-identity-commands.js +12 -12
  278. package/dist/service/ses/command/identity/sim-ses-identity-commands.js.map +1 -1
  279. package/dist/service/ses/command/identity/sim-ses-identity-input-settings.d.ts +16 -0
  280. package/dist/service/ses/command/identity/sim-ses-identity-input-settings.d.ts.map +1 -0
  281. package/dist/service/ses/command/identity/sim-ses-identity-input-settings.js +57 -0
  282. package/dist/service/ses/command/identity/sim-ses-identity-input-settings.js.map +1 -0
  283. package/dist/service/ses/command/send/sim-ses-send-email.d.ts +6 -0
  284. package/dist/service/ses/command/send/sim-ses-send-email.d.ts.map +1 -1
  285. package/dist/service/ses/command/send/sim-ses-send-email.js +7 -0
  286. package/dist/service/ses/command/send/sim-ses-send-email.js.map +1 -1
  287. package/dist/service/ses/command/send/sim-ses-service-send.d.ts +68 -0
  288. package/dist/service/ses/command/send/sim-ses-service-send.d.ts.map +1 -0
  289. package/dist/service/ses/command/send/sim-ses-service-send.js +69 -0
  290. package/dist/service/ses/command/send/sim-ses-service-send.js.map +1 -0
  291. package/dist/service/ses/command/send/sim-ses-suppression-check.d.ts +31 -0
  292. package/dist/service/ses/command/send/sim-ses-suppression-check.d.ts.map +1 -0
  293. package/dist/service/ses/command/send/sim-ses-suppression-check.js +37 -0
  294. package/dist/service/ses/command/send/sim-ses-suppression-check.js.map +1 -0
  295. package/dist/service/ses/command/send/sim-ses-verified-identities.d.ts +8 -0
  296. package/dist/service/ses/command/send/sim-ses-verified-identities.d.ts.map +1 -1
  297. package/dist/service/ses/command/send/sim-ses-verified-identities.js +15 -2
  298. package/dist/service/ses/command/send/sim-ses-verified-identities.js.map +1 -1
  299. package/dist/service/ses/command/sim-ses-command.types.d.ts +4 -2
  300. package/dist/service/ses/command/sim-ses-command.types.d.ts.map +1 -1
  301. package/dist/service/ses/command/suppression/sim-ses-suppression-commands.d.ts +44 -0
  302. package/dist/service/ses/command/suppression/sim-ses-suppression-commands.d.ts.map +1 -0
  303. package/dist/service/ses/command/suppression/sim-ses-suppression-commands.js +79 -0
  304. package/dist/service/ses/command/suppression/sim-ses-suppression-commands.js.map +1 -0
  305. package/dist/service/ses/command/suppression/sim-ses-suppression-listing.d.ts +15 -0
  306. package/dist/service/ses/command/suppression/sim-ses-suppression-listing.d.ts.map +1 -0
  307. package/dist/service/ses/command/suppression/sim-ses-suppression-listing.js +29 -0
  308. package/dist/service/ses/command/suppression/sim-ses-suppression-listing.js.map +1 -0
  309. package/dist/service/ses/command/suppression/sim-ses-unsimulated-suppression-input.d.ts +9 -0
  310. package/dist/service/ses/command/suppression/sim-ses-unsimulated-suppression-input.d.ts.map +1 -0
  311. package/dist/service/ses/command/suppression/sim-ses-unsimulated-suppression-input.js +16 -0
  312. package/dist/service/ses/command/suppression/sim-ses-unsimulated-suppression-input.js.map +1 -0
  313. package/dist/service/ses/command/suppression/suppression.command.d.ts +90 -0
  314. package/dist/service/ses/command/suppression/suppression.command.d.ts.map +1 -0
  315. package/dist/service/ses/command/suppression/suppression.command.js +2 -0
  316. package/dist/service/ses/command/suppression/suppression.command.js.map +1 -0
  317. package/dist/service/ses/configuration-set/sim-ses-configuration-set-store.d.ts +44 -0
  318. package/dist/service/ses/configuration-set/sim-ses-configuration-set-store.d.ts.map +1 -0
  319. package/dist/service/ses/configuration-set/sim-ses-configuration-set-store.js +91 -0
  320. package/dist/service/ses/configuration-set/sim-ses-configuration-set-store.js.map +1 -0
  321. package/dist/service/ses/configuration-set/sim-ses-configuration-set.d.ts +75 -0
  322. package/dist/service/ses/configuration-set/sim-ses-configuration-set.d.ts.map +1 -0
  323. package/dist/service/ses/configuration-set/sim-ses-configuration-set.js +44 -0
  324. package/dist/service/ses/configuration-set/sim-ses-configuration-set.js.map +1 -0
  325. package/dist/service/ses/email/sim-ses-sent-email.d.ts +29 -0
  326. package/dist/service/ses/email/sim-ses-sent-email.d.ts.map +1 -1
  327. package/dist/service/ses/email/sim-ses-sent-email.js +21 -0
  328. package/dist/service/ses/email/sim-ses-sent-email.js.map +1 -1
  329. package/dist/service/ses/identity/sim-ses-dkim-tokens.d.ts.map +1 -0
  330. package/dist/service/ses/identity/sim-ses-dkim-tokens.js.map +1 -0
  331. package/dist/service/ses/identity/sim-ses-identity-name.d.ts +5 -0
  332. package/dist/service/ses/identity/sim-ses-identity-name.d.ts.map +1 -1
  333. package/dist/service/ses/identity/sim-ses-identity-name.js +5 -1
  334. package/dist/service/ses/identity/sim-ses-identity-name.js.map +1 -1
  335. package/dist/service/ses/identity/sim-ses-identity-settings.d.ts +64 -0
  336. package/dist/service/ses/identity/sim-ses-identity-settings.d.ts.map +1 -0
  337. package/dist/service/ses/identity/sim-ses-identity-settings.js +21 -0
  338. package/dist/service/ses/identity/sim-ses-identity-settings.js.map +1 -0
  339. package/dist/service/ses/identity/sim-ses-identity-store.d.ts +2 -1
  340. package/dist/service/ses/identity/sim-ses-identity-store.d.ts.map +1 -1
  341. package/dist/service/ses/identity/sim-ses-identity-store.js +2 -1
  342. package/dist/service/ses/identity/sim-ses-identity-store.js.map +1 -1
  343. package/dist/service/ses/identity/sim-ses-identity.d.ts +38 -0
  344. package/dist/service/ses/identity/sim-ses-identity.d.ts.map +1 -1
  345. package/dist/service/ses/identity/sim-ses-identity.js +54 -0
  346. package/dist/service/ses/identity/sim-ses-identity.js.map +1 -1
  347. package/dist/service/ses/index.d.ts +10 -3
  348. package/dist/service/ses/index.d.ts.map +1 -1
  349. package/dist/service/ses/index.js +7 -1
  350. package/dist/service/ses/index.js.map +1 -1
  351. package/dist/service/ses/sdk/sim-ses-sdk-command-router.d.ts.map +1 -1
  352. package/dist/service/ses/sdk/sim-ses-sdk-command-router.js +36 -0
  353. package/dist/service/ses/sdk/sim-ses-sdk-command-router.js.map +1 -1
  354. package/dist/service/ses/sim-ses-arn.d.ts +7 -0
  355. package/dist/service/ses/sim-ses-arn.d.ts.map +1 -1
  356. package/dist/service/ses/sim-ses-arn.js +9 -0
  357. package/dist/service/ses/sim-ses-arn.js.map +1 -1
  358. package/dist/service/ses/sim-ses-commands.d.ts +14 -0
  359. package/dist/service/ses/sim-ses-commands.d.ts.map +1 -1
  360. package/dist/service/ses/sim-ses-commands.js +47 -5
  361. package/dist/service/ses/sim-ses-commands.js.map +1 -1
  362. package/dist/service/ses/sim-ses-configuration-sets.d.ts +47 -0
  363. package/dist/service/ses/sim-ses-configuration-sets.d.ts.map +1 -0
  364. package/dist/service/ses/sim-ses-configuration-sets.js +60 -0
  365. package/dist/service/ses/sim-ses-configuration-sets.js.map +1 -0
  366. package/dist/service/ses/sim-ses-suppression.d.ts +52 -0
  367. package/dist/service/ses/sim-ses-suppression.d.ts.map +1 -0
  368. package/dist/service/ses/sim-ses-suppression.js +63 -0
  369. package/dist/service/ses/sim-ses-suppression.js.map +1 -0
  370. package/dist/service/ses/sim-ses-v2.d.ts +14 -1
  371. package/dist/service/ses/sim-ses-v2.d.ts.map +1 -1
  372. package/dist/service/ses/sim-ses-v2.js +48 -35
  373. package/dist/service/ses/sim-ses-v2.js.map +1 -1
  374. package/dist/service/ses/suppression/sim-ses-suppressed-destination.d.ts +24 -0
  375. package/dist/service/ses/suppression/sim-ses-suppressed-destination.d.ts.map +1 -0
  376. package/dist/service/ses/suppression/sim-ses-suppressed-destination.js +21 -0
  377. package/dist/service/ses/suppression/sim-ses-suppressed-destination.js.map +1 -0
  378. package/dist/service/ses/suppression/sim-ses-suppression-address.d.ts +9 -0
  379. package/dist/service/ses/suppression/sim-ses-suppression-address.d.ts.map +1 -0
  380. package/dist/service/ses/suppression/sim-ses-suppression-address.js +21 -0
  381. package/dist/service/ses/suppression/sim-ses-suppression-address.js.map +1 -0
  382. package/dist/service/ses/suppression/sim-ses-suppression-list.d.ts +57 -0
  383. package/dist/service/ses/suppression/sim-ses-suppression-list.d.ts.map +1 -0
  384. package/dist/service/ses/suppression/sim-ses-suppression-list.js +82 -0
  385. package/dist/service/ses/suppression/sim-ses-suppression-list.js.map +1 -0
  386. package/dist/service/ses/suppression/sim-ses-suppression-reason.d.ts +20 -0
  387. package/dist/service/ses/suppression/sim-ses-suppression-reason.d.ts.map +1 -0
  388. package/dist/service/ses/suppression/sim-ses-suppression-reason.js +24 -0
  389. package/dist/service/ses/suppression/sim-ses-suppression-reason.js.map +1 -0
  390. package/dist/service/sns/command/sim-sns-commands.d.ts +2 -0
  391. package/dist/service/sns/command/sim-sns-commands.d.ts.map +1 -1
  392. package/dist/service/sns/command/sim-sns-commands.js +4 -1
  393. package/dist/service/sns/command/sim-sns-commands.js.map +1 -1
  394. package/dist/service/sns/sim-sns.d.ts +7 -0
  395. package/dist/service/sns/sim-sns.d.ts.map +1 -1
  396. package/dist/service/sns/sim-sns.js +3 -1
  397. package/dist/service/sns/sim-sns.js.map +1 -1
  398. package/dist/service/sns/sms/sim-sns-sent-sms-store.d.ts +13 -0
  399. package/dist/service/sns/sms/sim-sns-sent-sms-store.d.ts.map +1 -1
  400. package/dist/service/sns/sms/sim-sns-sent-sms-store.js +15 -0
  401. package/dist/service/sns/sms/sim-sns-sent-sms-store.js.map +1 -1
  402. package/dist/terraform/index.d.ts +6 -0
  403. package/dist/terraform/index.d.ts.map +1 -0
  404. package/dist/terraform/index.js +2 -0
  405. package/dist/terraform/index.js.map +1 -0
  406. package/dist/terraform/map/sim-tf-map-cloudwatch-dimensions.d.ts +20 -0
  407. package/dist/terraform/map/sim-tf-map-cloudwatch-dimensions.d.ts.map +1 -0
  408. package/dist/terraform/map/sim-tf-map-cloudwatch-dimensions.js +36 -0
  409. package/dist/terraform/map/sim-tf-map-cloudwatch-dimensions.js.map +1 -0
  410. package/dist/terraform/map/sim-tf-map-cloudwatch.d.ts +12 -0
  411. package/dist/terraform/map/sim-tf-map-cloudwatch.d.ts.map +1 -0
  412. package/dist/terraform/map/sim-tf-map-cloudwatch.js +69 -0
  413. package/dist/terraform/map/sim-tf-map-cloudwatch.js.map +1 -0
  414. package/dist/terraform/map/sim-tf-map-cognito-client.d.ts +15 -0
  415. package/dist/terraform/map/sim-tf-map-cognito-client.d.ts.map +1 -0
  416. package/dist/terraform/map/sim-tf-map-cognito-client.js +37 -0
  417. package/dist/terraform/map/sim-tf-map-cognito-client.js.map +1 -0
  418. package/dist/terraform/map/sim-tf-map-cognito-pool.d.ts +26 -0
  419. package/dist/terraform/map/sim-tf-map-cognito-pool.d.ts.map +1 -0
  420. package/dist/terraform/map/sim-tf-map-cognito-pool.js +70 -0
  421. package/dist/terraform/map/sim-tf-map-cognito-pool.js.map +1 -0
  422. package/dist/terraform/map/sim-tf-map-cognito.d.ts +13 -0
  423. package/dist/terraform/map/sim-tf-map-cognito.d.ts.map +1 -0
  424. package/dist/terraform/map/sim-tf-map-cognito.js +39 -0
  425. package/dist/terraform/map/sim-tf-map-cognito.js.map +1 -0
  426. package/dist/terraform/map/sim-tf-map-dynamodb-keys.d.ts +31 -0
  427. package/dist/terraform/map/sim-tf-map-dynamodb-keys.d.ts.map +1 -0
  428. package/dist/terraform/map/sim-tf-map-dynamodb-keys.js +71 -0
  429. package/dist/terraform/map/sim-tf-map-dynamodb-keys.js.map +1 -0
  430. package/dist/terraform/map/sim-tf-map-dynamodb.d.ts +5 -0
  431. package/dist/terraform/map/sim-tf-map-dynamodb.d.ts.map +1 -0
  432. package/dist/terraform/map/sim-tf-map-dynamodb.js +31 -0
  433. package/dist/terraform/map/sim-tf-map-dynamodb.js.map +1 -0
  434. package/dist/terraform/map/sim-tf-map-ecr.d.ts +12 -0
  435. package/dist/terraform/map/sim-tf-map-ecr.d.ts.map +1 -0
  436. package/dist/terraform/map/sim-tf-map-ecr.js +34 -0
  437. package/dist/terraform/map/sim-tf-map-ecr.js.map +1 -0
  438. package/dist/terraform/map/sim-tf-map-events.d.ts +24 -0
  439. package/dist/terraform/map/sim-tf-map-events.d.ts.map +1 -0
  440. package/dist/terraform/map/sim-tf-map-events.js +151 -0
  441. package/dist/terraform/map/sim-tf-map-events.js.map +1 -0
  442. package/dist/terraform/map/sim-tf-map-http-api-routes.d.ts +10 -0
  443. package/dist/terraform/map/sim-tf-map-http-api-routes.d.ts.map +1 -0
  444. package/dist/terraform/map/sim-tf-map-http-api-routes.js +48 -0
  445. package/dist/terraform/map/sim-tf-map-http-api-routes.js.map +1 -0
  446. package/dist/terraform/map/sim-tf-map-http-api.d.ts +7 -0
  447. package/dist/terraform/map/sim-tf-map-http-api.d.ts.map +1 -0
  448. package/dist/terraform/map/sim-tf-map-http-api.js +38 -0
  449. package/dist/terraform/map/sim-tf-map-http-api.js.map +1 -0
  450. package/dist/terraform/map/sim-tf-map-iam-policy.d.ts +32 -0
  451. package/dist/terraform/map/sim-tf-map-iam-policy.d.ts.map +1 -0
  452. package/dist/terraform/map/sim-tf-map-iam-policy.js +85 -0
  453. package/dist/terraform/map/sim-tf-map-iam-policy.js.map +1 -0
  454. package/dist/terraform/map/sim-tf-map-iam.d.ts +7 -0
  455. package/dist/terraform/map/sim-tf-map-iam.d.ts.map +1 -0
  456. package/dist/terraform/map/sim-tf-map-iam.js +37 -0
  457. package/dist/terraform/map/sim-tf-map-iam.js.map +1 -0
  458. package/dist/terraform/map/sim-tf-map-kms.d.ts +25 -0
  459. package/dist/terraform/map/sim-tf-map-kms.d.ts.map +1 -0
  460. package/dist/terraform/map/sim-tf-map-kms.js +75 -0
  461. package/dist/terraform/map/sim-tf-map-kms.js.map +1 -0
  462. package/dist/terraform/map/sim-tf-map-lambda-environment.d.ts +20 -0
  463. package/dist/terraform/map/sim-tf-map-lambda-environment.d.ts.map +1 -0
  464. package/dist/terraform/map/sim-tf-map-lambda-environment.js +52 -0
  465. package/dist/terraform/map/sim-tf-map-lambda-environment.js.map +1 -0
  466. package/dist/terraform/map/sim-tf-map-lambda.d.ts +19 -0
  467. package/dist/terraform/map/sim-tf-map-lambda.d.ts.map +1 -0
  468. package/dist/terraform/map/sim-tf-map-lambda.js +73 -0
  469. package/dist/terraform/map/sim-tf-map-lambda.js.map +1 -0
  470. package/dist/terraform/map/sim-tf-map-logs.d.ts +12 -0
  471. package/dist/terraform/map/sim-tf-map-logs.d.ts.map +1 -0
  472. package/dist/terraform/map/sim-tf-map-logs.js +22 -0
  473. package/dist/terraform/map/sim-tf-map-logs.js.map +1 -0
  474. package/dist/terraform/map/sim-tf-map-s3-folds.d.ts +9 -0
  475. package/dist/terraform/map/sim-tf-map-s3-folds.d.ts.map +1 -0
  476. package/dist/terraform/map/sim-tf-map-s3-folds.js +47 -0
  477. package/dist/terraform/map/sim-tf-map-s3-folds.js.map +1 -0
  478. package/dist/terraform/map/sim-tf-map-s3-lifecycle.d.ts +4 -0
  479. package/dist/terraform/map/sim-tf-map-s3-lifecycle.d.ts.map +1 -0
  480. package/dist/terraform/map/sim-tf-map-s3-lifecycle.js +92 -0
  481. package/dist/terraform/map/sim-tf-map-s3-lifecycle.js.map +1 -0
  482. package/dist/terraform/map/sim-tf-map-s3-notification-destinations.d.ts +5 -0
  483. package/dist/terraform/map/sim-tf-map-s3-notification-destinations.d.ts.map +1 -0
  484. package/dist/terraform/map/sim-tf-map-s3-notification-destinations.js +30 -0
  485. package/dist/terraform/map/sim-tf-map-s3-notification-destinations.js.map +1 -0
  486. package/dist/terraform/map/sim-tf-map-s3-notification-filter.d.ts +12 -0
  487. package/dist/terraform/map/sim-tf-map-s3-notification-filter.d.ts.map +1 -0
  488. package/dist/terraform/map/sim-tf-map-s3-notification-filter.js +21 -0
  489. package/dist/terraform/map/sim-tf-map-s3-notification-filter.js.map +1 -0
  490. package/dist/terraform/map/sim-tf-map-s3-notification.d.ts +50 -0
  491. package/dist/terraform/map/sim-tf-map-s3-notification.d.ts.map +1 -0
  492. package/dist/terraform/map/sim-tf-map-s3-notification.js +80 -0
  493. package/dist/terraform/map/sim-tf-map-s3-notification.js.map +1 -0
  494. package/dist/terraform/map/sim-tf-map-s3-rules.d.ts +7 -0
  495. package/dist/terraform/map/sim-tf-map-s3-rules.d.ts.map +1 -0
  496. package/dist/terraform/map/sim-tf-map-s3-rules.js +49 -0
  497. package/dist/terraform/map/sim-tf-map-s3-rules.js.map +1 -0
  498. package/dist/terraform/map/sim-tf-map-s3.d.ts +5 -0
  499. package/dist/terraform/map/sim-tf-map-s3.d.ts.map +1 -0
  500. package/dist/terraform/map/sim-tf-map-s3.js +18 -0
  501. package/dist/terraform/map/sim-tf-map-s3.js.map +1 -0
  502. package/dist/terraform/map/sim-tf-map-secretsmanager.d.ts +12 -0
  503. package/dist/terraform/map/sim-tf-map-secretsmanager.d.ts.map +1 -0
  504. package/dist/terraform/map/sim-tf-map-secretsmanager.js +24 -0
  505. package/dist/terraform/map/sim-tf-map-secretsmanager.js.map +1 -0
  506. package/dist/terraform/map/sim-tf-map-sns.d.ts +15 -0
  507. package/dist/terraform/map/sim-tf-map-sns.d.ts.map +1 -0
  508. package/dist/terraform/map/sim-tf-map-sns.js +40 -0
  509. package/dist/terraform/map/sim-tf-map-sns.js.map +1 -0
  510. package/dist/terraform/map/sim-tf-map-sqs-redrive.d.ts +32 -0
  511. package/dist/terraform/map/sim-tf-map-sqs-redrive.d.ts.map +1 -0
  512. package/dist/terraform/map/sim-tf-map-sqs-redrive.js +68 -0
  513. package/dist/terraform/map/sim-tf-map-sqs-redrive.js.map +1 -0
  514. package/dist/terraform/map/sim-tf-map-sqs.d.ts +11 -0
  515. package/dist/terraform/map/sim-tf-map-sqs.d.ts.map +1 -0
  516. package/dist/terraform/map/sim-tf-map-sqs.js +26 -0
  517. package/dist/terraform/map/sim-tf-map-sqs.js.map +1 -0
  518. package/dist/terraform/map/sim-tf-map-ssm.d.ts +13 -0
  519. package/dist/terraform/map/sim-tf-map-ssm.d.ts.map +1 -0
  520. package/dist/terraform/map/sim-tf-map-ssm.js +24 -0
  521. package/dist/terraform/map/sim-tf-map-ssm.js.map +1 -0
  522. package/dist/terraform/sim-tf-adapter.d.ts +80 -0
  523. package/dist/terraform/sim-tf-adapter.d.ts.map +1 -0
  524. package/dist/terraform/sim-tf-adapter.js +44 -0
  525. package/dist/terraform/sim-tf-adapter.js.map +1 -0
  526. package/dist/terraform/sim-tf-attribute-reads.d.ts +12 -0
  527. package/dist/terraform/sim-tf-attribute-reads.d.ts.map +1 -0
  528. package/dist/terraform/sim-tf-attribute-reads.js +60 -0
  529. package/dist/terraform/sim-tf-attribute-reads.js.map +1 -0
  530. package/dist/terraform/sim-tf-attributes.d.ts +69 -0
  531. package/dist/terraform/sim-tf-attributes.d.ts.map +1 -0
  532. package/dist/terraform/sim-tf-attributes.js +121 -0
  533. package/dist/terraform/sim-tf-attributes.js.map +1 -0
  534. package/dist/terraform/sim-tf-declare.d.ts +37 -0
  535. package/dist/terraform/sim-tf-declare.d.ts.map +1 -0
  536. package/dist/terraform/sim-tf-declare.js +83 -0
  537. package/dist/terraform/sim-tf-declare.js.map +1 -0
  538. package/dist/terraform/sim-tf-fold.d.ts +26 -0
  539. package/dist/terraform/sim-tf-fold.d.ts.map +1 -0
  540. package/dist/terraform/sim-tf-fold.js +72 -0
  541. package/dist/terraform/sim-tf-fold.js.map +1 -0
  542. package/dist/terraform/sim-tf-import.d.ts +31 -0
  543. package/dist/terraform/sim-tf-import.d.ts.map +1 -0
  544. package/dist/terraform/sim-tf-import.js +38 -0
  545. package/dist/terraform/sim-tf-import.js.map +1 -0
  546. package/dist/terraform/sim-tf-logical-id.d.ts +27 -0
  547. package/dist/terraform/sim-tf-logical-id.d.ts.map +1 -0
  548. package/dist/terraform/sim-tf-logical-id.js +83 -0
  549. package/dist/terraform/sim-tf-logical-id.js.map +1 -0
  550. package/dist/terraform/sim-tf-mapping.type.d.ts +73 -0
  551. package/dist/terraform/sim-tf-mapping.type.d.ts.map +1 -0
  552. package/dist/terraform/sim-tf-mapping.type.js +2 -0
  553. package/dist/terraform/sim-tf-mapping.type.js.map +1 -0
  554. package/dist/terraform/sim-tf-module-outputs.d.ts +11 -0
  555. package/dist/terraform/sim-tf-module-outputs.d.ts.map +1 -0
  556. package/dist/terraform/sim-tf-module-outputs.js +33 -0
  557. package/dist/terraform/sim-tf-module-outputs.js.map +1 -0
  558. package/dist/terraform/sim-tf-nested-attributes.d.ts +33 -0
  559. package/dist/terraform/sim-tf-nested-attributes.d.ts.map +1 -0
  560. package/dist/terraform/sim-tf-nested-attributes.js +97 -0
  561. package/dist/terraform/sim-tf-nested-attributes.js.map +1 -0
  562. package/dist/terraform/sim-tf-override.type.d.ts +36 -0
  563. package/dist/terraform/sim-tf-override.type.d.ts.map +1 -0
  564. package/dist/terraform/sim-tf-override.type.js +2 -0
  565. package/dist/terraform/sim-tf-override.type.js.map +1 -0
  566. package/dist/terraform/sim-tf-overrides.d.ts +21 -0
  567. package/dist/terraform/sim-tf-overrides.d.ts.map +1 -0
  568. package/dist/terraform/sim-tf-overrides.js +40 -0
  569. package/dist/terraform/sim-tf-overrides.js.map +1 -0
  570. package/dist/terraform/sim-tf-plan-file.d.ts +23 -0
  571. package/dist/terraform/sim-tf-plan-file.d.ts.map +1 -0
  572. package/dist/terraform/sim-tf-plan-file.js +58 -0
  573. package/dist/terraform/sim-tf-plan-file.js.map +1 -0
  574. package/dist/terraform/sim-tf-plan-resources.d.ts +18 -0
  575. package/dist/terraform/sim-tf-plan-resources.d.ts.map +1 -0
  576. package/dist/terraform/sim-tf-plan-resources.js +52 -0
  577. package/dist/terraform/sim-tf-plan-resources.js.map +1 -0
  578. package/dist/terraform/sim-tf-plan-sections.d.ts +31 -0
  579. package/dist/terraform/sim-tf-plan-sections.d.ts.map +1 -0
  580. package/dist/terraform/sim-tf-plan-sections.js +60 -0
  581. package/dist/terraform/sim-tf-plan-sections.js.map +1 -0
  582. package/dist/terraform/sim-tf-plan.type.d.ts +98 -0
  583. package/dist/terraform/sim-tf-plan.type.d.ts.map +1 -0
  584. package/dist/terraform/sim-tf-plan.type.js +2 -0
  585. package/dist/terraform/sim-tf-plan.type.js.map +1 -0
  586. package/dist/terraform/sim-tf-reference-address.d.ts +52 -0
  587. package/dist/terraform/sim-tf-reference-address.d.ts.map +1 -0
  588. package/dist/terraform/sim-tf-reference-address.js +102 -0
  589. package/dist/terraform/sim-tf-reference-address.js.map +1 -0
  590. package/dist/terraform/sim-tf-reference.d.ts +82 -0
  591. package/dist/terraform/sim-tf-reference.d.ts.map +1 -0
  592. package/dist/terraform/sim-tf-reference.js +153 -0
  593. package/dist/terraform/sim-tf-reference.js.map +1 -0
  594. package/dist/terraform/sim-tf-referenced.d.ts +18 -0
  595. package/dist/terraform/sim-tf-referenced.d.ts.map +1 -0
  596. package/dist/terraform/sim-tf-referenced.js +40 -0
  597. package/dist/terraform/sim-tf-referenced.js.map +1 -0
  598. package/dist/terraform/sim-tf-refusal.d.ts +23 -0
  599. package/dist/terraform/sim-tf-refusal.d.ts.map +1 -0
  600. package/dist/terraform/sim-tf-refusal.js +44 -0
  601. package/dist/terraform/sim-tf-refusal.js.map +1 -0
  602. package/dist/terraform/sim-tf-registry.d.ts +15 -0
  603. package/dist/terraform/sim-tf-registry.d.ts.map +1 -0
  604. package/dist/terraform/sim-tf-registry.js +67 -0
  605. package/dist/terraform/sim-tf-registry.js.map +1 -0
  606. package/dist/terraform/sim-tf-report.d.ts +21 -0
  607. package/dist/terraform/sim-tf-report.d.ts.map +1 -0
  608. package/dist/terraform/sim-tf-report.js +57 -0
  609. package/dist/terraform/sim-tf-report.js.map +1 -0
  610. package/dist/terraform/sim-tf-report.type.d.ts +37 -0
  611. package/dist/terraform/sim-tf-report.type.d.ts.map +1 -0
  612. package/dist/terraform/sim-tf-report.type.js +2 -0
  613. package/dist/terraform/sim-tf-report.type.js.map +1 -0
  614. package/dist/terraform/sim-tf-resource.type.d.ts +33 -0
  615. package/dist/terraform/sim-tf-resource.type.d.ts.map +1 -0
  616. package/dist/terraform/sim-tf-resource.type.js +3 -0
  617. package/dist/terraform/sim-tf-resource.type.js.map +1 -0
  618. package/dist/terraform/sim-tf-settle.d.ts +36 -0
  619. package/dist/terraform/sim-tf-settle.d.ts.map +1 -0
  620. package/dist/terraform/sim-tf-settle.js +63 -0
  621. package/dist/terraform/sim-tf-settle.js.map +1 -0
  622. package/dist/util/filesystem/test-terraform-project.d.ts +67 -0
  623. package/dist/util/filesystem/test-terraform-project.d.ts.map +1 -0
  624. package/dist/util/filesystem/test-terraform-project.js +112 -0
  625. package/dist/util/filesystem/test-terraform-project.js.map +1 -0
  626. package/package.json +7 -2
  627. package/dist/service/cloudformation/resource/cfn/ses/sim-ses-dkim-tokens.d.ts.map +0 -1
  628. package/dist/service/cloudformation/resource/cfn/ses/sim-ses-dkim-tokens.js.map +0 -1
  629. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-unsimulated-properties.d.ts +0 -17
  630. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-unsimulated-properties.d.ts.map +0 -1
  631. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-unsimulated-properties.js +0 -48
  632. package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-unsimulated-properties.js.map +0 -1
  633. package/dist/service/ses/command/identity/sim-ses-unsimulated-identity-input.d.ts +0 -12
  634. package/dist/service/ses/command/identity/sim-ses-unsimulated-identity-input.d.ts.map +0 -1
  635. package/dist/service/ses/command/identity/sim-ses-unsimulated-identity-input.js +0 -26
  636. package/dist/service/ses/command/identity/sim-ses-unsimulated-identity-input.js.map +0 -1
  637. /package/dist/service/{cloudformation/resource/cfn/ses → ses/identity}/sim-ses-dkim-tokens.d.ts +0 -0
  638. /package/dist/service/{cloudformation/resource/cfn/ses → ses/identity}/sim-ses-dkim-tokens.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-ses-configuration-set-properties.d.ts","sourceRoot":"","sources":["../../../../../src/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-properties.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,KAAK,EAEV,yBAAyB,EAC1B,MAAM,kEAAkE,CAAC;AAC1E,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,8DAA8D,CAAC;AAW1H,UAAU,6CAA6C;IACrD,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;CAChD;AAED;;;;;;;;;GASG;AACH,qBAAa,mCAAmC;;IAK9C,YAAY,UAAU,EAAE,6CAA6C,EAIpE;IAED;;OAEG;IACH,KAAK,IAAI,qCAAqC,CAO7C;IAED;;OAEG;IACH,uBAAuB,IAAI,IAAI,CAc9B;IAED;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAkB5B,OAAO,CAAC,aAAa;CAOtB"}
@@ -0,0 +1,71 @@
1
+ import { SimCfnGeneratedResourceName } from "../../../cloudformation/resource/name/sim-cfn-generated-resource-name.js";
2
+ import { simCfnSesResourceError } from "../sim-cfn-ses-resource-error.js";
3
+ import { sesConfigurationSetResourceType } from "../sim-cfn-ses-resource-types.js";
4
+ import { readCfnSesConfigurationSetOptions } from "./sim-cfn-ses-configuration-set-option-groups.js";
5
+ import { actedOnConfigurationSetProperties, unsimulatedConfigurationSetPropertyReasons, } from "./sim-cfn-ses-configuration-set-unsimulated-properties.js";
6
+ const maximumNameLength = 64;
7
+ /**
8
+ * Reads AWS::SES::ConfigurationSet properties into the shape
9
+ * CreateConfigurationSet takes.
10
+ *
11
+ * The two APIs agree on every name here, so each option group keeps the name
12
+ * the template gave it. What the reader does is settle the types, which
13
+ * CloudFormation is loose about, and leave the enums to the command. That is
14
+ * what makes a template naming a suppression reason SES has no meaning for
15
+ * fail the deploy rather than sit in the stack.
16
+ */
17
+ export class SimCfnSesConfigurationSetProperties {
18
+ #resource;
19
+ #properties;
20
+ #ignorer;
21
+ constructor(properties) {
22
+ this.#resource = properties.resource;
23
+ this.#ignorer = properties.resource;
24
+ this.#properties = new Map(Object.entries(properties.properties));
25
+ }
26
+ /**
27
+ * What CreateConfigurationSet is called with.
28
+ */
29
+ input() {
30
+ return {
31
+ ConfigurationSetName: this.configurationSetName(),
32
+ ...readCfnSesConfigurationSetOptions(this.#properties, (reason) => this.propertyError(reason)),
33
+ };
34
+ }
35
+ /**
36
+ * Record the properties the set is created without acting on.
37
+ */
38
+ recordIgnoredProperties() {
39
+ for (const name of this.#properties.keys()) {
40
+ if (actedOnConfigurationSetProperties.has(name)) {
41
+ continue;
42
+ }
43
+ this.#ignorer.ignoreProperty(name, unsimulatedConfigurationSetPropertyReasons.get(name) ??
44
+ `${name} is not a property simulated SES reads from ${sesConfigurationSetResourceType}`);
45
+ }
46
+ }
47
+ /**
48
+ * The set's name.
49
+ *
50
+ * An unnamed set is named after the stack and the logical ID, as real
51
+ * CloudFormation names one.
52
+ */
53
+ configurationSetName() {
54
+ const name = this.#properties.get("Name");
55
+ if (name === undefined) {
56
+ return new SimCfnGeneratedResourceName({
57
+ stackName: this.#resource.stackName,
58
+ logicalId: this.#resource.logicalId,
59
+ maximumLength: maximumNameLength,
60
+ }).value;
61
+ }
62
+ if (typeof name !== "string") {
63
+ throw this.propertyError("Name must be a string");
64
+ }
65
+ return name;
66
+ }
67
+ propertyError(reason) {
68
+ return simCfnSesResourceError(sesConfigurationSetResourceType, this.#resource.logicalId, reason);
69
+ }
70
+ }
71
+ //# sourceMappingURL=sim-cfn-ses-configuration-set-properties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-ses-configuration-set-properties.js","sourceRoot":"","sources":["../../../../../src/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-properties.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,0EAA0E,CAAC;AAOvH,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,EAAE,iCAAiC,EAAE,MAAM,kDAAkD,CAAC;AACrG,OAAO,EACL,iCAAiC,EACjC,0CAA0C,GAC3C,MAAM,2DAA2D,CAAC;AAEnE,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAO7B;;;;;;;;;GASG;AACH,MAAM,OAAO,mCAAmC;IACrC,SAAS,CAAiB;IAC1B,WAAW,CAA2C;IACtD,QAAQ,CAAwB;IAEzC,YAAY,UAAyD;QACnE,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACH,KAAK;QACH,OAAO;YACL,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,EAAE;YACjD,GAAG,iCAAiC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAChE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAC3B;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,uBAAuB;QACrB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;YAC3C,IAAI,iCAAiC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,SAAS;YACX,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,cAAc,CAC1B,IAAI,EACJ,0CAA0C,CAAC,GAAG,CAAC,IAAI,CAAC;gBAClD,GAAG,IAAI,+CACL,+BACF,EAAE,CACL,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,oBAAoB;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAE1C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,IAAI,2BAA2B,CAAC;gBACrC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS;gBACnC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS;gBACnC,aAAa,EAAE,iBAAiB;aACjC,CAAC,CAAC,KAAK,CAAC;QACX,CAAC;QAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,aAAa,CAAC,MAAc;QAClC,OAAO,sBAAsB,CAC3B,+BAA+B,EAC/B,IAAI,CAAC,SAAS,CAAC,SAAS,EACxB,MAAM,CACP,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * The AWS::SES::ConfigurationSet properties this simulation has nothing to act
3
+ * on, and why.
4
+ *
5
+ * They are recorded as ignored rather than refused, for the reason the
6
+ * identity properties are: a set without either of them still does what a set
7
+ * does here, and refusing would take a whole stack down over something no test
8
+ * is checking.
9
+ *
10
+ * The SDK path is stricter, and deliberately so. `CreateConfigurationSet`
11
+ * refuses both outright, because a caller reaching for one directly is asking
12
+ * for that behaviour and should be told it is not there.
13
+ */
14
+ export declare const unsimulatedConfigurationSetPropertyReasons: ReadonlyMap<string, string>;
15
+ /** The properties an AWS::SES::ConfigurationSet Resource is created from. */
16
+ export declare const actedOnConfigurationSetProperties: ReadonlySet<string>;
17
+ //# sourceMappingURL=sim-cfn-ses-configuration-set-unsimulated-properties.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-ses-configuration-set-unsimulated-properties.d.ts","sourceRoot":"","sources":["../../../../../src/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-unsimulated-properties.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,0CAA0C,EAAE,WAAW,CAClE,MAAM,EACN,MAAM,CAYN,CAAC;AAEH,6EAA6E;AAC7E,eAAO,MAAM,iCAAiC,EAAE,WAAW,CAAC,MAAM,CAMhE,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * The AWS::SES::ConfigurationSet properties this simulation has nothing to act
3
+ * on, and why.
4
+ *
5
+ * They are recorded as ignored rather than refused, for the reason the
6
+ * identity properties are: a set without either of them still does what a set
7
+ * does here, and refusing would take a whole stack down over something no test
8
+ * is checking.
9
+ *
10
+ * The SDK path is stricter, and deliberately so. `CreateConfigurationSet`
11
+ * refuses both outright, because a caller reaching for one directly is asking
12
+ * for that behaviour and should be told it is not there.
13
+ */
14
+ export const unsimulatedConfigurationSetPropertyReasons = new Map([
15
+ [
16
+ "TrackingOptions",
17
+ "open and click tracking is not simulated, so no message here has its " +
18
+ "links rewritten through a redirect domain",
19
+ ],
20
+ [
21
+ "VdmOptions",
22
+ "the Virtual Deliverability Manager is not simulated, because nothing " +
23
+ "here measures engagement or deliverability",
24
+ ],
25
+ ]);
26
+ /** The properties an AWS::SES::ConfigurationSet Resource is created from. */
27
+ export const actedOnConfigurationSetProperties = new Set([
28
+ "Name",
29
+ "SuppressionOptions",
30
+ "SendingOptions",
31
+ "DeliveryOptions",
32
+ "ReputationOptions",
33
+ ]);
34
+ //# sourceMappingURL=sim-cfn-ses-configuration-set-unsimulated-properties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-ses-configuration-set-unsimulated-properties.js","sourceRoot":"","sources":["../../../../../src/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-unsimulated-properties.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,0CAA0C,GAGnD,IAAI,GAAG,CAAC;IACV;QACE,iBAAiB;QACjB,uEAAuE;YACrE,2CAA2C;KAC9C;IACD;QACE,YAAY;QACZ,uEAAuE;YACrE,4CAA4C;KAC/C;CACF,CAAC,CAAC;AAEH,6EAA6E;AAC7E,MAAM,CAAC,MAAM,iCAAiC,GAAwB,IAAI,GAAG,CAAC;IAC5E,MAAM;IACN,oBAAoB;IACpB,gBAAgB;IAChB,iBAAiB;IACjB,mBAAmB;CACpB,CAAC,CAAC"}
@@ -14,6 +14,11 @@ interface SimCfnSesIdentityCreatorProperties {
14
14
  * may be named, and the same refusal of a name that is neither an address nor
15
15
  * a domain.
16
16
  *
17
+ * Its DKIM, MAIL FROM, feedback, configuration set and tag settings are
18
+ * applied afterwards, which is the order real CloudFormation works in. Two of
19
+ * those have no CreateEmailIdentity parameter on real SES either, and are put
20
+ * on the identity by a separate call once it exists.
21
+ *
17
22
  * It deploys unverified, which is what real CloudFormation leaves behind: the
18
23
  * confirmation link or the DKIM records still have to be dealt with out of
19
24
  * band. A test verifies it afterwards with `verifyIdentity`, which finds the
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cfn-ses-identity-creator.d.ts","sourceRoot":"","sources":["../../../../../src/service/ses/cfn/identity/sim-cfn-ses-identity-creator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAClH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAKpD,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;CACxB;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,wBAAwB;;IAGnC,YAAY,UAAU,EAAE,kCAAkC,EAEzD;IAED;;OAEG;IACG,MAAM,CACV,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,yBAAyB,GACpC,OAAO,CAAC,cAAc,CAAC,CA2BzB;IAED;;OAEG;IACG,MAAM,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAIpD;CACF"}
1
+ {"version":3,"file":"sim-cfn-ses-identity-creator.d.ts","sourceRoot":"","sources":["../../../../../src/service/ses/cfn/identity/sim-cfn-ses-identity-creator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAClH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAKpD,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,wBAAwB;;IAGnC,YAAY,UAAU,EAAE,kCAAkC,EAEzD;IAED;;OAEG;IACG,MAAM,CACV,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,yBAAyB,GACpC,OAAO,CAAC,cAAc,CAAC,CA+BzB;IAED;;OAEG;IACG,MAAM,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAIpD;CACF"}
@@ -11,6 +11,11 @@ import { SimCfnSesIdentityProperties } from "./sim-cfn-ses-identity-properties.j
11
11
  * may be named, and the same refusal of a name that is neither an address nor
12
12
  * a domain.
13
13
  *
14
+ * Its DKIM, MAIL FROM, feedback, configuration set and tag settings are
15
+ * applied afterwards, which is the order real CloudFormation works in. Two of
16
+ * those have no CreateEmailIdentity parameter on real SES either, and are put
17
+ * on the identity by a separate call once it exists.
18
+ *
14
19
  * It deploys unverified, which is what real CloudFormation leaves behind: the
15
20
  * confirmation link or the DKIM records still have to be dealt with out of
16
21
  * band. A test verifies it afterwards with `verifyIdentity`, which finds the
@@ -31,12 +36,14 @@ export class SimCfnSesIdentityCreator {
31
36
  });
32
37
  const emailIdentity = identityProperties.emailIdentity();
33
38
  identityProperties.recordIgnoredProperties();
39
+ const settings = identityProperties.settings(emailIdentity);
34
40
  return await simCfnSesResourceCreation(sesEmailIdentityResourceType, resource.logicalId, async () => {
35
41
  await this.#ses.createEmailIdentity({
36
42
  input: { EmailIdentity: emailIdentity },
37
43
  });
38
44
  const identity = this.#ses.findIdentity(emailIdentity);
39
45
  assertDefined(identity, `sim SES identity ${emailIdentity} after CloudFormation creation`);
46
+ identity.configure(settings);
40
47
  return identity;
41
48
  });
42
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cfn-ses-identity-creator.js","sourceRoot":"","sources":["../../../../../src/service/ses/cfn/identity/sim-cfn-ses-identity-creator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAKvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAMnF;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,wBAAwB;IAC1B,IAAI,CAAW;IAExB,YAAY,UAA8C;QACxD,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,QAAwB,EACxB,UAAqC;QAErC,MAAM,kBAAkB,GAAG,IAAI,2BAA2B,CAAC;YACzD,QAAQ;YACR,UAAU;SACX,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,kBAAkB,CAAC,aAAa,EAAE,CAAC;QAEzD,kBAAkB,CAAC,uBAAuB,EAAE,CAAC;QAE7C,OAAO,MAAM,yBAAyB,CACpC,4BAA4B,EAC5B,QAAQ,CAAC,SAAS,EAClB,KAAK,IAAI,EAAE;YACT,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC;gBAClC,KAAK,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE;aACxC,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YAEvD,aAAa,CACX,QAAQ,EACR,oBAAoB,aAAa,gCAAgC,CAClE,CAAC;YAEF,OAAO,QAAQ,CAAC;QAClB,CAAC,CACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,QAAwB;QACnC,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAClC,KAAK,EAAE,EAAE,aAAa,EAAE,QAAQ,CAAC,aAAa,EAAE;SACjD,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"sim-cfn-ses-identity-creator.js","sourceRoot":"","sources":["../../../../../src/service/ses/cfn/identity/sim-cfn-ses-identity-creator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAKvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAMnF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,wBAAwB;IAC1B,IAAI,CAAW;IAExB,YAAY,UAA8C;QACxD,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,QAAwB,EACxB,UAAqC;QAErC,MAAM,kBAAkB,GAAG,IAAI,2BAA2B,CAAC;YACzD,QAAQ;YACR,UAAU;SACX,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,kBAAkB,CAAC,aAAa,EAAE,CAAC;QAEzD,kBAAkB,CAAC,uBAAuB,EAAE,CAAC;QAE7C,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAE5D,OAAO,MAAM,yBAAyB,CACpC,4BAA4B,EAC5B,QAAQ,CAAC,SAAS,EAClB,KAAK,IAAI,EAAE;YACT,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC;gBAClC,KAAK,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE;aACxC,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YAEvD,aAAa,CACX,QAAQ,EACR,oBAAoB,aAAa,gCAAgC,CAClE,CAAC;YAEF,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAE7B,OAAO,QAAQ,CAAC;QAClB,CAAC,CACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,QAAwB;QACnC,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAClC,KAAK,EAAE,EAAE,aAAa,EAAE,QAAQ,CAAC,aAAa,EAAE;SACjD,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,5 +1,6 @@
1
1
  import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
2
2
  import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
3
+ import type { SimSesIdentitySettings } from "../../identity/sim-ses-identity-settings.js";
3
4
  interface SimCfnSesIdentityPropertiesProperties {
4
5
  readonly resource: SimCfnResource;
5
6
  readonly properties: SimCfnTemplateValueRecord;
@@ -7,10 +8,10 @@ interface SimCfnSesIdentityPropertiesProperties {
7
8
  /**
8
9
  * Reads AWS::SES::EmailIdentity CloudFormation properties.
9
10
  *
10
- * There is only one property to read. Everything else an identity Resource can
11
- * say is about DKIM, a MAIL FROM domain, a configuration set or feedback
12
- * forwarding, none of which this simulation acts on, so each is recorded as
13
- * ignored and the identity is created without it.
11
+ * `EmailIdentity` names the identity. Everything else is configuration the
12
+ * identity holds and reports back through `GetEmailIdentity` without acting
13
+ * on it, because DKIM signing, a custom MAIL FROM domain and feedback
14
+ * forwarding all decide what happens to a message after it leaves AWS.
14
15
  */
15
16
  export declare class SimCfnSesIdentityProperties {
16
17
  #private;
@@ -22,13 +23,17 @@ export declare class SimCfnSesIdentityProperties {
22
23
  * an identity is the thing it names, so CloudFormation cannot make one up.
23
24
  */
24
25
  emailIdentity(): string;
26
+ /**
27
+ * What the Resource configures the identity with beyond its name.
28
+ */
29
+ settings(emailIdentity: string): SimSesIdentitySettings;
25
30
  /**
26
31
  * Record the properties the identity is created without acting on.
27
32
  *
28
- * A property this Resource type does not have is recorded too, rather than
29
- * refused. Real CloudFormation refuses one, but the alternative here is a
30
- * stack that fails on a property AWS added after this was written, which is
31
- * a worse way to find out.
33
+ * Every property this Resource type has is read now, so in practice this
34
+ * catches a misspelling, and a property AWS adds after this was written.
35
+ * Real CloudFormation refuses the second one, and a stack failing over a
36
+ * property that arrived last week is a worse way to find out.
32
37
  */
33
38
  recordIgnoredProperties(): void;
34
39
  private propertyError;
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cfn-ses-identity-properties.d.ts","sourceRoot":"","sources":["../../../../../src/service/ses/cfn/identity/sim-cfn-ses-identity-properties.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAQlH,UAAU,qCAAqC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;CAChD;AAED;;;;;;;GAOG;AACH,qBAAa,2BAA2B;;IAKtC,YAAY,UAAU,EAAE,qCAAqC,EAI5D;IAED;;;;;OAKG;IACH,aAAa,IAAI,MAAM,CAetB;IAED;;;;;;;OAOG;IACH,uBAAuB,IAAI,IAAI,CAc9B;IAED,OAAO,CAAC,aAAa;CAOtB"}
1
+ {"version":3,"file":"sim-cfn-ses-identity-properties.d.ts","sourceRoot":"","sources":["../../../../../src/service/ses/cfn/identity/sim-cfn-ses-identity-properties.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAElH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAmB1F,UAAU,qCAAqC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;CAChD;AAED;;;;;;;GAOG;AACH,qBAAa,2BAA2B;;IAKtC,YAAY,UAAU,EAAE,qCAAqC,EAI5D;IAED;;;;;OAKG;IACH,aAAa,IAAI,MAAM,CAetB;IAED;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,sBAAsB,CAMtD;IAED;;;;;;;OAOG;IACH,uBAAuB,IAAI,IAAI,CAW9B;IAED,OAAO,CAAC,aAAa;CAOtB"}
@@ -1,15 +1,26 @@
1
+ import { simSesIdentityType } from "../../identity/sim-ses-identity-name.js";
1
2
  import { simCfnSesResourceError } from "../sim-cfn-ses-resource-error.js";
2
3
  import { sesEmailIdentityResourceType } from "../sim-cfn-ses-resource-types.js";
3
- import { unsimulatedIdentityPropertyReasons } from "./sim-cfn-ses-identity-unsimulated-properties.js";
4
- /** The one property an identity Resource is actually created from. */
4
+ import { simCfnSesIdentitySettings } from "./sim-cfn-ses-identity-settings.js";
5
+ /** The one property an identity Resource is named from. */
5
6
  const emailIdentityPropertyName = "EmailIdentity";
7
+ /** Everything an AWS::SES::EmailIdentity Resource is read from. */
8
+ const readProperties = new Set([
9
+ emailIdentityPropertyName,
10
+ "DkimAttributes",
11
+ "DkimSigningAttributes",
12
+ "MailFromAttributes",
13
+ "FeedbackAttributes",
14
+ "ConfigurationSetAttributes",
15
+ "Tags",
16
+ ]);
6
17
  /**
7
18
  * Reads AWS::SES::EmailIdentity CloudFormation properties.
8
19
  *
9
- * There is only one property to read. Everything else an identity Resource can
10
- * say is about DKIM, a MAIL FROM domain, a configuration set or feedback
11
- * forwarding, none of which this simulation acts on, so each is recorded as
12
- * ignored and the identity is created without it.
20
+ * `EmailIdentity` names the identity. Everything else is configuration the
21
+ * identity holds and reports back through `GetEmailIdentity` without acting
22
+ * on it, because DKIM signing, a custom MAIL FROM domain and feedback
23
+ * forwarding all decide what happens to a message after it leaves AWS.
13
24
  */
14
25
  export class SimCfnSesIdentityProperties {
15
26
  #resource;
@@ -37,21 +48,25 @@ export class SimCfnSesIdentityProperties {
37
48
  }
38
49
  return emailIdentity;
39
50
  }
51
+ /**
52
+ * What the Resource configures the identity with beyond its name.
53
+ */
54
+ settings(emailIdentity) {
55
+ return simCfnSesIdentitySettings(this.#properties, simSesIdentityType(emailIdentity), this.#ignorer);
56
+ }
40
57
  /**
41
58
  * Record the properties the identity is created without acting on.
42
59
  *
43
- * A property this Resource type does not have is recorded too, rather than
44
- * refused. Real CloudFormation refuses one, but the alternative here is a
45
- * stack that fails on a property AWS added after this was written, which is
46
- * a worse way to find out.
60
+ * Every property this Resource type has is read now, so in practice this
61
+ * catches a misspelling, and a property AWS adds after this was written.
62
+ * Real CloudFormation refuses the second one, and a stack failing over a
63
+ * property that arrived last week is a worse way to find out.
47
64
  */
48
65
  recordIgnoredProperties() {
49
66
  for (const name of Object.keys(this.#properties)) {
50
- if (name === emailIdentityPropertyName) {
51
- continue;
67
+ if (!readProperties.has(name)) {
68
+ this.#ignorer.ignoreProperty(name, `${name} is not a property simulated SES reads from ${sesEmailIdentityResourceType}`);
52
69
  }
53
- this.#ignorer.ignoreProperty(name, unsimulatedIdentityPropertyReasons.get(name) ??
54
- `${name} is not a property simulated SES reads from ${sesEmailIdentityResourceType}`);
55
70
  }
56
71
  }
57
72
  propertyError(reason) {
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cfn-ses-identity-properties.js","sourceRoot":"","sources":["../../../../../src/service/ses/cfn/identity/sim-cfn-ses-identity-properties.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,kCAAkC,EAAE,MAAM,kDAAkD,CAAC;AAEtG,sEAAsE;AACtE,MAAM,yBAAyB,GAAG,eAAe,CAAC;AAOlD;;;;;;;GAOG;AACH,MAAM,OAAO,2BAA2B;IAC7B,SAAS,CAAiB;IAC1B,WAAW,CAA4B;IACvC,QAAQ,CAAwB;IAEzC,YAAY,UAAiD;QAC3D,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACH,aAAa;QACX,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QAExD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,aAAa,CACtB,GAAG,yBAAyB,qCAAqC;gBAC/D,+CAA+C,CAClD,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;YACtC,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,yBAAyB,mBAAmB,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;;;;;;OAOG;IACH,uBAAuB;QACrB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACjD,IAAI,IAAI,KAAK,yBAAyB,EAAE,CAAC;gBACvC,SAAS;YACX,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,cAAc,CAC1B,IAAI,EACJ,kCAAkC,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC1C,GAAG,IAAI,+CACL,4BACF,EAAE,CACL,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,MAAc;QAClC,OAAO,sBAAsB,CAC3B,4BAA4B,EAC5B,IAAI,CAAC,SAAS,CAAC,SAAS,EACxB,MAAM,CACP,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"sim-cfn-ses-identity-properties.js","sourceRoot":"","sources":["../../../../../src/service/ses/cfn/identity/sim-cfn-ses-identity-properties.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,2DAA2D;AAC3D,MAAM,yBAAyB,GAAG,eAAe,CAAC;AAElD,mEAAmE;AACnE,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,yBAAyB;IACzB,gBAAgB;IAChB,uBAAuB;IACvB,oBAAoB;IACpB,oBAAoB;IACpB,4BAA4B;IAC5B,MAAM;CACP,CAAC,CAAC;AAOH;;;;;;;GAOG;AACH,MAAM,OAAO,2BAA2B;IAC7B,SAAS,CAAiB;IAC1B,WAAW,CAA4B;IACvC,QAAQ,CAAwB;IAEzC,YAAY,UAAiD;QAC3D,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACH,aAAa;QACX,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QAExD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,aAAa,CACtB,GAAG,yBAAyB,qCAAqC;gBAC/D,+CAA+C,CAClD,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;YACtC,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,yBAAyB,mBAAmB,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,aAAqB;QAC5B,OAAO,yBAAyB,CAC9B,IAAI,CAAC,WAAW,EAChB,kBAAkB,CAAC,aAAa,CAAC,EACjC,IAAI,CAAC,QAAQ,CACd,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,uBAAuB;QACrB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAC1B,IAAI,EACJ,GAAG,IAAI,+CACL,4BACF,EAAE,CACH,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,MAAc;QAClC,OAAO,sBAAsB,CAC3B,4BAA4B,EAC5B,IAAI,CAAC,SAAS,CAAC,SAAS,EACxB,MAAM,CACP,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,18 @@
1
+ import type { SimCfnPropertyIgnorer } from "../../../cloudformation/resource/ignore/sim-cfn-ignored-property.type.js";
2
+ import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
3
+ import type { SimSesIdentityType } from "../../identity/sim-ses-identity-name.js";
4
+ import { type SimSesIdentitySettings } from "../../identity/sim-ses-identity-settings.js";
5
+ /**
6
+ * Read the settings an AWS::SES::EmailIdentity Resource configures.
7
+ *
8
+ * Every one of these is held and reported rather than acted on. That is the
9
+ * whole of what a simulator can offer for DKIM and a custom MAIL FROM domain,
10
+ * since both decide whether a mailbox provider out on the internet trusts a
11
+ * message and neither leaves a trace a test process could read.
12
+ *
13
+ * A property whose value is the wrong shape falls back to the default instead
14
+ * of failing the deploy, which is the same call the rest of this Resource
15
+ * makes: one property should not take a whole stack down.
16
+ */
17
+ export declare function simCfnSesIdentitySettings(properties: SimCfnTemplateValueRecord, identityType: SimSesIdentityType, ignorer: SimCfnPropertyIgnorer): SimSesIdentitySettings;
18
+ //# sourceMappingURL=sim-cfn-ses-identity-settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-ses-identity-settings.d.ts","sourceRoot":"","sources":["../../../../../src/service/ses/cfn/identity/sim-cfn-ses-identity-settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0EAA0E,CAAC;AACtH,OAAO,KAAK,EAEV,yBAAyB,EAC1B,MAAM,kEAAkE,CAAC;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAGL,KAAK,sBAAsB,EAG5B,MAAM,6CAA6C,CAAC;AAWrD;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,yBAAyB,EACrC,YAAY,EAAE,kBAAkB,EAChC,OAAO,EAAE,qBAAqB,GAC7B,sBAAsB,CAsBxB"}
@@ -0,0 +1,77 @@
1
+ import { defaultSimSesIdentitySettings, } from "../../identity/sim-ses-identity-settings.js";
2
+ import { optionalBoolean, optionalRecord, optionalString, tagList, } from "./sim-cfn-ses-identity-values.js";
3
+ /** What CloudFormation falls back to when MAIL FROM says nothing about it. */
4
+ const defaultMxFailureBehaviour = "USE_DEFAULT_VALUE";
5
+ /**
6
+ * Read the settings an AWS::SES::EmailIdentity Resource configures.
7
+ *
8
+ * Every one of these is held and reported rather than acted on. That is the
9
+ * whole of what a simulator can offer for DKIM and a custom MAIL FROM domain,
10
+ * since both decide whether a mailbox provider out on the internet trusts a
11
+ * message and neither leaves a trace a test process could read.
12
+ *
13
+ * A property whose value is the wrong shape falls back to the default instead
14
+ * of failing the deploy, which is the same call the rest of this Resource
15
+ * makes: one property should not take a whole stack down.
16
+ */
17
+ export function simCfnSesIdentitySettings(properties, identityType, ignorer) {
18
+ const defaults = defaultSimSesIdentitySettings(identityType);
19
+ const configurationSet = optionalString(optionalRecord(properties["ConfigurationSetAttributes"])?.["ConfigurationSetName"]);
20
+ return {
21
+ dkim: dkimSettings(properties, defaults.dkim, ignorer),
22
+ ...mailFromSettings(properties),
23
+ feedbackForwardingEnabled: optionalBoolean(optionalRecord(properties["FeedbackAttributes"])?.["EmailForwardingEnabled"]) ?? defaults.feedbackForwardingEnabled,
24
+ ...(configurationSet !== undefined && {
25
+ configurationSetName: configurationSet,
26
+ }),
27
+ tags: tagList(properties["Tags"]),
28
+ };
29
+ }
30
+ /**
31
+ * How the Resource's two DKIM properties configure signing.
32
+ *
33
+ * `DkimAttributes` says whether signing is on. `DkimSigningAttributes` says
34
+ * where the key comes from: a selector means Bring Your Own DKIM, which SES
35
+ * reports as an `EXTERNAL` origin publishing one record of the caller's own
36
+ * rather than the three Easy DKIM tokens.
37
+ */
38
+ function dkimSettings(properties, defaults, ignorer) {
39
+ const signing = optionalRecord(properties["DkimSigningAttributes"]);
40
+ const selector = optionalString(signing?.["DomainSigningSelector"]);
41
+ const keyLength = optionalString(signing?.["NextSigningKeyLength"]);
42
+ if (signing?.["DomainSigningPrivateKey"] !== undefined) {
43
+ ignorer.ignoreProperty("DkimSigningAttributes.DomainSigningPrivateKey", "nothing here signs a message, so the private key is dropped rather " +
44
+ "than held as a secret with no use");
45
+ }
46
+ return {
47
+ signingEnabled: optionalBoolean(optionalRecord(properties["DkimAttributes"])?.["SigningEnabled"]) ?? defaults.signingEnabled,
48
+ signingOrigin: selector === undefined ? defaults.signingOrigin : "EXTERNAL",
49
+ ...(selector !== undefined && { domainSigningSelector: selector }),
50
+ ...(keyLength !== undefined && { nextSigningKeyLength: keyLength }),
51
+ };
52
+ }
53
+ /**
54
+ * The custom envelope sender domain, where the Resource names one.
55
+ *
56
+ * `BehaviorOnMxFailure` defaults to `USE_DEFAULT_VALUE`, as it does on real
57
+ * CloudFormation. CDK leaves it out, so the default is the common case.
58
+ */
59
+ function mailFromSettings(properties) {
60
+ const attributes = optionalRecord(properties["MailFromAttributes"]);
61
+ const domain = optionalString(attributes?.["MailFromDomain"]);
62
+ if (domain === undefined) {
63
+ return {};
64
+ }
65
+ return {
66
+ mailFrom: {
67
+ mailFromDomain: domain,
68
+ behaviourOnMxFailure: mxFailureBehaviour(attributes?.["BehaviorOnMxFailure"]),
69
+ },
70
+ };
71
+ }
72
+ function mxFailureBehaviour(value) {
73
+ return optionalString(value) === "REJECT_MESSAGE"
74
+ ? "REJECT_MESSAGE"
75
+ : defaultMxFailureBehaviour;
76
+ }
77
+ //# sourceMappingURL=sim-cfn-ses-identity-settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-ses-identity-settings.js","sourceRoot":"","sources":["../../../../../src/service/ses/cfn/identity/sim-cfn-ses-identity-settings.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,6BAA6B,GAK9B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,eAAe,EACf,cAAc,EACd,cAAc,EACd,OAAO,GACR,MAAM,kCAAkC,CAAC;AAE1C,8EAA8E;AAC9E,MAAM,yBAAyB,GAA4B,mBAAmB,CAAC;AAE/E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,yBAAyB,CACvC,UAAqC,EACrC,YAAgC,EAChC,OAA8B;IAE9B,MAAM,QAAQ,GAAG,6BAA6B,CAAC,YAAY,CAAC,CAAC;IAC7D,MAAM,gBAAgB,GAAG,cAAc,CACrC,cAAc,CAAC,UAAU,CAAC,4BAA4B,CAAC,CAAC,EAAE,CACxD,sBAAsB,CACvB,CACF,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QACtD,GAAG,gBAAgB,CAAC,UAAU,CAAC;QAC/B,yBAAyB,EACvB,eAAe,CACb,cAAc,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAChD,wBAAwB,CACzB,CACF,IAAI,QAAQ,CAAC,yBAAyB;QACzC,GAAG,CAAC,gBAAgB,KAAK,SAAS,IAAI;YACpC,oBAAoB,EAAE,gBAAgB;SACvC,CAAC;QACF,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;KAClC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,YAAY,CACnB,UAAqC,EACrC,QAA4B,EAC5B,OAA8B;IAE9B,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAEpE,IAAI,OAAO,EAAE,CAAC,yBAAyB,CAAC,KAAK,SAAS,EAAE,CAAC;QACvD,OAAO,CAAC,cAAc,CACpB,+CAA+C,EAC/C,qEAAqE;YACnE,mCAAmC,CACtC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,cAAc,EACZ,eAAe,CACb,cAAc,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CACjE,IAAI,QAAQ,CAAC,cAAc;QAC9B,aAAa,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU;QAC3E,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,CAAC;QAClE,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,CAAC;KACpE,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,UAAqC;IAG7D,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAE9D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO;QACL,QAAQ,EAAE;YACR,cAAc,EAAE,MAAM;YACtB,oBAAoB,EAAE,kBAAkB,CACtC,UAAU,EAAE,CAAC,qBAAqB,CAAC,CACpC;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,KAAsC;IAEtC,OAAO,cAAc,CAAC,KAAK,CAAC,KAAK,gBAAgB;QAC/C,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,yBAAyB,CAAC;AAChC,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { SimCfnTemplateValue, SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
2
+ import type { SimSesIdentityTag } from "../../identity/sim-ses-identity-settings.js";
3
+ /**
4
+ * Read a template value that should be a nested record.
5
+ *
6
+ * Anything else reads as absent. An identity's settings are all declarative,
7
+ * so a malformed one leaves the identity reporting the default rather than
8
+ * taking the deploy down over a value nothing here acts on.
9
+ */
10
+ export declare function optionalRecord(value: SimCfnTemplateValue | undefined): SimCfnTemplateValueRecord | undefined;
11
+ /** Read a template value that should be a string. */
12
+ export declare function optionalString(value: SimCfnTemplateValue | undefined): string | undefined;
13
+ /**
14
+ * Read a template value that should be a boolean.
15
+ *
16
+ * CloudFormation carries booleans as the strings `"true"` and `"false"` where
17
+ * a template wrote them in quotes or a `Ref` resolved to one, so both spellings
18
+ * are read.
19
+ */
20
+ export declare function optionalBoolean(value: SimCfnTemplateValue | undefined): boolean | undefined;
21
+ /**
22
+ * Read the tag list off a Resource, keeping the entries that have both halves.
23
+ */
24
+ export declare function tagList(value: SimCfnTemplateValue | undefined): readonly SimSesIdentityTag[];
25
+ //# sourceMappingURL=sim-cfn-ses-identity-values.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-ses-identity-values.d.ts","sourceRoot":"","sources":["../../../../../src/service/ses/cfn/identity/sim-cfn-ses-identity-values.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,kEAAkE,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAErF;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,mBAAmB,GAAG,SAAS,GACrC,yBAAyB,GAAG,SAAS,CAIvC;AAED,qDAAqD;AACrD,wBAAgB,cAAc,CAC5B,KAAK,EAAE,mBAAmB,GAAG,SAAS,GACrC,MAAM,GAAG,SAAS,CAEpB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,mBAAmB,GAAG,SAAS,GACrC,OAAO,GAAG,SAAS,CAUrB;AAED;;GAEG;AACH,wBAAgB,OAAO,CACrB,KAAK,EAAE,mBAAmB,GAAG,SAAS,GACrC,SAAS,iBAAiB,EAAE,CAc9B"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Read a template value that should be a nested record.
3
+ *
4
+ * Anything else reads as absent. An identity's settings are all declarative,
5
+ * so a malformed one leaves the identity reporting the default rather than
6
+ * taking the deploy down over a value nothing here acts on.
7
+ */
8
+ export function optionalRecord(value) {
9
+ return typeof value === "object" && value !== null && !Array.isArray(value)
10
+ ? value
11
+ : undefined;
12
+ }
13
+ /** Read a template value that should be a string. */
14
+ export function optionalString(value) {
15
+ return typeof value === "string" ? value : undefined;
16
+ }
17
+ /**
18
+ * Read a template value that should be a boolean.
19
+ *
20
+ * CloudFormation carries booleans as the strings `"true"` and `"false"` where
21
+ * a template wrote them in quotes or a `Ref` resolved to one, so both spellings
22
+ * are read.
23
+ */
24
+ export function optionalBoolean(value) {
25
+ if (typeof value === "boolean") {
26
+ return value;
27
+ }
28
+ if (value === "true" || value === "false") {
29
+ return value === "true";
30
+ }
31
+ return undefined;
32
+ }
33
+ /**
34
+ * Read the tag list off a Resource, keeping the entries that have both halves.
35
+ */
36
+ export function tagList(value) {
37
+ if (!Array.isArray(value)) {
38
+ return [];
39
+ }
40
+ return value.flatMap((entry) => {
41
+ const tag = optionalRecord(entry);
42
+ const key = optionalString(tag?.["Key"]);
43
+ const tagValue = optionalString(tag?.["Value"]);
44
+ return key === undefined || tagValue === undefined
45
+ ? []
46
+ : [{ Key: key, Value: tagValue }];
47
+ });
48
+ }
49
+ //# sourceMappingURL=sim-cfn-ses-identity-values.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-ses-identity-values.js","sourceRoot":"","sources":["../../../../../src/service/ses/cfn/identity/sim-cfn-ses-identity-values.ts"],"names":[],"mappings":"AAMA;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAsC;IAEtC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,cAAc,CAC5B,KAAsC;IAEtC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAsC;IAEtC,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QAC1C,OAAO,KAAK,KAAK,MAAM,CAAC;IAC1B,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CACrB,KAAsC;IAEtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC7B,MAAM,GAAG,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAEhD,OAAO,GAAG,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS;YAChD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { SimCfnTemplateValue } from "../../cloudformation/template/value/sim-cfn-template-value.js";
2
+ /** How a reader reports a property it cannot read. */
3
+ export type SimCfnSesPropertyFailure = (reason: string) => Error;
4
+ /**
5
+ * Reads the scalar values of an AWS::SES::* Resource property.
6
+ *
7
+ * CloudFormation is loose about these types. A boolean written literally in a
8
+ * template arrives as a boolean, and the same boolean reaching a Resource
9
+ * through a String Parameter or an `Fn::Sub` arrives as `"true"`. Both are
10
+ * read here, and a value that is neither is refused by name.
11
+ */
12
+ export declare function sesCfnString(value: SimCfnTemplateValue | undefined, path: string, fail: SimCfnSesPropertyFailure): string | undefined;
13
+ /**
14
+ * A boolean, written as one or as the string CloudFormation carried it in.
15
+ */
16
+ export declare function sesCfnBoolean(value: SimCfnTemplateValue | undefined, path: string, fail: SimCfnSesPropertyFailure): boolean | undefined;
17
+ /**
18
+ * A number, written as one or as the string CloudFormation carried it in.
19
+ */
20
+ export declare function sesCfnNumber(value: SimCfnTemplateValue | undefined, path: string, fail: SimCfnSesPropertyFailure): number | undefined;
21
+ /**
22
+ * A list of strings, refusing a bare one written where a list belongs.
23
+ */
24
+ export declare function sesCfnStringList(value: SimCfnTemplateValue | undefined, path: string, fail: SimCfnSesPropertyFailure): string[] | undefined;
25
+ //# sourceMappingURL=sim-cfn-ses-property-scalars.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-ses-property-scalars.d.ts","sourceRoot":"","sources":["../../../../src/service/ses/cfn/sim-cfn-ses-property-scalars.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+DAA+D,CAAC;AAEzG,sDAAsD;AACtD,MAAM,MAAM,wBAAwB,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,KAAK,CAAC;AAEjE;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,mBAAmB,GAAG,SAAS,EACtC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,wBAAwB,GAC7B,MAAM,GAAG,SAAS,CAUpB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,mBAAmB,GAAG,SAAS,EACtC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,wBAAwB,GAC7B,OAAO,GAAG,SAAS,CAUrB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,mBAAmB,GAAG,SAAS,EACtC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,wBAAwB,GAC7B,MAAM,GAAG,SAAS,CAYpB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,mBAAmB,GAAG,SAAS,EACtC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,wBAAwB,GAC7B,MAAM,EAAE,GAAG,SAAS,CAgBtB"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Reads the scalar values of an AWS::SES::* Resource property.
3
+ *
4
+ * CloudFormation is loose about these types. A boolean written literally in a
5
+ * template arrives as a boolean, and the same boolean reaching a Resource
6
+ * through a String Parameter or an `Fn::Sub` arrives as `"true"`. Both are
7
+ * read here, and a value that is neither is refused by name.
8
+ */
9
+ export function sesCfnString(value, path, fail) {
10
+ if (value === undefined) {
11
+ return undefined;
12
+ }
13
+ if (typeof value !== "string") {
14
+ throw fail(`${path} must be a string`);
15
+ }
16
+ return value;
17
+ }
18
+ /**
19
+ * A boolean, written as one or as the string CloudFormation carried it in.
20
+ */
21
+ export function sesCfnBoolean(value, path, fail) {
22
+ if (value === undefined || typeof value === "boolean") {
23
+ return value;
24
+ }
25
+ if (value === "true" || value === "false") {
26
+ return value === "true";
27
+ }
28
+ throw fail(`${path} must be a boolean`);
29
+ }
30
+ /**
31
+ * A number, written as one or as the string CloudFormation carried it in.
32
+ */
33
+ export function sesCfnNumber(value, path, fail) {
34
+ if (value === undefined) {
35
+ return undefined;
36
+ }
37
+ const parsed = typeof value === "string" ? fromString(value) : value;
38
+ if (typeof parsed !== "number" || !Number.isFinite(parsed)) {
39
+ throw fail(`${path} must be a number`);
40
+ }
41
+ return parsed;
42
+ }
43
+ /**
44
+ * A list of strings, refusing a bare one written where a list belongs.
45
+ */
46
+ export function sesCfnStringList(value, path, fail) {
47
+ if (value === undefined) {
48
+ return undefined;
49
+ }
50
+ if (!Array.isArray(value)) {
51
+ throw fail(`${path} must be a list`);
52
+ }
53
+ return value.map((member) => {
54
+ if (typeof member !== "string") {
55
+ throw fail(`${path} must be a list of strings`);
56
+ }
57
+ return member;
58
+ });
59
+ }
60
+ /**
61
+ * A number written as a string, or nothing where the string holds no number.
62
+ *
63
+ * `Number("")` and `Number(" ")` are both `0`, which would take a property
64
+ * left blank in a template and store it as a real zero.
65
+ */
66
+ function fromString(value) {
67
+ return value.trim().length === 0 ? undefined : Number(value);
68
+ }
69
+ //# sourceMappingURL=sim-cfn-ses-property-scalars.js.map