@kensio/yulin 1.8.0 → 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -0
- package/dist/sdk/router/resolve-sim-sdk-command-router.d.ts.map +1 -1
- package/dist/sdk/router/resolve-sim-sdk-command-router.js +3 -0
- package/dist/sdk/router/resolve-sim-sdk-command-router.js.map +1 -1
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts +17 -0
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.js +37 -42
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.js.map +1 -1
- package/dist/service/aws/factory/sim-aws-s3-notification-destinations.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-s3-notification-destinations.js +5 -0
- package/dist/service/aws/factory/sim-aws-s3-notification-destinations.js.map +1 -1
- package/dist/service/aws/factory/sim-aws-scoped-service-properties.d.ts +18 -0
- package/dist/service/aws/factory/sim-aws-scoped-service-properties.d.ts.map +1 -0
- package/dist/service/aws/factory/sim-aws-scoped-service-properties.js +2 -0
- package/dist/service/aws/factory/sim-aws-scoped-service-properties.js.map +1 -0
- package/dist/service/aws/factory/sim-aws-service-factory.d.ts +3 -0
- package/dist/service/aws/factory/sim-aws-service-factory.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-service-factory.js +4 -0
- package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
- package/dist/service/aws/sim-aws-account-region-scope.d.ts +5 -0
- package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-account-region-scope.js +6 -0
- package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
- package/dist/service/aws/sim-aws-service-accessors.d.ts +3 -0
- package/dist/service/aws/sim-aws-service-accessors.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-service-accessors.js +4 -0
- package/dist/service/aws/sim-aws-service-accessors.js.map +1 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.d.ts +36 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.d.ts.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.js +64 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.js.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.d.ts +31 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.d.ts.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.js +42 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.js.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-files.d.ts +13 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-files.d.ts.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-files.js +68 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-files.js.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.d.ts +30 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.d.ts.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.js +35 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.js.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/filter/sim-cdk-bucket-deploy-filter.d.ts +27 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/filter/sim-cdk-bucket-deploy-filter.d.ts.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/filter/sim-cdk-bucket-deploy-filter.js +76 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/filter/sim-cdk-bucket-deploy-filter.js.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-properties.d.ts +24 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-properties.d.ts.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-properties.js +46 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-properties.js.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-values.d.ts +42 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-values.d.ts.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-values.js +96 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-values.js.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.d.ts +1 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.d.ts.map +1 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.js +10 -35
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.js.map +1 -1
- package/dist/service/cloudformation/cdk/s3/bucket-notifications/configuration/sim-cdk-bucket-notification-configuration.d.ts +2 -0
- package/dist/service/cloudformation/cdk/s3/bucket-notifications/configuration/sim-cdk-bucket-notification-configuration.d.ts.map +1 -1
- package/dist/service/cloudformation/cdk/s3/bucket-notifications/configuration/sim-cdk-bucket-notification-configuration.js +15 -1
- package/dist/service/cloudformation/cdk/s3/bucket-notifications/configuration/sim-cdk-bucket-notification-configuration.js.map +1 -1
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.js +8 -0
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.js.map +1 -1
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-rh-policy-cfn.d.ts +25 -0
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-rh-policy-cfn.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-rh-policy-cfn.js +32 -0
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-rh-policy-cfn.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js +2 -0
- package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js.map +1 -1
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-cfn-value-adapter.d.ts +11 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-cfn-value-adapter.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-cfn-value-adapter.js +24 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-cfn-value-adapter.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-subscription-cfn.d.ts +27 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-subscription-cfn.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-subscription-cfn.js +29 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-subscription-cfn.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-topic-cfn.d.ts +30 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-topic-cfn.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-topic-cfn.js +39 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-topic-cfn.js.map +1 -0
- package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-factories.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-factories.js +4 -0
- package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-factories.js.map +1 -1
- package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.d.ts +4 -0
- package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.d.ts.map +1 -1
- package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.js.map +1 -1
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-config.d.ts +38 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-config.d.ts.map +1 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-config.js +127 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-config.js.map +1 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-creator.d.ts +25 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-creator.d.ts.map +1 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-creator.js +33 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-creator.js.map +1 -0
- package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.d.ts +1 -0
- package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.d.ts.map +1 -1
- package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.js +11 -0
- package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.js.map +1 -1
- package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts +1 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts.map +1 -1
- package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.d.ts +3 -0
- package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.d.ts.map +1 -1
- package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.js +3 -0
- package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.js.map +1 -1
- package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.d.ts +19 -0
- package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.d.ts.map +1 -0
- package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.js +31 -0
- package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.js.map +1 -0
- package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.d.ts +4 -8
- package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.d.ts.map +1 -1
- package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.js +16 -19
- package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.js.map +1 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.js +3 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.js.map +1 -1
- package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts +19 -0
- package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts.map +1 -1
- package/dist/service/cloudfront/error/sim-cloudfront.error.js +23 -0
- package/dist/service/cloudfront/error/sim-cloudfront.error.js.map +1 -1
- package/dist/service/cloudfront/origin/s3/sim-cloudfront-s3-origin.d.ts.map +1 -1
- package/dist/service/cloudfront/origin/s3/sim-cloudfront-s3-origin.js +2 -5
- package/dist/service/cloudfront/origin/s3/sim-cloudfront-s3-origin.js.map +1 -1
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-header.d.ts +25 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-header.d.ts.map +1 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-header.js +30 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-header.js.map +1 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.d.ts +29 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.d.ts.map +1 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.js +40 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.js.map +1 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.d.ts +35 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.d.ts.map +1 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.js +44 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.js.map +1 -0
- package/dist/service/cloudfront/sim-cloudfront.d.ts +18 -0
- package/dist/service/cloudfront/sim-cloudfront.d.ts.map +1 -1
- package/dist/service/cloudfront/sim-cloudfront.js +24 -0
- package/dist/service/cloudfront/sim-cloudfront.js.map +1 -1
- package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.d.ts.map +1 -1
- package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.js +4 -1
- package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.js.map +1 -1
- package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-looked-up-zone.d.ts +39 -0
- package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-looked-up-zone.d.ts.map +1 -0
- package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-looked-up-zone.js +46 -0
- package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-looked-up-zone.js.map +1 -0
- package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-rec-set-zone-resolver.d.ts +2 -0
- package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-rec-set-zone-resolver.d.ts.map +1 -1
- package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-rec-set-zone-resolver.js +17 -1
- package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-rec-set-zone-resolver.js.map +1 -1
- package/dist/service/route53/hosted-zone/register-sim-route53-hosted-zone.d.ts +6 -0
- package/dist/service/route53/hosted-zone/register-sim-route53-hosted-zone.d.ts.map +1 -1
- package/dist/service/route53/hosted-zone/register-sim-route53-hosted-zone.js +1 -0
- package/dist/service/route53/hosted-zone/register-sim-route53-hosted-zone.js.map +1 -1
- package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.d.ts +23 -10
- package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.d.ts.map +1 -1
- package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.js +32 -45
- package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.js.map +1 -1
- package/dist/service/route53/hosted-zone/sim-route53-zone-name-widening.d.ts +16 -0
- package/dist/service/route53/hosted-zone/sim-route53-zone-name-widening.d.ts.map +1 -0
- package/dist/service/route53/hosted-zone/sim-route53-zone-name-widening.js +35 -0
- package/dist/service/route53/hosted-zone/sim-route53-zone-name-widening.js.map +1 -0
- package/dist/service/route53/hosted-zone/sim-route53-zone-synchronization.d.ts +23 -0
- package/dist/service/route53/hosted-zone/sim-route53-zone-synchronization.d.ts.map +1 -0
- package/dist/service/route53/hosted-zone/sim-route53-zone-synchronization.js +43 -0
- package/dist/service/route53/hosted-zone/sim-route53-zone-synchronization.js.map +1 -0
- package/dist/service/route53/sim-route53.d.ts +1 -1
- package/dist/service/route53/sim-route53.d.ts.map +1 -1
- package/dist/service/route53/sim-route53.js +1 -1
- package/dist/service/route53/sim-route53.js.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration-reader.d.ts.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration-reader.js +2 -0
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration-reader.js.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.d.ts +3 -0
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.d.ts.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.js +10 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.js.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-topic-notification.d.ts +21 -0
- package/dist/service/s3/bucket/notification/sim-s3-topic-notification.d.ts.map +1 -0
- package/dist/service/s3/bucket/notification/sim-s3-topic-notification.js +24 -0
- package/dist/service/s3/bucket/notification/sim-s3-topic-notification.js.map +1 -0
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.d.ts +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.d.ts.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.js +3 -3
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.js.map +1 -1
- package/dist/service/s3/bucket/sim-s3-bucket-access.d.ts.map +1 -1
- package/dist/service/s3/bucket/sim-s3-bucket-access.js +6 -1
- package/dist/service/s3/bucket/sim-s3-bucket-access.js.map +1 -1
- package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.d.ts +9 -6
- package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.d.ts.map +1 -1
- package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.js +32 -7
- package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.js.map +1 -1
- package/dist/service/s3/command/get-bucket-notification-configuration/get-bucket-notification-configuration.command.d.ts +2 -1
- package/dist/service/s3/command/get-bucket-notification-configuration/get-bucket-notification-configuration.command.d.ts.map +1 -1
- package/dist/service/s3/command/put-bucket-notification-configuration/put-bucket-notification-configuration.command.d.ts +10 -1
- package/dist/service/s3/command/put-bucket-notification-configuration/put-bucket-notification-configuration.command.d.ts.map +1 -1
- package/dist/service/s3/command/put-object/put-object-builder.d.ts +13 -4
- package/dist/service/s3/command/put-object/put-object-builder.d.ts.map +1 -1
- package/dist/service/s3/command/put-object/put-object-builder.js +27 -10
- package/dist/service/s3/command/put-object/put-object-builder.js.map +1 -1
- package/dist/service/s3/command/put-object/put-object.command.d.ts +11 -0
- package/dist/service/s3/command/put-object/put-object.command.d.ts.map +1 -1
- package/dist/service/s3/mount/sim-s3-mount.type.d.ts +12 -0
- package/dist/service/s3/mount/sim-s3-mount.type.d.ts.map +1 -1
- package/dist/service/s3/notification/destination/sim-s3-notification-destination.d.ts +1 -1
- package/dist/service/s3/notification/destination/sim-s3-notification-destination.d.ts.map +1 -1
- package/dist/service/s3/notification/destination/sim-s3-service-notification-destinations.d.ts +2 -0
- package/dist/service/s3/notification/destination/sim-s3-service-notification-destinations.d.ts.map +1 -1
- package/dist/service/s3/notification/destination/sim-s3-service-notification-destinations.js +5 -0
- package/dist/service/s3/notification/destination/sim-s3-service-notification-destinations.js.map +1 -1
- package/dist/service/s3/notification/destination/sns/sim-aws-s3-notification-topics.d.ts +38 -0
- package/dist/service/s3/notification/destination/sns/sim-aws-s3-notification-topics.d.ts.map +1 -0
- package/dist/service/s3/notification/destination/sns/sim-aws-s3-notification-topics.js +50 -0
- package/dist/service/s3/notification/destination/sns/sim-aws-s3-notification-topics.js.map +1 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic-arn.d.ts +31 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic-arn.d.ts.map +1 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic-arn.js +48 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic-arn.js.map +1 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic.d.ts +43 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic.d.ts.map +1 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic.js +71 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic.js.map +1 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topics.d.ts +22 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topics.d.ts.map +1 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topics.js +2 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topics.js.map +1 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-sns-notification-destination.d.ts +40 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-sns-notification-destination.d.ts.map +1 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-sns-notification-destination.js +51 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-sns-notification-destination.js.map +1 -0
- package/dist/service/s3/object/s3-object-response-headers.d.ts +17 -0
- package/dist/service/s3/object/s3-object-response-headers.d.ts.map +1 -0
- package/dist/service/s3/object/s3-object-response-headers.js +29 -0
- package/dist/service/s3/object/s3-object-response-headers.js.map +1 -0
- package/dist/service/s3/object/s3-system-metadata.d.ts +32 -0
- package/dist/service/s3/object/s3-system-metadata.d.ts.map +1 -0
- package/dist/service/s3/object/s3-system-metadata.js +35 -0
- package/dist/service/s3/object/s3-system-metadata.js.map +1 -0
- package/dist/service/s3/serve/sim-s3-rest-object-reader.d.ts.map +1 -1
- package/dist/service/s3/serve/sim-s3-rest-object-reader.js +2 -5
- package/dist/service/s3/serve/sim-s3-rest-object-reader.js.map +1 -1
- package/dist/service/s3/serve/website/sim-s3-website-object-loader.js +1 -1
- package/dist/service/s3/serve/website/sim-s3-website-object-loader.js.map +1 -1
- package/dist/service/s3/serve/website/sim-s3-website-object.d.ts +3 -4
- package/dist/service/s3/serve/website/sim-s3-website-object.d.ts.map +1 -1
- package/dist/service/s3/serve/website/sim-s3-website-object.js +6 -11
- package/dist/service/s3/serve/website/sim-s3-website-object.js.map +1 -1
- package/dist/service/s3/storage/filesystem/s3-filesystem-allowed.d.ts +36 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-allowed.d.ts.map +1 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-allowed.js +73 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-allowed.js.map +1 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-object-metadata.d.ts.map +1 -1
- package/dist/service/s3/storage/filesystem/s3-filesystem-object-metadata.js +5 -6
- package/dist/service/s3/storage/filesystem/s3-filesystem-object-metadata.js.map +1 -1
- package/dist/service/s3/storage/filesystem/s3-filesystem-safety.d.ts +2 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-safety.d.ts.map +1 -1
- package/dist/service/s3/storage/filesystem/s3-filesystem-safety.js +7 -41
- package/dist/service/s3/storage/filesystem/s3-filesystem-safety.js.map +1 -1
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.d.ts +1 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.d.ts.map +1 -1
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.js +1 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.js.map +1 -1
- package/dist/service/sns/cfn/sim-cfn-sns-attribute-value.d.ts +15 -0
- package/dist/service/sns/cfn/sim-cfn-sns-attribute-value.d.ts.map +1 -0
- package/dist/service/sns/cfn/sim-cfn-sns-attribute-value.js +23 -0
- package/dist/service/sns/cfn/sim-cfn-sns-attribute-value.js.map +1 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.d.ts +38 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.d.ts.map +1 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.js +73 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.js.map +1 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-error.d.ts +24 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-error.d.ts.map +1 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-error.js +39 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-error.js.map +1 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-types.d.ts +11 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-types.d.ts.map +1 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-types.js +11 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-types.js.map +1 -0
- package/dist/service/sns/cfn/sim-sns-cfn-resource-factory.d.ts +31 -0
- package/dist/service/sns/cfn/sim-sns-cfn-resource-factory.d.ts.map +1 -0
- package/dist/service/sns/cfn/sim-sns-cfn-resource-factory.js +54 -0
- package/dist/service/sns/cfn/sim-sns-cfn-resource-factory.js.map +1 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.d.ts +26 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.d.ts.map +1 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.js +37 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.js.map +1 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-properties.d.ts +47 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-properties.d.ts.map +1 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-properties.js +88 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-properties.js.map +1 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-property-names.d.ts +36 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-property-names.d.ts.map +1 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-property-names.js +55 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-property-names.js.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-inline-subscriptions.d.ts +23 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-inline-subscriptions.d.ts.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-inline-subscriptions.js +49 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-inline-subscriptions.js.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.d.ts +34 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.d.ts.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.js +60 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.js.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-name.d.ts +22 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-name.d.ts.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-name.js +27 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-name.js.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-properties.d.ts +58 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-properties.d.ts.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-properties.js +93 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-properties.js.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-property-names.d.ts +31 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-property-names.d.ts.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-property-names.js +52 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-property-names.js.map +1 -0
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.d.ts +34 -0
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.d.ts.map +1 -0
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.js +58 -0
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.js.map +1 -0
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-properties.d.ts +20 -0
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-properties.d.ts.map +1 -0
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-properties.js +44 -0
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-properties.js.map +1 -0
- package/dist/service/sns/command/authorize/sim-sns-authorizer.d.ts +58 -0
- package/dist/service/sns/command/authorize/sim-sns-authorizer.d.ts.map +1 -0
- package/dist/service/sns/command/authorize/sim-sns-authorizer.js +83 -0
- package/dist/service/sns/command/authorize/sim-sns-authorizer.js.map +1 -0
- package/dist/service/sns/command/authorize/sim-sns-condition-context.d.ts +13 -0
- package/dist/service/sns/command/authorize/sim-sns-condition-context.d.ts.map +1 -0
- package/dist/service/sns/command/authorize/sim-sns-condition-context.js +21 -0
- package/dist/service/sns/command/authorize/sim-sns-condition-context.js.map +1 -0
- package/dist/service/sns/command/authorize/sim-sns-service-publish-authorizer.d.ts +41 -0
- package/dist/service/sns/command/authorize/sim-sns-service-publish-authorizer.d.ts.map +1 -0
- package/dist/service/sns/command/authorize/sim-sns-service-publish-authorizer.js +40 -0
- package/dist/service/sns/command/authorize/sim-sns-service-publish-authorizer.js.map +1 -0
- package/dist/service/sns/command/authorize/sim-sns-topic-resource-policies.d.ts +12 -0
- package/dist/service/sns/command/authorize/sim-sns-topic-resource-policies.d.ts.map +1 -0
- package/dist/service/sns/command/authorize/sim-sns-topic-resource-policies.js +25 -0
- package/dist/service/sns/command/authorize/sim-sns-topic-resource-policies.js.map +1 -0
- package/dist/service/sns/command/publish/publish.command.d.ts +70 -0
- package/dist/service/sns/command/publish/publish.command.d.ts.map +1 -0
- package/dist/service/sns/command/publish/publish.command.js +2 -0
- package/dist/service/sns/command/publish/publish.command.js.map +1 -0
- package/dist/service/sns/command/publish/sim-sns-batch-entries.d.ts +52 -0
- package/dist/service/sns/command/publish/sim-sns-batch-entries.d.ts.map +1 -0
- package/dist/service/sns/command/publish/sim-sns-batch-entries.js +85 -0
- package/dist/service/sns/command/publish/sim-sns-batch-entries.js.map +1 -0
- package/dist/service/sns/command/publish/sim-sns-publish-commands.d.ts +53 -0
- package/dist/service/sns/command/publish/sim-sns-publish-commands.d.ts.map +1 -0
- package/dist/service/sns/command/publish/sim-sns-publish-commands.js +83 -0
- package/dist/service/sns/command/publish/sim-sns-publish-commands.js.map +1 -0
- package/dist/service/sns/command/publish/sim-sns-publish-input.d.ts +23 -0
- package/dist/service/sns/command/publish/sim-sns-publish-input.d.ts.map +1 -0
- package/dist/service/sns/command/publish/sim-sns-publish-input.js +47 -0
- package/dist/service/sns/command/publish/sim-sns-publish-input.js.map +1 -0
- package/dist/service/sns/command/sim-sns-command.types.d.ts +7 -0
- package/dist/service/sns/command/sim-sns-command.types.d.ts.map +1 -0
- package/dist/service/sns/command/sim-sns-command.types.js +2 -0
- package/dist/service/sns/command/sim-sns-command.types.js.map +1 -0
- package/dist/service/sns/command/sim-sns-commands.d.ts +45 -0
- package/dist/service/sns/command/sim-sns-commands.d.ts.map +1 -0
- package/dist/service/sns/command/sim-sns-commands.js +83 -0
- package/dist/service/sns/command/sim-sns-commands.js.map +1 -0
- package/dist/service/sns/command/sim-sns-page.d.ts +19 -0
- package/dist/service/sns/command/sim-sns-page.d.ts.map +1 -0
- package/dist/service/sns/command/sim-sns-page.js +51 -0
- package/dist/service/sns/command/sim-sns-page.js.map +1 -0
- package/dist/service/sns/command/sim-sns-request-options.d.ts +47 -0
- package/dist/service/sns/command/sim-sns-request-options.d.ts.map +1 -0
- package/dist/service/sns/command/sim-sns-request-options.js +19 -0
- package/dist/service/sns/command/sim-sns-request-options.js.map +1 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-access.d.ts +42 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-access.d.ts.map +1 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-access.js +57 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-access.js.map +1 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-attribute-commands.d.ts +31 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-attribute-commands.d.ts.map +1 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-attribute-commands.js +44 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-attribute-commands.js.map +1 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-commands.d.ts +50 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-commands.d.ts.map +1 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-commands.js +73 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-commands.js.map +1 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-listings.d.ts +34 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-listings.d.ts.map +1 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-listings.js +57 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-listings.js.map +1 -0
- package/dist/service/sns/command/subscription/subscription.command.d.ts +118 -0
- package/dist/service/sns/command/subscription/subscription.command.d.ts.map +1 -0
- package/dist/service/sns/command/subscription/subscription.command.js +2 -0
- package/dist/service/sns/command/subscription/subscription.command.js.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-create-topic.d.ts +41 -0
- package/dist/service/sns/command/topic/sim-sns-create-topic.d.ts.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-create-topic.js +54 -0
- package/dist/service/sns/command/topic/sim-sns-create-topic.js.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-request-topic-name.d.ts +11 -0
- package/dist/service/sns/command/topic/sim-sns-request-topic-name.d.ts.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-request-topic-name.js +28 -0
- package/dist/service/sns/command/topic/sim-sns-request-topic-name.js.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-topic-access.d.ts +76 -0
- package/dist/service/sns/command/topic/sim-sns-topic-access.d.ts.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-topic-access.js +81 -0
- package/dist/service/sns/command/topic/sim-sns-topic-access.js.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-topic-attribute-commands.d.ts +36 -0
- package/dist/service/sns/command/topic/sim-sns-topic-attribute-commands.d.ts.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-topic-attribute-commands.js +47 -0
- package/dist/service/sns/command/topic/sim-sns-topic-attribute-commands.js.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-topic-commands.d.ts +42 -0
- package/dist/service/sns/command/topic/sim-sns-topic-commands.d.ts.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-topic-commands.js +51 -0
- package/dist/service/sns/command/topic/sim-sns-topic-commands.js.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-unsimulated-topic-input.d.ts +11 -0
- package/dist/service/sns/command/topic/sim-sns-unsimulated-topic-input.d.ts.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-unsimulated-topic-input.js +20 -0
- package/dist/service/sns/command/topic/sim-sns-unsimulated-topic-input.js.map +1 -0
- package/dist/service/sns/command/topic/topic.command.d.ts +95 -0
- package/dist/service/sns/command/topic/topic.command.d.ts.map +1 -0
- package/dist/service/sns/command/topic/topic.command.js +2 -0
- package/dist/service/sns/command/topic/topic.command.js.map +1 -0
- package/dist/service/sns/delivery/lambda/sim-aws-sns-delivery-functions.d.ts +27 -0
- package/dist/service/sns/delivery/lambda/sim-aws-sns-delivery-functions.d.ts.map +1 -0
- package/dist/service/sns/delivery/lambda/sim-aws-sns-delivery-functions.js +31 -0
- package/dist/service/sns/delivery/lambda/sim-aws-sns-delivery-functions.js.map +1 -0
- package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.d.ts +31 -0
- package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.d.ts.map +1 -0
- package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.js +62 -0
- package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.js.map +1 -0
- package/dist/service/sns/delivery/lambda/sim-sns-lambda-event.d.ts +10 -0
- package/dist/service/sns/delivery/lambda/sim-sns-lambda-event.d.ts.map +1 -0
- package/dist/service/sns/delivery/lambda/sim-sns-lambda-event.js +53 -0
- package/dist/service/sns/delivery/lambda/sim-sns-lambda-event.js.map +1 -0
- package/dist/service/sns/delivery/sim-aws-sns-delivery-endpoints.d.ts +17 -0
- package/dist/service/sns/delivery/sim-aws-sns-delivery-endpoints.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-aws-sns-delivery-endpoints.js +21 -0
- package/dist/service/sns/delivery/sim-aws-sns-delivery-endpoints.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-canonical-message.d.ts +32 -0
- package/dist/service/sns/delivery/sim-sns-canonical-message.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-canonical-message.js +24 -0
- package/dist/service/sns/delivery/sim-sns-canonical-message.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-delivery-failures.d.ts +60 -0
- package/dist/service/sns/delivery/sim-sns-delivery-failures.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-delivery-failures.js +84 -0
- package/dist/service/sns/delivery/sim-sns-delivery-failures.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-delivery-request.d.ts +28 -0
- package/dist/service/sns/delivery/sim-sns-delivery-request.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-delivery-request.js +34 -0
- package/dist/service/sns/delivery/sim-sns-delivery-request.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-delivery.d.ts +55 -0
- package/dist/service/sns/delivery/sim-sns-delivery.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-delivery.js +18 -0
- package/dist/service/sns/delivery/sim-sns-delivery.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-envelope.d.ts +26 -0
- package/dist/service/sns/delivery/sim-sns-envelope.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-envelope.js +41 -0
- package/dist/service/sns/delivery/sim-sns-envelope.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-fan-out.d.ts +53 -0
- package/dist/service/sns/delivery/sim-sns-fan-out.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-fan-out.js +69 -0
- package/dist/service/sns/delivery/sim-sns-fan-out.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-no-delivery-endpoints.d.ts +17 -0
- package/dist/service/sns/delivery/sim-sns-no-delivery-endpoints.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-no-delivery-endpoints.js +23 -0
- package/dist/service/sns/delivery/sim-sns-no-delivery-endpoints.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-notification.d.ts +57 -0
- package/dist/service/sns/delivery/sim-sns-notification.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-notification.js +64 -0
- package/dist/service/sns/delivery/sim-sns-notification.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-protocol-delivery-endpoints.d.ts +32 -0
- package/dist/service/sns/delivery/sim-sns-protocol-delivery-endpoints.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-protocol-delivery-endpoints.js +22 -0
- package/dist/service/sns/delivery/sim-sns-protocol-delivery-endpoints.js.map +1 -0
- package/dist/service/sns/delivery/sqs/sim-aws-sns-delivery-queues.d.ts +29 -0
- package/dist/service/sns/delivery/sqs/sim-aws-sns-delivery-queues.d.ts.map +1 -0
- package/dist/service/sns/delivery/sqs/sim-aws-sns-delivery-queues.js +33 -0
- package/dist/service/sns/delivery/sqs/sim-aws-sns-delivery-queues.js.map +1 -0
- package/dist/service/sns/delivery/sqs/sim-sns-delivery-queue.d.ts +31 -0
- package/dist/service/sns/delivery/sqs/sim-sns-delivery-queue.d.ts.map +1 -0
- package/dist/service/sns/delivery/sqs/sim-sns-delivery-queue.js +63 -0
- package/dist/service/sns/delivery/sqs/sim-sns-delivery-queue.js.map +1 -0
- package/dist/service/sns/delivery/sqs/sim-sns-queue-message.d.ts +24 -0
- package/dist/service/sns/delivery/sqs/sim-sns-queue-message.d.ts.map +1 -0
- package/dist/service/sns/delivery/sqs/sim-sns-queue-message.js +38 -0
- package/dist/service/sns/delivery/sqs/sim-sns-queue-message.js.map +1 -0
- package/dist/service/sns/error/sim-sns-delivery.error.d.ts +13 -0
- package/dist/service/sns/error/sim-sns-delivery.error.d.ts.map +1 -0
- package/dist/service/sns/error/sim-sns-delivery.error.js +13 -0
- package/dist/service/sns/error/sim-sns-delivery.error.js.map +1 -0
- package/dist/service/sns/error/sim-sns.error.d.ts +107 -0
- package/dist/service/sns/error/sim-sns.error.d.ts.map +1 -0
- package/dist/service/sns/error/sim-sns.error.js +124 -0
- package/dist/service/sns/error/sim-sns.error.js.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-anything-but-match.d.ts +30 -0
- package/dist/service/sns/filter/match/sim-sns-anything-but-match.d.ts.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-anything-but-match.js +82 -0
- package/dist/service/sns/filter/match/sim-sns-anything-but-match.js.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-equals-ignore-case-match.d.ts +24 -0
- package/dist/service/sns/filter/match/sim-sns-equals-ignore-case-match.d.ts.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-equals-ignore-case-match.js +30 -0
- package/dist/service/sns/filter/match/sim-sns-equals-ignore-case-match.js.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-exact-match.d.ts +22 -0
- package/dist/service/sns/filter/match/sim-sns-exact-match.d.ts.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-exact-match.js +49 -0
- package/dist/service/sns/filter/match/sim-sns-exact-match.js.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-exists-match.d.ts +27 -0
- package/dist/service/sns/filter/match/sim-sns-exists-match.d.ts.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-exists-match.js +38 -0
- package/dist/service/sns/filter/match/sim-sns-exists-match.js.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-filter-match.d.ts +24 -0
- package/dist/service/sns/filter/match/sim-sns-filter-match.d.ts.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-filter-match.js +19 -0
- package/dist/service/sns/filter/match/sim-sns-filter-match.js.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-numeric-match.d.ts +48 -0
- package/dist/service/sns/filter/match/sim-sns-numeric-match.d.ts.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-numeric-match.js +107 -0
- package/dist/service/sns/filter/match/sim-sns-numeric-match.js.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-prefix-match.d.ts +26 -0
- package/dist/service/sns/filter/match/sim-sns-prefix-match.d.ts.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-prefix-match.js +32 -0
- package/dist/service/sns/filter/match/sim-sns-prefix-match.js.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-suffix-match.d.ts +23 -0
- package/dist/service/sns/filter/match/sim-sns-suffix-match.d.ts.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-suffix-match.js +29 -0
- package/dist/service/sns/filter/match/sim-sns-suffix-match.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-attribute-subject.d.ts +31 -0
- package/dist/service/sns/filter/sim-sns-attribute-subject.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-attribute-subject.js +85 -0
- package/dist/service/sns/filter/sim-sns-attribute-subject.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-body-subject.d.ts +30 -0
- package/dist/service/sns/filter/sim-sns-body-subject.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-body-subject.js +67 -0
- package/dist/service/sns/filter/sim-sns-body-subject.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-any-rule.d.ts +21 -0
- package/dist/service/sns/filter/sim-sns-filter-any-rule.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-any-rule.js +23 -0
- package/dist/service/sns/filter/sim-sns-filter-any-rule.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-key-rule.d.ts +28 -0
- package/dist/service/sns/filter/sim-sns-filter-key-rule.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-key-rule.js +48 -0
- package/dist/service/sns/filter/sim-sns-filter-key-rule.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-matches.d.ts +9 -0
- package/dist/service/sns/filter/sim-sns-filter-matches.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-matches.js +40 -0
- package/dist/service/sns/filter/sim-sns-filter-matches.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-operators.d.ts +22 -0
- package/dist/service/sns/filter/sim-sns-filter-operators.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-operators.js +50 -0
- package/dist/service/sns/filter/sim-sns-filter-operators.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-or-eligibility.d.ts +17 -0
- package/dist/service/sns/filter/sim-sns-filter-or-eligibility.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-or-eligibility.js +47 -0
- package/dist/service/sns/filter/sim-sns-filter-or-eligibility.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-policy-scope.d.ts +36 -0
- package/dist/service/sns/filter/sim-sns-filter-policy-scope.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-policy-scope.js +67 -0
- package/dist/service/sns/filter/sim-sns-filter-policy-scope.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-policy.d.ts +48 -0
- package/dist/service/sns/filter/sim-sns-filter-policy.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-policy.js +84 -0
- package/dist/service/sns/filter/sim-sns-filter-policy.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-refusals.d.ts +38 -0
- package/dist/service/sns/filter/sim-sns-filter-refusals.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-refusals.js +53 -0
- package/dist/service/sns/filter/sim-sns-filter-refusals.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-rule.d.ts +15 -0
- package/dist/service/sns/filter/sim-sns-filter-rule.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-rule.js +2 -0
- package/dist/service/sns/filter/sim-sns-filter-rule.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-rules.d.ts +27 -0
- package/dist/service/sns/filter/sim-sns-filter-rules.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-rules.js +66 -0
- package/dist/service/sns/filter/sim-sns-filter-rules.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-subject.d.ts +31 -0
- package/dist/service/sns/filter/sim-sns-filter-subject.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-subject.js +2 -0
- package/dist/service/sns/filter/sim-sns-filter-subject.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-value.d.ts +45 -0
- package/dist/service/sns/filter/sim-sns-filter-value.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-value.js +83 -0
- package/dist/service/sns/filter/sim-sns-filter-value.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-json-filter-values.d.ts +12 -0
- package/dist/service/sns/filter/sim-sns-json-filter-values.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-json-filter-values.js +25 -0
- package/dist/service/sns/filter/sim-sns-json-filter-values.js.map +1 -0
- package/dist/service/sns/index.d.ts +33 -0
- package/dist/service/sns/index.d.ts.map +1 -0
- package/dist/service/sns/index.js +29 -0
- package/dist/service/sns/index.js.map +1 -0
- package/dist/service/sns/message/sim-sns-message-attribute-rules.d.ts +23 -0
- package/dist/service/sns/message/sim-sns-message-attribute-rules.d.ts.map +1 -0
- package/dist/service/sns/message/sim-sns-message-attribute-rules.js +74 -0
- package/dist/service/sns/message/sim-sns-message-attribute-rules.js.map +1 -0
- package/dist/service/sns/message/sim-sns-message-attribute-value.d.ts +15 -0
- package/dist/service/sns/message/sim-sns-message-attribute-value.d.ts.map +1 -0
- package/dist/service/sns/message/sim-sns-message-attribute-value.js +2 -0
- package/dist/service/sns/message/sim-sns-message-attribute-value.js.map +1 -0
- package/dist/service/sns/message/sim-sns-message-attribute.d.ts +55 -0
- package/dist/service/sns/message/sim-sns-message-attribute.d.ts.map +1 -0
- package/dist/service/sns/message/sim-sns-message-attribute.js +78 -0
- package/dist/service/sns/message/sim-sns-message-attribute.js.map +1 -0
- package/dist/service/sns/message/sim-sns-message-attributes.d.ts +71 -0
- package/dist/service/sns/message/sim-sns-message-attributes.d.ts.map +1 -0
- package/dist/service/sns/message/sim-sns-message-attributes.js +80 -0
- package/dist/service/sns/message/sim-sns-message-attributes.js.map +1 -0
- package/dist/service/sns/message/sim-sns-message-body.d.ts +17 -0
- package/dist/service/sns/message/sim-sns-message-body.d.ts.map +1 -0
- package/dist/service/sns/message/sim-sns-message-body.js +26 -0
- package/dist/service/sns/message/sim-sns-message-body.js.map +1 -0
- package/dist/service/sns/message/sim-sns-message-subject.d.ts +27 -0
- package/dist/service/sns/message/sim-sns-message-subject.d.ts.map +1 -0
- package/dist/service/sns/message/sim-sns-message-subject.js +74 -0
- package/dist/service/sns/message/sim-sns-message-subject.js.map +1 -0
- package/dist/service/sns/message/sim-sns-published-message.d.ts +55 -0
- package/dist/service/sns/message/sim-sns-published-message.d.ts.map +1 -0
- package/dist/service/sns/message/sim-sns-published-message.js +69 -0
- package/dist/service/sns/message/sim-sns-published-message.js.map +1 -0
- package/dist/service/sns/sdk/sim-sns-sdk-command-router.d.ts +18 -0
- package/dist/service/sns/sdk/sim-sns-sdk-command-router.d.ts.map +1 -0
- package/dist/service/sns/sdk/sim-sns-sdk-command-router.js +76 -0
- package/dist/service/sns/sdk/sim-sns-sdk-command-router.js.map +1 -0
- package/dist/service/sns/signature/sim-sns-certificate.d.ts +30 -0
- package/dist/service/sns/signature/sim-sns-certificate.d.ts.map +1 -0
- package/dist/service/sns/signature/sim-sns-certificate.js +110 -0
- package/dist/service/sns/signature/sim-sns-certificate.js.map +1 -0
- package/dist/service/sns/signature/sim-sns-der.d.ts +40 -0
- package/dist/service/sns/signature/sim-sns-der.d.ts.map +1 -0
- package/dist/service/sns/signature/sim-sns-der.js +64 -0
- package/dist/service/sns/signature/sim-sns-der.js.map +1 -0
- package/dist/service/sns/signature/sim-sns-host.d.ts +28 -0
- package/dist/service/sns/signature/sim-sns-host.d.ts.map +1 -0
- package/dist/service/sns/signature/sim-sns-host.js +33 -0
- package/dist/service/sns/signature/sim-sns-host.js.map +1 -0
- package/dist/service/sns/signature/sim-sns-message-signer.d.ts +51 -0
- package/dist/service/sns/signature/sim-sns-message-signer.d.ts.map +1 -0
- package/dist/service/sns/signature/sim-sns-message-signer.js +60 -0
- package/dist/service/sns/signature/sim-sns-message-signer.js.map +1 -0
- package/dist/service/sns/signature/sim-sns-signing-key.d.ts +34 -0
- package/dist/service/sns/signature/sim-sns-signing-key.d.ts.map +1 -0
- package/dist/service/sns/signature/sim-sns-signing-key.js +69 -0
- package/dist/service/sns/signature/sim-sns-signing-key.js.map +1 -0
- package/dist/service/sns/sim-sns.d.ts +139 -0
- package/dist/service/sns/sim-sns.d.ts.map +1 -0
- package/dist/service/sns/sim-sns.js +188 -0
- package/dist/service/sns/sim-sns.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-function-endpoint-arn.d.ts +31 -0
- package/dist/service/sns/subscription/sim-sns-function-endpoint-arn.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-function-endpoint-arn.js +54 -0
- package/dist/service/sns/subscription/sim-sns-function-endpoint-arn.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-queue-endpoint-arn.d.ts +30 -0
- package/dist/service/sns/subscription/sim-sns-queue-endpoint-arn.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-queue-endpoint-arn.js +78 -0
- package/dist/service/sns/subscription/sim-sns-queue-endpoint-arn.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-requested-subscription-attributes.d.ts +28 -0
- package/dist/service/sns/subscription/sim-sns-requested-subscription-attributes.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-requested-subscription-attributes.js +43 -0
- package/dist/service/sns/subscription/sim-sns-requested-subscription-attributes.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-arn.d.ts +43 -0
- package/dist/service/sns/subscription/sim-sns-subscription-arn.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-arn.js +70 -0
- package/dist/service/sns/subscription/sim-sns-subscription-arn.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attribute-changes.d.ts +20 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attribute-changes.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attribute-changes.js +52 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attribute-changes.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attribute-names.d.ts +26 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attribute-names.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attribute-names.js +64 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attribute-names.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attributes.d.ts +47 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attributes.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attributes.js +67 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attributes.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-endpoint.d.ts +26 -0
- package/dist/service/sns/subscription/sim-sns-subscription-endpoint.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-endpoint.js +21 -0
- package/dist/service/sns/subscription/sim-sns-subscription-endpoint.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-protocol.d.ts +33 -0
- package/dist/service/sns/subscription/sim-sns-subscription-protocol.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-protocol.js +63 -0
- package/dist/service/sns/subscription/sim-sns-subscription-protocol.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-store.d.ts +71 -0
- package/dist/service/sns/subscription/sim-sns-subscription-store.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-store.js +88 -0
- package/dist/service/sns/subscription/sim-sns-subscription-store.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription.d.ts +72 -0
- package/dist/service/sns/subscription/sim-sns-subscription.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription.js +116 -0
- package/dist/service/sns/subscription/sim-sns-subscription.js.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-arn.d.ts +52 -0
- package/dist/service/sns/topic/sim-sns-topic-arn.d.ts.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-arn.js +71 -0
- package/dist/service/sns/topic/sim-sns-topic-arn.js.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-attribute-names.d.ts +19 -0
- package/dist/service/sns/topic/sim-sns-topic-attribute-names.d.ts.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-attribute-names.js +79 -0
- package/dist/service/sns/topic/sim-sns-topic-attribute-names.js.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-attributes.d.ts +56 -0
- package/dist/service/sns/topic/sim-sns-topic-attributes.d.ts.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-attributes.js +85 -0
- package/dist/service/sns/topic/sim-sns-topic-attributes.js.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-name.d.ts +21 -0
- package/dist/service/sns/topic/sim-sns-topic-name.d.ts.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-name.js +48 -0
- package/dist/service/sns/topic/sim-sns-topic-name.js.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-policy.d.ts +23 -0
- package/dist/service/sns/topic/sim-sns-topic-policy.d.ts.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-policy.js +59 -0
- package/dist/service/sns/topic/sim-sns-topic-policy.js.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-store.d.ts +35 -0
- package/dist/service/sns/topic/sim-sns-topic-store.d.ts.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-store.js +50 -0
- package/dist/service/sns/topic/sim-sns-topic-store.js.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic.d.ts +48 -0
- package/dist/service/sns/topic/sim-sns-topic.d.ts.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic.js +80 -0
- package/dist/service/sns/topic/sim-sns-topic.js.map +1 -0
- package/dist/service/sqs/command/authorize/sim-sqs-authorizer.d.ts +3 -6
- package/dist/service/sqs/command/authorize/sim-sqs-authorizer.d.ts.map +1 -1
- package/dist/service/sqs/command/authorize/sim-sqs-authorizer.js +13 -7
- package/dist/service/sqs/command/authorize/sim-sqs-authorizer.js.map +1 -1
- package/dist/service/sqs/index.d.ts +1 -1
- package/dist/service/sqs/index.d.ts.map +1 -1
- package/dist/service/sqs/index.js +1 -1
- package/dist/service/sqs/index.js.map +1 -1
- package/dist/service/sqs/queue/sim-sqs-queue-arn.d.ts +0 -7
- package/dist/service/sqs/queue/sim-sqs-queue-arn.d.ts.map +1 -1
- package/dist/service/sqs/queue/sim-sqs-queue-arn.js +0 -9
- package/dist/service/sqs/queue/sim-sqs-queue-arn.js.map +1 -1
- package/dist/service/sqs/sim-sqs.js +1 -1
- package/dist/service/sqs/sim-sqs.js.map +1 -1
- package/package.json +7 -1
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { simSdkCallerOptions, } from "../../../sdk/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Routes intercepted SDK Commands to one scoped simulated SNS.
|
|
4
|
+
*/
|
|
5
|
+
export class SimSnsSdkCommandRouter {
|
|
6
|
+
routes;
|
|
7
|
+
constructor(simSns) {
|
|
8
|
+
this.routes = new Map([
|
|
9
|
+
[
|
|
10
|
+
"CreateTopicCommand",
|
|
11
|
+
async (command, context) => await simSns.createTopic(command, simSdkCallerOptions(context)),
|
|
12
|
+
],
|
|
13
|
+
[
|
|
14
|
+
"ListTopicsCommand",
|
|
15
|
+
async (command, context) => await simSns.listTopics(command, simSdkCallerOptions(context)),
|
|
16
|
+
],
|
|
17
|
+
[
|
|
18
|
+
"DeleteTopicCommand",
|
|
19
|
+
async (command, context) => await simSns.deleteTopic(command, simSdkCallerOptions(context)),
|
|
20
|
+
],
|
|
21
|
+
[
|
|
22
|
+
"GetTopicAttributesCommand",
|
|
23
|
+
async (command, context) => await simSns.getTopicAttributes(command, simSdkCallerOptions(context)),
|
|
24
|
+
],
|
|
25
|
+
[
|
|
26
|
+
"SetTopicAttributesCommand",
|
|
27
|
+
async (command, context) => await simSns.setTopicAttributes(command, simSdkCallerOptions(context)),
|
|
28
|
+
],
|
|
29
|
+
[
|
|
30
|
+
"SubscribeCommand",
|
|
31
|
+
async (command, context) => await simSns.subscribe(command, simSdkCallerOptions(context)),
|
|
32
|
+
],
|
|
33
|
+
[
|
|
34
|
+
"UnsubscribeCommand",
|
|
35
|
+
async (command, context) => await simSns.unsubscribe(command, simSdkCallerOptions(context)),
|
|
36
|
+
],
|
|
37
|
+
[
|
|
38
|
+
"ListSubscriptionsCommand",
|
|
39
|
+
async (command, context) => await simSns.listSubscriptions(command, simSdkCallerOptions(context)),
|
|
40
|
+
],
|
|
41
|
+
[
|
|
42
|
+
"ListSubscriptionsByTopicCommand",
|
|
43
|
+
async (command, context) => await simSns.listSubscriptionsByTopic(command, simSdkCallerOptions(context)),
|
|
44
|
+
],
|
|
45
|
+
[
|
|
46
|
+
"GetSubscriptionAttributesCommand",
|
|
47
|
+
async (command, context) => await simSns.getSubscriptionAttributes(command, simSdkCallerOptions(context)),
|
|
48
|
+
],
|
|
49
|
+
[
|
|
50
|
+
"SetSubscriptionAttributesCommand",
|
|
51
|
+
async (command, context) => await simSns.setSubscriptionAttributes(command, simSdkCallerOptions(context)),
|
|
52
|
+
],
|
|
53
|
+
[
|
|
54
|
+
"PublishCommand",
|
|
55
|
+
async (command, context) => await simSns.publish(command, simSdkCallerOptions(context)),
|
|
56
|
+
],
|
|
57
|
+
[
|
|
58
|
+
"PublishBatchCommand",
|
|
59
|
+
async (command, context) => await simSns.publishBatch(command, simSdkCallerOptions(context)),
|
|
60
|
+
],
|
|
61
|
+
]);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* The SDK Command names simulated SNS can handle.
|
|
65
|
+
*/
|
|
66
|
+
supportedCommandNames() {
|
|
67
|
+
return this.routes.keys().toArray();
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Get the route for an SDK Command name, if simulated SNS supports it.
|
|
71
|
+
*/
|
|
72
|
+
route(commandName) {
|
|
73
|
+
return this.routes.get(commandName);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=sim-sns-sdk-command-router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-sdk-command-router.js","sourceRoot":"","sources":["../../../../src/service/sns/sdk/sim-sns-sdk-command-router.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { KeyObject } from "node:crypto";
|
|
2
|
+
interface SimSnsCertificateInput {
|
|
3
|
+
readonly privateKey: KeyObject;
|
|
4
|
+
readonly publicKey: KeyObject;
|
|
5
|
+
readonly subjectName: string;
|
|
6
|
+
readonly serialNumber: Buffer;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Build a self-signed X.509 certificate for a key pair, as PEM.
|
|
10
|
+
*
|
|
11
|
+
* It is the smallest certificate that is still a certificate: a version, a
|
|
12
|
+
* serial number, one common name as both issuer and subject, a validity window,
|
|
13
|
+
* the public key, and an RSA signature over all of it. There are no extensions,
|
|
14
|
+
* because nothing verifying an SNS message looks at any.
|
|
15
|
+
*/
|
|
16
|
+
export declare function simSnsSelfSignedCertificatePem(input: SimSnsCertificateInput): string;
|
|
17
|
+
/**
|
|
18
|
+
* Read a certificate serial number out of a digest of the public key.
|
|
19
|
+
*
|
|
20
|
+
* A real certificate authority allocates serial numbers. Nothing here has one
|
|
21
|
+
* to allocate, and a serial derived from the key is unique in the only way that
|
|
22
|
+
* matters: two simulated scopes with different keys have different serials.
|
|
23
|
+
*
|
|
24
|
+
* The top bit of the first byte is cleared, because a certificate serial number
|
|
25
|
+
* has to be positive and a DER integer is signed. Clearing it is one byte of
|
|
26
|
+
* uniqueness given up for a serial that never needs a leading zero.
|
|
27
|
+
*/
|
|
28
|
+
export declare function simSnsSerialNumber(digest: Buffer): Buffer;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=sim-sns-certificate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-certificate.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/signature/sim-sns-certificate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA6D7C,UAAU,sBAAsB;IAC9B,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAuED;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,sBAAsB,GAC5B,MAAM,CAaR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAMzD"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { createSign } from "node:crypto";
|
|
2
|
+
import { derBitStringTag, derBytes, derExplicitZeroTag, derIntegerTag, derNullTag, derObjectIdentifierTag, derPrintableStringTag, derSequenceTag, derSetTag, derText, derUtcTimeTag, derValue, } from "./sim-sns-der.js";
|
|
3
|
+
/**
|
|
4
|
+
* The body bytes of the sha1WithRSAEncryption object identifier,
|
|
5
|
+
* 1.2.840.113549.1.1.5.
|
|
6
|
+
*
|
|
7
|
+
* This is the algorithm signature version 1 names, which is the version real
|
|
8
|
+
* SNS signs with unless a topic opts into version 2.
|
|
9
|
+
*/
|
|
10
|
+
const sha1WithRsaEncryption = [
|
|
11
|
+
0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05,
|
|
12
|
+
];
|
|
13
|
+
/**
|
|
14
|
+
* The body bytes of the commonName object identifier, 2.5.4.3.
|
|
15
|
+
*/
|
|
16
|
+
const commonName = [0x55, 0x04, 0x03];
|
|
17
|
+
/**
|
|
18
|
+
* The version number of an X.509 v3 certificate, which counts from zero.
|
|
19
|
+
*/
|
|
20
|
+
const version3 = 2;
|
|
21
|
+
/**
|
|
22
|
+
* When the certificate becomes valid, and when it stops being valid.
|
|
23
|
+
*
|
|
24
|
+
* Both are fixed rather than taken from the clock, so the same key always
|
|
25
|
+
* produces the same certificate and nothing in a test suite depends on when it
|
|
26
|
+
* ran. The end is before 2050 because a certificate valid past then cannot use
|
|
27
|
+
* the UTCTime encoding, and nothing here is a real trust anchor that ought to
|
|
28
|
+
* expire.
|
|
29
|
+
*/
|
|
30
|
+
const notBefore = new Date("2000-01-01T00:00:00.000Z");
|
|
31
|
+
const notAfter = new Date("2049-12-31T23:59:59.000Z");
|
|
32
|
+
/**
|
|
33
|
+
* How many bytes of the public key digest become the serial number.
|
|
34
|
+
*/
|
|
35
|
+
const serialNumberBytes = 8;
|
|
36
|
+
/**
|
|
37
|
+
* How many base64 characters a PEM document puts on one line.
|
|
38
|
+
*/
|
|
39
|
+
const pemLineLength = 64;
|
|
40
|
+
/**
|
|
41
|
+
* A UTCTime, which is the two digit year form certificates date things with.
|
|
42
|
+
*
|
|
43
|
+
* Two digits means the year has to be before 2050, which is what X.509 says: a
|
|
44
|
+
* certificate valid past then carries a GeneralizedTime instead.
|
|
45
|
+
*/
|
|
46
|
+
function utcTime(instant) {
|
|
47
|
+
const digits = instant.toISOString().replaceAll(/\D/gu, "");
|
|
48
|
+
return derText(derUtcTimeTag, `${digits.slice(2, 14)}Z`);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Wrap DER bytes as the PEM document a verifier reads.
|
|
52
|
+
*/
|
|
53
|
+
function toPem(der) {
|
|
54
|
+
const base64 = der.toString("base64");
|
|
55
|
+
const lines = Array.from({ length: Math.ceil(base64.length / pemLineLength) }, (_unused, index) => base64.slice(index * pemLineLength, (index + 1) * pemLineLength));
|
|
56
|
+
return `-----BEGIN CERTIFICATE-----\n${lines.join("\n")}\n-----END CERTIFICATE-----\n`;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The algorithm identifier both the certificate body and its signature carry.
|
|
60
|
+
*/
|
|
61
|
+
function signatureAlgorithm() {
|
|
62
|
+
return derValue(derSequenceTag, derBytes(derObjectIdentifierTag, ...sha1WithRsaEncryption), derValue(derNullTag));
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* An X.509 Name carrying one common name, which is all this certificate needs.
|
|
66
|
+
*/
|
|
67
|
+
function distinguishedName(name) {
|
|
68
|
+
const attribute = derValue(derSequenceTag, derBytes(derObjectIdentifierTag, ...commonName), derText(derPrintableStringTag, name));
|
|
69
|
+
return derValue(derSequenceTag, derValue(derSetTag, attribute));
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* The part of a certificate that is signed.
|
|
73
|
+
*/
|
|
74
|
+
function certificateBody(input) {
|
|
75
|
+
const name = distinguishedName(input.subjectName);
|
|
76
|
+
return derValue(derSequenceTag, derValue(derExplicitZeroTag, derBytes(derIntegerTag, version3)), derValue(derIntegerTag, input.serialNumber), signatureAlgorithm(), name, derValue(derSequenceTag, utcTime(notBefore), utcTime(notAfter)),
|
|
77
|
+
// Self-signed, so the issuer and the subject are the same Name.
|
|
78
|
+
name, input.publicKey.export({ type: "spki", format: "der" }));
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Build a self-signed X.509 certificate for a key pair, as PEM.
|
|
82
|
+
*
|
|
83
|
+
* It is the smallest certificate that is still a certificate: a version, a
|
|
84
|
+
* serial number, one common name as both issuer and subject, a validity window,
|
|
85
|
+
* the public key, and an RSA signature over all of it. There are no extensions,
|
|
86
|
+
* because nothing verifying an SNS message looks at any.
|
|
87
|
+
*/
|
|
88
|
+
export function simSnsSelfSignedCertificatePem(input) {
|
|
89
|
+
const body = certificateBody(input);
|
|
90
|
+
const signature = createSign("RSA-SHA1").update(body).sign(input.privateKey);
|
|
91
|
+
const unusedBits = Buffer.from([0]);
|
|
92
|
+
return toPem(derValue(derSequenceTag, body, signatureAlgorithm(), derValue(derBitStringTag, unusedBits, signature)));
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Read a certificate serial number out of a digest of the public key.
|
|
96
|
+
*
|
|
97
|
+
* A real certificate authority allocates serial numbers. Nothing here has one
|
|
98
|
+
* to allocate, and a serial derived from the key is unique in the only way that
|
|
99
|
+
* matters: two simulated scopes with different keys have different serials.
|
|
100
|
+
*
|
|
101
|
+
* The top bit of the first byte is cleared, because a certificate serial number
|
|
102
|
+
* has to be positive and a DER integer is signed. Clearing it is one byte of
|
|
103
|
+
* uniqueness given up for a serial that never needs a leading zero.
|
|
104
|
+
*/
|
|
105
|
+
export function simSnsSerialNumber(digest) {
|
|
106
|
+
const serial = Buffer.from(digest.subarray(0, serialNumberBytes));
|
|
107
|
+
serial.writeUInt8(serial.readUInt8(0) & 0x7f, 0);
|
|
108
|
+
return serial;
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=sim-sns-certificate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-certificate.js","sourceRoot":"","sources":["../../../../src/service/sns/signature/sim-sns-certificate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The little bit of DER writing a self-signed certificate needs.
|
|
3
|
+
*
|
|
4
|
+
* Node's `crypto` reads an X.509 certificate but does not write one, and the
|
|
5
|
+
* signature a simulated SNS message carries is only useful if a verifier can
|
|
6
|
+
* check it against a certificate. So the certificate is assembled by hand, and
|
|
7
|
+
* this is the encoding it is assembled with: every ASN.1 value is a tag, a
|
|
8
|
+
* length and a body, and that is the whole of what is here.
|
|
9
|
+
*
|
|
10
|
+
* The tags are exported alongside it because the shapes X.509 uses are the
|
|
11
|
+
* caller's business rather than this module's. It is not a general ASN.1
|
|
12
|
+
* encoder and does not try to be one.
|
|
13
|
+
*/
|
|
14
|
+
export declare const derSequenceTag = 48;
|
|
15
|
+
export declare const derSetTag = 49;
|
|
16
|
+
export declare const derIntegerTag = 2;
|
|
17
|
+
export declare const derBitStringTag = 3;
|
|
18
|
+
export declare const derNullTag = 5;
|
|
19
|
+
export declare const derObjectIdentifierTag = 6;
|
|
20
|
+
export declare const derPrintableStringTag = 19;
|
|
21
|
+
export declare const derUtcTimeTag = 23;
|
|
22
|
+
/**
|
|
23
|
+
* The tag of an explicitly tagged context specific zero, which is how a
|
|
24
|
+
* certificate carries its version.
|
|
25
|
+
*/
|
|
26
|
+
export declare const derExplicitZeroTag = 160;
|
|
27
|
+
/**
|
|
28
|
+
* One ASN.1 value: a tag, the length of what follows, and what follows.
|
|
29
|
+
*/
|
|
30
|
+
export declare function derValue(tag: number, ...contents: Buffer[]): Buffer;
|
|
31
|
+
/**
|
|
32
|
+
* A DER value holding ASCII text, which is what a common name and a UTCTime
|
|
33
|
+
* both are.
|
|
34
|
+
*/
|
|
35
|
+
export declare function derText(tag: number, value: string): Buffer;
|
|
36
|
+
/**
|
|
37
|
+
* A DER value holding bytes given one at a time.
|
|
38
|
+
*/
|
|
39
|
+
export declare function derBytes(tag: number, ...bytes: number[]): Buffer;
|
|
40
|
+
//# sourceMappingURL=sim-sns-der.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-der.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/signature/sim-sns-der.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,eAAO,MAAM,cAAc,KAAO,CAAC;AAEnC,eAAO,MAAM,SAAS,KAAO,CAAC;AAE9B,eAAO,MAAM,aAAa,IAAO,CAAC;AAElC,eAAO,MAAM,eAAe,IAAO,CAAC;AAEpC,eAAO,MAAM,UAAU,IAAO,CAAC;AAE/B,eAAO,MAAM,sBAAsB,IAAO,CAAC;AAE3C,eAAO,MAAM,qBAAqB,KAAO,CAAC;AAE1C,eAAO,MAAM,aAAa,KAAO,CAAC;AAElC;;;GAGG;AACH,eAAO,MAAM,kBAAkB,MAAO,CAAC;AAwBvC;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAInE;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAEhE"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The little bit of DER writing a self-signed certificate needs.
|
|
3
|
+
*
|
|
4
|
+
* Node's `crypto` reads an X.509 certificate but does not write one, and the
|
|
5
|
+
* signature a simulated SNS message carries is only useful if a verifier can
|
|
6
|
+
* check it against a certificate. So the certificate is assembled by hand, and
|
|
7
|
+
* this is the encoding it is assembled with: every ASN.1 value is a tag, a
|
|
8
|
+
* length and a body, and that is the whole of what is here.
|
|
9
|
+
*
|
|
10
|
+
* The tags are exported alongside it because the shapes X.509 uses are the
|
|
11
|
+
* caller's business rather than this module's. It is not a general ASN.1
|
|
12
|
+
* encoder and does not try to be one.
|
|
13
|
+
*/
|
|
14
|
+
export const derSequenceTag = 0x30;
|
|
15
|
+
export const derSetTag = 0x31;
|
|
16
|
+
export const derIntegerTag = 0x02;
|
|
17
|
+
export const derBitStringTag = 0x03;
|
|
18
|
+
export const derNullTag = 0x05;
|
|
19
|
+
export const derObjectIdentifierTag = 0x06;
|
|
20
|
+
export const derPrintableStringTag = 0x13;
|
|
21
|
+
export const derUtcTimeTag = 0x17;
|
|
22
|
+
/**
|
|
23
|
+
* The tag of an explicitly tagged context specific zero, which is how a
|
|
24
|
+
* certificate carries its version.
|
|
25
|
+
*/
|
|
26
|
+
export const derExplicitZeroTag = 0xa0;
|
|
27
|
+
/**
|
|
28
|
+
* The largest length DER writes in the length byte itself.
|
|
29
|
+
*/
|
|
30
|
+
const shortFormLimit = 0x80;
|
|
31
|
+
/**
|
|
32
|
+
* Encode a length in DER's short or long form.
|
|
33
|
+
*/
|
|
34
|
+
function derLength(length) {
|
|
35
|
+
if (length < shortFormLimit) {
|
|
36
|
+
return Buffer.from([length]);
|
|
37
|
+
}
|
|
38
|
+
const bytes = [];
|
|
39
|
+
for (let rest = length; rest > 0; rest = Math.floor(rest / 256)) {
|
|
40
|
+
bytes.unshift(rest % 256);
|
|
41
|
+
}
|
|
42
|
+
return Buffer.from([shortFormLimit | bytes.length, ...bytes]);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* One ASN.1 value: a tag, the length of what follows, and what follows.
|
|
46
|
+
*/
|
|
47
|
+
export function derValue(tag, ...contents) {
|
|
48
|
+
const body = Buffer.concat(contents);
|
|
49
|
+
return Buffer.concat([Buffer.from([tag]), derLength(body.length), body]);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* A DER value holding ASCII text, which is what a common name and a UTCTime
|
|
53
|
+
* both are.
|
|
54
|
+
*/
|
|
55
|
+
export function derText(tag, value) {
|
|
56
|
+
return derValue(tag, Buffer.from(value, "ascii"));
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* A DER value holding bytes given one at a time.
|
|
60
|
+
*/
|
|
61
|
+
export function derBytes(tag, ...bytes) {
|
|
62
|
+
return derValue(tag, Buffer.from(bytes));
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=sim-sns-der.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-der.js","sourceRoot":"","sources":["../../../../src/service/sns/signature/sim-sns-der.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;AAEnC,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC;AAE9B,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC;AAElC,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AAEpC,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC;AAE/B,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAE3C,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAE1C,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC;AAElC;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEvC;;GAEG;AACH,MAAM,cAAc,GAAG,IAAI,CAAC;AAE5B;;GAEG;AACH,SAAS,SAAS,CAAC,MAAc;IAC/B,IAAI,MAAM,GAAG,cAAc,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,IAAI,IAAI,GAAG,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QAChE,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,cAAc,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,GAAG,QAAkB;IACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAErC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,GAAW,EAAE,KAAa;IAChD,OAAO,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,GAAG,KAAe;IACtD,OAAO,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The hostname the URLs in a delivered message name.
|
|
3
|
+
*
|
|
4
|
+
* Real SNS puts `sns.<region>.amazonaws.com` in the `SigningCertURL` and the
|
|
5
|
+
* `UnsubscribeURL` of every message it delivers. A simulated message names
|
|
6
|
+
* `sns.<region>.yulin.invalid` instead, because neither URL can be fetched:
|
|
7
|
+
* simulated SNS is not served over HTTP, and the certificate is handed out
|
|
8
|
+
* in process by `SimSns.signingCertificate`.
|
|
9
|
+
*
|
|
10
|
+
* `.invalid` is the reserved top level domain for exactly this. A consumer that
|
|
11
|
+
* does try to fetch one of these URLs fails to resolve it, rather than reaching
|
|
12
|
+
* real AWS and being answered by a certificate that signed nothing here.
|
|
13
|
+
*
|
|
14
|
+
* This is a divergence a real signature verifier notices. `sns-validator`
|
|
15
|
+
* hard-codes an `amazonaws.com` certificate host and fetches the URL itself, so
|
|
16
|
+
* it cannot verify a simulated message as it stands. Verifying one means
|
|
17
|
+
* checking the signature against the certificate `SimSns.signingCertificate`
|
|
18
|
+
* hands over, which is what the docs show.
|
|
19
|
+
*/
|
|
20
|
+
export declare function simSnsHost(regionName: string): string;
|
|
21
|
+
/**
|
|
22
|
+
* The URL a delivered message names to say how to stop receiving them.
|
|
23
|
+
*
|
|
24
|
+
* Real SNS carries this in every envelope, and it is the same shape here with
|
|
25
|
+
* the simulated host in front of it.
|
|
26
|
+
*/
|
|
27
|
+
export declare function simSnsUnsubscribeUrl(regionName: string, subscriptionArn: string): string;
|
|
28
|
+
//# sourceMappingURL=sim-sns-host.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-host.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/signature/sim-sns-host.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,GACtB,MAAM,CAKR"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The hostname the URLs in a delivered message name.
|
|
3
|
+
*
|
|
4
|
+
* Real SNS puts `sns.<region>.amazonaws.com` in the `SigningCertURL` and the
|
|
5
|
+
* `UnsubscribeURL` of every message it delivers. A simulated message names
|
|
6
|
+
* `sns.<region>.yulin.invalid` instead, because neither URL can be fetched:
|
|
7
|
+
* simulated SNS is not served over HTTP, and the certificate is handed out
|
|
8
|
+
* in process by `SimSns.signingCertificate`.
|
|
9
|
+
*
|
|
10
|
+
* `.invalid` is the reserved top level domain for exactly this. A consumer that
|
|
11
|
+
* does try to fetch one of these URLs fails to resolve it, rather than reaching
|
|
12
|
+
* real AWS and being answered by a certificate that signed nothing here.
|
|
13
|
+
*
|
|
14
|
+
* This is a divergence a real signature verifier notices. `sns-validator`
|
|
15
|
+
* hard-codes an `amazonaws.com` certificate host and fetches the URL itself, so
|
|
16
|
+
* it cannot verify a simulated message as it stands. Verifying one means
|
|
17
|
+
* checking the signature against the certificate `SimSns.signingCertificate`
|
|
18
|
+
* hands over, which is what the docs show.
|
|
19
|
+
*/
|
|
20
|
+
export function simSnsHost(regionName) {
|
|
21
|
+
return `sns.${regionName}.yulin.invalid`;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* The URL a delivered message names to say how to stop receiving them.
|
|
25
|
+
*
|
|
26
|
+
* Real SNS carries this in every envelope, and it is the same shape here with
|
|
27
|
+
* the simulated host in front of it.
|
|
28
|
+
*/
|
|
29
|
+
export function simSnsUnsubscribeUrl(regionName, subscriptionArn) {
|
|
30
|
+
return (`https://${simSnsHost(regionName)}/?Action=Unsubscribe` +
|
|
31
|
+
`&SubscriptionArn=${encodeURIComponent(subscriptionArn)}`);
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=sim-sns-host.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-host.js","sourceRoot":"","sources":["../../../../src/service/sns/signature/sim-sns-host.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,UAAU,CAAC,UAAkB;IAC3C,OAAO,OAAO,UAAU,gBAAgB,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAAkB,EAClB,eAAuB;IAEvB,OAAO,CACL,WAAW,UAAU,CAAC,UAAU,CAAC,sBAAsB;QACvD,oBAAoB,kBAAkB,CAAC,eAAe,CAAC,EAAE,CAC1D,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
|
|
2
|
+
/**
|
|
3
|
+
* The signature version real SNS signs with unless a topic opts into version 2.
|
|
4
|
+
*
|
|
5
|
+
* Version 1 is SHA1withRSA. The `SignatureVersion` topic attribute, which is
|
|
6
|
+
* how a real topic asks for version 2, is refused here, so every message
|
|
7
|
+
* carries this.
|
|
8
|
+
*/
|
|
9
|
+
export declare const simSnsSignatureVersion = "1";
|
|
10
|
+
/**
|
|
11
|
+
* What a signature adds to a delivered message.
|
|
12
|
+
*/
|
|
13
|
+
export interface SimSnsSignatureFields {
|
|
14
|
+
readonly SignatureVersion: string;
|
|
15
|
+
readonly Signature: string;
|
|
16
|
+
readonly SigningCertURL: string;
|
|
17
|
+
}
|
|
18
|
+
interface SimSnsMessageSignerProperties {
|
|
19
|
+
readonly accountRegionScope: SimAwsAccountRegionScope;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Signs the messages one simulated SNS scope delivers.
|
|
23
|
+
*
|
|
24
|
+
* The key belongs to the scope rather than to a topic, which is how real SNS
|
|
25
|
+
* works: one certificate per Region signs every message that Region sends. It
|
|
26
|
+
* is generated on first use, because generating RSA takes long enough to
|
|
27
|
+
* notice and a scope that never delivers anything never needs one.
|
|
28
|
+
*/
|
|
29
|
+
export declare class SimSnsMessageSigner {
|
|
30
|
+
private readonly host;
|
|
31
|
+
private held;
|
|
32
|
+
constructor(properties: SimSnsMessageSignerProperties);
|
|
33
|
+
/**
|
|
34
|
+
* Sign the canonical form of one message.
|
|
35
|
+
*/
|
|
36
|
+
sign(canonicalMessage: string): SimSnsSignatureFields;
|
|
37
|
+
/**
|
|
38
|
+
* The certificate a `SigningCertURL` names, or nothing when it names another.
|
|
39
|
+
*
|
|
40
|
+
* This is how a verifier gets at the certificate, because the URL cannot be
|
|
41
|
+
* fetched: simulated SNS is not served over HTTP. A URL this scope did not
|
|
42
|
+
* issue answers with nothing rather than with the certificate it has, so a
|
|
43
|
+
* message signed by another scope is not accidentally verified against the
|
|
44
|
+
* wrong key.
|
|
45
|
+
*/
|
|
46
|
+
certificateFor(signingCertUrl: string): string | undefined;
|
|
47
|
+
private certificateUrl;
|
|
48
|
+
private key;
|
|
49
|
+
}
|
|
50
|
+
export {};
|
|
51
|
+
//# sourceMappingURL=sim-sns-message-signer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-message-signer.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/signature/sim-sns-message-signer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAI1F;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED,UAAU,6BAA6B;IACrC,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;CACvD;AAED;;;;;;;GAOG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,IAAI,CAA+B;IAE3C,YAAY,UAAU,EAAE,6BAA6B,EAEpD;IAED;;OAEG;IACH,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,qBAAqB,CAQpD;IAED;;;;;;;;OAQG;IACH,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQzD;IAED,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,GAAG;CAKZ"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { simSnsHost } from "./sim-sns-host.js";
|
|
2
|
+
import { SimSnsSigningKey } from "./sim-sns-signing-key.js";
|
|
3
|
+
/**
|
|
4
|
+
* The signature version real SNS signs with unless a topic opts into version 2.
|
|
5
|
+
*
|
|
6
|
+
* Version 1 is SHA1withRSA. The `SignatureVersion` topic attribute, which is
|
|
7
|
+
* how a real topic asks for version 2, is refused here, so every message
|
|
8
|
+
* carries this.
|
|
9
|
+
*/
|
|
10
|
+
export const simSnsSignatureVersion = "1";
|
|
11
|
+
/**
|
|
12
|
+
* Signs the messages one simulated SNS scope delivers.
|
|
13
|
+
*
|
|
14
|
+
* The key belongs to the scope rather than to a topic, which is how real SNS
|
|
15
|
+
* works: one certificate per Region signs every message that Region sends. It
|
|
16
|
+
* is generated on first use, because generating RSA takes long enough to
|
|
17
|
+
* notice and a scope that never delivers anything never needs one.
|
|
18
|
+
*/
|
|
19
|
+
export class SimSnsMessageSigner {
|
|
20
|
+
host;
|
|
21
|
+
held;
|
|
22
|
+
constructor(properties) {
|
|
23
|
+
this.host = simSnsHost(properties.accountRegionScope.regionName);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Sign the canonical form of one message.
|
|
27
|
+
*/
|
|
28
|
+
sign(canonicalMessage) {
|
|
29
|
+
const key = this.key();
|
|
30
|
+
return {
|
|
31
|
+
SignatureVersion: simSnsSignatureVersion,
|
|
32
|
+
Signature: key.sign(canonicalMessage),
|
|
33
|
+
SigningCertURL: this.certificateUrl(key),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The certificate a `SigningCertURL` names, or nothing when it names another.
|
|
38
|
+
*
|
|
39
|
+
* This is how a verifier gets at the certificate, because the URL cannot be
|
|
40
|
+
* fetched: simulated SNS is not served over HTTP. A URL this scope did not
|
|
41
|
+
* issue answers with nothing rather than with the certificate it has, so a
|
|
42
|
+
* message signed by another scope is not accidentally verified against the
|
|
43
|
+
* wrong key.
|
|
44
|
+
*/
|
|
45
|
+
certificateFor(signingCertUrl) {
|
|
46
|
+
const key = this.held;
|
|
47
|
+
if (key === undefined || this.certificateUrl(key) !== signingCertUrl) {
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
return key.certificatePem;
|
|
51
|
+
}
|
|
52
|
+
certificateUrl(key) {
|
|
53
|
+
return `https://${this.host}/SimulatedNotificationService-${key.fingerprint}.pem`;
|
|
54
|
+
}
|
|
55
|
+
key() {
|
|
56
|
+
this.held ??= SimSnsSigningKey.generate(this.host);
|
|
57
|
+
return this.held;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=sim-sns-message-signer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-message-signer.js","sourceRoot":"","sources":["../../../../src/service/sns/signature/sim-sns-message-signer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAe1C;;;;;;;GAOG;AACH,MAAM,OAAO,mBAAmB;IACb,IAAI,CAAS;IACtB,IAAI,CAA+B;IAE3C,YAAY,UAAyC;QACnD,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,gBAAwB;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,OAAO;YACL,gBAAgB,EAAE,sBAAsB;YACxC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACrC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;SACzC,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,cAAc,CAAC,cAAsB;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;QAEtB,IAAI,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,cAAc,EAAE,CAAC;YACrE,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,GAAG,CAAC,cAAc,CAAC;IAC5B,CAAC;IAEO,cAAc,CAAC,GAAqB;QAC1C,OAAO,WAAW,IAAI,CAAC,IAAI,iCAAiC,GAAG,CAAC,WAAW,MAAM,CAAC;IACpF,CAAC;IAEO,GAAG;QACT,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEnD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The key one simulated SNS scope signs its messages with.
|
|
3
|
+
*
|
|
4
|
+
* The key material is real, generated with `node:crypto`, and the signature is
|
|
5
|
+
* a real SHA1withRSA signature over the string real SNS signs. A verifier can
|
|
6
|
+
* therefore check a delivered message against the certificate, rather than
|
|
7
|
+
* being handed a `Signature` field it has no way to use.
|
|
8
|
+
*/
|
|
9
|
+
export declare class SimSnsSigningKey {
|
|
10
|
+
readonly fingerprint: string;
|
|
11
|
+
readonly certificatePem: string;
|
|
12
|
+
private readonly privateKey;
|
|
13
|
+
private constructor();
|
|
14
|
+
/**
|
|
15
|
+
* Generate a key pair for a simulated SNS scope.
|
|
16
|
+
*
|
|
17
|
+
* A scope generates its own on first use rather than at construction,
|
|
18
|
+
* because generating 2048-bit RSA takes long enough to notice and most
|
|
19
|
+
* simulated SNS scopes in a test suite never deliver anything. Nothing is
|
|
20
|
+
* written to disk, and no key material is committed: a private key in the
|
|
21
|
+
* repository would set off secret scanners for no gain.
|
|
22
|
+
*/
|
|
23
|
+
static generate(subjectName: string): SimSnsSigningKey;
|
|
24
|
+
/**
|
|
25
|
+
* Sign the canonical form of a message, as real SNS signs it.
|
|
26
|
+
*
|
|
27
|
+
* Signature version 1 is SHA1withRSA, and the signature travels base64
|
|
28
|
+
* encoded in the envelope. SHA-1 is weak, and it is what real SNS uses for
|
|
29
|
+
* version 1: a simulation signing with something else would produce a
|
|
30
|
+
* signature a real verifier could not check.
|
|
31
|
+
*/
|
|
32
|
+
sign(canonicalMessage: string): string;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=sim-sns-signing-key.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-signing-key.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/signature/sim-sns-signing-key.ts"],"names":[],"mappings":"AAwBA;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IAC3B,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,cAAc,EAAE,MAAM,CAAC;IAEvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IAEvC,OAAO,eAgBN;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB,CAErD;IAED;;;;;;;OAOG;IACH,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAKrC;CACF"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { createHash, createSign, generateKeyPairSync, } from "node:crypto";
|
|
2
|
+
import { simSnsSelfSignedCertificatePem, simSnsSerialNumber, } from "./sim-sns-certificate.js";
|
|
3
|
+
/**
|
|
4
|
+
* The RSA modulus size real SNS signs with.
|
|
5
|
+
*/
|
|
6
|
+
const modulusLength = 2048;
|
|
7
|
+
/**
|
|
8
|
+
* How many characters of the key's digest name the certificate.
|
|
9
|
+
*
|
|
10
|
+
* Real SNS puts an opaque hash in the certificate's file name. This is the
|
|
11
|
+
* same idea, and it means the URL names the key it actually belongs to.
|
|
12
|
+
*/
|
|
13
|
+
const fingerprintLength = 32;
|
|
14
|
+
/**
|
|
15
|
+
* The key one simulated SNS scope signs its messages with.
|
|
16
|
+
*
|
|
17
|
+
* The key material is real, generated with `node:crypto`, and the signature is
|
|
18
|
+
* a real SHA1withRSA signature over the string real SNS signs. A verifier can
|
|
19
|
+
* therefore check a delivered message against the certificate, rather than
|
|
20
|
+
* being handed a `Signature` field it has no way to use.
|
|
21
|
+
*/
|
|
22
|
+
export class SimSnsSigningKey {
|
|
23
|
+
fingerprint;
|
|
24
|
+
certificatePem;
|
|
25
|
+
privateKey;
|
|
26
|
+
constructor(subjectName) {
|
|
27
|
+
const { privateKey, publicKey } = generateKeyPairSync("rsa", {
|
|
28
|
+
modulusLength,
|
|
29
|
+
});
|
|
30
|
+
const digest = createHash("sha256")
|
|
31
|
+
.update(publicKey.export({ type: "spki", format: "der" }))
|
|
32
|
+
.digest();
|
|
33
|
+
this.privateKey = privateKey;
|
|
34
|
+
this.fingerprint = digest.toString("hex").slice(0, fingerprintLength);
|
|
35
|
+
this.certificatePem = simSnsSelfSignedCertificatePem({
|
|
36
|
+
privateKey,
|
|
37
|
+
publicKey,
|
|
38
|
+
subjectName,
|
|
39
|
+
serialNumber: simSnsSerialNumber(digest),
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Generate a key pair for a simulated SNS scope.
|
|
44
|
+
*
|
|
45
|
+
* A scope generates its own on first use rather than at construction,
|
|
46
|
+
* because generating 2048-bit RSA takes long enough to notice and most
|
|
47
|
+
* simulated SNS scopes in a test suite never deliver anything. Nothing is
|
|
48
|
+
* written to disk, and no key material is committed: a private key in the
|
|
49
|
+
* repository would set off secret scanners for no gain.
|
|
50
|
+
*/
|
|
51
|
+
static generate(subjectName) {
|
|
52
|
+
return new SimSnsSigningKey(subjectName);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Sign the canonical form of a message, as real SNS signs it.
|
|
56
|
+
*
|
|
57
|
+
* Signature version 1 is SHA1withRSA, and the signature travels base64
|
|
58
|
+
* encoded in the envelope. SHA-1 is weak, and it is what real SNS uses for
|
|
59
|
+
* version 1: a simulation signing with something else would produce a
|
|
60
|
+
* signature a real verifier could not check.
|
|
61
|
+
*/
|
|
62
|
+
sign(canonicalMessage) {
|
|
63
|
+
return createSign("RSA-SHA1")
|
|
64
|
+
.update(canonicalMessage, "utf8")
|
|
65
|
+
.sign(this.privateKey)
|
|
66
|
+
.toString("base64");
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=sim-sns-signing-key.js.map
|