@kensio/yulin 1.9.0 → 1.10.1
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/config/eslint/cffjs2.eslint.config.js +17 -98
- package/dist/config/eslint/cffjs2.eslint.config.js.map +1 -1
- package/dist/config/lint/cff-js2-lint-plugin.d.ts +16 -0
- package/dist/config/lint/cff-js2-lint-plugin.d.ts.map +1 -0
- package/dist/config/lint/cff-js2-lint-plugin.js +39 -0
- package/dist/config/lint/cff-js2-lint-plugin.js.map +1 -0
- package/dist/config/lint/cff-js2-lint-rules.d.ts +20 -0
- package/dist/config/lint/cff-js2-lint-rules.d.ts.map +1 -0
- package/dist/config/lint/cff-js2-lint-rules.js +53 -0
- package/dist/config/lint/cff-js2-lint-rules.js.map +1 -0
- package/dist/config/lint/cff-js2-lint.fixture.d.ts +39 -0
- package/dist/config/lint/cff-js2-lint.fixture.d.ts.map +1 -0
- package/dist/config/lint/cff-js2-lint.fixture.js +229 -0
- package/dist/config/lint/cff-js2-lint.fixture.js.map +1 -0
- package/dist/config/lint/cff-js2-oxlint-plugin.d.ts +9 -0
- package/dist/config/lint/cff-js2-oxlint-plugin.d.ts.map +1 -0
- package/dist/config/lint/cff-js2-oxlint-plugin.js +9 -0
- package/dist/config/lint/cff-js2-oxlint-plugin.js.map +1 -0
- package/dist/config/lint/cff-js2-restriction.d.ts +82 -0
- package/dist/config/lint/cff-js2-restriction.d.ts.map +1 -0
- package/dist/config/lint/cff-js2-restriction.js +85 -0
- package/dist/config/lint/cff-js2-restriction.js.map +1 -0
- package/dist/config/lint/cff-js2-unavailable-global.rule.d.ts +10 -0
- package/dist/config/lint/cff-js2-unavailable-global.rule.d.ts.map +1 -0
- package/dist/config/lint/cff-js2-unavailable-global.rule.js +42 -0
- package/dist/config/lint/cff-js2-unavailable-global.rule.js.map +1 -0
- package/dist/config/lint/index.d.ts +6 -0
- package/dist/config/lint/index.d.ts.map +1 -0
- package/dist/config/lint/index.js +5 -0
- package/dist/config/lint/index.js.map +1 -0
- package/dist/config/lint/lint-plugin.type.d.ts +82 -0
- package/dist/config/lint/lint-plugin.type.d.ts.map +1 -0
- package/dist/config/lint/lint-plugin.type.js +11 -0
- package/dist/config/lint/lint-plugin.type.js.map +1 -0
- package/dist/config/oxlint/cffjs2.oxlint.config.d.ts +26 -0
- package/dist/config/oxlint/cffjs2.oxlint.config.d.ts.map +1 -0
- package/dist/config/oxlint/cffjs2.oxlint.config.js +28 -0
- package/dist/config/oxlint/cffjs2.oxlint.config.js.map +1 -0
- package/dist/config/oxlint/cffjs2.oxlintrc.json +36 -0
- package/dist/config/oxlint/index.d.ts +2 -0
- package/dist/config/oxlint/index.d.ts.map +1 -0
- package/dist/config/oxlint/index.js +2 -0
- package/dist/config/oxlint/index.js.map +1 -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/serve/http/live-reload/sim-local-live-reload.d.ts.map +1 -1
- package/dist/serve/http/live-reload/sim-local-live-reload.js +2 -3
- package/dist/serve/http/live-reload/sim-local-live-reload.js.map +1 -1
- package/dist/service/acm/validation/sim-acm-certificate-validation.d.ts.map +1 -1
- package/dist/service/acm/validation/sim-acm-certificate-validation.js +3 -4
- package/dist/service/acm/validation/sim-acm-certificate-validation.js.map +1 -1
- package/dist/service/aws/caller/sim-aws-caller-resolver.d.ts.map +1 -1
- package/dist/service/aws/caller/sim-aws-caller-resolver.js +2 -3
- package/dist/service/aws/caller/sim-aws-caller-resolver.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-deployment/source/sim-cdk-bucket-deploy-source.d.ts.map +1 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.js +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.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/dynamodb/sim-dynamodb-table-cfn.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.js +4 -5
- package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.js.map +1 -1
- 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/cloudformation/resource/resolve/service/sim-cfn-service-resolver.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-resolver.js +2 -3
- package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-resolver.js.map +1 -1
- package/dist/service/cloudformation/template/node/fn/if/sim-cfn-fn-if.d.ts.map +1 -1
- package/dist/service/cloudformation/template/node/fn/if/sim-cfn-fn-if.js +3 -4
- package/dist/service/cloudformation/template/node/fn/if/sim-cfn-fn-if.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/cognito/user-pool/trigger/sim-aws-cognito-trigger-functions.d.ts.map +1 -1
- package/dist/service/cognito/user-pool/trigger/sim-aws-cognito-trigger-functions.js +1 -0
- package/dist/service/cognito/user-pool/trigger/sim-aws-cognito-trigger-functions.js.map +1 -1
- package/dist/service/iam/credential/session/sim-iam-session-manager.d.ts.map +1 -1
- package/dist/service/iam/credential/session/sim-iam-session-manager.js +2 -4
- package/dist/service/iam/credential/session/sim-iam-session-manager.js.map +1 -1
- package/dist/service/iam/registry/sim-iam-registry.d.ts.map +1 -1
- package/dist/service/iam/registry/sim-iam-registry.js +2 -3
- package/dist/service/iam/registry/sim-iam-registry.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/command/list-resource-record-sets/record-set-output.d.ts.map +1 -1
- package/dist/service/route53/command/list-resource-record-sets/record-set-output.js +2 -4
- package/dist/service/route53/command/list-resource-record-sets/record-set-output.js.map +1 -1
- package/dist/service/route53/dns/dns-record-type.d.ts.map +1 -1
- package/dist/service/route53/dns/dns-record-type.js +2 -4
- package/dist/service/route53/dns/dns-record-type.js.map +1 -1
- package/dist/service/route53/hosted-zone/register-sim-route53-hosted-zone.d.ts +6 -0
- package/dist/service/route53/hosted-zone/register-sim-route53-hosted-zone.d.ts.map +1 -1
- package/dist/service/route53/hosted-zone/register-sim-route53-hosted-zone.js +1 -0
- package/dist/service/route53/hosted-zone/register-sim-route53-hosted-zone.js.map +1 -1
- package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.d.ts +23 -10
- package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.d.ts.map +1 -1
- package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.js +32 -45
- package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.js.map +1 -1
- package/dist/service/route53/hosted-zone/sim-route53-zone-name-widening.d.ts +16 -0
- package/dist/service/route53/hosted-zone/sim-route53-zone-name-widening.d.ts.map +1 -0
- package/dist/service/route53/hosted-zone/sim-route53-zone-name-widening.js +35 -0
- package/dist/service/route53/hosted-zone/sim-route53-zone-name-widening.js.map +1 -0
- package/dist/service/route53/hosted-zone/sim-route53-zone-synchronization.d.ts +23 -0
- package/dist/service/route53/hosted-zone/sim-route53-zone-synchronization.d.ts.map +1 -0
- package/dist/service/route53/hosted-zone/sim-route53-zone-synchronization.js +43 -0
- package/dist/service/route53/hosted-zone/sim-route53-zone-synchronization.js.map +1 -0
- package/dist/service/route53/sim-route53.d.ts +1 -1
- package/dist/service/route53/sim-route53.d.ts.map +1 -1
- package/dist/service/route53/sim-route53.js +1 -1
- package/dist/service/route53/sim-route53.js.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration-reader.d.ts.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration-reader.js +2 -0
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration-reader.js.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.d.ts +3 -0
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.d.ts.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.js +10 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.js.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-topic-notification.d.ts +21 -0
- package/dist/service/s3/bucket/notification/sim-s3-topic-notification.d.ts.map +1 -0
- package/dist/service/s3/bucket/notification/sim-s3-topic-notification.js +24 -0
- package/dist/service/s3/bucket/notification/sim-s3-topic-notification.js.map +1 -0
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.d.ts +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.d.ts.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.js +3 -3
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.js.map +1 -1
- package/dist/service/s3/bucket/sim-s3-bucket-access.d.ts +4 -0
- package/dist/service/s3/bucket/sim-s3-bucket-access.d.ts.map +1 -1
- package/dist/service/s3/bucket/sim-s3-bucket-access.js +8 -0
- package/dist/service/s3/bucket/sim-s3-bucket-access.js.map +1 -1
- package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.d.ts +9 -6
- package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.d.ts.map +1 -1
- package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.js +32 -7
- package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.js.map +1 -1
- package/dist/service/s3/command/get-bucket-notification-configuration/get-bucket-notification-configuration.command.d.ts +2 -1
- package/dist/service/s3/command/get-bucket-notification-configuration/get-bucket-notification-configuration.command.d.ts.map +1 -1
- package/dist/service/s3/command/put-bucket-notification-configuration/put-bucket-notification-configuration.command.d.ts +10 -1
- package/dist/service/s3/command/put-bucket-notification-configuration/put-bucket-notification-configuration.command.d.ts.map +1 -1
- package/dist/service/s3/command/put-object/put-object-builder.d.ts +13 -4
- package/dist/service/s3/command/put-object/put-object-builder.d.ts.map +1 -1
- package/dist/service/s3/command/put-object/put-object-builder.js +27 -10
- package/dist/service/s3/command/put-object/put-object-builder.js.map +1 -1
- package/dist/service/s3/command/put-object/put-object.command.d.ts +11 -0
- package/dist/service/s3/command/put-object/put-object.command.d.ts.map +1 -1
- package/dist/service/s3/index.d.ts +2 -0
- package/dist/service/s3/index.d.ts.map +1 -1
- package/dist/service/s3/mount/sim-s3-mount.type.d.ts +22 -0
- package/dist/service/s3/mount/sim-s3-mount.type.d.ts.map +1 -1
- package/dist/service/s3/notification/destination/lambda/sim-aws-s3-notification-functions.d.ts.map +1 -1
- package/dist/service/s3/notification/destination/lambda/sim-aws-s3-notification-functions.js +1 -0
- package/dist/service/s3/notification/destination/lambda/sim-aws-s3-notification-functions.js.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-key-prefix-metadata.d.ts +51 -0
- package/dist/service/s3/object/s3-key-prefix-metadata.d.ts.map +1 -0
- package/dist/service/s3/object/s3-key-prefix-metadata.js +43 -0
- package/dist/service/s3/object/s3-key-prefix-metadata.js.map +1 -0
- package/dist/service/s3/object/s3-object-response-headers.d.ts +17 -0
- package/dist/service/s3/object/s3-object-response-headers.d.ts.map +1 -0
- package/dist/service/s3/object/s3-object-response-headers.js +29 -0
- package/dist/service/s3/object/s3-object-response-headers.js.map +1 -0
- package/dist/service/s3/object/s3-system-metadata.d.ts +32 -0
- package/dist/service/s3/object/s3-system-metadata.d.ts.map +1 -0
- package/dist/service/s3/object/s3-system-metadata.js +35 -0
- package/dist/service/s3/object/s3-system-metadata.js.map +1 -0
- package/dist/service/s3/serve/sim-s3-rest-object-reader.d.ts.map +1 -1
- package/dist/service/s3/serve/sim-s3-rest-object-reader.js +2 -5
- package/dist/service/s3/serve/sim-s3-rest-object-reader.js.map +1 -1
- package/dist/service/s3/serve/website/sim-s3-website-object-loader.js +1 -1
- package/dist/service/s3/serve/website/sim-s3-website-object-loader.js.map +1 -1
- package/dist/service/s3/serve/website/sim-s3-website-object.d.ts +3 -4
- package/dist/service/s3/serve/website/sim-s3-website-object.d.ts.map +1 -1
- package/dist/service/s3/serve/website/sim-s3-website-object.js +6 -11
- package/dist/service/s3/serve/website/sim-s3-website-object.js.map +1 -1
- package/dist/service/s3/sim-s3.d.ts +5 -0
- package/dist/service/s3/sim-s3.d.ts.map +1 -1
- package/dist/service/s3/sim-s3.js +5 -0
- package/dist/service/s3/sim-s3.js.map +1 -1
- package/dist/service/s3/storage/filesystem/s3-filesystem-object-metadata.d.ts +6 -1
- package/dist/service/s3/storage/filesystem/s3-filesystem-object-metadata.d.ts.map +1 -1
- package/dist/service/s3/storage/filesystem/s3-filesystem-object-metadata.js +7 -1
- package/dist/service/s3/storage/filesystem/s3-filesystem-object-metadata.js.map +1 -1
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.d.ts +7 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.d.ts.map +1 -1
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.js +5 -1
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.js.map +1 -1
- package/dist/service/sns/cfn/sim-cfn-sns-attribute-value.d.ts +15 -0
- package/dist/service/sns/cfn/sim-cfn-sns-attribute-value.d.ts.map +1 -0
- package/dist/service/sns/cfn/sim-cfn-sns-attribute-value.js +23 -0
- package/dist/service/sns/cfn/sim-cfn-sns-attribute-value.js.map +1 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.d.ts +38 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.d.ts.map +1 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.js +73 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.js.map +1 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-error.d.ts +24 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-error.d.ts.map +1 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-error.js +39 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-error.js.map +1 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-types.d.ts +11 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-types.d.ts.map +1 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-types.js +11 -0
- package/dist/service/sns/cfn/sim-cfn-sns-resource-types.js.map +1 -0
- package/dist/service/sns/cfn/sim-sns-cfn-resource-factory.d.ts +31 -0
- package/dist/service/sns/cfn/sim-sns-cfn-resource-factory.d.ts.map +1 -0
- package/dist/service/sns/cfn/sim-sns-cfn-resource-factory.js +54 -0
- package/dist/service/sns/cfn/sim-sns-cfn-resource-factory.js.map +1 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.d.ts +26 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.d.ts.map +1 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.js +37 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.js.map +1 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-properties.d.ts +47 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-properties.d.ts.map +1 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-properties.js +88 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-properties.js.map +1 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-property-names.d.ts +36 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-property-names.d.ts.map +1 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-property-names.js +55 -0
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-property-names.js.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-inline-subscriptions.d.ts +23 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-inline-subscriptions.d.ts.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-inline-subscriptions.js +49 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-inline-subscriptions.js.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.d.ts +34 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.d.ts.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.js +60 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.js.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-name.d.ts +22 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-name.d.ts.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-name.js +27 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-name.js.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-properties.d.ts +58 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-properties.d.ts.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-properties.js +93 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-properties.js.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-property-names.d.ts +31 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-property-names.d.ts.map +1 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-property-names.js +52 -0
- package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-property-names.js.map +1 -0
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.d.ts +34 -0
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.d.ts.map +1 -0
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.js +58 -0
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.js.map +1 -0
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-properties.d.ts +20 -0
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-properties.d.ts.map +1 -0
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-properties.js +44 -0
- package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-properties.js.map +1 -0
- package/dist/service/sns/command/authorize/sim-sns-authorizer.d.ts +58 -0
- package/dist/service/sns/command/authorize/sim-sns-authorizer.d.ts.map +1 -0
- package/dist/service/sns/command/authorize/sim-sns-authorizer.js +83 -0
- package/dist/service/sns/command/authorize/sim-sns-authorizer.js.map +1 -0
- package/dist/service/sns/command/authorize/sim-sns-condition-context.d.ts +13 -0
- package/dist/service/sns/command/authorize/sim-sns-condition-context.d.ts.map +1 -0
- package/dist/service/sns/command/authorize/sim-sns-condition-context.js +21 -0
- package/dist/service/sns/command/authorize/sim-sns-condition-context.js.map +1 -0
- package/dist/service/sns/command/authorize/sim-sns-service-publish-authorizer.d.ts +41 -0
- package/dist/service/sns/command/authorize/sim-sns-service-publish-authorizer.d.ts.map +1 -0
- package/dist/service/sns/command/authorize/sim-sns-service-publish-authorizer.js +40 -0
- package/dist/service/sns/command/authorize/sim-sns-service-publish-authorizer.js.map +1 -0
- package/dist/service/sns/command/authorize/sim-sns-topic-resource-policies.d.ts +12 -0
- package/dist/service/sns/command/authorize/sim-sns-topic-resource-policies.d.ts.map +1 -0
- package/dist/service/sns/command/authorize/sim-sns-topic-resource-policies.js +25 -0
- package/dist/service/sns/command/authorize/sim-sns-topic-resource-policies.js.map +1 -0
- package/dist/service/sns/command/publish/publish.command.d.ts +70 -0
- package/dist/service/sns/command/publish/publish.command.d.ts.map +1 -0
- package/dist/service/sns/command/publish/publish.command.js +2 -0
- package/dist/service/sns/command/publish/publish.command.js.map +1 -0
- package/dist/service/sns/command/publish/sim-sns-batch-entries.d.ts +52 -0
- package/dist/service/sns/command/publish/sim-sns-batch-entries.d.ts.map +1 -0
- package/dist/service/sns/command/publish/sim-sns-batch-entries.js +85 -0
- package/dist/service/sns/command/publish/sim-sns-batch-entries.js.map +1 -0
- package/dist/service/sns/command/publish/sim-sns-publish-commands.d.ts +53 -0
- package/dist/service/sns/command/publish/sim-sns-publish-commands.d.ts.map +1 -0
- package/dist/service/sns/command/publish/sim-sns-publish-commands.js +83 -0
- package/dist/service/sns/command/publish/sim-sns-publish-commands.js.map +1 -0
- package/dist/service/sns/command/publish/sim-sns-publish-input.d.ts +23 -0
- package/dist/service/sns/command/publish/sim-sns-publish-input.d.ts.map +1 -0
- package/dist/service/sns/command/publish/sim-sns-publish-input.js +47 -0
- package/dist/service/sns/command/publish/sim-sns-publish-input.js.map +1 -0
- package/dist/service/sns/command/sim-sns-command.types.d.ts +7 -0
- package/dist/service/sns/command/sim-sns-command.types.d.ts.map +1 -0
- package/dist/service/sns/command/sim-sns-command.types.js +2 -0
- package/dist/service/sns/command/sim-sns-command.types.js.map +1 -0
- package/dist/service/sns/command/sim-sns-commands.d.ts +45 -0
- package/dist/service/sns/command/sim-sns-commands.d.ts.map +1 -0
- package/dist/service/sns/command/sim-sns-commands.js +83 -0
- package/dist/service/sns/command/sim-sns-commands.js.map +1 -0
- package/dist/service/sns/command/sim-sns-page.d.ts +19 -0
- package/dist/service/sns/command/sim-sns-page.d.ts.map +1 -0
- package/dist/service/sns/command/sim-sns-page.js +51 -0
- package/dist/service/sns/command/sim-sns-page.js.map +1 -0
- package/dist/service/sns/command/sim-sns-request-options.d.ts +47 -0
- package/dist/service/sns/command/sim-sns-request-options.d.ts.map +1 -0
- package/dist/service/sns/command/sim-sns-request-options.js +19 -0
- package/dist/service/sns/command/sim-sns-request-options.js.map +1 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-access.d.ts +42 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-access.d.ts.map +1 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-access.js +57 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-access.js.map +1 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-attribute-commands.d.ts +31 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-attribute-commands.d.ts.map +1 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-attribute-commands.js +44 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-attribute-commands.js.map +1 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-commands.d.ts +50 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-commands.d.ts.map +1 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-commands.js +73 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-commands.js.map +1 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-listings.d.ts +34 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-listings.d.ts.map +1 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-listings.js +57 -0
- package/dist/service/sns/command/subscription/sim-sns-subscription-listings.js.map +1 -0
- package/dist/service/sns/command/subscription/subscription.command.d.ts +118 -0
- package/dist/service/sns/command/subscription/subscription.command.d.ts.map +1 -0
- package/dist/service/sns/command/subscription/subscription.command.js +2 -0
- package/dist/service/sns/command/subscription/subscription.command.js.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-create-topic.d.ts +41 -0
- package/dist/service/sns/command/topic/sim-sns-create-topic.d.ts.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-create-topic.js +54 -0
- package/dist/service/sns/command/topic/sim-sns-create-topic.js.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-request-topic-name.d.ts +11 -0
- package/dist/service/sns/command/topic/sim-sns-request-topic-name.d.ts.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-request-topic-name.js +28 -0
- package/dist/service/sns/command/topic/sim-sns-request-topic-name.js.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-topic-access.d.ts +76 -0
- package/dist/service/sns/command/topic/sim-sns-topic-access.d.ts.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-topic-access.js +81 -0
- package/dist/service/sns/command/topic/sim-sns-topic-access.js.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-topic-attribute-commands.d.ts +36 -0
- package/dist/service/sns/command/topic/sim-sns-topic-attribute-commands.d.ts.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-topic-attribute-commands.js +47 -0
- package/dist/service/sns/command/topic/sim-sns-topic-attribute-commands.js.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-topic-commands.d.ts +42 -0
- package/dist/service/sns/command/topic/sim-sns-topic-commands.d.ts.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-topic-commands.js +51 -0
- package/dist/service/sns/command/topic/sim-sns-topic-commands.js.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-unsimulated-topic-input.d.ts +11 -0
- package/dist/service/sns/command/topic/sim-sns-unsimulated-topic-input.d.ts.map +1 -0
- package/dist/service/sns/command/topic/sim-sns-unsimulated-topic-input.js +20 -0
- package/dist/service/sns/command/topic/sim-sns-unsimulated-topic-input.js.map +1 -0
- package/dist/service/sns/command/topic/topic.command.d.ts +95 -0
- package/dist/service/sns/command/topic/topic.command.d.ts.map +1 -0
- package/dist/service/sns/command/topic/topic.command.js +2 -0
- package/dist/service/sns/command/topic/topic.command.js.map +1 -0
- package/dist/service/sns/delivery/lambda/sim-aws-sns-delivery-functions.d.ts +27 -0
- package/dist/service/sns/delivery/lambda/sim-aws-sns-delivery-functions.d.ts.map +1 -0
- package/dist/service/sns/delivery/lambda/sim-aws-sns-delivery-functions.js +31 -0
- package/dist/service/sns/delivery/lambda/sim-aws-sns-delivery-functions.js.map +1 -0
- package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.d.ts +31 -0
- package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.d.ts.map +1 -0
- package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.js +62 -0
- package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.js.map +1 -0
- package/dist/service/sns/delivery/lambda/sim-sns-lambda-event.d.ts +10 -0
- package/dist/service/sns/delivery/lambda/sim-sns-lambda-event.d.ts.map +1 -0
- package/dist/service/sns/delivery/lambda/sim-sns-lambda-event.js +53 -0
- package/dist/service/sns/delivery/lambda/sim-sns-lambda-event.js.map +1 -0
- package/dist/service/sns/delivery/sim-aws-sns-delivery-endpoints.d.ts +17 -0
- package/dist/service/sns/delivery/sim-aws-sns-delivery-endpoints.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-aws-sns-delivery-endpoints.js +21 -0
- package/dist/service/sns/delivery/sim-aws-sns-delivery-endpoints.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-canonical-message.d.ts +32 -0
- package/dist/service/sns/delivery/sim-sns-canonical-message.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-canonical-message.js +24 -0
- package/dist/service/sns/delivery/sim-sns-canonical-message.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-delivery-failures.d.ts +60 -0
- package/dist/service/sns/delivery/sim-sns-delivery-failures.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-delivery-failures.js +84 -0
- package/dist/service/sns/delivery/sim-sns-delivery-failures.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-delivery-request.d.ts +28 -0
- package/dist/service/sns/delivery/sim-sns-delivery-request.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-delivery-request.js +34 -0
- package/dist/service/sns/delivery/sim-sns-delivery-request.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-delivery.d.ts +55 -0
- package/dist/service/sns/delivery/sim-sns-delivery.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-delivery.js +18 -0
- package/dist/service/sns/delivery/sim-sns-delivery.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-envelope.d.ts +26 -0
- package/dist/service/sns/delivery/sim-sns-envelope.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-envelope.js +41 -0
- package/dist/service/sns/delivery/sim-sns-envelope.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-fan-out.d.ts +53 -0
- package/dist/service/sns/delivery/sim-sns-fan-out.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-fan-out.js +69 -0
- package/dist/service/sns/delivery/sim-sns-fan-out.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-no-delivery-endpoints.d.ts +17 -0
- package/dist/service/sns/delivery/sim-sns-no-delivery-endpoints.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-no-delivery-endpoints.js +23 -0
- package/dist/service/sns/delivery/sim-sns-no-delivery-endpoints.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-notification.d.ts +57 -0
- package/dist/service/sns/delivery/sim-sns-notification.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-notification.js +64 -0
- package/dist/service/sns/delivery/sim-sns-notification.js.map +1 -0
- package/dist/service/sns/delivery/sim-sns-protocol-delivery-endpoints.d.ts +32 -0
- package/dist/service/sns/delivery/sim-sns-protocol-delivery-endpoints.d.ts.map +1 -0
- package/dist/service/sns/delivery/sim-sns-protocol-delivery-endpoints.js +22 -0
- package/dist/service/sns/delivery/sim-sns-protocol-delivery-endpoints.js.map +1 -0
- package/dist/service/sns/delivery/sqs/sim-aws-sns-delivery-queues.d.ts +29 -0
- package/dist/service/sns/delivery/sqs/sim-aws-sns-delivery-queues.d.ts.map +1 -0
- package/dist/service/sns/delivery/sqs/sim-aws-sns-delivery-queues.js +33 -0
- package/dist/service/sns/delivery/sqs/sim-aws-sns-delivery-queues.js.map +1 -0
- package/dist/service/sns/delivery/sqs/sim-sns-delivery-queue.d.ts +31 -0
- package/dist/service/sns/delivery/sqs/sim-sns-delivery-queue.d.ts.map +1 -0
- package/dist/service/sns/delivery/sqs/sim-sns-delivery-queue.js +63 -0
- package/dist/service/sns/delivery/sqs/sim-sns-delivery-queue.js.map +1 -0
- package/dist/service/sns/delivery/sqs/sim-sns-queue-message.d.ts +24 -0
- package/dist/service/sns/delivery/sqs/sim-sns-queue-message.d.ts.map +1 -0
- package/dist/service/sns/delivery/sqs/sim-sns-queue-message.js +38 -0
- package/dist/service/sns/delivery/sqs/sim-sns-queue-message.js.map +1 -0
- package/dist/service/sns/error/sim-sns-delivery.error.d.ts +13 -0
- package/dist/service/sns/error/sim-sns-delivery.error.d.ts.map +1 -0
- package/dist/service/sns/error/sim-sns-delivery.error.js +13 -0
- package/dist/service/sns/error/sim-sns-delivery.error.js.map +1 -0
- package/dist/service/sns/error/sim-sns.error.d.ts +107 -0
- package/dist/service/sns/error/sim-sns.error.d.ts.map +1 -0
- package/dist/service/sns/error/sim-sns.error.js +124 -0
- package/dist/service/sns/error/sim-sns.error.js.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-anything-but-match.d.ts +30 -0
- package/dist/service/sns/filter/match/sim-sns-anything-but-match.d.ts.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-anything-but-match.js +82 -0
- package/dist/service/sns/filter/match/sim-sns-anything-but-match.js.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-equals-ignore-case-match.d.ts +24 -0
- package/dist/service/sns/filter/match/sim-sns-equals-ignore-case-match.d.ts.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-equals-ignore-case-match.js +30 -0
- package/dist/service/sns/filter/match/sim-sns-equals-ignore-case-match.js.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-exact-match.d.ts +22 -0
- package/dist/service/sns/filter/match/sim-sns-exact-match.d.ts.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-exact-match.js +49 -0
- package/dist/service/sns/filter/match/sim-sns-exact-match.js.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-exists-match.d.ts +27 -0
- package/dist/service/sns/filter/match/sim-sns-exists-match.d.ts.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-exists-match.js +38 -0
- package/dist/service/sns/filter/match/sim-sns-exists-match.js.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-filter-match.d.ts +24 -0
- package/dist/service/sns/filter/match/sim-sns-filter-match.d.ts.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-filter-match.js +19 -0
- package/dist/service/sns/filter/match/sim-sns-filter-match.js.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-numeric-match.d.ts +48 -0
- package/dist/service/sns/filter/match/sim-sns-numeric-match.d.ts.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-numeric-match.js +107 -0
- package/dist/service/sns/filter/match/sim-sns-numeric-match.js.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-prefix-match.d.ts +26 -0
- package/dist/service/sns/filter/match/sim-sns-prefix-match.d.ts.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-prefix-match.js +32 -0
- package/dist/service/sns/filter/match/sim-sns-prefix-match.js.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-suffix-match.d.ts +23 -0
- package/dist/service/sns/filter/match/sim-sns-suffix-match.d.ts.map +1 -0
- package/dist/service/sns/filter/match/sim-sns-suffix-match.js +29 -0
- package/dist/service/sns/filter/match/sim-sns-suffix-match.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-attribute-subject.d.ts +31 -0
- package/dist/service/sns/filter/sim-sns-attribute-subject.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-attribute-subject.js +85 -0
- package/dist/service/sns/filter/sim-sns-attribute-subject.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-body-subject.d.ts +30 -0
- package/dist/service/sns/filter/sim-sns-body-subject.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-body-subject.js +67 -0
- package/dist/service/sns/filter/sim-sns-body-subject.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-any-rule.d.ts +21 -0
- package/dist/service/sns/filter/sim-sns-filter-any-rule.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-any-rule.js +23 -0
- package/dist/service/sns/filter/sim-sns-filter-any-rule.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-key-rule.d.ts +28 -0
- package/dist/service/sns/filter/sim-sns-filter-key-rule.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-key-rule.js +48 -0
- package/dist/service/sns/filter/sim-sns-filter-key-rule.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-matches.d.ts +9 -0
- package/dist/service/sns/filter/sim-sns-filter-matches.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-matches.js +40 -0
- package/dist/service/sns/filter/sim-sns-filter-matches.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-operators.d.ts +22 -0
- package/dist/service/sns/filter/sim-sns-filter-operators.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-operators.js +50 -0
- package/dist/service/sns/filter/sim-sns-filter-operators.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-or-eligibility.d.ts +17 -0
- package/dist/service/sns/filter/sim-sns-filter-or-eligibility.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-or-eligibility.js +47 -0
- package/dist/service/sns/filter/sim-sns-filter-or-eligibility.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-policy-scope.d.ts +36 -0
- package/dist/service/sns/filter/sim-sns-filter-policy-scope.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-policy-scope.js +67 -0
- package/dist/service/sns/filter/sim-sns-filter-policy-scope.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-policy.d.ts +48 -0
- package/dist/service/sns/filter/sim-sns-filter-policy.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-policy.js +84 -0
- package/dist/service/sns/filter/sim-sns-filter-policy.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-refusals.d.ts +38 -0
- package/dist/service/sns/filter/sim-sns-filter-refusals.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-refusals.js +53 -0
- package/dist/service/sns/filter/sim-sns-filter-refusals.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-rule.d.ts +15 -0
- package/dist/service/sns/filter/sim-sns-filter-rule.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-rule.js +2 -0
- package/dist/service/sns/filter/sim-sns-filter-rule.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-rules.d.ts +27 -0
- package/dist/service/sns/filter/sim-sns-filter-rules.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-rules.js +66 -0
- package/dist/service/sns/filter/sim-sns-filter-rules.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-subject.d.ts +31 -0
- package/dist/service/sns/filter/sim-sns-filter-subject.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-subject.js +2 -0
- package/dist/service/sns/filter/sim-sns-filter-subject.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-value.d.ts +45 -0
- package/dist/service/sns/filter/sim-sns-filter-value.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-filter-value.js +83 -0
- package/dist/service/sns/filter/sim-sns-filter-value.js.map +1 -0
- package/dist/service/sns/filter/sim-sns-json-filter-values.d.ts +12 -0
- package/dist/service/sns/filter/sim-sns-json-filter-values.d.ts.map +1 -0
- package/dist/service/sns/filter/sim-sns-json-filter-values.js +25 -0
- package/dist/service/sns/filter/sim-sns-json-filter-values.js.map +1 -0
- package/dist/service/sns/index.d.ts +33 -0
- package/dist/service/sns/index.d.ts.map +1 -0
- package/dist/service/sns/index.js +29 -0
- package/dist/service/sns/index.js.map +1 -0
- package/dist/service/sns/message/sim-sns-message-attribute-rules.d.ts +23 -0
- package/dist/service/sns/message/sim-sns-message-attribute-rules.d.ts.map +1 -0
- package/dist/service/sns/message/sim-sns-message-attribute-rules.js +74 -0
- package/dist/service/sns/message/sim-sns-message-attribute-rules.js.map +1 -0
- package/dist/service/sns/message/sim-sns-message-attribute-value.d.ts +15 -0
- package/dist/service/sns/message/sim-sns-message-attribute-value.d.ts.map +1 -0
- package/dist/service/sns/message/sim-sns-message-attribute-value.js +2 -0
- package/dist/service/sns/message/sim-sns-message-attribute-value.js.map +1 -0
- package/dist/service/sns/message/sim-sns-message-attribute.d.ts +55 -0
- package/dist/service/sns/message/sim-sns-message-attribute.d.ts.map +1 -0
- package/dist/service/sns/message/sim-sns-message-attribute.js +78 -0
- package/dist/service/sns/message/sim-sns-message-attribute.js.map +1 -0
- package/dist/service/sns/message/sim-sns-message-attributes.d.ts +71 -0
- package/dist/service/sns/message/sim-sns-message-attributes.d.ts.map +1 -0
- package/dist/service/sns/message/sim-sns-message-attributes.js +80 -0
- package/dist/service/sns/message/sim-sns-message-attributes.js.map +1 -0
- package/dist/service/sns/message/sim-sns-message-body.d.ts +17 -0
- package/dist/service/sns/message/sim-sns-message-body.d.ts.map +1 -0
- package/dist/service/sns/message/sim-sns-message-body.js +26 -0
- package/dist/service/sns/message/sim-sns-message-body.js.map +1 -0
- package/dist/service/sns/message/sim-sns-message-subject.d.ts +27 -0
- package/dist/service/sns/message/sim-sns-message-subject.d.ts.map +1 -0
- package/dist/service/sns/message/sim-sns-message-subject.js +74 -0
- package/dist/service/sns/message/sim-sns-message-subject.js.map +1 -0
- package/dist/service/sns/message/sim-sns-published-message.d.ts +55 -0
- package/dist/service/sns/message/sim-sns-published-message.d.ts.map +1 -0
- package/dist/service/sns/message/sim-sns-published-message.js +69 -0
- package/dist/service/sns/message/sim-sns-published-message.js.map +1 -0
- package/dist/service/sns/sdk/sim-sns-sdk-command-router.d.ts +18 -0
- package/dist/service/sns/sdk/sim-sns-sdk-command-router.d.ts.map +1 -0
- package/dist/service/sns/sdk/sim-sns-sdk-command-router.js +76 -0
- package/dist/service/sns/sdk/sim-sns-sdk-command-router.js.map +1 -0
- package/dist/service/sns/signature/sim-sns-certificate.d.ts +30 -0
- package/dist/service/sns/signature/sim-sns-certificate.d.ts.map +1 -0
- package/dist/service/sns/signature/sim-sns-certificate.js +110 -0
- package/dist/service/sns/signature/sim-sns-certificate.js.map +1 -0
- package/dist/service/sns/signature/sim-sns-der.d.ts +40 -0
- package/dist/service/sns/signature/sim-sns-der.d.ts.map +1 -0
- package/dist/service/sns/signature/sim-sns-der.js +64 -0
- package/dist/service/sns/signature/sim-sns-der.js.map +1 -0
- package/dist/service/sns/signature/sim-sns-host.d.ts +28 -0
- package/dist/service/sns/signature/sim-sns-host.d.ts.map +1 -0
- package/dist/service/sns/signature/sim-sns-host.js +33 -0
- package/dist/service/sns/signature/sim-sns-host.js.map +1 -0
- package/dist/service/sns/signature/sim-sns-message-signer.d.ts +51 -0
- package/dist/service/sns/signature/sim-sns-message-signer.d.ts.map +1 -0
- package/dist/service/sns/signature/sim-sns-message-signer.js +60 -0
- package/dist/service/sns/signature/sim-sns-message-signer.js.map +1 -0
- package/dist/service/sns/signature/sim-sns-signing-key.d.ts +34 -0
- package/dist/service/sns/signature/sim-sns-signing-key.d.ts.map +1 -0
- package/dist/service/sns/signature/sim-sns-signing-key.js +69 -0
- package/dist/service/sns/signature/sim-sns-signing-key.js.map +1 -0
- package/dist/service/sns/sim-sns.d.ts +139 -0
- package/dist/service/sns/sim-sns.d.ts.map +1 -0
- package/dist/service/sns/sim-sns.js +188 -0
- package/dist/service/sns/sim-sns.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-function-endpoint-arn.d.ts +31 -0
- package/dist/service/sns/subscription/sim-sns-function-endpoint-arn.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-function-endpoint-arn.js +54 -0
- package/dist/service/sns/subscription/sim-sns-function-endpoint-arn.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-queue-endpoint-arn.d.ts +30 -0
- package/dist/service/sns/subscription/sim-sns-queue-endpoint-arn.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-queue-endpoint-arn.js +78 -0
- package/dist/service/sns/subscription/sim-sns-queue-endpoint-arn.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-requested-subscription-attributes.d.ts +28 -0
- package/dist/service/sns/subscription/sim-sns-requested-subscription-attributes.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-requested-subscription-attributes.js +43 -0
- package/dist/service/sns/subscription/sim-sns-requested-subscription-attributes.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-arn.d.ts +43 -0
- package/dist/service/sns/subscription/sim-sns-subscription-arn.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-arn.js +70 -0
- package/dist/service/sns/subscription/sim-sns-subscription-arn.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attribute-changes.d.ts +20 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attribute-changes.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attribute-changes.js +52 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attribute-changes.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attribute-names.d.ts +26 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attribute-names.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attribute-names.js +64 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attribute-names.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attributes.d.ts +47 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attributes.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attributes.js +67 -0
- package/dist/service/sns/subscription/sim-sns-subscription-attributes.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-endpoint.d.ts +26 -0
- package/dist/service/sns/subscription/sim-sns-subscription-endpoint.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-endpoint.js +21 -0
- package/dist/service/sns/subscription/sim-sns-subscription-endpoint.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-protocol.d.ts +33 -0
- package/dist/service/sns/subscription/sim-sns-subscription-protocol.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-protocol.js +63 -0
- package/dist/service/sns/subscription/sim-sns-subscription-protocol.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-store.d.ts +71 -0
- package/dist/service/sns/subscription/sim-sns-subscription-store.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-store.js +88 -0
- package/dist/service/sns/subscription/sim-sns-subscription-store.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription.d.ts +72 -0
- package/dist/service/sns/subscription/sim-sns-subscription.d.ts.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription.js +116 -0
- package/dist/service/sns/subscription/sim-sns-subscription.js.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-arn.d.ts +52 -0
- package/dist/service/sns/topic/sim-sns-topic-arn.d.ts.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-arn.js +71 -0
- package/dist/service/sns/topic/sim-sns-topic-arn.js.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-attribute-names.d.ts +19 -0
- package/dist/service/sns/topic/sim-sns-topic-attribute-names.d.ts.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-attribute-names.js +79 -0
- package/dist/service/sns/topic/sim-sns-topic-attribute-names.js.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-attributes.d.ts +56 -0
- package/dist/service/sns/topic/sim-sns-topic-attributes.d.ts.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-attributes.js +85 -0
- package/dist/service/sns/topic/sim-sns-topic-attributes.js.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-name.d.ts +21 -0
- package/dist/service/sns/topic/sim-sns-topic-name.d.ts.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-name.js +48 -0
- package/dist/service/sns/topic/sim-sns-topic-name.js.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-policy.d.ts +23 -0
- package/dist/service/sns/topic/sim-sns-topic-policy.d.ts.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-policy.js +59 -0
- package/dist/service/sns/topic/sim-sns-topic-policy.js.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-store.d.ts +35 -0
- package/dist/service/sns/topic/sim-sns-topic-store.d.ts.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic-store.js +50 -0
- package/dist/service/sns/topic/sim-sns-topic-store.js.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic.d.ts +48 -0
- package/dist/service/sns/topic/sim-sns-topic.d.ts.map +1 -0
- package/dist/service/sns/topic/sim-sns-topic.js +80 -0
- package/dist/service/sns/topic/sim-sns-topic.js.map +1 -0
- package/dist/service/sqs/command/authorize/sim-sqs-authorizer.d.ts +3 -6
- package/dist/service/sqs/command/authorize/sim-sqs-authorizer.d.ts.map +1 -1
- package/dist/service/sqs/command/authorize/sim-sqs-authorizer.js +13 -7
- package/dist/service/sqs/command/authorize/sim-sqs-authorizer.js.map +1 -1
- package/dist/service/sqs/index.d.ts +1 -1
- package/dist/service/sqs/index.d.ts.map +1 -1
- package/dist/service/sqs/index.js +1 -1
- package/dist/service/sqs/index.js.map +1 -1
- package/dist/service/sqs/queue/sim-sqs-queue-arn.d.ts +0 -7
- package/dist/service/sqs/queue/sim-sqs-queue-arn.d.ts.map +1 -1
- package/dist/service/sqs/queue/sim-sqs-queue-arn.js +0 -9
- package/dist/service/sqs/queue/sim-sqs-queue-arn.js.map +1 -1
- package/dist/service/sqs/sim-sqs.js +1 -1
- package/dist/service/sqs/sim-sqs.js.map +1 -1
- package/dist/util/filesystem/temporary-directory.d.ts +4 -1
- package/dist/util/filesystem/temporary-directory.d.ts.map +1 -1
- package/dist/util/filesystem/temporary-directory.js +5 -3
- package/dist/util/filesystem/temporary-directory.js.map +1 -1
- package/package.json +15 -2
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { simCfnSnsAttributeValue } from "../sim-cfn-sns-attribute-value.js";
|
|
2
|
+
import { simCfnSnsResourceError } from "../sim-cfn-sns-resource-error.js";
|
|
3
|
+
import { snsTopicResourceType } from "../sim-cfn-sns-resource-types.js";
|
|
4
|
+
import { simCfnSnsInlineSubscriptions, } from "./sim-cfn-sns-inline-subscriptions.js";
|
|
5
|
+
import { SimCfnSnsTopicName } from "./sim-cfn-sns-topic-name.js";
|
|
6
|
+
import { attributePropertyNames, topicNamePropertyName, topicSubscriptionPropertyName, unsimulatedPropertyReasons, } from "./sim-cfn-sns-topic-property-names.js";
|
|
7
|
+
/**
|
|
8
|
+
* Reads AWS::SNS::Topic CloudFormation properties into the shape CreateTopic
|
|
9
|
+
* takes.
|
|
10
|
+
*
|
|
11
|
+
* Most of what a template can say about a topic is a topic attribute of the
|
|
12
|
+
* same name, so those are passed straight through and simulated SNS decides
|
|
13
|
+
* what it will take. A property that is not an attribute, and that this
|
|
14
|
+
* simulation gives no behaviour to, is refused here instead. Refusing rather
|
|
15
|
+
* than dropping is the point: a topic deployed without its data protection
|
|
16
|
+
* policy looks protected to the template that wrote it and redacts nothing.
|
|
17
|
+
*/
|
|
18
|
+
export class SimCfnSnsTopicProperties {
|
|
19
|
+
resource;
|
|
20
|
+
properties;
|
|
21
|
+
constructor(properties) {
|
|
22
|
+
this.resource = properties.resource;
|
|
23
|
+
this.properties = new Map(Object.entries(properties.properties));
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The topic name.
|
|
27
|
+
*
|
|
28
|
+
* An unnamed topic is named after the stack and the logical ID, as real
|
|
29
|
+
* CloudFormation names one.
|
|
30
|
+
*/
|
|
31
|
+
name() {
|
|
32
|
+
const name = this.properties.get(topicNamePropertyName);
|
|
33
|
+
if (name === undefined) {
|
|
34
|
+
return new SimCfnSnsTopicName({
|
|
35
|
+
stackName: this.resource.stackName,
|
|
36
|
+
logicalId: this.resource.logicalId,
|
|
37
|
+
}).value;
|
|
38
|
+
}
|
|
39
|
+
if (typeof name !== "string") {
|
|
40
|
+
throw this.propertyError(`${topicNamePropertyName} must be a string`);
|
|
41
|
+
}
|
|
42
|
+
return name;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* The topic attributes the template sets, in the string form CreateTopic
|
|
46
|
+
* takes them in.
|
|
47
|
+
*
|
|
48
|
+
* The ones simulated SNS gives no behaviour to are passed on with the rest,
|
|
49
|
+
* because refusing them is SNS's own answer and it already carries the reason
|
|
50
|
+
* each one is missing. `FifoTopic` is the one that matters most: only
|
|
51
|
+
* standard topics are simulated, and a topic that appeared to accept the
|
|
52
|
+
* property would be a standard topic a test believed was ordered.
|
|
53
|
+
*/
|
|
54
|
+
attributes() {
|
|
55
|
+
return Object.fromEntries(this.properties
|
|
56
|
+
.entries()
|
|
57
|
+
.filter(([name]) => this.isAttributeProperty(name))
|
|
58
|
+
.map(([name, value]) => [name, simCfnSnsAttributeValue(value)]));
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* The subscriptions the topic declares inside itself.
|
|
62
|
+
*/
|
|
63
|
+
inlineSubscriptions() {
|
|
64
|
+
return simCfnSnsInlineSubscriptions(this.resource.logicalId, this.properties.get(topicSubscriptionPropertyName));
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Whether a property is handed to CreateTopic as an attribute.
|
|
68
|
+
*
|
|
69
|
+
* The two properties the CloudFormation layer reads itself are not. The rest
|
|
70
|
+
* are refused as they are reached: the ones with a reason of their own with
|
|
71
|
+
* that reason, and anything else as a property AWS::SNS::Topic does not have,
|
|
72
|
+
* which is how real CloudFormation answers one too.
|
|
73
|
+
*/
|
|
74
|
+
isAttributeProperty(name) {
|
|
75
|
+
if (name === topicNamePropertyName ||
|
|
76
|
+
name === topicSubscriptionPropertyName) {
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
if (attributePropertyNames.has(name)) {
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
const unsimulatedReason = unsimulatedPropertyReasons.get(name);
|
|
83
|
+
if (unsimulatedReason !== undefined) {
|
|
84
|
+
throw this.propertyError(`${name} is a real ${snsTopicResourceType} property simulated SNS ` +
|
|
85
|
+
`does not act on: ${unsimulatedReason}`);
|
|
86
|
+
}
|
|
87
|
+
throw this.propertyError(`${name} is not a property of ${snsTopicResourceType}`);
|
|
88
|
+
}
|
|
89
|
+
propertyError(reason) {
|
|
90
|
+
return simCfnSnsResourceError(snsTopicResourceType, this.resource.logicalId, reason);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=sim-cfn-sns-topic-properties.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-sns-topic-properties.js","sourceRoot":"","sources":["../../../../../src/service/sns/cfn/topic/sim-cfn-sns-topic-properties.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EACL,4BAA4B,GAE7B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,6BAA6B,EAC7B,0BAA0B,GAC3B,MAAM,uCAAuC,CAAC;AAO/C;;;;;;;;;;GAUG;AACH,MAAM,OAAO,wBAAwB;IAClB,QAAQ,CAAiB;IACzB,UAAU,CAA2C;IAEtE,YAAY,UAA8C;QACxD,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IACnE,CAAC;IAED;;;;;OAKG;IACH,IAAI;QACF,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAExD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,IAAI,kBAAkB,CAAC;gBAC5B,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS;gBAClC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS;aACnC,CAAC,CAAC,KAAK,CAAC;QACX,CAAC;QAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,qBAAqB,mBAAmB,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;OASG;IACH,UAAU;QACR,OAAO,MAAM,CAAC,WAAW,CACvB,IAAI,CAAC,UAAU;aACZ,OAAO,EAAE;aACT,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;aAClD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,CAClE,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,OAAO,4BAA4B,CACjC,IAAI,CAAC,QAAQ,CAAC,SAAS,EACvB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,6BAA6B,CAAC,CACnD,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACK,mBAAmB,CAAC,IAAY;QACtC,IACE,IAAI,KAAK,qBAAqB;YAC9B,IAAI,KAAK,6BAA6B,EACtC,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,iBAAiB,GAAG,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE/D,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,aAAa,CACtB,GAAG,IAAI,cAAc,oBAAoB,0BAA0B;gBACjE,oBAAoB,iBAAiB,EAAE,CAC1C,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,CAAC,aAAa,CACtB,GAAG,IAAI,yBAAyB,oBAAoB,EAAE,CACvD,CAAC;IACJ,CAAC;IAEO,aAAa,CAAC,MAAc;QAClC,OAAO,sBAAsB,CAC3B,oBAAoB,EACpB,IAAI,CAAC,QAAQ,CAAC,SAAS,EACvB,MAAM,CACP,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The name the template gives the topic.
|
|
3
|
+
*/
|
|
4
|
+
export declare const topicNamePropertyName = "TopicName";
|
|
5
|
+
/**
|
|
6
|
+
* The subscriptions declared inside the topic rather than as Resources of their
|
|
7
|
+
* own.
|
|
8
|
+
*/
|
|
9
|
+
export declare const topicSubscriptionPropertyName = "Subscription";
|
|
10
|
+
/**
|
|
11
|
+
* The AWS::SNS::Topic properties carrying a topic attribute of the same name.
|
|
12
|
+
*
|
|
13
|
+
* CloudFormation names these exactly as the SNS API names the attributes, so
|
|
14
|
+
* they are handed to CreateTopic rather than read here. Simulated SNS takes
|
|
15
|
+
* `DisplayName` and refuses the rest by name with the reason each one is
|
|
16
|
+
* missing, which is the same refusal an SDK caller setting the attribute gets.
|
|
17
|
+
* Keeping that decision in one place is what stops a template quietly accepting
|
|
18
|
+
* something the SDK path would not.
|
|
19
|
+
*/
|
|
20
|
+
export declare const attributePropertyNames: ReadonlySet<string>;
|
|
21
|
+
/**
|
|
22
|
+
* The real AWS::SNS::Topic properties this simulation has no behaviour for and
|
|
23
|
+
* no single topic attribute to hand them to.
|
|
24
|
+
*
|
|
25
|
+
* The rest of the unsimulated properties are attributes of the same name, so
|
|
26
|
+
* SNS refuses those itself. These three are not: two are inputs of their own on
|
|
27
|
+
* a CreateTopic request, and `DeliveryStatusLogging` is a list that would
|
|
28
|
+
* become fifteen separate attributes.
|
|
29
|
+
*/
|
|
30
|
+
export declare const unsimulatedPropertyReasons: ReadonlyMap<string, string>;
|
|
31
|
+
//# sourceMappingURL=sim-cfn-sns-topic-property-names.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-sns-topic-property-names.d.ts","sourceRoot":"","sources":["../../../../../src/service/sns/cfn/topic/sim-cfn-sns-topic-property-names.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,qBAAqB,cAAc,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,6BAA6B,iBAAiB,CAAC;AAE5D;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,MAAM,CASrD,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAYjE,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The name the template gives the topic.
|
|
3
|
+
*/
|
|
4
|
+
export const topicNamePropertyName = "TopicName";
|
|
5
|
+
/**
|
|
6
|
+
* The subscriptions declared inside the topic rather than as Resources of their
|
|
7
|
+
* own.
|
|
8
|
+
*/
|
|
9
|
+
export const topicSubscriptionPropertyName = "Subscription";
|
|
10
|
+
/**
|
|
11
|
+
* The AWS::SNS::Topic properties carrying a topic attribute of the same name.
|
|
12
|
+
*
|
|
13
|
+
* CloudFormation names these exactly as the SNS API names the attributes, so
|
|
14
|
+
* they are handed to CreateTopic rather than read here. Simulated SNS takes
|
|
15
|
+
* `DisplayName` and refuses the rest by name with the reason each one is
|
|
16
|
+
* missing, which is the same refusal an SDK caller setting the attribute gets.
|
|
17
|
+
* Keeping that decision in one place is what stops a template quietly accepting
|
|
18
|
+
* something the SDK path would not.
|
|
19
|
+
*/
|
|
20
|
+
export const attributePropertyNames = new Set([
|
|
21
|
+
"ArchivePolicy",
|
|
22
|
+
"ContentBasedDeduplication",
|
|
23
|
+
"DisplayName",
|
|
24
|
+
"FifoThroughputScope",
|
|
25
|
+
"FifoTopic",
|
|
26
|
+
"KmsMasterKeyId",
|
|
27
|
+
"SignatureVersion",
|
|
28
|
+
"TracingConfig",
|
|
29
|
+
]);
|
|
30
|
+
/**
|
|
31
|
+
* The real AWS::SNS::Topic properties this simulation has no behaviour for and
|
|
32
|
+
* no single topic attribute to hand them to.
|
|
33
|
+
*
|
|
34
|
+
* The rest of the unsimulated properties are attributes of the same name, so
|
|
35
|
+
* SNS refuses those itself. These three are not: two are inputs of their own on
|
|
36
|
+
* a CreateTopic request, and `DeliveryStatusLogging` is a list that would
|
|
37
|
+
* become fifteen separate attributes.
|
|
38
|
+
*/
|
|
39
|
+
export const unsimulatedPropertyReasons = new Map([
|
|
40
|
+
[
|
|
41
|
+
"DataProtectionPolicy",
|
|
42
|
+
"data protection policies are not simulated, so a topic deployed with one " +
|
|
43
|
+
"would redact nothing while a test believed it was protecting the " +
|
|
44
|
+
"messages going through the topic",
|
|
45
|
+
],
|
|
46
|
+
[
|
|
47
|
+
"DeliveryStatusLogging",
|
|
48
|
+
"delivery status logging writes to CloudWatch Logs, which is not simulated",
|
|
49
|
+
],
|
|
50
|
+
["Tags", "no simulated service reads a topic tag"],
|
|
51
|
+
]);
|
|
52
|
+
//# sourceMappingURL=sim-cfn-sns-topic-property-names.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-sns-topic-property-names.js","sourceRoot":"","sources":["../../../../../src/service/sns/cfn/topic/sim-cfn-sns-topic-property-names.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC;AAEjD;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,cAAc,CAAC;AAE5D;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAwB,IAAI,GAAG,CAAC;IACjE,eAAe;IACf,2BAA2B;IAC3B,aAAa;IACb,qBAAqB;IACrB,WAAW;IACX,gBAAgB;IAChB,kBAAkB;IAClB,eAAe;CAChB,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAgC,IAAI,GAAG,CAAC;IAC7E;QACE,sBAAsB;QACtB,2EAA2E;YACzE,mEAAmE;YACnE,kCAAkC;KACrC;IACD;QACE,uBAAuB;QACvB,2EAA2E;KAC5E;IACD,CAAC,MAAM,EAAE,wCAAwC,CAAC;CACnD,CAAC,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
|
|
2
|
+
import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
3
|
+
import type { SimSns } from "../../sim-sns.js";
|
|
4
|
+
import type { SimSnsTopic } from "../../topic/sim-sns-topic.js";
|
|
5
|
+
interface SimCfnSnsTopicPolicyCreatorProperties {
|
|
6
|
+
readonly sns: SimSns;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Creates simulated topic policies from AWS::SNS::TopicPolicy Resources.
|
|
10
|
+
*
|
|
11
|
+
* This is what CDK emits for `grantPublish` to a service principal and for
|
|
12
|
+
* every `addToResourcePolicy`, so a synthesized template reaches it whether or
|
|
13
|
+
* not the app mentions a topic policy itself. The policy is set through the
|
|
14
|
+
* ordinary SetTopicAttributes command, so one declared in a template is
|
|
15
|
+
* validated and enforced exactly as one set through the SDK.
|
|
16
|
+
*/
|
|
17
|
+
export declare class SimCfnSnsTopicPolicyCreator {
|
|
18
|
+
private readonly sns;
|
|
19
|
+
constructor(properties: SimCfnSnsTopicPolicyCreatorProperties);
|
|
20
|
+
/**
|
|
21
|
+
* Attach a policy to each topic the Resource names.
|
|
22
|
+
*
|
|
23
|
+
* The first topic is returned as the Resource's simulated object, because a
|
|
24
|
+
* topic policy has no existence of its own in SNS: it is the `Policy`
|
|
25
|
+
* attribute of the topics it names.
|
|
26
|
+
*/
|
|
27
|
+
create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): Promise<SimSnsTopic>;
|
|
28
|
+
/**
|
|
29
|
+
* Set the policy on one topic and hand back the topic it was set on.
|
|
30
|
+
*/
|
|
31
|
+
private policyApplied;
|
|
32
|
+
}
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=sim-cfn-sns-topic-policy-creator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-sns-topic-policy-creator.d.ts","sourceRoot":"","sources":["../../../../../src/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAClH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAUhE,UAAU,qCAAqC;IAC7C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAE7B,YAAY,UAAU,EAAE,qCAAqC,EAE5D;IAED;;;;;;OAMG;IACG,MAAM,CACV,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,yBAAyB,GACpC,OAAO,CAAC,WAAW,CAAC,CA0BtB;IAED;;OAEG;YACW,aAAa;CAoB5B"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { assertDefined } from "../../../../util/type-guard/defined.js";
|
|
2
|
+
import { jsonStringify } from "../../../../util/type-guard/json.js";
|
|
3
|
+
import { simSnsPolicyAttributeName } from "../../topic/sim-sns-topic-attribute-names.js";
|
|
4
|
+
import { parseSnsTopicArn } from "../../topic/sim-sns-topic-arn.js";
|
|
5
|
+
import { simCfnSnsResourceCreation } from "../sim-cfn-sns-resource-error.js";
|
|
6
|
+
import { snsTopicPolicyResourceType } from "../sim-cfn-sns-resource-types.js";
|
|
7
|
+
import { simCfnSnsPolicyDocument, simCfnSnsPolicyTopicArns, } from "./sim-cfn-sns-topic-policy-properties.js";
|
|
8
|
+
/**
|
|
9
|
+
* Creates simulated topic policies from AWS::SNS::TopicPolicy Resources.
|
|
10
|
+
*
|
|
11
|
+
* This is what CDK emits for `grantPublish` to a service principal and for
|
|
12
|
+
* every `addToResourcePolicy`, so a synthesized template reaches it whether or
|
|
13
|
+
* not the app mentions a topic policy itself. The policy is set through the
|
|
14
|
+
* ordinary SetTopicAttributes command, so one declared in a template is
|
|
15
|
+
* validated and enforced exactly as one set through the SDK.
|
|
16
|
+
*/
|
|
17
|
+
export class SimCfnSnsTopicPolicyCreator {
|
|
18
|
+
sns;
|
|
19
|
+
constructor(properties) {
|
|
20
|
+
this.sns = properties.sns;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Attach a policy to each topic the Resource names.
|
|
24
|
+
*
|
|
25
|
+
* The first topic is returned as the Resource's simulated object, because a
|
|
26
|
+
* topic policy has no existence of its own in SNS: it is the `Policy`
|
|
27
|
+
* attribute of the topics it names.
|
|
28
|
+
*/
|
|
29
|
+
async create(resource, properties) {
|
|
30
|
+
const { logicalId } = resource;
|
|
31
|
+
const topicArns = simCfnSnsPolicyTopicArns(logicalId, properties);
|
|
32
|
+
const policy = jsonStringify(simCfnSnsPolicyDocument(logicalId, properties));
|
|
33
|
+
return simCfnSnsResourceCreation(snsTopicPolicyResourceType, logicalId, async () => {
|
|
34
|
+
const topics = await Promise.all(topicArns.map(async (topicArn) => this.policyApplied(topicArn, policy)));
|
|
35
|
+
const first = topics[0];
|
|
36
|
+
assertDefined(first, `sim SNS topic after CloudFormation topic policy creation for ${logicalId}`);
|
|
37
|
+
return first;
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Set the policy on one topic and hand back the topic it was set on.
|
|
42
|
+
*/
|
|
43
|
+
async policyApplied(topicArn, policy) {
|
|
44
|
+
await this.sns.setTopicAttributes({
|
|
45
|
+
input: {
|
|
46
|
+
TopicArn: topicArn,
|
|
47
|
+
AttributeName: simSnsPolicyAttributeName,
|
|
48
|
+
AttributeValue: policy,
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
const parts = parseSnsTopicArn(topicArn);
|
|
52
|
+
assertDefined(parts, `topic ARN ${topicArn} SetTopicAttributes accepted`);
|
|
53
|
+
const topic = this.sns.findTopic(parts.name);
|
|
54
|
+
assertDefined(topic, `sim SNS topic at ${topicArn}`);
|
|
55
|
+
return topic;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=sim-cfn-sns-topic-policy-creator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-sns-topic-policy-creator.js","sourceRoot":"","sources":["../../../../../src/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAKpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EACL,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,0CAA0C,CAAC;AAMlD;;;;;;;;GAQG;AACH,MAAM,OAAO,2BAA2B;IACrB,GAAG,CAAS;IAE7B,YAAY,UAAiD;QAC3D,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;IAC5B,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CACV,QAAwB,EACxB,UAAqC;QAErC,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;QAC/B,MAAM,SAAS,GAAG,wBAAwB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,aAAa,CAC1B,uBAAuB,CAAC,SAAS,EAAE,UAAU,CAAC,CAC/C,CAAC;QAEF,OAAO,yBAAyB,CAC9B,0BAA0B,EAC1B,SAAS,EACT,KAAK,IAAI,EAAE;YACT,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAC/B,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CACrC,CACF,CAAC;YAEF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,aAAa,CACX,KAAK,EACL,gEAAgE,SAAS,EAAE,CAC5E,CAAC;YAEF,OAAO,KAAK,CAAC;QACf,CAAC,CACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CACzB,QAAgB,EAChB,MAAc;QAEd,MAAM,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC;YAChC,KAAK,EAAE;gBACL,QAAQ,EAAE,QAAQ;gBAClB,aAAa,EAAE,yBAAyB;gBACxC,cAAc,EAAE,MAAM;aACvB;SACF,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACzC,aAAa,CAAC,KAAK,EAAE,aAAa,QAAQ,8BAA8B,CAAC,CAAC;QAE1E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7C,aAAa,CAAC,KAAK,EAAE,oBAAoB,QAAQ,EAAE,CAAC,CAAC;QAErD,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
2
|
+
/**
|
|
3
|
+
* The topic ARNs an AWS::SNS::TopicPolicy Resource names.
|
|
4
|
+
*
|
|
5
|
+
* `Ref` on an AWS::SNS::Topic gives its ARN, so a template naming its topics
|
|
6
|
+
* the way CDK does arrives here as the ARNs SetTopicAttributes takes.
|
|
7
|
+
*
|
|
8
|
+
* Creation and deletion both read them, because the Resource points at only the
|
|
9
|
+
* first of the topics it named and taking the policy back off needs all of
|
|
10
|
+
* them.
|
|
11
|
+
*/
|
|
12
|
+
export declare function simCfnSnsPolicyTopicArns(logicalId: string, properties: SimCfnTemplateValueRecord): readonly string[];
|
|
13
|
+
/**
|
|
14
|
+
* The policy document an AWS::SNS::TopicPolicy Resource carries.
|
|
15
|
+
*
|
|
16
|
+
* A template writes it as an object where SetTopicAttributes takes a JSON
|
|
17
|
+
* string, so what comes back here is what is serialised on the way in.
|
|
18
|
+
*/
|
|
19
|
+
export declare function simCfnSnsPolicyDocument(logicalId: string, properties: SimCfnTemplateValueRecord): object;
|
|
20
|
+
//# sourceMappingURL=sim-cfn-sns-topic-policy-properties.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-sns-topic-policy-properties.d.ts","sourceRoot":"","sources":["../../../../../src/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-properties.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAIlH;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,yBAAyB,GACpC,SAAS,MAAM,EAAE,CAoBnB;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,yBAAyB,GACpC,MAAM,CAgBR"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { simCfnSnsResourceError } from "../sim-cfn-sns-resource-error.js";
|
|
2
|
+
import { snsTopicPolicyResourceType } from "../sim-cfn-sns-resource-types.js";
|
|
3
|
+
/**
|
|
4
|
+
* The topic ARNs an AWS::SNS::TopicPolicy Resource names.
|
|
5
|
+
*
|
|
6
|
+
* `Ref` on an AWS::SNS::Topic gives its ARN, so a template naming its topics
|
|
7
|
+
* the way CDK does arrives here as the ARNs SetTopicAttributes takes.
|
|
8
|
+
*
|
|
9
|
+
* Creation and deletion both read them, because the Resource points at only the
|
|
10
|
+
* first of the topics it named and taking the policy back off needs all of
|
|
11
|
+
* them.
|
|
12
|
+
*/
|
|
13
|
+
export function simCfnSnsPolicyTopicArns(logicalId, properties) {
|
|
14
|
+
const topics = properties["Topics"];
|
|
15
|
+
if (!Array.isArray(topics) || topics.length === 0) {
|
|
16
|
+
throw topicPolicyError(logicalId, "Topics is required and must be a list of topic ARNs");
|
|
17
|
+
}
|
|
18
|
+
return topics.map((topic) => {
|
|
19
|
+
if (typeof topic !== "string") {
|
|
20
|
+
throw topicPolicyError(logicalId, `each entry of Topics must be a topic ARN string, and one is a ${typeof topic}`);
|
|
21
|
+
}
|
|
22
|
+
return topic;
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The policy document an AWS::SNS::TopicPolicy Resource carries.
|
|
27
|
+
*
|
|
28
|
+
* A template writes it as an object where SetTopicAttributes takes a JSON
|
|
29
|
+
* string, so what comes back here is what is serialised on the way in.
|
|
30
|
+
*/
|
|
31
|
+
export function simCfnSnsPolicyDocument(logicalId, properties) {
|
|
32
|
+
const policyDocument = properties["PolicyDocument"];
|
|
33
|
+
if (policyDocument === undefined ||
|
|
34
|
+
policyDocument === null ||
|
|
35
|
+
typeof policyDocument !== "object" ||
|
|
36
|
+
Array.isArray(policyDocument)) {
|
|
37
|
+
throw topicPolicyError(logicalId, "PolicyDocument is required and must be an object");
|
|
38
|
+
}
|
|
39
|
+
return policyDocument;
|
|
40
|
+
}
|
|
41
|
+
function topicPolicyError(logicalId, reason) {
|
|
42
|
+
return simCfnSnsResourceError(snsTopicPolicyResourceType, logicalId, reason);
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=sim-cfn-sns-topic-policy-properties.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-sns-topic-policy-properties.js","sourceRoot":"","sources":["../../../../../src/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-properties.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAE9E;;;;;;;;;GASG;AACH,MAAM,UAAU,wBAAwB,CACtC,SAAiB,EACjB,UAAqC;IAErC,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAEpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,MAAM,gBAAgB,CACpB,SAAS,EACT,qDAAqD,CACtD,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,gBAAgB,CACpB,SAAS,EACT,iEAAiE,OAAO,KAAK,EAAE,CAChF,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,SAAiB,EACjB,UAAqC;IAErC,MAAM,cAAc,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAEpD,IACE,cAAc,KAAK,SAAS;QAC5B,cAAc,KAAK,IAAI;QACvB,OAAO,cAAc,KAAK,QAAQ;QAClC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAC7B,CAAC;QACD,MAAM,gBAAgB,CACpB,SAAS,EACT,kDAAkD,CACnD,CAAC;IACJ,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAiB,EAAE,MAAc;IACzD,OAAO,sBAAsB,CAAC,0BAA0B,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AAC/E,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { SimAwsResolvedCaller } from "../../../aws/caller/sim-aws-caller-resolver.js";
|
|
2
|
+
import type { SimIamInterServiceAuthZ } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
3
|
+
import type { SimSnsTopic } from "../../topic/sim-sns-topic.js";
|
|
4
|
+
import type { SimSnsRequestOptions } from "../sim-sns-request-options.js";
|
|
5
|
+
interface SimSnsAuthorizerProperties {
|
|
6
|
+
readonly iam: SimIamInterServiceAuthZ;
|
|
7
|
+
}
|
|
8
|
+
interface SimSnsTopicAuthorizationInput {
|
|
9
|
+
readonly action: string;
|
|
10
|
+
readonly topicArn: string;
|
|
11
|
+
/**
|
|
12
|
+
* The topic itself, when there is one. Its policy is what admits a caller
|
|
13
|
+
* with no identity policy of its own.
|
|
14
|
+
*/
|
|
15
|
+
readonly topic?: SimSnsTopic | undefined;
|
|
16
|
+
readonly options?: SimSnsRequestOptions | undefined;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Applies simulated IAM authorization to SNS requests.
|
|
20
|
+
*
|
|
21
|
+
* A topic ARN has no resource type in it, so the resource an operation
|
|
22
|
+
* authorizes against is `arn:aws:sns:region:account:topic-name`. A policy
|
|
23
|
+
* written with a `topic/` in the resource matches nothing here, as it matches
|
|
24
|
+
* nothing on real AWS.
|
|
25
|
+
*
|
|
26
|
+
* The topic's own policy goes into the decision as its resource policy. That is
|
|
27
|
+
* what admits a caller from another Account or a service principal, since
|
|
28
|
+
* neither is covered by an identity policy in the Account owning the topic.
|
|
29
|
+
*
|
|
30
|
+
* ListTopics is the exception: real SNS gives it no resource type, so it
|
|
31
|
+
* authorizes against `*` rather than against a topic, and no topic policy
|
|
32
|
+
* applies to it.
|
|
33
|
+
*
|
|
34
|
+
* A denial is reported as SNS's own AuthorizationErrorException rather than the
|
|
35
|
+
* shared IAM error, because that is the error a real SNS caller would have to
|
|
36
|
+
* handle.
|
|
37
|
+
*/
|
|
38
|
+
export declare class SimSnsAuthorizer {
|
|
39
|
+
private readonly iam;
|
|
40
|
+
private readonly callerIdentifier;
|
|
41
|
+
constructor(properties: SimSnsAuthorizerProperties);
|
|
42
|
+
/**
|
|
43
|
+
* Ensure the caller may perform an action on a topic, named by its ARN.
|
|
44
|
+
*
|
|
45
|
+
* The topic need not exist. A topic that is not there contributes no policy,
|
|
46
|
+
* so a caller with no permission is refused whether or not the topic is
|
|
47
|
+
* there, and CreateTopic authorizes against the ARN the topic is about to
|
|
48
|
+
* have.
|
|
49
|
+
*/
|
|
50
|
+
authorizeTopic(input: SimSnsTopicAuthorizationInput): SimAwsResolvedCaller;
|
|
51
|
+
/**
|
|
52
|
+
* Ensure the caller may perform an action that names no particular topic.
|
|
53
|
+
*/
|
|
54
|
+
authorizeAnyTopic(action: string, options?: SimSnsRequestOptions): SimAwsResolvedCaller;
|
|
55
|
+
private authorizeResource;
|
|
56
|
+
}
|
|
57
|
+
export {};
|
|
58
|
+
//# sourceMappingURL=sim-sns-authorizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-authorizer.d.ts","sourceRoot":"","sources":["../../../../../src/service/sns/command/authorize/sim-sns-authorizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAE3F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wDAAwD,CAAC;AAGtG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAc1E,UAAU,0BAA0B;IAClC,QAAQ,CAAC,GAAG,EAAE,uBAAuB,CAAC;CACvC;AAED,UAAU,6BAA6B;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAEzC,QAAQ,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;CACrD;AASD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0B;IAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgC;IAEjE,YAAY,UAAU,EAAE,0BAA0B,EAEjD;IAED;;;;;;;OAOG;IACH,cAAc,CAAC,KAAK,EAAE,6BAA6B,GAAG,oBAAoB,CAOzE;IAED;;OAEG;IACH,iBAAiB,CACf,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,oBAAoB,GAC7B,oBAAoB,CAOtB;IAED,OAAO,CAAC,iBAAiB;CAwB1B"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { SimIamCallerIdentifier } from "../../../iam/error/sim-iam-caller-identifier.js";
|
|
2
|
+
import { SimSnsAuthorizationErrorException } from "../../error/sim-sns.error.js";
|
|
3
|
+
import { simSnsConditionContext } from "./sim-sns-condition-context.js";
|
|
4
|
+
import { simSnsTopicResourcePolicies } from "./sim-sns-topic-resource-policies.js";
|
|
5
|
+
/**
|
|
6
|
+
* The resource an action with no resource type authorizes against.
|
|
7
|
+
*
|
|
8
|
+
* Real SNS gives ListTopics no resource type at all, so IAM evaluates it
|
|
9
|
+
* against `*` and only a policy whose Resource is `*` allows it. A policy
|
|
10
|
+
* naming a topic ARN, or every topic ARN in the Account and Region, allows no
|
|
11
|
+
* listing, here as on AWS.
|
|
12
|
+
*/
|
|
13
|
+
const noResource = "*";
|
|
14
|
+
/**
|
|
15
|
+
* Applies simulated IAM authorization to SNS requests.
|
|
16
|
+
*
|
|
17
|
+
* A topic ARN has no resource type in it, so the resource an operation
|
|
18
|
+
* authorizes against is `arn:aws:sns:region:account:topic-name`. A policy
|
|
19
|
+
* written with a `topic/` in the resource matches nothing here, as it matches
|
|
20
|
+
* nothing on real AWS.
|
|
21
|
+
*
|
|
22
|
+
* The topic's own policy goes into the decision as its resource policy. That is
|
|
23
|
+
* what admits a caller from another Account or a service principal, since
|
|
24
|
+
* neither is covered by an identity policy in the Account owning the topic.
|
|
25
|
+
*
|
|
26
|
+
* ListTopics is the exception: real SNS gives it no resource type, so it
|
|
27
|
+
* authorizes against `*` rather than against a topic, and no topic policy
|
|
28
|
+
* applies to it.
|
|
29
|
+
*
|
|
30
|
+
* A denial is reported as SNS's own AuthorizationErrorException rather than the
|
|
31
|
+
* shared IAM error, because that is the error a real SNS caller would have to
|
|
32
|
+
* handle.
|
|
33
|
+
*/
|
|
34
|
+
export class SimSnsAuthorizer {
|
|
35
|
+
iam;
|
|
36
|
+
callerIdentifier = new SimIamCallerIdentifier();
|
|
37
|
+
constructor(properties) {
|
|
38
|
+
this.iam = properties.iam;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Ensure the caller may perform an action on a topic, named by its ARN.
|
|
42
|
+
*
|
|
43
|
+
* The topic need not exist. A topic that is not there contributes no policy,
|
|
44
|
+
* so a caller with no permission is refused whether or not the topic is
|
|
45
|
+
* there, and CreateTopic authorizes against the ARN the topic is about to
|
|
46
|
+
* have.
|
|
47
|
+
*/
|
|
48
|
+
authorizeTopic(input) {
|
|
49
|
+
return this.authorizeResource({
|
|
50
|
+
action: input.action,
|
|
51
|
+
resource: input.topicArn,
|
|
52
|
+
resourcePolicies: simSnsTopicResourcePolicies(input.topic),
|
|
53
|
+
options: input.options,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Ensure the caller may perform an action that names no particular topic.
|
|
58
|
+
*/
|
|
59
|
+
authorizeAnyTopic(action, options) {
|
|
60
|
+
return this.authorizeResource({
|
|
61
|
+
action,
|
|
62
|
+
resource: noResource,
|
|
63
|
+
resourcePolicies: [],
|
|
64
|
+
options,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
authorizeResource(input) {
|
|
68
|
+
const decision = this.iam.authorize({
|
|
69
|
+
action: input.action,
|
|
70
|
+
resource: input.resource,
|
|
71
|
+
caller: input.options?.caller,
|
|
72
|
+
resourcePolicies: input.resourcePolicies,
|
|
73
|
+
conditionContext: simSnsConditionContext(input.options),
|
|
74
|
+
});
|
|
75
|
+
if (decision.isDenied) {
|
|
76
|
+
const identifier = this.callerIdentifier.format(decision.caller.principal);
|
|
77
|
+
throw new SimSnsAuthorizationErrorException(`User: ${identifier} is not authorized to perform: ${input.action} ` +
|
|
78
|
+
`on resource: ${input.resource}`);
|
|
79
|
+
}
|
|
80
|
+
return decision.caller;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=sim-sns-authorizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-authorizer.js","sourceRoot":"","sources":["../../../../../src/service/sns/command/authorize/sim-sns-authorizer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AACzF,OAAO,EAAE,iCAAiC,EAAE,MAAM,8BAA8B,CAAC;AAGjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAEnF;;;;;;;GAOG;AACH,MAAM,UAAU,GAAG,GAAG,CAAC;AA0BvB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,gBAAgB;IACV,GAAG,CAA0B;IAC7B,gBAAgB,GAAG,IAAI,sBAAsB,EAAE,CAAC;IAEjE,YAAY,UAAsC;QAChD,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;IAC5B,CAAC;IAED;;;;;;;OAOG;IACH,cAAc,CAAC,KAAoC;QACjD,OAAO,IAAI,CAAC,iBAAiB,CAAC;YAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,gBAAgB,EAAE,2BAA2B,CAAC,KAAK,CAAC,KAAK,CAAC;YAC1D,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,iBAAiB,CACf,MAAc,EACd,OAA8B;QAE9B,OAAO,IAAI,CAAC,iBAAiB,CAAC;YAC5B,MAAM;YACN,QAAQ,EAAE,UAAU;YACpB,gBAAgB,EAAE,EAAE;YACpB,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAEO,iBAAiB,CACvB,KAAuC;QAEvC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;YAClC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM;YAC7B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;YACxC,gBAAgB,EAAE,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC;SACxD,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAC7C,QAAQ,CAAC,MAAM,CAAC,SAAS,CAC1B,CAAC;YAEF,MAAM,IAAI,iCAAiC,CACzC,SAAS,UAAU,kCAAkC,KAAK,CAAC,MAAM,GAAG;gBAClE,gBAAgB,KAAK,CAAC,QAAQ,EAAE,CACnC,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC,MAAM,CAAC;IACzB,CAAC;CACF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { SimIamConditionValue } from "../../../iam/policy/sim-iam-policy.js";
|
|
2
|
+
import { type SimSnsRequestOptions } from "../sim-sns-request-options.js";
|
|
3
|
+
/**
|
|
4
|
+
* The request-time values a topic policy statement's conditions are matched
|
|
5
|
+
* against.
|
|
6
|
+
*
|
|
7
|
+
* A value the request does not carry is left out rather than supplied empty, so
|
|
8
|
+
* a statement conditioned on it fails to match instead of matching an empty
|
|
9
|
+
* string. That is the safe direction: a grant written for one Bucket should not
|
|
10
|
+
* admit a request that says nothing about where it came from.
|
|
11
|
+
*/
|
|
12
|
+
export declare function simSnsConditionContext(options: SimSnsRequestOptions | undefined): Readonly<Record<string, SimIamConditionValue>>;
|
|
13
|
+
//# sourceMappingURL=sim-sns-condition-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-condition-context.d.ts","sourceRoot":"","sources":["../../../../../src/service/sns/command/authorize/sim-sns-condition-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,+BAA+B,CAAC;AAEvC;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,oBAAoB,GAAG,SAAS,GACxC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAShD"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { simSnsSourceAccountConditionKey, simSnsSourceArnConditionKey, } from "../sim-sns-request-options.js";
|
|
2
|
+
/**
|
|
3
|
+
* The request-time values a topic policy statement's conditions are matched
|
|
4
|
+
* against.
|
|
5
|
+
*
|
|
6
|
+
* A value the request does not carry is left out rather than supplied empty, so
|
|
7
|
+
* a statement conditioned on it fails to match instead of matching an empty
|
|
8
|
+
* string. That is the safe direction: a grant written for one Bucket should not
|
|
9
|
+
* admit a request that says nothing about where it came from.
|
|
10
|
+
*/
|
|
11
|
+
export function simSnsConditionContext(options) {
|
|
12
|
+
return {
|
|
13
|
+
...(options?.sourceArn !== undefined && {
|
|
14
|
+
[simSnsSourceArnConditionKey]: options.sourceArn,
|
|
15
|
+
}),
|
|
16
|
+
...(options?.sourceAccount !== undefined && {
|
|
17
|
+
[simSnsSourceAccountConditionKey]: options.sourceAccount,
|
|
18
|
+
}),
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=sim-sns-condition-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-condition-context.js","sourceRoot":"","sources":["../../../../../src/service/sns/command/authorize/sim-sns-condition-context.ts"],"names":[],"mappings":"AACA,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,GAE5B,MAAM,+BAA+B,CAAC;AAEvC;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAyC;IAEzC,OAAO;QACL,GAAG,CAAC,OAAO,EAAE,SAAS,KAAK,SAAS,IAAI;YACtC,CAAC,2BAA2B,CAAC,EAAE,OAAO,CAAC,SAAS;SACjD,CAAC;QACF,GAAG,CAAC,OAAO,EAAE,aAAa,KAAK,SAAS,IAAI;YAC1C,CAAC,+BAA+B,CAAC,EAAE,OAAO,CAAC,aAAa;SACzD,CAAC;KACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { SimIamAuthorizationDecision, SimIamInterServiceAuthZ } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
2
|
+
import type { SimSnsTopic } from "../../topic/sim-sns-topic.js";
|
|
3
|
+
interface SimSnsServicePublishAuthorizerProperties {
|
|
4
|
+
readonly iam: SimIamInterServiceAuthZ;
|
|
5
|
+
}
|
|
6
|
+
interface SimSnsServicePublishAuthorizationInput {
|
|
7
|
+
readonly topic: SimSnsTopic;
|
|
8
|
+
/** The service principal the publishing service calls SNS as. */
|
|
9
|
+
readonly servicePrincipal: string;
|
|
10
|
+
/**
|
|
11
|
+
* What the service is publishing for, such as the S3 Bucket an event came
|
|
12
|
+
* from.
|
|
13
|
+
*/
|
|
14
|
+
readonly sourceArn?: string | undefined;
|
|
15
|
+
/** The Account the publishing service's own resource belongs to. */
|
|
16
|
+
readonly sourceAccount?: string | undefined;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Decides whether a simulated AWS service may publish a message to a topic.
|
|
20
|
+
*
|
|
21
|
+
* A service principal owns no identity policies anywhere, so the topic's own
|
|
22
|
+
* policy is the whole decision. The answer is a decision rather than a thrown
|
|
23
|
+
* error because a service asks this before it has a message to publish: S3
|
|
24
|
+
* validates the destination when a notification configuration is applied, and
|
|
25
|
+
* has to report the refusal as part of refusing the configuration.
|
|
26
|
+
*
|
|
27
|
+
* A service with a message in hand publishes it through `Publish` as usual,
|
|
28
|
+
* which authorizes the same way. Nothing is remembered from the earlier
|
|
29
|
+
* question, so a topic policy changed in between stops the delivery.
|
|
30
|
+
*/
|
|
31
|
+
export declare class SimSnsServicePublishAuthorizer {
|
|
32
|
+
private static readonly action;
|
|
33
|
+
private readonly iam;
|
|
34
|
+
constructor(properties: SimSnsServicePublishAuthorizerProperties);
|
|
35
|
+
/**
|
|
36
|
+
* Evaluate `sns:Publish` for a service against the topic.
|
|
37
|
+
*/
|
|
38
|
+
authorize(input: SimSnsServicePublishAuthorizationInput): SimIamAuthorizationDecision;
|
|
39
|
+
}
|
|
40
|
+
export {};
|
|
41
|
+
//# sourceMappingURL=sim-sns-service-publish-authorizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-service-publish-authorizer.d.ts","sourceRoot":"","sources":["../../../../../src/service/sns/command/authorize/sim-sns-service-publish-authorizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,2BAA2B,EAC3B,uBAAuB,EACxB,MAAM,wDAAwD,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAIhE,UAAU,wCAAwC;IAChD,QAAQ,CAAC,GAAG,EAAE,uBAAuB,CAAC;CACvC;AAED,UAAU,sCAAsC;IAC9C,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAE5B,iEAAiE;IACjE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAElC;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAExC,oEAAoE;IACpE,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7C;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,8BAA8B;IACzC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAiB;IAE/C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0B;IAE9C,YAAY,UAAU,EAAE,wCAAwC,EAE/D;IAED;;OAEG;IACH,SAAS,CACP,KAAK,EAAE,sCAAsC,GAC5C,2BAA2B,CAa7B;CACF"}
|