@kensio/yulin 1.9.0 → 1.10.0

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 (712) hide show
  1. package/README.md +25 -0
  2. package/dist/sdk/router/resolve-sim-sdk-command-router.d.ts.map +1 -1
  3. package/dist/sdk/router/resolve-sim-sdk-command-router.js +3 -0
  4. package/dist/sdk/router/resolve-sim-sdk-command-router.js.map +1 -1
  5. package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts +17 -0
  6. package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts.map +1 -1
  7. package/dist/service/aws/factory/sim-aws-account-region-service-builder.js +37 -42
  8. package/dist/service/aws/factory/sim-aws-account-region-service-builder.js.map +1 -1
  9. package/dist/service/aws/factory/sim-aws-s3-notification-destinations.d.ts.map +1 -1
  10. package/dist/service/aws/factory/sim-aws-s3-notification-destinations.js +5 -0
  11. package/dist/service/aws/factory/sim-aws-s3-notification-destinations.js.map +1 -1
  12. package/dist/service/aws/factory/sim-aws-scoped-service-properties.d.ts +18 -0
  13. package/dist/service/aws/factory/sim-aws-scoped-service-properties.d.ts.map +1 -0
  14. package/dist/service/aws/factory/sim-aws-scoped-service-properties.js +2 -0
  15. package/dist/service/aws/factory/sim-aws-scoped-service-properties.js.map +1 -0
  16. package/dist/service/aws/factory/sim-aws-service-factory.d.ts +3 -0
  17. package/dist/service/aws/factory/sim-aws-service-factory.d.ts.map +1 -1
  18. package/dist/service/aws/factory/sim-aws-service-factory.js +4 -0
  19. package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
  20. package/dist/service/aws/sim-aws-account-region-scope.d.ts +5 -0
  21. package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
  22. package/dist/service/aws/sim-aws-account-region-scope.js +6 -0
  23. package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
  24. package/dist/service/aws/sim-aws-service-accessors.d.ts +3 -0
  25. package/dist/service/aws/sim-aws-service-accessors.d.ts.map +1 -1
  26. package/dist/service/aws/sim-aws-service-accessors.js +4 -0
  27. package/dist/service/aws/sim-aws-service-accessors.js.map +1 -1
  28. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.d.ts +36 -0
  29. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.d.ts.map +1 -0
  30. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.js +64 -0
  31. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.js.map +1 -0
  32. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.d.ts +31 -0
  33. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.d.ts.map +1 -0
  34. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.js +42 -0
  35. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.js.map +1 -0
  36. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-files.d.ts +13 -0
  37. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-files.d.ts.map +1 -0
  38. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-files.js +68 -0
  39. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-files.js.map +1 -0
  40. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.d.ts +30 -0
  41. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.d.ts.map +1 -0
  42. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.js +35 -0
  43. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.js.map +1 -0
  44. package/dist/service/cloudformation/cdk/s3/bucket-deployment/filter/sim-cdk-bucket-deploy-filter.d.ts +27 -0
  45. package/dist/service/cloudformation/cdk/s3/bucket-deployment/filter/sim-cdk-bucket-deploy-filter.d.ts.map +1 -0
  46. package/dist/service/cloudformation/cdk/s3/bucket-deployment/filter/sim-cdk-bucket-deploy-filter.js +76 -0
  47. package/dist/service/cloudformation/cdk/s3/bucket-deployment/filter/sim-cdk-bucket-deploy-filter.js.map +1 -0
  48. package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-properties.d.ts +24 -0
  49. package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-properties.d.ts.map +1 -0
  50. package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-properties.js +46 -0
  51. package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-properties.js.map +1 -0
  52. package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-values.d.ts +42 -0
  53. package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-values.d.ts.map +1 -0
  54. package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-values.js +96 -0
  55. package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-values.js.map +1 -0
  56. package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.d.ts +1 -1
  57. package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.d.ts.map +1 -1
  58. package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.js +10 -35
  59. package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.js.map +1 -1
  60. package/dist/service/cloudformation/cdk/s3/bucket-notifications/configuration/sim-cdk-bucket-notification-configuration.d.ts +2 -0
  61. package/dist/service/cloudformation/cdk/s3/bucket-notifications/configuration/sim-cdk-bucket-notification-configuration.d.ts.map +1 -1
  62. package/dist/service/cloudformation/cdk/s3/bucket-notifications/configuration/sim-cdk-bucket-notification-configuration.js +15 -1
  63. package/dist/service/cloudformation/cdk/s3/bucket-notifications/configuration/sim-cdk-bucket-notification-configuration.js.map +1 -1
  64. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.d.ts.map +1 -1
  65. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.js +8 -0
  66. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.js.map +1 -1
  67. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-rh-policy-cfn.d.ts +25 -0
  68. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-rh-policy-cfn.d.ts.map +1 -0
  69. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-rh-policy-cfn.js +32 -0
  70. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-rh-policy-cfn.js.map +1 -0
  71. package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.d.ts.map +1 -1
  72. package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js +2 -0
  73. package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js.map +1 -1
  74. package/dist/service/cloudformation/resource/cfn/sns/sim-sns-cfn-value-adapter.d.ts +11 -0
  75. package/dist/service/cloudformation/resource/cfn/sns/sim-sns-cfn-value-adapter.d.ts.map +1 -0
  76. package/dist/service/cloudformation/resource/cfn/sns/sim-sns-cfn-value-adapter.js +24 -0
  77. package/dist/service/cloudformation/resource/cfn/sns/sim-sns-cfn-value-adapter.js.map +1 -0
  78. package/dist/service/cloudformation/resource/cfn/sns/sim-sns-subscription-cfn.d.ts +27 -0
  79. package/dist/service/cloudformation/resource/cfn/sns/sim-sns-subscription-cfn.d.ts.map +1 -0
  80. package/dist/service/cloudformation/resource/cfn/sns/sim-sns-subscription-cfn.js +29 -0
  81. package/dist/service/cloudformation/resource/cfn/sns/sim-sns-subscription-cfn.js.map +1 -0
  82. package/dist/service/cloudformation/resource/cfn/sns/sim-sns-topic-cfn.d.ts +30 -0
  83. package/dist/service/cloudformation/resource/cfn/sns/sim-sns-topic-cfn.d.ts.map +1 -0
  84. package/dist/service/cloudformation/resource/cfn/sns/sim-sns-topic-cfn.js +39 -0
  85. package/dist/service/cloudformation/resource/cfn/sns/sim-sns-topic-cfn.js.map +1 -0
  86. package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-factories.d.ts.map +1 -1
  87. package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-factories.js +4 -0
  88. package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-factories.js.map +1 -1
  89. package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.d.ts +4 -0
  90. package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.d.ts.map +1 -1
  91. package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.js.map +1 -1
  92. package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-config.d.ts +38 -0
  93. package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-config.d.ts.map +1 -0
  94. package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-config.js +127 -0
  95. package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-config.js.map +1 -0
  96. package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-creator.d.ts +25 -0
  97. package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-creator.d.ts.map +1 -0
  98. package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-creator.js +33 -0
  99. package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-creator.js.map +1 -0
  100. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.d.ts +1 -0
  101. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.d.ts.map +1 -1
  102. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.js +11 -0
  103. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.js.map +1 -1
  104. package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts +1 -0
  105. package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts.map +1 -1
  106. package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.d.ts +3 -0
  107. package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.d.ts.map +1 -1
  108. package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.js +3 -0
  109. package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.js.map +1 -1
  110. package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.d.ts +19 -0
  111. package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.d.ts.map +1 -0
  112. package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.js +31 -0
  113. package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.js.map +1 -0
  114. package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.d.ts +4 -8
  115. package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.d.ts.map +1 -1
  116. package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.js +16 -19
  117. package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.js.map +1 -1
  118. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.js +3 -0
  119. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.js.map +1 -1
  120. package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts +19 -0
  121. package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts.map +1 -1
  122. package/dist/service/cloudfront/error/sim-cloudfront.error.js +23 -0
  123. package/dist/service/cloudfront/error/sim-cloudfront.error.js.map +1 -1
  124. package/dist/service/cloudfront/origin/s3/sim-cloudfront-s3-origin.d.ts.map +1 -1
  125. package/dist/service/cloudfront/origin/s3/sim-cloudfront-s3-origin.js +2 -5
  126. package/dist/service/cloudfront/origin/s3/sim-cloudfront-s3-origin.js.map +1 -1
  127. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-header.d.ts +25 -0
  128. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-header.d.ts.map +1 -0
  129. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-header.js +30 -0
  130. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-header.js.map +1 -0
  131. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.d.ts +29 -0
  132. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.d.ts.map +1 -0
  133. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.js +40 -0
  134. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.js.map +1 -0
  135. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.d.ts +35 -0
  136. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.d.ts.map +1 -0
  137. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.js +44 -0
  138. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.js.map +1 -0
  139. package/dist/service/cloudfront/sim-cloudfront.d.ts +18 -0
  140. package/dist/service/cloudfront/sim-cloudfront.d.ts.map +1 -1
  141. package/dist/service/cloudfront/sim-cloudfront.js +24 -0
  142. package/dist/service/cloudfront/sim-cloudfront.js.map +1 -1
  143. package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.d.ts.map +1 -1
  144. package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.js +4 -1
  145. package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.js.map +1 -1
  146. package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-looked-up-zone.d.ts +39 -0
  147. package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-looked-up-zone.d.ts.map +1 -0
  148. package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-looked-up-zone.js +46 -0
  149. package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-looked-up-zone.js.map +1 -0
  150. package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-rec-set-zone-resolver.d.ts +2 -0
  151. package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-rec-set-zone-resolver.d.ts.map +1 -1
  152. package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-rec-set-zone-resolver.js +17 -1
  153. package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-rec-set-zone-resolver.js.map +1 -1
  154. package/dist/service/route53/hosted-zone/register-sim-route53-hosted-zone.d.ts +6 -0
  155. package/dist/service/route53/hosted-zone/register-sim-route53-hosted-zone.d.ts.map +1 -1
  156. package/dist/service/route53/hosted-zone/register-sim-route53-hosted-zone.js +1 -0
  157. package/dist/service/route53/hosted-zone/register-sim-route53-hosted-zone.js.map +1 -1
  158. package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.d.ts +23 -10
  159. package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.d.ts.map +1 -1
  160. package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.js +32 -45
  161. package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.js.map +1 -1
  162. package/dist/service/route53/hosted-zone/sim-route53-zone-name-widening.d.ts +16 -0
  163. package/dist/service/route53/hosted-zone/sim-route53-zone-name-widening.d.ts.map +1 -0
  164. package/dist/service/route53/hosted-zone/sim-route53-zone-name-widening.js +35 -0
  165. package/dist/service/route53/hosted-zone/sim-route53-zone-name-widening.js.map +1 -0
  166. package/dist/service/route53/hosted-zone/sim-route53-zone-synchronization.d.ts +23 -0
  167. package/dist/service/route53/hosted-zone/sim-route53-zone-synchronization.d.ts.map +1 -0
  168. package/dist/service/route53/hosted-zone/sim-route53-zone-synchronization.js +43 -0
  169. package/dist/service/route53/hosted-zone/sim-route53-zone-synchronization.js.map +1 -0
  170. package/dist/service/route53/sim-route53.d.ts +1 -1
  171. package/dist/service/route53/sim-route53.d.ts.map +1 -1
  172. package/dist/service/route53/sim-route53.js +1 -1
  173. package/dist/service/route53/sim-route53.js.map +1 -1
  174. package/dist/service/s3/bucket/notification/sim-s3-notification-configuration-reader.d.ts.map +1 -1
  175. package/dist/service/s3/bucket/notification/sim-s3-notification-configuration-reader.js +2 -0
  176. package/dist/service/s3/bucket/notification/sim-s3-notification-configuration-reader.js.map +1 -1
  177. package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.d.ts +3 -0
  178. package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.d.ts.map +1 -1
  179. package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.js +10 -1
  180. package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.js.map +1 -1
  181. package/dist/service/s3/bucket/notification/sim-s3-topic-notification.d.ts +21 -0
  182. package/dist/service/s3/bucket/notification/sim-s3-topic-notification.d.ts.map +1 -0
  183. package/dist/service/s3/bucket/notification/sim-s3-topic-notification.js +24 -0
  184. package/dist/service/s3/bucket/notification/sim-s3-topic-notification.js.map +1 -0
  185. package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.d.ts +1 -1
  186. package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.d.ts.map +1 -1
  187. package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.js +3 -3
  188. package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.js.map +1 -1
  189. package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.d.ts +9 -6
  190. package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.d.ts.map +1 -1
  191. package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.js +32 -7
  192. package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.js.map +1 -1
  193. package/dist/service/s3/command/get-bucket-notification-configuration/get-bucket-notification-configuration.command.d.ts +2 -1
  194. package/dist/service/s3/command/get-bucket-notification-configuration/get-bucket-notification-configuration.command.d.ts.map +1 -1
  195. package/dist/service/s3/command/put-bucket-notification-configuration/put-bucket-notification-configuration.command.d.ts +10 -1
  196. package/dist/service/s3/command/put-bucket-notification-configuration/put-bucket-notification-configuration.command.d.ts.map +1 -1
  197. package/dist/service/s3/command/put-object/put-object-builder.d.ts +13 -4
  198. package/dist/service/s3/command/put-object/put-object-builder.d.ts.map +1 -1
  199. package/dist/service/s3/command/put-object/put-object-builder.js +27 -10
  200. package/dist/service/s3/command/put-object/put-object-builder.js.map +1 -1
  201. package/dist/service/s3/command/put-object/put-object.command.d.ts +11 -0
  202. package/dist/service/s3/command/put-object/put-object.command.d.ts.map +1 -1
  203. package/dist/service/s3/notification/destination/sim-s3-notification-destination.d.ts +1 -1
  204. package/dist/service/s3/notification/destination/sim-s3-notification-destination.d.ts.map +1 -1
  205. package/dist/service/s3/notification/destination/sim-s3-service-notification-destinations.d.ts +2 -0
  206. package/dist/service/s3/notification/destination/sim-s3-service-notification-destinations.d.ts.map +1 -1
  207. package/dist/service/s3/notification/destination/sim-s3-service-notification-destinations.js +5 -0
  208. package/dist/service/s3/notification/destination/sim-s3-service-notification-destinations.js.map +1 -1
  209. package/dist/service/s3/notification/destination/sns/sim-aws-s3-notification-topics.d.ts +38 -0
  210. package/dist/service/s3/notification/destination/sns/sim-aws-s3-notification-topics.d.ts.map +1 -0
  211. package/dist/service/s3/notification/destination/sns/sim-aws-s3-notification-topics.js +50 -0
  212. package/dist/service/s3/notification/destination/sns/sim-aws-s3-notification-topics.js.map +1 -0
  213. package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic-arn.d.ts +31 -0
  214. package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic-arn.d.ts.map +1 -0
  215. package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic-arn.js +48 -0
  216. package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic-arn.js.map +1 -0
  217. package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic.d.ts +43 -0
  218. package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic.d.ts.map +1 -0
  219. package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic.js +71 -0
  220. package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic.js.map +1 -0
  221. package/dist/service/s3/notification/destination/sns/sim-s3-notification-topics.d.ts +22 -0
  222. package/dist/service/s3/notification/destination/sns/sim-s3-notification-topics.d.ts.map +1 -0
  223. package/dist/service/s3/notification/destination/sns/sim-s3-notification-topics.js +2 -0
  224. package/dist/service/s3/notification/destination/sns/sim-s3-notification-topics.js.map +1 -0
  225. package/dist/service/s3/notification/destination/sns/sim-s3-sns-notification-destination.d.ts +40 -0
  226. package/dist/service/s3/notification/destination/sns/sim-s3-sns-notification-destination.d.ts.map +1 -0
  227. package/dist/service/s3/notification/destination/sns/sim-s3-sns-notification-destination.js +51 -0
  228. package/dist/service/s3/notification/destination/sns/sim-s3-sns-notification-destination.js.map +1 -0
  229. package/dist/service/s3/object/s3-object-response-headers.d.ts +17 -0
  230. package/dist/service/s3/object/s3-object-response-headers.d.ts.map +1 -0
  231. package/dist/service/s3/object/s3-object-response-headers.js +29 -0
  232. package/dist/service/s3/object/s3-object-response-headers.js.map +1 -0
  233. package/dist/service/s3/object/s3-system-metadata.d.ts +32 -0
  234. package/dist/service/s3/object/s3-system-metadata.d.ts.map +1 -0
  235. package/dist/service/s3/object/s3-system-metadata.js +35 -0
  236. package/dist/service/s3/object/s3-system-metadata.js.map +1 -0
  237. package/dist/service/s3/serve/sim-s3-rest-object-reader.d.ts.map +1 -1
  238. package/dist/service/s3/serve/sim-s3-rest-object-reader.js +2 -5
  239. package/dist/service/s3/serve/sim-s3-rest-object-reader.js.map +1 -1
  240. package/dist/service/s3/serve/website/sim-s3-website-object-loader.js +1 -1
  241. package/dist/service/s3/serve/website/sim-s3-website-object-loader.js.map +1 -1
  242. package/dist/service/s3/serve/website/sim-s3-website-object.d.ts +3 -4
  243. package/dist/service/s3/serve/website/sim-s3-website-object.d.ts.map +1 -1
  244. package/dist/service/s3/serve/website/sim-s3-website-object.js +6 -11
  245. package/dist/service/s3/serve/website/sim-s3-website-object.js.map +1 -1
  246. package/dist/service/sns/cfn/sim-cfn-sns-attribute-value.d.ts +15 -0
  247. package/dist/service/sns/cfn/sim-cfn-sns-attribute-value.d.ts.map +1 -0
  248. package/dist/service/sns/cfn/sim-cfn-sns-attribute-value.js +23 -0
  249. package/dist/service/sns/cfn/sim-cfn-sns-attribute-value.js.map +1 -0
  250. package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.d.ts +38 -0
  251. package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.d.ts.map +1 -0
  252. package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.js +73 -0
  253. package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.js.map +1 -0
  254. package/dist/service/sns/cfn/sim-cfn-sns-resource-error.d.ts +24 -0
  255. package/dist/service/sns/cfn/sim-cfn-sns-resource-error.d.ts.map +1 -0
  256. package/dist/service/sns/cfn/sim-cfn-sns-resource-error.js +39 -0
  257. package/dist/service/sns/cfn/sim-cfn-sns-resource-error.js.map +1 -0
  258. package/dist/service/sns/cfn/sim-cfn-sns-resource-types.d.ts +11 -0
  259. package/dist/service/sns/cfn/sim-cfn-sns-resource-types.d.ts.map +1 -0
  260. package/dist/service/sns/cfn/sim-cfn-sns-resource-types.js +11 -0
  261. package/dist/service/sns/cfn/sim-cfn-sns-resource-types.js.map +1 -0
  262. package/dist/service/sns/cfn/sim-sns-cfn-resource-factory.d.ts +31 -0
  263. package/dist/service/sns/cfn/sim-sns-cfn-resource-factory.d.ts.map +1 -0
  264. package/dist/service/sns/cfn/sim-sns-cfn-resource-factory.js +54 -0
  265. package/dist/service/sns/cfn/sim-sns-cfn-resource-factory.js.map +1 -0
  266. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.d.ts +26 -0
  267. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.d.ts.map +1 -0
  268. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.js +37 -0
  269. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.js.map +1 -0
  270. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-properties.d.ts +47 -0
  271. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-properties.d.ts.map +1 -0
  272. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-properties.js +88 -0
  273. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-properties.js.map +1 -0
  274. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-property-names.d.ts +36 -0
  275. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-property-names.d.ts.map +1 -0
  276. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-property-names.js +55 -0
  277. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-property-names.js.map +1 -0
  278. package/dist/service/sns/cfn/topic/sim-cfn-sns-inline-subscriptions.d.ts +23 -0
  279. package/dist/service/sns/cfn/topic/sim-cfn-sns-inline-subscriptions.d.ts.map +1 -0
  280. package/dist/service/sns/cfn/topic/sim-cfn-sns-inline-subscriptions.js +49 -0
  281. package/dist/service/sns/cfn/topic/sim-cfn-sns-inline-subscriptions.js.map +1 -0
  282. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.d.ts +34 -0
  283. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.d.ts.map +1 -0
  284. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.js +60 -0
  285. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.js.map +1 -0
  286. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-name.d.ts +22 -0
  287. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-name.d.ts.map +1 -0
  288. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-name.js +27 -0
  289. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-name.js.map +1 -0
  290. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-properties.d.ts +58 -0
  291. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-properties.d.ts.map +1 -0
  292. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-properties.js +93 -0
  293. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-properties.js.map +1 -0
  294. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-property-names.d.ts +31 -0
  295. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-property-names.d.ts.map +1 -0
  296. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-property-names.js +52 -0
  297. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-property-names.js.map +1 -0
  298. package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.d.ts +34 -0
  299. package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.d.ts.map +1 -0
  300. package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.js +58 -0
  301. package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.js.map +1 -0
  302. package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-properties.d.ts +20 -0
  303. package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-properties.d.ts.map +1 -0
  304. package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-properties.js +44 -0
  305. package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-properties.js.map +1 -0
  306. package/dist/service/sns/command/authorize/sim-sns-authorizer.d.ts +58 -0
  307. package/dist/service/sns/command/authorize/sim-sns-authorizer.d.ts.map +1 -0
  308. package/dist/service/sns/command/authorize/sim-sns-authorizer.js +83 -0
  309. package/dist/service/sns/command/authorize/sim-sns-authorizer.js.map +1 -0
  310. package/dist/service/sns/command/authorize/sim-sns-condition-context.d.ts +13 -0
  311. package/dist/service/sns/command/authorize/sim-sns-condition-context.d.ts.map +1 -0
  312. package/dist/service/sns/command/authorize/sim-sns-condition-context.js +21 -0
  313. package/dist/service/sns/command/authorize/sim-sns-condition-context.js.map +1 -0
  314. package/dist/service/sns/command/authorize/sim-sns-service-publish-authorizer.d.ts +41 -0
  315. package/dist/service/sns/command/authorize/sim-sns-service-publish-authorizer.d.ts.map +1 -0
  316. package/dist/service/sns/command/authorize/sim-sns-service-publish-authorizer.js +40 -0
  317. package/dist/service/sns/command/authorize/sim-sns-service-publish-authorizer.js.map +1 -0
  318. package/dist/service/sns/command/authorize/sim-sns-topic-resource-policies.d.ts +12 -0
  319. package/dist/service/sns/command/authorize/sim-sns-topic-resource-policies.d.ts.map +1 -0
  320. package/dist/service/sns/command/authorize/sim-sns-topic-resource-policies.js +25 -0
  321. package/dist/service/sns/command/authorize/sim-sns-topic-resource-policies.js.map +1 -0
  322. package/dist/service/sns/command/publish/publish.command.d.ts +70 -0
  323. package/dist/service/sns/command/publish/publish.command.d.ts.map +1 -0
  324. package/dist/service/sns/command/publish/publish.command.js +2 -0
  325. package/dist/service/sns/command/publish/publish.command.js.map +1 -0
  326. package/dist/service/sns/command/publish/sim-sns-batch-entries.d.ts +52 -0
  327. package/dist/service/sns/command/publish/sim-sns-batch-entries.d.ts.map +1 -0
  328. package/dist/service/sns/command/publish/sim-sns-batch-entries.js +85 -0
  329. package/dist/service/sns/command/publish/sim-sns-batch-entries.js.map +1 -0
  330. package/dist/service/sns/command/publish/sim-sns-publish-commands.d.ts +53 -0
  331. package/dist/service/sns/command/publish/sim-sns-publish-commands.d.ts.map +1 -0
  332. package/dist/service/sns/command/publish/sim-sns-publish-commands.js +83 -0
  333. package/dist/service/sns/command/publish/sim-sns-publish-commands.js.map +1 -0
  334. package/dist/service/sns/command/publish/sim-sns-publish-input.d.ts +23 -0
  335. package/dist/service/sns/command/publish/sim-sns-publish-input.d.ts.map +1 -0
  336. package/dist/service/sns/command/publish/sim-sns-publish-input.js +47 -0
  337. package/dist/service/sns/command/publish/sim-sns-publish-input.js.map +1 -0
  338. package/dist/service/sns/command/sim-sns-command.types.d.ts +7 -0
  339. package/dist/service/sns/command/sim-sns-command.types.d.ts.map +1 -0
  340. package/dist/service/sns/command/sim-sns-command.types.js +2 -0
  341. package/dist/service/sns/command/sim-sns-command.types.js.map +1 -0
  342. package/dist/service/sns/command/sim-sns-commands.d.ts +45 -0
  343. package/dist/service/sns/command/sim-sns-commands.d.ts.map +1 -0
  344. package/dist/service/sns/command/sim-sns-commands.js +83 -0
  345. package/dist/service/sns/command/sim-sns-commands.js.map +1 -0
  346. package/dist/service/sns/command/sim-sns-page.d.ts +19 -0
  347. package/dist/service/sns/command/sim-sns-page.d.ts.map +1 -0
  348. package/dist/service/sns/command/sim-sns-page.js +51 -0
  349. package/dist/service/sns/command/sim-sns-page.js.map +1 -0
  350. package/dist/service/sns/command/sim-sns-request-options.d.ts +47 -0
  351. package/dist/service/sns/command/sim-sns-request-options.d.ts.map +1 -0
  352. package/dist/service/sns/command/sim-sns-request-options.js +19 -0
  353. package/dist/service/sns/command/sim-sns-request-options.js.map +1 -0
  354. package/dist/service/sns/command/subscription/sim-sns-subscription-access.d.ts +42 -0
  355. package/dist/service/sns/command/subscription/sim-sns-subscription-access.d.ts.map +1 -0
  356. package/dist/service/sns/command/subscription/sim-sns-subscription-access.js +57 -0
  357. package/dist/service/sns/command/subscription/sim-sns-subscription-access.js.map +1 -0
  358. package/dist/service/sns/command/subscription/sim-sns-subscription-attribute-commands.d.ts +31 -0
  359. package/dist/service/sns/command/subscription/sim-sns-subscription-attribute-commands.d.ts.map +1 -0
  360. package/dist/service/sns/command/subscription/sim-sns-subscription-attribute-commands.js +44 -0
  361. package/dist/service/sns/command/subscription/sim-sns-subscription-attribute-commands.js.map +1 -0
  362. package/dist/service/sns/command/subscription/sim-sns-subscription-commands.d.ts +50 -0
  363. package/dist/service/sns/command/subscription/sim-sns-subscription-commands.d.ts.map +1 -0
  364. package/dist/service/sns/command/subscription/sim-sns-subscription-commands.js +73 -0
  365. package/dist/service/sns/command/subscription/sim-sns-subscription-commands.js.map +1 -0
  366. package/dist/service/sns/command/subscription/sim-sns-subscription-listings.d.ts +34 -0
  367. package/dist/service/sns/command/subscription/sim-sns-subscription-listings.d.ts.map +1 -0
  368. package/dist/service/sns/command/subscription/sim-sns-subscription-listings.js +57 -0
  369. package/dist/service/sns/command/subscription/sim-sns-subscription-listings.js.map +1 -0
  370. package/dist/service/sns/command/subscription/subscription.command.d.ts +118 -0
  371. package/dist/service/sns/command/subscription/subscription.command.d.ts.map +1 -0
  372. package/dist/service/sns/command/subscription/subscription.command.js +2 -0
  373. package/dist/service/sns/command/subscription/subscription.command.js.map +1 -0
  374. package/dist/service/sns/command/topic/sim-sns-create-topic.d.ts +41 -0
  375. package/dist/service/sns/command/topic/sim-sns-create-topic.d.ts.map +1 -0
  376. package/dist/service/sns/command/topic/sim-sns-create-topic.js +54 -0
  377. package/dist/service/sns/command/topic/sim-sns-create-topic.js.map +1 -0
  378. package/dist/service/sns/command/topic/sim-sns-request-topic-name.d.ts +11 -0
  379. package/dist/service/sns/command/topic/sim-sns-request-topic-name.d.ts.map +1 -0
  380. package/dist/service/sns/command/topic/sim-sns-request-topic-name.js +28 -0
  381. package/dist/service/sns/command/topic/sim-sns-request-topic-name.js.map +1 -0
  382. package/dist/service/sns/command/topic/sim-sns-topic-access.d.ts +76 -0
  383. package/dist/service/sns/command/topic/sim-sns-topic-access.d.ts.map +1 -0
  384. package/dist/service/sns/command/topic/sim-sns-topic-access.js +81 -0
  385. package/dist/service/sns/command/topic/sim-sns-topic-access.js.map +1 -0
  386. package/dist/service/sns/command/topic/sim-sns-topic-attribute-commands.d.ts +36 -0
  387. package/dist/service/sns/command/topic/sim-sns-topic-attribute-commands.d.ts.map +1 -0
  388. package/dist/service/sns/command/topic/sim-sns-topic-attribute-commands.js +47 -0
  389. package/dist/service/sns/command/topic/sim-sns-topic-attribute-commands.js.map +1 -0
  390. package/dist/service/sns/command/topic/sim-sns-topic-commands.d.ts +42 -0
  391. package/dist/service/sns/command/topic/sim-sns-topic-commands.d.ts.map +1 -0
  392. package/dist/service/sns/command/topic/sim-sns-topic-commands.js +51 -0
  393. package/dist/service/sns/command/topic/sim-sns-topic-commands.js.map +1 -0
  394. package/dist/service/sns/command/topic/sim-sns-unsimulated-topic-input.d.ts +11 -0
  395. package/dist/service/sns/command/topic/sim-sns-unsimulated-topic-input.d.ts.map +1 -0
  396. package/dist/service/sns/command/topic/sim-sns-unsimulated-topic-input.js +20 -0
  397. package/dist/service/sns/command/topic/sim-sns-unsimulated-topic-input.js.map +1 -0
  398. package/dist/service/sns/command/topic/topic.command.d.ts +95 -0
  399. package/dist/service/sns/command/topic/topic.command.d.ts.map +1 -0
  400. package/dist/service/sns/command/topic/topic.command.js +2 -0
  401. package/dist/service/sns/command/topic/topic.command.js.map +1 -0
  402. package/dist/service/sns/delivery/lambda/sim-aws-sns-delivery-functions.d.ts +27 -0
  403. package/dist/service/sns/delivery/lambda/sim-aws-sns-delivery-functions.d.ts.map +1 -0
  404. package/dist/service/sns/delivery/lambda/sim-aws-sns-delivery-functions.js +31 -0
  405. package/dist/service/sns/delivery/lambda/sim-aws-sns-delivery-functions.js.map +1 -0
  406. package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.d.ts +31 -0
  407. package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.d.ts.map +1 -0
  408. package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.js +62 -0
  409. package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.js.map +1 -0
  410. package/dist/service/sns/delivery/lambda/sim-sns-lambda-event.d.ts +10 -0
  411. package/dist/service/sns/delivery/lambda/sim-sns-lambda-event.d.ts.map +1 -0
  412. package/dist/service/sns/delivery/lambda/sim-sns-lambda-event.js +53 -0
  413. package/dist/service/sns/delivery/lambda/sim-sns-lambda-event.js.map +1 -0
  414. package/dist/service/sns/delivery/sim-aws-sns-delivery-endpoints.d.ts +17 -0
  415. package/dist/service/sns/delivery/sim-aws-sns-delivery-endpoints.d.ts.map +1 -0
  416. package/dist/service/sns/delivery/sim-aws-sns-delivery-endpoints.js +21 -0
  417. package/dist/service/sns/delivery/sim-aws-sns-delivery-endpoints.js.map +1 -0
  418. package/dist/service/sns/delivery/sim-sns-canonical-message.d.ts +32 -0
  419. package/dist/service/sns/delivery/sim-sns-canonical-message.d.ts.map +1 -0
  420. package/dist/service/sns/delivery/sim-sns-canonical-message.js +24 -0
  421. package/dist/service/sns/delivery/sim-sns-canonical-message.js.map +1 -0
  422. package/dist/service/sns/delivery/sim-sns-delivery-failures.d.ts +60 -0
  423. package/dist/service/sns/delivery/sim-sns-delivery-failures.d.ts.map +1 -0
  424. package/dist/service/sns/delivery/sim-sns-delivery-failures.js +84 -0
  425. package/dist/service/sns/delivery/sim-sns-delivery-failures.js.map +1 -0
  426. package/dist/service/sns/delivery/sim-sns-delivery-request.d.ts +28 -0
  427. package/dist/service/sns/delivery/sim-sns-delivery-request.d.ts.map +1 -0
  428. package/dist/service/sns/delivery/sim-sns-delivery-request.js +34 -0
  429. package/dist/service/sns/delivery/sim-sns-delivery-request.js.map +1 -0
  430. package/dist/service/sns/delivery/sim-sns-delivery.d.ts +55 -0
  431. package/dist/service/sns/delivery/sim-sns-delivery.d.ts.map +1 -0
  432. package/dist/service/sns/delivery/sim-sns-delivery.js +18 -0
  433. package/dist/service/sns/delivery/sim-sns-delivery.js.map +1 -0
  434. package/dist/service/sns/delivery/sim-sns-envelope.d.ts +26 -0
  435. package/dist/service/sns/delivery/sim-sns-envelope.d.ts.map +1 -0
  436. package/dist/service/sns/delivery/sim-sns-envelope.js +41 -0
  437. package/dist/service/sns/delivery/sim-sns-envelope.js.map +1 -0
  438. package/dist/service/sns/delivery/sim-sns-fan-out.d.ts +53 -0
  439. package/dist/service/sns/delivery/sim-sns-fan-out.d.ts.map +1 -0
  440. package/dist/service/sns/delivery/sim-sns-fan-out.js +69 -0
  441. package/dist/service/sns/delivery/sim-sns-fan-out.js.map +1 -0
  442. package/dist/service/sns/delivery/sim-sns-no-delivery-endpoints.d.ts +17 -0
  443. package/dist/service/sns/delivery/sim-sns-no-delivery-endpoints.d.ts.map +1 -0
  444. package/dist/service/sns/delivery/sim-sns-no-delivery-endpoints.js +23 -0
  445. package/dist/service/sns/delivery/sim-sns-no-delivery-endpoints.js.map +1 -0
  446. package/dist/service/sns/delivery/sim-sns-notification.d.ts +57 -0
  447. package/dist/service/sns/delivery/sim-sns-notification.d.ts.map +1 -0
  448. package/dist/service/sns/delivery/sim-sns-notification.js +64 -0
  449. package/dist/service/sns/delivery/sim-sns-notification.js.map +1 -0
  450. package/dist/service/sns/delivery/sim-sns-protocol-delivery-endpoints.d.ts +32 -0
  451. package/dist/service/sns/delivery/sim-sns-protocol-delivery-endpoints.d.ts.map +1 -0
  452. package/dist/service/sns/delivery/sim-sns-protocol-delivery-endpoints.js +22 -0
  453. package/dist/service/sns/delivery/sim-sns-protocol-delivery-endpoints.js.map +1 -0
  454. package/dist/service/sns/delivery/sqs/sim-aws-sns-delivery-queues.d.ts +29 -0
  455. package/dist/service/sns/delivery/sqs/sim-aws-sns-delivery-queues.d.ts.map +1 -0
  456. package/dist/service/sns/delivery/sqs/sim-aws-sns-delivery-queues.js +33 -0
  457. package/dist/service/sns/delivery/sqs/sim-aws-sns-delivery-queues.js.map +1 -0
  458. package/dist/service/sns/delivery/sqs/sim-sns-delivery-queue.d.ts +31 -0
  459. package/dist/service/sns/delivery/sqs/sim-sns-delivery-queue.d.ts.map +1 -0
  460. package/dist/service/sns/delivery/sqs/sim-sns-delivery-queue.js +63 -0
  461. package/dist/service/sns/delivery/sqs/sim-sns-delivery-queue.js.map +1 -0
  462. package/dist/service/sns/delivery/sqs/sim-sns-queue-message.d.ts +24 -0
  463. package/dist/service/sns/delivery/sqs/sim-sns-queue-message.d.ts.map +1 -0
  464. package/dist/service/sns/delivery/sqs/sim-sns-queue-message.js +38 -0
  465. package/dist/service/sns/delivery/sqs/sim-sns-queue-message.js.map +1 -0
  466. package/dist/service/sns/error/sim-sns-delivery.error.d.ts +13 -0
  467. package/dist/service/sns/error/sim-sns-delivery.error.d.ts.map +1 -0
  468. package/dist/service/sns/error/sim-sns-delivery.error.js +13 -0
  469. package/dist/service/sns/error/sim-sns-delivery.error.js.map +1 -0
  470. package/dist/service/sns/error/sim-sns.error.d.ts +107 -0
  471. package/dist/service/sns/error/sim-sns.error.d.ts.map +1 -0
  472. package/dist/service/sns/error/sim-sns.error.js +124 -0
  473. package/dist/service/sns/error/sim-sns.error.js.map +1 -0
  474. package/dist/service/sns/filter/match/sim-sns-anything-but-match.d.ts +30 -0
  475. package/dist/service/sns/filter/match/sim-sns-anything-but-match.d.ts.map +1 -0
  476. package/dist/service/sns/filter/match/sim-sns-anything-but-match.js +82 -0
  477. package/dist/service/sns/filter/match/sim-sns-anything-but-match.js.map +1 -0
  478. package/dist/service/sns/filter/match/sim-sns-equals-ignore-case-match.d.ts +24 -0
  479. package/dist/service/sns/filter/match/sim-sns-equals-ignore-case-match.d.ts.map +1 -0
  480. package/dist/service/sns/filter/match/sim-sns-equals-ignore-case-match.js +30 -0
  481. package/dist/service/sns/filter/match/sim-sns-equals-ignore-case-match.js.map +1 -0
  482. package/dist/service/sns/filter/match/sim-sns-exact-match.d.ts +22 -0
  483. package/dist/service/sns/filter/match/sim-sns-exact-match.d.ts.map +1 -0
  484. package/dist/service/sns/filter/match/sim-sns-exact-match.js +49 -0
  485. package/dist/service/sns/filter/match/sim-sns-exact-match.js.map +1 -0
  486. package/dist/service/sns/filter/match/sim-sns-exists-match.d.ts +27 -0
  487. package/dist/service/sns/filter/match/sim-sns-exists-match.d.ts.map +1 -0
  488. package/dist/service/sns/filter/match/sim-sns-exists-match.js +38 -0
  489. package/dist/service/sns/filter/match/sim-sns-exists-match.js.map +1 -0
  490. package/dist/service/sns/filter/match/sim-sns-filter-match.d.ts +24 -0
  491. package/dist/service/sns/filter/match/sim-sns-filter-match.d.ts.map +1 -0
  492. package/dist/service/sns/filter/match/sim-sns-filter-match.js +19 -0
  493. package/dist/service/sns/filter/match/sim-sns-filter-match.js.map +1 -0
  494. package/dist/service/sns/filter/match/sim-sns-numeric-match.d.ts +48 -0
  495. package/dist/service/sns/filter/match/sim-sns-numeric-match.d.ts.map +1 -0
  496. package/dist/service/sns/filter/match/sim-sns-numeric-match.js +107 -0
  497. package/dist/service/sns/filter/match/sim-sns-numeric-match.js.map +1 -0
  498. package/dist/service/sns/filter/match/sim-sns-prefix-match.d.ts +26 -0
  499. package/dist/service/sns/filter/match/sim-sns-prefix-match.d.ts.map +1 -0
  500. package/dist/service/sns/filter/match/sim-sns-prefix-match.js +32 -0
  501. package/dist/service/sns/filter/match/sim-sns-prefix-match.js.map +1 -0
  502. package/dist/service/sns/filter/match/sim-sns-suffix-match.d.ts +23 -0
  503. package/dist/service/sns/filter/match/sim-sns-suffix-match.d.ts.map +1 -0
  504. package/dist/service/sns/filter/match/sim-sns-suffix-match.js +29 -0
  505. package/dist/service/sns/filter/match/sim-sns-suffix-match.js.map +1 -0
  506. package/dist/service/sns/filter/sim-sns-attribute-subject.d.ts +31 -0
  507. package/dist/service/sns/filter/sim-sns-attribute-subject.d.ts.map +1 -0
  508. package/dist/service/sns/filter/sim-sns-attribute-subject.js +85 -0
  509. package/dist/service/sns/filter/sim-sns-attribute-subject.js.map +1 -0
  510. package/dist/service/sns/filter/sim-sns-body-subject.d.ts +30 -0
  511. package/dist/service/sns/filter/sim-sns-body-subject.d.ts.map +1 -0
  512. package/dist/service/sns/filter/sim-sns-body-subject.js +67 -0
  513. package/dist/service/sns/filter/sim-sns-body-subject.js.map +1 -0
  514. package/dist/service/sns/filter/sim-sns-filter-any-rule.d.ts +21 -0
  515. package/dist/service/sns/filter/sim-sns-filter-any-rule.d.ts.map +1 -0
  516. package/dist/service/sns/filter/sim-sns-filter-any-rule.js +23 -0
  517. package/dist/service/sns/filter/sim-sns-filter-any-rule.js.map +1 -0
  518. package/dist/service/sns/filter/sim-sns-filter-key-rule.d.ts +28 -0
  519. package/dist/service/sns/filter/sim-sns-filter-key-rule.d.ts.map +1 -0
  520. package/dist/service/sns/filter/sim-sns-filter-key-rule.js +48 -0
  521. package/dist/service/sns/filter/sim-sns-filter-key-rule.js.map +1 -0
  522. package/dist/service/sns/filter/sim-sns-filter-matches.d.ts +9 -0
  523. package/dist/service/sns/filter/sim-sns-filter-matches.d.ts.map +1 -0
  524. package/dist/service/sns/filter/sim-sns-filter-matches.js +40 -0
  525. package/dist/service/sns/filter/sim-sns-filter-matches.js.map +1 -0
  526. package/dist/service/sns/filter/sim-sns-filter-operators.d.ts +22 -0
  527. package/dist/service/sns/filter/sim-sns-filter-operators.d.ts.map +1 -0
  528. package/dist/service/sns/filter/sim-sns-filter-operators.js +50 -0
  529. package/dist/service/sns/filter/sim-sns-filter-operators.js.map +1 -0
  530. package/dist/service/sns/filter/sim-sns-filter-or-eligibility.d.ts +17 -0
  531. package/dist/service/sns/filter/sim-sns-filter-or-eligibility.d.ts.map +1 -0
  532. package/dist/service/sns/filter/sim-sns-filter-or-eligibility.js +47 -0
  533. package/dist/service/sns/filter/sim-sns-filter-or-eligibility.js.map +1 -0
  534. package/dist/service/sns/filter/sim-sns-filter-policy-scope.d.ts +36 -0
  535. package/dist/service/sns/filter/sim-sns-filter-policy-scope.d.ts.map +1 -0
  536. package/dist/service/sns/filter/sim-sns-filter-policy-scope.js +67 -0
  537. package/dist/service/sns/filter/sim-sns-filter-policy-scope.js.map +1 -0
  538. package/dist/service/sns/filter/sim-sns-filter-policy.d.ts +48 -0
  539. package/dist/service/sns/filter/sim-sns-filter-policy.d.ts.map +1 -0
  540. package/dist/service/sns/filter/sim-sns-filter-policy.js +84 -0
  541. package/dist/service/sns/filter/sim-sns-filter-policy.js.map +1 -0
  542. package/dist/service/sns/filter/sim-sns-filter-refusals.d.ts +38 -0
  543. package/dist/service/sns/filter/sim-sns-filter-refusals.d.ts.map +1 -0
  544. package/dist/service/sns/filter/sim-sns-filter-refusals.js +53 -0
  545. package/dist/service/sns/filter/sim-sns-filter-refusals.js.map +1 -0
  546. package/dist/service/sns/filter/sim-sns-filter-rule.d.ts +15 -0
  547. package/dist/service/sns/filter/sim-sns-filter-rule.d.ts.map +1 -0
  548. package/dist/service/sns/filter/sim-sns-filter-rule.js +2 -0
  549. package/dist/service/sns/filter/sim-sns-filter-rule.js.map +1 -0
  550. package/dist/service/sns/filter/sim-sns-filter-rules.d.ts +27 -0
  551. package/dist/service/sns/filter/sim-sns-filter-rules.d.ts.map +1 -0
  552. package/dist/service/sns/filter/sim-sns-filter-rules.js +66 -0
  553. package/dist/service/sns/filter/sim-sns-filter-rules.js.map +1 -0
  554. package/dist/service/sns/filter/sim-sns-filter-subject.d.ts +31 -0
  555. package/dist/service/sns/filter/sim-sns-filter-subject.d.ts.map +1 -0
  556. package/dist/service/sns/filter/sim-sns-filter-subject.js +2 -0
  557. package/dist/service/sns/filter/sim-sns-filter-subject.js.map +1 -0
  558. package/dist/service/sns/filter/sim-sns-filter-value.d.ts +45 -0
  559. package/dist/service/sns/filter/sim-sns-filter-value.d.ts.map +1 -0
  560. package/dist/service/sns/filter/sim-sns-filter-value.js +83 -0
  561. package/dist/service/sns/filter/sim-sns-filter-value.js.map +1 -0
  562. package/dist/service/sns/filter/sim-sns-json-filter-values.d.ts +12 -0
  563. package/dist/service/sns/filter/sim-sns-json-filter-values.d.ts.map +1 -0
  564. package/dist/service/sns/filter/sim-sns-json-filter-values.js +25 -0
  565. package/dist/service/sns/filter/sim-sns-json-filter-values.js.map +1 -0
  566. package/dist/service/sns/index.d.ts +33 -0
  567. package/dist/service/sns/index.d.ts.map +1 -0
  568. package/dist/service/sns/index.js +29 -0
  569. package/dist/service/sns/index.js.map +1 -0
  570. package/dist/service/sns/message/sim-sns-message-attribute-rules.d.ts +23 -0
  571. package/dist/service/sns/message/sim-sns-message-attribute-rules.d.ts.map +1 -0
  572. package/dist/service/sns/message/sim-sns-message-attribute-rules.js +74 -0
  573. package/dist/service/sns/message/sim-sns-message-attribute-rules.js.map +1 -0
  574. package/dist/service/sns/message/sim-sns-message-attribute-value.d.ts +15 -0
  575. package/dist/service/sns/message/sim-sns-message-attribute-value.d.ts.map +1 -0
  576. package/dist/service/sns/message/sim-sns-message-attribute-value.js +2 -0
  577. package/dist/service/sns/message/sim-sns-message-attribute-value.js.map +1 -0
  578. package/dist/service/sns/message/sim-sns-message-attribute.d.ts +55 -0
  579. package/dist/service/sns/message/sim-sns-message-attribute.d.ts.map +1 -0
  580. package/dist/service/sns/message/sim-sns-message-attribute.js +78 -0
  581. package/dist/service/sns/message/sim-sns-message-attribute.js.map +1 -0
  582. package/dist/service/sns/message/sim-sns-message-attributes.d.ts +71 -0
  583. package/dist/service/sns/message/sim-sns-message-attributes.d.ts.map +1 -0
  584. package/dist/service/sns/message/sim-sns-message-attributes.js +80 -0
  585. package/dist/service/sns/message/sim-sns-message-attributes.js.map +1 -0
  586. package/dist/service/sns/message/sim-sns-message-body.d.ts +17 -0
  587. package/dist/service/sns/message/sim-sns-message-body.d.ts.map +1 -0
  588. package/dist/service/sns/message/sim-sns-message-body.js +26 -0
  589. package/dist/service/sns/message/sim-sns-message-body.js.map +1 -0
  590. package/dist/service/sns/message/sim-sns-message-subject.d.ts +27 -0
  591. package/dist/service/sns/message/sim-sns-message-subject.d.ts.map +1 -0
  592. package/dist/service/sns/message/sim-sns-message-subject.js +74 -0
  593. package/dist/service/sns/message/sim-sns-message-subject.js.map +1 -0
  594. package/dist/service/sns/message/sim-sns-published-message.d.ts +55 -0
  595. package/dist/service/sns/message/sim-sns-published-message.d.ts.map +1 -0
  596. package/dist/service/sns/message/sim-sns-published-message.js +69 -0
  597. package/dist/service/sns/message/sim-sns-published-message.js.map +1 -0
  598. package/dist/service/sns/sdk/sim-sns-sdk-command-router.d.ts +18 -0
  599. package/dist/service/sns/sdk/sim-sns-sdk-command-router.d.ts.map +1 -0
  600. package/dist/service/sns/sdk/sim-sns-sdk-command-router.js +76 -0
  601. package/dist/service/sns/sdk/sim-sns-sdk-command-router.js.map +1 -0
  602. package/dist/service/sns/signature/sim-sns-certificate.d.ts +30 -0
  603. package/dist/service/sns/signature/sim-sns-certificate.d.ts.map +1 -0
  604. package/dist/service/sns/signature/sim-sns-certificate.js +110 -0
  605. package/dist/service/sns/signature/sim-sns-certificate.js.map +1 -0
  606. package/dist/service/sns/signature/sim-sns-der.d.ts +40 -0
  607. package/dist/service/sns/signature/sim-sns-der.d.ts.map +1 -0
  608. package/dist/service/sns/signature/sim-sns-der.js +64 -0
  609. package/dist/service/sns/signature/sim-sns-der.js.map +1 -0
  610. package/dist/service/sns/signature/sim-sns-host.d.ts +28 -0
  611. package/dist/service/sns/signature/sim-sns-host.d.ts.map +1 -0
  612. package/dist/service/sns/signature/sim-sns-host.js +33 -0
  613. package/dist/service/sns/signature/sim-sns-host.js.map +1 -0
  614. package/dist/service/sns/signature/sim-sns-message-signer.d.ts +51 -0
  615. package/dist/service/sns/signature/sim-sns-message-signer.d.ts.map +1 -0
  616. package/dist/service/sns/signature/sim-sns-message-signer.js +60 -0
  617. package/dist/service/sns/signature/sim-sns-message-signer.js.map +1 -0
  618. package/dist/service/sns/signature/sim-sns-signing-key.d.ts +34 -0
  619. package/dist/service/sns/signature/sim-sns-signing-key.d.ts.map +1 -0
  620. package/dist/service/sns/signature/sim-sns-signing-key.js +69 -0
  621. package/dist/service/sns/signature/sim-sns-signing-key.js.map +1 -0
  622. package/dist/service/sns/sim-sns.d.ts +139 -0
  623. package/dist/service/sns/sim-sns.d.ts.map +1 -0
  624. package/dist/service/sns/sim-sns.js +188 -0
  625. package/dist/service/sns/sim-sns.js.map +1 -0
  626. package/dist/service/sns/subscription/sim-sns-function-endpoint-arn.d.ts +31 -0
  627. package/dist/service/sns/subscription/sim-sns-function-endpoint-arn.d.ts.map +1 -0
  628. package/dist/service/sns/subscription/sim-sns-function-endpoint-arn.js +54 -0
  629. package/dist/service/sns/subscription/sim-sns-function-endpoint-arn.js.map +1 -0
  630. package/dist/service/sns/subscription/sim-sns-queue-endpoint-arn.d.ts +30 -0
  631. package/dist/service/sns/subscription/sim-sns-queue-endpoint-arn.d.ts.map +1 -0
  632. package/dist/service/sns/subscription/sim-sns-queue-endpoint-arn.js +78 -0
  633. package/dist/service/sns/subscription/sim-sns-queue-endpoint-arn.js.map +1 -0
  634. package/dist/service/sns/subscription/sim-sns-requested-subscription-attributes.d.ts +28 -0
  635. package/dist/service/sns/subscription/sim-sns-requested-subscription-attributes.d.ts.map +1 -0
  636. package/dist/service/sns/subscription/sim-sns-requested-subscription-attributes.js +43 -0
  637. package/dist/service/sns/subscription/sim-sns-requested-subscription-attributes.js.map +1 -0
  638. package/dist/service/sns/subscription/sim-sns-subscription-arn.d.ts +43 -0
  639. package/dist/service/sns/subscription/sim-sns-subscription-arn.d.ts.map +1 -0
  640. package/dist/service/sns/subscription/sim-sns-subscription-arn.js +70 -0
  641. package/dist/service/sns/subscription/sim-sns-subscription-arn.js.map +1 -0
  642. package/dist/service/sns/subscription/sim-sns-subscription-attribute-changes.d.ts +20 -0
  643. package/dist/service/sns/subscription/sim-sns-subscription-attribute-changes.d.ts.map +1 -0
  644. package/dist/service/sns/subscription/sim-sns-subscription-attribute-changes.js +52 -0
  645. package/dist/service/sns/subscription/sim-sns-subscription-attribute-changes.js.map +1 -0
  646. package/dist/service/sns/subscription/sim-sns-subscription-attribute-names.d.ts +26 -0
  647. package/dist/service/sns/subscription/sim-sns-subscription-attribute-names.d.ts.map +1 -0
  648. package/dist/service/sns/subscription/sim-sns-subscription-attribute-names.js +64 -0
  649. package/dist/service/sns/subscription/sim-sns-subscription-attribute-names.js.map +1 -0
  650. package/dist/service/sns/subscription/sim-sns-subscription-attributes.d.ts +47 -0
  651. package/dist/service/sns/subscription/sim-sns-subscription-attributes.d.ts.map +1 -0
  652. package/dist/service/sns/subscription/sim-sns-subscription-attributes.js +67 -0
  653. package/dist/service/sns/subscription/sim-sns-subscription-attributes.js.map +1 -0
  654. package/dist/service/sns/subscription/sim-sns-subscription-endpoint.d.ts +26 -0
  655. package/dist/service/sns/subscription/sim-sns-subscription-endpoint.d.ts.map +1 -0
  656. package/dist/service/sns/subscription/sim-sns-subscription-endpoint.js +21 -0
  657. package/dist/service/sns/subscription/sim-sns-subscription-endpoint.js.map +1 -0
  658. package/dist/service/sns/subscription/sim-sns-subscription-protocol.d.ts +33 -0
  659. package/dist/service/sns/subscription/sim-sns-subscription-protocol.d.ts.map +1 -0
  660. package/dist/service/sns/subscription/sim-sns-subscription-protocol.js +63 -0
  661. package/dist/service/sns/subscription/sim-sns-subscription-protocol.js.map +1 -0
  662. package/dist/service/sns/subscription/sim-sns-subscription-store.d.ts +71 -0
  663. package/dist/service/sns/subscription/sim-sns-subscription-store.d.ts.map +1 -0
  664. package/dist/service/sns/subscription/sim-sns-subscription-store.js +88 -0
  665. package/dist/service/sns/subscription/sim-sns-subscription-store.js.map +1 -0
  666. package/dist/service/sns/subscription/sim-sns-subscription.d.ts +72 -0
  667. package/dist/service/sns/subscription/sim-sns-subscription.d.ts.map +1 -0
  668. package/dist/service/sns/subscription/sim-sns-subscription.js +116 -0
  669. package/dist/service/sns/subscription/sim-sns-subscription.js.map +1 -0
  670. package/dist/service/sns/topic/sim-sns-topic-arn.d.ts +52 -0
  671. package/dist/service/sns/topic/sim-sns-topic-arn.d.ts.map +1 -0
  672. package/dist/service/sns/topic/sim-sns-topic-arn.js +71 -0
  673. package/dist/service/sns/topic/sim-sns-topic-arn.js.map +1 -0
  674. package/dist/service/sns/topic/sim-sns-topic-attribute-names.d.ts +19 -0
  675. package/dist/service/sns/topic/sim-sns-topic-attribute-names.d.ts.map +1 -0
  676. package/dist/service/sns/topic/sim-sns-topic-attribute-names.js +79 -0
  677. package/dist/service/sns/topic/sim-sns-topic-attribute-names.js.map +1 -0
  678. package/dist/service/sns/topic/sim-sns-topic-attributes.d.ts +56 -0
  679. package/dist/service/sns/topic/sim-sns-topic-attributes.d.ts.map +1 -0
  680. package/dist/service/sns/topic/sim-sns-topic-attributes.js +85 -0
  681. package/dist/service/sns/topic/sim-sns-topic-attributes.js.map +1 -0
  682. package/dist/service/sns/topic/sim-sns-topic-name.d.ts +21 -0
  683. package/dist/service/sns/topic/sim-sns-topic-name.d.ts.map +1 -0
  684. package/dist/service/sns/topic/sim-sns-topic-name.js +48 -0
  685. package/dist/service/sns/topic/sim-sns-topic-name.js.map +1 -0
  686. package/dist/service/sns/topic/sim-sns-topic-policy.d.ts +23 -0
  687. package/dist/service/sns/topic/sim-sns-topic-policy.d.ts.map +1 -0
  688. package/dist/service/sns/topic/sim-sns-topic-policy.js +59 -0
  689. package/dist/service/sns/topic/sim-sns-topic-policy.js.map +1 -0
  690. package/dist/service/sns/topic/sim-sns-topic-store.d.ts +35 -0
  691. package/dist/service/sns/topic/sim-sns-topic-store.d.ts.map +1 -0
  692. package/dist/service/sns/topic/sim-sns-topic-store.js +50 -0
  693. package/dist/service/sns/topic/sim-sns-topic-store.js.map +1 -0
  694. package/dist/service/sns/topic/sim-sns-topic.d.ts +48 -0
  695. package/dist/service/sns/topic/sim-sns-topic.d.ts.map +1 -0
  696. package/dist/service/sns/topic/sim-sns-topic.js +80 -0
  697. package/dist/service/sns/topic/sim-sns-topic.js.map +1 -0
  698. package/dist/service/sqs/command/authorize/sim-sqs-authorizer.d.ts +3 -6
  699. package/dist/service/sqs/command/authorize/sim-sqs-authorizer.d.ts.map +1 -1
  700. package/dist/service/sqs/command/authorize/sim-sqs-authorizer.js +13 -7
  701. package/dist/service/sqs/command/authorize/sim-sqs-authorizer.js.map +1 -1
  702. package/dist/service/sqs/index.d.ts +1 -1
  703. package/dist/service/sqs/index.d.ts.map +1 -1
  704. package/dist/service/sqs/index.js +1 -1
  705. package/dist/service/sqs/index.js.map +1 -1
  706. package/dist/service/sqs/queue/sim-sqs-queue-arn.d.ts +0 -7
  707. package/dist/service/sqs/queue/sim-sqs-queue-arn.d.ts.map +1 -1
  708. package/dist/service/sqs/queue/sim-sqs-queue-arn.js +0 -9
  709. package/dist/service/sqs/queue/sim-sqs-queue-arn.js.map +1 -1
  710. package/dist/service/sqs/sim-sqs.js +1 -1
  711. package/dist/service/sqs/sim-sqs.js.map +1 -1
  712. package/package.json +7 -1
