@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
|
@@ -3,6 +3,8 @@ import { assertDefined } from "../../../../util/type-guard/defined.js";
|
|
|
3
3
|
import { SimIamAllowAllAuth, } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
4
4
|
import { requireSimS3Bucket } from "../require-sim-s3-bucket.js";
|
|
5
5
|
import { DeleteObjectAuthorizer } from "./delete-object-authorizer.js";
|
|
6
|
+
import { DeleteObjectVersionRemoval } from "./delete-object-version-removal.js";
|
|
7
|
+
import { simS3NotifyDeleted } from "./sim-s3-notify-deleted.js";
|
|
6
8
|
/**
|
|
7
9
|
* Simulated S3 DeleteObjectCommand handler.
|
|
8
10
|
*
|
|
@@ -13,40 +15,50 @@ export class DeleteObjectCommandHandler {
|
|
|
13
15
|
authorizer;
|
|
14
16
|
background;
|
|
15
17
|
notifications;
|
|
18
|
+
versionRemoval;
|
|
16
19
|
constructor(properties) {
|
|
17
20
|
const { buckets, iam = new SimIamAllowAllAuth(), background = new BackgroundTasks(), } = properties;
|
|
18
21
|
this.buckets = buckets;
|
|
19
22
|
this.authorizer = new DeleteObjectAuthorizer({ iam });
|
|
20
23
|
this.background = background;
|
|
21
24
|
this.notifications = properties.notifications;
|
|
25
|
+
this.versionRemoval = new DeleteObjectVersionRemoval({
|
|
26
|
+
notifications: properties.notifications,
|
|
27
|
+
iam,
|
|
28
|
+
});
|
|
22
29
|
}
|
|
23
30
|
/**
|
|
24
31
|
* Authorize and remove an Object from a Bucket.
|
|
25
32
|
*
|
|
26
|
-
* A missing Bucket is reported, but a missing key is not
|
|
33
|
+
* A missing Bucket is reported, but a missing key is not. Real S3 answers a
|
|
27
34
|
* deletion the same way whether or not the Object was there, so code that
|
|
28
35
|
* deletes something twice sees the same success both times.
|
|
36
|
+
*
|
|
37
|
+
* A `VersionId` asks for that one version and removes it for good. A request
|
|
38
|
+
* without one asks for the current version, which a versioned Bucket answers
|
|
39
|
+
* by writing a delete marker over it. Object Lock holds a named version and
|
|
40
|
+
* never the marker, since a marker hides an Object without losing it.
|
|
29
41
|
*/
|
|
30
42
|
async handle(command, options) {
|
|
31
|
-
|
|
32
|
-
assertDefined(
|
|
33
|
-
|
|
34
|
-
const bucket = requireSimS3Bucket(this.buckets,
|
|
43
|
+
const { Bucket, Key, VersionId, BypassGovernanceRetention } = command.input;
|
|
44
|
+
assertDefined(Bucket, "DeleteObjectCommand.input.Bucket");
|
|
45
|
+
assertDefined(Key, "DeleteObjectCommand.input.Key");
|
|
46
|
+
const bucket = requireSimS3Bucket(this.buckets, Bucket);
|
|
35
47
|
await this.background.sequence();
|
|
36
|
-
const caller = this.authorizer.authorize(bucket,
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
// ObjectRemoved for an Object that was deleted, not for a request to
|
|
40
|
-
// delete one.
|
|
41
|
-
if (removed) {
|
|
42
|
-
this.notifications.objectRemoved({
|
|
48
|
+
const caller = this.authorizer.authorize(bucket, Key, options);
|
|
49
|
+
if (VersionId !== undefined) {
|
|
50
|
+
return await this.versionRemoval.remove({
|
|
43
51
|
bucket,
|
|
44
|
-
key:
|
|
52
|
+
key: Key,
|
|
53
|
+
versionId: VersionId,
|
|
45
54
|
caller,
|
|
55
|
+
bypassGovernance: BypassGovernanceRetention,
|
|
56
|
+
options,
|
|
46
57
|
});
|
|
47
58
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
};
|
|
59
|
+
const deletion = await bucket.deleteObject(Key);
|
|
60
|
+
const notifications = this.notifications;
|
|
61
|
+
simS3NotifyDeleted({ notifications, bucket, key: Key, caller, deletion });
|
|
62
|
+
return { ...deletion.reported, $metadata: {} };
|
|
51
63
|
}
|
|
52
64
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { SimAwsResolvedCaller } from "../../../aws/caller/sim-aws-caller-resolver.js";
|
|
2
|
+
import type { SimS3Bucket } from "../../bucket/sim-s3-bucket.js";
|
|
3
|
+
import type { SimS3ObjectDeletion } from "../../bucket/sim-s3-object-deletion.js";
|
|
4
|
+
import type { SimS3ObjectNotifier } from "../../notification/sim-s3-object-notifier.js";
|
|
5
|
+
interface SimS3NotifyDeletedProperties {
|
|
6
|
+
readonly notifications: SimS3ObjectNotifier;
|
|
7
|
+
readonly bucket: SimS3Bucket;
|
|
8
|
+
readonly key: string;
|
|
9
|
+
readonly caller: SimAwsResolvedCaller;
|
|
10
|
+
readonly deletion: SimS3ObjectDeletion;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Raise the event a delete earned, if it earned one.
|
|
14
|
+
*
|
|
15
|
+
* Three outcomes and three different events, which is why every delete path
|
|
16
|
+
* comes through here rather than deciding for itself. A versioned Bucket wrote
|
|
17
|
+
* a marker, so the event is `s3:ObjectRemoved:DeleteMarkerCreated` and carries
|
|
18
|
+
* the marker's version id. A Bucket without versioning lost the Object, so it
|
|
19
|
+
* is `s3:ObjectRemoved:Delete`. A delete that removed nothing raises neither,
|
|
20
|
+
* because real S3 raises ObjectRemoved for an Object that was deleted rather
|
|
21
|
+
* than for a request to delete one.
|
|
22
|
+
*/
|
|
23
|
+
export declare function simS3NotifyDeleted(properties: SimS3NotifyDeletedProperties): void;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Raise the event a delete earned, if it earned one.
|
|
3
|
+
*
|
|
4
|
+
* Three outcomes and three different events, which is why every delete path
|
|
5
|
+
* comes through here rather than deciding for itself. A versioned Bucket wrote
|
|
6
|
+
* a marker, so the event is `s3:ObjectRemoved:DeleteMarkerCreated` and carries
|
|
7
|
+
* the marker's version id. A Bucket without versioning lost the Object, so it
|
|
8
|
+
* is `s3:ObjectRemoved:Delete`. A delete that removed nothing raises neither,
|
|
9
|
+
* because real S3 raises ObjectRemoved for an Object that was deleted rather
|
|
10
|
+
* than for a request to delete one.
|
|
11
|
+
*/
|
|
12
|
+
export function simS3NotifyDeleted(properties) {
|
|
13
|
+
const { notifications, bucket, key, caller, deletion } = properties;
|
|
14
|
+
if (deletion.deleteMarker !== undefined) {
|
|
15
|
+
notifications.objectRemoved({
|
|
16
|
+
bucket,
|
|
17
|
+
key,
|
|
18
|
+
caller,
|
|
19
|
+
eventName: "s3:ObjectRemoved:DeleteMarkerCreated",
|
|
20
|
+
versionId: deletion.deleteMarker.versionId,
|
|
21
|
+
});
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (deletion.removedObject) {
|
|
25
|
+
notifications.objectRemoved({
|
|
26
|
+
bucket,
|
|
27
|
+
key,
|
|
28
|
+
caller,
|
|
29
|
+
eventName: "s3:ObjectRemoved:Delete",
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
+
import type { SimS3ObjectVersion } from "../../bucket/versioning/sim-s3-object-version.js";
|
|
1
2
|
/**
|
|
2
3
|
* What one key of a DeleteObjects request came to.
|
|
3
4
|
*
|
|
4
5
|
* A batch deletion carries on past a key it could not remove, so the failure
|
|
5
|
-
* travels with the key it belongs to rather than being raised.
|
|
6
|
+
* travels with the key it belongs to rather than being raised. So does the
|
|
7
|
+
* delete marker, which a versioned Bucket reports per key alongside the id it
|
|
8
|
+
* was written under.
|
|
6
9
|
*/
|
|
7
10
|
export declare class DeleteObjectAttempt {
|
|
8
11
|
readonly key: string;
|
|
9
12
|
readonly error: unknown;
|
|
10
|
-
|
|
13
|
+
readonly deleteMarker: SimS3ObjectVersion | undefined;
|
|
14
|
+
constructor(key: string, error?: unknown, deleteMarker?: SimS3ObjectVersion);
|
|
11
15
|
}
|
|
@@ -2,13 +2,17 @@
|
|
|
2
2
|
* What one key of a DeleteObjects request came to.
|
|
3
3
|
*
|
|
4
4
|
* A batch deletion carries on past a key it could not remove, so the failure
|
|
5
|
-
* travels with the key it belongs to rather than being raised.
|
|
5
|
+
* travels with the key it belongs to rather than being raised. So does the
|
|
6
|
+
* delete marker, which a versioned Bucket reports per key alongside the id it
|
|
7
|
+
* was written under.
|
|
6
8
|
*/
|
|
7
9
|
export class DeleteObjectAttempt {
|
|
8
10
|
key;
|
|
9
11
|
error;
|
|
10
|
-
|
|
12
|
+
deleteMarker;
|
|
13
|
+
constructor(key, error, deleteMarker) {
|
|
11
14
|
this.key = key;
|
|
12
15
|
this.error = error;
|
|
16
|
+
this.deleteMarker = deleteMarker;
|
|
13
17
|
}
|
|
14
18
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { DeleteObjectAuthorizer } from "../delete-object/delete-object-authorizer.js";
|
|
2
2
|
import { DeleteObjectAttempt } from "./delete-object-attempt.js";
|
|
3
|
+
import { simS3NotifyDeleted } from "../delete-object/sim-s3-notify-deleted.js";
|
|
3
4
|
/**
|
|
4
5
|
* Removes one key of a batch deletion.
|
|
5
6
|
*
|
|
@@ -21,15 +22,15 @@ export class DeleteObjectsKeyRemoval {
|
|
|
21
22
|
async remove(bucket, key, options) {
|
|
22
23
|
try {
|
|
23
24
|
const resolvedCaller = this.authorizer.authorize(bucket, key, options);
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
this.notifications
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
return new DeleteObjectAttempt(key);
|
|
25
|
+
const deletion = await bucket.deleteObject(key);
|
|
26
|
+
simS3NotifyDeleted({
|
|
27
|
+
notifications: this.notifications,
|
|
28
|
+
bucket,
|
|
29
|
+
key,
|
|
30
|
+
caller: resolvedCaller,
|
|
31
|
+
deletion,
|
|
32
|
+
});
|
|
33
|
+
return new DeleteObjectAttempt(key, undefined, deletion.deleteMarker);
|
|
33
34
|
}
|
|
34
35
|
catch (error) {
|
|
35
36
|
return new DeleteObjectAttempt(key, error);
|
|
@@ -33,7 +33,15 @@ export class DeleteObjectsOutcome {
|
|
|
33
33
|
*/
|
|
34
34
|
record(attempt) {
|
|
35
35
|
if (attempt.error === undefined) {
|
|
36
|
-
this.deleted.push({
|
|
36
|
+
this.deleted.push({
|
|
37
|
+
Key: attempt.key,
|
|
38
|
+
// Reported per key, as real S3 does, so a caller can tell which keys
|
|
39
|
+
// of the batch were hidden behind a marker rather than removed.
|
|
40
|
+
...(attempt.deleteMarker !== undefined && {
|
|
41
|
+
DeleteMarker: true,
|
|
42
|
+
DeleteMarkerVersionId: attempt.deleteMarker.versionId,
|
|
43
|
+
}),
|
|
44
|
+
});
|
|
37
45
|
return;
|
|
38
46
|
}
|
|
39
47
|
this.recordFailure(attempt.key, attempt.error);
|
|
@@ -38,9 +38,15 @@ export interface SimDeleteObjectsCommandOutput {
|
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
40
40
|
* One Object a DeleteObjects request removed.
|
|
41
|
+
*
|
|
42
|
+
* A versioned Bucket hides the Object behind a marker instead of removing it,
|
|
43
|
+
* and reports the marker it wrote under `DeleteMarker` and
|
|
44
|
+
* `DeleteMarkerVersionId`. A Bucket without versioning carries neither.
|
|
41
45
|
*/
|
|
42
46
|
export interface SimS3DeletedObject {
|
|
43
47
|
readonly Key: string;
|
|
48
|
+
readonly DeleteMarker?: boolean | undefined;
|
|
49
|
+
readonly DeleteMarkerVersionId?: string | undefined;
|
|
44
50
|
}
|
|
45
51
|
/**
|
|
46
52
|
* One Object a DeleteObjects request could not remove.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { SimResponseMetadata } from "../../../aws/metadata/response-metadata.type.js";
|
|
2
|
+
/**
|
|
3
|
+
* Minimal structural sim S3 GetBucketVersioning command.
|
|
4
|
+
*/
|
|
5
|
+
export interface SimGetBucketVersioningCommand {
|
|
6
|
+
readonly input: SimGetBucketVersioningCommandInput;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Minimal structural sim S3 GetBucketVersioning input.
|
|
10
|
+
*/
|
|
11
|
+
export interface SimGetBucketVersioningCommandInput {
|
|
12
|
+
readonly Bucket?: string | undefined;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Minimal structural sim S3 GetBucketVersioning output.
|
|
16
|
+
*
|
|
17
|
+
* A Bucket nobody has configured answers with neither field, which is how real
|
|
18
|
+
* S3 separates an unversioned Bucket from a suspended one.
|
|
19
|
+
*/
|
|
20
|
+
export interface SimGetBucketVersioningCommandOutput {
|
|
21
|
+
readonly Status?: "Enabled" | "Suspended" | undefined;
|
|
22
|
+
readonly $metadata: SimResponseMetadata;
|
|
23
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { CommandHandler } from "../../../../command/command-handler.js";
|
|
2
|
+
import { type BackgroundScheduler } from "../../../../util/background/background.js";
|
|
3
|
+
import { type SimIamInterServiceAuthZ } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
4
|
+
import type { SimS3Bucket, SimS3BucketName } from "../../bucket/sim-s3-bucket.js";
|
|
5
|
+
import type { SimS3RequestOptions } from "../sim-s3-request-options.js";
|
|
6
|
+
import type { SimGetBucketVersioningCommand, SimGetBucketVersioningCommandOutput } from "./get-bucket-versioning.command.js";
|
|
7
|
+
interface GetBucketVersioningHandlerProperties {
|
|
8
|
+
readonly buckets: Map<SimS3BucketName, SimS3Bucket>;
|
|
9
|
+
readonly iam?: SimIamInterServiceAuthZ;
|
|
10
|
+
readonly background?: BackgroundScheduler;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Simulated S3 GetBucketVersioningCommand handler.
|
|
14
|
+
*
|
|
15
|
+
* https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3/command/GetBucketVersioningCommand/
|
|
16
|
+
*/
|
|
17
|
+
export declare class GetBucketVersioningCommandHandler implements CommandHandler<SimGetBucketVersioningCommand, SimGetBucketVersioningCommandOutput> {
|
|
18
|
+
private readonly buckets;
|
|
19
|
+
private readonly authorizer;
|
|
20
|
+
private readonly background;
|
|
21
|
+
constructor(properties: GetBucketVersioningHandlerProperties);
|
|
22
|
+
/**
|
|
23
|
+
* Authorize and report how a Bucket is versioned.
|
|
24
|
+
*
|
|
25
|
+
* A Bucket nobody has configured answers with an empty response rather than
|
|
26
|
+
* an error, which is how real S3 reports one and what distinguishes it from
|
|
27
|
+
* a Bucket whose versioning was suspended.
|
|
28
|
+
*/
|
|
29
|
+
handle(command: SimGetBucketVersioningCommand, options?: SimS3RequestOptions): Promise<SimGetBucketVersioningCommandOutput>;
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { BackgroundTasks, } from "../../../../util/background/background.js";
|
|
2
|
+
import { assertDefined } from "../../../../util/type-guard/defined.js";
|
|
3
|
+
import { SimIamAllowAllAuth, } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
4
|
+
import { requireSimS3Bucket } from "../require-sim-s3-bucket.js";
|
|
5
|
+
import { SimS3VersioningAuthorizer } from "../versioning/sim-s3-versioning-authorizer.js";
|
|
6
|
+
/**
|
|
7
|
+
* Simulated S3 GetBucketVersioningCommand handler.
|
|
8
|
+
*
|
|
9
|
+
* https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3/command/GetBucketVersioningCommand/
|
|
10
|
+
*/
|
|
11
|
+
export class GetBucketVersioningCommandHandler {
|
|
12
|
+
buckets;
|
|
13
|
+
authorizer;
|
|
14
|
+
background;
|
|
15
|
+
constructor(properties) {
|
|
16
|
+
const { buckets, iam = new SimIamAllowAllAuth(), background = new BackgroundTasks(), } = properties;
|
|
17
|
+
this.buckets = buckets;
|
|
18
|
+
this.authorizer = new SimS3VersioningAuthorizer({ iam });
|
|
19
|
+
this.background = background;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Authorize and report how a Bucket is versioned.
|
|
23
|
+
*
|
|
24
|
+
* A Bucket nobody has configured answers with an empty response rather than
|
|
25
|
+
* an error, which is how real S3 reports one and what distinguishes it from
|
|
26
|
+
* a Bucket whose versioning was suspended.
|
|
27
|
+
*/
|
|
28
|
+
async handle(command, options) {
|
|
29
|
+
assertDefined(command.input.Bucket, "GetBucketVersioningCommand.input.Bucket");
|
|
30
|
+
const bucketName = command.input.Bucket;
|
|
31
|
+
const bucket = requireSimS3Bucket(this.buckets, bucketName);
|
|
32
|
+
await this.background.sequence();
|
|
33
|
+
this.authorizer.authorizeRead(bucket, options);
|
|
34
|
+
const status = bucket.getVersions().configuration.status;
|
|
35
|
+
return {
|
|
36
|
+
...(status !== undefined && { Status: status }),
|
|
37
|
+
$metadata: {},
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -10,7 +10,8 @@ import type { SimGetObjectCommandOutput } from "./get-object.command.js";
|
|
|
10
10
|
* This class owns both storage lookup and response conversion because the SDK
|
|
11
11
|
* response is a representation of the stored Object:
|
|
12
12
|
*
|
|
13
|
-
* - a missing storage entry becomes the S3 NoSuchKey error
|
|
13
|
+
* - a missing storage entry becomes the S3 NoSuchKey error, and a `VersionId`
|
|
14
|
+
* naming a version the Bucket never issued becomes NoSuchVersion;
|
|
14
15
|
* - the stored Buffer, or the part of it the read asked for, becomes the
|
|
15
16
|
* readable response body;
|
|
16
17
|
* - what S3 was told about the Object becomes the response's own fields, and
|
|
@@ -25,5 +26,5 @@ export declare class GetObjectLoader {
|
|
|
25
26
|
* Read an Object, or the range of it that was asked for, from the resolved
|
|
26
27
|
* Bucket, and build its SDK command output.
|
|
27
28
|
*/
|
|
28
|
-
load(bucket: SimS3Bucket, key: string, rangeHeader?: string): Promise<SimGetObjectCommandOutput>;
|
|
29
|
+
load(bucket: SimS3Bucket, key: string, rangeHeader?: string, versionId?: string): Promise<SimGetObjectCommandOutput>;
|
|
29
30
|
}
|
|
@@ -2,6 +2,7 @@ import { Readable } from "node:stream";
|
|
|
2
2
|
import { SimS3NoSuchKey } from "../../error/sim-s3.error.js";
|
|
3
3
|
import { simS3QuotedETag } from "../../object/s3-object-etag.js";
|
|
4
4
|
import { simS3ContentRange, simS3ReadObjectRange, } from "../../object/s3-object-range.js";
|
|
5
|
+
import { simS3ReadObjectVersion } from "../object/sim-s3-read-object-version.js";
|
|
5
6
|
/**
|
|
6
7
|
* Loads an authorized S3 Object and converts it to a GetObject response.
|
|
7
8
|
*
|
|
@@ -12,7 +13,8 @@ import { simS3ContentRange, simS3ReadObjectRange, } from "../../object/s3-object
|
|
|
12
13
|
* This class owns both storage lookup and response conversion because the SDK
|
|
13
14
|
* response is a representation of the stored Object:
|
|
14
15
|
*
|
|
15
|
-
* - a missing storage entry becomes the S3 NoSuchKey error
|
|
16
|
+
* - a missing storage entry becomes the S3 NoSuchKey error, and a `VersionId`
|
|
17
|
+
* naming a version the Bucket never issued becomes NoSuchVersion;
|
|
16
18
|
* - the stored Buffer, or the part of it the read asked for, becomes the
|
|
17
19
|
* readable response body;
|
|
18
20
|
* - what S3 was told about the Object becomes the response's own fields, and
|
|
@@ -27,11 +29,12 @@ export class GetObjectLoader {
|
|
|
27
29
|
* Read an Object, or the range of it that was asked for, from the resolved
|
|
28
30
|
* Bucket, and build its SDK command output.
|
|
29
31
|
*/
|
|
30
|
-
async load(bucket, key, rangeHeader) {
|
|
31
|
-
const
|
|
32
|
-
if (
|
|
32
|
+
async load(bucket, key, rangeHeader, versionId) {
|
|
33
|
+
const read = await simS3ReadObjectVersion(bucket, key, versionId);
|
|
34
|
+
if (read === undefined) {
|
|
33
35
|
throw new SimS3NoSuchKey(`No S3 Object named ${key}`);
|
|
34
36
|
}
|
|
37
|
+
const object = read.object;
|
|
35
38
|
const size = object.body.length;
|
|
36
39
|
const range = simS3ReadObjectRange(rangeHeader, size);
|
|
37
40
|
const body = range === undefined
|
|
@@ -47,6 +50,8 @@ export class GetObjectLoader {
|
|
|
47
50
|
ETag: simS3QuotedETag(object.etag),
|
|
48
51
|
LastModified: object.lastModified,
|
|
49
52
|
ContentLength: body.length,
|
|
53
|
+
...(read.versionId !== undefined && { VersionId: read.versionId }),
|
|
54
|
+
...read.lock?.reported,
|
|
50
55
|
...(range !== undefined && {
|
|
51
56
|
ContentRange: simS3ContentRange(range, size),
|
|
52
57
|
}),
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Readable } from "node:stream";
|
|
2
2
|
import type { SimResponseMetadata } from "../../../aws/metadata/response-metadata.type.js";
|
|
3
|
+
import type { SimS3ObjectLockOutput } from "../../bucket/lock/sim-s3-object-lock-output.js";
|
|
3
4
|
import type { SimS3SystemMetadataOutput } from "../../object/s3-system-metadata-read.js";
|
|
4
5
|
/**
|
|
5
6
|
* Minimal structural sim S3 GetObject command.
|
|
@@ -19,6 +20,11 @@ export interface SimGetObjectCommandInput {
|
|
|
19
20
|
* Object.
|
|
20
21
|
*/
|
|
21
22
|
readonly Range?: string | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* The version to read. A request naming none reads the current version, and
|
|
25
|
+
* a Bucket keeping no versions answers the Object under the key.
|
|
26
|
+
*/
|
|
27
|
+
readonly VersionId?: string | undefined;
|
|
22
28
|
}
|
|
23
29
|
/**
|
|
24
30
|
* Minimal structural sim S3 GetObject output.
|
|
@@ -35,12 +41,14 @@ export interface SimGetObjectCommandInput {
|
|
|
35
41
|
* when it was written. `Metadata` is what the caller attached to it, and holds
|
|
36
42
|
* nothing else.
|
|
37
43
|
*/
|
|
38
|
-
export interface SimGetObjectCommandOutput extends SimS3SystemMetadataOutput {
|
|
44
|
+
export interface SimGetObjectCommandOutput extends SimS3SystemMetadataOutput, SimS3ObjectLockOutput {
|
|
39
45
|
readonly Body?: Readable;
|
|
40
46
|
readonly Metadata?: Record<string, string>;
|
|
41
47
|
readonly ETag?: string;
|
|
42
48
|
readonly LastModified?: Date;
|
|
43
49
|
readonly ContentLength?: number;
|
|
44
50
|
readonly ContentRange?: string;
|
|
51
|
+
/** The version read, on a Bucket keeping versions. */
|
|
52
|
+
readonly VersionId?: string | undefined;
|
|
45
53
|
readonly $metadata: SimResponseMetadata;
|
|
46
54
|
}
|
|
@@ -45,6 +45,6 @@ export class GetObjectCommandHandler {
|
|
|
45
45
|
// Complete request sequencing before authorization and storage access.
|
|
46
46
|
await this.background.sequence();
|
|
47
47
|
this.authorizer.authorize(bucket, command.input.Key, options);
|
|
48
|
-
return await this.loader.load(bucket, command.input.Key, command.input.Range);
|
|
48
|
+
return await this.loader.load(bucket, command.input.Key, command.input.Range, command.input.VersionId);
|
|
49
49
|
}
|
|
50
50
|
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { SimResponseMetadata } from "../../../aws/metadata/response-metadata.type.js";
|
|
2
|
+
import type { SimS3ObjectLockConfigurationInput } from "../../bucket/lock/sim-s3-object-lock-configuration.js";
|
|
3
|
+
/**
|
|
4
|
+
* Minimal structural sim S3 GetObjectLockConfiguration command.
|
|
5
|
+
*/
|
|
6
|
+
export interface SimGetObjectLockConfigurationCommand {
|
|
7
|
+
readonly input: SimGetObjectLockConfigurationCommandInput;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Minimal structural sim S3 GetObjectLockConfiguration input.
|
|
11
|
+
*/
|
|
12
|
+
export interface SimGetObjectLockConfigurationCommandInput {
|
|
13
|
+
readonly Bucket?: string | undefined;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Minimal structural sim S3 GetObjectLockConfiguration output.
|
|
17
|
+
*
|
|
18
|
+
* A Bucket that has never had Object Lock answers with
|
|
19
|
+
* `ObjectLockConfigurationNotFoundError` rather than an empty configuration,
|
|
20
|
+
* so this always carries one.
|
|
21
|
+
*/
|
|
22
|
+
export interface SimGetObjectLockConfigurationCommandOutput {
|
|
23
|
+
readonly ObjectLockConfiguration: SimS3ObjectLockConfigurationInput;
|
|
24
|
+
readonly $metadata: SimResponseMetadata;
|
|
25
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { CommandHandler } from "../../../../command/command-handler.js";
|
|
2
|
+
import { type BackgroundScheduler } from "../../../../util/background/background.js";
|
|
3
|
+
import { type SimIamInterServiceAuthZ } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
4
|
+
import type { SimS3Bucket, SimS3BucketName } from "../../bucket/sim-s3-bucket.js";
|
|
5
|
+
import type { SimS3RequestOptions } from "../sim-s3-request-options.js";
|
|
6
|
+
import type { SimGetObjectLockConfigurationCommand, SimGetObjectLockConfigurationCommandOutput } from "./get-object-lock-configuration.command.js";
|
|
7
|
+
interface GetObjectLockConfigurationHandlerProperties {
|
|
8
|
+
readonly buckets: Map<SimS3BucketName, SimS3Bucket>;
|
|
9
|
+
readonly iam?: SimIamInterServiceAuthZ;
|
|
10
|
+
readonly background?: BackgroundScheduler;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Simulated S3 GetObjectLockConfigurationCommand handler.
|
|
14
|
+
*
|
|
15
|
+
* https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3/command/GetObjectLockConfigurationCommand/
|
|
16
|
+
*/
|
|
17
|
+
export declare class GetObjectLockConfigurationCommandHandler implements CommandHandler<SimGetObjectLockConfigurationCommand, SimGetObjectLockConfigurationCommandOutput> {
|
|
18
|
+
private readonly buckets;
|
|
19
|
+
private readonly authorizer;
|
|
20
|
+
private readonly background;
|
|
21
|
+
constructor(properties: GetObjectLockConfigurationHandlerProperties);
|
|
22
|
+
/**
|
|
23
|
+
* Report how a Bucket is locked.
|
|
24
|
+
*
|
|
25
|
+
* A Bucket that has never had Object Lock is answered with
|
|
26
|
+
* `ObjectLockConfigurationNotFoundError`, as real S3 answers one, rather
|
|
27
|
+
* than with a configuration saying it is off.
|
|
28
|
+
*/
|
|
29
|
+
handle(command: SimGetObjectLockConfigurationCommand, options?: SimS3RequestOptions): Promise<SimGetObjectLockConfigurationCommandOutput>;
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { BackgroundTasks, } from "../../../../util/background/background.js";
|
|
2
|
+
import { assertDefined } from "../../../../util/type-guard/defined.js";
|
|
3
|
+
import { SimIamAllowAllAuth, } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
4
|
+
import { SimS3ObjectLockConfigurationNotFound } from "../../error/sim-s3-object-lock.error.js";
|
|
5
|
+
import { SimS3ObjectLockAuthorizer } from "../object-lock/sim-s3-object-lock-authorizer.js";
|
|
6
|
+
import { requireSimS3Bucket } from "../require-sim-s3-bucket.js";
|
|
7
|
+
/**
|
|
8
|
+
* Simulated S3 GetObjectLockConfigurationCommand handler.
|
|
9
|
+
*
|
|
10
|
+
* https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3/command/GetObjectLockConfigurationCommand/
|
|
11
|
+
*/
|
|
12
|
+
export class GetObjectLockConfigurationCommandHandler {
|
|
13
|
+
buckets;
|
|
14
|
+
authorizer;
|
|
15
|
+
background;
|
|
16
|
+
constructor(properties) {
|
|
17
|
+
const { buckets, iam = new SimIamAllowAllAuth(), background = new BackgroundTasks(), } = properties;
|
|
18
|
+
this.buckets = buckets;
|
|
19
|
+
this.authorizer = new SimS3ObjectLockAuthorizer({ iam });
|
|
20
|
+
this.background = background;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Report how a Bucket is locked.
|
|
24
|
+
*
|
|
25
|
+
* A Bucket that has never had Object Lock is answered with
|
|
26
|
+
* `ObjectLockConfigurationNotFoundError`, as real S3 answers one, rather
|
|
27
|
+
* than with a configuration saying it is off.
|
|
28
|
+
*/
|
|
29
|
+
async handle(command, options) {
|
|
30
|
+
const { Bucket } = command.input;
|
|
31
|
+
assertDefined(Bucket, "GetObjectLockConfigurationCommand.input.Bucket");
|
|
32
|
+
const bucket = requireSimS3Bucket(this.buckets, Bucket);
|
|
33
|
+
await this.background.sequence();
|
|
34
|
+
this.authorizer.authorizeReadConfiguration(bucket, options);
|
|
35
|
+
const configuration = bucket.getObjectLock().configuration;
|
|
36
|
+
if (configuration === undefined) {
|
|
37
|
+
throw new SimS3ObjectLockConfigurationNotFound(`S3 Bucket ${Bucket} does not have an Object Lock configuration`);
|
|
38
|
+
}
|
|
39
|
+
return { ObjectLockConfiguration: configuration.reported, $metadata: {} };
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -12,5 +12,5 @@ export declare class HeadObjectLoader {
|
|
|
12
12
|
/**
|
|
13
13
|
* Describe an Object in the resolved Bucket.
|
|
14
14
|
*/
|
|
15
|
-
describe(bucket: SimS3Bucket, key: string): Promise<SimHeadObjectCommandOutput>;
|
|
15
|
+
describe(bucket: SimS3Bucket, key: string, versionId?: string): Promise<SimHeadObjectCommandOutput>;
|
|
16
16
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { SimS3NotFound } from "../../error/sim-s3.error.js";
|
|
2
2
|
import { simS3QuotedETag } from "../../object/s3-object-etag.js";
|
|
3
|
+
import { simS3ReadObjectVersion } from "../object/sim-s3-read-object-version.js";
|
|
3
4
|
/**
|
|
4
5
|
* Describes an authorized S3 Object without reading it out.
|
|
5
6
|
*
|
|
@@ -12,17 +13,20 @@ export class HeadObjectLoader {
|
|
|
12
13
|
/**
|
|
13
14
|
* Describe an Object in the resolved Bucket.
|
|
14
15
|
*/
|
|
15
|
-
async describe(bucket, key) {
|
|
16
|
-
const
|
|
17
|
-
if (
|
|
16
|
+
async describe(bucket, key, versionId) {
|
|
17
|
+
const read = await simS3ReadObjectVersion(bucket, key, versionId);
|
|
18
|
+
if (read === undefined) {
|
|
18
19
|
throw new SimS3NotFound(`No S3 Object named ${key}`);
|
|
19
20
|
}
|
|
21
|
+
const object = read.object;
|
|
20
22
|
return {
|
|
21
23
|
...object.metadata.system,
|
|
22
24
|
ContentLength: object.body.length,
|
|
23
25
|
Metadata: object.metadata.userDefined,
|
|
24
26
|
ETag: simS3QuotedETag(object.etag),
|
|
25
27
|
LastModified: object.lastModified,
|
|
28
|
+
...(read.versionId !== undefined && { VersionId: read.versionId }),
|
|
29
|
+
...read.lock?.reported,
|
|
26
30
|
$metadata: {},
|
|
27
31
|
};
|
|
28
32
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { SimResponseMetadata } from "../../../aws/metadata/response-metadata.type.js";
|
|
2
|
+
import type { SimS3ObjectLockOutput } from "../../bucket/lock/sim-s3-object-lock-output.js";
|
|
2
3
|
import type { SimS3SystemMetadataOutput } from "../../object/s3-system-metadata-read.js";
|
|
3
4
|
/**
|
|
4
5
|
* Minimal structural sim S3 HeadObject command.
|
|
@@ -12,6 +13,11 @@ export interface SimHeadObjectCommand {
|
|
|
12
13
|
export interface SimHeadObjectCommandInput {
|
|
13
14
|
readonly Bucket?: string | undefined;
|
|
14
15
|
readonly Key?: string | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* The version to read. A request naming none reads the current version, and
|
|
18
|
+
* a Bucket keeping no versions answers the Object under the key.
|
|
19
|
+
*/
|
|
20
|
+
readonly VersionId?: string | undefined;
|
|
15
21
|
}
|
|
16
22
|
/**
|
|
17
23
|
* Minimal structural sim S3 HeadObject output.
|
|
@@ -20,10 +26,12 @@ export interface SimHeadObjectCommandInput {
|
|
|
20
26
|
* the Object itself, so this is a GetObject output without its body and with
|
|
21
27
|
* the length that body would have had.
|
|
22
28
|
*/
|
|
23
|
-
export interface SimHeadObjectCommandOutput extends SimS3SystemMetadataOutput {
|
|
29
|
+
export interface SimHeadObjectCommandOutput extends SimS3SystemMetadataOutput, SimS3ObjectLockOutput {
|
|
24
30
|
readonly ContentLength?: number;
|
|
25
31
|
readonly Metadata?: Record<string, string>;
|
|
26
32
|
readonly ETag?: string;
|
|
27
33
|
readonly LastModified?: Date;
|
|
34
|
+
/** The version described, on a Bucket keeping versions. */
|
|
35
|
+
readonly VersionId?: string | undefined;
|
|
28
36
|
readonly $metadata: SimResponseMetadata;
|
|
29
37
|
}
|
|
@@ -44,6 +44,6 @@ export class HeadObjectCommandHandler {
|
|
|
44
44
|
// Authorization runs before the key is looked up, so a denied caller
|
|
45
45
|
// cannot learn whether an Object exists.
|
|
46
46
|
this.authorizer.authorize(bucket, command.input.Key, options);
|
|
47
|
-
return await this.loader.describe(bucket, command.input.Key);
|
|
47
|
+
return await this.loader.describe(bucket, command.input.Key, command.input.VersionId);
|
|
48
48
|
}
|
|
49
49
|
}
|