@kensio/yulin 1.9.0 → 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/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/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/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,67 @@
|
|
|
1
|
+
import { simSnsDefaultFilterPolicyScope, } from "../filter/sim-sns-filter-policy-scope.js";
|
|
2
|
+
import { simSnsChangedSubscriptionAttributes, } from "./sim-sns-subscription-attribute-changes.js";
|
|
3
|
+
import { simSnsFilterPolicyAttributeName, simSnsFilterPolicyScopeAttributeName, simSnsRawMessageDeliveryAttributeName, } from "./sim-sns-subscription-attribute-names.js";
|
|
4
|
+
/**
|
|
5
|
+
* The attributes of one simulated subscription that a request can set.
|
|
6
|
+
*
|
|
7
|
+
* Applying a request makes a new set rather than changing this one, so a
|
|
8
|
+
* request naming an attribute this simulation will not take leaves the
|
|
9
|
+
* subscription as it was.
|
|
10
|
+
*/
|
|
11
|
+
export class SimSnsSubscriptionAttributes {
|
|
12
|
+
rawMessageDelivery;
|
|
13
|
+
filterPolicy;
|
|
14
|
+
filterPolicyScope;
|
|
15
|
+
constructor(values) {
|
|
16
|
+
this.rawMessageDelivery = values.rawMessageDelivery;
|
|
17
|
+
this.filterPolicy = values.filterPolicy;
|
|
18
|
+
this.filterPolicyScope = values.filterPolicyScope;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* The attributes a subscription has before anything sets one.
|
|
22
|
+
*
|
|
23
|
+
* Real SNS reports `RawMessageDelivery` as false for a subscription created
|
|
24
|
+
* without it, rather than leaving the attribute out, which is why it is held
|
|
25
|
+
* rather than being absent until set. A subscription holds no filter policy
|
|
26
|
+
* until one is set, and receives everything its topic publishes.
|
|
27
|
+
*/
|
|
28
|
+
static defaults() {
|
|
29
|
+
return new this({
|
|
30
|
+
rawMessageDelivery: false,
|
|
31
|
+
filterPolicy: undefined,
|
|
32
|
+
filterPolicyScope: simSnsDefaultFilterPolicyScope,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* These attributes with a request's changes applied.
|
|
37
|
+
*/
|
|
38
|
+
with(requested) {
|
|
39
|
+
return new SimSnsSubscriptionAttributes(simSnsChangedSubscriptionAttributes(this, requested));
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Whether this subscription's filter policy admits a published message.
|
|
43
|
+
*
|
|
44
|
+
* A subscription with no policy takes everything its topic publishes, which
|
|
45
|
+
* is what a subscription without one does on real SNS.
|
|
46
|
+
*/
|
|
47
|
+
accepts(message) {
|
|
48
|
+
return this.filterPolicy?.matches(message) ?? true;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Add these attributes to what SNS reports about the subscription.
|
|
52
|
+
*
|
|
53
|
+
* The two filter policy attributes are reported only when there is a policy,
|
|
54
|
+
* as real SNS reports them. A subscription that filters nothing has no scope
|
|
55
|
+
* to report either, since the scope only says how a policy is read.
|
|
56
|
+
*/
|
|
57
|
+
reportInto(reported) {
|
|
58
|
+
reported.set(simSnsRawMessageDeliveryAttributeName, String(this.rawMessageDelivery));
|
|
59
|
+
if (this.filterPolicy === undefined) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
reported.set(simSnsFilterPolicyAttributeName, this.filterPolicy.value);
|
|
63
|
+
reported.set(simSnsFilterPolicyScopeAttributeName, this.filterPolicyScope.value);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
export {} from "./sim-sns-requested-subscription-attributes.js";
|
|
67
|
+
//# sourceMappingURL=sim-sns-subscription-attributes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-subscription-attributes.js","sourceRoot":"","sources":["../../../../src/service/sns/subscription/sim-sns-subscription-attributes.ts"],"names":[],"mappings":"AACA,OAAO,EACL,8BAA8B,GAE/B,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EACL,mCAAmC,GAEpC,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,+BAA+B,EAC/B,oCAAoC,EACpC,qCAAqC,GACtC,MAAM,2CAA2C,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,OAAO,4BAA4B;IACvB,kBAAkB,CAAU;IAC5B,YAAY,CAAiC;IAC7C,iBAAiB,CAA0B;IAE3D,YAAoB,MAAyC;QAC3D,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;QACpD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;IACpD,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ;QACb,OAAO,IAAI,IAAI,CAAC;YACd,kBAAkB,EAAE,KAAK;YACzB,YAAY,EAAE,SAAS;YACvB,iBAAiB,EAAE,8BAA8B;SAClD,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI,CACF,SAA2C;QAE3C,OAAO,IAAI,4BAA4B,CACrC,mCAAmC,CAAC,IAAI,EAAE,SAAS,CAAC,CACrD,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,OAA+B;QACrC,OAAO,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;IACrD,CAAC;IAED;;;;;;OAMG;IACH,UAAU,CAAC,QAA6B;QACtC,QAAQ,CAAC,GAAG,CACV,qCAAqC,EACrC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAChC,CAAC;QAEF,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO;QACT,CAAC;QAED,QAAQ,CAAC,GAAG,CAAC,+BAA+B,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACvE,QAAQ,CAAC,GAAG,CACV,oCAAoC,EACpC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAC7B,CAAC;IACJ,CAAC;CACF;AAED,OAAO,EAAyC,MAAM,gDAAgD,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { SimAwsAccountId } from "../../aws/sim-aws-account-id.js";
|
|
2
|
+
import type { AwsRegionName } from "../../aws/sim-aws-region.js";
|
|
3
|
+
import { type SimSnsSubscriptionProtocol } from "./sim-sns-subscription-protocol.js";
|
|
4
|
+
/**
|
|
5
|
+
* Where a subscription delivers, whichever kind of endpoint its protocol
|
|
6
|
+
* implies.
|
|
7
|
+
*
|
|
8
|
+
* Every protocol simulated names its endpoint by an ARN, and every delivery
|
|
9
|
+
* needs the same three things from it: the ARN itself, and the Account and
|
|
10
|
+
* Region to resolve the endpoint in. What kind of resource it is belongs to the
|
|
11
|
+
* protocol's own endpoint type.
|
|
12
|
+
*/
|
|
13
|
+
export interface SimSnsSubscriptionEndpoint {
|
|
14
|
+
readonly value: string;
|
|
15
|
+
readonly regionName: AwsRegionName;
|
|
16
|
+
readonly accountId: SimAwsAccountId;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Read the endpoint a Subscribe request names, for the protocol it named.
|
|
20
|
+
*
|
|
21
|
+
* The protocol decides what the endpoint has to be, so an SQS queue ARN over
|
|
22
|
+
* the `lambda` protocol is refused here rather than at delivery time. Real SNS
|
|
23
|
+
* validates the endpoint against the protocol at `Subscribe` time too.
|
|
24
|
+
*/
|
|
25
|
+
export declare function requireSimSnsSubscriptionEndpoint(protocol: SimSnsSubscriptionProtocol, endpoint: string | undefined): SimSnsSubscriptionEndpoint;
|
|
26
|
+
//# sourceMappingURL=sim-sns-subscription-endpoint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-subscription-endpoint.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/subscription/sim-sns-subscription-endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAGjE,OAAO,EAGL,KAAK,0BAA0B,EAChC,MAAM,oCAAoC,CAAC;AAE5C;;;;;;;;GAQG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;CACrC;AAED;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,0BAA0B,EACpC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,0BAA0B,CAS5B"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { SimSnsFunctionEndpointArn } from "./sim-sns-function-endpoint-arn.js";
|
|
2
|
+
import { SimSnsQueueEndpointArn } from "./sim-sns-queue-endpoint-arn.js";
|
|
3
|
+
import { simSnsLambdaProtocol, simSnsSqsProtocol, } from "./sim-sns-subscription-protocol.js";
|
|
4
|
+
/**
|
|
5
|
+
* Read the endpoint a Subscribe request names, for the protocol it named.
|
|
6
|
+
*
|
|
7
|
+
* The protocol decides what the endpoint has to be, so an SQS queue ARN over
|
|
8
|
+
* the `lambda` protocol is refused here rather than at delivery time. Real SNS
|
|
9
|
+
* validates the endpoint against the protocol at `Subscribe` time too.
|
|
10
|
+
*/
|
|
11
|
+
export function requireSimSnsSubscriptionEndpoint(protocol, endpoint) {
|
|
12
|
+
switch (protocol) {
|
|
13
|
+
case simSnsSqsProtocol: {
|
|
14
|
+
return SimSnsQueueEndpointArn.parse(endpoint ?? "");
|
|
15
|
+
}
|
|
16
|
+
case simSnsLambdaProtocol: {
|
|
17
|
+
return SimSnsFunctionEndpointArn.parse(endpoint ?? "");
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=sim-sns-subscription-endpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-subscription-endpoint.js","sourceRoot":"","sources":["../../../../src/service/sns/subscription/sim-sns-subscription-endpoint.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EACL,oBAAoB,EACpB,iBAAiB,GAElB,MAAM,oCAAoC,CAAC;AAiB5C;;;;;;GAMG;AACH,MAAM,UAAU,iCAAiC,CAC/C,QAAoC,EACpC,QAA4B;IAE5B,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,iBAAiB,EAAE,CAAC;YACvB,OAAO,sBAAsB,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,KAAK,oBAAoB,EAAE,CAAC;YAC1B,OAAO,yBAAyB,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Delivery to an SQS queue.
|
|
3
|
+
*
|
|
4
|
+
* A queue is what SNS is most often put in front of, and it is a protocol with
|
|
5
|
+
* no confirmation step: real SNS confirms an `sqs` subscription itself, so
|
|
6
|
+
* `Subscribe` answers with a subscription ARN rather than `pending
|
|
7
|
+
* confirmation`.
|
|
8
|
+
*/
|
|
9
|
+
export declare const simSnsSqsProtocol = "sqs";
|
|
10
|
+
/**
|
|
11
|
+
* Delivery by invoking a Lambda function.
|
|
12
|
+
*
|
|
13
|
+
* Real SNS confirms this one itself too, so a `lambda` subscription is
|
|
14
|
+
* confirmed as soon as it exists. The function is invoked asynchronously with
|
|
15
|
+
* an event carrying the published message.
|
|
16
|
+
*/
|
|
17
|
+
export declare const simSnsLambdaProtocol = "lambda";
|
|
18
|
+
/**
|
|
19
|
+
* A protocol a simulated subscription can be created with.
|
|
20
|
+
*/
|
|
21
|
+
export type SimSnsSubscriptionProtocol = typeof simSnsSqsProtocol | typeof simSnsLambdaProtocol;
|
|
22
|
+
/**
|
|
23
|
+
* Read the protocol a Subscribe request names, refusing one that delivers
|
|
24
|
+
* nowhere.
|
|
25
|
+
*
|
|
26
|
+
* Real SNS refuses a protocol it does not have with
|
|
27
|
+
* `InvalidParameterException`, and that is what a misspelling gets here. A
|
|
28
|
+
* protocol real SNS does have and this simulation does not is refused with the
|
|
29
|
+
* reason it is missing, so the message points at the simulator rather than at
|
|
30
|
+
* the request.
|
|
31
|
+
*/
|
|
32
|
+
export declare function requireSimSnsProtocol(value: string | undefined): SimSnsSubscriptionProtocol;
|
|
33
|
+
//# sourceMappingURL=sim-sns-subscription-protocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-subscription-protocol.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/subscription/sim-sns-subscription-protocol.ts"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AAEvC;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,WAAW,CAAC;AAE7C;;GAEG;AACH,MAAM,MAAM,0BAA0B,GACpC,OAAO,iBAAiB,GAAG,OAAO,oBAAoB,CAAC;AAuBzD;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,0BAA0B,CAoB5B"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { SimSnsInvalidParameterException, SimSnsUnsimulatedInputException, } from "../error/sim-sns.error.js";
|
|
2
|
+
/**
|
|
3
|
+
* Delivery to an SQS queue.
|
|
4
|
+
*
|
|
5
|
+
* A queue is what SNS is most often put in front of, and it is a protocol with
|
|
6
|
+
* no confirmation step: real SNS confirms an `sqs` subscription itself, so
|
|
7
|
+
* `Subscribe` answers with a subscription ARN rather than `pending
|
|
8
|
+
* confirmation`.
|
|
9
|
+
*/
|
|
10
|
+
export const simSnsSqsProtocol = "sqs";
|
|
11
|
+
/**
|
|
12
|
+
* Delivery by invoking a Lambda function.
|
|
13
|
+
*
|
|
14
|
+
* Real SNS confirms this one itself too, so a `lambda` subscription is
|
|
15
|
+
* confirmed as soon as it exists. The function is invoked asynchronously with
|
|
16
|
+
* an event carrying the published message.
|
|
17
|
+
*/
|
|
18
|
+
export const simSnsLambdaProtocol = "lambda";
|
|
19
|
+
/**
|
|
20
|
+
* The protocols real SNS has that this simulation does not deliver over.
|
|
21
|
+
*
|
|
22
|
+
* Each is refused by name with the reason, rather than accepted and never
|
|
23
|
+
* delivered to. A subscription that exists and receives nothing is worse than
|
|
24
|
+
* no subscription at all: the test that made it would be asserting against
|
|
25
|
+
* silence.
|
|
26
|
+
*/
|
|
27
|
+
const unsimulatedProtocols = new Map([
|
|
28
|
+
["http", "Delivery over HTTP would leave the simulation."],
|
|
29
|
+
["https", "Delivery over HTTPS would leave the simulation."],
|
|
30
|
+
["email", "Sending email is not simulated."],
|
|
31
|
+
["email-json", "Sending email is not simulated."],
|
|
32
|
+
["sms", "Sending SMS is not simulated."],
|
|
33
|
+
[
|
|
34
|
+
"application",
|
|
35
|
+
"Mobile application endpoints and push notifications are not simulated.",
|
|
36
|
+
],
|
|
37
|
+
["firehose", "Amazon Data Firehose is not simulated."],
|
|
38
|
+
]);
|
|
39
|
+
/**
|
|
40
|
+
* Read the protocol a Subscribe request names, refusing one that delivers
|
|
41
|
+
* nowhere.
|
|
42
|
+
*
|
|
43
|
+
* Real SNS refuses a protocol it does not have with
|
|
44
|
+
* `InvalidParameterException`, and that is what a misspelling gets here. A
|
|
45
|
+
* protocol real SNS does have and this simulation does not is refused with the
|
|
46
|
+
* reason it is missing, so the message points at the simulator rather than at
|
|
47
|
+
* the request.
|
|
48
|
+
*/
|
|
49
|
+
export function requireSimSnsProtocol(value) {
|
|
50
|
+
if (value === simSnsSqsProtocol || value === simSnsLambdaProtocol) {
|
|
51
|
+
return value;
|
|
52
|
+
}
|
|
53
|
+
const named = value ?? "(none)";
|
|
54
|
+
const reason = unsimulatedProtocols.get(named);
|
|
55
|
+
if (reason !== undefined) {
|
|
56
|
+
throw new SimSnsUnsimulatedInputException(`The ${named} subscription protocol is not simulated. ${reason} ` +
|
|
57
|
+
`Subscribe with the ${simSnsSqsProtocol} or ` +
|
|
58
|
+
`${simSnsLambdaProtocol} protocol instead.`);
|
|
59
|
+
}
|
|
60
|
+
throw new SimSnsInvalidParameterException(`Invalid parameter: Protocol Reason: ${named} is not a subscription ` +
|
|
61
|
+
`protocol`);
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=sim-sns-subscription-protocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-subscription-protocol.js","sourceRoot":"","sources":["../../../../src/service/sns/subscription/sim-sns-subscription-protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,GAChC,MAAM,2BAA2B,CAAC;AAEnC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAQ,CAAC;AAQ7C;;;;;;;GAOG;AACH,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAiB;IACnD,CAAC,MAAM,EAAE,gDAAgD,CAAC;IAC1D,CAAC,OAAO,EAAE,iDAAiD,CAAC;IAC5D,CAAC,OAAO,EAAE,iCAAiC,CAAC;IAC5C,CAAC,YAAY,EAAE,iCAAiC,CAAC;IACjD,CAAC,KAAK,EAAE,+BAA+B,CAAC;IACxC;QACE,aAAa;QACb,wEAAwE;KACzE;IACD,CAAC,UAAU,EAAE,wCAAwC,CAAC;CACvD,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAAyB;IAEzB,IAAI,KAAK,KAAK,iBAAiB,IAAI,KAAK,KAAK,oBAAoB,EAAE,CAAC;QAClE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,IAAI,QAAQ,CAAC;IAChC,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAE/C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,+BAA+B,CACvC,OAAO,KAAK,4CAA4C,MAAM,GAAG;YAC/D,sBAAsB,iBAAiB,MAAM;YAC7C,GAAG,oBAAoB,oBAAoB,CAC9C,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,+BAA+B,CACvC,uCAAuC,KAAK,yBAAyB;QACnE,UAAU,CACb,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { SimSnsSubscription } from "./sim-sns-subscription.js";
|
|
2
|
+
/**
|
|
3
|
+
* The subscription counts one topic reports.
|
|
4
|
+
*
|
|
5
|
+
* Real SNS reports all three on every topic, so they are answered together
|
|
6
|
+
* rather than one call at a time.
|
|
7
|
+
*/
|
|
8
|
+
export interface SimSnsSubscriptionCounts {
|
|
9
|
+
readonly confirmed: number;
|
|
10
|
+
readonly pending: number;
|
|
11
|
+
readonly deleted: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* The subscriptions of one simulated SNS scope.
|
|
15
|
+
*
|
|
16
|
+
* They are held here rather than on the topic because a subscription outlives
|
|
17
|
+
* the lookup that finds it by ARN: `Unsubscribe` carries a subscription ARN and
|
|
18
|
+
* nothing else, so the subscription has to be reachable without knowing which
|
|
19
|
+
* topic it belongs to first.
|
|
20
|
+
*/
|
|
21
|
+
export declare class SimSnsSubscriptionStore {
|
|
22
|
+
private readonly subscriptions;
|
|
23
|
+
/**
|
|
24
|
+
* How many subscriptions each topic has had deleted, by topic name.
|
|
25
|
+
*
|
|
26
|
+
* Real SNS reports a running count as `SubscriptionsDeleted` rather than
|
|
27
|
+
* forgetting a subscription entirely, so the count is kept after the
|
|
28
|
+
* subscription itself is gone.
|
|
29
|
+
*/
|
|
30
|
+
private readonly deletedCounts;
|
|
31
|
+
/**
|
|
32
|
+
* Every subscription in this scope, in creation order.
|
|
33
|
+
*/
|
|
34
|
+
get all(): readonly SimSnsSubscription[];
|
|
35
|
+
/**
|
|
36
|
+
* Store a newly created subscription.
|
|
37
|
+
*/
|
|
38
|
+
add(subscription: SimSnsSubscription): void;
|
|
39
|
+
/**
|
|
40
|
+
* Find a subscription by ARN.
|
|
41
|
+
*/
|
|
42
|
+
find(arn: string): SimSnsSubscription | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* Resolve a subscription by ARN, or refuse.
|
|
45
|
+
*/
|
|
46
|
+
require(arn: string): SimSnsSubscription;
|
|
47
|
+
/**
|
|
48
|
+
* The subscriptions of one topic, in creation order.
|
|
49
|
+
*/
|
|
50
|
+
forTopic(topicName: string): readonly SimSnsSubscription[];
|
|
51
|
+
/**
|
|
52
|
+
* The counts a topic reports about its subscriptions.
|
|
53
|
+
*
|
|
54
|
+
* Nothing is ever pending, because the only protocol simulated is the one
|
|
55
|
+
* real SNS confirms itself.
|
|
56
|
+
*/
|
|
57
|
+
countsForTopic(topicName: string): SimSnsSubscriptionCounts;
|
|
58
|
+
/**
|
|
59
|
+
* Forget one unsubscribed subscription.
|
|
60
|
+
*/
|
|
61
|
+
remove(subscription: SimSnsSubscription): void;
|
|
62
|
+
/**
|
|
63
|
+
* Forget every subscription of a deleted topic.
|
|
64
|
+
*
|
|
65
|
+
* Real SNS deletes a topic's subscriptions along with it, so a topic
|
|
66
|
+
* recreated under the same name starts with none. The deleted count goes with
|
|
67
|
+
* them for the same reason: it belonged to the topic that is gone.
|
|
68
|
+
*/
|
|
69
|
+
removeForTopic(topicName: string): void;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=sim-sns-subscription-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-subscription-store.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/subscription/sim-sns-subscription-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyC;IAEvE;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6B;IAE3D;;OAEG;IACH,IAAI,GAAG,IAAI,SAAS,kBAAkB,EAAE,CAEvC;IAED;;OAEG;IACH,GAAG,CAAC,YAAY,EAAE,kBAAkB,GAAG,IAAI,CAE1C;IAED;;OAEG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAEhD;IAED;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAUvC;IAED;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,kBAAkB,EAAE,CAIzD;IAED;;;;;OAKG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,wBAAwB,CAM1D;IAED;;OAEG;IACH,MAAM,CAAC,YAAY,EAAE,kBAAkB,GAAG,IAAI,CAM7C;IAED;;;;;;OAMG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAMtC;CACF"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { SimSnsNotFoundException } from "../error/sim-sns.error.js";
|
|
2
|
+
/**
|
|
3
|
+
* The subscriptions of one simulated SNS scope.
|
|
4
|
+
*
|
|
5
|
+
* They are held here rather than on the topic because a subscription outlives
|
|
6
|
+
* the lookup that finds it by ARN: `Unsubscribe` carries a subscription ARN and
|
|
7
|
+
* nothing else, so the subscription has to be reachable without knowing which
|
|
8
|
+
* topic it belongs to first.
|
|
9
|
+
*/
|
|
10
|
+
export class SimSnsSubscriptionStore {
|
|
11
|
+
subscriptions = new Map();
|
|
12
|
+
/**
|
|
13
|
+
* How many subscriptions each topic has had deleted, by topic name.
|
|
14
|
+
*
|
|
15
|
+
* Real SNS reports a running count as `SubscriptionsDeleted` rather than
|
|
16
|
+
* forgetting a subscription entirely, so the count is kept after the
|
|
17
|
+
* subscription itself is gone.
|
|
18
|
+
*/
|
|
19
|
+
deletedCounts = new Map();
|
|
20
|
+
/**
|
|
21
|
+
* Every subscription in this scope, in creation order.
|
|
22
|
+
*/
|
|
23
|
+
get all() {
|
|
24
|
+
return this.subscriptions.values().toArray();
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Store a newly created subscription.
|
|
28
|
+
*/
|
|
29
|
+
add(subscription) {
|
|
30
|
+
this.subscriptions.set(subscription.arn.value, subscription);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Find a subscription by ARN.
|
|
34
|
+
*/
|
|
35
|
+
find(arn) {
|
|
36
|
+
return this.subscriptions.get(arn);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Resolve a subscription by ARN, or refuse.
|
|
40
|
+
*/
|
|
41
|
+
require(arn) {
|
|
42
|
+
const found = this.find(arn);
|
|
43
|
+
if (found === undefined) {
|
|
44
|
+
throw new SimSnsNotFoundException(`Subscription does not exist: no subscription with the ARN ${arn}`);
|
|
45
|
+
}
|
|
46
|
+
return found;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* The subscriptions of one topic, in creation order.
|
|
50
|
+
*/
|
|
51
|
+
forTopic(topicName) {
|
|
52
|
+
return this.all.filter((subscription) => subscription.topicName === topicName);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* The counts a topic reports about its subscriptions.
|
|
56
|
+
*
|
|
57
|
+
* Nothing is ever pending, because the only protocol simulated is the one
|
|
58
|
+
* real SNS confirms itself.
|
|
59
|
+
*/
|
|
60
|
+
countsForTopic(topicName) {
|
|
61
|
+
return {
|
|
62
|
+
confirmed: this.forTopic(topicName).length,
|
|
63
|
+
pending: 0,
|
|
64
|
+
deleted: this.deletedCounts.get(topicName) ?? 0,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Forget one unsubscribed subscription.
|
|
69
|
+
*/
|
|
70
|
+
remove(subscription) {
|
|
71
|
+
this.subscriptions.delete(subscription.arn.value);
|
|
72
|
+
this.deletedCounts.set(subscription.topicName, (this.deletedCounts.get(subscription.topicName) ?? 0) + 1);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Forget every subscription of a deleted topic.
|
|
76
|
+
*
|
|
77
|
+
* Real SNS deletes a topic's subscriptions along with it, so a topic
|
|
78
|
+
* recreated under the same name starts with none. The deleted count goes with
|
|
79
|
+
* them for the same reason: it belonged to the topic that is gone.
|
|
80
|
+
*/
|
|
81
|
+
removeForTopic(topicName) {
|
|
82
|
+
for (const subscription of this.forTopic(topicName)) {
|
|
83
|
+
this.subscriptions.delete(subscription.arn.value);
|
|
84
|
+
}
|
|
85
|
+
this.deletedCounts.delete(topicName);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=sim-sns-subscription-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-subscription-store.js","sourceRoot":"","sources":["../../../../src/service/sns/subscription/sim-sns-subscription-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAepE;;;;;;;GAOG;AACH,MAAM,OAAO,uBAAuB;IACjB,aAAa,GAAG,IAAI,GAAG,EAA8B,CAAC;IAEvE;;;;;;OAMG;IACc,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE3D;;OAEG;IACH,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,YAAgC;QAClC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,GAAW;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,GAAW;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE7B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,uBAAuB,CAC/B,6DAA6D,GAAG,EAAE,CACnE,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,SAAiB;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CACpB,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,KAAK,SAAS,CACvD,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,SAAiB;QAC9B,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM;YAC1C,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC;SAChD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAgC;QACrC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,aAAa,CAAC,GAAG,CACpB,YAAY,CAAC,SAAS,EACtB,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAC1D,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CAAC,SAAiB;QAC9B,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;CACF"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { SimSnsPublishedMessage } from "../message/sim-sns-published-message.js";
|
|
2
|
+
import { SimSnsSubscriptionArn } from "./sim-sns-subscription-arn.js";
|
|
3
|
+
import type { SimSnsSubscriptionAttributeInput, SimSnsSubscriptionAttributes } from "./sim-sns-subscription-attributes.js";
|
|
4
|
+
import { type SimSnsSubscriptionEndpoint } from "./sim-sns-subscription-endpoint.js";
|
|
5
|
+
import type { SimSnsSubscriptionProtocol } from "./sim-sns-subscription-protocol.js";
|
|
6
|
+
interface SimSnsSubscriptionInput {
|
|
7
|
+
readonly topicArn: string;
|
|
8
|
+
readonly topicName: string;
|
|
9
|
+
readonly protocol: SimSnsSubscriptionProtocol;
|
|
10
|
+
readonly endpoint: string | undefined;
|
|
11
|
+
readonly owner: string;
|
|
12
|
+
readonly attributes: SimSnsSubscriptionAttributes;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* One simulated subscription to a topic.
|
|
16
|
+
*
|
|
17
|
+
* The endpoint is held as the ARN its protocol implies rather than as a string,
|
|
18
|
+
* because a delivery has to reach the Account and Region that ARN names rather
|
|
19
|
+
* than the topic's, and because what the ARN has to name is a question the
|
|
20
|
+
* protocol answers: a queue for `sqs`, a function for `lambda`.
|
|
21
|
+
*/
|
|
22
|
+
export declare class SimSnsSubscription {
|
|
23
|
+
readonly arn: SimSnsSubscriptionArn;
|
|
24
|
+
readonly topicArn: string;
|
|
25
|
+
readonly topicName: string;
|
|
26
|
+
readonly protocol: SimSnsSubscriptionProtocol;
|
|
27
|
+
readonly endpoint: SimSnsSubscriptionEndpoint;
|
|
28
|
+
readonly owner: string;
|
|
29
|
+
private held;
|
|
30
|
+
private constructor();
|
|
31
|
+
/**
|
|
32
|
+
* Create a subscription, refusing an endpoint the protocol cannot reach.
|
|
33
|
+
*
|
|
34
|
+
* Nothing checks that the endpoint exists, because real SNS does not either:
|
|
35
|
+
* a subscription to a queue or a function that is not there is created, and
|
|
36
|
+
* fails when something is delivered to it. That is the moment the endpoint's
|
|
37
|
+
* own policy is consulted too, so both failures surface in the same place,
|
|
38
|
+
* and a permission taken away after subscribing stops delivery.
|
|
39
|
+
*/
|
|
40
|
+
static of(input: SimSnsSubscriptionInput): SimSnsSubscription;
|
|
41
|
+
/**
|
|
42
|
+
* Whether another subscription would be a repeat of this one.
|
|
43
|
+
*
|
|
44
|
+
* Real SNS matches a repeated Subscribe on the topic, the protocol and the
|
|
45
|
+
* endpoint. Both subscriptions belong to a topic already by the time this is
|
|
46
|
+
* asked, so it is the other two that are compared here.
|
|
47
|
+
*/
|
|
48
|
+
repeats(other: SimSnsSubscription): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* The attributes this subscription currently holds.
|
|
51
|
+
*/
|
|
52
|
+
get attributes(): SimSnsSubscriptionAttributes;
|
|
53
|
+
/**
|
|
54
|
+
* Apply the attributes a request names, refusing any this simulation will not
|
|
55
|
+
* take.
|
|
56
|
+
*/
|
|
57
|
+
applyAttributes(requested: SimSnsSubscriptionAttributeInput): void;
|
|
58
|
+
/**
|
|
59
|
+
* Whether this subscription wants a published message.
|
|
60
|
+
*
|
|
61
|
+
* The subscription's filter policy is what decides, so this is asked once per
|
|
62
|
+
* subscription rather than once per publish: one subscriber filtering a
|
|
63
|
+
* message out has nothing to do with what another receives.
|
|
64
|
+
*/
|
|
65
|
+
accepts(message: SimSnsPublishedMessage): boolean;
|
|
66
|
+
/**
|
|
67
|
+
* This subscription as GetSubscriptionAttributes reports it.
|
|
68
|
+
*/
|
|
69
|
+
reportedAttributes(): Record<string, string>;
|
|
70
|
+
}
|
|
71
|
+
export {};
|
|
72
|
+
//# sourceMappingURL=sim-sns-subscription.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-subscription.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/subscription/sim-sns-subscription.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EACV,gCAAgC,EAChC,4BAA4B,EAC7B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAmCrF,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,0BAA0B,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,4BAA4B,CAAC;CACnD;AAED;;;;;;;GAOG;AACH,qBAAa,kBAAkB;IAC7B,SAAgB,GAAG,EAAE,qBAAqB,CAAC;IAC3C,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,QAAQ,EAAE,0BAA0B,CAAC;IACrD,SAAgB,QAAQ,EAAE,0BAA0B,CAAC;IACrD,SAAgB,KAAK,EAAE,MAAM,CAAC;IAE9B,OAAO,CAAC,IAAI,CAA+B;IAE3C,OAAO,eAQN;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,GAAG,kBAAkB,CAe5D;IAED;;;;;;OAMG;IACH,OAAO,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAK1C;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,4BAA4B,CAE7C;IAED;;;OAGG;IACH,eAAe,CAAC,SAAS,EAAE,gCAAgC,GAAG,IAAI,CAEjE;IAED;;;;;;OAMG;IACH,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAEhD;IAED;;OAEG;IACH,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAa3C;CACF"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { SimSnsSubscriptionArn } from "./sim-sns-subscription-arn.js";
|
|
2
|
+
import { requireSimSnsSubscriptionEndpoint, } from "./sim-sns-subscription-endpoint.js";
|
|
3
|
+
const subscriptionArnAttributeName = "SubscriptionArn";
|
|
4
|
+
const topicArnAttributeName = "TopicArn";
|
|
5
|
+
const protocolAttributeName = "Protocol";
|
|
6
|
+
const endpointAttributeName = "Endpoint";
|
|
7
|
+
const ownerAttributeName = "Owner";
|
|
8
|
+
/**
|
|
9
|
+
* The two attributes describing a confirmation that never had to happen.
|
|
10
|
+
*
|
|
11
|
+
* Real SNS confirms an `sqs` or a `lambda` subscription itself, so one created
|
|
12
|
+
* through the API is confirmed as soon as it exists and the confirmation counts
|
|
13
|
+
* as authenticated. Both are reported as constants because there is no protocol
|
|
14
|
+
* here that leaves a subscription pending.
|
|
15
|
+
*/
|
|
16
|
+
const confirmationAttributes = [
|
|
17
|
+
["ConfirmationWasAuthenticated", "true"],
|
|
18
|
+
["PendingConfirmation", "false"],
|
|
19
|
+
];
|
|
20
|
+
/**
|
|
21
|
+
* One simulated subscription to a topic.
|
|
22
|
+
*
|
|
23
|
+
* The endpoint is held as the ARN its protocol implies rather than as a string,
|
|
24
|
+
* because a delivery has to reach the Account and Region that ARN names rather
|
|
25
|
+
* than the topic's, and because what the ARN has to name is a question the
|
|
26
|
+
* protocol answers: a queue for `sqs`, a function for `lambda`.
|
|
27
|
+
*/
|
|
28
|
+
export class SimSnsSubscription {
|
|
29
|
+
arn;
|
|
30
|
+
topicArn;
|
|
31
|
+
topicName;
|
|
32
|
+
protocol;
|
|
33
|
+
endpoint;
|
|
34
|
+
owner;
|
|
35
|
+
held;
|
|
36
|
+
constructor(properties) {
|
|
37
|
+
this.arn = properties.arn;
|
|
38
|
+
this.topicArn = properties.topicArn;
|
|
39
|
+
this.topicName = properties.topicName;
|
|
40
|
+
this.protocol = properties.protocol;
|
|
41
|
+
this.endpoint = properties.endpoint;
|
|
42
|
+
this.owner = properties.owner;
|
|
43
|
+
this.held = properties.attributes;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Create a subscription, refusing an endpoint the protocol cannot reach.
|
|
47
|
+
*
|
|
48
|
+
* Nothing checks that the endpoint exists, because real SNS does not either:
|
|
49
|
+
* a subscription to a queue or a function that is not there is created, and
|
|
50
|
+
* fails when something is delivered to it. That is the moment the endpoint's
|
|
51
|
+
* own policy is consulted too, so both failures surface in the same place,
|
|
52
|
+
* and a permission taken away after subscribing stops delivery.
|
|
53
|
+
*/
|
|
54
|
+
static of(input) {
|
|
55
|
+
const arn = SimSnsSubscriptionArn.forTopic(input.topicArn);
|
|
56
|
+
return new this({
|
|
57
|
+
arn,
|
|
58
|
+
topicArn: input.topicArn,
|
|
59
|
+
topicName: input.topicName,
|
|
60
|
+
protocol: input.protocol,
|
|
61
|
+
endpoint: requireSimSnsSubscriptionEndpoint(input.protocol, input.endpoint),
|
|
62
|
+
owner: input.owner,
|
|
63
|
+
attributes: input.attributes,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Whether another subscription would be a repeat of this one.
|
|
68
|
+
*
|
|
69
|
+
* Real SNS matches a repeated Subscribe on the topic, the protocol and the
|
|
70
|
+
* endpoint. Both subscriptions belong to a topic already by the time this is
|
|
71
|
+
* asked, so it is the other two that are compared here.
|
|
72
|
+
*/
|
|
73
|
+
repeats(other) {
|
|
74
|
+
return (this.protocol === other.protocol &&
|
|
75
|
+
this.endpoint.value === other.endpoint.value);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* The attributes this subscription currently holds.
|
|
79
|
+
*/
|
|
80
|
+
get attributes() {
|
|
81
|
+
return this.held;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Apply the attributes a request names, refusing any this simulation will not
|
|
85
|
+
* take.
|
|
86
|
+
*/
|
|
87
|
+
applyAttributes(requested) {
|
|
88
|
+
this.held = this.held.with(requested);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Whether this subscription wants a published message.
|
|
92
|
+
*
|
|
93
|
+
* The subscription's filter policy is what decides, so this is asked once per
|
|
94
|
+
* subscription rather than once per publish: one subscriber filtering a
|
|
95
|
+
* message out has nothing to do with what another receives.
|
|
96
|
+
*/
|
|
97
|
+
accepts(message) {
|
|
98
|
+
return this.held.accepts(message);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* This subscription as GetSubscriptionAttributes reports it.
|
|
102
|
+
*/
|
|
103
|
+
reportedAttributes() {
|
|
104
|
+
const reported = new Map([
|
|
105
|
+
[subscriptionArnAttributeName, this.arn.value],
|
|
106
|
+
[topicArnAttributeName, this.topicArn],
|
|
107
|
+
[protocolAttributeName, this.protocol],
|
|
108
|
+
[endpointAttributeName, this.endpoint.value],
|
|
109
|
+
[ownerAttributeName, this.owner],
|
|
110
|
+
...confirmationAttributes,
|
|
111
|
+
]);
|
|
112
|
+
this.held.reportInto(reported);
|
|
113
|
+
return Object.fromEntries(reported);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=sim-sns-subscription.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-subscription.js","sourceRoot":"","sources":["../../../../src/service/sns/subscription/sim-sns-subscription.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAKtE,OAAO,EACL,iCAAiC,GAElC,MAAM,oCAAoC,CAAC;AAG5C,MAAM,4BAA4B,GAAG,iBAAiB,CAAC;AAEvD,MAAM,qBAAqB,GAAG,UAAU,CAAC;AAEzC,MAAM,qBAAqB,GAAG,UAAU,CAAC;AAEzC,MAAM,qBAAqB,GAAG,UAAU,CAAC;AAEzC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAEnC;;;;;;;GAOG;AACH,MAAM,sBAAsB,GAA2C;IACrE,CAAC,8BAA8B,EAAE,MAAM,CAAC;IACxC,CAAC,qBAAqB,EAAE,OAAO,CAAC;CACjC,CAAC;AAqBF;;;;;;;GAOG;AACH,MAAM,OAAO,kBAAkB;IACb,GAAG,CAAwB;IAC3B,QAAQ,CAAS;IACjB,SAAS,CAAS;IAClB,QAAQ,CAA6B;IACrC,QAAQ,CAA6B;IACrC,KAAK,CAAS;IAEtB,IAAI,CAA+B;IAE3C,YAAoB,UAAwC;QAC1D,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC;IACpC,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,CAAC,KAA8B;QACtC,MAAM,GAAG,GAAG,qBAAqB,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE3D,OAAO,IAAI,IAAI,CAAC;YACd,GAAG;YACH,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ,EAAE,iCAAiC,CACzC,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,QAAQ,CACf;YACD,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,UAAU,EAAE,KAAK,CAAC,UAAU;SAC7B,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,KAAyB;QAC/B,OAAO,CACL,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;YAChC,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ,CAAC,KAAK,CAC7C,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,SAA2C;QACzD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,OAA+B;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAiB;YACvC,CAAC,4BAA4B,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YAC9C,CAAC,qBAAqB,EAAE,IAAI,CAAC,QAAQ,CAAC;YACtC,CAAC,qBAAqB,EAAE,IAAI,CAAC,QAAQ,CAAC;YACtC,CAAC,qBAAqB,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC5C,CAAC,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC;YAChC,GAAG,sBAAsB;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAE/B,OAAO,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;CACF"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
|
|
2
|
+
import type { SimSnsTopicName } from "./sim-sns-topic-name.js";
|
|
3
|
+
/**
|
|
4
|
+
* The part of a topic ARN that comes before the topic's own name.
|
|
5
|
+
*
|
|
6
|
+
* A topic ARN has no resource type separator, so the name follows the account
|
|
7
|
+
* id directly. That is why `parseSimArn` cannot read one, and why an IAM policy
|
|
8
|
+
* resource for a topic is `arn:aws:sns:region:account:name` rather than
|
|
9
|
+
* anything with a `topic/` in it.
|
|
10
|
+
*/
|
|
11
|
+
export declare function snsTopicArnPrefix(accountRegionScope: SimAwsAccountRegionScope): string;
|
|
12
|
+
/**
|
|
13
|
+
* Where one topic is, in the three facts its ARN carries.
|
|
14
|
+
*
|
|
15
|
+
* The strings are unbranded because the callers that have only read an ARN,
|
|
16
|
+
* rather than been handed a scope, have nothing but strings to offer.
|
|
17
|
+
*/
|
|
18
|
+
export interface SimSnsTopicLocation {
|
|
19
|
+
readonly regionName: string;
|
|
20
|
+
readonly accountId: string;
|
|
21
|
+
readonly name: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Read a topic ARN into the Region, Account and name it carries.
|
|
25
|
+
*
|
|
26
|
+
* All three matter. An ARN naming another Account or Region reaches nothing in
|
|
27
|
+
* a simulated SNS scope rather than having its name read out and looked up
|
|
28
|
+
* locally, and treating a foreign one as local would let a test pass while the
|
|
29
|
+
* real call crossed a boundary it has no permission for.
|
|
30
|
+
*
|
|
31
|
+
* Nothing is returned for a string that is not a topic ARN, including a
|
|
32
|
+
* subscription ARN, which carries the subscription id as a seventh part.
|
|
33
|
+
*/
|
|
34
|
+
export declare function parseSnsTopicArn(value: string): SimSnsTopicLocation | undefined;
|
|
35
|
+
interface SimSnsTopicArnProperties {
|
|
36
|
+
readonly name: SimSnsTopicName;
|
|
37
|
+
readonly accountRegionScope: SimAwsAccountRegionScope;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* The ARN of one simulated topic.
|
|
41
|
+
*
|
|
42
|
+
* SNS requests name a topic by ARN rather than by a URL of its own, so this is
|
|
43
|
+
* the only identifier a caller passes around, and it is what IAM authorizes
|
|
44
|
+
* against.
|
|
45
|
+
*/
|
|
46
|
+
export declare class SimSnsTopicArn {
|
|
47
|
+
readonly name: string;
|
|
48
|
+
readonly value: string;
|
|
49
|
+
constructor(properties: SimSnsTopicArnProperties);
|
|
50
|
+
}
|
|
51
|
+
export {};
|
|
52
|
+
//# sourceMappingURL=sim-sns-topic-arn.d.ts.map
|