@kensio/yulin 1.9.0 → 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -0
- package/dist/sdk/router/resolve-sim-sdk-command-router.d.ts.map +1 -1
- package/dist/sdk/router/resolve-sim-sdk-command-router.js +3 -0
- package/dist/sdk/router/resolve-sim-sdk-command-router.js.map +1 -1
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts +17 -0
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.js +37 -42
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.js.map +1 -1
- package/dist/service/aws/factory/sim-aws-s3-notification-destinations.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-s3-notification-destinations.js +5 -0
- package/dist/service/aws/factory/sim-aws-s3-notification-destinations.js.map +1 -1
- package/dist/service/aws/factory/sim-aws-scoped-service-properties.d.ts +18 -0
- package/dist/service/aws/factory/sim-aws-scoped-service-properties.d.ts.map +1 -0
- package/dist/service/aws/factory/sim-aws-scoped-service-properties.js +2 -0
- package/dist/service/aws/factory/sim-aws-scoped-service-properties.js.map +1 -0
- package/dist/service/aws/factory/sim-aws-service-factory.d.ts +3 -0
- package/dist/service/aws/factory/sim-aws-service-factory.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-service-factory.js +4 -0
- package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
- package/dist/service/aws/sim-aws-account-region-scope.d.ts +5 -0
- package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-account-region-scope.js +6 -0
- package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
- package/dist/service/aws/sim-aws-service-accessors.d.ts +3 -0
- package/dist/service/aws/sim-aws-service-accessors.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-service-accessors.js +4 -0
- package/dist/service/aws/sim-aws-service-accessors.js.map +1 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.d.ts +36 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.d.ts.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.js +64 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.js.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.d.ts +31 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.d.ts.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.js +42 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.js.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-files.d.ts +13 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-files.d.ts.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-files.js +68 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-files.js.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.d.ts +30 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.d.ts.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.js +35 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.js.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/filter/sim-cdk-bucket-deploy-filter.d.ts +27 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/filter/sim-cdk-bucket-deploy-filter.d.ts.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/filter/sim-cdk-bucket-deploy-filter.js +76 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/filter/sim-cdk-bucket-deploy-filter.js.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-properties.d.ts +24 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-properties.d.ts.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-properties.js +46 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-properties.js.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-values.d.ts +42 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-values.d.ts.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-values.js +96 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-values.js.map +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.d.ts +1 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.d.ts.map +1 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.js +10 -35
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.js.map +1 -1
- package/dist/service/cloudformation/cdk/s3/bucket-notifications/configuration/sim-cdk-bucket-notification-configuration.d.ts +2 -0
- package/dist/service/cloudformation/cdk/s3/bucket-notifications/configuration/sim-cdk-bucket-notification-configuration.d.ts.map +1 -1
- package/dist/service/cloudformation/cdk/s3/bucket-notifications/configuration/sim-cdk-bucket-notification-configuration.js +15 -1
- package/dist/service/cloudformation/cdk/s3/bucket-notifications/configuration/sim-cdk-bucket-notification-configuration.js.map +1 -1
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.js +8 -0
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.js.map +1 -1
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-rh-policy-cfn.d.ts +25 -0
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-rh-policy-cfn.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-rh-policy-cfn.js +32 -0
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-rh-policy-cfn.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js +2 -0
- package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js.map +1 -1
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-cfn-value-adapter.d.ts +11 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-cfn-value-adapter.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-cfn-value-adapter.js +24 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-cfn-value-adapter.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-subscription-cfn.d.ts +27 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-subscription-cfn.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-subscription-cfn.js +29 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-subscription-cfn.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-topic-cfn.d.ts +30 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-topic-cfn.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-topic-cfn.js +39 -0
- package/dist/service/cloudformation/resource/cfn/sns/sim-sns-topic-cfn.js.map +1 -0
- package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-factories.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-factories.js +4 -0
- package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-factories.js.map +1 -1
- package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.d.ts +4 -0
- package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.d.ts.map +1 -1
- package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.js.map +1 -1
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-config.d.ts +38 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-config.d.ts.map +1 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-config.js +127 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-config.js.map +1 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-creator.d.ts +25 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-creator.d.ts.map +1 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-creator.js +33 -0
- package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-creator.js.map +1 -0
- package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.d.ts +1 -0
- package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.d.ts.map +1 -1
- package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.js +11 -0
- package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.js.map +1 -1
- package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts +1 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts.map +1 -1
- package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.d.ts +3 -0
- package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.d.ts.map +1 -1
- package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.js +3 -0
- package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.js.map +1 -1
- package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.d.ts +19 -0
- package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.d.ts.map +1 -0
- package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.js +31 -0
- package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.js.map +1 -0
- package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.d.ts +4 -8
- package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.d.ts.map +1 -1
- package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.js +16 -19
- package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.js.map +1 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.js +3 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.js.map +1 -1
- package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts +19 -0
- package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts.map +1 -1
- package/dist/service/cloudfront/error/sim-cloudfront.error.js +23 -0
- package/dist/service/cloudfront/error/sim-cloudfront.error.js.map +1 -1
- package/dist/service/cloudfront/origin/s3/sim-cloudfront-s3-origin.d.ts.map +1 -1
- package/dist/service/cloudfront/origin/s3/sim-cloudfront-s3-origin.js +2 -5
- package/dist/service/cloudfront/origin/s3/sim-cloudfront-s3-origin.js.map +1 -1
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-header.d.ts +25 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-header.d.ts.map +1 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-header.js +30 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-header.js.map +1 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.d.ts +29 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.d.ts.map +1 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.js +40 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.js.map +1 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.d.ts +35 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.d.ts.map +1 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.js +44 -0
- package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.js.map +1 -0
- package/dist/service/cloudfront/sim-cloudfront.d.ts +18 -0
- package/dist/service/cloudfront/sim-cloudfront.d.ts.map +1 -1
- package/dist/service/cloudfront/sim-cloudfront.js +24 -0
- package/dist/service/cloudfront/sim-cloudfront.js.map +1 -1
- package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.d.ts.map +1 -1
- package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.js +4 -1
- package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.js.map +1 -1
- package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-looked-up-zone.d.ts +39 -0
- package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-looked-up-zone.d.ts.map +1 -0
- package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-looked-up-zone.js +46 -0
- package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-looked-up-zone.js.map +1 -0
- package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-rec-set-zone-resolver.d.ts +2 -0
- package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-rec-set-zone-resolver.d.ts.map +1 -1
- package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-rec-set-zone-resolver.js +17 -1
- package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-rec-set-zone-resolver.js.map +1 -1
- package/dist/service/route53/hosted-zone/register-sim-route53-hosted-zone.d.ts +6 -0
- package/dist/service/route53/hosted-zone/register-sim-route53-hosted-zone.d.ts.map +1 -1
- package/dist/service/route53/hosted-zone/register-sim-route53-hosted-zone.js +1 -0
- package/dist/service/route53/hosted-zone/register-sim-route53-hosted-zone.js.map +1 -1
- package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.d.ts +23 -10
- package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.d.ts.map +1 -1
- package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.js +32 -45
- package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.js.map +1 -1
- package/dist/service/route53/hosted-zone/sim-route53-zone-name-widening.d.ts +16 -0
- package/dist/service/route53/hosted-zone/sim-route53-zone-name-widening.d.ts.map +1 -0
- package/dist/service/route53/hosted-zone/sim-route53-zone-name-widening.js +35 -0
- package/dist/service/route53/hosted-zone/sim-route53-zone-name-widening.js.map +1 -0
- package/dist/service/route53/hosted-zone/sim-route53-zone-synchronization.d.ts +23 -0
- package/dist/service/route53/hosted-zone/sim-route53-zone-synchronization.d.ts.map +1 -0
- package/dist/service/route53/hosted-zone/sim-route53-zone-synchronization.js +43 -0
- package/dist/service/route53/hosted-zone/sim-route53-zone-synchronization.js.map +1 -0
- package/dist/service/route53/sim-route53.d.ts +1 -1
- package/dist/service/route53/sim-route53.d.ts.map +1 -1
- package/dist/service/route53/sim-route53.js +1 -1
- package/dist/service/route53/sim-route53.js.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration-reader.d.ts.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration-reader.js +2 -0
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration-reader.js.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.d.ts +3 -0
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.d.ts.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.js +10 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.js.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-topic-notification.d.ts +21 -0
- package/dist/service/s3/bucket/notification/sim-s3-topic-notification.d.ts.map +1 -0
- package/dist/service/s3/bucket/notification/sim-s3-topic-notification.js +24 -0
- package/dist/service/s3/bucket/notification/sim-s3-topic-notification.js.map +1 -0
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.d.ts +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.d.ts.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.js +3 -3
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.js.map +1 -1
- package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.d.ts +9 -6
- package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.d.ts.map +1 -1
- package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.js +32 -7
- package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.js.map +1 -1
- package/dist/service/s3/command/get-bucket-notification-configuration/get-bucket-notification-configuration.command.d.ts +2 -1
- package/dist/service/s3/command/get-bucket-notification-configuration/get-bucket-notification-configuration.command.d.ts.map +1 -1
- package/dist/service/s3/command/put-bucket-notification-configuration/put-bucket-notification-configuration.command.d.ts +10 -1
- package/dist/service/s3/command/put-bucket-notification-configuration/put-bucket-notification-configuration.command.d.ts.map +1 -1
- package/dist/service/s3/command/put-object/put-object-builder.d.ts +13 -4
- package/dist/service/s3/command/put-object/put-object-builder.d.ts.map +1 -1
- package/dist/service/s3/command/put-object/put-object-builder.js +27 -10
- package/dist/service/s3/command/put-object/put-object-builder.js.map +1 -1
- package/dist/service/s3/command/put-object/put-object.command.d.ts +11 -0
- package/dist/service/s3/command/put-object/put-object.command.d.ts.map +1 -1
- package/dist/service/s3/notification/destination/sim-s3-notification-destination.d.ts +1 -1
- package/dist/service/s3/notification/destination/sim-s3-notification-destination.d.ts.map +1 -1
- package/dist/service/s3/notification/destination/sim-s3-service-notification-destinations.d.ts +2 -0
- package/dist/service/s3/notification/destination/sim-s3-service-notification-destinations.d.ts.map +1 -1
- package/dist/service/s3/notification/destination/sim-s3-service-notification-destinations.js +5 -0
- package/dist/service/s3/notification/destination/sim-s3-service-notification-destinations.js.map +1 -1
- package/dist/service/s3/notification/destination/sns/sim-aws-s3-notification-topics.d.ts +38 -0
- package/dist/service/s3/notification/destination/sns/sim-aws-s3-notification-topics.d.ts.map +1 -0
- package/dist/service/s3/notification/destination/sns/sim-aws-s3-notification-topics.js +50 -0
- package/dist/service/s3/notification/destination/sns/sim-aws-s3-notification-topics.js.map +1 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic-arn.d.ts +31 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic-arn.d.ts.map +1 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic-arn.js +48 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic-arn.js.map +1 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic.d.ts +43 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic.d.ts.map +1 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic.js +71 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic.js.map +1 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topics.d.ts +22 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topics.d.ts.map +1 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topics.js +2 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-notification-topics.js.map +1 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-sns-notification-destination.d.ts +40 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-sns-notification-destination.d.ts.map +1 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-sns-notification-destination.js +51 -0
- package/dist/service/s3/notification/destination/sns/sim-s3-sns-notification-destination.js.map +1 -0
- package/dist/service/s3/object/s3-object-response-headers.d.ts +17 -0
- package/dist/service/s3/object/s3-object-response-headers.d.ts.map +1 -0
- package/dist/service/s3/object/s3-object-response-headers.js +29 -0
- package/dist/service/s3/object/s3-object-response-headers.js.map +1 -0
- package/dist/service/s3/object/s3-system-metadata.d.ts +32 -0
- package/dist/service/s3/object/s3-system-metadata.d.ts.map +1 -0
- package/dist/service/s3/object/s3-system-metadata.js +35 -0
- package/dist/service/s3/object/s3-system-metadata.js.map +1 -0
- package/dist/service/s3/serve/sim-s3-rest-object-reader.d.ts.map +1 -1
- package/dist/service/s3/serve/sim-s3-rest-object-reader.js +2 -5
- package/dist/service/s3/serve/sim-s3-rest-object-reader.js.map +1 -1
- package/dist/service/s3/serve/website/sim-s3-website-object-loader.js +1 -1
- package/dist/service/s3/serve/website/sim-s3-website-object-loader.js.map +1 -1
- package/dist/service/s3/serve/website/sim-s3-website-object.d.ts +3 -4
- package/dist/service/s3/serve/website/sim-s3-website-object.d.ts.map +1 -1
- package/dist/service/s3/serve/website/sim-s3-website-object.js +6 -11
- package/dist/service/s3/serve/website/sim-s3-website-object.js.map +1 -1
- package/dist/service/sns/cfn/sim-cfn-sns-attribute-value.d.ts +15 -0
- package/dist/service/sns/cfn/sim-cfn-sns-attribute-value.d.ts.map +1 -0
- package/dist/service/sns/cfn/sim-cfn-sns-attribute-value.js +23 -0
- package/dist/service/sns/cfn/sim-cfn-sns-attribute-value.js.map +1 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.d.ts +38 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.d.ts.map +1 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.js +73 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.js.map +1 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-error.d.ts +24 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-error.d.ts.map +1 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-error.js +39 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-error.js.map +1 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-types.d.ts +11 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-types.d.ts.map +1 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-types.js +11 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-types.js.map +1 -0
- package/dist/service/sns/cfn/sim-sns-cfn-resource-factory.d.ts +31 -0
- package/dist/service/sns/cfn/sim-sns-cfn-resource-factory.d.ts.map +1 -0
- package/dist/service/sns/cfn/sim-sns-cfn-resource-factory.js +54 -0
- package/dist/service/sns/cfn/sim-sns-cfn-resource-factory.js.map +1 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.d.ts +26 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.d.ts.map +1 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.js +37 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.js.map +1 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-properties.d.ts +47 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-properties.d.ts.map +1 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-properties.js +88 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-properties.js.map +1 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-property-names.d.ts +36 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-property-names.d.ts.map +1 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-property-names.js +55 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-property-names.js.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-inline-subscriptions.d.ts +23 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-inline-subscriptions.d.ts.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-inline-subscriptions.js +49 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-inline-subscriptions.js.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.d.ts +34 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.d.ts.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.js +60 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.js.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-name.d.ts +22 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-name.d.ts.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-name.js +27 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-name.js.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-properties.d.ts +58 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-properties.d.ts.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-properties.js +93 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-properties.js.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-property-names.d.ts +31 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-property-names.d.ts.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-property-names.js +52 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-property-names.js.map +1 -0
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.d.ts +34 -0
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.d.ts.map +1 -0
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.js +58 -0
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.js.map +1 -0
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-properties.d.ts +20 -0
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-properties.d.ts.map +1 -0
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-properties.js +44 -0
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-properties.js.map +1 -0
- package/dist/service/sns/command/authorize/sim-sns-authorizer.d.ts +58 -0
- package/dist/service/sns/command/authorize/sim-sns-authorizer.d.ts.map +1 -0
- package/dist/service/sns/command/authorize/sim-sns-authorizer.js +83 -0
- package/dist/service/sns/command/authorize/sim-sns-authorizer.js.map +1 -0
- package/dist/service/sns/command/authorize/sim-sns-condition-context.d.ts +13 -0
- package/dist/service/sns/command/authorize/sim-sns-condition-context.d.ts.map +1 -0
- package/dist/service/sns/command/authorize/sim-sns-condition-context.js +21 -0
- package/dist/service/sns/command/authorize/sim-sns-condition-context.js.map +1 -0
- package/dist/service/sns/command/authorize/sim-sns-service-publish-authorizer.d.ts +41 -0
- package/dist/service/sns/command/authorize/sim-sns-service-publish-authorizer.d.ts.map +1 -0
- package/dist/service/sns/command/authorize/sim-sns-service-publish-authorizer.js +40 -0
- package/dist/service/sns/command/authorize/sim-sns-service-publish-authorizer.js.map +1 -0
- package/dist/service/sns/command/authorize/sim-sns-topic-resource-policies.d.ts +12 -0
- package/dist/service/sns/command/authorize/sim-sns-topic-resource-policies.d.ts.map +1 -0
- package/dist/service/sns/command/authorize/sim-sns-topic-resource-policies.js +25 -0
- package/dist/service/sns/command/authorize/sim-sns-topic-resource-policies.js.map +1 -0
- package/dist/service/sns/command/publish/publish.command.d.ts +70 -0
- package/dist/service/sns/command/publish/publish.command.d.ts.map +1 -0
- package/dist/service/sns/command/publish/publish.command.js +2 -0
- package/dist/service/sns/command/publish/publish.command.js.map +1 -0
- package/dist/service/sns/command/publish/sim-sns-batch-entries.d.ts +52 -0
- package/dist/service/sns/command/publish/sim-sns-batch-entries.d.ts.map +1 -0
- package/dist/service/sns/command/publish/sim-sns-batch-entries.js +85 -0
- package/dist/service/sns/command/publish/sim-sns-batch-entries.js.map +1 -0
- package/dist/service/sns/command/publish/sim-sns-publish-commands.d.ts +53 -0
- package/dist/service/sns/command/publish/sim-sns-publish-commands.d.ts.map +1 -0
- package/dist/service/sns/command/publish/sim-sns-publish-commands.js +83 -0
- package/dist/service/sns/command/publish/sim-sns-publish-commands.js.map +1 -0
- package/dist/service/sns/command/publish/sim-sns-publish-input.d.ts +23 -0
- package/dist/service/sns/command/publish/sim-sns-publish-input.d.ts.map +1 -0
- package/dist/service/sns/command/publish/sim-sns-publish-input.js +47 -0
- package/dist/service/sns/command/publish/sim-sns-publish-input.js.map +1 -0
- package/dist/service/sns/command/sim-sns-command.types.d.ts +7 -0
- package/dist/service/sns/command/sim-sns-command.types.d.ts.map +1 -0
- package/dist/service/sns/command/sim-sns-command.types.js +2 -0
- package/dist/service/sns/command/sim-sns-command.types.js.map +1 -0
- package/dist/service/sns/command/sim-sns-commands.d.ts +45 -0
- package/dist/service/sns/command/sim-sns-commands.d.ts.map +1 -0
- package/dist/service/sns/command/sim-sns-commands.js +83 -0
- package/dist/service/sns/command/sim-sns-commands.js.map +1 -0
- package/dist/service/sns/command/sim-sns-page.d.ts +19 -0
- package/dist/service/sns/command/sim-sns-page.d.ts.map +1 -0
- package/dist/service/sns/command/sim-sns-page.js +51 -0
- package/dist/service/sns/command/sim-sns-page.js.map +1 -0
- package/dist/service/sns/command/sim-sns-request-options.d.ts +47 -0
- package/dist/service/sns/command/sim-sns-request-options.d.ts.map +1 -0
- package/dist/service/sns/command/sim-sns-request-options.js +19 -0
- package/dist/service/sns/command/sim-sns-request-options.js.map +1 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-access.d.ts +42 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-access.d.ts.map +1 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-access.js +57 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-access.js.map +1 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-attribute-commands.d.ts +31 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-attribute-commands.d.ts.map +1 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-attribute-commands.js +44 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-attribute-commands.js.map +1 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-commands.d.ts +50 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-commands.d.ts.map +1 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-commands.js +73 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-commands.js.map +1 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-listings.d.ts +34 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-listings.d.ts.map +1 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-listings.js +57 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-listings.js.map +1 -0
- package/dist/service/sns/command/subscription/subscription.command.d.ts +118 -0
- package/dist/service/sns/command/subscription/subscription.command.d.ts.map +1 -0
- package/dist/service/sns/command/subscription/subscription.command.js +2 -0
- package/dist/service/sns/command/subscription/subscription.command.js.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-create-topic.d.ts +41 -0
- package/dist/service/sns/command/topic/sim-sns-create-topic.d.ts.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-create-topic.js +54 -0
- package/dist/service/sns/command/topic/sim-sns-create-topic.js.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-request-topic-name.d.ts +11 -0
- package/dist/service/sns/command/topic/sim-sns-request-topic-name.d.ts.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-request-topic-name.js +28 -0
- package/dist/service/sns/command/topic/sim-sns-request-topic-name.js.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-topic-access.d.ts +76 -0
- package/dist/service/sns/command/topic/sim-sns-topic-access.d.ts.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-topic-access.js +81 -0
- package/dist/service/sns/command/topic/sim-sns-topic-access.js.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-topic-attribute-commands.d.ts +36 -0
- package/dist/service/sns/command/topic/sim-sns-topic-attribute-commands.d.ts.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-topic-attribute-commands.js +47 -0
- package/dist/service/sns/command/topic/sim-sns-topic-attribute-commands.js.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-topic-commands.d.ts +42 -0
- package/dist/service/sns/command/topic/sim-sns-topic-commands.d.ts.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-topic-commands.js +51 -0
- package/dist/service/sns/command/topic/sim-sns-topic-commands.js.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-unsimulated-topic-input.d.ts +11 -0
- package/dist/service/sns/command/topic/sim-sns-unsimulated-topic-input.d.ts.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-unsimulated-topic-input.js +20 -0
- package/dist/service/sns/command/topic/sim-sns-unsimulated-topic-input.js.map +1 -0
- package/dist/service/sns/command/topic/topic.command.d.ts +95 -0
- package/dist/service/sns/command/topic/topic.command.d.ts.map +1 -0
- package/dist/service/sns/command/topic/topic.command.js +2 -0
- package/dist/service/sns/command/topic/topic.command.js.map +1 -0
- package/dist/service/sns/delivery/lambda/sim-aws-sns-delivery-functions.d.ts +27 -0
- package/dist/service/sns/delivery/lambda/sim-aws-sns-delivery-functions.d.ts.map +1 -0
- package/dist/service/sns/delivery/lambda/sim-aws-sns-delivery-functions.js +31 -0
- package/dist/service/sns/delivery/lambda/sim-aws-sns-delivery-functions.js.map +1 -0
- package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.d.ts +31 -0
- package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.d.ts.map +1 -0
- package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.js +62 -0
- package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.js.map +1 -0
- package/dist/service/sns/delivery/lambda/sim-sns-lambda-event.d.ts +10 -0
- package/dist/service/sns/delivery/lambda/sim-sns-lambda-event.d.ts.map +1 -0
- package/dist/service/sns/delivery/lambda/sim-sns-lambda-event.js +53 -0
- package/dist/service/sns/delivery/lambda/sim-sns-lambda-event.js.map +1 -0
- package/dist/service/sns/delivery/sim-aws-sns-delivery-endpoints.d.ts +17 -0
- package/dist/service/sns/delivery/sim-aws-sns-delivery-endpoints.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-aws-sns-delivery-endpoints.js +21 -0
- package/dist/service/sns/delivery/sim-aws-sns-delivery-endpoints.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-canonical-message.d.ts +32 -0
- package/dist/service/sns/delivery/sim-sns-canonical-message.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-canonical-message.js +24 -0
- package/dist/service/sns/delivery/sim-sns-canonical-message.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-delivery-failures.d.ts +60 -0
- package/dist/service/sns/delivery/sim-sns-delivery-failures.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-delivery-failures.js +84 -0
- package/dist/service/sns/delivery/sim-sns-delivery-failures.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-delivery-request.d.ts +28 -0
- package/dist/service/sns/delivery/sim-sns-delivery-request.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-delivery-request.js +34 -0
- package/dist/service/sns/delivery/sim-sns-delivery-request.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-delivery.d.ts +55 -0
- package/dist/service/sns/delivery/sim-sns-delivery.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-delivery.js +18 -0
- package/dist/service/sns/delivery/sim-sns-delivery.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-envelope.d.ts +26 -0
- package/dist/service/sns/delivery/sim-sns-envelope.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-envelope.js +41 -0
- package/dist/service/sns/delivery/sim-sns-envelope.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-fan-out.d.ts +53 -0
- package/dist/service/sns/delivery/sim-sns-fan-out.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-fan-out.js +69 -0
- package/dist/service/sns/delivery/sim-sns-fan-out.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-no-delivery-endpoints.d.ts +17 -0
- package/dist/service/sns/delivery/sim-sns-no-delivery-endpoints.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-no-delivery-endpoints.js +23 -0
- package/dist/service/sns/delivery/sim-sns-no-delivery-endpoints.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-notification.d.ts +57 -0
- package/dist/service/sns/delivery/sim-sns-notification.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-notification.js +64 -0
- package/dist/service/sns/delivery/sim-sns-notification.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-protocol-delivery-endpoints.d.ts +32 -0
- package/dist/service/sns/delivery/sim-sns-protocol-delivery-endpoints.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-protocol-delivery-endpoints.js +22 -0
- package/dist/service/sns/delivery/sim-sns-protocol-delivery-endpoints.js.map +1 -0
- package/dist/service/sns/delivery/sqs/sim-aws-sns-delivery-queues.d.ts +29 -0
- package/dist/service/sns/delivery/sqs/sim-aws-sns-delivery-queues.d.ts.map +1 -0
- package/dist/service/sns/delivery/sqs/sim-aws-sns-delivery-queues.js +33 -0
- package/dist/service/sns/delivery/sqs/sim-aws-sns-delivery-queues.js.map +1 -0
- package/dist/service/sns/delivery/sqs/sim-sns-delivery-queue.d.ts +31 -0
- package/dist/service/sns/delivery/sqs/sim-sns-delivery-queue.d.ts.map +1 -0
- package/dist/service/sns/delivery/sqs/sim-sns-delivery-queue.js +63 -0
- package/dist/service/sns/delivery/sqs/sim-sns-delivery-queue.js.map +1 -0
- package/dist/service/sns/delivery/sqs/sim-sns-queue-message.d.ts +24 -0
- package/dist/service/sns/delivery/sqs/sim-sns-queue-message.d.ts.map +1 -0
- package/dist/service/sns/delivery/sqs/sim-sns-queue-message.js +38 -0
- package/dist/service/sns/delivery/sqs/sim-sns-queue-message.js.map +1 -0
- package/dist/service/sns/error/sim-sns-delivery.error.d.ts +13 -0
- package/dist/service/sns/error/sim-sns-delivery.error.d.ts.map +1 -0
- package/dist/service/sns/error/sim-sns-delivery.error.js +13 -0
- package/dist/service/sns/error/sim-sns-delivery.error.js.map +1 -0
- package/dist/service/sns/error/sim-sns.error.d.ts +107 -0
- package/dist/service/sns/error/sim-sns.error.d.ts.map +1 -0
- package/dist/service/sns/error/sim-sns.error.js +124 -0
- package/dist/service/sns/error/sim-sns.error.js.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-anything-but-match.d.ts +30 -0
- package/dist/service/sns/filter/match/sim-sns-anything-but-match.d.ts.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-anything-but-match.js +82 -0
- package/dist/service/sns/filter/match/sim-sns-anything-but-match.js.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-equals-ignore-case-match.d.ts +24 -0
- package/dist/service/sns/filter/match/sim-sns-equals-ignore-case-match.d.ts.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-equals-ignore-case-match.js +30 -0
- package/dist/service/sns/filter/match/sim-sns-equals-ignore-case-match.js.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-exact-match.d.ts +22 -0
- package/dist/service/sns/filter/match/sim-sns-exact-match.d.ts.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-exact-match.js +49 -0
- package/dist/service/sns/filter/match/sim-sns-exact-match.js.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-exists-match.d.ts +27 -0
- package/dist/service/sns/filter/match/sim-sns-exists-match.d.ts.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-exists-match.js +38 -0
- package/dist/service/sns/filter/match/sim-sns-exists-match.js.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-filter-match.d.ts +24 -0
- package/dist/service/sns/filter/match/sim-sns-filter-match.d.ts.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-filter-match.js +19 -0
- package/dist/service/sns/filter/match/sim-sns-filter-match.js.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-numeric-match.d.ts +48 -0
- package/dist/service/sns/filter/match/sim-sns-numeric-match.d.ts.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-numeric-match.js +107 -0
- package/dist/service/sns/filter/match/sim-sns-numeric-match.js.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-prefix-match.d.ts +26 -0
- package/dist/service/sns/filter/match/sim-sns-prefix-match.d.ts.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-prefix-match.js +32 -0
- package/dist/service/sns/filter/match/sim-sns-prefix-match.js.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-suffix-match.d.ts +23 -0
- package/dist/service/sns/filter/match/sim-sns-suffix-match.d.ts.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-suffix-match.js +29 -0
- package/dist/service/sns/filter/match/sim-sns-suffix-match.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-attribute-subject.d.ts +31 -0
- package/dist/service/sns/filter/sim-sns-attribute-subject.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-attribute-subject.js +85 -0
- package/dist/service/sns/filter/sim-sns-attribute-subject.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-body-subject.d.ts +30 -0
- package/dist/service/sns/filter/sim-sns-body-subject.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-body-subject.js +67 -0
- package/dist/service/sns/filter/sim-sns-body-subject.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-any-rule.d.ts +21 -0
- package/dist/service/sns/filter/sim-sns-filter-any-rule.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-any-rule.js +23 -0
- package/dist/service/sns/filter/sim-sns-filter-any-rule.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-key-rule.d.ts +28 -0
- package/dist/service/sns/filter/sim-sns-filter-key-rule.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-key-rule.js +48 -0
- package/dist/service/sns/filter/sim-sns-filter-key-rule.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-matches.d.ts +9 -0
- package/dist/service/sns/filter/sim-sns-filter-matches.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-matches.js +40 -0
- package/dist/service/sns/filter/sim-sns-filter-matches.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-operators.d.ts +22 -0
- package/dist/service/sns/filter/sim-sns-filter-operators.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-operators.js +50 -0
- package/dist/service/sns/filter/sim-sns-filter-operators.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-or-eligibility.d.ts +17 -0
- package/dist/service/sns/filter/sim-sns-filter-or-eligibility.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-or-eligibility.js +47 -0
- package/dist/service/sns/filter/sim-sns-filter-or-eligibility.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-policy-scope.d.ts +36 -0
- package/dist/service/sns/filter/sim-sns-filter-policy-scope.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-policy-scope.js +67 -0
- package/dist/service/sns/filter/sim-sns-filter-policy-scope.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-policy.d.ts +48 -0
- package/dist/service/sns/filter/sim-sns-filter-policy.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-policy.js +84 -0
- package/dist/service/sns/filter/sim-sns-filter-policy.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-refusals.d.ts +38 -0
- package/dist/service/sns/filter/sim-sns-filter-refusals.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-refusals.js +53 -0
- package/dist/service/sns/filter/sim-sns-filter-refusals.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-rule.d.ts +15 -0
- package/dist/service/sns/filter/sim-sns-filter-rule.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-rule.js +2 -0
- package/dist/service/sns/filter/sim-sns-filter-rule.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-rules.d.ts +27 -0
- package/dist/service/sns/filter/sim-sns-filter-rules.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-rules.js +66 -0
- package/dist/service/sns/filter/sim-sns-filter-rules.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-subject.d.ts +31 -0
- package/dist/service/sns/filter/sim-sns-filter-subject.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-subject.js +2 -0
- package/dist/service/sns/filter/sim-sns-filter-subject.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-value.d.ts +45 -0
- package/dist/service/sns/filter/sim-sns-filter-value.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-value.js +83 -0
- package/dist/service/sns/filter/sim-sns-filter-value.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-json-filter-values.d.ts +12 -0
- package/dist/service/sns/filter/sim-sns-json-filter-values.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-json-filter-values.js +25 -0
- package/dist/service/sns/filter/sim-sns-json-filter-values.js.map +1 -0
- package/dist/service/sns/index.d.ts +33 -0
- package/dist/service/sns/index.d.ts.map +1 -0
- package/dist/service/sns/index.js +29 -0
- package/dist/service/sns/index.js.map +1 -0
- package/dist/service/sns/message/sim-sns-message-attribute-rules.d.ts +23 -0
- package/dist/service/sns/message/sim-sns-message-attribute-rules.d.ts.map +1 -0
- package/dist/service/sns/message/sim-sns-message-attribute-rules.js +74 -0
- package/dist/service/sns/message/sim-sns-message-attribute-rules.js.map +1 -0
- package/dist/service/sns/message/sim-sns-message-attribute-value.d.ts +15 -0
- package/dist/service/sns/message/sim-sns-message-attribute-value.d.ts.map +1 -0
- package/dist/service/sns/message/sim-sns-message-attribute-value.js +2 -0
- package/dist/service/sns/message/sim-sns-message-attribute-value.js.map +1 -0
- package/dist/service/sns/message/sim-sns-message-attribute.d.ts +55 -0
- package/dist/service/sns/message/sim-sns-message-attribute.d.ts.map +1 -0
- package/dist/service/sns/message/sim-sns-message-attribute.js +78 -0
- package/dist/service/sns/message/sim-sns-message-attribute.js.map +1 -0
- package/dist/service/sns/message/sim-sns-message-attributes.d.ts +71 -0
- package/dist/service/sns/message/sim-sns-message-attributes.d.ts.map +1 -0
- package/dist/service/sns/message/sim-sns-message-attributes.js +80 -0
- package/dist/service/sns/message/sim-sns-message-attributes.js.map +1 -0
- package/dist/service/sns/message/sim-sns-message-body.d.ts +17 -0
- package/dist/service/sns/message/sim-sns-message-body.d.ts.map +1 -0
- package/dist/service/sns/message/sim-sns-message-body.js +26 -0
- package/dist/service/sns/message/sim-sns-message-body.js.map +1 -0
- package/dist/service/sns/message/sim-sns-message-subject.d.ts +27 -0
- package/dist/service/sns/message/sim-sns-message-subject.d.ts.map +1 -0
- package/dist/service/sns/message/sim-sns-message-subject.js +74 -0
- package/dist/service/sns/message/sim-sns-message-subject.js.map +1 -0
- package/dist/service/sns/message/sim-sns-published-message.d.ts +55 -0
- package/dist/service/sns/message/sim-sns-published-message.d.ts.map +1 -0
- package/dist/service/sns/message/sim-sns-published-message.js +69 -0
- package/dist/service/sns/message/sim-sns-published-message.js.map +1 -0
- package/dist/service/sns/sdk/sim-sns-sdk-command-router.d.ts +18 -0
- package/dist/service/sns/sdk/sim-sns-sdk-command-router.d.ts.map +1 -0
- package/dist/service/sns/sdk/sim-sns-sdk-command-router.js +76 -0
- package/dist/service/sns/sdk/sim-sns-sdk-command-router.js.map +1 -0
- package/dist/service/sns/signature/sim-sns-certificate.d.ts +30 -0
- package/dist/service/sns/signature/sim-sns-certificate.d.ts.map +1 -0
- package/dist/service/sns/signature/sim-sns-certificate.js +110 -0
- package/dist/service/sns/signature/sim-sns-certificate.js.map +1 -0
- package/dist/service/sns/signature/sim-sns-der.d.ts +40 -0
- package/dist/service/sns/signature/sim-sns-der.d.ts.map +1 -0
- package/dist/service/sns/signature/sim-sns-der.js +64 -0
- package/dist/service/sns/signature/sim-sns-der.js.map +1 -0
- package/dist/service/sns/signature/sim-sns-host.d.ts +28 -0
- package/dist/service/sns/signature/sim-sns-host.d.ts.map +1 -0
- package/dist/service/sns/signature/sim-sns-host.js +33 -0
- package/dist/service/sns/signature/sim-sns-host.js.map +1 -0
- package/dist/service/sns/signature/sim-sns-message-signer.d.ts +51 -0
- package/dist/service/sns/signature/sim-sns-message-signer.d.ts.map +1 -0
- package/dist/service/sns/signature/sim-sns-message-signer.js +60 -0
- package/dist/service/sns/signature/sim-sns-message-signer.js.map +1 -0
- package/dist/service/sns/signature/sim-sns-signing-key.d.ts +34 -0
- package/dist/service/sns/signature/sim-sns-signing-key.d.ts.map +1 -0
- package/dist/service/sns/signature/sim-sns-signing-key.js +69 -0
- package/dist/service/sns/signature/sim-sns-signing-key.js.map +1 -0
- package/dist/service/sns/sim-sns.d.ts +139 -0
- package/dist/service/sns/sim-sns.d.ts.map +1 -0
- package/dist/service/sns/sim-sns.js +188 -0
- package/dist/service/sns/sim-sns.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-function-endpoint-arn.d.ts +31 -0
- package/dist/service/sns/subscription/sim-sns-function-endpoint-arn.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-function-endpoint-arn.js +54 -0
- package/dist/service/sns/subscription/sim-sns-function-endpoint-arn.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-queue-endpoint-arn.d.ts +30 -0
- package/dist/service/sns/subscription/sim-sns-queue-endpoint-arn.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-queue-endpoint-arn.js +78 -0
- package/dist/service/sns/subscription/sim-sns-queue-endpoint-arn.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-requested-subscription-attributes.d.ts +28 -0
- package/dist/service/sns/subscription/sim-sns-requested-subscription-attributes.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-requested-subscription-attributes.js +43 -0
- package/dist/service/sns/subscription/sim-sns-requested-subscription-attributes.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-arn.d.ts +43 -0
- package/dist/service/sns/subscription/sim-sns-subscription-arn.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-arn.js +70 -0
- package/dist/service/sns/subscription/sim-sns-subscription-arn.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attribute-changes.d.ts +20 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attribute-changes.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attribute-changes.js +52 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attribute-changes.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attribute-names.d.ts +26 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attribute-names.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attribute-names.js +64 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attribute-names.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attributes.d.ts +47 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attributes.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attributes.js +67 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attributes.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-endpoint.d.ts +26 -0
- package/dist/service/sns/subscription/sim-sns-subscription-endpoint.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-endpoint.js +21 -0
- package/dist/service/sns/subscription/sim-sns-subscription-endpoint.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-protocol.d.ts +33 -0
- package/dist/service/sns/subscription/sim-sns-subscription-protocol.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-protocol.js +63 -0
- package/dist/service/sns/subscription/sim-sns-subscription-protocol.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-store.d.ts +71 -0
- package/dist/service/sns/subscription/sim-sns-subscription-store.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-store.js +88 -0
- package/dist/service/sns/subscription/sim-sns-subscription-store.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription.d.ts +72 -0
- package/dist/service/sns/subscription/sim-sns-subscription.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription.js +116 -0
- package/dist/service/sns/subscription/sim-sns-subscription.js.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-arn.d.ts +52 -0
- package/dist/service/sns/topic/sim-sns-topic-arn.d.ts.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-arn.js +71 -0
- package/dist/service/sns/topic/sim-sns-topic-arn.js.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-attribute-names.d.ts +19 -0
- package/dist/service/sns/topic/sim-sns-topic-attribute-names.d.ts.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-attribute-names.js +79 -0
- package/dist/service/sns/topic/sim-sns-topic-attribute-names.js.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-attributes.d.ts +56 -0
- package/dist/service/sns/topic/sim-sns-topic-attributes.d.ts.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-attributes.js +85 -0
- package/dist/service/sns/topic/sim-sns-topic-attributes.js.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-name.d.ts +21 -0
- package/dist/service/sns/topic/sim-sns-topic-name.d.ts.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-name.js +48 -0
- package/dist/service/sns/topic/sim-sns-topic-name.js.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-policy.d.ts +23 -0
- package/dist/service/sns/topic/sim-sns-topic-policy.d.ts.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-policy.js +59 -0
- package/dist/service/sns/topic/sim-sns-topic-policy.js.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-store.d.ts +35 -0
- package/dist/service/sns/topic/sim-sns-topic-store.d.ts.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-store.js +50 -0
- package/dist/service/sns/topic/sim-sns-topic-store.js.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic.d.ts +48 -0
- package/dist/service/sns/topic/sim-sns-topic.d.ts.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic.js +80 -0
- package/dist/service/sns/topic/sim-sns-topic.js.map +1 -0
- package/dist/service/sqs/command/authorize/sim-sqs-authorizer.d.ts +3 -6
- package/dist/service/sqs/command/authorize/sim-sqs-authorizer.d.ts.map +1 -1
- package/dist/service/sqs/command/authorize/sim-sqs-authorizer.js +13 -7
- package/dist/service/sqs/command/authorize/sim-sqs-authorizer.js.map +1 -1
- package/dist/service/sqs/index.d.ts +1 -1
- package/dist/service/sqs/index.d.ts.map +1 -1
- package/dist/service/sqs/index.js +1 -1
- package/dist/service/sqs/index.js.map +1 -1
- package/dist/service/sqs/queue/sim-sqs-queue-arn.d.ts +0 -7
- package/dist/service/sqs/queue/sim-sqs-queue-arn.d.ts.map +1 -1
- package/dist/service/sqs/queue/sim-sqs-queue-arn.js +0 -9
- package/dist/service/sqs/queue/sim-sqs-queue-arn.js.map +1 -1
- package/dist/service/sqs/sim-sqs.js +1 -1
- package/dist/service/sqs/sim-sqs.js.map +1 -1
- package/package.json +7 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-topic-arn.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/topic/sim-sns-topic-arn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAe/D;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,kBAAkB,EAAE,wBAAwB,GAC3C,MAAM,CAIR;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,GACZ,mBAAmB,GAAG,SAAS,CA6BjC;AAED,UAAU,wBAAwB;IAChC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;CACvD;AAED;;;;;;GAMG;AACH,qBAAa,cAAc;IACzB,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,KAAK,EAAE,MAAM,CAAC;IAE9B,YAAY,UAAU,EAAE,wBAAwB,EAK/C;CACF"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The number of colon separated parts in a topic ARN.
|
|
3
|
+
*
|
|
4
|
+
* A topic ARN has no resource type separator, so the name is the sixth and last
|
|
5
|
+
* part. A subscription ARN has a seventh, which is what keeps one from being
|
|
6
|
+
* read as a topic ARN with an odd name.
|
|
7
|
+
*/
|
|
8
|
+
const topicArnParts = 6;
|
|
9
|
+
const topicArnPartition = "aws";
|
|
10
|
+
const topicArnService = "sns";
|
|
11
|
+
/**
|
|
12
|
+
* The part of a topic ARN that comes before the topic's own name.
|
|
13
|
+
*
|
|
14
|
+
* A topic ARN has no resource type separator, so the name follows the account
|
|
15
|
+
* id directly. That is why `parseSimArn` cannot read one, and why an IAM policy
|
|
16
|
+
* resource for a topic is `arn:aws:sns:region:account:name` rather than
|
|
17
|
+
* anything with a `topic/` in it.
|
|
18
|
+
*/
|
|
19
|
+
export function snsTopicArnPrefix(accountRegionScope) {
|
|
20
|
+
const { regionName, accountId } = accountRegionScope;
|
|
21
|
+
return `arn:aws:sns:${regionName}:${accountId}:`;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Read a topic ARN into the Region, Account and name it carries.
|
|
25
|
+
*
|
|
26
|
+
* All three matter. An ARN naming another Account or Region reaches nothing in
|
|
27
|
+
* a simulated SNS scope rather than having its name read out and looked up
|
|
28
|
+
* locally, and treating a foreign one as local would let a test pass while the
|
|
29
|
+
* real call crossed a boundary it has no permission for.
|
|
30
|
+
*
|
|
31
|
+
* Nothing is returned for a string that is not a topic ARN, including a
|
|
32
|
+
* subscription ARN, which carries the subscription id as a seventh part.
|
|
33
|
+
*/
|
|
34
|
+
export function parseSnsTopicArn(value) {
|
|
35
|
+
const parts = value.split(":");
|
|
36
|
+
if (parts.length !== topicArnParts) {
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
const [prefix, partition, service, regionName, accountId, name] = parts;
|
|
40
|
+
if (prefix !== "arn" ||
|
|
41
|
+
partition !== topicArnPartition ||
|
|
42
|
+
service !== topicArnService) {
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
if (regionName === undefined ||
|
|
46
|
+
regionName === "" ||
|
|
47
|
+
accountId === undefined ||
|
|
48
|
+
accountId === "" ||
|
|
49
|
+
name === undefined ||
|
|
50
|
+
name === "") {
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
53
|
+
return { regionName, accountId, name };
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* The ARN of one simulated topic.
|
|
57
|
+
*
|
|
58
|
+
* SNS requests name a topic by ARN rather than by a URL of its own, so this is
|
|
59
|
+
* the only identifier a caller passes around, and it is what IAM authorizes
|
|
60
|
+
* against.
|
|
61
|
+
*/
|
|
62
|
+
export class SimSnsTopicArn {
|
|
63
|
+
name;
|
|
64
|
+
value;
|
|
65
|
+
constructor(properties) {
|
|
66
|
+
const { name, accountRegionScope } = properties;
|
|
67
|
+
this.name = name.value;
|
|
68
|
+
this.value = snsTopicArnPrefix(accountRegionScope) + name.value;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=sim-sns-topic-arn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-topic-arn.js","sourceRoot":"","sources":["../../../../src/service/sns/topic/sim-sns-topic-arn.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,MAAM,aAAa,GAAG,CAAC,CAAC;AAExB,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAEhC,MAAM,eAAe,GAAG,KAAK,CAAC;AAE9B;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,kBAA4C;IAE5C,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,kBAAkB,CAAC;IAErD,OAAO,eAAe,UAAU,IAAI,SAAS,GAAG,CAAC;AACnD,CAAC;AAcD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAa;IAEb,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE/B,IAAI,KAAK,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;IAExE,IACE,MAAM,KAAK,KAAK;QAChB,SAAS,KAAK,iBAAiB;QAC/B,OAAO,KAAK,eAAe,EAC3B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IACE,UAAU,KAAK,SAAS;QACxB,UAAU,KAAK,EAAE;QACjB,SAAS,KAAK,SAAS;QACvB,SAAS,KAAK,EAAE;QAChB,IAAI,KAAK,SAAS;QAClB,IAAI,KAAK,EAAE,EACX,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACzC,CAAC;AAOD;;;;;;GAMG;AACH,MAAM,OAAO,cAAc;IACT,IAAI,CAAS;IACb,KAAK,CAAS;IAE9B,YAAY,UAAoC;QAC9C,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,UAAU,CAAC;QAEhD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;IAClE,CAAC;CACF"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The topic's display name, which is the only settable attribute with no
|
|
3
|
+
* behaviour behind it.
|
|
4
|
+
*/
|
|
5
|
+
export declare const simSnsDisplayNameAttributeName = "DisplayName";
|
|
6
|
+
/**
|
|
7
|
+
* The topic's resource policy, held as an attribute exactly as SNS holds it.
|
|
8
|
+
*/
|
|
9
|
+
export declare const simSnsPolicyAttributeName = "Policy";
|
|
10
|
+
/**
|
|
11
|
+
* Refuse a topic attribute this simulation cannot set.
|
|
12
|
+
*
|
|
13
|
+
* An attribute real SNS has and this simulation does not is refused with the
|
|
14
|
+
* reason, so a caller finds out what is missing rather than finding a topic
|
|
15
|
+
* that quietly behaves differently here than on AWS. An attribute real SNS does
|
|
16
|
+
* not have at all is refused the way real SNS refuses it.
|
|
17
|
+
*/
|
|
18
|
+
export declare function assertSimSnsSettableAttribute(name: string): void;
|
|
19
|
+
//# sourceMappingURL=sim-sns-topic-attribute-names.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-topic-attribute-names.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/topic/sim-sns-topic-attribute-names.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,eAAO,MAAM,8BAA8B,gBAAgB,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,yBAAyB,WAAW,CAAC;AA2DlD;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAiBhE"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { SimSnsInvalidParameterException, SimSnsUnsimulatedInputException, } from "../error/sim-sns.error.js";
|
|
2
|
+
/**
|
|
3
|
+
* The topic's display name, which is the only settable attribute with no
|
|
4
|
+
* behaviour behind it.
|
|
5
|
+
*/
|
|
6
|
+
export const simSnsDisplayNameAttributeName = "DisplayName";
|
|
7
|
+
/**
|
|
8
|
+
* The topic's resource policy, held as an attribute exactly as SNS holds it.
|
|
9
|
+
*/
|
|
10
|
+
export const simSnsPolicyAttributeName = "Policy";
|
|
11
|
+
const settableAttributeNames = new Set([
|
|
12
|
+
simSnsDisplayNameAttributeName,
|
|
13
|
+
simSnsPolicyAttributeName,
|
|
14
|
+
]);
|
|
15
|
+
/**
|
|
16
|
+
* The delivery status logging attributes, one set per protocol.
|
|
17
|
+
*
|
|
18
|
+
* They are matched as a pattern rather than listed, because there are fifteen
|
|
19
|
+
* of them and they are all refused for the same reason: delivery status goes to
|
|
20
|
+
* CloudWatch Logs on real AWS, and nothing here writes to CloudWatch Logs.
|
|
21
|
+
*/
|
|
22
|
+
const deliveryStatusLoggingPattern = /^(?:HTTP|SQS|Lambda|Application|Firehose)(?:Success|Failure)Feedback(?:RoleArn|SampleRate)$/;
|
|
23
|
+
/**
|
|
24
|
+
* The other attributes real SNS has that this simulation gives no behaviour to.
|
|
25
|
+
*
|
|
26
|
+
* Each is refused by name rather than being taken and ignored. A topic that
|
|
27
|
+
* appeared to accept `KmsMasterKeyId` would look encrypted to the request that
|
|
28
|
+
* set it and be plain to everything else, and a topic that appeared to accept
|
|
29
|
+
* `FifoTopic` would be a standard topic a test believed was ordered.
|
|
30
|
+
*/
|
|
31
|
+
const unsimulatedAttributeNames = new Map([
|
|
32
|
+
["FifoTopic", "FIFO topics are not simulated. Only standard topics are."],
|
|
33
|
+
[
|
|
34
|
+
"FifoThroughputScope",
|
|
35
|
+
"FIFO topics are not simulated. Only standard topics are.",
|
|
36
|
+
],
|
|
37
|
+
[
|
|
38
|
+
"ContentBasedDeduplication",
|
|
39
|
+
"Message deduplication applies to FIFO topics, which are not simulated.",
|
|
40
|
+
],
|
|
41
|
+
["KmsMasterKeyId", "Server-side encryption is not simulated."],
|
|
42
|
+
[
|
|
43
|
+
"SignatureVersion",
|
|
44
|
+
"Choosing the message signature algorithm is not simulated.",
|
|
45
|
+
],
|
|
46
|
+
["TracingConfig", "X-Ray tracing is not simulated."],
|
|
47
|
+
["ArchivePolicy", "Message archiving and replay are not simulated."],
|
|
48
|
+
["DeliveryPolicy", "Delivery retry policies are not simulated."],
|
|
49
|
+
]);
|
|
50
|
+
/**
|
|
51
|
+
* The reason an attribute real SNS has is refused here, if it is one of them.
|
|
52
|
+
*/
|
|
53
|
+
function unsimulatedReason(name) {
|
|
54
|
+
if (deliveryStatusLoggingPattern.test(name)) {
|
|
55
|
+
return ("Delivery status logging writes to CloudWatch Logs, which is not " +
|
|
56
|
+
"simulated.");
|
|
57
|
+
}
|
|
58
|
+
return unsimulatedAttributeNames.get(name);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Refuse a topic attribute this simulation cannot set.
|
|
62
|
+
*
|
|
63
|
+
* An attribute real SNS has and this simulation does not is refused with the
|
|
64
|
+
* reason, so a caller finds out what is missing rather than finding a topic
|
|
65
|
+
* that quietly behaves differently here than on AWS. An attribute real SNS does
|
|
66
|
+
* not have at all is refused the way real SNS refuses it.
|
|
67
|
+
*/
|
|
68
|
+
export function assertSimSnsSettableAttribute(name) {
|
|
69
|
+
if (settableAttributeNames.has(name)) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
const reason = unsimulatedReason(name);
|
|
73
|
+
if (reason !== undefined) {
|
|
74
|
+
throw new SimSnsUnsimulatedInputException(`The topic attribute ${name} is not simulated. ${reason}`);
|
|
75
|
+
}
|
|
76
|
+
throw new SimSnsInvalidParameterException(`Invalid parameter: AttributeName: ${name} is not a topic attribute that ` +
|
|
77
|
+
`can be set`);
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=sim-sns-topic-attribute-names.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-topic-attribute-names.js","sourceRoot":"","sources":["../../../../src/service/sns/topic/sim-sns-topic-attribute-names.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,GAChC,MAAM,2BAA2B,CAAC;AAEnC;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,aAAa,CAAC;AAE5D;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,QAAQ,CAAC;AAElD,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACrC,8BAA8B;IAC9B,yBAAyB;CAC1B,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,4BAA4B,GAChC,6FAA6F,CAAC;AAEhG;;;;;;;GAOG;AACH,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAiB;IACxD,CAAC,WAAW,EAAE,0DAA0D,CAAC;IACzE;QACE,qBAAqB;QACrB,0DAA0D;KAC3D;IACD;QACE,2BAA2B;QAC3B,wEAAwE;KACzE;IACD,CAAC,gBAAgB,EAAE,0CAA0C,CAAC;IAC9D;QACE,kBAAkB;QAClB,4DAA4D;KAC7D;IACD,CAAC,eAAe,EAAE,iCAAiC,CAAC;IACpD,CAAC,eAAe,EAAE,iDAAiD,CAAC;IACpE,CAAC,gBAAgB,EAAE,4CAA4C,CAAC;CACjE,CAAC,CAAC;AAEH;;GAEG;AACH,SAAS,iBAAiB,CAAC,IAAY;IACrC,IAAI,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,OAAO,CACL,kEAAkE;YAClE,YAAY,CACb,CAAC;IACJ,CAAC;IAED,OAAO,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,6BAA6B,CAAC,IAAY;IACxD,IAAI,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAEvC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,+BAA+B,CACvC,uBAAuB,IAAI,sBAAsB,MAAM,EAAE,CAC1D,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,+BAA+B,CACvC,qCAAqC,IAAI,iCAAiC;QACxE,YAAY,CACf,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { SimSnsTopicPolicy } from "./sim-sns-topic-policy.js";
|
|
2
|
+
/**
|
|
3
|
+
* Topic attributes as a request carries them, which is always as strings.
|
|
4
|
+
*/
|
|
5
|
+
export type SimSnsTopicAttributeInput = Readonly<Record<string, string | undefined>>;
|
|
6
|
+
/**
|
|
7
|
+
* The attributes of one simulated topic that a request can set.
|
|
8
|
+
*
|
|
9
|
+
* Real SNS has many more, and this simulation refuses the ones it gives no
|
|
10
|
+
* behaviour to rather than holding them, so what is here is what does
|
|
11
|
+
* something. The display name is carried because SNS reports it whether or not
|
|
12
|
+
* it has been set, and the policy is carried because it is the topic's resource
|
|
13
|
+
* policy.
|
|
14
|
+
*
|
|
15
|
+
* Applying a request makes a new set rather than changing this one, so a
|
|
16
|
+
* request that turns out to name an attribute this simulation will not take
|
|
17
|
+
* leaves the topic as it was.
|
|
18
|
+
*/
|
|
19
|
+
export declare class SimSnsTopicAttributes {
|
|
20
|
+
readonly displayName: string;
|
|
21
|
+
readonly policy: SimSnsTopicPolicy | undefined;
|
|
22
|
+
private constructor();
|
|
23
|
+
/**
|
|
24
|
+
* The attributes a topic has before anything sets one.
|
|
25
|
+
*
|
|
26
|
+
* Real SNS reports an empty display name for a topic created without one,
|
|
27
|
+
* rather than leaving the attribute out.
|
|
28
|
+
*/
|
|
29
|
+
static defaults(): SimSnsTopicAttributes;
|
|
30
|
+
/**
|
|
31
|
+
* These attributes with a request's changes applied.
|
|
32
|
+
*
|
|
33
|
+
* Every name is checked before any value is read, so a request naming one
|
|
34
|
+
* attribute this simulation will not take changes none of them.
|
|
35
|
+
*/
|
|
36
|
+
with(requested: SimSnsTopicAttributeInput): SimSnsTopicAttributes;
|
|
37
|
+
/**
|
|
38
|
+
* Add these attributes to what SNS reports about the topic.
|
|
39
|
+
*
|
|
40
|
+
* The display name is always reported, as real SNS reports it. The policy is
|
|
41
|
+
* reported only once one has been set, since a topic without one has no value
|
|
42
|
+
* for the attribute.
|
|
43
|
+
*/
|
|
44
|
+
reportInto(reported: Map<string, string>): void;
|
|
45
|
+
private displayNameAfter;
|
|
46
|
+
/**
|
|
47
|
+
* The policy these attributes hold after a request.
|
|
48
|
+
*
|
|
49
|
+
* An empty string takes the policy off the topic, which is how SNS is told to
|
|
50
|
+
* remove one: there is no DeleteTopicPolicy, so setting the attribute to
|
|
51
|
+
* nothing is the only way back to a topic without one.
|
|
52
|
+
*/
|
|
53
|
+
private policyAfter;
|
|
54
|
+
private valueIn;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=sim-sns-topic-attributes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-topic-attributes.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/topic/sim-sns-topic-attributes.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAC9C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CACnC,CAAC;AAOF;;;;;;;;;;;;GAYG;AACH,qBAAa,qBAAqB;IAChC,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,MAAM,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAEtD,OAAO,eAGN;IAED;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,IAAI,qBAAqB,CAEvC;IAED;;;;;OAKG;IACH,IAAI,CAAC,SAAS,EAAE,yBAAyB,GAAG,qBAAqB,CAahE;IAED;;;;;;OAMG;IACH,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAM9C;IAED,OAAO,CAAC,gBAAgB;IAMxB;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,OAAO;CAMhB"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { assertSimSnsSettableAttribute, simSnsDisplayNameAttributeName, simSnsPolicyAttributeName, } from "./sim-sns-topic-attribute-names.js";
|
|
2
|
+
import { SimSnsTopicPolicy } from "./sim-sns-topic-policy.js";
|
|
3
|
+
/**
|
|
4
|
+
* The attributes of one simulated topic that a request can set.
|
|
5
|
+
*
|
|
6
|
+
* Real SNS has many more, and this simulation refuses the ones it gives no
|
|
7
|
+
* behaviour to rather than holding them, so what is here is what does
|
|
8
|
+
* something. The display name is carried because SNS reports it whether or not
|
|
9
|
+
* it has been set, and the policy is carried because it is the topic's resource
|
|
10
|
+
* policy.
|
|
11
|
+
*
|
|
12
|
+
* Applying a request makes a new set rather than changing this one, so a
|
|
13
|
+
* request that turns out to name an attribute this simulation will not take
|
|
14
|
+
* leaves the topic as it was.
|
|
15
|
+
*/
|
|
16
|
+
export class SimSnsTopicAttributes {
|
|
17
|
+
displayName;
|
|
18
|
+
policy;
|
|
19
|
+
constructor(properties) {
|
|
20
|
+
this.displayName = properties.displayName;
|
|
21
|
+
this.policy = properties.policy;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* The attributes a topic has before anything sets one.
|
|
25
|
+
*
|
|
26
|
+
* Real SNS reports an empty display name for a topic created without one,
|
|
27
|
+
* rather than leaving the attribute out.
|
|
28
|
+
*/
|
|
29
|
+
static defaults() {
|
|
30
|
+
return new this({ displayName: "", policy: undefined });
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* These attributes with a request's changes applied.
|
|
34
|
+
*
|
|
35
|
+
* Every name is checked before any value is read, so a request naming one
|
|
36
|
+
* attribute this simulation will not take changes none of them.
|
|
37
|
+
*/
|
|
38
|
+
with(requested) {
|
|
39
|
+
const named = Object.entries(requested).filter((entry) => entry[1] !== undefined);
|
|
40
|
+
for (const [name] of named) {
|
|
41
|
+
assertSimSnsSettableAttribute(name);
|
|
42
|
+
}
|
|
43
|
+
return new SimSnsTopicAttributes({
|
|
44
|
+
displayName: this.displayNameAfter(named),
|
|
45
|
+
policy: this.policyAfter(named),
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Add these attributes to what SNS reports about the topic.
|
|
50
|
+
*
|
|
51
|
+
* The display name is always reported, as real SNS reports it. The policy is
|
|
52
|
+
* reported only once one has been set, since a topic without one has no value
|
|
53
|
+
* for the attribute.
|
|
54
|
+
*/
|
|
55
|
+
reportInto(reported) {
|
|
56
|
+
reported.set(simSnsDisplayNameAttributeName, this.displayName);
|
|
57
|
+
if (this.policy !== undefined) {
|
|
58
|
+
reported.set(simSnsPolicyAttributeName, this.policy.value);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
displayNameAfter(named) {
|
|
62
|
+
return (this.valueIn(named, simSnsDisplayNameAttributeName) ?? this.displayName);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* The policy these attributes hold after a request.
|
|
66
|
+
*
|
|
67
|
+
* An empty string takes the policy off the topic, which is how SNS is told to
|
|
68
|
+
* remove one: there is no DeleteTopicPolicy, so setting the attribute to
|
|
69
|
+
* nothing is the only way back to a topic without one.
|
|
70
|
+
*/
|
|
71
|
+
policyAfter(named) {
|
|
72
|
+
const value = this.valueIn(named, simSnsPolicyAttributeName);
|
|
73
|
+
if (value === undefined) {
|
|
74
|
+
return this.policy;
|
|
75
|
+
}
|
|
76
|
+
if (value === "") {
|
|
77
|
+
return undefined;
|
|
78
|
+
}
|
|
79
|
+
return SimSnsTopicPolicy.parse(value);
|
|
80
|
+
}
|
|
81
|
+
valueIn(named, name) {
|
|
82
|
+
return named.find(([key]) => key === name)?.[1];
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=sim-sns-topic-attributes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-topic-attributes.js","sourceRoot":"","sources":["../../../../src/service/sns/topic/sim-sns-topic-attributes.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAc9D;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,qBAAqB;IAChB,WAAW,CAAS;IACpB,MAAM,CAAgC;IAEtD,YAAoB,UAA2C;QAC7D,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAClC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,QAAQ;QACb,OAAO,IAAI,IAAI,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,SAAoC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAC5C,CAAC,KAAK,EAA6B,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAC7D,CAAC;QAEF,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;YAC3B,6BAA6B,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,IAAI,qBAAqB,CAAC;YAC/B,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;YACzC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;SAChC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,UAAU,CAAC,QAA6B;QACtC,QAAQ,CAAC,GAAG,CAAC,8BAA8B,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAE/D,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,QAAQ,CAAC,GAAG,CAAC,yBAAyB,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,KAAkC;QACzD,OAAO,CACL,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,8BAA8B,CAAC,IAAI,IAAI,CAAC,WAAW,CACxE,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,WAAW,CACjB,KAAkC;QAElC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;QAE7D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAED,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YACjB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAEO,OAAO,CACb,KAAkC,EAClC,IAAY;QAEZ,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;CACF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The name of one simulated topic.
|
|
3
|
+
*
|
|
4
|
+
* The name is the whole identity of a topic: it is the resource part of the
|
|
5
|
+
* ARN with no type separator in front of it, and it is unique within one
|
|
6
|
+
* Account and Region. Validating it in one place is what keeps a name that
|
|
7
|
+
* works here one that would work on real AWS.
|
|
8
|
+
*/
|
|
9
|
+
export declare class SimSnsTopicName {
|
|
10
|
+
readonly value: string;
|
|
11
|
+
private constructor();
|
|
12
|
+
/**
|
|
13
|
+
* Read the topic name a request has to carry.
|
|
14
|
+
*/
|
|
15
|
+
static required(name: string | undefined): SimSnsTopicName;
|
|
16
|
+
/**
|
|
17
|
+
* Read a topic name from request input, refusing one real SNS would refuse.
|
|
18
|
+
*/
|
|
19
|
+
static of(value: string): SimSnsTopicName;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=sim-sns-topic-name.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-topic-name.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/topic/sim-sns-topic-name.ts"],"names":[],"mappings":"AAcA;;;;;;;GAOG;AACH,qBAAa,eAAe;IAC1B,SAAgB,KAAK,EAAE,MAAM,CAAC;IAE9B,OAAO,eAEN;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,CAQzD;IAED;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAkBxC;CACF"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { SimSnsInvalidParameterException, SimSnsUnsimulatedInputException, } from "../error/sim-sns.error.js";
|
|
2
|
+
/**
|
|
3
|
+
* Real SNS allows alphanumeric characters, hyphens and underscores, up to 256
|
|
4
|
+
* characters. A FIFO topic name additionally ends in `.fifo`, which is the only
|
|
5
|
+
* way a period gets into a name.
|
|
6
|
+
*/
|
|
7
|
+
const topicNamePattern = /^[\w-]{1,256}$/;
|
|
8
|
+
const fifoSuffix = ".fifo";
|
|
9
|
+
/**
|
|
10
|
+
* The name of one simulated topic.
|
|
11
|
+
*
|
|
12
|
+
* The name is the whole identity of a topic: it is the resource part of the
|
|
13
|
+
* ARN with no type separator in front of it, and it is unique within one
|
|
14
|
+
* Account and Region. Validating it in one place is what keeps a name that
|
|
15
|
+
* works here one that would work on real AWS.
|
|
16
|
+
*/
|
|
17
|
+
export class SimSnsTopicName {
|
|
18
|
+
value;
|
|
19
|
+
constructor(value) {
|
|
20
|
+
this.value = value;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Read the topic name a request has to carry.
|
|
24
|
+
*/
|
|
25
|
+
static required(name) {
|
|
26
|
+
if (name === undefined || name === "") {
|
|
27
|
+
throw new SimSnsInvalidParameterException("Invalid parameter: Name is required");
|
|
28
|
+
}
|
|
29
|
+
return this.of(name);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Read a topic name from request input, refusing one real SNS would refuse.
|
|
33
|
+
*/
|
|
34
|
+
static of(value) {
|
|
35
|
+
if (value.endsWith(fifoSuffix)) {
|
|
36
|
+
throw new SimSnsUnsimulatedInputException(`Topic name '${value}' names a FIFO topic, which simulated SNS does ` +
|
|
37
|
+
`not support. Only standard topics are simulated.`);
|
|
38
|
+
}
|
|
39
|
+
if (!topicNamePattern.test(value)) {
|
|
40
|
+
throw new SimSnsInvalidParameterException(`Invalid parameter: Topic Name '${value}' is invalid. Topic names ` +
|
|
41
|
+
`must be made up of only uppercase and lowercase ASCII letters, ` +
|
|
42
|
+
`numbers, underscores, and hyphens, and must be between 1 and 256 ` +
|
|
43
|
+
`characters long.`);
|
|
44
|
+
}
|
|
45
|
+
return new this(value);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=sim-sns-topic-name.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-topic-name.js","sourceRoot":"","sources":["../../../../src/service/sns/topic/sim-sns-topic-name.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,GAChC,MAAM,2BAA2B,CAAC;AAEnC;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AAE1C,MAAM,UAAU,GAAG,OAAO,CAAC;AAE3B;;;;;;;GAOG;AACH,MAAM,OAAO,eAAe;IACV,KAAK,CAAS;IAE9B,YAAoB,KAAa;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAwB;QACtC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,+BAA+B,CACvC,qCAAqC,CACtC,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,KAAa;QACrB,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,+BAA+B,CACvC,eAAe,KAAK,iDAAiD;gBACnE,kDAAkD,CACrD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,+BAA+B,CACvC,kCAAkC,KAAK,4BAA4B;gBACjE,iEAAiE;gBACjE,mEAAmE;gBACnE,kBAAkB,CACrB,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;CACF"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { SimIamPolicyDocument } from "../../iam/policy/sim-iam-policy.js";
|
|
2
|
+
/**
|
|
3
|
+
* The resource policy of one simulated topic.
|
|
4
|
+
*
|
|
5
|
+
* It is what admits a caller with no identity policy of its own: another
|
|
6
|
+
* Account's principal, or a service principal such as `s3.amazonaws.com`, which
|
|
7
|
+
* owns no identity policies anywhere. Sim IAM evaluates it as the topic's
|
|
8
|
+
* resource policy, so the rules about who it lets in are IAM's rather than
|
|
9
|
+
* SNS's.
|
|
10
|
+
*
|
|
11
|
+
* The string the policy was set with is kept, so `GetTopicAttributes` reports
|
|
12
|
+
* back what was set rather than a re-serialised version of it.
|
|
13
|
+
*/
|
|
14
|
+
export declare class SimSnsTopicPolicy {
|
|
15
|
+
readonly value: string;
|
|
16
|
+
readonly document: SimIamPolicyDocument;
|
|
17
|
+
private constructor();
|
|
18
|
+
/**
|
|
19
|
+
* Read a topic policy attribute value, refusing one real SNS would refuse.
|
|
20
|
+
*/
|
|
21
|
+
static parse(value: string): SimSnsTopicPolicy;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=sim-sns-topic-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-topic-policy.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/topic/sim-sns-topic-policy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AA6C/E;;;;;;;;;;;GAWG;AACH,qBAAa,iBAAiB;IAC5B,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,QAAQ,EAAE,oBAAoB,CAAC;IAE/C,OAAO,eAGN;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAE7C;CACF"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { jsonParse } from "../../../util/type-guard/json.js";
|
|
2
|
+
import { SimIamPolicyDocumentValidator } from "../../iam/validate/sim-iam-policy-document-validator.js";
|
|
3
|
+
import { SimSnsInvalidParameterException } from "../error/sim-sns.error.js";
|
|
4
|
+
const policyValidator = new SimIamPolicyDocumentValidator();
|
|
5
|
+
/**
|
|
6
|
+
* What a rejected policy document was rejected for.
|
|
7
|
+
*/
|
|
8
|
+
function reasonFor(error) {
|
|
9
|
+
/* v8 ignore next 3 -- unreachable: JSON parsing and policy validation both
|
|
10
|
+
throw Errors, so nothing else reaches this. */
|
|
11
|
+
if (!(error instanceof Error)) {
|
|
12
|
+
return String(error);
|
|
13
|
+
}
|
|
14
|
+
return error.message;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Read a topic policy attribute value as the IAM policy document it has to be.
|
|
18
|
+
*
|
|
19
|
+
* The document goes through sim IAM's own policy document validator, so a topic
|
|
20
|
+
* policy is held to the same rules as any other policy document, and it is held
|
|
21
|
+
* to them when the attribute is set rather than when the policy is first
|
|
22
|
+
* evaluated.
|
|
23
|
+
*/
|
|
24
|
+
function parsedDocument(value) {
|
|
25
|
+
try {
|
|
26
|
+
policyValidator.validateRequired(value);
|
|
27
|
+
return jsonParse(value);
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
throw new SimSnsInvalidParameterException(`Invalid parameter: Policy Error: ${reasonFor(error)}`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The resource policy of one simulated topic.
|
|
35
|
+
*
|
|
36
|
+
* It is what admits a caller with no identity policy of its own: another
|
|
37
|
+
* Account's principal, or a service principal such as `s3.amazonaws.com`, which
|
|
38
|
+
* owns no identity policies anywhere. Sim IAM evaluates it as the topic's
|
|
39
|
+
* resource policy, so the rules about who it lets in are IAM's rather than
|
|
40
|
+
* SNS's.
|
|
41
|
+
*
|
|
42
|
+
* The string the policy was set with is kept, so `GetTopicAttributes` reports
|
|
43
|
+
* back what was set rather than a re-serialised version of it.
|
|
44
|
+
*/
|
|
45
|
+
export class SimSnsTopicPolicy {
|
|
46
|
+
value;
|
|
47
|
+
document;
|
|
48
|
+
constructor(properties) {
|
|
49
|
+
this.value = properties.value;
|
|
50
|
+
this.document = properties.document;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Read a topic policy attribute value, refusing one real SNS would refuse.
|
|
54
|
+
*/
|
|
55
|
+
static parse(value) {
|
|
56
|
+
return new this({ value, document: parsedDocument(value) });
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=sim-sns-topic-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-topic-policy.js","sourceRoot":"","sources":["../../../../src/service/sns/topic/sim-sns-topic-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAE7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,yDAAyD,CAAC;AACxG,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAE5E,MAAM,eAAe,GACnB,IAAI,6BAA6B,EAAE,CAAC;AAEtC;;GAEG;AACH,SAAS,SAAS,CAAC,KAAc;IAC/B;qDACiD;IACjD,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,KAAK,CAAC,OAAO,CAAC;AACvB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,cAAc,CAAC,KAAa;IACnC,IAAI,CAAC;QACH,eAAe,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAExC,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,+BAA+B,CACvC,oCAAoC,SAAS,CAAC,KAAK,CAAC,EAAE,CACvD,CAAC;IACJ,CAAC;AACH,CAAC;AAOD;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,iBAAiB;IACZ,KAAK,CAAS;IACd,QAAQ,CAAuB;IAE/C,YAAoB,UAAuC;QACzD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,KAAa;QACxB,OAAO,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC;CACF"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { SimSnsTopic } from "./sim-sns-topic.js";
|
|
2
|
+
/**
|
|
3
|
+
* The topics of one simulated SNS scope.
|
|
4
|
+
*
|
|
5
|
+
* Topics are keyed by name, which is the whole of their identity: the name is
|
|
6
|
+
* the resource part of the ARN, and it is unique within one Account and Region.
|
|
7
|
+
*
|
|
8
|
+
* Nothing holds a deleted topic's name, unlike simulated SQS. Real SNS frees a
|
|
9
|
+
* topic name as soon as the topic is gone, so a name can be reused straight
|
|
10
|
+
* away.
|
|
11
|
+
*/
|
|
12
|
+
export declare class SimSnsTopicStore {
|
|
13
|
+
private readonly topics;
|
|
14
|
+
/**
|
|
15
|
+
* Every topic in this scope, in creation order.
|
|
16
|
+
*/
|
|
17
|
+
get all(): readonly SimSnsTopic[];
|
|
18
|
+
/**
|
|
19
|
+
* Store a newly created topic.
|
|
20
|
+
*/
|
|
21
|
+
add(topic: SimSnsTopic): void;
|
|
22
|
+
/**
|
|
23
|
+
* Find a topic by name.
|
|
24
|
+
*/
|
|
25
|
+
find(name: string): SimSnsTopic | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Resolve a topic by name, or refuse.
|
|
28
|
+
*/
|
|
29
|
+
require(name: string): SimSnsTopic;
|
|
30
|
+
/**
|
|
31
|
+
* Forget a deleted topic.
|
|
32
|
+
*/
|
|
33
|
+
remove(topic: SimSnsTopic): void;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=sim-sns-topic-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-topic-store.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/topic/sim-sns-topic-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;;;;;;GASG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IAEzD;;OAEG;IACH,IAAI,GAAG,IAAI,SAAS,WAAW,EAAE,CAEhC;IAED;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAE5B;IAED;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAE1C;IAED;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAWjC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAE/B;CACF"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { SimSnsNotFoundException } from "../error/sim-sns.error.js";
|
|
2
|
+
/**
|
|
3
|
+
* The topics of one simulated SNS scope.
|
|
4
|
+
*
|
|
5
|
+
* Topics are keyed by name, which is the whole of their identity: the name is
|
|
6
|
+
* the resource part of the ARN, and it is unique within one Account and Region.
|
|
7
|
+
*
|
|
8
|
+
* Nothing holds a deleted topic's name, unlike simulated SQS. Real SNS frees a
|
|
9
|
+
* topic name as soon as the topic is gone, so a name can be reused straight
|
|
10
|
+
* away.
|
|
11
|
+
*/
|
|
12
|
+
export class SimSnsTopicStore {
|
|
13
|
+
topics = new Map();
|
|
14
|
+
/**
|
|
15
|
+
* Every topic in this scope, in creation order.
|
|
16
|
+
*/
|
|
17
|
+
get all() {
|
|
18
|
+
return this.topics.values().toArray();
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Store a newly created topic.
|
|
22
|
+
*/
|
|
23
|
+
add(topic) {
|
|
24
|
+
this.topics.set(topic.name.value, topic);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Find a topic by name.
|
|
28
|
+
*/
|
|
29
|
+
find(name) {
|
|
30
|
+
return this.topics.get(name);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Resolve a topic by name, or refuse.
|
|
34
|
+
*/
|
|
35
|
+
require(name) {
|
|
36
|
+
const found = this.find(name);
|
|
37
|
+
if (found === undefined) {
|
|
38
|
+
throw new SimSnsNotFoundException(`Topic does not exist: no topic named '${name}' in this Account and ` +
|
|
39
|
+
`Region`);
|
|
40
|
+
}
|
|
41
|
+
return found;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Forget a deleted topic.
|
|
45
|
+
*/
|
|
46
|
+
remove(topic) {
|
|
47
|
+
this.topics.delete(topic.name.value);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=sim-sns-topic-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-topic-store.js","sourceRoot":"","sources":["../../../../src/service/sns/topic/sim-sns-topic-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE;;;;;;;;;GASG;AACH,MAAM,OAAO,gBAAgB;IACV,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;IAEzD;;OAEG;IACH,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,KAAkB;QACpB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,IAAY;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,IAAY;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,uBAAuB,CAC/B,yCAAyC,IAAI,wBAAwB;gBACnE,QAAQ,CACX,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAkB;QACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;CACF"}
|