@kensio/yulin 1.20.17 → 1.21.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 +1 -0
- package/dist/sdk/router/resolve-sim-sdk-command-router.js +4 -0
- package/dist/service/athena/engine/sim-athena-comparison-shims.d.ts +13 -0
- package/dist/service/athena/engine/sim-athena-comparison-shims.js +68 -0
- package/dist/service/athena/engine/sim-athena-shims.js +2 -0
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.js +3 -0
- package/dist/service/aws/factory/sim-aws-lambda-collaborators.d.ts +2 -0
- package/dist/service/aws/factory/sim-aws-lambda-collaborators.js +3 -0
- package/dist/service/aws/factory/sim-aws-logs-collaborators.d.ts +7 -0
- package/dist/service/aws/factory/sim-aws-logs-collaborators.js +10 -0
- package/dist/service/aws/factory/sim-aws-self-contained-service-builder.d.ts +3 -0
- package/dist/service/aws/factory/sim-aws-self-contained-service-builder.js +5 -0
- package/dist/service/aws/factory/sim-aws-service-factory.d.ts +3 -0
- package/dist/service/aws/factory/sim-aws-service-factory.js +4 -0
- package/dist/service/aws/sim-aws-account-region-scope.d.ts +3 -0
- package/dist/service/aws/sim-aws-account-region-scope.js +4 -0
- package/dist/service/aws/sim-aws-account.d.ts +3 -0
- package/dist/service/aws/sim-aws-account.js +4 -0
- package/dist/service/aws/sim-aws-region.d.ts +3 -0
- package/dist/service/aws/sim-aws-region.js +4 -0
- package/dist/service/aws/sim-aws-service-accessors.d.ts +3 -0
- package/dist/service/aws/sim-aws-service-accessors.js +4 -0
- package/dist/service/backup/cfn/sim-backup-cfn-plan-creator.d.ts +6 -0
- package/dist/service/backup/cfn/sim-backup-cfn-plan-creator.js +12 -0
- package/dist/service/backup/cfn/sim-backup-cfn-resource-deleter.d.ts +12 -0
- package/dist/service/backup/cfn/sim-backup-cfn-resource-deleter.js +31 -0
- package/dist/service/backup/cfn/sim-backup-cfn-resource-factory.d.ts +15 -0
- package/dist/service/backup/cfn/sim-backup-cfn-resource-factory.js +38 -0
- package/dist/service/backup/cfn/sim-backup-cfn-selection-creator.d.ts +6 -0
- package/dist/service/backup/cfn/sim-backup-cfn-selection-creator.js +17 -0
- package/dist/service/backup/cfn/sim-backup-cfn-vault-creator.d.ts +6 -0
- package/dist/service/backup/cfn/sim-backup-cfn-vault-creator.js +29 -0
- package/dist/service/backup/cfn/sim-cfn-backup-plan-properties.d.ts +11 -0
- package/dist/service/backup/cfn/sim-cfn-backup-plan-properties.js +37 -0
- package/dist/service/backup/cfn/sim-cfn-backup-properties.d.ts +12 -0
- package/dist/service/backup/cfn/sim-cfn-backup-properties.js +37 -0
- package/dist/service/backup/cfn/sim-cfn-backup-property-reader.d.ts +17 -0
- package/dist/service/backup/cfn/sim-cfn-backup-property-reader.js +62 -0
- package/dist/service/backup/cfn/sim-cfn-backup-resource-error.d.ts +7 -0
- package/dist/service/backup/cfn/sim-cfn-backup-resource-error.js +22 -0
- package/dist/service/backup/command/sim-backup-authorizer.d.ts +11 -0
- package/dist/service/backup/command/sim-backup-authorizer.js +24 -0
- package/dist/service/backup/command/sim-backup-command.types.d.ts +238 -0
- package/dist/service/backup/command/sim-backup-command.types.js +1 -0
- package/dist/service/backup/command/sim-backup-configuration-commands.d.ts +32 -0
- package/dist/service/backup/command/sim-backup-configuration-commands.js +138 -0
- package/dist/service/backup/command/sim-backup-job-commands.d.ts +23 -0
- package/dist/service/backup/command/sim-backup-job-commands.js +52 -0
- package/dist/service/backup/command/sim-backup-recovery-point-commands.d.ts +18 -0
- package/dist/service/backup/command/sim-backup-recovery-point-commands.js +38 -0
- package/dist/service/backup/command/sim-backup-request-options.d.ts +4 -0
- package/dist/service/backup/command/sim-backup-request-options.js +1 -0
- package/dist/service/backup/command/sim-backup-required-string.d.ts +2 -0
- package/dist/service/backup/command/sim-backup-required-string.js +8 -0
- package/dist/service/backup/error/sim-backup.error.d.ts +38 -0
- package/dist/service/backup/error/sim-backup.error.js +50 -0
- package/dist/service/backup/index.d.ts +9 -0
- package/dist/service/backup/index.js +7 -0
- package/dist/service/backup/job/sim-backup-job-input.d.ts +11 -0
- package/dist/service/backup/job/sim-backup-job-input.js +1 -0
- package/dist/service/backup/job/sim-backup-job-page.d.ts +22 -0
- package/dist/service/backup/job/sim-backup-job-page.js +54 -0
- package/dist/service/backup/job/sim-backup-job.d.ts +25 -0
- package/dist/service/backup/job/sim-backup-job.factory.d.ts +10 -0
- package/dist/service/backup/job/sim-backup-job.factory.js +24 -0
- package/dist/service/backup/job/sim-backup-job.js +54 -0
- package/dist/service/backup/job/sim-backup-jobs.d.ts +18 -0
- package/dist/service/backup/job/sim-backup-jobs.js +33 -0
- package/dist/service/backup/plan/sim-backup-plan-schedules.d.ts +21 -0
- package/dist/service/backup/plan/sim-backup-plan-schedules.js +66 -0
- package/dist/service/backup/plan/sim-backup-plan.d.ts +22 -0
- package/dist/service/backup/plan/sim-backup-plan.js +37 -0
- package/dist/service/backup/plan/sim-backup-rule.d.ts +9 -0
- package/dist/service/backup/plan/sim-backup-rule.js +71 -0
- package/dist/service/backup/recovery-point/sim-backup-recovery-point.d.ts +28 -0
- package/dist/service/backup/recovery-point/sim-backup-recovery-point.factory.d.ts +9 -0
- package/dist/service/backup/recovery-point/sim-backup-recovery-point.factory.js +23 -0
- package/dist/service/backup/recovery-point/sim-backup-recovery-point.js +62 -0
- package/dist/service/backup/sdk/sim-backup-sdk-command-router.d.ts +9 -0
- package/dist/service/backup/sdk/sim-backup-sdk-command-router.js +37 -0
- package/dist/service/backup/selection/sim-backup-selection.d.ts +22 -0
- package/dist/service/backup/selection/sim-backup-selection.js +43 -0
- package/dist/service/backup/sim-backup-arn.d.ts +7 -0
- package/dist/service/backup/sim-backup-arn.js +12 -0
- package/dist/service/backup/sim-backup-properties.d.ts +8 -0
- package/dist/service/backup/sim-backup-properties.js +1 -0
- package/dist/service/backup/sim-backup-resource-resolver.d.ts +24 -0
- package/dist/service/backup/sim-backup-resource-resolver.js +44 -0
- package/dist/service/backup/sim-backup-store.d.ts +29 -0
- package/dist/service/backup/sim-backup-store.js +80 -0
- package/dist/service/backup/sim-backup.d.ts +48 -0
- package/dist/service/backup/sim-backup.js +139 -0
- package/dist/service/backup/vault/sim-backup-vault-description.d.ts +12 -0
- package/dist/service/backup/vault/sim-backup-vault-description.js +15 -0
- package/dist/service/backup/vault/sim-backup-vault-lock-configuration.d.ts +5 -0
- package/dist/service/backup/vault/sim-backup-vault-lock-configuration.js +31 -0
- package/dist/service/backup/vault/sim-backup-vault-lock.d.ts +15 -0
- package/dist/service/backup/vault/sim-backup-vault-lock.js +23 -0
- package/dist/service/backup/vault/sim-backup-vault-recovery-points.d.ts +12 -0
- package/dist/service/backup/vault/sim-backup-vault-recovery-points.js +30 -0
- package/dist/service/backup/vault/sim-backup-vault-retention.d.ts +4 -0
- package/dist/service/backup/vault/sim-backup-vault-retention.js +20 -0
- package/dist/service/backup/vault/sim-backup-vault.d.ts +33 -0
- package/dist/service/backup/vault/sim-backup-vault.js +49 -0
- package/dist/service/cloudformation/resource/cfn/backup/sim-backup-cfn-value-adapter.d.ts +3 -0
- package/dist/service/cloudformation/resource/cfn/backup/sim-backup-cfn-value-adapter.js +66 -0
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.js +8 -0
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-orp-cfn.d.ts +24 -0
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-orp-cfn.js +31 -0
- package/dist/service/cloudformation/resource/cfn/logs/sim-logs-cfn-value-adapter.js +6 -0
- package/dist/service/cloudformation/resource/cfn/logs/sim-logs-metric-filter-cfn.d.ts +23 -0
- package/dist/service/cloudformation/resource/cfn/logs/sim-logs-metric-filter-cfn.js +22 -0
- package/dist/service/cloudformation/resource/cfn/sim-cfn-service-value-adapters.js +2 -0
- package/dist/service/cloudformation/resource/ignore/sim-cfn-skipped-properties.d.ts +49 -0
- package/dist/service/cloudformation/resource/ignore/sim-cfn-skipped-properties.js +61 -0
- package/dist/service/cloudformation/resource/ignore/sim-cfn-skipped-property.type.d.ts +51 -0
- package/dist/service/cloudformation/resource/ignore/sim-cfn-skipped-property.type.js +1 -0
- package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-factories.js +4 -0
- package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.d.ts +12 -1
- package/dist/service/cloudfront/cache/sim-cf-accept-encoding.d.ts +11 -0
- package/dist/service/cloudfront/cache/sim-cf-accept-encoding.js +27 -0
- package/dist/service/cloudfront/cache/sim-cf-cache-control.d.ts +28 -0
- package/dist/service/cloudfront/cache/sim-cf-cache-control.js +49 -0
- package/dist/service/cloudfront/cache/sim-cf-cache-entry-key-path.d.ts +11 -0
- package/dist/service/cloudfront/cache/sim-cf-cache-entry-key-path.js +22 -0
- package/dist/service/cloudfront/cache/sim-cf-cache-entry-key.d.ts +32 -0
- package/dist/service/cloudfront/cache/sim-cf-cache-entry-key.js +112 -0
- package/dist/service/cloudfront/cache/sim-cf-cache-status.d.ts +27 -0
- package/dist/service/cloudfront/cache/sim-cf-cache-status.js +53 -0
- package/dist/service/cloudfront/cache/sim-cf-cache-ttl.d.ts +28 -0
- package/dist/service/cloudfront/cache/sim-cf-cache-ttl.js +50 -0
- package/dist/service/cloudfront/cache/sim-cf-cacheable-request.d.ts +35 -0
- package/dist/service/cloudfront/cache/sim-cf-cacheable-request.js +32 -0
- package/dist/service/cloudfront/cache/sim-cf-distribution-cache.d.ts +57 -0
- package/dist/service/cloudfront/cache/sim-cf-distribution-cache.js +115 -0
- package/dist/service/cloudfront/cache/sim-cf-edge.d.ts +37 -0
- package/dist/service/cloudfront/cache/sim-cf-edge.js +34 -0
- package/dist/service/cloudfront/cache/sim-cf-error-cache-ttl.d.ts +36 -0
- package/dist/service/cloudfront/cache/sim-cf-error-cache-ttl.js +28 -0
- package/dist/service/cloudfront/cache/sim-cf-http-date.d.ts +15 -0
- package/dist/service/cloudfront/cache/sim-cf-http-date.js +40 -0
- package/dist/service/cloudfront/cache-policy/sim-cf-cache-key.d.ts +63 -0
- package/dist/service/cloudfront/cache-policy/sim-cf-cache-key.js +70 -0
- package/dist/service/cloudfront/cache-policy/sim-cf-cache-policy.d.ts +13 -3
- package/dist/service/cloudfront/cache-policy/sim-cf-cache-policy.js +31 -3
- package/dist/service/cloudfront/cache-policy/sim-cf-managed-cache-policies.d.ts +8 -3
- package/dist/service/cloudfront/cache-policy/sim-cf-managed-cache-policies.js +96 -12
- package/dist/service/cloudfront/cff/sim-cff-search-distribution.fixture.js +4 -0
- package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-config.d.ts +9 -8
- package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-config.js +40 -11
- package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-key.d.ts +10 -0
- package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-key.js +50 -0
- package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-section.d.ts +28 -0
- package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-section.js +29 -0
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-behavior-policy-kinds.d.ts +16 -0
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-behavior-policy-kinds.js +23 -0
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-behavior-policies.d.ts +3 -2
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-behavior-policies.js +3 -2
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.d.ts +6 -6
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.js +6 -6
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-policy-drops.js +8 -23
- package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-config.d.ts +28 -0
- package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-config.js +46 -0
- package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-creator.d.ts +24 -0
- package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-creator.js +32 -0
- package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-forwarding.d.ts +10 -0
- package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-forwarding.js +51 -0
- package/dist/service/cloudfront/cfn/policy/sim-cfn-cf-policy-section.d.ts +22 -0
- package/dist/service/cloudfront/cfn/policy/sim-cfn-cf-policy-section.js +54 -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.js +12 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts +1 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts +2 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-create-invalidation.d.ts +28 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-create-invalidation.js +59 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-get-invalidation.d.ts +19 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-get-invalidation.js +32 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-access.d.ts +36 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-access.js +45 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-command.types.d.ts +80 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-command.types.js +1 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-commands.d.ts +39 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-commands.js +35 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-list-invalidations.d.ts +23 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-list-invalidations.js +39 -0
- package/dist/service/cloudfront/command/update-distribution/update-distribution.handler.d.ts +2 -0
- package/dist/service/cloudfront/controller/content/sim-cf-content-stage.d.ts +51 -0
- package/dist/service/cloudfront/controller/content/sim-cf-content-stage.js +65 -0
- package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.d.ts +2 -3
- package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.js +4 -4
- package/dist/service/cloudfront/controller/error/sim-cf-custom-error-responder.d.ts +4 -0
- package/dist/service/cloudfront/controller/error/sim-cf-custom-error-responder.js +12 -8
- package/dist/service/cloudfront/controller/origin/sim-cf-origin-stage.d.ts +2 -2
- package/dist/service/cloudfront/controller/origin/sim-cf-origin-stage.js +2 -2
- package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.d.ts +6 -6
- package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.js +35 -20
- package/dist/service/cloudfront/custom-error/sim-cloudfront-custom-error-response.d.ts +23 -5
- package/dist/service/cloudfront/custom-error/sim-cloudfront-custom-error-response.js +8 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-origin-request-policy.d.ts +18 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-origin-request-policy.js +30 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-policies.d.ts +7 -5
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-policies.js +8 -5
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-properties.js +4 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cf-distribution-configurator.factory.d.ts +2 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cf-distribution-configurator.factory.js +6 -2
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-custom-error-configurator.d.ts +13 -3
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-custom-error-configurator.js +27 -6
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.d.ts +3 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.js +4 -1
- package/dist/service/cloudfront/distribution/sim-cf-distribution-configuration-state.d.ts +5 -3
- package/dist/service/cloudfront/distribution/sim-cf-distribution-reconfigurer.d.ts +2 -0
- package/dist/service/cloudfront/distribution/sim-cf-distribution-view.js +1 -1
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts +25 -2
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js +24 -0
- package/dist/service/cloudfront/error/sim-cf-invalidation.error.d.ts +22 -0
- package/dist/service/cloudfront/error/sim-cf-invalidation.error.js +26 -0
- package/dist/service/cloudfront/error/sim-cf-origin-request-policy.error.d.ts +22 -0
- package/dist/service/cloudfront/error/sim-cf-origin-request-policy.error.js +26 -0
- package/dist/service/cloudfront/index.d.ts +2 -0
- package/dist/service/cloudfront/index.js +1 -0
- package/dist/service/cloudfront/invalidation/sim-cf-invalidation-path.d.ts +22 -0
- package/dist/service/cloudfront/invalidation/sim-cf-invalidation-path.js +32 -0
- package/dist/service/cloudfront/invalidation/sim-cf-invalidation-view.d.ts +43 -0
- package/dist/service/cloudfront/invalidation/sim-cf-invalidation-view.js +33 -0
- package/dist/service/cloudfront/invalidation/sim-cf-invalidation.d.ts +55 -0
- package/dist/service/cloudfront/invalidation/sim-cf-invalidation.js +56 -0
- package/dist/service/cloudfront/invalidation/sim-cf-invalidations.d.ts +41 -0
- package/dist/service/cloudfront/invalidation/sim-cf-invalidations.js +58 -0
- package/dist/service/cloudfront/invalidation/sim-cf-repeated-invalidation.d.ts +15 -0
- package/dist/service/cloudfront/invalidation/sim-cf-repeated-invalidation.js +23 -0
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-forwarding.d.ts +19 -0
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-forwarding.js +116 -0
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.d.ts +15 -5
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.js +13 -8
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-signer.js +8 -5
- package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.d.ts +13 -0
- package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.js +8 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-behavior-forwarded.d.ts +24 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-behavior-forwarded.js +21 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-forwarded-to-origin.d.ts +57 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-forwarded-to-origin.js +129 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-managed-origin-request-policies.d.ts +30 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-managed-origin-request-policies.js +121 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-forwarding.d.ts +56 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-forwarding.js +67 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-policy-registry.d.ts +38 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-policy-registry.js +51 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-policy.d.ts +32 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-policy.js +30 -0
- package/dist/service/cloudfront/registry/sim-cloud-front-registry.d.ts +25 -0
- package/dist/service/cloudfront/registry/sim-cloud-front-registry.js +23 -0
- package/dist/service/cloudfront/sdk/sim-cloudfront-sdk-command-router.js +12 -0
- package/dist/service/cloudfront/sim-cloudfront-caching.d.ts +31 -0
- package/dist/service/cloudfront/sim-cloudfront-caching.js +38 -0
- package/dist/service/cloudfront/sim-cloudfront-commands.d.ts +12 -0
- package/dist/service/cloudfront/sim-cloudfront-commands.js +12 -0
- package/dist/service/cloudfront/sim-cloudfront-distributions.d.ts +21 -0
- package/dist/service/cloudfront/sim-cloudfront-distributions.js +23 -0
- package/dist/service/cloudfront/sim-cloudfront-origin-access-controls.d.ts +30 -0
- package/dist/service/cloudfront/sim-cloudfront-origin-access-controls.js +35 -0
- package/dist/service/cloudfront/sim-cloudfront-policies.d.ts +22 -5
- package/dist/service/cloudfront/sim-cloudfront-policies.js +27 -5
- package/dist/service/cloudfront/sim-cloudfront.d.ts +15 -31
- package/dist/service/cloudfront/sim-cloudfront.js +23 -41
- package/dist/service/cloudwatch/index.d.ts +1 -0
- package/dist/service/cloudwatch/index.js +1 -0
- package/dist/service/cloudwatch/sim-cloudwatch-commands.d.ts +2 -0
- package/dist/service/cloudwatch/sim-cloudwatch-commands.js +6 -0
- package/dist/service/cloudwatch/sim-cloudwatch.d.ts +9 -0
- package/dist/service/cloudwatch/sim-cloudwatch.js +10 -0
- package/dist/service/cloudwatch/write/sim-cloudwatch-service-writer.d.ts +58 -0
- package/dist/service/cloudwatch/write/sim-cloudwatch-service-writer.js +53 -0
- package/dist/service/cognito/command/auth/sim-cognito-admin-respond-to-challenge.d.ts +3 -0
- package/dist/service/cognito/command/auth/sim-cognito-admin-respond-to-challenge.js +8 -2
- package/dist/service/cognito/command/auth/sim-cognito-auth-commands.d.ts +3 -0
- package/dist/service/cognito/command/auth/sim-cognito-auth-commands.js +4 -0
- package/dist/service/cognito/command/auth/sim-cognito-auth-flow-runner.d.ts +11 -1
- package/dist/service/cognito/command/auth/sim-cognito-auth-flow-runner.js +13 -1
- package/dist/service/cognito/command/auth/sim-cognito-auth-resolver.d.ts +3 -0
- package/dist/service/cognito/command/auth/sim-cognito-auth-resolver.js +16 -4
- package/dist/service/cognito/command/auth/sim-cognito-get-tokens-from-refresh-token.d.ts +7 -0
- package/dist/service/cognito/command/auth/sim-cognito-get-tokens-from-refresh-token.js +11 -1
- package/dist/service/cognito/command/auth/sim-cognito-respond-to-challenge.d.ts +3 -0
- package/dist/service/cognito/command/auth/sim-cognito-respond-to-challenge.js +8 -2
- package/dist/service/cognito/command/hosted/hosted-auth.command.d.ts +19 -0
- package/dist/service/cognito/command/hosted/sim-cognito-authorize-endpoint.d.ts +1 -1
- package/dist/service/cognito/command/hosted/sim-cognito-authorize-endpoint.js +3 -2
- package/dist/service/cognito/command/hosted/sim-cognito-hosted-commands.d.ts +8 -0
- package/dist/service/cognito/command/hosted/sim-cognito-hosted-commands.js +11 -3
- package/dist/service/cognito/command/hosted/sim-cognito-hosted-passkey-sign-in.d.ts +11 -1
- package/dist/service/cognito/command/hosted/sim-cognito-hosted-passkey-sign-in.js +13 -2
- package/dist/service/cognito/command/hosted/sim-cognito-hosted-password-sign-in.d.ts +11 -1
- package/dist/service/cognito/command/hosted/sim-cognito-hosted-password-sign-in.js +11 -1
- package/dist/service/cognito/command/hosted/sim-cognito-hosted-sign-in.d.ts +7 -1
- package/dist/service/cognito/command/hosted/sim-cognito-hosted-sign-in.js +18 -7
- package/dist/service/cognito/command/hosted/sim-cognito-hosted-signed-in.d.ts +20 -3
- package/dist/service/cognito/command/hosted/sim-cognito-hosted-signed-in.js +19 -3
- package/dist/service/cognito/command/hosted/sim-cognito-token-endpoint.d.ts +2 -0
- package/dist/service/cognito/command/hosted/sim-cognito-token-grants.d.ts +8 -0
- package/dist/service/cognito/command/hosted/sim-cognito-token-grants.js +13 -4
- package/dist/service/cognito/command/sim-cognito-commands.d.ts +5 -0
- package/dist/service/cognito/command/sim-cognito-commands.js +22 -2
- package/dist/service/cognito/command/user/sim-cognito-confirm-sign-up-commands.d.ts +74 -0
- package/dist/service/cognito/command/user/sim-cognito-confirm-sign-up-commands.js +110 -0
- package/dist/service/cognito/command/user/sim-cognito-sign-up-commands.d.ts +5 -49
- package/dist/service/cognito/command/user/sim-cognito-sign-up-commands.js +7 -87
- package/dist/service/cognito/command/user/sim-cognito-user-commands.d.ts +4 -0
- package/dist/service/cognito/command/user/sim-cognito-user-commands.js +38 -29
- package/dist/service/cognito/error/sim-cognito-managed-login.error.d.ts +23 -0
- package/dist/service/cognito/error/sim-cognito-managed-login.error.js +36 -0
- package/dist/service/cognito/error/sim-cognito-throttle.error.d.ts +13 -0
- package/dist/service/cognito/error/sim-cognito-throttle.error.js +15 -0
- package/dist/service/cognito/index.d.ts +2 -0
- package/dist/service/cognito/index.js +2 -0
- package/dist/service/cognito/metric/sim-cognito-counted-request.d.ts +50 -0
- package/dist/service/cognito/metric/sim-cognito-counted-request.js +51 -0
- package/dist/service/cognito/metric/sim-cognito-metrics.d.ts +22 -0
- package/dist/service/cognito/metric/sim-cognito-metrics.js +26 -0
- package/dist/service/cognito/metric/sim-cognito-pool-metrics.d.ts +40 -0
- package/dist/service/cognito/metric/sim-cognito-pool-metrics.js +51 -0
- package/dist/service/cognito/metric/sim-cognito-throttled-request.d.ts +11 -0
- package/dist/service/cognito/metric/sim-cognito-throttled-request.js +15 -0
- package/dist/service/cognito/serve/page/sim-cognito-managed-login.d.ts +1 -0
- package/dist/service/cognito/serve/page/sim-cognito-managed-login.js +6 -1
- package/dist/service/cognito/serve/page/sim-cognito-page-markup.d.ts +4 -1
- package/dist/service/cognito/serve/page/sim-cognito-page-markup.js +6 -2
- package/dist/service/cognito/serve/page/sim-cognito-provider-page.d.ts +35 -0
- package/dist/service/cognito/serve/page/sim-cognito-provider-page.js +50 -0
- package/dist/service/cognito/sim-cognito-identity-provider.d.ts +6 -0
- package/dist/service/cognito/sim-cognito-identity-provider.js +1 -0
- package/dist/service/cognito/sim-cognito-user-directory.js +3 -3
- package/dist/service/cognito/user-pool/auth/sim-cognito-authorization-code.d.ts +9 -0
- package/dist/service/cognito/user-pool/auth/sim-cognito-authorization-code.js +2 -0
- package/dist/service/cognito/user-pool/auth/sim-cognito-pool-auth.d.ts +8 -0
- package/dist/service/cognito/user-pool/auth/sim-cognito-pool-auth.js +8 -0
- package/dist/service/cognito/user-pool/auth/sim-cognito-request-throttle.d.ts +36 -0
- package/dist/service/cognito/user-pool/auth/sim-cognito-request-throttle.js +45 -0
- package/dist/service/cognito/user-pool/idp/sim-cognito-federated-sign-in.d.ts +42 -9
- package/dist/service/cognito/user-pool/idp/sim-cognito-federated-sign-in.js +56 -27
- package/dist/service/cognito/user-pool/idp/sim-cognito-federated-triggers.d.ts +52 -0
- package/dist/service/cognito/user-pool/idp/sim-cognito-federated-triggers.js +49 -0
- package/dist/service/cognito/user-pool/idp/sim-cognito-presented-external-user.d.ts +48 -0
- package/dist/service/cognito/user-pool/idp/sim-cognito-presented-external-user.js +94 -0
- package/dist/service/cognito/user-pool/idp/sim-cognito-same-federated-identity.d.ts +13 -0
- package/dist/service/cognito/user-pool/idp/sim-cognito-same-federated-identity.js +19 -0
- package/dist/service/cognito/user-pool/idp/sim-cognito-user-pool-identity-provider.d.ts +7 -0
- package/dist/service/cognito/user-pool/idp/sim-cognito-user-pool-identity-provider.js +9 -0
- package/dist/service/cognito/user-pool/trigger/sim-cognito-trigger-name.d.ts +3 -2
- package/dist/service/cognito/user-pool/trigger/sim-cognito-trigger-name.js +3 -2
- package/dist/service/cognito/user-pool/trigger/sim-cognito-trigger-occasion.d.ts +18 -1
- package/dist/service/cognito/user-pool/trigger/sim-cognito-trigger-occasion.js +35 -18
- package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.d.ts +6 -5
- package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.js +6 -5
- package/dist/service/iam/authorize/context/sim-iam-auth-z-input.d.ts +6 -4
- package/dist/service/kms/command/sim-kms-request-options.d.ts +9 -5
- package/dist/service/lambda/command/create-function/create-function.handler.d.ts +3 -0
- package/dist/service/lambda/command/create-function/create-function.handler.js +4 -1
- package/dist/service/lambda/command/function/sim-lambda-function-commands.d.ts +2 -0
- package/dist/service/lambda/event-source/poll/kinesis/sim-lambda-kinesis-stream-delivery.js +7 -11
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-delivery.js +7 -8
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-iterator-age.d.ts +11 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-iterator-age.js +31 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-sequence-numbers.d.ts +10 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-sequence-numbers.js +12 -0
- package/dist/service/lambda/function/sim-lambda-function.d.ts +3 -0
- package/dist/service/lambda/function/sim-lambda-function.js +6 -2
- package/dist/service/lambda/function/sim-lambda-function.type.d.ts +7 -0
- package/dist/service/lambda/metric/sim-lambda-function-metrics.d.ts +47 -0
- package/dist/service/lambda/metric/sim-lambda-function-metrics.js +83 -0
- package/dist/service/lambda/metric/sim-lambda-iterator-age.d.ts +29 -0
- package/dist/service/lambda/metric/sim-lambda-iterator-age.js +41 -0
- package/dist/service/lambda/metric/sim-lambda-metrics.d.ts +12 -0
- package/dist/service/lambda/metric/sim-lambda-metrics.js +13 -0
- package/dist/service/lambda/sim-lambda-commands.d.ts +2 -0
- package/dist/service/lambda/sim-lambda-commands.js +2 -1
- package/dist/service/logs/cfn/metric/sim-cfn-metric-dimension-values.d.ts +9 -0
- package/dist/service/logs/cfn/metric/sim-cfn-metric-dimension-values.js +25 -0
- package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-creator.d.ts +30 -0
- package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-creator.js +52 -0
- package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-properties.d.ts +40 -0
- package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-properties.js +66 -0
- package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-property-rules.d.ts +19 -0
- package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-property-rules.js +40 -0
- package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-unsimulated-properties.d.ts +5 -0
- package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-unsimulated-properties.js +23 -0
- package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-value.d.ts +25 -0
- package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-value.js +58 -0
- package/dist/service/logs/cfn/metric/sim-cfn-metric-transformation-values.d.ts +6 -0
- package/dist/service/logs/cfn/metric/sim-cfn-metric-transformation-values.js +19 -0
- package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.d.ts +2 -0
- package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.js +4 -0
- package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.d.ts +5 -3
- package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.js +12 -3
- package/dist/service/logs/command/delivery/sim-logs-delivery-source-commands.d.ts +6 -4
- package/dist/service/logs/command/delivery/sim-logs-delivery-source-commands.js +13 -4
- package/dist/service/logs/command/event/sim-logs-put-log-events.d.ts +3 -0
- package/dist/service/logs/command/event/sim-logs-put-log-events.js +3 -0
- package/dist/service/logs/command/group/sim-logs-log-group-commands.js +3 -3
- package/dist/service/logs/command/metric/metric-filter.command.d.ts +79 -0
- package/dist/service/logs/command/metric/metric-filter.command.js +1 -0
- package/dist/service/logs/command/metric/sim-logs-metric-filter-commands.d.ts +48 -0
- package/dist/service/logs/command/metric/sim-logs-metric-filter-commands.js +95 -0
- package/dist/service/logs/command/metric/sim-logs-metric-filter-input.d.ts +11 -0
- package/dist/service/logs/command/metric/sim-logs-metric-filter-input.js +79 -0
- package/dist/service/logs/command/sim-logs-command.types.d.ts +1 -0
- package/dist/service/logs/delivery/cloudfront/sim-logs-vended-log-delivery.d.ts +23 -0
- package/dist/service/logs/delivery/cloudfront/sim-logs-vended-log-delivery.js +28 -0
- package/dist/service/logs/group/sim-logs-log-group.d.ts +6 -0
- package/dist/service/logs/group/sim-logs-log-group.js +6 -0
- package/dist/service/logs/index.d.ts +6 -0
- package/dist/service/logs/index.js +4 -0
- package/dist/service/logs/metric/cloudwatch/sim-aws-logs-metric-filter-metrics.d.ts +40 -0
- package/dist/service/logs/metric/cloudwatch/sim-aws-logs-metric-filter-metrics.js +78 -0
- package/dist/service/logs/metric/emf/sim-logs-embedded-metric-datapoints.d.ts +25 -0
- package/dist/service/logs/metric/emf/sim-logs-embedded-metric-datapoints.js +81 -0
- package/dist/service/logs/metric/emf/sim-logs-embedded-metric-document.d.ts +57 -0
- package/dist/service/logs/metric/emf/sim-logs-embedded-metric-document.js +85 -0
- package/dist/service/logs/metric/emf/sim-logs-embedded-metric-json.d.ts +24 -0
- package/dist/service/logs/metric/emf/sim-logs-embedded-metric-json.js +41 -0
- package/dist/service/logs/metric/emf/sim-logs-embedded-metric-values.d.ts +20 -0
- package/dist/service/logs/metric/emf/sim-logs-embedded-metric-values.js +39 -0
- package/dist/service/logs/metric/sim-logs-metric-datapoint.d.ts +25 -0
- package/dist/service/logs/metric/sim-logs-metric-datapoint.js +1 -0
- package/dist/service/logs/metric/sim-logs-metric-fan-out.d.ts +62 -0
- package/dist/service/logs/metric/sim-logs-metric-fan-out.js +116 -0
- package/dist/service/logs/metric/sim-logs-metric-filter-selection.d.ts +17 -0
- package/dist/service/logs/metric/sim-logs-metric-filter-selection.js +17 -0
- package/dist/service/logs/metric/sim-logs-metric-filter-store.d.ts +35 -0
- package/dist/service/logs/metric/sim-logs-metric-filter-store.js +47 -0
- package/dist/service/logs/metric/sim-logs-metric-filter.d.ts +49 -0
- package/dist/service/logs/metric/sim-logs-metric-filter.js +95 -0
- package/dist/service/logs/metric/sim-logs-metric-publication-failure.d.ts +31 -0
- package/dist/service/logs/metric/sim-logs-metric-publication-failure.js +12 -0
- package/dist/service/logs/metric/sim-logs-metric-publications.d.ts +11 -0
- package/dist/service/logs/metric/sim-logs-metric-publications.js +1 -0
- package/dist/service/logs/metric/sim-logs-metric-transformation.d.ts +45 -0
- package/dist/service/logs/metric/sim-logs-metric-transformation.js +127 -0
- package/dist/service/logs/sdk/sim-logs-sdk-command-router.js +12 -0
- package/dist/service/logs/sim-logs-commands.d.ts +12 -0
- package/dist/service/logs/sim-logs-commands.js +17 -0
- package/dist/service/logs/sim-logs-metric-operations.d.ts +31 -0
- package/dist/service/logs/sim-logs-metric-operations.js +37 -0
- package/dist/service/logs/sim-logs.d.ts +4 -3
- package/dist/service/logs/sim-logs.js +4 -3
- package/dist/service/logs/write/sim-logs-service-writer.d.ts +3 -0
- package/dist/service/logs/write/sim-logs-service-writer.js +5 -1
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.d.ts +32 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.js +31 -1
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.d.ts +13 -2
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.js +18 -1
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.d.ts +17 -1
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.js +27 -3
- package/dist/service/s3/bucket/lifecycle/sim-s3-noncurrent-sweep.d.ts +45 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-noncurrent-sweep.js +90 -0
- package/dist/service/s3/bucket/lock/sim-s3-bucket-object-lock.d.ts +42 -0
- package/dist/service/s3/bucket/lock/sim-s3-bucket-object-lock.js +59 -0
- package/dist/service/s3/bucket/lock/sim-s3-default-retention.d.ts +8 -0
- package/dist/service/s3/bucket/lock/sim-s3-default-retention.js +15 -0
- package/dist/service/s3/bucket/lock/sim-s3-object-lock-configuration.d.ts +49 -0
- package/dist/service/s3/bucket/lock/sim-s3-object-lock-configuration.js +102 -0
- package/dist/service/s3/bucket/lock/sim-s3-object-lock-output.d.ts +14 -0
- package/dist/service/s3/bucket/lock/sim-s3-object-lock-output.js +1 -0
- package/dist/service/s3/bucket/lock/sim-s3-object-lock.d.ts +62 -0
- package/dist/service/s3/bucket/lock/sim-s3-object-lock.js +100 -0
- package/dist/service/s3/bucket/lock/sim-s3-object-retention.d.ts +55 -0
- package/dist/service/s3/bucket/lock/sim-s3-object-retention.js +82 -0
- package/dist/service/s3/bucket/notification/sim-s3-notification-event.d.ts +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-event.js +9 -1
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-events.d.ts +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-events.js +1 -2
- package/dist/service/s3/bucket/sim-s3-bucket-objects.d.ts +114 -0
- package/dist/service/s3/bucket/sim-s3-bucket-objects.js +148 -0
- package/dist/service/s3/bucket/sim-s3-bucket.d.ts +30 -29
- package/dist/service/s3/bucket/sim-s3-bucket.js +42 -45
- package/dist/service/s3/bucket/sim-s3-object-deletion.d.ts +30 -0
- package/dist/service/s3/bucket/sim-s3-object-deletion.js +29 -0
- package/dist/service/s3/bucket/versioning/sim-s3-bucket-versioning.d.ts +61 -0
- package/dist/service/s3/bucket/versioning/sim-s3-bucket-versioning.js +65 -0
- package/dist/service/s3/bucket/versioning/sim-s3-bucket-versions.d.ts +97 -0
- package/dist/service/s3/bucket/versioning/sim-s3-bucket-versions.js +176 -0
- package/dist/service/s3/bucket/versioning/sim-s3-compare-keys.d.ts +10 -0
- package/dist/service/s3/bucket/versioning/sim-s3-compare-keys.js +16 -0
- package/dist/service/s3/bucket/versioning/sim-s3-object-version.d.ts +85 -0
- package/dist/service/s3/bucket/versioning/sim-s3-object-version.js +101 -0
- package/dist/service/s3/bucket/versioning/sim-s3-object-versions.d.ts +52 -0
- package/dist/service/s3/bucket/versioning/sim-s3-object-versions.js +91 -0
- package/dist/service/s3/bucket/versioning/sim-s3-version-page.d.ts +32 -0
- package/dist/service/s3/bucket/versioning/sim-s3-version-page.js +45 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.d.ts +0 -5
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.js +3 -14
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.d.ts +18 -1
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.js +34 -1
- package/dist/service/s3/cfn/bucket/lock/sim-cfn-s3-bucket-object-lock-configuration.d.ts +37 -0
- package/dist/service/s3/cfn/bucket/lock/sim-cfn-s3-bucket-object-lock-configuration.js +78 -0
- package/dist/service/s3/cfn/bucket/replication/sim-cfn-s3-bucket-replication-rules.d.ts +20 -0
- package/dist/service/s3/cfn/bucket/replication/sim-cfn-s3-bucket-replication-rules.js +107 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.d.ts +14 -7
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.js +29 -37
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-declared-configurations.d.ts +62 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-declared-configurations.js +89 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.d.ts +9 -5
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.js +16 -16
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-rules.d.ts +9 -5
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-rules.js +17 -6
- package/dist/service/s3/cfn/bucket/versioning/sim-cfn-s3-bucket-versioning-configuration.d.ts +19 -0
- package/dist/service/s3/cfn/bucket/versioning/sim-cfn-s3-bucket-versioning-configuration.js +28 -0
- package/dist/service/s3/command/authorize/sim-s3-authorize-action.d.ts +24 -0
- package/dist/service/s3/command/authorize/sim-s3-authorize-action.js +30 -0
- package/dist/service/s3/command/complete-multipart-upload/complete-multipart-upload.command.d.ts +2 -0
- package/dist/service/s3/command/complete-multipart-upload/complete-multipart-upload.handler.js +3 -1
- package/dist/service/s3/command/copy-object/copy-object.command.d.ts +3 -1
- package/dist/service/s3/command/copy-object/copy-object.handler.js +3 -1
- package/dist/service/s3/command/delete-object/delete-object-version-removal.d.ts +50 -0
- package/dist/service/s3/command/delete-object/delete-object-version-removal.js +52 -0
- package/dist/service/s3/command/delete-object/delete-object.command.d.ts +19 -2
- package/dist/service/s3/command/delete-object/delete-object.handler.d.ts +7 -1
- package/dist/service/s3/command/delete-object/delete-object.handler.js +28 -16
- package/dist/service/s3/command/delete-object/sim-s3-notify-deleted.d.ts +24 -0
- package/dist/service/s3/command/delete-object/sim-s3-notify-deleted.js +32 -0
- package/dist/service/s3/command/delete-objects/delete-object-attempt.d.ts +6 -2
- package/dist/service/s3/command/delete-objects/delete-object-attempt.js +6 -2
- package/dist/service/s3/command/delete-objects/delete-objects-key-removal.js +10 -9
- package/dist/service/s3/command/delete-objects/delete-objects-outcome.js +9 -1
- package/dist/service/s3/command/delete-objects/delete-objects.command.d.ts +6 -0
- package/dist/service/s3/command/get-bucket-versioning/get-bucket-versioning.command.d.ts +23 -0
- package/dist/service/s3/command/get-bucket-versioning/get-bucket-versioning.command.js +1 -0
- package/dist/service/s3/command/get-bucket-versioning/get-bucket-versioning.handler.d.ts +31 -0
- package/dist/service/s3/command/get-bucket-versioning/get-bucket-versioning.handler.js +40 -0
- package/dist/service/s3/command/get-object/get-object-loader.d.ts +3 -2
- package/dist/service/s3/command/get-object/get-object-loader.js +9 -4
- package/dist/service/s3/command/get-object/get-object.command.d.ts +9 -1
- package/dist/service/s3/command/get-object/get-object.handler.js +1 -1
- package/dist/service/s3/command/get-object-lock-configuration/get-object-lock-configuration.command.d.ts +25 -0
- package/dist/service/s3/command/get-object-lock-configuration/get-object-lock-configuration.command.js +1 -0
- package/dist/service/s3/command/get-object-lock-configuration/get-object-lock-configuration.handler.d.ts +31 -0
- package/dist/service/s3/command/get-object-lock-configuration/get-object-lock-configuration.handler.js +41 -0
- package/dist/service/s3/command/head-object/head-object-loader.d.ts +1 -1
- package/dist/service/s3/command/head-object/head-object-loader.js +7 -3
- package/dist/service/s3/command/head-object/head-object.command.d.ts +9 -1
- package/dist/service/s3/command/head-object/head-object.handler.js +1 -1
- package/dist/service/s3/command/list-object-versions/list-object-versions-listing.d.ts +31 -0
- package/dist/service/s3/command/list-object-versions/list-object-versions-listing.js +55 -0
- package/dist/service/s3/command/list-object-versions/list-object-versions-summaries.d.ts +17 -0
- package/dist/service/s3/command/list-object-versions/list-object-versions-summaries.js +34 -0
- package/dist/service/s3/command/list-object-versions/list-object-versions.command.d.ts +59 -0
- package/dist/service/s3/command/list-object-versions/list-object-versions.command.js +1 -0
- package/dist/service/s3/command/list-object-versions/list-object-versions.handler.d.ts +34 -0
- package/dist/service/s3/command/list-object-versions/list-object-versions.handler.js +62 -0
- package/dist/service/s3/command/object/sim-s3-read-object-version.d.ts +34 -0
- package/dist/service/s3/command/object/sim-s3-read-object-version.js +52 -0
- package/dist/service/s3/command/object-lock/sim-s3-locked-version.d.ts +11 -0
- package/dist/service/s3/command/object-lock/sim-s3-locked-version.js +27 -0
- package/dist/service/s3/command/object-lock/sim-s3-object-lock-authorizer.d.ts +42 -0
- package/dist/service/s3/command/object-lock/sim-s3-object-lock-authorizer.js +66 -0
- package/dist/service/s3/command/object-lock/sim-s3-object-lock-commands.d.ts +30 -0
- package/dist/service/s3/command/object-lock/sim-s3-object-lock-commands.js +41 -0
- package/dist/service/s3/command/put-bucket-versioning/put-bucket-versioning.command.d.ts +21 -0
- package/dist/service/s3/command/put-bucket-versioning/put-bucket-versioning.command.js +1 -0
- package/dist/service/s3/command/put-bucket-versioning/put-bucket-versioning.handler.d.ts +31 -0
- package/dist/service/s3/command/put-bucket-versioning/put-bucket-versioning.handler.js +44 -0
- package/dist/service/s3/command/put-object/put-object.command.d.ts +3 -0
- package/dist/service/s3/command/put-object/put-object.handler.js +10 -10
- package/dist/service/s3/command/put-object-legal-hold/put-object-legal-hold.command.d.ts +24 -0
- package/dist/service/s3/command/put-object-legal-hold/put-object-legal-hold.command.js +1 -0
- package/dist/service/s3/command/put-object-legal-hold/put-object-legal-hold.handler.d.ts +32 -0
- package/dist/service/s3/command/put-object-legal-hold/put-object-legal-hold.handler.js +41 -0
- package/dist/service/s3/command/put-object-lock-configuration/put-object-lock-configuration.command.d.ts +21 -0
- package/dist/service/s3/command/put-object-lock-configuration/put-object-lock-configuration.command.js +1 -0
- package/dist/service/s3/command/put-object-lock-configuration/put-object-lock-configuration.handler.d.ts +32 -0
- package/dist/service/s3/command/put-object-lock-configuration/put-object-lock-configuration.handler.js +47 -0
- package/dist/service/s3/command/put-object-retention/put-object-retention.command.d.ts +29 -0
- package/dist/service/s3/command/put-object-retention/put-object-retention.command.js +1 -0
- package/dist/service/s3/command/put-object-retention/put-object-retention.handler.d.ts +31 -0
- package/dist/service/s3/command/put-object-retention/put-object-retention.handler.js +42 -0
- package/dist/service/s3/command/sim-s3-command.types.d.ts +7 -0
- package/dist/service/s3/command/versioning/sim-s3-versioning-authorizer.d.ts +35 -0
- package/dist/service/s3/command/versioning/sim-s3-versioning-authorizer.js +57 -0
- package/dist/service/s3/command/versioning/sim-s3-versioning-commands.d.ts +26 -0
- package/dist/service/s3/command/versioning/sim-s3-versioning-commands.js +34 -0
- package/dist/service/s3/command/versioning/sim-s3-versioning-configuration-validation.d.ts +13 -0
- package/dist/service/s3/command/versioning/sim-s3-versioning-configuration-validation.js +28 -0
- package/dist/service/s3/error/sim-s3-object-lock.error.d.ts +22 -0
- package/dist/service/s3/error/sim-s3-object-lock.error.js +26 -0
- package/dist/service/s3/error/sim-s3.error.d.ts +22 -0
- package/dist/service/s3/error/sim-s3.error.js +26 -0
- package/dist/service/s3/notification/event/sim-s3-event-records.js +3 -0
- package/dist/service/s3/notification/event/sim-s3-event.type.d.ts +5 -3
- package/dist/service/s3/notification/event/sim-s3-object-event-builder.d.ts +15 -0
- package/dist/service/s3/notification/event/sim-s3-object-event-builder.js +4 -1
- package/dist/service/s3/notification/event/sim-s3-object-event.d.ts +6 -0
- package/dist/service/s3/notification/event/sim-s3-object-event.js +2 -0
- package/dist/service/s3/notification/sim-s3-object-notifier.d.ts +1 -1
- package/dist/service/s3/notification/sim-s3-object-notifier.js +2 -2
- package/dist/service/s3/sdk/sim-s3-sdk-bucket-routes.d.ts +10 -0
- package/dist/service/s3/sdk/sim-s3-sdk-bucket-routes.js +84 -0
- package/dist/service/s3/sdk/sim-s3-sdk-command-router.js +6 -132
- package/dist/service/s3/sdk/sim-s3-sdk-object-lock-routes.d.ts +10 -0
- package/dist/service/s3/sdk/sim-s3-sdk-object-lock-routes.js +28 -0
- package/dist/service/s3/sdk/sim-s3-sdk-object-routes.d.ts +7 -0
- package/dist/service/s3/sdk/sim-s3-sdk-object-routes.js +80 -0
- package/dist/service/s3/sim-s3-commands.d.ts +4 -0
- package/dist/service/s3/sim-s3-commands.js +6 -0
- package/dist/service/s3/sim-s3-operations.d.ts +5 -5
- package/dist/service/s3/sim-s3-operations.js +5 -6
- package/dist/service/s3/sim-s3-version-operations.d.ts +32 -0
- package/dist/service/s3/sim-s3-version-operations.js +45 -0
- package/dist/service/scheduler/command/schedule/schedule.command.d.ts +9 -2
- package/dist/service/scheduler/command/schedule/sim-scheduler-described-schedule.js +2 -0
- package/dist/service/scheduler/command/schedule/sim-scheduler-unsimulated-target.js +0 -6
- package/dist/service/scheduler/command/sim-scheduler-command.types.d.ts +1 -1
- package/dist/service/scheduler/command/sim-scheduler-commands.js +1 -0
- package/dist/service/scheduler/delivery/sim-aws-scheduler-dead-letters.d.ts +17 -0
- package/dist/service/scheduler/delivery/sim-aws-scheduler-dead-letters.js +29 -0
- package/dist/service/scheduler/delivery/sim-aws-scheduler-delivery-targets.d.ts +6 -1
- package/dist/service/scheduler/delivery/sim-aws-scheduler-delivery-targets.js +9 -0
- package/dist/service/scheduler/delivery/sim-scheduler-dead-letter-queue.d.ts +18 -0
- package/dist/service/scheduler/delivery/sim-scheduler-dead-letter-queue.js +62 -0
- package/dist/service/scheduler/delivery/sim-scheduler-delivery-attempt.d.ts +29 -0
- package/dist/service/scheduler/delivery/sim-scheduler-delivery-attempt.js +81 -0
- package/dist/service/scheduler/delivery/sim-scheduler-delivery-function.js +9 -5
- package/dist/service/scheduler/delivery/sim-scheduler-delivery.d.ts +11 -0
- package/dist/service/scheduler/delivery/sim-scheduler-no-delivery-targets.d.ts +5 -1
- package/dist/service/scheduler/delivery/sim-scheduler-no-delivery-targets.js +8 -0
- package/dist/service/scheduler/delivery/sim-scheduler-target-delivery.d.ts +4 -1
- package/dist/service/scheduler/delivery/sim-scheduler-target-delivery.js +20 -15
- package/dist/service/scheduler/index.d.ts +1 -1
- package/dist/service/scheduler/target/sim-scheduler-dead-letter-config.d.ts +15 -0
- package/dist/service/scheduler/target/sim-scheduler-dead-letter-config.js +24 -0
- package/dist/service/scheduler/target/sim-scheduler-retry-policy.d.ts +20 -0
- package/dist/service/scheduler/target/sim-scheduler-retry-policy.js +37 -0
- package/dist/service/scheduler/target/sim-scheduler-target.d.ts +6 -0
- package/dist/service/scheduler/target/sim-scheduler-target.js +12 -0
- package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-encryption-rules.d.ts +15 -0
- package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-encryption-rules.js +33 -0
- package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-properties.d.ts +16 -0
- package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-properties.js +33 -1
- package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-names.d.ts +12 -6
- package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-names.js +18 -13
- package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-rules.d.ts +1 -0
- package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-rules.js +9 -1
- package/dist/service/ssm/parameter/sim-ssm-kms-crypto.d.ts +7 -10
- package/dist/service/ssm/parameter/sim-ssm-parameter-kms.d.ts +10 -11
- package/dist/service/ssm/parameter/sim-ssm-parameter-kms.js +11 -16
- package/dist/terraform/map/sim-tf-map-sqs-redrive.d.ts +4 -3
- package/dist/terraform/map/sim-tf-map-sqs-redrive.js +4 -3
- package/docs/README.md +1 -0
- package/docs/services/athena/README.md +7 -1
- package/docs/services/backup/README.md +553 -0
- package/docs/services/cloudformation/README.md +18 -7
- package/docs/services/cloudfront/README.md +903 -25
- package/docs/services/cloudwatch/README.md +159 -3
- package/docs/services/cognito/README.md +370 -7
- package/docs/services/ecs/README.md +5 -2
- package/docs/services/kms/README.md +9 -5
- package/docs/services/lambda/README.md +28 -0
- package/docs/services/logs/README.md +290 -3
- package/docs/services/s3/README.md +463 -20
- package/docs/services/scheduler/README.md +48 -9
- package/docs/services/sqs/README.md +47 -10
- package/docs/services/ssm/README.md +26 -33
- package/llms.txt +1 -0
- package/package.json +7 -2
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import type { SimS3Object } from "../../object/s3-object.js";
|
|
2
|
+
import type { SimS3BucketStorage } from "../../storage/s3-bucket-storage.js";
|
|
3
|
+
import { SimS3BucketVersioning } from "./sim-s3-bucket-versioning.js";
|
|
4
|
+
import { SimS3ObjectVersion } from "./sim-s3-object-version.js";
|
|
5
|
+
/**
|
|
6
|
+
* The versioning of one simulated S3 Bucket, and the versions it has kept.
|
|
7
|
+
*
|
|
8
|
+
* Storage holds the current Object under each key and nothing else, which is
|
|
9
|
+
* what lets every reader of a Bucket carry on unchanged. The version history
|
|
10
|
+
* holds every version including that current one, and the two are kept in step
|
|
11
|
+
* here: writing a delete marker takes the Object out of storage, and deleting
|
|
12
|
+
* a version puts back whatever the removal left current.
|
|
13
|
+
*/
|
|
14
|
+
export declare class SimS3BucketVersions {
|
|
15
|
+
private versioning;
|
|
16
|
+
private readonly history;
|
|
17
|
+
/**
|
|
18
|
+
* How this Bucket is configured.
|
|
19
|
+
*/
|
|
20
|
+
get configuration(): SimS3BucketVersioning;
|
|
21
|
+
/**
|
|
22
|
+
* Whether this Bucket holds a version history.
|
|
23
|
+
*/
|
|
24
|
+
get keepsVersions(): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Apply a versioning configuration to this Bucket.
|
|
27
|
+
*
|
|
28
|
+
* Enabling versioning over a Bucket that already holds Objects gives each of
|
|
29
|
+
* them the null version id, which is what real S3 does with the Objects
|
|
30
|
+
* written before the configuration arrived. They become the current version
|
|
31
|
+
* of their key and stay readable by that id afterwards.
|
|
32
|
+
*/
|
|
33
|
+
configure(versioning: SimS3BucketVersioning, stored: readonly SimS3Object[]): void;
|
|
34
|
+
/**
|
|
35
|
+
* Record a write, answering the version it was given.
|
|
36
|
+
*
|
|
37
|
+
* A Bucket with versioning enabled gets a new id every time. A suspended one
|
|
38
|
+
* writes over the null version, because real S3 holds one Object under that
|
|
39
|
+
* id rather than a run of them. A Bucket nobody has configured records
|
|
40
|
+
* nothing at all.
|
|
41
|
+
*/
|
|
42
|
+
recordPut(object: SimS3Object): SimS3ObjectVersion | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* Write a delete marker over a key and take the Object out of storage.
|
|
45
|
+
*
|
|
46
|
+
* Real S3 writes the marker whether or not the key held anything, so a
|
|
47
|
+
* delete of a key that was never written still leaves one behind.
|
|
48
|
+
*/
|
|
49
|
+
markDeleted(storage: SimS3BucketStorage, key: string, at: Date): Promise<SimS3ObjectVersion>;
|
|
50
|
+
/**
|
|
51
|
+
* Remove one version permanently, answering the version that went.
|
|
52
|
+
*
|
|
53
|
+
* Whatever the removal leaves at the head of the key becomes current, so
|
|
54
|
+
* deleting a delete marker brings the Object under it back and deleting the
|
|
55
|
+
* current Object exposes the one written before it.
|
|
56
|
+
*/
|
|
57
|
+
deleteVersion(storage: SimS3BucketStorage, key: string, versionId: string): Promise<SimS3ObjectVersion | undefined>;
|
|
58
|
+
/**
|
|
59
|
+
* One version of one key, by the id it was given.
|
|
60
|
+
*/
|
|
61
|
+
find(key: string, versionId: string): SimS3ObjectVersion | undefined;
|
|
62
|
+
/**
|
|
63
|
+
* The version a read of this key without a version id answers with.
|
|
64
|
+
*/
|
|
65
|
+
current(key: string): SimS3ObjectVersion | undefined;
|
|
66
|
+
/**
|
|
67
|
+
* Take a version a lifecycle rule expired out of the history.
|
|
68
|
+
*
|
|
69
|
+
* Storage is left alone, unlike `deleteVersion`. A rule for noncurrent
|
|
70
|
+
* versions never reaches the current one, and a delete marker holds no
|
|
71
|
+
* bytes, so nothing this removes was in storage to begin with.
|
|
72
|
+
*/
|
|
73
|
+
removeExpired(key: string, versionId: string): void;
|
|
74
|
+
/**
|
|
75
|
+
* Every version this Bucket holds, in the order a listing reports them.
|
|
76
|
+
*/
|
|
77
|
+
list(prefix?: string): readonly SimS3ObjectVersion[];
|
|
78
|
+
/**
|
|
79
|
+
* Remove the null version from a Bucket that keeps no history.
|
|
80
|
+
*
|
|
81
|
+
* Real S3 gives every Object in such a Bucket the null version id, so a
|
|
82
|
+
* delete naming that id removes the Object rather than doing nothing. Any
|
|
83
|
+
* other id names a version the Bucket never issued.
|
|
84
|
+
*/
|
|
85
|
+
private removeNullVersion;
|
|
86
|
+
/**
|
|
87
|
+
* Make storage hold whatever is now current under a key.
|
|
88
|
+
*/
|
|
89
|
+
private restoreCurrent;
|
|
90
|
+
/**
|
|
91
|
+
* The id the next version of anything gets.
|
|
92
|
+
*
|
|
93
|
+
* Real S3 version ids are opaque, and a suspended Bucket writes under the
|
|
94
|
+
* null id rather than minting one.
|
|
95
|
+
*/
|
|
96
|
+
private nextVersionId;
|
|
97
|
+
}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { SimS3BucketVersioning, simS3NullVersionId, } from "./sim-s3-bucket-versioning.js";
|
|
3
|
+
import { SimS3ObjectVersion } from "./sim-s3-object-version.js";
|
|
4
|
+
import { SimS3ObjectVersions } from "./sim-s3-object-versions.js";
|
|
5
|
+
/**
|
|
6
|
+
* The versioning of one simulated S3 Bucket, and the versions it has kept.
|
|
7
|
+
*
|
|
8
|
+
* Storage holds the current Object under each key and nothing else, which is
|
|
9
|
+
* what lets every reader of a Bucket carry on unchanged. The version history
|
|
10
|
+
* holds every version including that current one, and the two are kept in step
|
|
11
|
+
* here: writing a delete marker takes the Object out of storage, and deleting
|
|
12
|
+
* a version puts back whatever the removal left current.
|
|
13
|
+
*/
|
|
14
|
+
export class SimS3BucketVersions {
|
|
15
|
+
versioning = SimS3BucketVersioning.unversioned();
|
|
16
|
+
history = new SimS3ObjectVersions();
|
|
17
|
+
/**
|
|
18
|
+
* How this Bucket is configured.
|
|
19
|
+
*/
|
|
20
|
+
get configuration() {
|
|
21
|
+
return this.versioning;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Whether this Bucket holds a version history.
|
|
25
|
+
*/
|
|
26
|
+
get keepsVersions() {
|
|
27
|
+
return this.versioning.keepsVersions;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Apply a versioning configuration to this Bucket.
|
|
31
|
+
*
|
|
32
|
+
* Enabling versioning over a Bucket that already holds Objects gives each of
|
|
33
|
+
* them the null version id, which is what real S3 does with the Objects
|
|
34
|
+
* written before the configuration arrived. They become the current version
|
|
35
|
+
* of their key and stay readable by that id afterwards.
|
|
36
|
+
*/
|
|
37
|
+
configure(versioning, stored) {
|
|
38
|
+
const seeding = !this.versioning.keepsVersions && versioning.keepsVersions;
|
|
39
|
+
this.versioning = versioning;
|
|
40
|
+
if (!seeding) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
for (const object of stored) {
|
|
44
|
+
this.history.add(SimS3ObjectVersion.nullVersionOf(object));
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Record a write, answering the version it was given.
|
|
49
|
+
*
|
|
50
|
+
* A Bucket with versioning enabled gets a new id every time. A suspended one
|
|
51
|
+
* writes over the null version, because real S3 holds one Object under that
|
|
52
|
+
* id rather than a run of them. A Bucket nobody has configured records
|
|
53
|
+
* nothing at all.
|
|
54
|
+
*/
|
|
55
|
+
recordPut(object) {
|
|
56
|
+
if (!this.versioning.keepsVersions) {
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
59
|
+
const version = new SimS3ObjectVersion({
|
|
60
|
+
versionId: this.nextVersionId(),
|
|
61
|
+
key: object.key,
|
|
62
|
+
createdAt: object.lastModified,
|
|
63
|
+
object,
|
|
64
|
+
});
|
|
65
|
+
if (this.versioning.isEnabled) {
|
|
66
|
+
this.history.add(version);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
this.history.replace(version);
|
|
70
|
+
}
|
|
71
|
+
return version;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Write a delete marker over a key and take the Object out of storage.
|
|
75
|
+
*
|
|
76
|
+
* Real S3 writes the marker whether or not the key held anything, so a
|
|
77
|
+
* delete of a key that was never written still leaves one behind.
|
|
78
|
+
*/
|
|
79
|
+
async markDeleted(storage, key, at) {
|
|
80
|
+
const marker = new SimS3ObjectVersion({
|
|
81
|
+
versionId: this.nextVersionId(),
|
|
82
|
+
key,
|
|
83
|
+
createdAt: at,
|
|
84
|
+
});
|
|
85
|
+
if (this.versioning.isEnabled) {
|
|
86
|
+
this.history.add(marker);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
this.history.replace(marker);
|
|
90
|
+
}
|
|
91
|
+
await storage.deleteObject(key);
|
|
92
|
+
return marker;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Remove one version permanently, answering the version that went.
|
|
96
|
+
*
|
|
97
|
+
* Whatever the removal leaves at the head of the key becomes current, so
|
|
98
|
+
* deleting a delete marker brings the Object under it back and deleting the
|
|
99
|
+
* current Object exposes the one written before it.
|
|
100
|
+
*/
|
|
101
|
+
async deleteVersion(storage, key, versionId) {
|
|
102
|
+
if (!this.versioning.keepsVersions) {
|
|
103
|
+
return await this.removeNullVersion(storage, key, versionId);
|
|
104
|
+
}
|
|
105
|
+
const removed = this.history.remove(key, versionId);
|
|
106
|
+
if (removed !== undefined) {
|
|
107
|
+
await this.restoreCurrent(storage, key);
|
|
108
|
+
}
|
|
109
|
+
return removed;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* One version of one key, by the id it was given.
|
|
113
|
+
*/
|
|
114
|
+
find(key, versionId) {
|
|
115
|
+
return this.history.find(key, versionId);
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* The version a read of this key without a version id answers with.
|
|
119
|
+
*/
|
|
120
|
+
current(key) {
|
|
121
|
+
return this.history.current(key);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Take a version a lifecycle rule expired out of the history.
|
|
125
|
+
*
|
|
126
|
+
* Storage is left alone, unlike `deleteVersion`. A rule for noncurrent
|
|
127
|
+
* versions never reaches the current one, and a delete marker holds no
|
|
128
|
+
* bytes, so nothing this removes was in storage to begin with.
|
|
129
|
+
*/
|
|
130
|
+
removeExpired(key, versionId) {
|
|
131
|
+
this.history.remove(key, versionId);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Every version this Bucket holds, in the order a listing reports them.
|
|
135
|
+
*/
|
|
136
|
+
list(prefix) {
|
|
137
|
+
return this.history.list(prefix);
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Remove the null version from a Bucket that keeps no history.
|
|
141
|
+
*
|
|
142
|
+
* Real S3 gives every Object in such a Bucket the null version id, so a
|
|
143
|
+
* delete naming that id removes the Object rather than doing nothing. Any
|
|
144
|
+
* other id names a version the Bucket never issued.
|
|
145
|
+
*/
|
|
146
|
+
async removeNullVersion(storage, key, versionId) {
|
|
147
|
+
const stored = versionId === simS3NullVersionId
|
|
148
|
+
? await storage.getObject(key)
|
|
149
|
+
: undefined;
|
|
150
|
+
if (stored === undefined) {
|
|
151
|
+
return undefined;
|
|
152
|
+
}
|
|
153
|
+
await storage.deleteObject(key);
|
|
154
|
+
return SimS3ObjectVersion.nullVersionOf(stored);
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Make storage hold whatever is now current under a key.
|
|
158
|
+
*/
|
|
159
|
+
async restoreCurrent(storage, key) {
|
|
160
|
+
const current = this.history.current(key);
|
|
161
|
+
if (current === undefined || current.isDeleteMarker) {
|
|
162
|
+
await storage.deleteObject(key);
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
await storage.putObject(current.object);
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* The id the next version of anything gets.
|
|
169
|
+
*
|
|
170
|
+
* Real S3 version ids are opaque, and a suspended Bucket writes under the
|
|
171
|
+
* null id rather than minting one.
|
|
172
|
+
*/
|
|
173
|
+
nextVersionId() {
|
|
174
|
+
return this.versioning.isEnabled ? randomUUID() : simS3NullVersionId;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Order two Object keys the way S3 orders them.
|
|
3
|
+
*
|
|
4
|
+
* S3 orders keys by their UTF-8 bytes. Comparing the strings directly agrees
|
|
5
|
+
* with that for every key outside the supplementary planes, and `localeCompare`
|
|
6
|
+
* does not, because it collates by locale and can order the same two keys
|
|
7
|
+
* differently on two runtimes. `compareObjectKeys` in the Object listing
|
|
8
|
+
* compares the same way for the same reason.
|
|
9
|
+
*/
|
|
10
|
+
export declare function compareSimS3Keys(left: string, right: string): number;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Order two Object keys the way S3 orders them.
|
|
3
|
+
*
|
|
4
|
+
* S3 orders keys by their UTF-8 bytes. Comparing the strings directly agrees
|
|
5
|
+
* with that for every key outside the supplementary planes, and `localeCompare`
|
|
6
|
+
* does not, because it collates by locale and can order the same two keys
|
|
7
|
+
* differently on two runtimes. `compareObjectKeys` in the Object listing
|
|
8
|
+
* compares the same way for the same reason.
|
|
9
|
+
*/
|
|
10
|
+
export function compareSimS3Keys(left, right) {
|
|
11
|
+
/* v8 ignore if -- a Bucket holds one Object per key, so no two keys are equal */
|
|
12
|
+
if (left === right) {
|
|
13
|
+
return 0;
|
|
14
|
+
}
|
|
15
|
+
return left < right ? -1 : 1;
|
|
16
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { SimS3ObjectLock } from "../lock/sim-s3-object-lock.js";
|
|
2
|
+
import type { SimS3Object } from "../../object/s3-object.js";
|
|
3
|
+
interface SimS3ObjectVersionProperties {
|
|
4
|
+
readonly versionId: string;
|
|
5
|
+
readonly key: string;
|
|
6
|
+
readonly createdAt: Date;
|
|
7
|
+
/**
|
|
8
|
+
* The Object this version holds. A version without one is a delete marker,
|
|
9
|
+
* which records that the key was deleted and holds no bytes.
|
|
10
|
+
*/
|
|
11
|
+
readonly object?: SimS3Object | undefined;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* One version of one key in a simulated S3 Bucket.
|
|
15
|
+
*
|
|
16
|
+
* A version is either an Object or a delete marker, and both are versions in
|
|
17
|
+
* every other respect. Both carry an id, both appear in a listing, and both
|
|
18
|
+
* can be deleted by naming that id. Modelling the marker as a version without
|
|
19
|
+
* an Object keeps the ordering in one list, which is what decides which
|
|
20
|
+
* version is current.
|
|
21
|
+
*/
|
|
22
|
+
export declare class SimS3ObjectVersion {
|
|
23
|
+
readonly versionId: string;
|
|
24
|
+
readonly key: string;
|
|
25
|
+
/**
|
|
26
|
+
* What Object Lock holds against this version.
|
|
27
|
+
*
|
|
28
|
+
* Every version carries one, empty until something is put on it. A Bucket
|
|
29
|
+
* without Object Lock leaves every one of them empty, and an empty lock
|
|
30
|
+
* refuses nothing, so the delete path asks the same question either way.
|
|
31
|
+
*/
|
|
32
|
+
readonly lock: SimS3ObjectLock;
|
|
33
|
+
private displaced;
|
|
34
|
+
private readonly createdAt;
|
|
35
|
+
private readonly stored;
|
|
36
|
+
constructor(properties: SimS3ObjectVersionProperties);
|
|
37
|
+
/**
|
|
38
|
+
* The version an Object in a Bucket that keeps none reads back under.
|
|
39
|
+
*
|
|
40
|
+
* Real S3 gives every Object in an unversioned Bucket the null version id,
|
|
41
|
+
* and answers ListObjectVersions for one as a history a single entry deep.
|
|
42
|
+
*/
|
|
43
|
+
static nullVersionOf(object: SimS3Object): SimS3ObjectVersion;
|
|
44
|
+
/**
|
|
45
|
+
* Whether this version records a deletion instead of holding bytes.
|
|
46
|
+
*/
|
|
47
|
+
get isDeleteMarker(): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* The Object this version holds.
|
|
50
|
+
*
|
|
51
|
+
* A delete marker has none, and asking for one is a caller that skipped
|
|
52
|
+
* `isDeleteMarker`. Reporting that as an error beats handing back nothing,
|
|
53
|
+
* which reads as an empty Object further down.
|
|
54
|
+
*/
|
|
55
|
+
get object(): SimS3Object;
|
|
56
|
+
/**
|
|
57
|
+
* When this version came into being, in simulated time.
|
|
58
|
+
*
|
|
59
|
+
* A copy, because a Date is mutable and every read of a version hands this
|
|
60
|
+
* one out.
|
|
61
|
+
*/
|
|
62
|
+
get lastModified(): Date;
|
|
63
|
+
/**
|
|
64
|
+
* When this version stopped being the current one, if it has.
|
|
65
|
+
*
|
|
66
|
+
* A `NoncurrentVersionExpiration` counts from here rather than from the
|
|
67
|
+
* write, because a version written a year ago and displaced yesterday has
|
|
68
|
+
* been noncurrent for a day. Real S3 measures it the same way.
|
|
69
|
+
*/
|
|
70
|
+
get noncurrentSince(): Date | undefined;
|
|
71
|
+
/**
|
|
72
|
+
* Record that a newer version has taken this one's place.
|
|
73
|
+
*
|
|
74
|
+
* Only the first displacement counts. Removing the version that displaced
|
|
75
|
+
* this one makes it current again, and a later write displaces it a second
|
|
76
|
+
* time, which real S3 measures from the later of the two.
|
|
77
|
+
*/
|
|
78
|
+
displacedAt(instant: Date): void;
|
|
79
|
+
/**
|
|
80
|
+
* Record that this version is current again, which is what removing the
|
|
81
|
+
* version above it does.
|
|
82
|
+
*/
|
|
83
|
+
restored(): void;
|
|
84
|
+
}
|
|
85
|
+
export {};
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { assertDefined } from "../../../../util/type-guard/defined.js";
|
|
2
|
+
import { SimS3ObjectLock } from "../lock/sim-s3-object-lock.js";
|
|
3
|
+
import { simS3NullVersionId } from "./sim-s3-bucket-versioning.js";
|
|
4
|
+
/**
|
|
5
|
+
* One version of one key in a simulated S3 Bucket.
|
|
6
|
+
*
|
|
7
|
+
* A version is either an Object or a delete marker, and both are versions in
|
|
8
|
+
* every other respect. Both carry an id, both appear in a listing, and both
|
|
9
|
+
* can be deleted by naming that id. Modelling the marker as a version without
|
|
10
|
+
* an Object keeps the ordering in one list, which is what decides which
|
|
11
|
+
* version is current.
|
|
12
|
+
*/
|
|
13
|
+
export class SimS3ObjectVersion {
|
|
14
|
+
versionId;
|
|
15
|
+
key;
|
|
16
|
+
/**
|
|
17
|
+
* What Object Lock holds against this version.
|
|
18
|
+
*
|
|
19
|
+
* Every version carries one, empty until something is put on it. A Bucket
|
|
20
|
+
* without Object Lock leaves every one of them empty, and an empty lock
|
|
21
|
+
* refuses nothing, so the delete path asks the same question either way.
|
|
22
|
+
*/
|
|
23
|
+
lock = new SimS3ObjectLock();
|
|
24
|
+
displaced;
|
|
25
|
+
createdAt;
|
|
26
|
+
stored;
|
|
27
|
+
constructor(properties) {
|
|
28
|
+
this.versionId = properties.versionId;
|
|
29
|
+
this.key = properties.key;
|
|
30
|
+
this.createdAt = new Date(properties.createdAt);
|
|
31
|
+
this.stored = properties.object;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The version an Object in a Bucket that keeps none reads back under.
|
|
35
|
+
*
|
|
36
|
+
* Real S3 gives every Object in an unversioned Bucket the null version id,
|
|
37
|
+
* and answers ListObjectVersions for one as a history a single entry deep.
|
|
38
|
+
*/
|
|
39
|
+
static nullVersionOf(object) {
|
|
40
|
+
return new SimS3ObjectVersion({
|
|
41
|
+
versionId: simS3NullVersionId,
|
|
42
|
+
key: object.key,
|
|
43
|
+
createdAt: object.lastModified,
|
|
44
|
+
object,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Whether this version records a deletion instead of holding bytes.
|
|
49
|
+
*/
|
|
50
|
+
get isDeleteMarker() {
|
|
51
|
+
return this.stored === undefined;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* The Object this version holds.
|
|
55
|
+
*
|
|
56
|
+
* A delete marker has none, and asking for one is a caller that skipped
|
|
57
|
+
* `isDeleteMarker`. Reporting that as an error beats handing back nothing,
|
|
58
|
+
* which reads as an empty Object further down.
|
|
59
|
+
*/
|
|
60
|
+
get object() {
|
|
61
|
+
assertDefined(this.stored, `The Object of S3 version ${this.versionId} of ${this.key}, which is a delete marker`);
|
|
62
|
+
return this.stored;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* When this version came into being, in simulated time.
|
|
66
|
+
*
|
|
67
|
+
* A copy, because a Date is mutable and every read of a version hands this
|
|
68
|
+
* one out.
|
|
69
|
+
*/
|
|
70
|
+
get lastModified() {
|
|
71
|
+
return new Date(this.createdAt);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* When this version stopped being the current one, if it has.
|
|
75
|
+
*
|
|
76
|
+
* A `NoncurrentVersionExpiration` counts from here rather than from the
|
|
77
|
+
* write, because a version written a year ago and displaced yesterday has
|
|
78
|
+
* been noncurrent for a day. Real S3 measures it the same way.
|
|
79
|
+
*/
|
|
80
|
+
get noncurrentSince() {
|
|
81
|
+
const displaced = this.displaced;
|
|
82
|
+
return displaced === undefined ? undefined : new Date(displaced);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Record that a newer version has taken this one's place.
|
|
86
|
+
*
|
|
87
|
+
* Only the first displacement counts. Removing the version that displaced
|
|
88
|
+
* this one makes it current again, and a later write displaces it a second
|
|
89
|
+
* time, which real S3 measures from the later of the two.
|
|
90
|
+
*/
|
|
91
|
+
displacedAt(instant) {
|
|
92
|
+
this.displaced = new Date(instant);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Record that this version is current again, which is what removing the
|
|
96
|
+
* version above it does.
|
|
97
|
+
*/
|
|
98
|
+
restored() {
|
|
99
|
+
this.displaced = undefined;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { SimS3ObjectVersion } from "./sim-s3-object-version.js";
|
|
2
|
+
/**
|
|
3
|
+
* The versions one simulated S3 Bucket holds, by key.
|
|
4
|
+
*
|
|
5
|
+
* Each key's versions are kept newest first, which makes the current version
|
|
6
|
+
* the head of the list and keeps a listing in the order real S3 answers in.
|
|
7
|
+
* ListObjectVersions runs through the keys in ascending order and gives each
|
|
8
|
+
* key's versions newest first, so the two orderings together are the whole
|
|
9
|
+
* response shape.
|
|
10
|
+
*/
|
|
11
|
+
export declare class SimS3ObjectVersions {
|
|
12
|
+
private readonly byKey;
|
|
13
|
+
/**
|
|
14
|
+
* Put a version at the head of its key, making it the current one.
|
|
15
|
+
*
|
|
16
|
+
* Whatever was at the head stops being current at that instant, and is told
|
|
17
|
+
* so, because a `NoncurrentVersionExpiration` counts from there.
|
|
18
|
+
*/
|
|
19
|
+
add(version: SimS3ObjectVersion): void;
|
|
20
|
+
/**
|
|
21
|
+
* Put a version at the head of its key, dropping any other version sharing
|
|
22
|
+
* its id first.
|
|
23
|
+
*
|
|
24
|
+
* This is what a write to a suspended Bucket does. Every such write takes
|
|
25
|
+
* the null version id, and real S3 holds one version under that id rather
|
|
26
|
+
* than a run of them, so the new write replaces the old one in place.
|
|
27
|
+
*/
|
|
28
|
+
replace(version: SimS3ObjectVersion): void;
|
|
29
|
+
/**
|
|
30
|
+
* The version a read of this key without a version id answers with.
|
|
31
|
+
*/
|
|
32
|
+
current(key: string): SimS3ObjectVersion | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* Every version of one key, newest first.
|
|
35
|
+
*/
|
|
36
|
+
forKey(key: string): readonly SimS3ObjectVersion[];
|
|
37
|
+
/**
|
|
38
|
+
* One version of one key, by the id it was given.
|
|
39
|
+
*/
|
|
40
|
+
find(key: string, versionId: string): SimS3ObjectVersion | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* Remove one version of one key, answering the version that went.
|
|
43
|
+
*
|
|
44
|
+
* A key left with no versions is dropped rather than kept as an empty list,
|
|
45
|
+
* which is what stops a listing reporting keys nothing is stored under.
|
|
46
|
+
*/
|
|
47
|
+
remove(key: string, versionId: string): SimS3ObjectVersion | undefined;
|
|
48
|
+
/**
|
|
49
|
+
* Every version this Bucket holds, in the order a listing reports them.
|
|
50
|
+
*/
|
|
51
|
+
list(prefix?: string): readonly SimS3ObjectVersion[];
|
|
52
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { compareSimS3Keys } from "./sim-s3-compare-keys.js";
|
|
2
|
+
/**
|
|
3
|
+
* The versions one simulated S3 Bucket holds, by key.
|
|
4
|
+
*
|
|
5
|
+
* Each key's versions are kept newest first, which makes the current version
|
|
6
|
+
* the head of the list and keeps a listing in the order real S3 answers in.
|
|
7
|
+
* ListObjectVersions runs through the keys in ascending order and gives each
|
|
8
|
+
* key's versions newest first, so the two orderings together are the whole
|
|
9
|
+
* response shape.
|
|
10
|
+
*/
|
|
11
|
+
export class SimS3ObjectVersions {
|
|
12
|
+
byKey = new Map();
|
|
13
|
+
/**
|
|
14
|
+
* Put a version at the head of its key, making it the current one.
|
|
15
|
+
*
|
|
16
|
+
* Whatever was at the head stops being current at that instant, and is told
|
|
17
|
+
* so, because a `NoncurrentVersionExpiration` counts from there.
|
|
18
|
+
*/
|
|
19
|
+
add(version) {
|
|
20
|
+
const versions = this.byKey.get(version.key) ?? [];
|
|
21
|
+
versions[0]?.displacedAt(version.lastModified);
|
|
22
|
+
this.byKey.set(version.key, [version, ...versions]);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Put a version at the head of its key, dropping any other version sharing
|
|
26
|
+
* its id first.
|
|
27
|
+
*
|
|
28
|
+
* This is what a write to a suspended Bucket does. Every such write takes
|
|
29
|
+
* the null version id, and real S3 holds one version under that id rather
|
|
30
|
+
* than a run of them, so the new write replaces the old one in place.
|
|
31
|
+
*/
|
|
32
|
+
replace(version) {
|
|
33
|
+
this.remove(version.key, version.versionId);
|
|
34
|
+
this.add(version);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The version a read of this key without a version id answers with.
|
|
38
|
+
*/
|
|
39
|
+
current(key) {
|
|
40
|
+
return this.byKey.get(key)?.[0];
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Every version of one key, newest first.
|
|
44
|
+
*/
|
|
45
|
+
forKey(key) {
|
|
46
|
+
return this.byKey.get(key) ?? [];
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* One version of one key, by the id it was given.
|
|
50
|
+
*/
|
|
51
|
+
find(key, versionId) {
|
|
52
|
+
return this.forKey(key).find((version) => version.versionId === versionId);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Remove one version of one key, answering the version that went.
|
|
56
|
+
*
|
|
57
|
+
* A key left with no versions is dropped rather than kept as an empty list,
|
|
58
|
+
* which is what stops a listing reporting keys nothing is stored under.
|
|
59
|
+
*/
|
|
60
|
+
remove(key, versionId) {
|
|
61
|
+
const versions = this.byKey.get(key);
|
|
62
|
+
if (versions === undefined) {
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
const removed = versions.find((version) => version.versionId === versionId);
|
|
66
|
+
const kept = versions.filter((version) => version.versionId !== versionId);
|
|
67
|
+
if (kept.length === 0) {
|
|
68
|
+
this.byKey.delete(key);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
// Whatever the removal left at the head is current again, and stops
|
|
72
|
+
// counting towards a noncurrent expiry.
|
|
73
|
+
if (removed === versions[0]) {
|
|
74
|
+
kept[0]?.restored();
|
|
75
|
+
}
|
|
76
|
+
this.byKey.set(key, kept);
|
|
77
|
+
}
|
|
78
|
+
return removed;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Every version this Bucket holds, in the order a listing reports them.
|
|
82
|
+
*/
|
|
83
|
+
list(prefix) {
|
|
84
|
+
return this.byKey
|
|
85
|
+
.keys()
|
|
86
|
+
.filter((key) => prefix === undefined || key.startsWith(prefix))
|
|
87
|
+
.toArray()
|
|
88
|
+
.toSorted(compareSimS3Keys)
|
|
89
|
+
.flatMap((key) => this.forKey(key));
|
|
90
|
+
}
|
|
91
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { SimS3ObjectVersion } from "./sim-s3-object-version.js";
|
|
2
|
+
interface SimS3VersionPageRequest {
|
|
3
|
+
readonly versions: readonly SimS3ObjectVersion[];
|
|
4
|
+
readonly maxKeys: number;
|
|
5
|
+
/** The key the previous page ended on, resumed after rather than at. */
|
|
6
|
+
readonly keyMarker?: string | undefined;
|
|
7
|
+
/**
|
|
8
|
+
* The version the previous page ended on, within `keyMarker`. Without one
|
|
9
|
+
* the whole of that key is behind the marker.
|
|
10
|
+
*/
|
|
11
|
+
readonly versionIdMarker?: string | undefined;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* One page of a version listing, and whether the Bucket holds more.
|
|
15
|
+
*/
|
|
16
|
+
export interface SimS3VersionPage {
|
|
17
|
+
readonly versions: readonly SimS3ObjectVersion[];
|
|
18
|
+
readonly isTruncated: boolean;
|
|
19
|
+
/** Where the next page resumes, present exactly when the listing is truncated. */
|
|
20
|
+
readonly nextKeyMarker: string | undefined;
|
|
21
|
+
readonly nextVersionIdMarker: string | undefined;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Take the page of a version listing that a request asked for.
|
|
25
|
+
*
|
|
26
|
+
* The markers are a pair rather than one value, because a key can hold more
|
|
27
|
+
* versions than a page has room for and resuming after the key would skip the
|
|
28
|
+
* rest of them. A `VersionIdMarker` resumes inside its key, and a `KeyMarker`
|
|
29
|
+
* on its own resumes at the key after it.
|
|
30
|
+
*/
|
|
31
|
+
export declare function simS3VersionPage(request: SimS3VersionPageRequest): SimS3VersionPage;
|
|
32
|
+
export {};
|