@kensio/yulin 1.8.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.
- package/README.md +25 -0
- package/dist/sdk/router/resolve-sim-sdk-command-router.d.ts.map +1 -1
- package/dist/sdk/router/resolve-sim-sdk-command-router.js +3 -0
- package/dist/sdk/router/resolve-sim-sdk-command-router.js.map +1 -1
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts +17 -0
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.js +37 -42
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.js.map +1 -1
- package/dist/service/aws/factory/sim-aws-s3-notification-destinations.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-s3-notification-destinations.js +5 -0
- package/dist/service/aws/factory/sim-aws-s3-notification-destinations.js.map +1 -1
- package/dist/service/aws/factory/sim-aws-scoped-service-properties.d.ts +18 -0
- package/dist/service/aws/factory/sim-aws-scoped-service-properties.d.ts.map +1 -0
- package/dist/service/aws/factory/sim-aws-scoped-service-properties.js +2 -0
- package/dist/service/aws/factory/sim-aws-scoped-service-properties.js.map +1 -0
- package/dist/service/aws/factory/sim-aws-service-factory.d.ts +3 -0
- package/dist/service/aws/factory/sim-aws-service-factory.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-service-factory.js +4 -0
- package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
- package/dist/service/aws/sim-aws-account-region-scope.d.ts +5 -0
- package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-account-region-scope.js +6 -0
- package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
- package/dist/service/aws/sim-aws-service-accessors.d.ts +3 -0
- package/dist/service/aws/sim-aws-service-accessors.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-service-accessors.js +4 -0
- package/dist/service/aws/sim-aws-service-accessors.js.map +1 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.d.ts +36 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.d.ts.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.js +64 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.js.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.d.ts +31 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.d.ts.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.js +42 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.js.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-files.d.ts +13 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-files.d.ts.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-files.js +68 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-files.js.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.d.ts +30 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.d.ts.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.js +35 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.js.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/filter/sim-cdk-bucket-deploy-filter.d.ts +27 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/filter/sim-cdk-bucket-deploy-filter.d.ts.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/filter/sim-cdk-bucket-deploy-filter.js +76 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/filter/sim-cdk-bucket-deploy-filter.js.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-properties.d.ts +24 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-properties.d.ts.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-properties.js +46 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-properties.js.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-values.d.ts +42 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-values.d.ts.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-values.js +96 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-values.js.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.d.ts +1 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.d.ts.map +1 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.js +10 -35
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.js.map +1 -1
- package/dist/service/cloudformation/cdk/s3/bucket-notifications/configuration/sim-cdk-bucket-notification-configuration.d.ts +2 -0
- package/dist/service/cloudformation/cdk/s3/bucket-notifications/configuration/sim-cdk-bucket-notification-configuration.d.ts.map +1 -1
- package/dist/service/cloudformation/cdk/s3/bucket-notifications/configuration/sim-cdk-bucket-notification-configuration.js +15 -1
- package/dist/service/cloudformation/cdk/s3/bucket-notifications/configuration/sim-cdk-bucket-notification-configuration.js.map +1 -1
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.js +8 -0
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.js.map +1 -1
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-rh-policy-cfn.d.ts +25 -0
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-rh-policy-cfn.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-rh-policy-cfn.js +32 -0
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-rh-policy-cfn.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js +2 -0
- package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js.map +1 -1
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-cfn-value-adapter.d.ts +11 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-cfn-value-adapter.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-cfn-value-adapter.js +24 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-cfn-value-adapter.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-subscription-cfn.d.ts +27 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-subscription-cfn.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-subscription-cfn.js +29 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-subscription-cfn.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-topic-cfn.d.ts +30 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-topic-cfn.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-topic-cfn.js +39 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-topic-cfn.js.map +1 -0
- package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-factories.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-factories.js +4 -0
- package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-factories.js.map +1 -1
- package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.d.ts +4 -0
- package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.d.ts.map +1 -1
- package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.js.map +1 -1
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-config.d.ts +38 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-config.d.ts.map +1 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-config.js +127 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-config.js.map +1 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-creator.d.ts +25 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-creator.d.ts.map +1 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-creator.js +33 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-creator.js.map +1 -0
- package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.d.ts +1 -0
- package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.d.ts.map +1 -1
- package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.js +11 -0
- package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.js.map +1 -1
- package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts +1 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts.map +1 -1
- package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.d.ts +3 -0
- package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.d.ts.map +1 -1
- package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.js +3 -0
- package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.js.map +1 -1
- package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.d.ts +19 -0
- package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.d.ts.map +1 -0
- package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.js +31 -0
- package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.js.map +1 -0
- package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.d.ts +4 -8
- package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.d.ts.map +1 -1
- package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.js +16 -19
- package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.js.map +1 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.js +3 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.js.map +1 -1
- package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts +19 -0
- package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts.map +1 -1
- package/dist/service/cloudfront/error/sim-cloudfront.error.js +23 -0
- package/dist/service/cloudfront/error/sim-cloudfront.error.js.map +1 -1
- package/dist/service/cloudfront/origin/s3/sim-cloudfront-s3-origin.d.ts.map +1 -1
- package/dist/service/cloudfront/origin/s3/sim-cloudfront-s3-origin.js +2 -5
- package/dist/service/cloudfront/origin/s3/sim-cloudfront-s3-origin.js.map +1 -1
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-header.d.ts +25 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-header.d.ts.map +1 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-header.js +30 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-header.js.map +1 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.d.ts +29 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.d.ts.map +1 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.js +40 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.js.map +1 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.d.ts +35 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.d.ts.map +1 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.js +44 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.js.map +1 -0
- package/dist/service/cloudfront/sim-cloudfront.d.ts +18 -0
- package/dist/service/cloudfront/sim-cloudfront.d.ts.map +1 -1
- package/dist/service/cloudfront/sim-cloudfront.js +24 -0
- package/dist/service/cloudfront/sim-cloudfront.js.map +1 -1
- package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.d.ts.map +1 -1
- package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.js +4 -1
- package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.js.map +1 -1
- package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-looked-up-zone.d.ts +39 -0
- package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-looked-up-zone.d.ts.map +1 -0
- package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-looked-up-zone.js +46 -0
- package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-looked-up-zone.js.map +1 -0
- package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-rec-set-zone-resolver.d.ts +2 -0
- package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-rec-set-zone-resolver.d.ts.map +1 -1
- package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-rec-set-zone-resolver.js +17 -1
- package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-rec-set-zone-resolver.js.map +1 -1
- package/dist/service/route53/hosted-zone/register-sim-route53-hosted-zone.d.ts +6 -0
- package/dist/service/route53/hosted-zone/register-sim-route53-hosted-zone.d.ts.map +1 -1
- package/dist/service/route53/hosted-zone/register-sim-route53-hosted-zone.js +1 -0
- package/dist/service/route53/hosted-zone/register-sim-route53-hosted-zone.js.map +1 -1
- package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.d.ts +23 -10
- package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.d.ts.map +1 -1
- package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.js +32 -45
- package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.js.map +1 -1
- package/dist/service/route53/hosted-zone/sim-route53-zone-name-widening.d.ts +16 -0
- package/dist/service/route53/hosted-zone/sim-route53-zone-name-widening.d.ts.map +1 -0
- package/dist/service/route53/hosted-zone/sim-route53-zone-name-widening.js +35 -0
- package/dist/service/route53/hosted-zone/sim-route53-zone-name-widening.js.map +1 -0
- package/dist/service/route53/hosted-zone/sim-route53-zone-synchronization.d.ts +23 -0
- package/dist/service/route53/hosted-zone/sim-route53-zone-synchronization.d.ts.map +1 -0
- package/dist/service/route53/hosted-zone/sim-route53-zone-synchronization.js +43 -0
- package/dist/service/route53/hosted-zone/sim-route53-zone-synchronization.js.map +1 -0
- package/dist/service/route53/sim-route53.d.ts +1 -1
- package/dist/service/route53/sim-route53.d.ts.map +1 -1
- package/dist/service/route53/sim-route53.js +1 -1
- package/dist/service/route53/sim-route53.js.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration-reader.d.ts.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration-reader.js +2 -0
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration-reader.js.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.d.ts +3 -0
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.d.ts.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.js +10 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.js.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-topic-notification.d.ts +21 -0
- package/dist/service/s3/bucket/notification/sim-s3-topic-notification.d.ts.map +1 -0
- package/dist/service/s3/bucket/notification/sim-s3-topic-notification.js +24 -0
- package/dist/service/s3/bucket/notification/sim-s3-topic-notification.js.map +1 -0
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.d.ts +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.d.ts.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.js +3 -3
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.js.map +1 -1
- package/dist/service/s3/bucket/sim-s3-bucket-access.d.ts.map +1 -1
- package/dist/service/s3/bucket/sim-s3-bucket-access.js +6 -1
- package/dist/service/s3/bucket/sim-s3-bucket-access.js.map +1 -1
- package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.d.ts +9 -6
- package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.d.ts.map +1 -1
- package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.js +32 -7
- package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.js.map +1 -1
- package/dist/service/s3/command/get-bucket-notification-configuration/get-bucket-notification-configuration.command.d.ts +2 -1
- package/dist/service/s3/command/get-bucket-notification-configuration/get-bucket-notification-configuration.command.d.ts.map +1 -1
- package/dist/service/s3/command/put-bucket-notification-configuration/put-bucket-notification-configuration.command.d.ts +10 -1
- package/dist/service/s3/command/put-bucket-notification-configuration/put-bucket-notification-configuration.command.d.ts.map +1 -1
- package/dist/service/s3/command/put-object/put-object-builder.d.ts +13 -4
- package/dist/service/s3/command/put-object/put-object-builder.d.ts.map +1 -1
- package/dist/service/s3/command/put-object/put-object-builder.js +27 -10
- package/dist/service/s3/command/put-object/put-object-builder.js.map +1 -1
- package/dist/service/s3/command/put-object/put-object.command.d.ts +11 -0
- package/dist/service/s3/command/put-object/put-object.command.d.ts.map +1 -1
- package/dist/service/s3/mount/sim-s3-mount.type.d.ts +12 -0
- package/dist/service/s3/mount/sim-s3-mount.type.d.ts.map +1 -1
- package/dist/service/s3/notification/destination/sim-s3-notification-destination.d.ts +1 -1
- package/dist/service/s3/notification/destination/sim-s3-notification-destination.d.ts.map +1 -1
- package/dist/service/s3/notification/destination/sim-s3-service-notification-destinations.d.ts +2 -0
- package/dist/service/s3/notification/destination/sim-s3-service-notification-destinations.d.ts.map +1 -1
- package/dist/service/s3/notification/destination/sim-s3-service-notification-destinations.js +5 -0
- package/dist/service/s3/notification/destination/sim-s3-service-notification-destinations.js.map +1 -1
- package/dist/service/s3/notification/destination/sns/sim-aws-s3-notification-topics.d.ts +38 -0
- package/dist/service/s3/notification/destination/sns/sim-aws-s3-notification-topics.d.ts.map +1 -0
- package/dist/service/s3/notification/destination/sns/sim-aws-s3-notification-topics.js +50 -0
- package/dist/service/s3/notification/destination/sns/sim-aws-s3-notification-topics.js.map +1 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic-arn.d.ts +31 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic-arn.d.ts.map +1 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic-arn.js +48 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic-arn.js.map +1 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic.d.ts +43 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic.d.ts.map +1 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic.js +71 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic.js.map +1 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topics.d.ts +22 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topics.d.ts.map +1 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topics.js +2 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topics.js.map +1 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-sns-notification-destination.d.ts +40 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-sns-notification-destination.d.ts.map +1 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-sns-notification-destination.js +51 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-sns-notification-destination.js.map +1 -0
- package/dist/service/s3/object/s3-object-response-headers.d.ts +17 -0
- package/dist/service/s3/object/s3-object-response-headers.d.ts.map +1 -0
- package/dist/service/s3/object/s3-object-response-headers.js +29 -0
- package/dist/service/s3/object/s3-object-response-headers.js.map +1 -0
- package/dist/service/s3/object/s3-system-metadata.d.ts +32 -0
- package/dist/service/s3/object/s3-system-metadata.d.ts.map +1 -0
- package/dist/service/s3/object/s3-system-metadata.js +35 -0
- package/dist/service/s3/object/s3-system-metadata.js.map +1 -0
- package/dist/service/s3/serve/sim-s3-rest-object-reader.d.ts.map +1 -1
- package/dist/service/s3/serve/sim-s3-rest-object-reader.js +2 -5
- package/dist/service/s3/serve/sim-s3-rest-object-reader.js.map +1 -1
- package/dist/service/s3/serve/website/sim-s3-website-object-loader.js +1 -1
- package/dist/service/s3/serve/website/sim-s3-website-object-loader.js.map +1 -1
- package/dist/service/s3/serve/website/sim-s3-website-object.d.ts +3 -4
- package/dist/service/s3/serve/website/sim-s3-website-object.d.ts.map +1 -1
- package/dist/service/s3/serve/website/sim-s3-website-object.js +6 -11
- package/dist/service/s3/serve/website/sim-s3-website-object.js.map +1 -1
- package/dist/service/s3/storage/filesystem/s3-filesystem-allowed.d.ts +36 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-allowed.d.ts.map +1 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-allowed.js +73 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-allowed.js.map +1 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-object-metadata.d.ts.map +1 -1
- package/dist/service/s3/storage/filesystem/s3-filesystem-object-metadata.js +5 -6
- package/dist/service/s3/storage/filesystem/s3-filesystem-object-metadata.js.map +1 -1
- package/dist/service/s3/storage/filesystem/s3-filesystem-safety.d.ts +2 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-safety.d.ts.map +1 -1
- package/dist/service/s3/storage/filesystem/s3-filesystem-safety.js +7 -41
- package/dist/service/s3/storage/filesystem/s3-filesystem-safety.js.map +1 -1
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.d.ts +1 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.d.ts.map +1 -1
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.js +1 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.js.map +1 -1
- package/dist/service/sns/cfn/sim-cfn-sns-attribute-value.d.ts +15 -0
- package/dist/service/sns/cfn/sim-cfn-sns-attribute-value.d.ts.map +1 -0
- package/dist/service/sns/cfn/sim-cfn-sns-attribute-value.js +23 -0
- package/dist/service/sns/cfn/sim-cfn-sns-attribute-value.js.map +1 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.d.ts +38 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.d.ts.map +1 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.js +73 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.js.map +1 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-error.d.ts +24 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-error.d.ts.map +1 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-error.js +39 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-error.js.map +1 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-types.d.ts +11 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-types.d.ts.map +1 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-types.js +11 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-types.js.map +1 -0
- package/dist/service/sns/cfn/sim-sns-cfn-resource-factory.d.ts +31 -0
- package/dist/service/sns/cfn/sim-sns-cfn-resource-factory.d.ts.map +1 -0
- package/dist/service/sns/cfn/sim-sns-cfn-resource-factory.js +54 -0
- package/dist/service/sns/cfn/sim-sns-cfn-resource-factory.js.map +1 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.d.ts +26 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.d.ts.map +1 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.js +37 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.js.map +1 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-properties.d.ts +47 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-properties.d.ts.map +1 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-properties.js +88 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-properties.js.map +1 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-property-names.d.ts +36 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-property-names.d.ts.map +1 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-property-names.js +55 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-property-names.js.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-inline-subscriptions.d.ts +23 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-inline-subscriptions.d.ts.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-inline-subscriptions.js +49 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-inline-subscriptions.js.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.d.ts +34 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.d.ts.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.js +60 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.js.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-name.d.ts +22 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-name.d.ts.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-name.js +27 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-name.js.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-properties.d.ts +58 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-properties.d.ts.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-properties.js +93 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-properties.js.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-property-names.d.ts +31 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-property-names.d.ts.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-property-names.js +52 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-property-names.js.map +1 -0
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.d.ts +34 -0
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.d.ts.map +1 -0
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.js +58 -0
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.js.map +1 -0
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-properties.d.ts +20 -0
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-properties.d.ts.map +1 -0
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-properties.js +44 -0
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-properties.js.map +1 -0
- package/dist/service/sns/command/authorize/sim-sns-authorizer.d.ts +58 -0
- package/dist/service/sns/command/authorize/sim-sns-authorizer.d.ts.map +1 -0
- package/dist/service/sns/command/authorize/sim-sns-authorizer.js +83 -0
- package/dist/service/sns/command/authorize/sim-sns-authorizer.js.map +1 -0
- package/dist/service/sns/command/authorize/sim-sns-condition-context.d.ts +13 -0
- package/dist/service/sns/command/authorize/sim-sns-condition-context.d.ts.map +1 -0
- package/dist/service/sns/command/authorize/sim-sns-condition-context.js +21 -0
- package/dist/service/sns/command/authorize/sim-sns-condition-context.js.map +1 -0
- package/dist/service/sns/command/authorize/sim-sns-service-publish-authorizer.d.ts +41 -0
- package/dist/service/sns/command/authorize/sim-sns-service-publish-authorizer.d.ts.map +1 -0
- package/dist/service/sns/command/authorize/sim-sns-service-publish-authorizer.js +40 -0
- package/dist/service/sns/command/authorize/sim-sns-service-publish-authorizer.js.map +1 -0
- package/dist/service/sns/command/authorize/sim-sns-topic-resource-policies.d.ts +12 -0
- package/dist/service/sns/command/authorize/sim-sns-topic-resource-policies.d.ts.map +1 -0
- package/dist/service/sns/command/authorize/sim-sns-topic-resource-policies.js +25 -0
- package/dist/service/sns/command/authorize/sim-sns-topic-resource-policies.js.map +1 -0
- package/dist/service/sns/command/publish/publish.command.d.ts +70 -0
- package/dist/service/sns/command/publish/publish.command.d.ts.map +1 -0
- package/dist/service/sns/command/publish/publish.command.js +2 -0
- package/dist/service/sns/command/publish/publish.command.js.map +1 -0
- package/dist/service/sns/command/publish/sim-sns-batch-entries.d.ts +52 -0
- package/dist/service/sns/command/publish/sim-sns-batch-entries.d.ts.map +1 -0
- package/dist/service/sns/command/publish/sim-sns-batch-entries.js +85 -0
- package/dist/service/sns/command/publish/sim-sns-batch-entries.js.map +1 -0
- package/dist/service/sns/command/publish/sim-sns-publish-commands.d.ts +53 -0
- package/dist/service/sns/command/publish/sim-sns-publish-commands.d.ts.map +1 -0
- package/dist/service/sns/command/publish/sim-sns-publish-commands.js +83 -0
- package/dist/service/sns/command/publish/sim-sns-publish-commands.js.map +1 -0
- package/dist/service/sns/command/publish/sim-sns-publish-input.d.ts +23 -0
- package/dist/service/sns/command/publish/sim-sns-publish-input.d.ts.map +1 -0
- package/dist/service/sns/command/publish/sim-sns-publish-input.js +47 -0
- package/dist/service/sns/command/publish/sim-sns-publish-input.js.map +1 -0
- package/dist/service/sns/command/sim-sns-command.types.d.ts +7 -0
- package/dist/service/sns/command/sim-sns-command.types.d.ts.map +1 -0
- package/dist/service/sns/command/sim-sns-command.types.js +2 -0
- package/dist/service/sns/command/sim-sns-command.types.js.map +1 -0
- package/dist/service/sns/command/sim-sns-commands.d.ts +45 -0
- package/dist/service/sns/command/sim-sns-commands.d.ts.map +1 -0
- package/dist/service/sns/command/sim-sns-commands.js +83 -0
- package/dist/service/sns/command/sim-sns-commands.js.map +1 -0
- package/dist/service/sns/command/sim-sns-page.d.ts +19 -0
- package/dist/service/sns/command/sim-sns-page.d.ts.map +1 -0
- package/dist/service/sns/command/sim-sns-page.js +51 -0
- package/dist/service/sns/command/sim-sns-page.js.map +1 -0
- package/dist/service/sns/command/sim-sns-request-options.d.ts +47 -0
- package/dist/service/sns/command/sim-sns-request-options.d.ts.map +1 -0
- package/dist/service/sns/command/sim-sns-request-options.js +19 -0
- package/dist/service/sns/command/sim-sns-request-options.js.map +1 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-access.d.ts +42 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-access.d.ts.map +1 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-access.js +57 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-access.js.map +1 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-attribute-commands.d.ts +31 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-attribute-commands.d.ts.map +1 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-attribute-commands.js +44 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-attribute-commands.js.map +1 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-commands.d.ts +50 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-commands.d.ts.map +1 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-commands.js +73 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-commands.js.map +1 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-listings.d.ts +34 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-listings.d.ts.map +1 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-listings.js +57 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-listings.js.map +1 -0
- package/dist/service/sns/command/subscription/subscription.command.d.ts +118 -0
- package/dist/service/sns/command/subscription/subscription.command.d.ts.map +1 -0
- package/dist/service/sns/command/subscription/subscription.command.js +2 -0
- package/dist/service/sns/command/subscription/subscription.command.js.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-create-topic.d.ts +41 -0
- package/dist/service/sns/command/topic/sim-sns-create-topic.d.ts.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-create-topic.js +54 -0
- package/dist/service/sns/command/topic/sim-sns-create-topic.js.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-request-topic-name.d.ts +11 -0
- package/dist/service/sns/command/topic/sim-sns-request-topic-name.d.ts.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-request-topic-name.js +28 -0
- package/dist/service/sns/command/topic/sim-sns-request-topic-name.js.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-topic-access.d.ts +76 -0
- package/dist/service/sns/command/topic/sim-sns-topic-access.d.ts.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-topic-access.js +81 -0
- package/dist/service/sns/command/topic/sim-sns-topic-access.js.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-topic-attribute-commands.d.ts +36 -0
- package/dist/service/sns/command/topic/sim-sns-topic-attribute-commands.d.ts.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-topic-attribute-commands.js +47 -0
- package/dist/service/sns/command/topic/sim-sns-topic-attribute-commands.js.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-topic-commands.d.ts +42 -0
- package/dist/service/sns/command/topic/sim-sns-topic-commands.d.ts.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-topic-commands.js +51 -0
- package/dist/service/sns/command/topic/sim-sns-topic-commands.js.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-unsimulated-topic-input.d.ts +11 -0
- package/dist/service/sns/command/topic/sim-sns-unsimulated-topic-input.d.ts.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-unsimulated-topic-input.js +20 -0
- package/dist/service/sns/command/topic/sim-sns-unsimulated-topic-input.js.map +1 -0
- package/dist/service/sns/command/topic/topic.command.d.ts +95 -0
- package/dist/service/sns/command/topic/topic.command.d.ts.map +1 -0
- package/dist/service/sns/command/topic/topic.command.js +2 -0
- package/dist/service/sns/command/topic/topic.command.js.map +1 -0
- package/dist/service/sns/delivery/lambda/sim-aws-sns-delivery-functions.d.ts +27 -0
- package/dist/service/sns/delivery/lambda/sim-aws-sns-delivery-functions.d.ts.map +1 -0
- package/dist/service/sns/delivery/lambda/sim-aws-sns-delivery-functions.js +31 -0
- package/dist/service/sns/delivery/lambda/sim-aws-sns-delivery-functions.js.map +1 -0
- package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.d.ts +31 -0
- package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.d.ts.map +1 -0
- package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.js +62 -0
- package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.js.map +1 -0
- package/dist/service/sns/delivery/lambda/sim-sns-lambda-event.d.ts +10 -0
- package/dist/service/sns/delivery/lambda/sim-sns-lambda-event.d.ts.map +1 -0
- package/dist/service/sns/delivery/lambda/sim-sns-lambda-event.js +53 -0
- package/dist/service/sns/delivery/lambda/sim-sns-lambda-event.js.map +1 -0
- package/dist/service/sns/delivery/sim-aws-sns-delivery-endpoints.d.ts +17 -0
- package/dist/service/sns/delivery/sim-aws-sns-delivery-endpoints.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-aws-sns-delivery-endpoints.js +21 -0
- package/dist/service/sns/delivery/sim-aws-sns-delivery-endpoints.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-canonical-message.d.ts +32 -0
- package/dist/service/sns/delivery/sim-sns-canonical-message.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-canonical-message.js +24 -0
- package/dist/service/sns/delivery/sim-sns-canonical-message.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-delivery-failures.d.ts +60 -0
- package/dist/service/sns/delivery/sim-sns-delivery-failures.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-delivery-failures.js +84 -0
- package/dist/service/sns/delivery/sim-sns-delivery-failures.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-delivery-request.d.ts +28 -0
- package/dist/service/sns/delivery/sim-sns-delivery-request.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-delivery-request.js +34 -0
- package/dist/service/sns/delivery/sim-sns-delivery-request.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-delivery.d.ts +55 -0
- package/dist/service/sns/delivery/sim-sns-delivery.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-delivery.js +18 -0
- package/dist/service/sns/delivery/sim-sns-delivery.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-envelope.d.ts +26 -0
- package/dist/service/sns/delivery/sim-sns-envelope.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-envelope.js +41 -0
- package/dist/service/sns/delivery/sim-sns-envelope.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-fan-out.d.ts +53 -0
- package/dist/service/sns/delivery/sim-sns-fan-out.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-fan-out.js +69 -0
- package/dist/service/sns/delivery/sim-sns-fan-out.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-no-delivery-endpoints.d.ts +17 -0
- package/dist/service/sns/delivery/sim-sns-no-delivery-endpoints.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-no-delivery-endpoints.js +23 -0
- package/dist/service/sns/delivery/sim-sns-no-delivery-endpoints.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-notification.d.ts +57 -0
- package/dist/service/sns/delivery/sim-sns-notification.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-notification.js +64 -0
- package/dist/service/sns/delivery/sim-sns-notification.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-protocol-delivery-endpoints.d.ts +32 -0
- package/dist/service/sns/delivery/sim-sns-protocol-delivery-endpoints.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-protocol-delivery-endpoints.js +22 -0
- package/dist/service/sns/delivery/sim-sns-protocol-delivery-endpoints.js.map +1 -0
- package/dist/service/sns/delivery/sqs/sim-aws-sns-delivery-queues.d.ts +29 -0
- package/dist/service/sns/delivery/sqs/sim-aws-sns-delivery-queues.d.ts.map +1 -0
- package/dist/service/sns/delivery/sqs/sim-aws-sns-delivery-queues.js +33 -0
- package/dist/service/sns/delivery/sqs/sim-aws-sns-delivery-queues.js.map +1 -0
- package/dist/service/sns/delivery/sqs/sim-sns-delivery-queue.d.ts +31 -0
- package/dist/service/sns/delivery/sqs/sim-sns-delivery-queue.d.ts.map +1 -0
- package/dist/service/sns/delivery/sqs/sim-sns-delivery-queue.js +63 -0
- package/dist/service/sns/delivery/sqs/sim-sns-delivery-queue.js.map +1 -0
- package/dist/service/sns/delivery/sqs/sim-sns-queue-message.d.ts +24 -0
- package/dist/service/sns/delivery/sqs/sim-sns-queue-message.d.ts.map +1 -0
- package/dist/service/sns/delivery/sqs/sim-sns-queue-message.js +38 -0
- package/dist/service/sns/delivery/sqs/sim-sns-queue-message.js.map +1 -0
- package/dist/service/sns/error/sim-sns-delivery.error.d.ts +13 -0
- package/dist/service/sns/error/sim-sns-delivery.error.d.ts.map +1 -0
- package/dist/service/sns/error/sim-sns-delivery.error.js +13 -0
- package/dist/service/sns/error/sim-sns-delivery.error.js.map +1 -0
- package/dist/service/sns/error/sim-sns.error.d.ts +107 -0
- package/dist/service/sns/error/sim-sns.error.d.ts.map +1 -0
- package/dist/service/sns/error/sim-sns.error.js +124 -0
- package/dist/service/sns/error/sim-sns.error.js.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-anything-but-match.d.ts +30 -0
- package/dist/service/sns/filter/match/sim-sns-anything-but-match.d.ts.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-anything-but-match.js +82 -0
- package/dist/service/sns/filter/match/sim-sns-anything-but-match.js.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-equals-ignore-case-match.d.ts +24 -0
- package/dist/service/sns/filter/match/sim-sns-equals-ignore-case-match.d.ts.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-equals-ignore-case-match.js +30 -0
- package/dist/service/sns/filter/match/sim-sns-equals-ignore-case-match.js.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-exact-match.d.ts +22 -0
- package/dist/service/sns/filter/match/sim-sns-exact-match.d.ts.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-exact-match.js +49 -0
- package/dist/service/sns/filter/match/sim-sns-exact-match.js.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-exists-match.d.ts +27 -0
- package/dist/service/sns/filter/match/sim-sns-exists-match.d.ts.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-exists-match.js +38 -0
- package/dist/service/sns/filter/match/sim-sns-exists-match.js.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-filter-match.d.ts +24 -0
- package/dist/service/sns/filter/match/sim-sns-filter-match.d.ts.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-filter-match.js +19 -0
- package/dist/service/sns/filter/match/sim-sns-filter-match.js.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-numeric-match.d.ts +48 -0
- package/dist/service/sns/filter/match/sim-sns-numeric-match.d.ts.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-numeric-match.js +107 -0
- package/dist/service/sns/filter/match/sim-sns-numeric-match.js.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-prefix-match.d.ts +26 -0
- package/dist/service/sns/filter/match/sim-sns-prefix-match.d.ts.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-prefix-match.js +32 -0
- package/dist/service/sns/filter/match/sim-sns-prefix-match.js.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-suffix-match.d.ts +23 -0
- package/dist/service/sns/filter/match/sim-sns-suffix-match.d.ts.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-suffix-match.js +29 -0
- package/dist/service/sns/filter/match/sim-sns-suffix-match.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-attribute-subject.d.ts +31 -0
- package/dist/service/sns/filter/sim-sns-attribute-subject.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-attribute-subject.js +85 -0
- package/dist/service/sns/filter/sim-sns-attribute-subject.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-body-subject.d.ts +30 -0
- package/dist/service/sns/filter/sim-sns-body-subject.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-body-subject.js +67 -0
- package/dist/service/sns/filter/sim-sns-body-subject.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-any-rule.d.ts +21 -0
- package/dist/service/sns/filter/sim-sns-filter-any-rule.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-any-rule.js +23 -0
- package/dist/service/sns/filter/sim-sns-filter-any-rule.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-key-rule.d.ts +28 -0
- package/dist/service/sns/filter/sim-sns-filter-key-rule.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-key-rule.js +48 -0
- package/dist/service/sns/filter/sim-sns-filter-key-rule.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-matches.d.ts +9 -0
- package/dist/service/sns/filter/sim-sns-filter-matches.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-matches.js +40 -0
- package/dist/service/sns/filter/sim-sns-filter-matches.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-operators.d.ts +22 -0
- package/dist/service/sns/filter/sim-sns-filter-operators.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-operators.js +50 -0
- package/dist/service/sns/filter/sim-sns-filter-operators.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-or-eligibility.d.ts +17 -0
- package/dist/service/sns/filter/sim-sns-filter-or-eligibility.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-or-eligibility.js +47 -0
- package/dist/service/sns/filter/sim-sns-filter-or-eligibility.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-policy-scope.d.ts +36 -0
- package/dist/service/sns/filter/sim-sns-filter-policy-scope.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-policy-scope.js +67 -0
- package/dist/service/sns/filter/sim-sns-filter-policy-scope.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-policy.d.ts +48 -0
- package/dist/service/sns/filter/sim-sns-filter-policy.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-policy.js +84 -0
- package/dist/service/sns/filter/sim-sns-filter-policy.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-refusals.d.ts +38 -0
- package/dist/service/sns/filter/sim-sns-filter-refusals.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-refusals.js +53 -0
- package/dist/service/sns/filter/sim-sns-filter-refusals.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-rule.d.ts +15 -0
- package/dist/service/sns/filter/sim-sns-filter-rule.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-rule.js +2 -0
- package/dist/service/sns/filter/sim-sns-filter-rule.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-rules.d.ts +27 -0
- package/dist/service/sns/filter/sim-sns-filter-rules.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-rules.js +66 -0
- package/dist/service/sns/filter/sim-sns-filter-rules.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-subject.d.ts +31 -0
- package/dist/service/sns/filter/sim-sns-filter-subject.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-subject.js +2 -0
- package/dist/service/sns/filter/sim-sns-filter-subject.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-value.d.ts +45 -0
- package/dist/service/sns/filter/sim-sns-filter-value.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-value.js +83 -0
- package/dist/service/sns/filter/sim-sns-filter-value.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-json-filter-values.d.ts +12 -0
- package/dist/service/sns/filter/sim-sns-json-filter-values.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-json-filter-values.js +25 -0
- package/dist/service/sns/filter/sim-sns-json-filter-values.js.map +1 -0
- package/dist/service/sns/index.d.ts +33 -0
- package/dist/service/sns/index.d.ts.map +1 -0
- package/dist/service/sns/index.js +29 -0
- package/dist/service/sns/index.js.map +1 -0
- package/dist/service/sns/message/sim-sns-message-attribute-rules.d.ts +23 -0
- package/dist/service/sns/message/sim-sns-message-attribute-rules.d.ts.map +1 -0
- package/dist/service/sns/message/sim-sns-message-attribute-rules.js +74 -0
- package/dist/service/sns/message/sim-sns-message-attribute-rules.js.map +1 -0
- package/dist/service/sns/message/sim-sns-message-attribute-value.d.ts +15 -0
- package/dist/service/sns/message/sim-sns-message-attribute-value.d.ts.map +1 -0
- package/dist/service/sns/message/sim-sns-message-attribute-value.js +2 -0
- package/dist/service/sns/message/sim-sns-message-attribute-value.js.map +1 -0
- package/dist/service/sns/message/sim-sns-message-attribute.d.ts +55 -0
- package/dist/service/sns/message/sim-sns-message-attribute.d.ts.map +1 -0
- package/dist/service/sns/message/sim-sns-message-attribute.js +78 -0
- package/dist/service/sns/message/sim-sns-message-attribute.js.map +1 -0
- package/dist/service/sns/message/sim-sns-message-attributes.d.ts +71 -0
- package/dist/service/sns/message/sim-sns-message-attributes.d.ts.map +1 -0
- package/dist/service/sns/message/sim-sns-message-attributes.js +80 -0
- package/dist/service/sns/message/sim-sns-message-attributes.js.map +1 -0
- package/dist/service/sns/message/sim-sns-message-body.d.ts +17 -0
- package/dist/service/sns/message/sim-sns-message-body.d.ts.map +1 -0
- package/dist/service/sns/message/sim-sns-message-body.js +26 -0
- package/dist/service/sns/message/sim-sns-message-body.js.map +1 -0
- package/dist/service/sns/message/sim-sns-message-subject.d.ts +27 -0
- package/dist/service/sns/message/sim-sns-message-subject.d.ts.map +1 -0
- package/dist/service/sns/message/sim-sns-message-subject.js +74 -0
- package/dist/service/sns/message/sim-sns-message-subject.js.map +1 -0
- package/dist/service/sns/message/sim-sns-published-message.d.ts +55 -0
- package/dist/service/sns/message/sim-sns-published-message.d.ts.map +1 -0
- package/dist/service/sns/message/sim-sns-published-message.js +69 -0
- package/dist/service/sns/message/sim-sns-published-message.js.map +1 -0
- package/dist/service/sns/sdk/sim-sns-sdk-command-router.d.ts +18 -0
- package/dist/service/sns/sdk/sim-sns-sdk-command-router.d.ts.map +1 -0
- package/dist/service/sns/sdk/sim-sns-sdk-command-router.js +76 -0
- package/dist/service/sns/sdk/sim-sns-sdk-command-router.js.map +1 -0
- package/dist/service/sns/signature/sim-sns-certificate.d.ts +30 -0
- package/dist/service/sns/signature/sim-sns-certificate.d.ts.map +1 -0
- package/dist/service/sns/signature/sim-sns-certificate.js +110 -0
- package/dist/service/sns/signature/sim-sns-certificate.js.map +1 -0
- package/dist/service/sns/signature/sim-sns-der.d.ts +40 -0
- package/dist/service/sns/signature/sim-sns-der.d.ts.map +1 -0
- package/dist/service/sns/signature/sim-sns-der.js +64 -0
- package/dist/service/sns/signature/sim-sns-der.js.map +1 -0
- package/dist/service/sns/signature/sim-sns-host.d.ts +28 -0
- package/dist/service/sns/signature/sim-sns-host.d.ts.map +1 -0
- package/dist/service/sns/signature/sim-sns-host.js +33 -0
- package/dist/service/sns/signature/sim-sns-host.js.map +1 -0
- package/dist/service/sns/signature/sim-sns-message-signer.d.ts +51 -0
- package/dist/service/sns/signature/sim-sns-message-signer.d.ts.map +1 -0
- package/dist/service/sns/signature/sim-sns-message-signer.js +60 -0
- package/dist/service/sns/signature/sim-sns-message-signer.js.map +1 -0
- package/dist/service/sns/signature/sim-sns-signing-key.d.ts +34 -0
- package/dist/service/sns/signature/sim-sns-signing-key.d.ts.map +1 -0
- package/dist/service/sns/signature/sim-sns-signing-key.js +69 -0
- package/dist/service/sns/signature/sim-sns-signing-key.js.map +1 -0
- package/dist/service/sns/sim-sns.d.ts +139 -0
- package/dist/service/sns/sim-sns.d.ts.map +1 -0
- package/dist/service/sns/sim-sns.js +188 -0
- package/dist/service/sns/sim-sns.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-function-endpoint-arn.d.ts +31 -0
- package/dist/service/sns/subscription/sim-sns-function-endpoint-arn.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-function-endpoint-arn.js +54 -0
- package/dist/service/sns/subscription/sim-sns-function-endpoint-arn.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-queue-endpoint-arn.d.ts +30 -0
- package/dist/service/sns/subscription/sim-sns-queue-endpoint-arn.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-queue-endpoint-arn.js +78 -0
- package/dist/service/sns/subscription/sim-sns-queue-endpoint-arn.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-requested-subscription-attributes.d.ts +28 -0
- package/dist/service/sns/subscription/sim-sns-requested-subscription-attributes.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-requested-subscription-attributes.js +43 -0
- package/dist/service/sns/subscription/sim-sns-requested-subscription-attributes.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-arn.d.ts +43 -0
- package/dist/service/sns/subscription/sim-sns-subscription-arn.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-arn.js +70 -0
- package/dist/service/sns/subscription/sim-sns-subscription-arn.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attribute-changes.d.ts +20 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attribute-changes.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attribute-changes.js +52 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attribute-changes.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attribute-names.d.ts +26 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attribute-names.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attribute-names.js +64 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attribute-names.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attributes.d.ts +47 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attributes.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attributes.js +67 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attributes.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-endpoint.d.ts +26 -0
- package/dist/service/sns/subscription/sim-sns-subscription-endpoint.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-endpoint.js +21 -0
- package/dist/service/sns/subscription/sim-sns-subscription-endpoint.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-protocol.d.ts +33 -0
- package/dist/service/sns/subscription/sim-sns-subscription-protocol.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-protocol.js +63 -0
- package/dist/service/sns/subscription/sim-sns-subscription-protocol.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-store.d.ts +71 -0
- package/dist/service/sns/subscription/sim-sns-subscription-store.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-store.js +88 -0
- package/dist/service/sns/subscription/sim-sns-subscription-store.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription.d.ts +72 -0
- package/dist/service/sns/subscription/sim-sns-subscription.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription.js +116 -0
- package/dist/service/sns/subscription/sim-sns-subscription.js.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-arn.d.ts +52 -0
- package/dist/service/sns/topic/sim-sns-topic-arn.d.ts.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-arn.js +71 -0
- package/dist/service/sns/topic/sim-sns-topic-arn.js.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-attribute-names.d.ts +19 -0
- package/dist/service/sns/topic/sim-sns-topic-attribute-names.d.ts.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-attribute-names.js +79 -0
- package/dist/service/sns/topic/sim-sns-topic-attribute-names.js.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-attributes.d.ts +56 -0
- package/dist/service/sns/topic/sim-sns-topic-attributes.d.ts.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-attributes.js +85 -0
- package/dist/service/sns/topic/sim-sns-topic-attributes.js.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-name.d.ts +21 -0
- package/dist/service/sns/topic/sim-sns-topic-name.d.ts.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-name.js +48 -0
- package/dist/service/sns/topic/sim-sns-topic-name.js.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-policy.d.ts +23 -0
- package/dist/service/sns/topic/sim-sns-topic-policy.d.ts.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-policy.js +59 -0
- package/dist/service/sns/topic/sim-sns-topic-policy.js.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-store.d.ts +35 -0
- package/dist/service/sns/topic/sim-sns-topic-store.d.ts.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-store.js +50 -0
- package/dist/service/sns/topic/sim-sns-topic-store.js.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic.d.ts +48 -0
- package/dist/service/sns/topic/sim-sns-topic.d.ts.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic.js +80 -0
- package/dist/service/sns/topic/sim-sns-topic.js.map +1 -0
- package/dist/service/sqs/command/authorize/sim-sqs-authorizer.d.ts +3 -6
- package/dist/service/sqs/command/authorize/sim-sqs-authorizer.d.ts.map +1 -1
- package/dist/service/sqs/command/authorize/sim-sqs-authorizer.js +13 -7
- package/dist/service/sqs/command/authorize/sim-sqs-authorizer.js.map +1 -1
- package/dist/service/sqs/index.d.ts +1 -1
- package/dist/service/sqs/index.d.ts.map +1 -1
- package/dist/service/sqs/index.js +1 -1
- package/dist/service/sqs/index.js.map +1 -1
- package/dist/service/sqs/queue/sim-sqs-queue-arn.d.ts +0 -7
- package/dist/service/sqs/queue/sim-sqs-queue-arn.d.ts.map +1 -1
- package/dist/service/sqs/queue/sim-sqs-queue-arn.js +0 -9
- package/dist/service/sqs/queue/sim-sqs-queue-arn.js.map +1 -1
- package/dist/service/sqs/sim-sqs.js +1 -1
- package/dist/service/sqs/sim-sqs.js.map +1 -1
- package/package.json +7 -1
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { jsonStringify } from "../../../util/type-guard/json.js";
|
|
2
|
+
/**
|
|
3
|
+
* The document a subscription receives when it is not asking for raw delivery.
|
|
4
|
+
*
|
|
5
|
+
* Real SNS wraps the published message in this, which is why a consumer written
|
|
6
|
+
* for it reads `JSON.parse(body).Message` rather than `body`. Everything real
|
|
7
|
+
* SNS puts in it is here, including a signature a verifier can actually check.
|
|
8
|
+
*
|
|
9
|
+
* The two URLs are spelled in upper case, which is how real SNS spells them in
|
|
10
|
+
* an envelope. A Lambda event spells the same two fields `SigningCertUrl` and
|
|
11
|
+
* `UnsubscribeUrl`.
|
|
12
|
+
*/
|
|
13
|
+
export class SimSnsEnvelope {
|
|
14
|
+
notification;
|
|
15
|
+
constructor(properties) {
|
|
16
|
+
this.notification = properties.notification;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* The envelope as the JSON body a queue receives.
|
|
20
|
+
*/
|
|
21
|
+
get body() {
|
|
22
|
+
return jsonStringify(this.document());
|
|
23
|
+
}
|
|
24
|
+
document() {
|
|
25
|
+
const fields = this.notification.fields();
|
|
26
|
+
return {
|
|
27
|
+
Type: fields.type,
|
|
28
|
+
MessageId: fields.messageId,
|
|
29
|
+
TopicArn: fields.topicArn,
|
|
30
|
+
...(fields.subject !== undefined && { Subject: fields.subject }),
|
|
31
|
+
Message: fields.message,
|
|
32
|
+
Timestamp: fields.timestamp,
|
|
33
|
+
...fields.signature,
|
|
34
|
+
UnsubscribeURL: fields.unsubscribeUrl,
|
|
35
|
+
...(fields.hasMessageAttributes && {
|
|
36
|
+
MessageAttributes: fields.messageAttributes,
|
|
37
|
+
}),
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=sim-sns-envelope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-envelope.js","sourceRoot":"","sources":["../../../../src/service/sns/delivery/sim-sns-envelope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAOjE;;;;;;;;;;GAUG;AACH,MAAM,OAAO,cAAc;IACR,YAAY,CAAqB;IAElD,YAAY,UAAoC;QAC9C,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxC,CAAC;IAEO,QAAQ;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;QAE1C,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YAChE,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,GAAG,MAAM,CAAC,SAAS;YACnB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,GAAG,CAAC,MAAM,CAAC,oBAAoB,IAAI;gBACjC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;aAC5C,CAAC;SACH,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { BackgroundScheduler } from "../../../util/background/background.js";
|
|
2
|
+
import type { SimSnsPublishedMessage } from "../message/sim-sns-published-message.js";
|
|
3
|
+
import type { SimSnsSubscriptionStore } from "../subscription/sim-sns-subscription-store.js";
|
|
4
|
+
import type { SimSnsTopic } from "../topic/sim-sns-topic.js";
|
|
5
|
+
import type { SimSnsDeliveryEndpoints } from "./sim-sns-delivery.js";
|
|
6
|
+
import type { SimSnsDeliveryRequests } from "./sim-sns-delivery-request.js";
|
|
7
|
+
import type { SimSnsDeliveryFailure } from "./sim-sns-delivery-failures.js";
|
|
8
|
+
interface SimSnsFanOutProperties {
|
|
9
|
+
readonly subscriptions: SimSnsSubscriptionStore;
|
|
10
|
+
readonly endpoints: SimSnsDeliveryEndpoints;
|
|
11
|
+
readonly requests: SimSnsDeliveryRequests;
|
|
12
|
+
readonly background: BackgroundScheduler;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Hands a published message to every subscription of its topic.
|
|
16
|
+
*
|
|
17
|
+
* Delivery happens on the background scheduler, as real SNS delivers after the
|
|
18
|
+
* publish has been answered: a publish gets a message id whether or not
|
|
19
|
+
* anything downstream takes the message.
|
|
20
|
+
* `simAws.backgroundTasksComplete()` is what waits for it.
|
|
21
|
+
*/
|
|
22
|
+
export declare class SimSnsFanOut {
|
|
23
|
+
private readonly subscriptions;
|
|
24
|
+
private readonly endpoints;
|
|
25
|
+
private readonly requests;
|
|
26
|
+
private readonly background;
|
|
27
|
+
private readonly failures;
|
|
28
|
+
constructor(properties: SimSnsFanOutProperties);
|
|
29
|
+
/**
|
|
30
|
+
* Every message this scope could not deliver.
|
|
31
|
+
*/
|
|
32
|
+
get deliveryFailures(): readonly SimSnsDeliveryFailure[];
|
|
33
|
+
/**
|
|
34
|
+
* Schedule one message for every subscription of a topic that wants it.
|
|
35
|
+
*
|
|
36
|
+
* Each subscription gets its own copy, which is what a topic is for: two
|
|
37
|
+
* queues subscribed to one topic both receive what was published once. A
|
|
38
|
+
* subscription whose filter policy does not match the message is left out,
|
|
39
|
+
* and asking each one separately is what keeps one subscriber's policy from
|
|
40
|
+
* having anything to do with what another receives.
|
|
41
|
+
*/
|
|
42
|
+
publish(topic: SimSnsTopic, message: SimSnsPublishedMessage): void;
|
|
43
|
+
/**
|
|
44
|
+
* Deliver one message to one subscription, keeping whatever went wrong.
|
|
45
|
+
*
|
|
46
|
+
* A failure is recorded rather than thrown, because a background task left
|
|
47
|
+
* rejected would fail an unrelated `backgroundTasksComplete()`, and real SNS
|
|
48
|
+
* never reports a delivery failure to the caller who published.
|
|
49
|
+
*/
|
|
50
|
+
private deliver;
|
|
51
|
+
}
|
|
52
|
+
export {};
|
|
53
|
+
//# sourceMappingURL=sim-sns-fan-out.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-fan-out.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/delivery/sim-sns-fan-out.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEtF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AAC7F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAG5E,UAAU,sBAAsB;IAC9B,QAAQ,CAAC,aAAa,EAAE,uBAAuB,CAAC;IAChD,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;CAC1C;AAED;;;;;;;GAOG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0B;IACxD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IACpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAClD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgC;IAEzD,YAAY,UAAU,EAAE,sBAAsB,EAK7C;IAED;;OAEG;IACH,IAAI,gBAAgB,IAAI,SAAS,qBAAqB,EAAE,CAEvD;IAED;;;;;;;;OAQG;IACH,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,sBAAsB,GAAG,IAAI,CAUjE;IAED;;;;;;OAMG;YACW,OAAO;CAiBtB"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { SimSnsDeliveryFailures } from "./sim-sns-delivery-failures.js";
|
|
2
|
+
/**
|
|
3
|
+
* Hands a published message to every subscription of its topic.
|
|
4
|
+
*
|
|
5
|
+
* Delivery happens on the background scheduler, as real SNS delivers after the
|
|
6
|
+
* publish has been answered: a publish gets a message id whether or not
|
|
7
|
+
* anything downstream takes the message.
|
|
8
|
+
* `simAws.backgroundTasksComplete()` is what waits for it.
|
|
9
|
+
*/
|
|
10
|
+
export class SimSnsFanOut {
|
|
11
|
+
subscriptions;
|
|
12
|
+
endpoints;
|
|
13
|
+
requests;
|
|
14
|
+
background;
|
|
15
|
+
failures = new SimSnsDeliveryFailures();
|
|
16
|
+
constructor(properties) {
|
|
17
|
+
this.subscriptions = properties.subscriptions;
|
|
18
|
+
this.endpoints = properties.endpoints;
|
|
19
|
+
this.requests = properties.requests;
|
|
20
|
+
this.background = properties.background;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Every message this scope could not deliver.
|
|
24
|
+
*/
|
|
25
|
+
get deliveryFailures() {
|
|
26
|
+
return this.failures.all;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Schedule one message for every subscription of a topic that wants it.
|
|
30
|
+
*
|
|
31
|
+
* Each subscription gets its own copy, which is what a topic is for: two
|
|
32
|
+
* queues subscribed to one topic both receive what was published once. A
|
|
33
|
+
* subscription whose filter policy does not match the message is left out,
|
|
34
|
+
* and asking each one separately is what keeps one subscriber's policy from
|
|
35
|
+
* having anything to do with what another receives.
|
|
36
|
+
*/
|
|
37
|
+
publish(topic, message) {
|
|
38
|
+
const subscribed = this.subscriptions
|
|
39
|
+
.forTopic(topic.name.value)
|
|
40
|
+
.filter((subscription) => subscription.accepts(message));
|
|
41
|
+
for (const subscription of subscribed) {
|
|
42
|
+
this.background.schedule(async () => {
|
|
43
|
+
await this.deliver(topic, subscription, message);
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Deliver one message to one subscription, keeping whatever went wrong.
|
|
49
|
+
*
|
|
50
|
+
* A failure is recorded rather than thrown, because a background task left
|
|
51
|
+
* rejected would fail an unrelated `backgroundTasksComplete()`, and real SNS
|
|
52
|
+
* never reports a delivery failure to the caller who published.
|
|
53
|
+
*/
|
|
54
|
+
async deliver(topic, subscription, message) {
|
|
55
|
+
try {
|
|
56
|
+
await this.endpoints.deliver(this.requests.for(subscription, message));
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
this.failures.record({
|
|
60
|
+
topicArn: topic.arn.value,
|
|
61
|
+
subscriptionArn: subscription.arn.value,
|
|
62
|
+
endpointArn: subscription.endpoint.value,
|
|
63
|
+
messageId: message.messageId,
|
|
64
|
+
error,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=sim-sns-fan-out.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-fan-out.js","sourceRoot":"","sources":["../../../../src/service/sns/delivery/sim-sns-fan-out.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AASxE;;;;;;;GAOG;AACH,MAAM,OAAO,YAAY;IACN,aAAa,CAA0B;IACvC,SAAS,CAA0B;IACnC,QAAQ,CAAyB;IACjC,UAAU,CAAsB;IAChC,QAAQ,GAAG,IAAI,sBAAsB,EAAE,CAAC;IAEzD,YAAY,UAAkC;QAC5C,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;IAC3B,CAAC;IAED;;;;;;;;OAQG;IACH,OAAO,CAAC,KAAkB,EAAE,OAA+B;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa;aAClC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;aAC1B,MAAM,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAE3D,KAAK,MAAM,YAAY,IAAI,UAAU,EAAE,CAAC;YACtC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;gBAClC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,OAAO,CACnB,KAAkB,EAClB,YAAgC,EAChC,OAA+B;QAE/B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACnB,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK;gBACzB,eAAe,EAAE,YAAY,CAAC,GAAG,CAAC,KAAK;gBACvC,WAAW,EAAE,YAAY,CAAC,QAAQ,CAAC,KAAK;gBACxC,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,KAAK;aACN,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { SimSnsDeliveryEndpoints, SimSnsDeliveryRequest } from "./sim-sns-delivery.js";
|
|
2
|
+
/**
|
|
3
|
+
* The endpoints a simulated SNS built on its own can reach, which is none.
|
|
4
|
+
*
|
|
5
|
+
* A standalone SimSns has no other simulated services to reach, and owns its
|
|
6
|
+
* own background scheduler, so nothing could wait for a delivery it made even
|
|
7
|
+
* if it could make one. Subscriptions still work, since holding them takes
|
|
8
|
+
* nothing but SNS: it is delivery that is refused, and the refusal is recorded
|
|
9
|
+
* as a delivery failure like any other.
|
|
10
|
+
*/
|
|
11
|
+
export declare class SimSnsNoDeliveryEndpoints implements SimSnsDeliveryEndpoints {
|
|
12
|
+
/**
|
|
13
|
+
* Refuse every delivery, explaining how to get one.
|
|
14
|
+
*/
|
|
15
|
+
deliver(request: SimSnsDeliveryRequest): never;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=sim-sns-no-delivery-endpoints.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-no-delivery-endpoints.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/delivery/sim-sns-no-delivery-endpoints.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;AAE/B;;;;;;;;GAQG;AACH,qBAAa,yBAA0B,YAAW,uBAAuB;IACvE;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,KAAK,CAQ7C;CACF"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { SimSnsUnsimulatedInputException } from "../error/sim-sns.error.js";
|
|
2
|
+
/**
|
|
3
|
+
* The endpoints a simulated SNS built on its own can reach, which is none.
|
|
4
|
+
*
|
|
5
|
+
* A standalone SimSns has no other simulated services to reach, and owns its
|
|
6
|
+
* own background scheduler, so nothing could wait for a delivery it made even
|
|
7
|
+
* if it could make one. Subscriptions still work, since holding them takes
|
|
8
|
+
* nothing but SNS: it is delivery that is refused, and the refusal is recorded
|
|
9
|
+
* as a delivery failure like any other.
|
|
10
|
+
*/
|
|
11
|
+
export class SimSnsNoDeliveryEndpoints {
|
|
12
|
+
/**
|
|
13
|
+
* Refuse every delivery, explaining how to get one.
|
|
14
|
+
*/
|
|
15
|
+
deliver(request) {
|
|
16
|
+
throw new SimSnsUnsimulatedInputException(`Cannot deliver to ${request.subscription.endpoint.value}: this SimSns ` +
|
|
17
|
+
"was constructed on its own, so it has no other simulated services to " +
|
|
18
|
+
"deliver to and no shared background scheduler to deliver on. Reach " +
|
|
19
|
+
"simulated SNS through SimAws to deliver a published message to a " +
|
|
20
|
+
"queue or a function.");
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=sim-sns-no-delivery-endpoints.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-no-delivery-endpoints.js","sourceRoot":"","sources":["../../../../src/service/sns/delivery/sim-sns-no-delivery-endpoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAM5E;;;;;;;;GAQG;AACH,MAAM,OAAO,yBAAyB;IACpC;;OAEG;IACH,OAAO,CAAC,OAA8B;QACpC,MAAM,IAAI,+BAA+B,CACvC,qBAAqB,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,gBAAgB;YACtE,uEAAuE;YACvE,qEAAqE;YACrE,mEAAmE;YACnE,sBAAsB,CACzB,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { SimSnsEnvelopeMessageAttribute } from "../message/sim-sns-message-attributes.js";
|
|
2
|
+
import type { SimSnsPublishedMessage } from "../message/sim-sns-published-message.js";
|
|
3
|
+
import type { SimSnsMessageSigner, SimSnsSignatureFields } from "../signature/sim-sns-message-signer.js";
|
|
4
|
+
import type { SimSnsSubscription } from "../subscription/sim-sns-subscription.js";
|
|
5
|
+
/**
|
|
6
|
+
* One published message as every destination's document carries it.
|
|
7
|
+
*
|
|
8
|
+
* A queue and a Lambda function are handed the same values with the same
|
|
9
|
+
* signature over them. What differs is how each protocol spells two of the
|
|
10
|
+
* URLs, and whether an absent subject and an empty attribute set are left out,
|
|
11
|
+
* so those belong to the documents rather than here.
|
|
12
|
+
*
|
|
13
|
+
* The names here are the simulator's own rather than either document's, so that
|
|
14
|
+
* neither spelling looks like the right one.
|
|
15
|
+
*/
|
|
16
|
+
export interface SimSnsNotificationFields {
|
|
17
|
+
readonly type: string;
|
|
18
|
+
readonly messageId: string;
|
|
19
|
+
readonly topicArn: string;
|
|
20
|
+
readonly subject: string | undefined;
|
|
21
|
+
readonly message: string;
|
|
22
|
+
readonly timestamp: string;
|
|
23
|
+
readonly signature: SimSnsSignatureFields;
|
|
24
|
+
readonly unsubscribeUrl: string;
|
|
25
|
+
readonly messageAttributes: Record<string, SimSnsEnvelopeMessageAttribute>;
|
|
26
|
+
readonly hasMessageAttributes: boolean;
|
|
27
|
+
}
|
|
28
|
+
interface SimSnsNotificationProperties {
|
|
29
|
+
readonly message: SimSnsPublishedMessage;
|
|
30
|
+
readonly subscription: SimSnsSubscription;
|
|
31
|
+
readonly regionName: string;
|
|
32
|
+
readonly signer: SimSnsMessageSigner;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* What one subscription is being told, signed once for whichever document
|
|
36
|
+
* carries it.
|
|
37
|
+
*
|
|
38
|
+
* The fields are kept once they have been built rather than built again per
|
|
39
|
+
* document, so a message that reaches two documents is signed once. Signing is
|
|
40
|
+
* the expensive part of a delivery, and a second signature over the same string
|
|
41
|
+
* would be the same signature anyway.
|
|
42
|
+
*/
|
|
43
|
+
export declare class SimSnsNotification {
|
|
44
|
+
private readonly message;
|
|
45
|
+
private readonly subscription;
|
|
46
|
+
private readonly regionName;
|
|
47
|
+
private readonly signer;
|
|
48
|
+
private held;
|
|
49
|
+
constructor(properties: SimSnsNotificationProperties);
|
|
50
|
+
/**
|
|
51
|
+
* The values a delivered document is built out of.
|
|
52
|
+
*/
|
|
53
|
+
fields(): SimSnsNotificationFields;
|
|
54
|
+
private build;
|
|
55
|
+
}
|
|
56
|
+
export {};
|
|
57
|
+
//# sourceMappingURL=sim-sns-notification.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-notification.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/delivery/sim-sns-notification.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC/F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEtF,OAAO,KAAK,EACV,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AASlF;;;;;;;;;;GAUG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;IAC3E,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;CACxC;AAED,UAAU,4BAA4B;IACpC,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;CACtC;AAED;;;;;;;;GAQG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAE7C,OAAO,CAAC,IAAI,CAAuC;IAEnD,YAAY,UAAU,EAAE,4BAA4B,EAKnD;IAED;;OAEG;IACH,MAAM,IAAI,wBAAwB,CAIjC;IAED,OAAO,CAAC,KAAK;CAiCd"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { simSnsUnsubscribeUrl } from "../signature/sim-sns-host.js";
|
|
2
|
+
import { simSnsCanonicalMessage } from "./sim-sns-canonical-message.js";
|
|
3
|
+
/**
|
|
4
|
+
* What a message published to a topic is, as opposed to a subscription
|
|
5
|
+
* confirmation, which is the only other kind of message real SNS delivers.
|
|
6
|
+
*/
|
|
7
|
+
const notificationType = "Notification";
|
|
8
|
+
/**
|
|
9
|
+
* What one subscription is being told, signed once for whichever document
|
|
10
|
+
* carries it.
|
|
11
|
+
*
|
|
12
|
+
* The fields are kept once they have been built rather than built again per
|
|
13
|
+
* document, so a message that reaches two documents is signed once. Signing is
|
|
14
|
+
* the expensive part of a delivery, and a second signature over the same string
|
|
15
|
+
* would be the same signature anyway.
|
|
16
|
+
*/
|
|
17
|
+
export class SimSnsNotification {
|
|
18
|
+
message;
|
|
19
|
+
subscription;
|
|
20
|
+
regionName;
|
|
21
|
+
signer;
|
|
22
|
+
held;
|
|
23
|
+
constructor(properties) {
|
|
24
|
+
this.message = properties.message;
|
|
25
|
+
this.subscription = properties.subscription;
|
|
26
|
+
this.regionName = properties.regionName;
|
|
27
|
+
this.signer = properties.signer;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The values a delivered document is built out of.
|
|
31
|
+
*/
|
|
32
|
+
fields() {
|
|
33
|
+
this.held ??= this.build();
|
|
34
|
+
return this.held;
|
|
35
|
+
}
|
|
36
|
+
build() {
|
|
37
|
+
const attributes = this.message.attributes;
|
|
38
|
+
const subject = this.message.subject?.value;
|
|
39
|
+
const timestamp = this.message.publishedAt.toISOString();
|
|
40
|
+
const topicArn = this.subscription.topicArn;
|
|
41
|
+
const message = this.message.body.value;
|
|
42
|
+
const messageId = this.message.messageId;
|
|
43
|
+
return {
|
|
44
|
+
type: notificationType,
|
|
45
|
+
messageId,
|
|
46
|
+
topicArn,
|
|
47
|
+
subject,
|
|
48
|
+
message,
|
|
49
|
+
timestamp,
|
|
50
|
+
signature: this.signer.sign(simSnsCanonicalMessage({
|
|
51
|
+
Message: message,
|
|
52
|
+
MessageId: messageId,
|
|
53
|
+
Subject: subject,
|
|
54
|
+
Timestamp: timestamp,
|
|
55
|
+
TopicArn: topicArn,
|
|
56
|
+
Type: notificationType,
|
|
57
|
+
})),
|
|
58
|
+
unsubscribeUrl: simSnsUnsubscribeUrl(this.regionName, this.subscription.arn.value),
|
|
59
|
+
messageAttributes: attributes.inEnvelope(),
|
|
60
|
+
hasMessageAttributes: !attributes.isEmpty,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=sim-sns-notification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-notification.js","sourceRoot":"","sources":["../../../../src/service/sns/delivery/sim-sns-notification.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAMpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE;;;GAGG;AACH,MAAM,gBAAgB,GAAG,cAAc,CAAC;AAiCxC;;;;;;;;GAQG;AACH,MAAM,OAAO,kBAAkB;IACZ,OAAO,CAAyB;IAChC,YAAY,CAAqB;IACjC,UAAU,CAAS;IACnB,MAAM,CAAsB;IAErC,IAAI,CAAuC;IAEnD,YAAY,UAAwC;QAClD,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;QAE3B,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEO,KAAK;QACX,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;QAEzC,OAAO;YACL,IAAI,EAAE,gBAAgB;YACtB,SAAS;YACT,QAAQ;YACR,OAAO;YACP,OAAO;YACP,SAAS;YACT,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CACzB,sBAAsB,CAAC;gBACrB,OAAO,EAAE,OAAO;gBAChB,SAAS,EAAE,SAAS;gBACpB,OAAO,EAAE,OAAO;gBAChB,SAAS,EAAE,SAAS;gBACpB,QAAQ,EAAE,QAAQ;gBAClB,IAAI,EAAE,gBAAgB;aACvB,CAAC,CACH;YACD,cAAc,EAAE,oBAAoB,CAClC,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAC5B;YACD,iBAAiB,EAAE,UAAU,CAAC,UAAU,EAAE;YAC1C,oBAAoB,EAAE,CAAC,UAAU,CAAC,OAAO;SAC1C,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { SimSnsSubscriptionProtocol } from "../subscription/sim-sns-subscription-protocol.js";
|
|
2
|
+
import type { SimSnsDeliveryEndpoints, SimSnsDeliveryRequest } from "./sim-sns-delivery.js";
|
|
3
|
+
/**
|
|
4
|
+
* One endpoints implementation per protocol.
|
|
5
|
+
*
|
|
6
|
+
* A record rather than a lookup with a fallback, so adding a protocol to
|
|
7
|
+
* `SimSnsSubscriptionProtocol` without giving it somewhere to deliver fails to
|
|
8
|
+
* compile.
|
|
9
|
+
*/
|
|
10
|
+
type SimSnsEndpointsByProtocol = Readonly<Record<SimSnsSubscriptionProtocol, SimSnsDeliveryEndpoints>>;
|
|
11
|
+
interface SimSnsProtocolDeliveryEndpointsProperties {
|
|
12
|
+
readonly byProtocol: SimSnsEndpointsByProtocol;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Sends each delivery to the endpoints its subscription's protocol implies.
|
|
16
|
+
*
|
|
17
|
+
* What a destination is asked before it takes a message, and what it is handed,
|
|
18
|
+
* both differ by protocol: a queue is asked about its own policy and handed a
|
|
19
|
+
* body, and a function is asked about its resource policy and handed an event.
|
|
20
|
+
* So each protocol has its own implementation, and this is what picks between
|
|
21
|
+
* them.
|
|
22
|
+
*/
|
|
23
|
+
export declare class SimSnsProtocolDeliveryEndpoints implements SimSnsDeliveryEndpoints {
|
|
24
|
+
private readonly byProtocol;
|
|
25
|
+
constructor(properties: SimSnsProtocolDeliveryEndpointsProperties);
|
|
26
|
+
/**
|
|
27
|
+
* Deliver one message over its subscription's protocol.
|
|
28
|
+
*/
|
|
29
|
+
deliver(request: SimSnsDeliveryRequest): Promise<void>;
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=sim-sns-protocol-delivery-endpoints.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-protocol-delivery-endpoints.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/delivery/sim-sns-protocol-delivery-endpoints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAC;AACnG,OAAO,KAAK,EACV,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;AAE/B;;;;;;GAMG;AACH,KAAK,yBAAyB,GAAG,QAAQ,CACvC,MAAM,CAAC,0BAA0B,EAAE,uBAAuB,CAAC,CAC5D,CAAC;AAEF,UAAU,yCAAyC;IACjD,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;CAChD;AAED;;;;;;;;GAQG;AACH,qBAAa,+BAAgC,YAAW,uBAAuB;IAC7E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4B;IAEvD,YAAY,UAAU,EAAE,yCAAyC,EAEhE;IAED;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3D;CACF"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sends each delivery to the endpoints its subscription's protocol implies.
|
|
3
|
+
*
|
|
4
|
+
* What a destination is asked before it takes a message, and what it is handed,
|
|
5
|
+
* both differ by protocol: a queue is asked about its own policy and handed a
|
|
6
|
+
* body, and a function is asked about its resource policy and handed an event.
|
|
7
|
+
* So each protocol has its own implementation, and this is what picks between
|
|
8
|
+
* them.
|
|
9
|
+
*/
|
|
10
|
+
export class SimSnsProtocolDeliveryEndpoints {
|
|
11
|
+
byProtocol;
|
|
12
|
+
constructor(properties) {
|
|
13
|
+
this.byProtocol = properties.byProtocol;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Deliver one message over its subscription's protocol.
|
|
17
|
+
*/
|
|
18
|
+
async deliver(request) {
|
|
19
|
+
await this.byProtocol[request.subscription.protocol].deliver(request);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=sim-sns-protocol-delivery-endpoints.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-protocol-delivery-endpoints.js","sourceRoot":"","sources":["../../../../src/service/sns/delivery/sim-sns-protocol-delivery-endpoints.ts"],"names":[],"mappings":"AAqBA;;;;;;;;GAQG;AACH,MAAM,OAAO,+BAA+B;IACzB,UAAU,CAA4B;IAEvD,YAAY,UAAqD;QAC/D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,OAA8B;QAC1C,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACxE,CAAC;CACF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { SimAws } from "../../../aws/sim-aws.js";
|
|
2
|
+
import type { SimSnsDeliveryEndpoints, SimSnsDeliveryRequest } from "../sim-sns-delivery.js";
|
|
3
|
+
interface SimAwsSnsDeliveryQueuesProperties {
|
|
4
|
+
readonly simAws: SimAws;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* The simulated SQS queues of one simulated AWS instance, as places a topic
|
|
8
|
+
* delivers to.
|
|
9
|
+
*
|
|
10
|
+
* The queue is looked up when a message is delivered, never when this is
|
|
11
|
+
* built, for the same reason S3's notification destinations do it that way:
|
|
12
|
+
* reaching another service while this one is being constructed is a cycle with
|
|
13
|
+
* no bottom to it.
|
|
14
|
+
*
|
|
15
|
+
* A queue in another Account or another Region is allowed. Real SNS delivers to
|
|
16
|
+
* both, which is a deliberate difference from simulated S3 event notifications:
|
|
17
|
+
* real S3 requires the destination queue to be in the Bucket's Region, and real
|
|
18
|
+
* SNS does not.
|
|
19
|
+
*/
|
|
20
|
+
export declare class SimAwsSnsDeliveryQueues implements SimSnsDeliveryEndpoints {
|
|
21
|
+
private readonly simAws;
|
|
22
|
+
constructor(properties: SimAwsSnsDeliveryQueuesProperties);
|
|
23
|
+
/**
|
|
24
|
+
* Deliver one message to the queue its subscription's endpoint names.
|
|
25
|
+
*/
|
|
26
|
+
deliver(request: SimSnsDeliveryRequest): Promise<void>;
|
|
27
|
+
}
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=sim-aws-sns-delivery-queues.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-aws-sns-delivery-queues.d.ts","sourceRoot":"","sources":["../../../../../src/service/sns/delivery/sqs/sim-aws-sns-delivery-queues.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,KAAK,EACV,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAGhC,UAAU,iCAAiC;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,uBAAwB,YAAW,uBAAuB;IACrE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,YAAY,UAAU,EAAE,iCAAiC,EAExD;IAED;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAS3D;CACF"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { SimSnsQueueEndpointArn } from "../../subscription/sim-sns-queue-endpoint-arn.js";
|
|
2
|
+
import { SimSnsDeliveryQueue } from "./sim-sns-delivery-queue.js";
|
|
3
|
+
/**
|
|
4
|
+
* The simulated SQS queues of one simulated AWS instance, as places a topic
|
|
5
|
+
* delivers to.
|
|
6
|
+
*
|
|
7
|
+
* The queue is looked up when a message is delivered, never when this is
|
|
8
|
+
* built, for the same reason S3's notification destinations do it that way:
|
|
9
|
+
* reaching another service while this one is being constructed is a cycle with
|
|
10
|
+
* no bottom to it.
|
|
11
|
+
*
|
|
12
|
+
* A queue in another Account or another Region is allowed. Real SNS delivers to
|
|
13
|
+
* both, which is a deliberate difference from simulated S3 event notifications:
|
|
14
|
+
* real S3 requires the destination queue to be in the Bucket's Region, and real
|
|
15
|
+
* SNS does not.
|
|
16
|
+
*/
|
|
17
|
+
export class SimAwsSnsDeliveryQueues {
|
|
18
|
+
simAws;
|
|
19
|
+
constructor(properties) {
|
|
20
|
+
this.simAws = properties.simAws;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Deliver one message to the queue its subscription's endpoint names.
|
|
24
|
+
*/
|
|
25
|
+
async deliver(request) {
|
|
26
|
+
const arn = SimSnsQueueEndpointArn.parse(request.subscription.endpoint.value);
|
|
27
|
+
await new SimSnsDeliveryQueue({
|
|
28
|
+
arn,
|
|
29
|
+
scope: this.simAws.accountRegionScope(arn.accountId, arn.regionName),
|
|
30
|
+
}).deliver(request);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=sim-aws-sns-delivery-queues.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-aws-sns-delivery-queues.js","sourceRoot":"","sources":["../../../../../src/service/sns/delivery/sqs/sim-aws-sns-delivery-queues.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAK1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAMlE;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,uBAAuB;IACjB,MAAM,CAAS;IAEhC,YAAY,UAA6C;QACvD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,OAA8B;QAC1C,MAAM,GAAG,GAAG,sBAAsB,CAAC,KAAK,CACtC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CACpC,CAAC;QAEF,MAAM,IAAI,mBAAmB,CAAC;YAC5B,GAAG;YACH,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC;SACrE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;CACF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { SimAwsAccountRegionContainer } from "../../../aws/sim-aws-account-region-scope.js";
|
|
2
|
+
import type { SimSnsQueueEndpointArn } from "../../subscription/sim-sns-queue-endpoint-arn.js";
|
|
3
|
+
import { type SimSnsDeliveryRequest } from "../sim-sns-delivery.js";
|
|
4
|
+
interface SimSnsDeliveryQueueProperties {
|
|
5
|
+
readonly arn: SimSnsQueueEndpointArn;
|
|
6
|
+
readonly scope: SimAwsAccountRegionContainer;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* One queue a simulated topic is delivering to, in the Account and Region its
|
|
10
|
+
* ARN names.
|
|
11
|
+
*
|
|
12
|
+
* Everything is asked of the queue's own Account, which is what makes a queue
|
|
13
|
+
* in another Account reachable: its policy is the grant, and its Account's IAM
|
|
14
|
+
* is what evaluates it.
|
|
15
|
+
*/
|
|
16
|
+
export declare class SimSnsDeliveryQueue {
|
|
17
|
+
private readonly arn;
|
|
18
|
+
private readonly scope;
|
|
19
|
+
constructor(properties: SimSnsDeliveryQueueProperties);
|
|
20
|
+
/**
|
|
21
|
+
* Put one message on the queue, if it admits SNS for this topic.
|
|
22
|
+
*
|
|
23
|
+
* The queue policy is consulted on every delivery rather than remembered
|
|
24
|
+
* from the moment the subscription was made, so a permission taken away
|
|
25
|
+
* afterwards stops delivery. Real SNS does not check it at `Subscribe` time
|
|
26
|
+
* at all, which is why this is the only place it is asked.
|
|
27
|
+
*/
|
|
28
|
+
deliver(request: SimSnsDeliveryRequest): Promise<void>;
|
|
29
|
+
}
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=sim-sns-delivery-queue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-delivery-queue.d.ts","sourceRoot":"","sources":["../../../../../src/service/sns/delivery/sqs/sim-sns-delivery-queue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,8CAA8C,CAAC;AAIjG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAC/F,OAAO,EACL,KAAK,qBAAqB,EAG3B,MAAM,wBAAwB,CAAC;AAGhC,UAAU,6BAA6B;IACrC,QAAQ,CAAC,GAAG,EAAE,sBAAsB,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,4BAA4B,CAAC;CAC9C;AAED;;;;;;;GAOG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAyB;IAC7C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA+B;IAErD,YAAY,UAAU,EAAE,6BAA6B,EAGpD;IAED;;;;;;;OAOG;IACG,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6C3D;CACF"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { SimSqsServiceSendAuthorizer } from "../../../sqs/command/authorize/sim-sqs-service-send-authorizer.js";
|
|
2
|
+
import { SimSnsDeliveryNotPermitted } from "../../error/sim-sns-delivery.error.js";
|
|
3
|
+
import { SimSnsNotFoundException } from "../../error/sim-sns.error.js";
|
|
4
|
+
import { simSnsDeliverySource, simSnsServicePrincipal, } from "../sim-sns-delivery.js";
|
|
5
|
+
import { SimSnsQueueMessage } from "./sim-sns-queue-message.js";
|
|
6
|
+
/**
|
|
7
|
+
* One queue a simulated topic is delivering to, in the Account and Region its
|
|
8
|
+
* ARN names.
|
|
9
|
+
*
|
|
10
|
+
* Everything is asked of the queue's own Account, which is what makes a queue
|
|
11
|
+
* in another Account reachable: its policy is the grant, and its Account's IAM
|
|
12
|
+
* is what evaluates it.
|
|
13
|
+
*/
|
|
14
|
+
export class SimSnsDeliveryQueue {
|
|
15
|
+
arn;
|
|
16
|
+
scope;
|
|
17
|
+
constructor(properties) {
|
|
18
|
+
this.arn = properties.arn;
|
|
19
|
+
this.scope = properties.scope;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Put one message on the queue, if it admits SNS for this topic.
|
|
23
|
+
*
|
|
24
|
+
* The queue policy is consulted on every delivery rather than remembered
|
|
25
|
+
* from the moment the subscription was made, so a permission taken away
|
|
26
|
+
* afterwards stops delivery. Real SNS does not check it at `Subscribe` time
|
|
27
|
+
* at all, which is why this is the only place it is asked.
|
|
28
|
+
*/
|
|
29
|
+
async deliver(request) {
|
|
30
|
+
const source = simSnsDeliverySource(request);
|
|
31
|
+
const endpointArn = request.subscription.endpoint.value;
|
|
32
|
+
const queue = this.scope.sqs().findQueue(this.arn.queueName);
|
|
33
|
+
if (queue === undefined) {
|
|
34
|
+
// Not a refusal: the queue policy said nothing, because there is no
|
|
35
|
+
// queue. A subscription pointing at nothing is a mistake worth warning
|
|
36
|
+
// about, where a policy saying no is a modelled outcome a test may be
|
|
37
|
+
// asking for on purpose.
|
|
38
|
+
throw new SimSnsNotFoundException(`${endpointArn} is not a simulated SQS queue.`);
|
|
39
|
+
}
|
|
40
|
+
const decision = new SimSqsServiceSendAuthorizer({
|
|
41
|
+
iam: this.scope.iam(),
|
|
42
|
+
}).authorize({
|
|
43
|
+
queue,
|
|
44
|
+
servicePrincipal: simSnsServicePrincipal,
|
|
45
|
+
...source,
|
|
46
|
+
});
|
|
47
|
+
if (decision.isDenied) {
|
|
48
|
+
throw new SimSnsDeliveryNotPermitted(`The queue policy of ${endpointArn} does not allow ` +
|
|
49
|
+
`${simSnsServicePrincipal} to send to it for ${source.sourceArn}. ` +
|
|
50
|
+
"Grant sqs:SendMessage with the queue's Policy attribute.");
|
|
51
|
+
}
|
|
52
|
+
// Sent through the ordinary SendMessage path, so a delivered message is
|
|
53
|
+
// the same thing an SDK caller would have sent, and is authorized again on
|
|
54
|
+
// the way in.
|
|
55
|
+
await this.scope.sqs().sendMessage({
|
|
56
|
+
input: new SimSnsQueueMessage(request).sendMessageInput(this.arn.queueUrl),
|
|
57
|
+
}, {
|
|
58
|
+
caller: { kind: "service", service: simSnsServicePrincipal },
|
|
59
|
+
...source,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=sim-sns-delivery-queue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-delivery-queue.js","sourceRoot":"","sources":["../../../../../src/service/sns/delivery/sqs/sim-sns-delivery-queue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,mEAAmE,CAAC;AAChH,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAEL,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAOhE;;;;;;;GAOG;AACH,MAAM,OAAO,mBAAmB;IACb,GAAG,CAAyB;IAC5B,KAAK,CAA+B;IAErD,YAAY,UAAyC;QACnD,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;IAChC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO,CAAC,OAA8B;QAC1C,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE7D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,oEAAoE;YACpE,uEAAuE;YACvE,sEAAsE;YACtE,yBAAyB;YACzB,MAAM,IAAI,uBAAuB,CAC/B,GAAG,WAAW,gCAAgC,CAC/C,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,2BAA2B,CAAC;YAC/C,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC,SAAS,CAAC;YACX,KAAK;YACL,gBAAgB,EAAE,sBAAsB;YACxC,GAAG,MAAM;SACV,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,0BAA0B,CAClC,uBAAuB,WAAW,kBAAkB;gBAClD,GAAG,sBAAsB,sBAAsB,MAAM,CAAC,SAAS,IAAI;gBACnE,0DAA0D,CAC7D,CAAC;QACJ,CAAC;QAED,wEAAwE;QACxE,2EAA2E;QAC3E,cAAc;QACd,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,CAChC;YACE,KAAK,EAAE,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC,gBAAgB,CACrD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAClB;SACF,EACD;YACE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,sBAAsB,EAAE;YAC5D,GAAG,MAAM;SACV,CACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { SimSendMessageCommand } from "../../../sqs/command/message/send.command.js";
|
|
2
|
+
import type { SimSnsDeliveryRequest } from "../sim-sns-delivery.js";
|
|
3
|
+
/**
|
|
4
|
+
* What one queue is sent for a published message.
|
|
5
|
+
*
|
|
6
|
+
* Which form the body takes is the subscription's business rather than the
|
|
7
|
+
* queue's. `RawMessageDelivery` is an SQS and HTTP protocol setting on real
|
|
8
|
+
* SNS, so it is asked here rather than anywhere a Lambda delivery would see it:
|
|
9
|
+
* a function subscribed with it on is invoked with the whole event all the
|
|
10
|
+
* same.
|
|
11
|
+
*
|
|
12
|
+
* Raw delivery takes the envelope away, so the message attributes have nowhere
|
|
13
|
+
* to travel but the SQS message itself. A consumer written for raw delivery
|
|
14
|
+
* reads them there, and one taking the envelope reads them out of it.
|
|
15
|
+
*/
|
|
16
|
+
export declare class SimSnsQueueMessage {
|
|
17
|
+
private readonly request;
|
|
18
|
+
constructor(request: SimSnsDeliveryRequest);
|
|
19
|
+
/**
|
|
20
|
+
* The SendMessage input this delivery becomes.
|
|
21
|
+
*/
|
|
22
|
+
sendMessageInput(queueUrl: string): SimSendMessageCommand["input"];
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=sim-sns-queue-message.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-queue-message.d.ts","sourceRoot":"","sources":["../../../../../src/service/sns/delivery/sqs/sim-sns-queue-message.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAC1F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAGpE;;;;;;;;;;;;GAYG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAEhD,YAAY,OAAO,EAAE,qBAAqB,EAEzC;IAED;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAejE;CACF"}
|