@@ -0,0 +1,54 @@
1
+ import { parseSimLambdaFunctionArn } from "../../lambda/function/sim-lambda-function-arn-parts.js";
2
+ import { SimSnsInvalidParameterException, SimSnsUnsimulatedInputException, } from "../error/sim-sns.error.js";
3
+ /**
4
+ * The Lambda function ARN a subscription's endpoint names.
5
+ *
6
+ * The Region and the Account are read out alongside the name, because a
7
+ * delivery resolves the function in the scope the ARN gives rather than in the
8
+ * topic's. Real SNS invokes a function in another Account or Region, so this
9
+ * does too.
10
+ */
11
+ export class SimSnsFunctionEndpointArn {
12
+ value;
13
+ regionName;
14
+ accountId;
15
+ functionName;
16
+ constructor(properties) {
17
+ this.value = properties.value;
18
+ this.regionName = properties.regionName;
19
+ this.accountId = properties.accountId;
20
+ this.functionName = properties.functionName;
21
+ }
22
+ /**
23
+ * Read a function ARN, refusing anything a function could not be reached by.
24
+ *
25
+ * Reading the ARN is Lambda's own business, so the parts come from there.
26
+ * What SNS adds is what an unreadable one means to a `Subscribe` request,
27
+ * which is the same `InvalidParameterException` a queue ARN that is not one
28
+ * gets.
29
+ *
30
+ * A qualified ARN naming a version or an alias is refused rather than read as
31
+ * the unqualified function, because simulated Lambda has neither and
32
+ * delivering to `$LATEST` instead would be the wrong function.
33
+ */
34
+ static parse(endpoint) {
35
+ const parts = parseSimLambdaFunctionArn(endpoint);
36
+ if (parts === undefined) {
37
+ throw new SimSnsInvalidParameterException(`Invalid parameter: Endpoint Reason: ${endpoint} is not a Lambda ` +
38
+ "function ARN, which is " +
39
+ "arn:aws:lambda:<region>:<account-id>:function:<function-name>");
40
+ }
41
+ if (parts.qualifier !== undefined) {
42
+ throw new SimSnsUnsimulatedInputException(`Cannot subscribe ${endpoint}: simulated Lambda has no function ` +
43
+ "versions or aliases, so a qualified function ARN is refused rather " +
44
+ "than treated as the unqualified function.");
45
+ }
46
+ return new this({
47
+ value: endpoint,
48
+ regionName: parts.regionName,
49
+ accountId: parts.accountId,
50
+ functionName: parts.functionName,
51
+ });
52
+ }
53
+ }
54
+ //# sourceMappingURL=sim-sns-function-endpoint-arn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sns-function-endpoint-arn.js","sourceRoot":"","sources":["../../../../src/service/sns/subscription/sim-sns-function-endpoint-arn.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,wDAAwD,CAAC;AACnG,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,GAChC,MAAM,2BAA2B,CAAC;AASnC;;;;;;;GAOG;AACH,MAAM,OAAO,yBAAyB;IACpB,KAAK,CAAS;IACd,UAAU,CAAgB;IAC1B,SAAS,CAAkB;IAC3B,YAAY,CAAS;IAErC,YAAoB,UAA+C;QACjE,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;IAC9C,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,KAAK,CAAC,QAAgB;QAC3B,MAAM,KAAK,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QAElD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,+BAA+B,CACvC,uCAAuC,QAAQ,mBAAmB;gBAChE,yBAAyB;gBACzB,+DAA+D,CAClE,CAAC;QACJ,CAAC;QAED,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,IAAI,+BAA+B,CACvC,oBAAoB,QAAQ,qCAAqC;gBAC/D,qEAAqE;gBACrE,2CAA2C,CAC9C,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,IAAI,CAAC;YACd,KAAK,EAAE,QAAQ;YACf,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,YAAY,EAAE,KAAK,CAAC,YAAY;SACjC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,30 @@
1
+ import type { SimAwsAccountId } from "../../aws/sim-aws-account-id.js";
2
+ import type { AwsRegionName } from "../../aws/sim-aws-region.js";
3
+ /**
4
+ * The SQS queue ARN a subscription's endpoint names.
5
+ *
6
+ * All three of the Region, the Account and the name are read out, because a
7
+ * delivery resolves the queue in the scope the ARN gives rather than in the
8
+ * topic's. Real SNS delivers to a queue in another Region, so this does too.
9
+ */
10
+ export declare class SimSnsQueueEndpointArn {
11
+ readonly value: string;
12
+ readonly regionName: AwsRegionName;
13
+ readonly accountId: SimAwsAccountId;
14
+ readonly queueName: string;
15
+ private constructor();
16
+ /**
17
+ * Read a queue ARN, refusing anything a queue could not be reached by.
18
+ *
19
+ * A FIFO queue is refused by its name, as real SNS refuses one for a standard
20
+ * topic: only a FIFO topic delivers to a FIFO queue. Simulated SQS has no
21
+ * FIFO queues either, so without this the refusal would arrive later as a
22
+ * queue that does not exist, which points at the wrong thing to fix.
23
+ */
24
+ static parse(endpoint: string): SimSnsQueueEndpointArn;
25
+ /**
26
+ * The URL an SQS request names this queue by.
27
+ */
28
+ get queueUrl(): string;
29
+ }
30
+ //# sourceMappingURL=sim-sns-queue-endpoint-arn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sns-queue-endpoint-arn.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/subscription/sim-sns-queue-endpoint-arn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAsBjE;;;;;;GAMG;AACH,qBAAa,sBAAsB;IACjC,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,UAAU,EAAE,aAAa,CAAC;IAC1C,SAAgB,SAAS,EAAE,eAAe,CAAC;IAC3C,SAAgB,SAAS,EAAE,MAAM,CAAC;IAElC,OAAO,eAKN;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,sBAAsB,CAwCrD;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAMrB;CACF"}
@@ -0,0 +1,78 @@
1
+ import { sqsQueueUrl } from "../../sqs/queue/sim-sqs-queue-arn.js";
2
+ import { SimSnsInvalidParameterException, SimSnsUnsimulatedInputException, } from "../error/sim-sns.error.js";
3
+ /**
4
+ * The number of colon separated parts in a queue ARN.
5
+ *
6
+ * A queue ARN has no resource type separator, so the queue name is the sixth
7
+ * and last part, the same shape a topic ARN has.
8
+ */
9
+ const queueArnParts = 6;
10
+ /**
11
+ * The SQS queue ARN a subscription's endpoint names.
12
+ *
13
+ * All three of the Region, the Account and the name are read out, because a
14
+ * delivery resolves the queue in the scope the ARN gives rather than in the
15
+ * topic's. Real SNS delivers to a queue in another Region, so this does too.
16
+ */
17
+ export class SimSnsQueueEndpointArn {
18
+ value;
19
+ regionName;
20
+ accountId;
21
+ queueName;
22
+ constructor(properties) {
23
+ this.value = properties.value;
24
+ this.regionName = properties.regionName;
25
+ this.accountId = properties.accountId;
26
+ this.queueName = properties.queueName;
27
+ }
28
+ /**
29
+ * Read a queue ARN, refusing anything a queue could not be reached by.
30
+ *
31
+ * A FIFO queue is refused by its name, as real SNS refuses one for a standard
32
+ * topic: only a FIFO topic delivers to a FIFO queue. Simulated SQS has no
33
+ * FIFO queues either, so without this the refusal would arrive later as a
34
+ * queue that does not exist, which points at the wrong thing to fix.
35
+ */
36
+ static parse(endpoint) {
37
+ const parts = endpoint.split(":");
38
+ const [prefix, partition, service, regionName, accountId, queueName] = parts;
39
+ if (parts.length !== queueArnParts ||
40
+ prefix !== "arn" ||
41
+ partition !== "aws" ||
42
+ service !== "sqs" ||
43
+ regionName === undefined ||
44
+ regionName === "" ||
45
+ accountId === undefined ||
46
+ accountId === "" ||
47
+ queueName === undefined ||
48
+ queueName === "") {
49
+ throw new SimSnsInvalidParameterException(`Invalid parameter: Endpoint Reason: ${endpoint} is not an SQS queue ` +
50
+ `ARN, which is arn:aws:sqs:<region>:<account-id>:<queue-name>`);
51
+ }
52
+ if (queueName.endsWith(".fifo")) {
53
+ throw new SimSnsUnsimulatedInputException(`Cannot subscribe ${endpoint}: only a FIFO topic delivers to a FIFO ` +
54
+ "queue, and simulated SNS has only standard topics.");
55
+ }
56
+ return new this({
57
+ value: endpoint,
58
+ // The Region and the Account come out of an ARN as plain strings. They
59
+ // are the branded types everywhere else, and an ARN naming a scope the
60
+ // simulation has never seen resolves to an empty one rather than being
61
+ // refused here, the same as any other ARN a request carries.
62
+ regionName: regionName,
63
+ accountId: accountId,
64
+ queueName,
65
+ });
66
+ }
67
+ /**
68
+ * The URL an SQS request names this queue by.
69
+ */
70
+ get queueUrl() {
71
+ return sqsQueueUrl({
72
+ regionName: this.regionName,
73
+ accountId: this.accountId,
74
+ name: this.queueName,
75
+ });
76
+ }
77
+ }
78
+ //# sourceMappingURL=sim-sns-queue-endpoint-arn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sns-queue-endpoint-arn.js","sourceRoot":"","sources":["../../../../src/service/sns/subscription/sim-sns-queue-endpoint-arn.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,GAChC,MAAM,2BAA2B,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,aAAa,GAAG,CAAC,CAAC;AASxB;;;;;;GAMG;AACH,MAAM,OAAO,sBAAsB;IACjB,KAAK,CAAS;IACd,UAAU,CAAgB;IAC1B,SAAS,CAAkB;IAC3B,SAAS,CAAS;IAElC,YAAoB,UAA4C;QAC9D,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;IACxC,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,QAAgB;QAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,GAClE,KAAK,CAAC;QAER,IACE,KAAK,CAAC,MAAM,KAAK,aAAa;YAC9B,MAAM,KAAK,KAAK;YAChB,SAAS,KAAK,KAAK;YACnB,OAAO,KAAK,KAAK;YACjB,UAAU,KAAK,SAAS;YACxB,UAAU,KAAK,EAAE;YACjB,SAAS,KAAK,SAAS;YACvB,SAAS,KAAK,EAAE;YAChB,SAAS,KAAK,SAAS;YACvB,SAAS,KAAK,EAAE,EAChB,CAAC;YACD,MAAM,IAAI,+BAA+B,CACvC,uCAAuC,QAAQ,uBAAuB;gBACpE,8DAA8D,CACjE,CAAC;QACJ,CAAC;QAED,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,+BAA+B,CACvC,oBAAoB,QAAQ,yCAAyC;gBACnE,oDAAoD,CACvD,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,IAAI,CAAC;YACd,KAAK,EAAE,QAAQ;YACf,uEAAuE;YACvE,uEAAuE;YACvE,uEAAuE;YACvE,6DAA6D;YAC7D,UAAU,EAAE,UAA2B;YACvC,SAAS,EAAE,SAA4B;YACvC,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,WAAW,CAAC;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI,CAAC,SAAS;SACrB,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Subscription attributes as a request carries them, which is always as
3
+ * strings.
4
+ */
5
+ export type SimSnsSubscriptionAttributeInput = Readonly<Record<string, string | undefined>>;
6
+ /**
7
+ * The attributes one request names, with the ones it left out left out.
8
+ *
9
+ * Every name is checked as this is read, so a request naming one attribute this
10
+ * simulation will not take changes none of them.
11
+ */
12
+ export declare class SimSnsRequestedSubscriptionAttributes {
13
+ private readonly named;
14
+ constructor(requested: SimSnsSubscriptionAttributeInput);
15
+ /**
16
+ * What the request set an attribute to, if it named it at all.
17
+ */
18
+ value(name: string): string | undefined;
19
+ /**
20
+ * Read an attribute the request set to a boolean.
21
+ *
22
+ * Real SNS takes the two lower case spellings and refuses everything else, so
23
+ * a request setting `RawMessageDelivery` to `True` or to `1` is refused
24
+ * rather than quietly treated as false.
25
+ */
26
+ booleanValue(name: string): boolean | undefined;
27
+ }
28
+ //# sourceMappingURL=sim-sns-requested-subscription-attributes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sns-requested-subscription-attributes.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/subscription/sim-sns-requested-subscription-attributes.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,MAAM,gCAAgC,GAAG,QAAQ,CACrD,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CACnC,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,qCAAqC;IAChD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8B;IAEpD,YAAY,SAAS,EAAE,gCAAgC,EAUtD;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEtC;IAED;;;;;;OAMG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAe9C;CACF"}
@@ -0,0 +1,43 @@
1
+ import { SimSnsInvalidParameterException } from "../error/sim-sns.error.js";
2
+ import { assertSimSnsSettableSubscriptionAttribute } from "./sim-sns-subscription-attribute-names.js";
3
+ /**
4
+ * The attributes one request names, with the ones it left out left out.
5
+ *
6
+ * Every name is checked as this is read, so a request naming one attribute this
7
+ * simulation will not take changes none of them.
8
+ */
9
+ export class SimSnsRequestedSubscriptionAttributes {
10
+ named;
11
+ constructor(requested) {
12
+ const named = Object.entries(requested).filter((entry) => entry[1] !== undefined);
13
+ for (const [name] of named) {
14
+ assertSimSnsSettableSubscriptionAttribute(name);
15
+ }
16
+ this.named = new Map(named);
17
+ }
18
+ /**
19
+ * What the request set an attribute to, if it named it at all.
20
+ */
21
+ value(name) {
22
+ return this.named.get(name);
23
+ }
24
+ /**
25
+ * Read an attribute the request set to a boolean.
26
+ *
27
+ * Real SNS takes the two lower case spellings and refuses everything else, so
28
+ * a request setting `RawMessageDelivery` to `True` or to `1` is refused
29
+ * rather than quietly treated as false.
30
+ */
31
+ booleanValue(name) {
32
+ const value = this.value(name);
33
+ if (value === undefined) {
34
+ return undefined;
35
+ }
36
+ if (value === "true" || value === "false") {
37
+ return value === "true";
38
+ }
39
+ throw new SimSnsInvalidParameterException(`Invalid parameter: AttributeValue: ${name} must be true or false, and ` +
40
+ `this one is ${value}`);
41
+ }
42
+ }
43
+ //# sourceMappingURL=sim-sns-requested-subscription-attributes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sns-requested-subscription-attributes.js","sourceRoot":"","sources":["../../../../src/service/sns/subscription/sim-sns-requested-subscription-attributes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,yCAAyC,EAAE,MAAM,2CAA2C,CAAC;AAUtG;;;;;GAKG;AACH,MAAM,OAAO,qCAAqC;IAC/B,KAAK,CAA8B;IAEpD,YAAY,SAA2C;QACrD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAC5C,CAAC,KAAK,EAA6B,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAC7D,CAAC;QAEF,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;YAC3B,yCAAyC,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAY;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;OAMG;IACH,YAAY,CAAC,IAAY;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YAC1C,OAAO,KAAK,KAAK,MAAM,CAAC;QAC1B,CAAC;QAED,MAAM,IAAI,+BAA+B,CACvC,sCAAsC,IAAI,8BAA8B;YACtE,eAAe,KAAK,EAAE,CACzB,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Where one subscription is, in the facts its ARN carries.
3
+ *
4
+ * The topic ARN is rebuilt from the first six parts rather than held
5
+ * separately, because a subscription ARN is the only thing an Unsubscribe
6
+ * request carries and the topic it belongs to has to be found from it.
7
+ */
8
+ export interface SimSnsSubscriptionLocation {
9
+ readonly regionName: string;
10
+ readonly accountId: string;
11
+ readonly topicName: string;
12
+ readonly topicArn: string;
13
+ readonly subscriptionId: string;
14
+ }
15
+ /**
16
+ * Read a subscription ARN into the topic and subscription id it carries.
17
+ *
18
+ * Nothing is returned for a string that is not a subscription ARN, including a
19
+ * topic ARN, which is the same ARN without the subscription id on the end.
20
+ */
21
+ export declare function parseSnsSubscriptionArn(value: string): SimSnsSubscriptionLocation | undefined;
22
+ /**
23
+ * The ARN of one simulated subscription.
24
+ *
25
+ * Real SNS gives a subscription an ARN of the topic's with an opaque id on the
26
+ * end, and that ARN is the only handle a caller has on the subscription:
27
+ * `Unsubscribe`, `GetSubscriptionAttributes` and `SetSubscriptionAttributes`
28
+ * all name one by it.
29
+ */
30
+ export declare class SimSnsSubscriptionArn {
31
+ readonly value: string;
32
+ readonly topicArn: string;
33
+ readonly subscriptionId: string;
34
+ private constructor();
35
+ /**
36
+ * Mint an ARN for a new subscription to a topic.
37
+ *
38
+ * Real SNS's subscription ids are opaque, and a UUID is opaque in the same
39
+ * way while being unique without anything having to keep count.
40
+ */
41
+ static forTopic(topicArn: string): SimSnsSubscriptionArn;
42
+ }
43
+ //# sourceMappingURL=sim-sns-subscription-arn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sns-subscription-arn.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/subscription/sim-sns-subscription-arn.ts"],"names":[],"mappings":"AAWA;;;;;;GAMG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,GACZ,0BAA0B,GAAG,SAAS,CAkCxC;AAED;;;;;;;GAOG;AACH,qBAAa,qBAAqB;IAChC,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,cAAc,EAAE,MAAM,CAAC;IAEvC,OAAO,eAIN;IAED;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,qBAAqB,CAEvD;CACF"}
@@ -0,0 +1,70 @@
1
+ import { randomUUID } from "node:crypto";
2
+ /**
3
+ * The number of colon separated parts in a subscription ARN.
4
+ *
5
+ * A subscription ARN is the topic's with the subscription id added on the end,
6
+ * so it has one more part than a topic ARN. Counting the parts is what tells
7
+ * the two apart, since neither has a resource type separator.
8
+ */
9
+ const subscriptionArnParts = 7;
10
+ /**
11
+ * Read a subscription ARN into the topic and subscription id it carries.
12
+ *
13
+ * Nothing is returned for a string that is not a subscription ARN, including a
14
+ * topic ARN, which is the same ARN without the subscription id on the end.
15
+ */
16
+ export function parseSnsSubscriptionArn(value) {
17
+ const parts = value.split(":");
18
+ if (parts.length !== subscriptionArnParts) {
19
+ return undefined;
20
+ }
21
+ const [prefix, partition, service, regionName, accountId, topicName, id] = parts;
22
+ if (prefix !== "arn" || partition !== "aws" || service !== "sns") {
23
+ return undefined;
24
+ }
25
+ if (regionName === undefined ||
26
+ regionName === "" ||
27
+ accountId === undefined ||
28
+ accountId === "" ||
29
+ topicName === undefined ||
30
+ topicName === "" ||
31
+ id === undefined ||
32
+ id === "") {
33
+ return undefined;
34
+ }
35
+ return {
36
+ regionName,
37
+ accountId,
38
+ topicName,
39
+ topicArn: `arn:aws:sns:${regionName}:${accountId}:${topicName}`,
40
+ subscriptionId: id,
41
+ };
42
+ }
43
+ /**
44
+ * The ARN of one simulated subscription.
45
+ *
46
+ * Real SNS gives a subscription an ARN of the topic's with an opaque id on the
47
+ * end, and that ARN is the only handle a caller has on the subscription:
48
+ * `Unsubscribe`, `GetSubscriptionAttributes` and `SetSubscriptionAttributes`
49
+ * all name one by it.
50
+ */
51
+ export class SimSnsSubscriptionArn {
52
+ value;
53
+ topicArn;
54
+ subscriptionId;
55
+ constructor(topicArn, subscriptionId) {
56
+ this.topicArn = topicArn;
57
+ this.subscriptionId = subscriptionId;
58
+ this.value = `${topicArn}:${subscriptionId}`;
59
+ }
60
+ /**
61
+ * Mint an ARN for a new subscription to a topic.
62
+ *
63
+ * Real SNS's subscription ids are opaque, and a UUID is opaque in the same
64
+ * way while being unique without anything having to keep count.
65
+ */
66
+ static forTopic(topicArn) {
67
+ return new this(topicArn, randomUUID());
68
+ }
69
+ }
70
+ //# sourceMappingURL=sim-sns-subscription-arn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sns-subscription-arn.js","sourceRoot":"","sources":["../../../../src/service/sns/subscription/sim-sns-subscription-arn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;;;;;GAMG;AACH,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAiB/B;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAa;IAEb,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE/B,IAAI,KAAK,CAAC,MAAM,KAAK,oBAAoB,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,GACtE,KAAK,CAAC;IAER,IAAI,MAAM,KAAK,KAAK,IAAI,SAAS,KAAK,KAAK,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACjE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IACE,UAAU,KAAK,SAAS;QACxB,UAAU,KAAK,EAAE;QACjB,SAAS,KAAK,SAAS;QACvB,SAAS,KAAK,EAAE;QAChB,SAAS,KAAK,SAAS;QACvB,SAAS,KAAK,EAAE;QAChB,EAAE,KAAK,SAAS;QAChB,EAAE,KAAK,EAAE,EACT,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,UAAU;QACV,SAAS;QACT,SAAS;QACT,QAAQ,EAAE,eAAe,UAAU,IAAI,SAAS,IAAI,SAAS,EAAE;QAC/D,cAAc,EAAE,EAAE;KACnB,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,qBAAqB;IAChB,KAAK,CAAS;IACd,QAAQ,CAAS;IACjB,cAAc,CAAS;IAEvC,YAAoB,QAAgB,EAAE,cAAsB;QAC1D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,GAAG,QAAQ,IAAI,cAAc,EAAE,CAAC;IAC/C,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,QAAgB;QAC9B,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF"}
@@ -0,0 +1,20 @@
1
+ import { SimSnsFilterPolicy } from "../filter/sim-sns-filter-policy.js";
2
+ import { type SimSnsFilterPolicyScope } from "../filter/sim-sns-filter-policy-scope.js";
3
+ import { type SimSnsSubscriptionAttributeInput } from "./sim-sns-requested-subscription-attributes.js";
4
+ /**
5
+ * What one subscription's settable attributes are set to.
6
+ */
7
+ export interface SimSnsSubscriptionAttributeValues {
8
+ readonly rawMessageDelivery: boolean;
9
+ readonly filterPolicy: SimSnsFilterPolicy | undefined;
10
+ readonly filterPolicyScope: SimSnsFilterPolicyScope;
11
+ }
12
+ /**
13
+ * Read a request as the attributes it leaves the subscription with.
14
+ *
15
+ * Every attribute the request left out keeps the value it had, and every name
16
+ * is checked before any value is read, so a request naming one attribute this
17
+ * simulation will not take changes none of them.
18
+ */
19
+ export declare function simSnsChangedSubscriptionAttributes(held: SimSnsSubscriptionAttributeValues, requested: SimSnsSubscriptionAttributeInput): SimSnsSubscriptionAttributeValues;
20
+ //# sourceMappingURL=sim-sns-subscription-attribute-changes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sns-subscription-attribute-changes.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/subscription/sim-sns-subscription-attribute-changes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAEL,KAAK,gCAAgC,EACtC,MAAM,gDAAgD,CAAC;AAOxD;;GAEG;AACH,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;CACrD;AA8CD;;;;;;GAMG;AACH,wBAAgB,mCAAmC,CACjD,IAAI,EAAE,iCAAiC,EACvC,SAAS,EAAE,gCAAgC,GAC1C,iCAAiC,CAWnC"}
@@ -0,0 +1,52 @@
1
+ import { SimSnsFilterPolicy } from "../filter/sim-sns-filter-policy.js";
2
+ import { simSnsFilterPolicyScopeOf, } from "../filter/sim-sns-filter-policy-scope.js";
3
+ import { SimSnsRequestedSubscriptionAttributes, } from "./sim-sns-requested-subscription-attributes.js";
4
+ import { simSnsFilterPolicyAttributeName, simSnsFilterPolicyScopeAttributeName, simSnsRawMessageDeliveryAttributeName, } from "./sim-sns-subscription-attribute-names.js";
5
+ /**
6
+ * The scope the subscription ends up with.
7
+ *
8
+ * An empty value is how an attribute is cleared, which puts the subscription
9
+ * back on the default scope.
10
+ */
11
+ function changedScope(held, named) {
12
+ const value = named.value(simSnsFilterPolicyScopeAttributeName);
13
+ if (value === undefined) {
14
+ return held.filterPolicyScope;
15
+ }
16
+ return simSnsFilterPolicyScopeOf(value);
17
+ }
18
+ /**
19
+ * The policy the subscription ends up with.
20
+ *
21
+ * An empty value takes the policy off the subscription, which puts it back to
22
+ * receiving everything its topic publishes. A policy already held is read again
23
+ * when the scope changes, since the scope decides what a policy may say.
24
+ */
25
+ function changedPolicy(held, named, scope) {
26
+ const value = named.value(simSnsFilterPolicyAttributeName);
27
+ if (value === undefined) {
28
+ return held.filterPolicy?.forScope(scope);
29
+ }
30
+ if (value === "") {
31
+ return undefined;
32
+ }
33
+ return SimSnsFilterPolicy.parse(value, scope);
34
+ }
35
+ /**
36
+ * Read a request as the attributes it leaves the subscription with.
37
+ *
38
+ * Every attribute the request left out keeps the value it had, and every name
39
+ * is checked before any value is read, so a request naming one attribute this
40
+ * simulation will not take changes none of them.
41
+ */
42
+ export function simSnsChangedSubscriptionAttributes(held, requested) {
43
+ const named = new SimSnsRequestedSubscriptionAttributes(requested);
44
+ const scope = changedScope(held, named);
45
+ return {
46
+ rawMessageDelivery: named.booleanValue(simSnsRawMessageDeliveryAttributeName) ??
47
+ held.rawMessageDelivery,
48
+ filterPolicy: changedPolicy(held, named, scope),
49
+ filterPolicyScope: scope,
50
+ };
51
+ }
52
+ //# sourceMappingURL=sim-sns-subscription-attribute-changes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sns-subscription-attribute-changes.js","sourceRoot":"","sources":["../../../../src/service/sns/subscription/sim-sns-subscription-attribute-changes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAEL,yBAAyB,GAC1B,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,qCAAqC,GAEtC,MAAM,gDAAgD,CAAC;AACxD,OAAO,EACL,+BAA+B,EAC/B,oCAAoC,EACpC,qCAAqC,GACtC,MAAM,2CAA2C,CAAC;AAWnD;;;;;GAKG;AACH,SAAS,YAAY,CACnB,IAAuC,EACvC,KAA4C;IAE5C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAEhE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,OAAO,yBAAyB,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,aAAa,CACpB,IAAuC,EACvC,KAA4C,EAC5C,KAA8B;IAE9B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAE3D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mCAAmC,CACjD,IAAuC,EACvC,SAA2C;IAE3C,MAAM,KAAK,GAAG,IAAI,qCAAqC,CAAC,SAAS,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAExC,OAAO;QACL,kBAAkB,EAChB,KAAK,CAAC,YAAY,CAAC,qCAAqC,CAAC;YACzD,IAAI,CAAC,kBAAkB;QACzB,YAAY,EAAE,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;QAC/C,iBAAiB,EAAE,KAAK;KACzB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Whether the subscription receives the published message on its own rather
3
+ * than wrapped in the SNS envelope.
4
+ *
5
+ * This is the subscription attribute a consumer breaks on: code written for the
6
+ * envelope reads `JSON.parse(body).Message`, and code written for raw delivery
7
+ * reads `body`.
8
+ */
9
+ export declare const simSnsRawMessageDeliveryAttributeName = "RawMessageDelivery";
10
+ /**
11
+ * The JSON document saying which messages the subscription wants.
12
+ */
13
+ export declare const simSnsFilterPolicyAttributeName = "FilterPolicy";
14
+ /**
15
+ * What part of a published message the filter policy is matched against.
16
+ */
17
+ export declare const simSnsFilterPolicyScopeAttributeName = "FilterPolicyScope";
18
+ /**
19
+ * Refuse a subscription attribute this simulation cannot set.
20
+ *
21
+ * An attribute real SNS has and this simulation does not is refused with the
22
+ * reason. An attribute real SNS does not have at all is refused the way real
23
+ * SNS refuses it.
24
+ */
25
+ export declare function assertSimSnsSettableSubscriptionAttribute(name: string): void;
26
+ //# sourceMappingURL=sim-sns-subscription-attribute-names.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sns-subscription-attribute-names.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/subscription/sim-sns-subscription-attribute-names.ts"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AACH,eAAO,MAAM,qCAAqC,uBAAuB,CAAC;AAE1E;;GAEG;AACH,eAAO,MAAM,+BAA+B,iBAAiB,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,oCAAoC,sBAAsB,CAAC;AA+BxE;;;;;;GAMG;AACH,wBAAgB,yCAAyC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAiB5E"}
@@ -0,0 +1,64 @@
1
+ import { SimSnsInvalidParameterException, SimSnsUnsimulatedInputException, } from "../error/sim-sns.error.js";
2
+ /**
3
+ * Whether the subscription receives the published message on its own rather
4
+ * than wrapped in the SNS envelope.
5
+ *
6
+ * This is the subscription attribute a consumer breaks on: code written for the
7
+ * envelope reads `JSON.parse(body).Message`, and code written for raw delivery
8
+ * reads `body`.
9
+ */
10
+ export const simSnsRawMessageDeliveryAttributeName = "RawMessageDelivery";
11
+ /**
12
+ * The JSON document saying which messages the subscription wants.
13
+ */
14
+ export const simSnsFilterPolicyAttributeName = "FilterPolicy";
15
+ /**
16
+ * What part of a published message the filter policy is matched against.
17
+ */
18
+ export const simSnsFilterPolicyScopeAttributeName = "FilterPolicyScope";
19
+ const settableAttributeNames = new Set([
20
+ simSnsRawMessageDeliveryAttributeName,
21
+ simSnsFilterPolicyAttributeName,
22
+ simSnsFilterPolicyScopeAttributeName,
23
+ ]);
24
+ /**
25
+ * The other attributes real SNS lets a request set on a subscription.
26
+ *
27
+ * Each is refused by name with the reason rather than taken and ignored. A
28
+ * subscription that appeared to accept a `RedrivePolicy` would drop a failed
29
+ * delivery while a test believed it was keeping it, which is exactly the kind
30
+ * of pass that means nothing.
31
+ */
32
+ const unsimulatedAttributeNames = new Map([
33
+ ["DeliveryPolicy", "Delivery retry policies are not simulated."],
34
+ [
35
+ "RedrivePolicy",
36
+ "Subscription dead-letter queues are not simulated, so a message that " +
37
+ "could not be delivered goes nowhere.",
38
+ ],
39
+ [
40
+ "SubscriptionRoleArn",
41
+ "Amazon Data Firehose delivery is not simulated, and that is the only " +
42
+ "protocol this attribute applies to.",
43
+ ],
44
+ ["ReplayPolicy", "Message archiving and replay are not simulated."],
45
+ ]);
46
+ /**
47
+ * Refuse a subscription attribute this simulation cannot set.
48
+ *
49
+ * An attribute real SNS has and this simulation does not is refused with the
50
+ * reason. An attribute real SNS does not have at all is refused the way real
51
+ * SNS refuses it.
52
+ */
53
+ export function assertSimSnsSettableSubscriptionAttribute(name) {
54
+ if (settableAttributeNames.has(name)) {
55
+ return;
56
+ }
57
+ const reason = unsimulatedAttributeNames.get(name);
58
+ if (reason !== undefined) {
59
+ throw new SimSnsUnsimulatedInputException(`The subscription attribute ${name} is not simulated. ${reason}`);
60
+ }
61
+ throw new SimSnsInvalidParameterException(`Invalid parameter: AttributeName: ${name} is not a subscription ` +
62
+ `attribute that can be set`);
63
+ }
64
+ //# sourceMappingURL=sim-sns-subscription-attribute-names.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sns-subscription-attribute-names.js","sourceRoot":"","sources":["../../../../src/service/sns/subscription/sim-sns-subscription-attribute-names.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,GAChC,MAAM,2BAA2B,CAAC;AAEnC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,oBAAoB,CAAC;AAE1E;;GAEG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,cAAc,CAAC;AAE9D;;GAEG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,mBAAmB,CAAC;AAExE,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACrC,qCAAqC;IACrC,+BAA+B;IAC/B,oCAAoC;CACrC,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAiB;IACxD,CAAC,gBAAgB,EAAE,4CAA4C,CAAC;IAChE;QACE,eAAe;QACf,uEAAuE;YACrE,sCAAsC;KACzC;IACD;QACE,qBAAqB;QACrB,uEAAuE;YACrE,qCAAqC;KACxC;IACD,CAAC,cAAc,EAAE,iDAAiD,CAAC;CACpE,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,yCAAyC,CAAC,IAAY;IACpE,IAAI,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAEnD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,+BAA+B,CACvC,8BAA8B,IAAI,sBAAsB,MAAM,EAAE,CACjE,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,+BAA+B,CACvC,qCAAqC,IAAI,yBAAyB;QAChE,2BAA2B,CAC9B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,47 @@
1
+ import type { SimSnsFilterPolicy } from "../filter/sim-sns-filter-policy.js";
2
+ import { type SimSnsFilterPolicyScope } from "../filter/sim-sns-filter-policy-scope.js";
3
+ import type { SimSnsPublishedMessage } from "../message/sim-sns-published-message.js";
4
+ import type { SimSnsSubscriptionAttributeInput } from "./sim-sns-requested-subscription-attributes.js";
5
+ /**
6
+ * The attributes of one simulated subscription that a request can set.
7
+ *
8
+ * Applying a request makes a new set rather than changing this one, so a
9
+ * request naming an attribute this simulation will not take leaves the
10
+ * subscription as it was.
11
+ */
12
+ export declare class SimSnsSubscriptionAttributes {
13
+ readonly rawMessageDelivery: boolean;
14
+ readonly filterPolicy: SimSnsFilterPolicy | undefined;
15
+ readonly filterPolicyScope: SimSnsFilterPolicyScope;
16
+ private constructor();
17
+ /**
18
+ * The attributes a subscription has before anything sets one.
19
+ *
20
+ * Real SNS reports `RawMessageDelivery` as false for a subscription created
21
+ * without it, rather than leaving the attribute out, which is why it is held
22
+ * rather than being absent until set. A subscription holds no filter policy
23
+ * until one is set, and receives everything its topic publishes.
24
+ */
25
+ static defaults(): SimSnsSubscriptionAttributes;
26
+ /**
27
+ * These attributes with a request's changes applied.
28
+ */
29
+ with(requested: SimSnsSubscriptionAttributeInput): SimSnsSubscriptionAttributes;
30
+ /**
31
+ * Whether this subscription's filter policy admits a published message.
32
+ *
33
+ * A subscription with no policy takes everything its topic publishes, which
34
+ * is what a subscription without one does on real SNS.
35
+ */
36
+ accepts(message: SimSnsPublishedMessage): boolean;
37
+ /**
38
+ * Add these attributes to what SNS reports about the subscription.
39
+ *
40
+ * The two filter policy attributes are reported only when there is a policy,
41
+ * as real SNS reports them. A subscription that filters nothing has no scope
42
+ * to report either, since the scope only says how a policy is read.
43
+ */
44
+ reportInto(reported: Map<string, string>): void;
45
+ }
46
+ export { type SimSnsSubscriptionAttributeInput } from "./sim-sns-requested-subscription-attributes.js";
47
+ //# sourceMappingURL=sim-sns-subscription-attributes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sns-subscription-attributes.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/subscription/sim-sns-subscription-attributes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,gDAAgD,CAAC;AAWvG;;;;;;GAMG;AACH,qBAAa,4BAA4B;IACvC,SAAgB,kBAAkB,EAAE,OAAO,CAAC;IAC5C,SAAgB,YAAY,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC7D,SAAgB,iBAAiB,EAAE,uBAAuB,CAAC;IAE3D,OAAO,eAIN;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,IAAI,4BAA4B,CAM9C;IAED;;OAEG;IACH,IAAI,CACF,SAAS,EAAE,gCAAgC,GAC1C,4BAA4B,CAI9B;IAED;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAEhD;IAED;;;;;;OAMG;IACH,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAe9C;CACF;AAED,OAAO,EAAE,KAAK,gCAAgC,EAAE,MAAM,gDAAgD,CAAC"}