@kensio/yulin 1.21.0 → 1.21.2
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/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/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/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/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/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/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/ses/command/configuration-set/sim-ses-configuration-set-commands.js +13 -5
- package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-options.d.ts +1 -1
- package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-options.js +9 -9
- package/dist/service/ses/command/send/send.command.d.ts +10 -1
- package/dist/service/ses/command/send/sim-ses-read-content.d.ts +2 -1
- package/dist/service/ses/command/send/sim-ses-send-email.js +1 -0
- package/dist/service/ses/command/send/sim-ses-service-send.js +1 -0
- package/dist/service/ses/command/send/sim-ses-simple-content.js +26 -5
- package/dist/service/ses/command/send/sim-ses-template-send.js +1 -0
- package/dist/service/ses/command/suppression/suppression.command.d.ts +3 -2
- package/dist/service/ses/configuration-set/sim-ses-configuration-set.d.ts +9 -10
- package/dist/service/ses/configuration-set/sim-ses-configuration-set.js +7 -8
- package/dist/service/ses/email/sim-ses-sent-email-store.d.ts +8 -0
- package/dist/service/ses/email/sim-ses-sent-email-store.js +17 -0
- package/dist/service/ses/email/sim-ses-sent-email.d.ts +18 -0
- package/dist/service/ses/email/sim-ses-sent-email.js +3 -0
- package/dist/service/ses/error/sim-ses.error.d.ts +10 -0
- package/dist/service/ses/error/sim-ses.error.js +10 -0
- package/dist/service/ses/feedback/sim-ses-feedback-recorder.d.ts +34 -0
- package/dist/service/ses/feedback/sim-ses-feedback-recorder.js +55 -0
- package/dist/service/ses/index.d.ts +3 -2
- package/dist/service/ses/index.js +2 -1
- package/dist/service/ses/sim-ses-commands.d.ts +2 -0
- package/dist/service/ses/sim-ses-commands.js +9 -0
- package/dist/service/ses/sim-ses-configuration-sets.d.ts +4 -4
- package/dist/service/ses/sim-ses-configuration-sets.js +4 -4
- package/dist/service/ses/sim-ses-suppression.d.ts +3 -2
- package/dist/service/ses/sim-ses-suppression.js +3 -2
- package/dist/service/ses/sim-ses-v2.d.ts +13 -0
- package/dist/service/ses/sim-ses-v2.js +13 -0
- package/dist/service/ses/suppression/sim-ses-suppressed-destination.d.ts +3 -4
- package/dist/service/ses/suppression/sim-ses-suppressed-destination.js +3 -4
- package/dist/service/ses/suppression/sim-ses-suppression-list.d.ts +4 -4
- package/dist/service/ses/suppression/sim-ses-suppression-list.js +4 -4
- 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/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/backup/README.md +553 -0
- package/docs/services/cloudformation/README.md +16 -6
- package/docs/services/cloudwatch/README.md +159 -3
- package/docs/services/cognito/README.md +370 -7
- package/docs/services/lambda/README.md +28 -0
- package/docs/services/logs/README.md +284 -3
- package/docs/services/s3/README.md +463 -20
- package/docs/services/scheduler/README.md +48 -9
- package/docs/services/ses/README.md +164 -41
- package/docs/services/sqs/README.md +47 -10
- package/llms.txt +1 -0
- package/package.json +7 -2
|
@@ -2,6 +2,11 @@ import type { Brand } from "../../../util/brand.type.js";
|
|
|
2
2
|
import { type SimClock } from "../../../util/clock/sim-clock.js";
|
|
3
3
|
import type { SimS3BucketStorage } from "../storage/s3-bucket-storage.js";
|
|
4
4
|
import type { SimS3Object } from "../object/s3-object.js";
|
|
5
|
+
import type { SimS3ObjectDeletion } from "./sim-s3-object-deletion.js";
|
|
6
|
+
import type { SimS3BucketObjectLock } from "./lock/sim-s3-bucket-object-lock.js";
|
|
7
|
+
import type { SimS3BucketVersioning } from "./versioning/sim-s3-bucket-versioning.js";
|
|
8
|
+
import type { SimS3BucketVersions } from "./versioning/sim-s3-bucket-versions.js";
|
|
9
|
+
import type { SimS3ObjectVersion } from "./versioning/sim-s3-object-version.js";
|
|
5
10
|
import { SimS3BucketWebsite } from "./website/sim-s3-bucket-website.js";
|
|
6
11
|
import { SimS3PublicAccessBlock } from "./public-access/sim-s3-public-access-block.js";
|
|
7
12
|
import { SimS3NotificationConfiguration } from "./notification/sim-s3-notification-configuration.js";
|
|
@@ -9,7 +14,7 @@ import { SimS3LifecycleConfiguration } from "./lifecycle/sim-s3-lifecycle-config
|
|
|
9
14
|
import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
|
|
10
15
|
import type { SimIamPolicyDocument } from "../../iam/policy/sim-iam-policy.js";
|
|
11
16
|
import { SimS3BucketSystemMetadata } from "./sim-s3-bucket-system-metadata.js";
|
|
12
|
-
import { SimS3MultipartUploads } from "../upload/sim-s3-multipart-uploads.js";
|
|
17
|
+
import type { SimS3MultipartUploads } from "../upload/sim-s3-multipart-uploads.js";
|
|
13
18
|
export type SimS3BucketName = Brand<string, "SimS3BucketName">;
|
|
14
19
|
interface SimS3BucketProperties {
|
|
15
20
|
readonly bucketName: SimS3BucketName | string;
|
|
@@ -41,47 +46,45 @@ export declare class SimS3Bucket {
|
|
|
41
46
|
readonly bucketName: SimS3BucketName;
|
|
42
47
|
readonly creationDate: Date;
|
|
43
48
|
private readonly accountRegionScope;
|
|
44
|
-
private readonly clock;
|
|
45
49
|
private readonly systemMetadata;
|
|
46
|
-
private readonly
|
|
47
|
-
private storage;
|
|
50
|
+
private readonly objects;
|
|
48
51
|
private website;
|
|
49
52
|
private policy;
|
|
50
53
|
private publicAccessBlock;
|
|
51
54
|
private notifications;
|
|
52
|
-
private lifecycle;
|
|
53
55
|
constructor(properties: SimS3BucketProperties);
|
|
56
|
+
/** Put an Object into storage, answering the version it was given, if any. */
|
|
57
|
+
putObject(object: SimS3Object): Promise<SimS3ObjectVersion | undefined>;
|
|
58
|
+
/** Get a simulated S3 Object from storage. */
|
|
59
|
+
getObject(key: string): Promise<SimS3Object | undefined>;
|
|
60
|
+
/** List simulated S3 Objects from storage. */
|
|
61
|
+
listObjects(prefix?: string): Promise<SimS3Object[]>;
|
|
54
62
|
/**
|
|
55
|
-
*
|
|
56
|
-
*/
|
|
57
|
-
putObject(object: SimS3Object): Promise<void>;
|
|
58
|
-
/**
|
|
59
|
-
* Get a simulated S3 Object from storage.
|
|
63
|
+
* Delete a key, answering what that did to the Bucket.
|
|
60
64
|
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
65
|
+
* Real S3 DeleteObject is idempotent, so a key that was not there is not an
|
|
66
|
+
* error. What happened is still reported, because the event notification a
|
|
67
|
+
* deletion raises depends on it.
|
|
63
68
|
*/
|
|
64
|
-
|
|
69
|
+
deleteObject(key: string): Promise<SimS3ObjectDeletion>;
|
|
65
70
|
/**
|
|
66
|
-
*
|
|
71
|
+
* Remove one version of a key permanently, answering the version that went.
|
|
72
|
+
*
|
|
73
|
+
* Whatever the removal leaves at the head of the key becomes current, so
|
|
74
|
+
* deleting a delete marker brings the Object under it back. Object Lock
|
|
75
|
+
* refuses the removal of a version it is holding.
|
|
67
76
|
*/
|
|
68
|
-
|
|
77
|
+
deleteObjectVersion(key: string, versionId: string, bypassGovernance?: boolean): Promise<SimS3ObjectVersion | undefined>;
|
|
78
|
+
/** The versions this Bucket keeps, and whether it keeps any. */
|
|
79
|
+
getVersions(): SimS3BucketVersions;
|
|
80
|
+
/** How this Bucket is locked, and what that does to a write and a delete. */
|
|
81
|
+
getObjectLock(): SimS3BucketObjectLock;
|
|
69
82
|
/**
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
* Real S3 DeleteObject is idempotent, so a key that was not there is not an
|
|
73
|
-
* error. Whether there was an Object to remove is still reported, because a
|
|
74
|
-
* deletion that removed nothing is not an event: real S3 raises
|
|
75
|
-
* `s3:ObjectRemoved:Delete` when an Object was deleted, not when a deletion
|
|
76
|
-
* was requested.
|
|
83
|
+
* Apply a versioning configuration to this Bucket.
|
|
77
84
|
*/
|
|
78
|
-
|
|
85
|
+
configureVersioning(versioning: SimS3BucketVersioning): Promise<void>;
|
|
79
86
|
/**
|
|
80
87
|
* The multipart uploads this Bucket has in progress.
|
|
81
|
-
*
|
|
82
|
-
* Kept apart from storage because the parts of an unfinished upload are not
|
|
83
|
-
* Objects: nothing that lists or reads a Bucket can see them, and only
|
|
84
|
-
* completing the upload puts anything under a key.
|
|
85
88
|
*/
|
|
86
89
|
getMultipartUploads(): SimS3MultipartUploads;
|
|
87
90
|
/**
|
|
@@ -172,7 +175,5 @@ export declare class SimS3Bucket {
|
|
|
172
175
|
* Get the simulated S3 static website URL for this Bucket.
|
|
173
176
|
*/
|
|
174
177
|
getWebsiteUrl(): URL;
|
|
175
|
-
/** What this Bucket's rules have expired, as they stand at this moment. */
|
|
176
|
-
private sweep;
|
|
177
178
|
}
|
|
178
179
|
export {};
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { SimRealClock } from "../../../util/clock/sim-clock.js";
|
|
2
2
|
import { MemoryS3BucketStorage } from "../storage/s3-memory-storage.js";
|
|
3
|
+
import { SimS3BucketObjects } from "./sim-s3-bucket-objects.js";
|
|
3
4
|
import { SimS3BucketWebsite } from "./website/sim-s3-bucket-website.js";
|
|
4
5
|
import { SimS3PublicAccessBlock } from "./public-access/sim-s3-public-access-block.js";
|
|
5
6
|
import { SimS3NotificationConfiguration } from "./notification/sim-s3-notification-configuration.js";
|
|
6
7
|
import { SimS3LifecycleConfiguration } from "./lifecycle/sim-s3-lifecycle-configuration.js";
|
|
7
|
-
import { SimS3LifecycleSweep } from "./lifecycle/sim-s3-lifecycle-sweep.js";
|
|
8
8
|
import { simS3BucketWebsiteUrl } from "./website/sim-s3-bucket-website-url.js";
|
|
9
9
|
import { validateS3BucketName } from "./validate/validate-s3-bucket-name.js";
|
|
10
10
|
import { simAwsAccountRegionScopeFactory } from "../../aws/sim-aws-account-region-scope.factory.js";
|
|
11
11
|
import { SimS3BucketSystemMetadata } from "./sim-s3-bucket-system-metadata.js";
|
|
12
|
-
import { SimS3MultipartUploads } from "../upload/sim-s3-multipart-uploads.js";
|
|
13
12
|
/**
|
|
14
13
|
* Simulated S3 Bucket.
|
|
15
14
|
*/
|
|
@@ -17,79 +16,81 @@ export class SimS3Bucket {
|
|
|
17
16
|
bucketName;
|
|
18
17
|
creationDate;
|
|
19
18
|
accountRegionScope;
|
|
20
|
-
clock;
|
|
21
19
|
systemMetadata = new SimS3BucketSystemMetadata();
|
|
22
|
-
|
|
23
|
-
storage;
|
|
20
|
+
objects;
|
|
24
21
|
website;
|
|
25
22
|
policy;
|
|
26
23
|
publicAccessBlock;
|
|
27
24
|
notifications;
|
|
28
|
-
lifecycle;
|
|
29
25
|
constructor(properties) {
|
|
30
26
|
const { bucketName, accountRegionScope = simAwsAccountRegionScopeFactory.make(), storage = new MemoryS3BucketStorage(), website = new SimS3BucketWebsite(), policy, publicAccessBlock = SimS3PublicAccessBlock.blockingAll(), notifications = SimS3NotificationConfiguration.empty(), lifecycle = SimS3LifecycleConfiguration.empty(), clock = new SimRealClock(), creationDate = clock.now(), } = properties;
|
|
31
27
|
validateS3BucketName(bucketName);
|
|
32
28
|
this.bucketName = bucketName;
|
|
33
29
|
this.accountRegionScope = accountRegionScope;
|
|
34
|
-
this.
|
|
35
|
-
this.storage = storage;
|
|
30
|
+
this.objects = new SimS3BucketObjects({ storage, lifecycle, clock });
|
|
36
31
|
this.website = website;
|
|
37
32
|
this.policy = policy;
|
|
38
33
|
this.publicAccessBlock = publicAccessBlock;
|
|
39
34
|
this.notifications = notifications;
|
|
40
|
-
this.lifecycle = lifecycle;
|
|
41
35
|
this.creationDate = creationDate;
|
|
42
36
|
}
|
|
43
|
-
/**
|
|
44
|
-
* Put a simulated S3 Object into storage.
|
|
45
|
-
*/
|
|
37
|
+
/** Put an Object into storage, answering the version it was given, if any. */
|
|
46
38
|
async putObject(object) {
|
|
47
|
-
await this.
|
|
39
|
+
return await this.objects.put(object);
|
|
48
40
|
}
|
|
49
|
-
/**
|
|
50
|
-
* Get a simulated S3 Object from storage.
|
|
51
|
-
*
|
|
52
|
-
* An Object a lifecycle rule has expired goes on the way past. Every read of
|
|
53
|
-
* it then finds the key empty.
|
|
54
|
-
*/
|
|
41
|
+
/** Get a simulated S3 Object from storage. */
|
|
55
42
|
async getObject(key) {
|
|
56
|
-
return await this.
|
|
43
|
+
return await this.objects.get(key);
|
|
57
44
|
}
|
|
58
|
-
/**
|
|
59
|
-
* List simulated S3 Objects from storage.
|
|
60
|
-
*/
|
|
45
|
+
/** List simulated S3 Objects from storage. */
|
|
61
46
|
async listObjects(prefix) {
|
|
62
|
-
return await this.
|
|
47
|
+
return await this.objects.list(prefix);
|
|
63
48
|
}
|
|
64
49
|
/**
|
|
65
|
-
*
|
|
50
|
+
* Delete a key, answering what that did to the Bucket.
|
|
66
51
|
*
|
|
67
52
|
* Real S3 DeleteObject is idempotent, so a key that was not there is not an
|
|
68
|
-
* error.
|
|
69
|
-
* deletion
|
|
70
|
-
* `s3:ObjectRemoved:Delete` when an Object was deleted, not when a deletion
|
|
71
|
-
* was requested.
|
|
53
|
+
* error. What happened is still reported, because the event notification a
|
|
54
|
+
* deletion raises depends on it.
|
|
72
55
|
*/
|
|
73
56
|
async deleteObject(key) {
|
|
74
|
-
return await this.
|
|
57
|
+
return await this.objects.delete(key);
|
|
75
58
|
}
|
|
76
59
|
/**
|
|
77
|
-
*
|
|
60
|
+
* Remove one version of a key permanently, answering the version that went.
|
|
78
61
|
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
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. Object Lock
|
|
64
|
+
* refuses the removal of a version it is holding.
|
|
65
|
+
*/
|
|
66
|
+
async deleteObjectVersion(key, versionId, bypassGovernance = false) {
|
|
67
|
+
return await this.objects.deleteVersion(key, versionId, bypassGovernance);
|
|
68
|
+
}
|
|
69
|
+
/** The versions this Bucket keeps, and whether it keeps any. */
|
|
70
|
+
getVersions() {
|
|
71
|
+
return this.objects.sweptVersions();
|
|
72
|
+
}
|
|
73
|
+
/** How this Bucket is locked, and what that does to a write and a delete. */
|
|
74
|
+
getObjectLock() {
|
|
75
|
+
return this.objects.objectLock;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Apply a versioning configuration to this Bucket.
|
|
79
|
+
*/
|
|
80
|
+
async configureVersioning(versioning) {
|
|
81
|
+
await this.objects.configureVersioning(versioning);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* The multipart uploads this Bucket has in progress.
|
|
82
85
|
*/
|
|
83
86
|
getMultipartUploads() {
|
|
84
|
-
|
|
85
|
-
this.multipartUploads.discardAbandoned((upload) => this.lifecycle.abandons(upload, now));
|
|
86
|
-
return this.multipartUploads;
|
|
87
|
+
return this.objects.multipartUploads();
|
|
87
88
|
}
|
|
88
89
|
/**
|
|
89
90
|
* Change the storage implementation for this simulated S3 Bucket.
|
|
90
91
|
*/
|
|
91
92
|
configureSimStorage(storage) {
|
|
92
|
-
this.storage
|
|
93
|
+
this.objects.configureStorage(storage);
|
|
93
94
|
}
|
|
94
95
|
/**
|
|
95
96
|
* What this Bucket has been told about the Objects under its keys, beyond
|
|
@@ -178,13 +179,13 @@ export class SimS3Bucket {
|
|
|
178
179
|
* this replaces what was there instead of adding to it.
|
|
179
180
|
*/
|
|
180
181
|
configureLifecycle(lifecycle) {
|
|
181
|
-
this.lifecycle
|
|
182
|
+
this.objects.configureLifecycle(lifecycle);
|
|
182
183
|
}
|
|
183
184
|
/**
|
|
184
185
|
* Get this Bucket's lifecycle configuration.
|
|
185
186
|
*/
|
|
186
187
|
getLifecycle() {
|
|
187
|
-
return this.
|
|
188
|
+
return this.objects.getLifecycle();
|
|
188
189
|
}
|
|
189
190
|
/**
|
|
190
191
|
* Remove this Bucket's lifecycle configuration.
|
|
@@ -193,7 +194,7 @@ export class SimS3Bucket {
|
|
|
193
194
|
* whether there were rules to remove.
|
|
194
195
|
*/
|
|
195
196
|
deleteLifecycle() {
|
|
196
|
-
this.
|
|
197
|
+
this.objects.deleteLifecycle();
|
|
197
198
|
}
|
|
198
199
|
/**
|
|
199
200
|
* Get the simulated AWS account Region scope for this Bucket.
|
|
@@ -207,8 +208,4 @@ export class SimS3Bucket {
|
|
|
207
208
|
getWebsiteUrl() {
|
|
208
209
|
return simS3BucketWebsiteUrl(this.bucketName, this.accountRegionScope, this.website);
|
|
209
210
|
}
|
|
210
|
-
/** What this Bucket's rules have expired, as they stand at this moment. */
|
|
211
|
-
sweep() {
|
|
212
|
-
return new SimS3LifecycleSweep(this.storage, this.lifecycle, this.clock.now());
|
|
213
|
-
}
|
|
214
211
|
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { SimS3ObjectVersion } from "./versioning/sim-s3-object-version.js";
|
|
2
|
+
interface SimS3ObjectDeletionProperties {
|
|
3
|
+
readonly removedObject?: boolean;
|
|
4
|
+
readonly deleteMarker?: SimS3ObjectVersion | undefined;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* What a delete did to a simulated S3 Bucket.
|
|
8
|
+
*
|
|
9
|
+
* The two outcomes are separate because the event notification they raise is.
|
|
10
|
+
* A Bucket without versioning loses the Object and raises
|
|
11
|
+
* `s3:ObjectRemoved:Delete`. A versioned Bucket keeps the Object and hides it
|
|
12
|
+
* behind a marker, which is `s3:ObjectRemoved:DeleteMarkerCreated`. A delete
|
|
13
|
+
* of a key that held nothing raises neither.
|
|
14
|
+
*/
|
|
15
|
+
export declare class SimS3ObjectDeletion {
|
|
16
|
+
readonly removedObject: boolean;
|
|
17
|
+
readonly deleteMarker: SimS3ObjectVersion | undefined;
|
|
18
|
+
constructor(properties?: SimS3ObjectDeletionProperties);
|
|
19
|
+
/**
|
|
20
|
+
* What a response says about this delete.
|
|
21
|
+
*
|
|
22
|
+
* A versioned Bucket reports the marker it wrote and the id it wrote it
|
|
23
|
+
* under. A Bucket without versioning reports neither, as real S3 does.
|
|
24
|
+
*/
|
|
25
|
+
get reported(): {
|
|
26
|
+
readonly DeleteMarker?: boolean;
|
|
27
|
+
readonly VersionId?: string;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a delete did to a simulated S3 Bucket.
|
|
3
|
+
*
|
|
4
|
+
* The two outcomes are separate because the event notification they raise is.
|
|
5
|
+
* A Bucket without versioning loses the Object and raises
|
|
6
|
+
* `s3:ObjectRemoved:Delete`. A versioned Bucket keeps the Object and hides it
|
|
7
|
+
* behind a marker, which is `s3:ObjectRemoved:DeleteMarkerCreated`. A delete
|
|
8
|
+
* of a key that held nothing raises neither.
|
|
9
|
+
*/
|
|
10
|
+
export class SimS3ObjectDeletion {
|
|
11
|
+
removedObject;
|
|
12
|
+
deleteMarker;
|
|
13
|
+
constructor(properties = {}) {
|
|
14
|
+
this.removedObject = properties.removedObject ?? false;
|
|
15
|
+
this.deleteMarker = properties.deleteMarker;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* What a response says about this delete.
|
|
19
|
+
*
|
|
20
|
+
* A versioned Bucket reports the marker it wrote and the id it wrote it
|
|
21
|
+
* under. A Bucket without versioning reports neither, as real S3 does.
|
|
22
|
+
*/
|
|
23
|
+
get reported() {
|
|
24
|
+
if (this.deleteMarker === undefined) {
|
|
25
|
+
return {};
|
|
26
|
+
}
|
|
27
|
+
return { DeleteMarker: true, VersionId: this.deleteMarker.versionId };
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structural shape of an S3 VersioningConfiguration.
|
|
3
|
+
*
|
|
4
|
+
* Matches the AWS SDK and CloudFormation property shape, so the same object
|
|
5
|
+
* can come from either.
|
|
6
|
+
*/
|
|
7
|
+
export interface SimS3VersioningConfiguration {
|
|
8
|
+
readonly Status?: string | undefined;
|
|
9
|
+
readonly MFADelete?: string | undefined;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* The version id S3 gives an Object written while versioning was off.
|
|
13
|
+
*
|
|
14
|
+
* Real S3 reports the literal string `null` for one, and accepts it back as a
|
|
15
|
+
* `VersionId` on a read or a delete.
|
|
16
|
+
*/
|
|
17
|
+
export declare const simS3NullVersionId = "null";
|
|
18
|
+
/**
|
|
19
|
+
* Whether one simulated S3 Bucket keeps Object versions.
|
|
20
|
+
*
|
|
21
|
+
* There are three states and only two of them are reachable twice. A Bucket
|
|
22
|
+
* starts unversioned, and a Bucket that has been versioned can be suspended
|
|
23
|
+
* but never taken back to unversioned. Real S3 has no request that removes the
|
|
24
|
+
* configuration, which is what makes versioning the one Bucket setting a
|
|
25
|
+
* template cannot undo.
|
|
26
|
+
*
|
|
27
|
+
* Suspended is the state worth being careful about. It stops new versions
|
|
28
|
+
* being made without discarding the ones already there. An Object put while
|
|
29
|
+
* suspended takes the null version id and replaces whatever else holds it,
|
|
30
|
+
* leaving every earlier version readable by its own id.
|
|
31
|
+
*/
|
|
32
|
+
export declare class SimS3BucketVersioning {
|
|
33
|
+
private readonly state;
|
|
34
|
+
private constructor();
|
|
35
|
+
/**
|
|
36
|
+
* The state a Bucket nobody has configured is in.
|
|
37
|
+
*/
|
|
38
|
+
static unversioned(): SimS3BucketVersioning;
|
|
39
|
+
/**
|
|
40
|
+
* The state a PutBucketVersioning request asks for.
|
|
41
|
+
*/
|
|
42
|
+
static fromConfiguration(configuration: SimS3VersioningConfiguration): SimS3BucketVersioning;
|
|
43
|
+
/**
|
|
44
|
+
* What GetBucketVersioning answers with.
|
|
45
|
+
*
|
|
46
|
+
* A Bucket nobody has configured has no status at all, which real S3 reports
|
|
47
|
+
* as a response carrying neither `Status` nor `MFADelete`.
|
|
48
|
+
*/
|
|
49
|
+
get status(): "Enabled" | "Suspended" | undefined;
|
|
50
|
+
/**
|
|
51
|
+
* Whether a write to this Bucket is given a version id of its own.
|
|
52
|
+
*/
|
|
53
|
+
get isEnabled(): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Whether this Bucket holds a version history at all.
|
|
56
|
+
*
|
|
57
|
+
* A suspended Bucket still holds one. The versions written before the
|
|
58
|
+
* suspension stay readable, and only new writes stop adding to them.
|
|
59
|
+
*/
|
|
60
|
+
get keepsVersions(): boolean;
|
|
61
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The version id S3 gives an Object written while versioning was off.
|
|
3
|
+
*
|
|
4
|
+
* Real S3 reports the literal string `null` for one, and accepts it back as a
|
|
5
|
+
* `VersionId` on a read or a delete.
|
|
6
|
+
*/
|
|
7
|
+
export const simS3NullVersionId = "null";
|
|
8
|
+
/**
|
|
9
|
+
* Whether one simulated S3 Bucket keeps Object versions.
|
|
10
|
+
*
|
|
11
|
+
* There are three states and only two of them are reachable twice. A Bucket
|
|
12
|
+
* starts unversioned, and a Bucket that has been versioned can be suspended
|
|
13
|
+
* but never taken back to unversioned. Real S3 has no request that removes the
|
|
14
|
+
* configuration, which is what makes versioning the one Bucket setting a
|
|
15
|
+
* template cannot undo.
|
|
16
|
+
*
|
|
17
|
+
* Suspended is the state worth being careful about. It stops new versions
|
|
18
|
+
* being made without discarding the ones already there. An Object put while
|
|
19
|
+
* suspended takes the null version id and replaces whatever else holds it,
|
|
20
|
+
* leaving every earlier version readable by its own id.
|
|
21
|
+
*/
|
|
22
|
+
export class SimS3BucketVersioning {
|
|
23
|
+
state;
|
|
24
|
+
constructor(state) {
|
|
25
|
+
this.state = state;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The state a Bucket nobody has configured is in.
|
|
29
|
+
*/
|
|
30
|
+
static unversioned() {
|
|
31
|
+
return new SimS3BucketVersioning("Unversioned");
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The state a PutBucketVersioning request asks for.
|
|
35
|
+
*/
|
|
36
|
+
static fromConfiguration(configuration) {
|
|
37
|
+
return configuration.Status === "Enabled"
|
|
38
|
+
? new SimS3BucketVersioning("Enabled")
|
|
39
|
+
: new SimS3BucketVersioning("Suspended");
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* What GetBucketVersioning answers with.
|
|
43
|
+
*
|
|
44
|
+
* A Bucket nobody has configured has no status at all, which real S3 reports
|
|
45
|
+
* as a response carrying neither `Status` nor `MFADelete`.
|
|
46
|
+
*/
|
|
47
|
+
get status() {
|
|
48
|
+
return this.state === "Unversioned" ? undefined : this.state;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Whether a write to this Bucket is given a version id of its own.
|
|
52
|
+
*/
|
|
53
|
+
get isEnabled() {
|
|
54
|
+
return this.state === "Enabled";
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Whether this Bucket holds a version history at all.
|
|
58
|
+
*
|
|
59
|
+
* A suspended Bucket still holds one. The versions written before the
|
|
60
|
+
* suspension stay readable, and only new writes stop adding to them.
|
|
61
|
+
*/
|
|
62
|
+
get keepsVersions() {
|
|
63
|
+
return this.state !== "Unversioned";
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import type { SimS3Object } from "../../object/s3-object.js";
|
|
2
|
+
import type { SimS3BucketStorage } from "../../storage/s3-bucket-storage.js";
|
|
3
|
+
import { SimS3BucketVersioning } from "./sim-s3-bucket-versioning.js";
|
|
4
|
+
import { SimS3ObjectVersion } from "./sim-s3-object-version.js";
|
|
5
|
+
/**
|
|
6
|
+
* The versioning of one simulated S3 Bucket, and the versions it has kept.
|
|
7
|
+
*
|
|
8
|
+
* Storage holds the current Object under each key and nothing else, which is
|
|
9
|
+
* what lets every reader of a Bucket carry on unchanged. The version history
|
|
10
|
+
* holds every version including that current one, and the two are kept in step
|
|
11
|
+
* here: writing a delete marker takes the Object out of storage, and deleting
|
|
12
|
+
* a version puts back whatever the removal left current.
|
|
13
|
+
*/
|
|
14
|
+
export declare class SimS3BucketVersions {
|
|
15
|
+
private versioning;
|
|
16
|
+
private readonly history;
|
|
17
|
+
/**
|
|
18
|
+
* How this Bucket is configured.
|
|
19
|
+
*/
|
|
20
|
+
get configuration(): SimS3BucketVersioning;
|
|
21
|
+
/**
|
|
22
|
+
* Whether this Bucket holds a version history.
|
|
23
|
+
*/
|
|
24
|
+
get keepsVersions(): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Apply a versioning configuration to this Bucket.
|
|
27
|
+
*
|
|
28
|
+
* Enabling versioning over a Bucket that already holds Objects gives each of
|
|
29
|
+
* them the null version id, which is what real S3 does with the Objects
|
|
30
|
+
* written before the configuration arrived. They become the current version
|
|
31
|
+
* of their key and stay readable by that id afterwards.
|
|
32
|
+
*/
|
|
33
|
+
configure(versioning: SimS3BucketVersioning, stored: readonly SimS3Object[]): void;
|
|
34
|
+
/**
|
|
35
|
+
* Record a write, answering the version it was given.
|
|
36
|
+
*
|
|
37
|
+
* A Bucket with versioning enabled gets a new id every time. A suspended one
|
|
38
|
+
* writes over the null version, because real S3 holds one Object under that
|
|
39
|
+
* id rather than a run of them. A Bucket nobody has configured records
|
|
40
|
+
* nothing at all.
|
|
41
|
+
*/
|
|
42
|
+
recordPut(object: SimS3Object): SimS3ObjectVersion | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* Write a delete marker over a key and take the Object out of storage.
|
|
45
|
+
*
|
|
46
|
+
* Real S3 writes the marker whether or not the key held anything, so a
|
|
47
|
+
* delete of a key that was never written still leaves one behind.
|
|
48
|
+
*/
|
|
49
|
+
markDeleted(storage: SimS3BucketStorage, key: string, at: Date): Promise<SimS3ObjectVersion>;
|
|
50
|
+
/**
|
|
51
|
+
* Remove one version permanently, answering the version that went.
|
|
52
|
+
*
|
|
53
|
+
* Whatever the removal leaves at the head of the key becomes current, so
|
|
54
|
+
* deleting a delete marker brings the Object under it back and deleting the
|
|
55
|
+
* current Object exposes the one written before it.
|
|
56
|
+
*/
|
|
57
|
+
deleteVersion(storage: SimS3BucketStorage, key: string, versionId: string): Promise<SimS3ObjectVersion | undefined>;
|
|
58
|
+
/**
|
|
59
|
+
* One version of one key, by the id it was given.
|
|
60
|
+
*/
|
|
61
|
+
find(key: string, versionId: string): SimS3ObjectVersion | undefined;
|
|
62
|
+
/**
|
|
63
|
+
* The version a read of this key without a version id answers with.
|
|
64
|
+
*/
|
|
65
|
+
current(key: string): SimS3ObjectVersion | undefined;
|
|
66
|
+
/**
|
|
67
|
+
* Take a version a lifecycle rule expired out of the history.
|
|
68
|
+
*
|
|
69
|
+
* Storage is left alone, unlike `deleteVersion`. A rule for noncurrent
|
|
70
|
+
* versions never reaches the current one, and a delete marker holds no
|
|
71
|
+
* bytes, so nothing this removes was in storage to begin with.
|
|
72
|
+
*/
|
|
73
|
+
removeExpired(key: string, versionId: string): void;
|
|
74
|
+
/**
|
|
75
|
+
* Every version this Bucket holds, in the order a listing reports them.
|
|
76
|
+
*/
|
|
77
|
+
list(prefix?: string): readonly SimS3ObjectVersion[];
|
|
78
|
+
/**
|
|
79
|
+
* Remove the null version from a Bucket that keeps no history.
|
|
80
|
+
*
|
|
81
|
+
* Real S3 gives every Object in such a Bucket the null version id, so a
|
|
82
|
+
* delete naming that id removes the Object rather than doing nothing. Any
|
|
83
|
+
* other id names a version the Bucket never issued.
|
|
84
|
+
*/
|
|
85
|
+
private removeNullVersion;
|
|
86
|
+
/**
|
|
87
|
+
* Make storage hold whatever is now current under a key.
|
|
88
|
+
*/
|
|
89
|
+
private restoreCurrent;
|
|
90
|
+
/**
|
|
91
|
+
* The id the next version of anything gets.
|
|
92
|
+
*
|
|
93
|
+
* Real S3 version ids are opaque, and a suspended Bucket writes under the
|
|
94
|
+
* null id rather than minting one.
|
|
95
|
+
*/
|
|
96
|
+
private nextVersionId;
|
|
97
|
+
}
|