@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,102 @@
|
|
|
1
|
+
import { SimS3InvalidRequest } from "../../error/sim-s3.error.js";
|
|
2
|
+
import { SimS3ObjectRetention } from "./sim-s3-object-retention.js";
|
|
3
|
+
import { simS3RetentionMode } from "./sim-s3-default-retention.js";
|
|
4
|
+
const millisecondsPerDay = 86_400_000;
|
|
5
|
+
const daysPerYear = 365;
|
|
6
|
+
/**
|
|
7
|
+
* The longest default retention real S3 takes, which is a hundred years.
|
|
8
|
+
*
|
|
9
|
+
* An unbounded one would compute a `RetainUntilDate` past the range a
|
|
10
|
+
* JavaScript Date holds, and a version retained until an instant that reads
|
|
11
|
+
* back as `NaN` is a version nothing is holding at all.
|
|
12
|
+
*/
|
|
13
|
+
const maximumRetentionDays = 100 * daysPerYear;
|
|
14
|
+
/** The one value `ObjectLockEnabled` takes. Real S3 has no way to turn it off. */
|
|
15
|
+
export const simS3ObjectLockEnabled = "Enabled";
|
|
16
|
+
/**
|
|
17
|
+
* How one simulated S3 Bucket is locked, and for how long by default.
|
|
18
|
+
*
|
|
19
|
+
* A Bucket either has Object Lock turned on or has never had it. Real S3 has
|
|
20
|
+
* no request that turns it off again, which is what lets a reader's history be
|
|
21
|
+
* promised rather than merely configured.
|
|
22
|
+
*
|
|
23
|
+
* The default retention is optional. A Bucket with Object Lock on and no
|
|
24
|
+
* default locks nothing on its own, and every version it holds is retained
|
|
25
|
+
* only by the requests that name it. A Bucket with one retains every version
|
|
26
|
+
* written after it, counted from the write.
|
|
27
|
+
*/
|
|
28
|
+
export class SimS3ObjectLockConfiguration {
|
|
29
|
+
defaults;
|
|
30
|
+
constructor(defaults) {
|
|
31
|
+
this.defaults = defaults;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Read a configuration a request is setting, refusing one real S3 refuses.
|
|
35
|
+
*/
|
|
36
|
+
static parse(input) {
|
|
37
|
+
if (input.ObjectLockEnabled !== simS3ObjectLockEnabled) {
|
|
38
|
+
throw new SimS3InvalidRequest(`ObjectLockEnabled has to be ${simS3ObjectLockEnabled}`);
|
|
39
|
+
}
|
|
40
|
+
const declared = input.Rule?.DefaultRetention;
|
|
41
|
+
if (declared === undefined) {
|
|
42
|
+
return new SimS3ObjectLockConfiguration();
|
|
43
|
+
}
|
|
44
|
+
return new SimS3ObjectLockConfiguration({
|
|
45
|
+
mode: simS3RetentionMode(declared.Mode),
|
|
46
|
+
days: simS3DefaultRetentionDays(declared),
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* The retention a version written at an instant is given.
|
|
51
|
+
*
|
|
52
|
+
* Real S3 counts a default retention from the write rather than from the
|
|
53
|
+
* configuration, so two versions of one key written a day apart are retained
|
|
54
|
+
* until two different instants.
|
|
55
|
+
*/
|
|
56
|
+
retentionAt(instant) {
|
|
57
|
+
const defaults = this.defaults;
|
|
58
|
+
if (defaults === undefined) {
|
|
59
|
+
return undefined;
|
|
60
|
+
}
|
|
61
|
+
return new SimS3ObjectRetention({
|
|
62
|
+
mode: defaults.mode,
|
|
63
|
+
retainUntil: new Date(instant.getTime() + defaults.days * millisecondsPerDay),
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
/** What GetObjectLockConfiguration answers with. */
|
|
67
|
+
get reported() {
|
|
68
|
+
const defaults = this.defaults;
|
|
69
|
+
return {
|
|
70
|
+
ObjectLockEnabled: simS3ObjectLockEnabled,
|
|
71
|
+
...(defaults !== undefined && {
|
|
72
|
+
Rule: {
|
|
73
|
+
DefaultRetention: { Mode: defaults.mode, Days: defaults.days },
|
|
74
|
+
},
|
|
75
|
+
}),
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* The length of a default retention, in days.
|
|
81
|
+
*
|
|
82
|
+
* Real S3 takes it as either `Days` or `Years` and refuses both together. A
|
|
83
|
+
* year is 365 days here, which is what S3 documents its own arithmetic as.
|
|
84
|
+
*/
|
|
85
|
+
function simS3DefaultRetentionDays(declared) {
|
|
86
|
+
const { Days, Years } = declared;
|
|
87
|
+
if ((Days === undefined) === (Years === undefined)) {
|
|
88
|
+
throw new SimS3InvalidRequest("Object Lock DefaultRetention requires either Days or Years, and " +
|
|
89
|
+
"refuses both together");
|
|
90
|
+
}
|
|
91
|
+
const period = Days ?? Years;
|
|
92
|
+
if (period === undefined || period < 1 || !Number.isSafeInteger(period)) {
|
|
93
|
+
throw new SimS3InvalidRequest(`Object Lock DefaultRetention period ${String(period)} has to be a ` +
|
|
94
|
+
`whole number of at least 1`);
|
|
95
|
+
}
|
|
96
|
+
const days = Days === undefined ? period * daysPerYear : period;
|
|
97
|
+
if (days > maximumRetentionDays) {
|
|
98
|
+
throw new SimS3InvalidRequest(`Object Lock DefaultRetention period ${String(period)} is longer than ` +
|
|
99
|
+
`the hundred years real S3 retains a version for`);
|
|
100
|
+
}
|
|
101
|
+
return days;
|
|
102
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a read of an Object says about the Object Lock holding it.
|
|
3
|
+
*
|
|
4
|
+
* `GetObject` and `HeadObject` both report these, and a version nothing is
|
|
5
|
+
* holding leaves all three out rather than reporting them empty.
|
|
6
|
+
*/
|
|
7
|
+
export interface SimS3ObjectLockOutput {
|
|
8
|
+
/** The mode of the retention period on the version, if it has one. */
|
|
9
|
+
readonly ObjectLockMode?: string;
|
|
10
|
+
/** When that period lapses. */
|
|
11
|
+
readonly ObjectLockRetainUntilDate?: Date;
|
|
12
|
+
/** `ON` while a legal hold is on the version, and absent otherwise. */
|
|
13
|
+
readonly ObjectLockLegalHoldStatus?: string;
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { type SimS3ObjectRetention } from "./sim-s3-object-retention.js";
|
|
2
|
+
/** The two values `LegalHold.Status` takes. */
|
|
3
|
+
export declare const simS3LegalHoldOn = "ON";
|
|
4
|
+
export declare const simS3LegalHoldOff = "OFF";
|
|
5
|
+
/**
|
|
6
|
+
* Structural shape of an S3 ObjectLockLegalHold.
|
|
7
|
+
*/
|
|
8
|
+
export interface SimS3LegalHoldInput {
|
|
9
|
+
readonly Status?: string | undefined;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* What Object Lock holds against one version of one Object.
|
|
13
|
+
*
|
|
14
|
+
* A retention period and a legal hold are configured independently and either
|
|
15
|
+
* one on its own refuses a delete. The difference is that a retention lapses
|
|
16
|
+
* when simulated time passes it and a legal hold has no expiry to wait out, so
|
|
17
|
+
* the only way past one is to take it off.
|
|
18
|
+
*
|
|
19
|
+
* This is mutable, unlike the version holding it. Real S3 changes both through
|
|
20
|
+
* requests of their own against a version that is already there, and a version
|
|
21
|
+
* whose retention could not change would have no PutObjectRetention.
|
|
22
|
+
*/
|
|
23
|
+
export declare class SimS3ObjectLock {
|
|
24
|
+
private retention;
|
|
25
|
+
private legalHold;
|
|
26
|
+
/**
|
|
27
|
+
* Put a retention on this version, refusing one real S3 refuses.
|
|
28
|
+
*
|
|
29
|
+
* Object Lock is a guarantee rather than a setting, so the ways out of one
|
|
30
|
+
* are the point. A compliance period can be extended in the same mode, by
|
|
31
|
+
* anyone, and that is all that can be done to it. Shortening one would end
|
|
32
|
+
* the guarantee early, and turning one into a governance period would hand
|
|
33
|
+
* it to the first caller holding the bypass permission, so both are refused
|
|
34
|
+
* whoever asks and whatever they bypass.
|
|
35
|
+
*
|
|
36
|
+
* A governance period can be shortened, or turned into a compliance one, by
|
|
37
|
+
* a caller who names `BypassGovernanceRetention`, and the caller's
|
|
38
|
+
* permission to do that is checked before this is reached.
|
|
39
|
+
*/
|
|
40
|
+
applyRetention(retention: SimS3ObjectRetention, bypassed: boolean): void;
|
|
41
|
+
/**
|
|
42
|
+
* Turn the legal hold on this version on or off.
|
|
43
|
+
*/
|
|
44
|
+
applyLegalHold(input: SimS3LegalHoldInput): void;
|
|
45
|
+
/**
|
|
46
|
+
* Set the retention a Bucket's default puts on a new version.
|
|
47
|
+
*
|
|
48
|
+
* Nothing is checked, because a version this is reached for has just been
|
|
49
|
+
* written and carries no retention to be shortening.
|
|
50
|
+
*/
|
|
51
|
+
setDefaultRetention(retention: SimS3ObjectRetention): void;
|
|
52
|
+
/**
|
|
53
|
+
* Whether Object Lock refuses to let this version be deleted.
|
|
54
|
+
*
|
|
55
|
+
* A legal hold refuses whatever the caller says, since there is no bypass
|
|
56
|
+
* for one. A retention that has lapsed refuses nothing, which is what makes
|
|
57
|
+
* advancing the clock the way past a governance or a compliance period.
|
|
58
|
+
*/
|
|
59
|
+
refusesDeleteAt(instant: Date, bypassed: boolean): string | undefined;
|
|
60
|
+
/** What GetObject and HeadObject report about the version. */
|
|
61
|
+
get reported(): Record<string, string | Date>;
|
|
62
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { SimS3InvalidRequest } from "../../error/sim-s3.error.js";
|
|
2
|
+
import { simS3ComplianceMode, simS3GovernanceMode, } from "./sim-s3-object-retention.js";
|
|
3
|
+
/** The two values `LegalHold.Status` takes. */
|
|
4
|
+
export const simS3LegalHoldOn = "ON";
|
|
5
|
+
export const simS3LegalHoldOff = "OFF";
|
|
6
|
+
/** The two statuses, as a refusal names them. */
|
|
7
|
+
const legalHoldStatuses = `${simS3LegalHoldOn} or ${simS3LegalHoldOff}`;
|
|
8
|
+
/**
|
|
9
|
+
* What Object Lock holds against one version of one Object.
|
|
10
|
+
*
|
|
11
|
+
* A retention period and a legal hold are configured independently and either
|
|
12
|
+
* one on its own refuses a delete. The difference is that a retention lapses
|
|
13
|
+
* when simulated time passes it and a legal hold has no expiry to wait out, so
|
|
14
|
+
* the only way past one is to take it off.
|
|
15
|
+
*
|
|
16
|
+
* This is mutable, unlike the version holding it. Real S3 changes both through
|
|
17
|
+
* requests of their own against a version that is already there, and a version
|
|
18
|
+
* whose retention could not change would have no PutObjectRetention.
|
|
19
|
+
*/
|
|
20
|
+
export class SimS3ObjectLock {
|
|
21
|
+
retention;
|
|
22
|
+
legalHold = false;
|
|
23
|
+
/**
|
|
24
|
+
* Put a retention on this version, refusing one real S3 refuses.
|
|
25
|
+
*
|
|
26
|
+
* Object Lock is a guarantee rather than a setting, so the ways out of one
|
|
27
|
+
* are the point. A compliance period can be extended in the same mode, by
|
|
28
|
+
* anyone, and that is all that can be done to it. Shortening one would end
|
|
29
|
+
* the guarantee early, and turning one into a governance period would hand
|
|
30
|
+
* it to the first caller holding the bypass permission, so both are refused
|
|
31
|
+
* whoever asks and whatever they bypass.
|
|
32
|
+
*
|
|
33
|
+
* A governance period can be shortened, or turned into a compliance one, by
|
|
34
|
+
* a caller who names `BypassGovernanceRetention`, and the caller's
|
|
35
|
+
* permission to do that is checked before this is reached.
|
|
36
|
+
*/
|
|
37
|
+
applyRetention(retention, bypassed) {
|
|
38
|
+
const held = this.retention;
|
|
39
|
+
if (held === undefined) {
|
|
40
|
+
this.retention = retention;
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const extending = retention.mode === held.mode && retention.isAtLeast(held);
|
|
44
|
+
if (extending || (bypassed && held.mode === simS3GovernanceMode)) {
|
|
45
|
+
this.retention = retention;
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
throw new SimS3InvalidRequest(held.mode === simS3ComplianceMode
|
|
49
|
+
? "A COMPLIANCE retention period can only be extended in the same " +
|
|
50
|
+
"mode, and never shortened or turned into a GOVERNANCE one"
|
|
51
|
+
: "Shortening a GOVERNANCE retention period, or changing its mode, " +
|
|
52
|
+
"requires BypassGovernanceRetention");
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Turn the legal hold on this version on or off.
|
|
56
|
+
*/
|
|
57
|
+
applyLegalHold(input) {
|
|
58
|
+
if (input.Status !== simS3LegalHoldOn &&
|
|
59
|
+
input.Status !== simS3LegalHoldOff) {
|
|
60
|
+
throw new SimS3InvalidRequest(`Object Lock legal hold Status has to be ${legalHoldStatuses}`);
|
|
61
|
+
}
|
|
62
|
+
this.legalHold = input.Status === simS3LegalHoldOn;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Set the retention a Bucket's default puts on a new version.
|
|
66
|
+
*
|
|
67
|
+
* Nothing is checked, because a version this is reached for has just been
|
|
68
|
+
* written and carries no retention to be shortening.
|
|
69
|
+
*/
|
|
70
|
+
setDefaultRetention(retention) {
|
|
71
|
+
this.retention = retention;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Whether Object Lock refuses to let this version be deleted.
|
|
75
|
+
*
|
|
76
|
+
* A legal hold refuses whatever the caller says, since there is no bypass
|
|
77
|
+
* for one. A retention that has lapsed refuses nothing, which is what makes
|
|
78
|
+
* advancing the clock the way past a governance or a compliance period.
|
|
79
|
+
*/
|
|
80
|
+
refusesDeleteAt(instant, bypassed) {
|
|
81
|
+
if (this.legalHold) {
|
|
82
|
+
return "it is under a legal hold";
|
|
83
|
+
}
|
|
84
|
+
const retention = this.retention;
|
|
85
|
+
if (retention === undefined || !retention.isActiveAt(instant)) {
|
|
86
|
+
return undefined;
|
|
87
|
+
}
|
|
88
|
+
if (bypassed && retention.mode === simS3GovernanceMode) {
|
|
89
|
+
return undefined;
|
|
90
|
+
}
|
|
91
|
+
return `it is under a ${retention.mode} retention period until ${retention.retainUntilDate.toISOString()}`;
|
|
92
|
+
}
|
|
93
|
+
/** What GetObject and HeadObject report about the version. */
|
|
94
|
+
get reported() {
|
|
95
|
+
return {
|
|
96
|
+
...this.retention?.reported,
|
|
97
|
+
...(this.legalHold && { ObjectLockLegalHoldStatus: simS3LegalHoldOn }),
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The two modes a retention period can be in.
|
|
3
|
+
*
|
|
4
|
+
* Governance is the one an account can get out of, by naming
|
|
5
|
+
* `BypassGovernanceRetention` while holding `s3:BypassGovernanceRetention`.
|
|
6
|
+
* Compliance is the one nobody can, including the account root, which is what
|
|
7
|
+
* makes it worth having.
|
|
8
|
+
*/
|
|
9
|
+
export declare const simS3GovernanceMode = "GOVERNANCE";
|
|
10
|
+
export declare const simS3ComplianceMode = "COMPLIANCE";
|
|
11
|
+
/** The two modes, as a refusal names them. */
|
|
12
|
+
export declare const simS3RetentionModeNames = "GOVERNANCE or COMPLIANCE";
|
|
13
|
+
/**
|
|
14
|
+
* Structural shape of an S3 ObjectLockRetention.
|
|
15
|
+
*
|
|
16
|
+
* Matches the AWS SDK and CloudFormation property shape, so the same object
|
|
17
|
+
* can come from either.
|
|
18
|
+
*/
|
|
19
|
+
export interface SimS3RetentionInput {
|
|
20
|
+
readonly Mode?: string | undefined;
|
|
21
|
+
readonly RetainUntilDate?: Date | string | undefined;
|
|
22
|
+
}
|
|
23
|
+
interface SimS3ObjectRetentionProperties {
|
|
24
|
+
readonly mode: string;
|
|
25
|
+
readonly retainUntil: Date;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* How long one version of one Object cannot be deleted for.
|
|
29
|
+
*
|
|
30
|
+
* A retention is a mode and an instant, and the instant is compared against
|
|
31
|
+
* simulated time on every delete. Nothing schedules its expiry: the period
|
|
32
|
+
* lapses because the clock moved past it, which is how a test watches a
|
|
33
|
+
* retained version become deletable.
|
|
34
|
+
*/
|
|
35
|
+
export declare class SimS3ObjectRetention {
|
|
36
|
+
readonly mode: string;
|
|
37
|
+
private readonly retainUntil;
|
|
38
|
+
constructor(properties: SimS3ObjectRetentionProperties);
|
|
39
|
+
/**
|
|
40
|
+
* Read a retention a request is setting, refusing one real S3 refuses.
|
|
41
|
+
*/
|
|
42
|
+
static parse(input: SimS3RetentionInput): SimS3ObjectRetention;
|
|
43
|
+
/** When the period lapses. A copy, because a Date is mutable. */
|
|
44
|
+
get retainUntilDate(): Date;
|
|
45
|
+
/** Whether this retention still holds at an instant of simulated time. */
|
|
46
|
+
isActiveAt(instant: Date): boolean;
|
|
47
|
+
/** Whether this retention runs at least as long as another. */
|
|
48
|
+
isAtLeast(other: SimS3ObjectRetention): boolean;
|
|
49
|
+
/** What GetObject and HeadObject report about the version. */
|
|
50
|
+
get reported(): {
|
|
51
|
+
ObjectLockMode: string;
|
|
52
|
+
ObjectLockRetainUntilDate: Date;
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
export {};
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { SimS3InvalidRequest } from "../../error/sim-s3.error.js";
|
|
2
|
+
/**
|
|
3
|
+
* The two modes a retention period can be in.
|
|
4
|
+
*
|
|
5
|
+
* Governance is the one an account can get out of, by naming
|
|
6
|
+
* `BypassGovernanceRetention` while holding `s3:BypassGovernanceRetention`.
|
|
7
|
+
* Compliance is the one nobody can, including the account root, which is what
|
|
8
|
+
* makes it worth having.
|
|
9
|
+
*/
|
|
10
|
+
export const simS3GovernanceMode = "GOVERNANCE";
|
|
11
|
+
export const simS3ComplianceMode = "COMPLIANCE";
|
|
12
|
+
const retentionModes = new Set([
|
|
13
|
+
simS3GovernanceMode,
|
|
14
|
+
simS3ComplianceMode,
|
|
15
|
+
]);
|
|
16
|
+
/** The two modes, as a refusal names them. */
|
|
17
|
+
export const simS3RetentionModeNames = `${simS3GovernanceMode} or ${simS3ComplianceMode}`;
|
|
18
|
+
/**
|
|
19
|
+
* How long one version of one Object cannot be deleted for.
|
|
20
|
+
*
|
|
21
|
+
* A retention is a mode and an instant, and the instant is compared against
|
|
22
|
+
* simulated time on every delete. Nothing schedules its expiry: the period
|
|
23
|
+
* lapses because the clock moved past it, which is how a test watches a
|
|
24
|
+
* retained version become deletable.
|
|
25
|
+
*/
|
|
26
|
+
export class SimS3ObjectRetention {
|
|
27
|
+
mode;
|
|
28
|
+
retainUntil;
|
|
29
|
+
constructor(properties) {
|
|
30
|
+
this.mode = properties.mode;
|
|
31
|
+
this.retainUntil = new Date(properties.retainUntil);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Read a retention a request is setting, refusing one real S3 refuses.
|
|
35
|
+
*/
|
|
36
|
+
static parse(input) {
|
|
37
|
+
const mode = input.Mode;
|
|
38
|
+
if (mode === undefined || !retentionModes.has(mode)) {
|
|
39
|
+
throw new SimS3InvalidRequest(`Object Lock retention Mode has to be ${simS3RetentionModeNames}`);
|
|
40
|
+
}
|
|
41
|
+
return new SimS3ObjectRetention({
|
|
42
|
+
mode,
|
|
43
|
+
retainUntil: retainUntilDate(input.RetainUntilDate),
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
/** When the period lapses. A copy, because a Date is mutable. */
|
|
47
|
+
get retainUntilDate() {
|
|
48
|
+
return new Date(this.retainUntil);
|
|
49
|
+
}
|
|
50
|
+
/** Whether this retention still holds at an instant of simulated time. */
|
|
51
|
+
isActiveAt(instant) {
|
|
52
|
+
return instant.getTime() < this.retainUntil.getTime();
|
|
53
|
+
}
|
|
54
|
+
/** Whether this retention runs at least as long as another. */
|
|
55
|
+
isAtLeast(other) {
|
|
56
|
+
return this.retainUntil.getTime() >= other.retainUntil.getTime();
|
|
57
|
+
}
|
|
58
|
+
/** What GetObject and HeadObject report about the version. */
|
|
59
|
+
get reported() {
|
|
60
|
+
return {
|
|
61
|
+
ObjectLockMode: this.mode,
|
|
62
|
+
ObjectLockRetainUntilDate: this.retainUntilDate,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Read the instant a retention runs until.
|
|
68
|
+
*
|
|
69
|
+
* The SDK sends a Date and CloudFormation sends the string it was written as,
|
|
70
|
+
* so both are read. A value that is not a date at all leaves a version looking
|
|
71
|
+
* retained until an unknowable instant, so it is refused instead.
|
|
72
|
+
*/
|
|
73
|
+
function retainUntilDate(value) {
|
|
74
|
+
if (value === undefined) {
|
|
75
|
+
throw new SimS3InvalidRequest("Object Lock retention requires a RetainUntilDate");
|
|
76
|
+
}
|
|
77
|
+
const parsed = new Date(value);
|
|
78
|
+
if (Number.isNaN(parsed.getTime())) {
|
|
79
|
+
throw new SimS3InvalidRequest(`Object Lock retention RetainUntilDate ${String(value)} is not a date`);
|
|
80
|
+
}
|
|
81
|
+
return parsed;
|
|
82
|
+
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* has many more, and the ones it has that this simulator cannot produce are
|
|
6
6
|
* refused by name rather than accepted and never delivered.
|
|
7
7
|
*/
|
|
8
|
-
export declare const SIM_S3_NOTIFICATION_EVENTS: readonly ["s3:ObjectCreated:Put", "s3:ObjectCreated:Copy", "s3:ObjectCreated:CompleteMultipartUpload", "s3:ObjectRemoved:Delete"];
|
|
8
|
+
export declare const SIM_S3_NOTIFICATION_EVENTS: readonly ["s3:ObjectCreated:Put", "s3:ObjectCreated:Copy", "s3:ObjectCreated:CompleteMultipartUpload", "s3:ObjectRemoved:Delete", "s3:ObjectRemoved:DeleteMarkerCreated"];
|
|
9
9
|
export type SimS3NotificationEvent = (typeof SIM_S3_NOTIFICATION_EVENTS)[number];
|
|
10
10
|
/**
|
|
11
11
|
* The concrete events a configured event type covers.
|
|
@@ -12,6 +12,7 @@ export const SIM_S3_NOTIFICATION_EVENTS = [
|
|
|
12
12
|
"s3:ObjectCreated:Copy",
|
|
13
13
|
"s3:ObjectCreated:CompleteMultipartUpload",
|
|
14
14
|
"s3:ObjectRemoved:Delete",
|
|
15
|
+
"s3:ObjectRemoved:DeleteMarkerCreated",
|
|
15
16
|
];
|
|
16
17
|
/**
|
|
17
18
|
* What each configurable event type expands to.
|
|
@@ -40,8 +41,15 @@ const eventExpansions = new Map([
|
|
|
40
41
|
"s3:ObjectCreated:CompleteMultipartUpload",
|
|
41
42
|
["s3:ObjectCreated:CompleteMultipartUpload"],
|
|
42
43
|
],
|
|
43
|
-
[
|
|
44
|
+
[
|
|
45
|
+
"s3:ObjectRemoved:*",
|
|
46
|
+
["s3:ObjectRemoved:Delete", "s3:ObjectRemoved:DeleteMarkerCreated"],
|
|
47
|
+
],
|
|
44
48
|
["s3:ObjectRemoved:Delete", ["s3:ObjectRemoved:Delete"]],
|
|
49
|
+
[
|
|
50
|
+
"s3:ObjectRemoved:DeleteMarkerCreated",
|
|
51
|
+
["s3:ObjectRemoved:DeleteMarkerCreated"],
|
|
52
|
+
],
|
|
45
53
|
]);
|
|
46
54
|
/**
|
|
47
55
|
* The concrete events a configured event type covers.
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Listed so an unsimulated event type is refused as unsimulated rather than as
|
|
5
5
|
* a typo, which are different problems with different fixes. Everything here
|
|
6
6
|
* either describes an S3 feature the simulator has no model of, such as
|
|
7
|
-
*
|
|
7
|
+
* replication or storage class transitions, or a way of creating an Object
|
|
8
8
|
* that it has no command for.
|
|
9
9
|
*
|
|
10
10
|
* https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-event-types-and-destinations.html
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Listed so an unsimulated event type is refused as unsimulated rather than as
|
|
5
5
|
* a typo, which are different problems with different fixes. Everything here
|
|
6
6
|
* either describes an S3 feature the simulator has no model of, such as
|
|
7
|
-
*
|
|
7
|
+
* replication or storage class transitions, or a way of creating an Object
|
|
8
8
|
* that it has no command for.
|
|
9
9
|
*
|
|
10
10
|
* https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-event-types-and-destinations.html
|
|
@@ -17,7 +17,6 @@ export const SIM_S3_UNSIMULATED_NOTIFICATION_EVENTS = new Set([
|
|
|
17
17
|
"s3:LifecycleTransition",
|
|
18
18
|
"s3:ObjectAcl:Put",
|
|
19
19
|
"s3:ObjectCreated:Post",
|
|
20
|
-
"s3:ObjectRemoved:DeleteMarkerCreated",
|
|
21
20
|
"s3:ObjectRestore:*",
|
|
22
21
|
"s3:ObjectRestore:Completed",
|
|
23
22
|
"s3:ObjectRestore:Delete",
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import type { SimClock } from "../../../util/clock/sim-clock.js";
|
|
2
|
+
import type { SimS3Object } from "../object/s3-object.js";
|
|
3
|
+
import type { SimS3BucketStorage } from "../storage/s3-bucket-storage.js";
|
|
4
|
+
import { SimS3MultipartUploads } from "../upload/sim-s3-multipart-uploads.js";
|
|
5
|
+
import { SimS3BucketObjectLock } from "./lock/sim-s3-bucket-object-lock.js";
|
|
6
|
+
import { SimS3LifecycleConfiguration } from "./lifecycle/sim-s3-lifecycle-configuration.js";
|
|
7
|
+
import { SimS3ObjectDeletion } from "./sim-s3-object-deletion.js";
|
|
8
|
+
import type { SimS3BucketVersioning } from "./versioning/sim-s3-bucket-versioning.js";
|
|
9
|
+
import { SimS3BucketVersions } from "./versioning/sim-s3-bucket-versions.js";
|
|
10
|
+
import type { SimS3ObjectVersion } from "./versioning/sim-s3-object-version.js";
|
|
11
|
+
interface SimS3BucketObjectsProperties {
|
|
12
|
+
readonly storage: SimS3BucketStorage;
|
|
13
|
+
readonly lifecycle: SimS3LifecycleConfiguration;
|
|
14
|
+
readonly clock: SimClock;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* What one simulated S3 Bucket stores, and what time does to it.
|
|
18
|
+
*
|
|
19
|
+
* Storage holds the current Object under each key and nothing else. Versions
|
|
20
|
+
* and multipart uploads sit alongside it because neither is reachable through
|
|
21
|
+
* a plain read of a key, and lifecycle rules are here because every read is
|
|
22
|
+
* what applies them. Nothing sweeps a Bucket on a schedule.
|
|
23
|
+
*/
|
|
24
|
+
export declare class SimS3BucketObjects {
|
|
25
|
+
readonly versions: SimS3BucketVersions;
|
|
26
|
+
readonly objectLock: SimS3BucketObjectLock;
|
|
27
|
+
private readonly clock;
|
|
28
|
+
private readonly uploads;
|
|
29
|
+
private storage;
|
|
30
|
+
private lifecycle;
|
|
31
|
+
constructor(properties: SimS3BucketObjectsProperties);
|
|
32
|
+
/**
|
|
33
|
+
* Put an Object into storage, answering the version it was given.
|
|
34
|
+
*
|
|
35
|
+
* A Bucket that keeps no versions answers with nothing, which is what tells
|
|
36
|
+
* a caller there is no `VersionId` to report. A version the Bucket did keep
|
|
37
|
+
* starts under whatever default retention Object Lock puts on it.
|
|
38
|
+
*/
|
|
39
|
+
put(object: SimS3Object): Promise<SimS3ObjectVersion | undefined>;
|
|
40
|
+
/**
|
|
41
|
+
* Get an Object from storage.
|
|
42
|
+
*
|
|
43
|
+
* An Object a lifecycle rule has expired goes on the way past. Every read of
|
|
44
|
+
* it then finds the key empty.
|
|
45
|
+
*/
|
|
46
|
+
get(key: string): Promise<SimS3Object | undefined>;
|
|
47
|
+
/**
|
|
48
|
+
* List the Objects currently under a prefix.
|
|
49
|
+
*/
|
|
50
|
+
list(prefix?: string): Promise<SimS3Object[]>;
|
|
51
|
+
/**
|
|
52
|
+
* Delete a key, answering what that did to the Bucket.
|
|
53
|
+
*
|
|
54
|
+
* A versioned Bucket writes a delete marker and keeps the Object behind it.
|
|
55
|
+
* Real S3 writes the marker whether or not the key held anything, so a
|
|
56
|
+
* delete of a key that was never written still leaves one.
|
|
57
|
+
*/
|
|
58
|
+
delete(key: string): Promise<SimS3ObjectDeletion>;
|
|
59
|
+
/**
|
|
60
|
+
* Remove one version permanently, answering the version that went.
|
|
61
|
+
*
|
|
62
|
+
* Whatever the removal leaves at the head of the key becomes current, so
|
|
63
|
+
* deleting a delete marker brings the Object under it back. A version Object
|
|
64
|
+
* Lock is holding never gets that far.
|
|
65
|
+
*/
|
|
66
|
+
deleteVersion(key: string, versionId: string, bypassGovernance?: boolean): Promise<SimS3ObjectVersion | undefined>;
|
|
67
|
+
/**
|
|
68
|
+
* The versions this Bucket keeps, with whatever the rules have expired gone.
|
|
69
|
+
*
|
|
70
|
+
* Every read of the history goes through here, the way every read of an
|
|
71
|
+
* Object goes through the Object sweep. A noncurrent version and a bare
|
|
72
|
+
* delete marker are both invisible to storage, so this removes them without
|
|
73
|
+
* touching it.
|
|
74
|
+
*/
|
|
75
|
+
sweptVersions(): SimS3BucketVersions;
|
|
76
|
+
/**
|
|
77
|
+
* Apply a versioning configuration, giving what is already stored the null
|
|
78
|
+
* version id where this is the Bucket's first.
|
|
79
|
+
*/
|
|
80
|
+
configureVersioning(versioning: SimS3BucketVersioning): Promise<void>;
|
|
81
|
+
/**
|
|
82
|
+
* The multipart uploads this Bucket has in progress.
|
|
83
|
+
*
|
|
84
|
+
* Kept apart from storage because the parts of an unfinished upload are not
|
|
85
|
+
* Objects. Nothing that lists or reads a Bucket can see them, and only
|
|
86
|
+
* completing the upload puts anything under a key.
|
|
87
|
+
*/
|
|
88
|
+
multipartUploads(): SimS3MultipartUploads;
|
|
89
|
+
/**
|
|
90
|
+
* Change the storage implementation behind this Bucket.
|
|
91
|
+
*/
|
|
92
|
+
configureStorage(storage: SimS3BucketStorage): void;
|
|
93
|
+
/**
|
|
94
|
+
* Replace this Bucket's lifecycle configuration.
|
|
95
|
+
*
|
|
96
|
+
* Real S3 holds one configuration per Bucket rather than a list of them, so
|
|
97
|
+
* this replaces what was there instead of adding to it.
|
|
98
|
+
*/
|
|
99
|
+
configureLifecycle(lifecycle: SimS3LifecycleConfiguration): void;
|
|
100
|
+
/**
|
|
101
|
+
* Get this Bucket's lifecycle configuration.
|
|
102
|
+
*/
|
|
103
|
+
getLifecycle(): SimS3LifecycleConfiguration;
|
|
104
|
+
/**
|
|
105
|
+
* Remove this Bucket's lifecycle configuration.
|
|
106
|
+
*
|
|
107
|
+
* Real S3 DeleteBucketLifecycle is idempotent, so this reports nothing about
|
|
108
|
+
* whether there were rules to remove.
|
|
109
|
+
*/
|
|
110
|
+
deleteLifecycle(): void;
|
|
111
|
+
/** What this Bucket's rules have expired, as they stand at this moment. */
|
|
112
|
+
private sweep;
|
|
113
|
+
}
|
|
114
|
+
export {};
|