@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,80 @@
|
|
|
1
|
+
import { simSdkCallerOptions, simSdkStreamBody } from "../../../sdk/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* The SDK Commands that act on the Objects in a Bucket, the multipart uploads
|
|
4
|
+
* that build one, and the versions a Bucket keeps of them.
|
|
5
|
+
*/
|
|
6
|
+
export function simS3SdkObjectRoutes(simS3) {
|
|
7
|
+
return [
|
|
8
|
+
[
|
|
9
|
+
"PutObjectCommand",
|
|
10
|
+
async (command, context) => await simS3.putObject(command, simSdkCallerOptions(context)),
|
|
11
|
+
],
|
|
12
|
+
[
|
|
13
|
+
"GetObjectCommand",
|
|
14
|
+
async (command, context) => await getObjectWithSdkStreamBody(simS3, command, simSdkCallerOptions(context)),
|
|
15
|
+
],
|
|
16
|
+
[
|
|
17
|
+
"HeadObjectCommand",
|
|
18
|
+
async (command, context) => await simS3.headObject(command, simSdkCallerOptions(context)),
|
|
19
|
+
],
|
|
20
|
+
[
|
|
21
|
+
"CopyObjectCommand",
|
|
22
|
+
async (command, context) => await simS3.copyObject(command, simSdkCallerOptions(context)),
|
|
23
|
+
],
|
|
24
|
+
[
|
|
25
|
+
"DeleteObjectCommand",
|
|
26
|
+
async (command, context) => await simS3.deleteObject(command, simSdkCallerOptions(context)),
|
|
27
|
+
],
|
|
28
|
+
[
|
|
29
|
+
"DeleteObjectsCommand",
|
|
30
|
+
async (command, context) => await simS3.deleteObjects(command, simSdkCallerOptions(context)),
|
|
31
|
+
],
|
|
32
|
+
[
|
|
33
|
+
"ListObjectsCommand",
|
|
34
|
+
async (command, context) => await simS3.listObjects(command, simSdkCallerOptions(context)),
|
|
35
|
+
],
|
|
36
|
+
[
|
|
37
|
+
"ListObjectsV2Command",
|
|
38
|
+
async (command, context) => await simS3.listObjectsV2(command, simSdkCallerOptions(context)),
|
|
39
|
+
],
|
|
40
|
+
[
|
|
41
|
+
"ListObjectVersionsCommand",
|
|
42
|
+
async (command, context) => await simS3.listObjectVersions(command, simSdkCallerOptions(context)),
|
|
43
|
+
],
|
|
44
|
+
[
|
|
45
|
+
"CreateMultipartUploadCommand",
|
|
46
|
+
async (command, context) => await simS3.createMultipartUpload(command, simSdkCallerOptions(context)),
|
|
47
|
+
],
|
|
48
|
+
[
|
|
49
|
+
"UploadPartCommand",
|
|
50
|
+
async (command, context) => await simS3.uploadPart(command, simSdkCallerOptions(context)),
|
|
51
|
+
],
|
|
52
|
+
[
|
|
53
|
+
"CompleteMultipartUploadCommand",
|
|
54
|
+
async (command, context) => await simS3.completeMultipartUpload(command, simSdkCallerOptions(context)),
|
|
55
|
+
],
|
|
56
|
+
[
|
|
57
|
+
"AbortMultipartUploadCommand",
|
|
58
|
+
async (command, context) => await simS3.abortMultipartUpload(command, simSdkCallerOptions(context)),
|
|
59
|
+
],
|
|
60
|
+
[
|
|
61
|
+
"ListMultipartUploadsCommand",
|
|
62
|
+
async (command, context) => await simS3.listMultipartUploads(command, simSdkCallerOptions(context)),
|
|
63
|
+
],
|
|
64
|
+
[
|
|
65
|
+
"ListPartsCommand",
|
|
66
|
+
async (command, context) => await simS3.listParts(command, simSdkCallerOptions(context)),
|
|
67
|
+
],
|
|
68
|
+
];
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Get an Object and mix the SDK stream transform methods into its Body, so
|
|
72
|
+
* SDK callers can use e.g. Body.transformToString() as with real S3.
|
|
73
|
+
*/
|
|
74
|
+
async function getObjectWithSdkStreamBody(simS3, command, options) {
|
|
75
|
+
const output = await simS3.getObject(command, options);
|
|
76
|
+
if (output.Body === undefined) {
|
|
77
|
+
return output;
|
|
78
|
+
}
|
|
79
|
+
return { ...output, Body: simSdkStreamBody(output.Body) };
|
|
80
|
+
}
|
|
@@ -8,7 +8,9 @@ import { SimS3LifecycleCommands } from "./command/lifecycle/sim-s3-lifecycle-com
|
|
|
8
8
|
import { SimS3MultipartCommands } from "./command/multipart/sim-s3-multipart-commands.js";
|
|
9
9
|
import { SimS3NotificationCommands } from "./command/notification/sim-s3-notification-commands.js";
|
|
10
10
|
import { SimS3ObjectCommands } from "./command/object/sim-s3-object-commands.js";
|
|
11
|
+
import { SimS3ObjectLockCommands } from "./command/object-lock/sim-s3-object-lock-commands.js";
|
|
11
12
|
import { SimS3PublicAccessBlockCommands } from "./command/public-access-block/sim-s3-public-access-block-commands.js";
|
|
13
|
+
import { SimS3VersioningCommands } from "./command/versioning/sim-s3-versioning-commands.js";
|
|
12
14
|
import type { SimS3NotificationDestinations } from "./notification/destination/sim-s3-notification-destination.js";
|
|
13
15
|
import { SimS3ObjectNotifier } from "./notification/sim-s3-object-notifier.js";
|
|
14
16
|
import type { SimS3GlobalRegistry } from "./sim-s3-global-registry.js";
|
|
@@ -52,6 +54,8 @@ export declare class SimS3Commands {
|
|
|
52
54
|
readonly publicAccessBlocks: SimS3PublicAccessBlockCommands;
|
|
53
55
|
readonly notifications: SimS3NotificationCommands;
|
|
54
56
|
readonly lifecycles: SimS3LifecycleCommands;
|
|
57
|
+
readonly versioning: SimS3VersioningCommands;
|
|
58
|
+
readonly objectLock: SimS3ObjectLockCommands;
|
|
55
59
|
readonly objects: SimS3ObjectCommands;
|
|
56
60
|
readonly multipartUploads: SimS3MultipartCommands;
|
|
57
61
|
readonly objectNotifier: SimS3ObjectNotifier;
|
|
@@ -6,7 +6,9 @@ import { SimS3LifecycleCommands } from "./command/lifecycle/sim-s3-lifecycle-com
|
|
|
6
6
|
import { SimS3MultipartCommands } from "./command/multipart/sim-s3-multipart-commands.js";
|
|
7
7
|
import { SimS3NotificationCommands } from "./command/notification/sim-s3-notification-commands.js";
|
|
8
8
|
import { SimS3ObjectCommands } from "./command/object/sim-s3-object-commands.js";
|
|
9
|
+
import { SimS3ObjectLockCommands } from "./command/object-lock/sim-s3-object-lock-commands.js";
|
|
9
10
|
import { SimS3PublicAccessBlockCommands } from "./command/public-access-block/sim-s3-public-access-block-commands.js";
|
|
11
|
+
import { SimS3VersioningCommands } from "./command/versioning/sim-s3-versioning-commands.js";
|
|
10
12
|
import { SimS3NoNotificationDestinations } from "./notification/destination/sim-s3-service-notification-destinations.js";
|
|
11
13
|
import { SimS3ObjectNotifier } from "./notification/sim-s3-object-notifier.js";
|
|
12
14
|
import { SimS3ObjectListingLimits } from "./object/s3-object-listing-limits.js";
|
|
@@ -24,6 +26,8 @@ export class SimS3Commands {
|
|
|
24
26
|
publicAccessBlocks;
|
|
25
27
|
notifications;
|
|
26
28
|
lifecycles;
|
|
29
|
+
versioning;
|
|
30
|
+
objectLock;
|
|
27
31
|
objects;
|
|
28
32
|
multipartUploads;
|
|
29
33
|
objectNotifier;
|
|
@@ -51,6 +55,8 @@ export class SimS3Commands {
|
|
|
51
55
|
this.publicAccessBlocks = new SimS3PublicAccessBlockCommands(state);
|
|
52
56
|
this.notifications = new SimS3NotificationCommands(state);
|
|
53
57
|
this.lifecycles = new SimS3LifecycleCommands(state);
|
|
58
|
+
this.versioning = new SimS3VersioningCommands(state);
|
|
59
|
+
this.objectLock = new SimS3ObjectLockCommands(state);
|
|
54
60
|
this.objects = new SimS3ObjectCommands(state);
|
|
55
61
|
this.multipartUploads = new SimS3MultipartCommands(state);
|
|
56
62
|
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import type * as simS3Commands from "./command/sim-s3-command.types.js";
|
|
2
2
|
import type { SimS3RequestOptions } from "./command/sim-s3-request-options.js";
|
|
3
|
-
import
|
|
3
|
+
import { SimS3VersionOperations } from "./sim-s3-version-operations.js";
|
|
4
4
|
/**
|
|
5
5
|
* The AWS operations simulated S3 answers. One delegation per SDK Command,
|
|
6
6
|
* onto the handler in `SimS3Commands` that runs it.
|
|
7
7
|
*
|
|
8
8
|
* `SimS3` extends this. A caller reaches every operation on the one service
|
|
9
|
-
* object, alongside the simulator-only controls `SimS3` holds itself.
|
|
9
|
+
* object, alongside the simulator-only controls `SimS3` holds itself. The
|
|
10
|
+
* operations that make a Bucket keep what it held are on
|
|
11
|
+
* `SimS3VersionOperations`, which this extends.
|
|
10
12
|
*/
|
|
11
|
-
export declare abstract class SimS3Operations {
|
|
12
|
-
protected readonly commands: SimS3Commands;
|
|
13
|
-
protected constructor(commands: SimS3Commands);
|
|
13
|
+
export declare abstract class SimS3Operations extends SimS3VersionOperations {
|
|
14
14
|
/** Handle a Create Bucket Command from the SDK. */
|
|
15
15
|
createBucket(command: simS3Commands.SimCreateBucketCommand, options?: SimS3RequestOptions): Promise<simS3Commands.SimCreateBucketCommandOutput>;
|
|
16
16
|
/** Handle a Head Bucket Command from the SDK. */
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
+
import { SimS3VersionOperations } from "./sim-s3-version-operations.js";
|
|
1
2
|
/**
|
|
2
3
|
* The AWS operations simulated S3 answers. One delegation per SDK Command,
|
|
3
4
|
* onto the handler in `SimS3Commands` that runs it.
|
|
4
5
|
*
|
|
5
6
|
* `SimS3` extends this. A caller reaches every operation on the one service
|
|
6
|
-
* object, alongside the simulator-only controls `SimS3` holds itself.
|
|
7
|
+
* object, alongside the simulator-only controls `SimS3` holds itself. The
|
|
8
|
+
* operations that make a Bucket keep what it held are on
|
|
9
|
+
* `SimS3VersionOperations`, which this extends.
|
|
7
10
|
*/
|
|
8
|
-
export class SimS3Operations {
|
|
9
|
-
commands;
|
|
10
|
-
constructor(commands) {
|
|
11
|
-
this.commands = commands;
|
|
12
|
-
}
|
|
11
|
+
export class SimS3Operations extends SimS3VersionOperations {
|
|
13
12
|
/** Handle a Create Bucket Command from the SDK. */
|
|
14
13
|
async createBucket(command, options) {
|
|
15
14
|
return await this.commands.buckets.create(command, options);
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type * as simS3Commands from "./command/sim-s3-command.types.js";
|
|
2
|
+
import type { SimS3RequestOptions } from "./command/sim-s3-request-options.js";
|
|
3
|
+
import type { SimS3Commands } from "./sim-s3-commands.js";
|
|
4
|
+
/**
|
|
5
|
+
* The AWS operations that make a Bucket keep what it held.
|
|
6
|
+
*
|
|
7
|
+
* Versioning is what a Bucket keeps its history in, and Object Lock is what
|
|
8
|
+
* stops anything taking that history away. Object Lock refuses a Bucket
|
|
9
|
+
* without versioning underneath it, so the two are one subject and sit
|
|
10
|
+
* together.
|
|
11
|
+
*
|
|
12
|
+
* `SimS3Operations` extends this, and `SimS3` extends that, so a caller
|
|
13
|
+
* reaches all of them on the one service object.
|
|
14
|
+
*/
|
|
15
|
+
export declare abstract class SimS3VersionOperations {
|
|
16
|
+
protected readonly commands: SimS3Commands;
|
|
17
|
+
protected constructor(commands: SimS3Commands);
|
|
18
|
+
/** Handle a Put Bucket Versioning Command from the SDK. */
|
|
19
|
+
putBucketVersioning(command: simS3Commands.SimPutBucketVersioningCommand, options?: SimS3RequestOptions): Promise<simS3Commands.SimPutBucketVersioningCommandOutput>;
|
|
20
|
+
/** Handle a Get Bucket Versioning Command from the SDK. */
|
|
21
|
+
getBucketVersioning(command: simS3Commands.SimGetBucketVersioningCommand, options?: SimS3RequestOptions): Promise<simS3Commands.SimGetBucketVersioningCommandOutput>;
|
|
22
|
+
/** Handle a List Object Versions Command from the SDK. */
|
|
23
|
+
listObjectVersions(command: simS3Commands.SimListObjectVersionsCommand, options?: SimS3RequestOptions): Promise<simS3Commands.SimListObjectVersionsCommandOutput>;
|
|
24
|
+
/** Handle a Put Object Lock Configuration Command from the SDK. */
|
|
25
|
+
putObjectLockConfiguration(command: simS3Commands.SimPutObjectLockConfigurationCommand, options?: SimS3RequestOptions): Promise<simS3Commands.SimPutObjectLockConfigurationCommandOutput>;
|
|
26
|
+
/** Handle a Get Object Lock Configuration Command from the SDK. */
|
|
27
|
+
getObjectLockConfiguration(command: simS3Commands.SimGetObjectLockConfigurationCommand, options?: SimS3RequestOptions): Promise<simS3Commands.SimGetObjectLockConfigurationCommandOutput>;
|
|
28
|
+
/** Handle a Put Object Retention Command from the SDK. */
|
|
29
|
+
putObjectRetention(command: simS3Commands.SimPutObjectRetentionCommand, options?: SimS3RequestOptions): Promise<simS3Commands.SimPutObjectRetentionCommandOutput>;
|
|
30
|
+
/** Handle a Put Object Legal Hold Command from the SDK. */
|
|
31
|
+
putObjectLegalHold(command: simS3Commands.SimPutObjectLegalHoldCommand, options?: SimS3RequestOptions): Promise<simS3Commands.SimPutObjectLegalHoldCommandOutput>;
|
|
32
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The AWS operations that make a Bucket keep what it held.
|
|
3
|
+
*
|
|
4
|
+
* Versioning is what a Bucket keeps its history in, and Object Lock is what
|
|
5
|
+
* stops anything taking that history away. Object Lock refuses a Bucket
|
|
6
|
+
* without versioning underneath it, so the two are one subject and sit
|
|
7
|
+
* together.
|
|
8
|
+
*
|
|
9
|
+
* `SimS3Operations` extends this, and `SimS3` extends that, so a caller
|
|
10
|
+
* reaches all of them on the one service object.
|
|
11
|
+
*/
|
|
12
|
+
export class SimS3VersionOperations {
|
|
13
|
+
commands;
|
|
14
|
+
constructor(commands) {
|
|
15
|
+
this.commands = commands;
|
|
16
|
+
}
|
|
17
|
+
/** Handle a Put Bucket Versioning Command from the SDK. */
|
|
18
|
+
async putBucketVersioning(command, options) {
|
|
19
|
+
return await this.commands.versioning.put(command, options);
|
|
20
|
+
}
|
|
21
|
+
/** Handle a Get Bucket Versioning Command from the SDK. */
|
|
22
|
+
async getBucketVersioning(command, options) {
|
|
23
|
+
return await this.commands.versioning.get(command, options);
|
|
24
|
+
}
|
|
25
|
+
/** Handle a List Object Versions Command from the SDK. */
|
|
26
|
+
async listObjectVersions(command, options) {
|
|
27
|
+
return await this.commands.versioning.list(command, options);
|
|
28
|
+
}
|
|
29
|
+
/** Handle a Put Object Lock Configuration Command from the SDK. */
|
|
30
|
+
async putObjectLockConfiguration(command, options) {
|
|
31
|
+
return await this.commands.objectLock.putConfiguration(command, options);
|
|
32
|
+
}
|
|
33
|
+
/** Handle a Get Object Lock Configuration Command from the SDK. */
|
|
34
|
+
async getObjectLockConfiguration(command, options) {
|
|
35
|
+
return await this.commands.objectLock.getConfiguration(command, options);
|
|
36
|
+
}
|
|
37
|
+
/** Handle a Put Object Retention Command from the SDK. */
|
|
38
|
+
async putObjectRetention(command, options) {
|
|
39
|
+
return await this.commands.objectLock.putRetention(command, options);
|
|
40
|
+
}
|
|
41
|
+
/** Handle a Put Object Legal Hold Command from the SDK. */
|
|
42
|
+
async putObjectLegalHold(command, options) {
|
|
43
|
+
return await this.commands.objectLock.putLegalHold(command, options);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -11,14 +11,21 @@ export interface SimSchedulerRequestTarget {
|
|
|
11
11
|
readonly Arn?: string | undefined;
|
|
12
12
|
readonly RoleArn?: string | undefined;
|
|
13
13
|
readonly Input?: string | undefined;
|
|
14
|
-
readonly DeadLetterConfig?:
|
|
15
|
-
readonly RetryPolicy?:
|
|
14
|
+
readonly DeadLetterConfig?: SimSchedulerDeadLetterConfig | undefined;
|
|
15
|
+
readonly RetryPolicy?: SimSchedulerRetryPolicy | undefined;
|
|
16
16
|
readonly EcsParameters?: SimEcsTargetParametersType | undefined;
|
|
17
17
|
readonly EventBridgeParameters?: unknown;
|
|
18
18
|
readonly KinesisParameters?: unknown;
|
|
19
19
|
readonly SageMakerPipelineParameters?: unknown;
|
|
20
20
|
readonly SqsParameters?: unknown;
|
|
21
21
|
}
|
|
22
|
+
export interface SimSchedulerDeadLetterConfig {
|
|
23
|
+
readonly Arn?: string | undefined;
|
|
24
|
+
}
|
|
25
|
+
export interface SimSchedulerRetryPolicy {
|
|
26
|
+
readonly MaximumEventAgeInSeconds?: number | undefined;
|
|
27
|
+
readonly MaximumRetryAttempts?: number | undefined;
|
|
28
|
+
}
|
|
22
29
|
/**
|
|
23
30
|
* The time window a schedule invokes its target in.
|
|
24
31
|
*/
|
|
@@ -21,6 +21,8 @@ export function describedSchedule(schedule) {
|
|
|
21
21
|
RoleArn: schedule.target.roleArn,
|
|
22
22
|
Input: schedule.target.input,
|
|
23
23
|
EcsParameters: schedule.target.task?.parameters.declared,
|
|
24
|
+
DeadLetterConfig: schedule.target.deadLetterConfig?.declared,
|
|
25
|
+
RetryPolicy: schedule.target.retryPolicy?.declared,
|
|
24
26
|
},
|
|
25
27
|
CreationDate: schedule.creationDate,
|
|
26
28
|
LastModificationDate: schedule.lastModificationDate,
|
|
@@ -9,12 +9,6 @@ import { SimSchedulerUnsimulatedInputException } from "../../error/sim-scheduler
|
|
|
9
9
|
*/
|
|
10
10
|
function unsimulatedTargetProperties(target) {
|
|
11
11
|
return [
|
|
12
|
-
[
|
|
13
|
-
"DeadLetterConfig",
|
|
14
|
-
target.DeadLetterConfig,
|
|
15
|
-
"a failed invocation is recorded rather than sent on",
|
|
16
|
-
],
|
|
17
|
-
["RetryPolicy", target.RetryPolicy, "an invocation is attempted once"],
|
|
18
12
|
[
|
|
19
13
|
"EventBridgeParameters",
|
|
20
14
|
target.EventBridgeParameters,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export type { SimCreateScheduleCommand, SimCreateScheduleCommandOutput, SimDeleteScheduleCommand, SimDeleteScheduleCommandInput, SimDeleteScheduleCommandOutput, SimGetScheduleCommand, SimGetScheduleCommandInput, SimGetScheduleCommandOutput, SimListSchedulesCommand, SimListSchedulesCommandInput, SimListSchedulesCommandOutput, SimSchedulerFlexibleTimeWindow, SimSchedulerListedSchedule, SimSchedulerRequestTarget, SimSchedulerScheduleInput, SimUpdateScheduleCommand, SimUpdateScheduleCommandOutput, } from "./schedule/schedule.command.js";
|
|
1
|
+
export type { SimCreateScheduleCommand, SimCreateScheduleCommandOutput, SimDeleteScheduleCommand, SimDeleteScheduleCommandInput, SimDeleteScheduleCommandOutput, SimGetScheduleCommand, SimGetScheduleCommandInput, SimGetScheduleCommandOutput, SimListSchedulesCommand, SimListSchedulesCommandInput, SimListSchedulesCommandOutput, SimSchedulerFlexibleTimeWindow, SimSchedulerDeadLetterConfig, SimSchedulerListedSchedule, SimSchedulerRequestTarget, SimSchedulerRetryPolicy, SimSchedulerScheduleInput, SimUpdateScheduleCommand, SimUpdateScheduleCommandOutput, } from "./schedule/schedule.command.js";
|
|
2
2
|
export type { SimCreateScheduleGroupCommand, SimCreateScheduleGroupCommandInput, SimCreateScheduleGroupCommandOutput, SimDeleteScheduleGroupCommand, SimDeleteScheduleGroupCommandInput, SimDeleteScheduleGroupCommandOutput, SimGetScheduleGroupCommand, SimGetScheduleGroupCommandInput, SimGetScheduleGroupCommandOutput, SimListScheduleGroupsCommand, SimListScheduleGroupsCommandInput, SimListScheduleGroupsCommandOutput, SimSchedulerListedScheduleGroup, SimSchedulerTag, } from "./group/group.command.js";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { SimAws } from "../../aws/sim-aws.js";
|
|
2
|
+
import type { SimSchedulerDeadLetterRequest } from "./sim-scheduler-delivery.js";
|
|
3
|
+
interface SimAwsSchedulerDeadLettersProperties {
|
|
4
|
+
readonly simAws: SimAws;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Routes Scheduler dead letters to the Account and Region named by their queue ARNs.
|
|
8
|
+
*/
|
|
9
|
+
export declare class SimAwsSchedulerDeadLetters {
|
|
10
|
+
private readonly simAws;
|
|
11
|
+
constructor(properties: SimAwsSchedulerDeadLettersProperties);
|
|
12
|
+
/**
|
|
13
|
+
* Assume the execution role and send an abandoned input to its queue.
|
|
14
|
+
*/
|
|
15
|
+
deliver(deadLetter: SimSchedulerDeadLetterRequest): Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { assertDefined } from "../../../util/type-guard/defined.js";
|
|
2
|
+
import { parseSqsQueueArn } from "../../sqs/queue/sim-sqs-queue-arn.js";
|
|
3
|
+
import { SimSchedulerDeadLetterQueue } from "./sim-scheduler-dead-letter-queue.js";
|
|
4
|
+
import { assumeSchedulerExecutionRole, schedulerExecutionRoleTarget, } from "./sim-scheduler-execution-role.js";
|
|
5
|
+
/**
|
|
6
|
+
* Routes Scheduler dead letters to the Account and Region named by their queue ARNs.
|
|
7
|
+
*/
|
|
8
|
+
export class SimAwsSchedulerDeadLetters {
|
|
9
|
+
simAws;
|
|
10
|
+
constructor(properties) {
|
|
11
|
+
this.simAws = properties.simAws;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Assume the execution role and send an abandoned input to its queue.
|
|
15
|
+
*/
|
|
16
|
+
async deliver(deadLetter) {
|
|
17
|
+
const { schedule } = deadLetter.delivery;
|
|
18
|
+
const queueArn = schedule.target.deadLetterConfig?.arn;
|
|
19
|
+
assertDefined(queueArn, "A dead-letter delivery requires a queue ARN");
|
|
20
|
+
const queue = parseSqsQueueArn(queueArn);
|
|
21
|
+
assertDefined(queue, `${queueArn} is not a standard SQS queue ARN`);
|
|
22
|
+
const role = schedulerExecutionRoleTarget(schedule.target.roleArn);
|
|
23
|
+
const regionName = queue.regionName;
|
|
24
|
+
const roleScope = this.simAws.accountRegionScope(role.accountId, regionName);
|
|
25
|
+
const caller = await assumeSchedulerExecutionRole(role, roleScope, schedule);
|
|
26
|
+
const scope = this.simAws.accountRegionScope(queue.accountId, regionName);
|
|
27
|
+
await new SimSchedulerDeadLetterQueue({ scope }).deliver({ request: deadLetter.delivery, caller }, deadLetter, queueArn, queue.name);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { SimAws } from "../../aws/sim-aws.js";
|
|
2
|
-
import type { SimSchedulerDeliveryRequest, SimSchedulerDeliveryTargets } from "./sim-scheduler-delivery.js";
|
|
2
|
+
import type { SimSchedulerDeadLetterRequest, SimSchedulerDeliveryRequest, SimSchedulerDeliveryTargets } from "./sim-scheduler-delivery.js";
|
|
3
3
|
interface SimAwsSchedulerDeliveryTargetsProperties {
|
|
4
4
|
readonly simAws: SimAws;
|
|
5
5
|
}
|
|
@@ -16,6 +16,7 @@ interface SimAwsSchedulerDeliveryTargetsProperties {
|
|
|
16
16
|
*/
|
|
17
17
|
export declare class SimAwsSchedulerDeliveryTargets implements SimSchedulerDeliveryTargets {
|
|
18
18
|
private readonly simAws;
|
|
19
|
+
private readonly deadLetters;
|
|
19
20
|
constructor(properties: SimAwsSchedulerDeliveryTargetsProperties);
|
|
20
21
|
/**
|
|
21
22
|
* Assume the schedule's execution role, then invoke its target as that role.
|
|
@@ -24,6 +25,10 @@ export declare class SimAwsSchedulerDeliveryTargets implements SimSchedulerDeliv
|
|
|
24
25
|
* target's, which are not necessarily the same one.
|
|
25
26
|
*/
|
|
26
27
|
deliver(request: SimSchedulerDeliveryRequest): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* Send an exhausted or permanent failure to the configured queue.
|
|
30
|
+
*/
|
|
31
|
+
deadLetter(deadLetter: SimSchedulerDeadLetterRequest): Promise<void>;
|
|
27
32
|
/**
|
|
28
33
|
* Hand the invocation to the one destination that knows this service.
|
|
29
34
|
*/
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SimSchedulerDeliveryFunction } from "./sim-scheduler-delivery-function.js";
|
|
2
|
+
import { SimAwsSchedulerDeadLetters } from "./sim-aws-scheduler-dead-letters.js";
|
|
2
3
|
import { SimSchedulerDeliveryQueue } from "./sim-scheduler-delivery-queue.js";
|
|
3
4
|
import { SimSchedulerDeliveryTask } from "./sim-scheduler-delivery-task.js";
|
|
4
5
|
import { SimSchedulerDeliveryTopic } from "./sim-scheduler-delivery-topic.js";
|
|
@@ -16,8 +17,10 @@ import { assumeSchedulerExecutionRole, schedulerExecutionRoleTarget, } from "./s
|
|
|
16
17
|
*/
|
|
17
18
|
export class SimAwsSchedulerDeliveryTargets {
|
|
18
19
|
simAws;
|
|
20
|
+
deadLetters;
|
|
19
21
|
constructor(properties) {
|
|
20
22
|
this.simAws = properties.simAws;
|
|
23
|
+
this.deadLetters = new SimAwsSchedulerDeadLetters(properties);
|
|
21
24
|
}
|
|
22
25
|
/**
|
|
23
26
|
* Assume the schedule's execution role, then invoke its target as that role.
|
|
@@ -32,6 +35,12 @@ export class SimAwsSchedulerDeliveryTargets {
|
|
|
32
35
|
const caller = await assumeSchedulerExecutionRole(role, roleScope, request.schedule);
|
|
33
36
|
await this.invoke(arn.service, { request, caller });
|
|
34
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Send an exhausted or permanent failure to the configured queue.
|
|
40
|
+
*/
|
|
41
|
+
async deadLetter(deadLetter) {
|
|
42
|
+
await this.deadLetters.deliver(deadLetter);
|
|
43
|
+
}
|
|
35
44
|
/**
|
|
36
45
|
* Hand the invocation to the one destination that knows this service.
|
|
37
46
|
*/
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { SimAwsAccountRegionContainer } from "../../aws/sim-aws-account-region-scope.js";
|
|
2
|
+
import type { SimSchedulerAssumedDelivery, SimSchedulerDeadLetterRequest } from "./sim-scheduler-delivery.js";
|
|
3
|
+
interface SimSchedulerDeadLetterQueueProperties {
|
|
4
|
+
readonly scope: SimAwsAccountRegionContainer;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Sends an undelivered schedule input to a standard SQS queue.
|
|
8
|
+
*/
|
|
9
|
+
export declare class SimSchedulerDeadLetterQueue {
|
|
10
|
+
private readonly scope;
|
|
11
|
+
constructor(properties: SimSchedulerDeadLetterQueueProperties);
|
|
12
|
+
/**
|
|
13
|
+
* Send the original input with Scheduler's diagnostic message attributes.
|
|
14
|
+
*/
|
|
15
|
+
deliver(assumed: SimSchedulerAssumedDelivery, deadLetter: SimSchedulerDeadLetterRequest, queueArn: string, queueName: string): Promise<void>;
|
|
16
|
+
private attributes;
|
|
17
|
+
}
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { simScopeIamAuthZ } from "../../iam/authorize/sim-iam-region-auth-z.js";
|
|
3
|
+
import { SimSchedulerDeliveryNotPermitted, SimSchedulerTargetNotFound, } from "../error/sim-scheduler-delivery.error.js";
|
|
4
|
+
import { simSchedulerDeliveryJson } from "./sim-scheduler-delivery.js";
|
|
5
|
+
const sendAction = "sqs:SendMessage";
|
|
6
|
+
/**
|
|
7
|
+
* Sends an undelivered schedule input to a standard SQS queue.
|
|
8
|
+
*/
|
|
9
|
+
export class SimSchedulerDeadLetterQueue {
|
|
10
|
+
scope;
|
|
11
|
+
constructor(properties) {
|
|
12
|
+
this.scope = properties.scope;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Send the original input with Scheduler's diagnostic message attributes.
|
|
16
|
+
*/
|
|
17
|
+
async deliver(assumed, deadLetter, queueArn, queueName) {
|
|
18
|
+
const queue = this.scope.sqs().findQueue(queueName);
|
|
19
|
+
if (queue === undefined) {
|
|
20
|
+
throw new SimSchedulerTargetNotFound(`${queueArn} is not a simulated SQS queue.`);
|
|
21
|
+
}
|
|
22
|
+
const decision = simScopeIamAuthZ(this.scope).authorize({
|
|
23
|
+
action: sendAction,
|
|
24
|
+
resource: queueArn,
|
|
25
|
+
caller: assumed.caller,
|
|
26
|
+
});
|
|
27
|
+
if (decision.isDenied) {
|
|
28
|
+
throw new SimSchedulerDeliveryNotPermitted(`${deadLetter.delivery.schedule.target.roleArn} is not allowed to ` +
|
|
29
|
+
`${sendAction} on ${queueArn}. ` +
|
|
30
|
+
`Grant it in a policy on the execution role.`);
|
|
31
|
+
}
|
|
32
|
+
await this.scope.sqs().sendMessage({
|
|
33
|
+
input: {
|
|
34
|
+
QueueUrl: queue.arn.url,
|
|
35
|
+
MessageBody: simSchedulerDeliveryJson(deadLetter.delivery),
|
|
36
|
+
MessageAttributes: this.attributes(deadLetter),
|
|
37
|
+
},
|
|
38
|
+
}, { caller: assumed.caller });
|
|
39
|
+
}
|
|
40
|
+
attributes(deadLetter) {
|
|
41
|
+
const { delivery, error, retryAttempts, exhaustedCondition } = deadLetter;
|
|
42
|
+
const errorCode = error instanceof Error ? error.name : "Error";
|
|
43
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
44
|
+
const attributes = {
|
|
45
|
+
ERROR_CODE: errorCode,
|
|
46
|
+
ERROR_MESSAGE: errorMessage,
|
|
47
|
+
EXECUTION_ID: randomUUID(),
|
|
48
|
+
IS_PAYLOAD_TRUNCATED: "false",
|
|
49
|
+
RETRY_ATTEMPTS: String(retryAttempts),
|
|
50
|
+
SCHEDULED_TIME: delivery.at.toISOString(),
|
|
51
|
+
SCHEDULE_ARN: delivery.schedule.arn,
|
|
52
|
+
TARGET_ARN: delivery.schedule.target.arn.value,
|
|
53
|
+
...(exhaustedCondition !== undefined && {
|
|
54
|
+
EXHAUSTED_RETRY_CONDITION: exhaustedCondition,
|
|
55
|
+
}),
|
|
56
|
+
};
|
|
57
|
+
return Object.fromEntries(Object.entries(attributes).map(([name, value]) => [
|
|
58
|
+
name,
|
|
59
|
+
{ DataType: "String", StringValue: value },
|
|
60
|
+
]));
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { BackgroundScheduler } from "../../../util/background/background.js";
|
|
2
|
+
import type { SimSchedulerDeliveryRequest, SimSchedulerDeliveryTargets } from "./sim-scheduler-delivery.js";
|
|
3
|
+
interface SimSchedulerDeliveryAttemptProperties {
|
|
4
|
+
readonly request: SimSchedulerDeliveryRequest;
|
|
5
|
+
readonly endpoints: SimSchedulerDeliveryTargets;
|
|
6
|
+
readonly background: BackgroundScheduler;
|
|
7
|
+
readonly record: (error: unknown) => void;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* One scheduled invocation across its initial attempt and any retries.
|
|
11
|
+
*/
|
|
12
|
+
export declare class SimSchedulerDeliveryAttempt {
|
|
13
|
+
private readonly properties;
|
|
14
|
+
private retryAttempts;
|
|
15
|
+
constructor(properties: SimSchedulerDeliveryAttemptProperties);
|
|
16
|
+
/**
|
|
17
|
+
* Make the initial attempt.
|
|
18
|
+
*/
|
|
19
|
+
start(): Promise<void>;
|
|
20
|
+
private attempt;
|
|
21
|
+
private failed;
|
|
22
|
+
/**
|
|
23
|
+
* The first retry waits one second, and every following wait doubles.
|
|
24
|
+
*/
|
|
25
|
+
private retryDueTime;
|
|
26
|
+
private isPermanent;
|
|
27
|
+
private abandon;
|
|
28
|
+
}
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { SimSchedulerDeliveryNotPermitted, SimSchedulerTargetNotFound, } from "../error/sim-scheduler-delivery.error.js";
|
|
2
|
+
const millisecondsPerSecond = 1000;
|
|
3
|
+
/**
|
|
4
|
+
* One scheduled invocation across its initial attempt and any retries.
|
|
5
|
+
*/
|
|
6
|
+
export class SimSchedulerDeliveryAttempt {
|
|
7
|
+
properties;
|
|
8
|
+
retryAttempts = 0;
|
|
9
|
+
constructor(properties) {
|
|
10
|
+
this.properties = properties;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Make the initial attempt.
|
|
14
|
+
*/
|
|
15
|
+
async start() {
|
|
16
|
+
await this.attempt();
|
|
17
|
+
}
|
|
18
|
+
async attempt() {
|
|
19
|
+
try {
|
|
20
|
+
await this.properties.endpoints.deliver(this.properties.request);
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
await this.failed(error);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
async failed(error) {
|
|
27
|
+
if (this.isPermanent(error)) {
|
|
28
|
+
await this.abandon(error);
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const policy = this.properties.request.schedule.target.retryPolicy;
|
|
32
|
+
const maximumRetries = policy?.maximumRetryAttempts ?? 0;
|
|
33
|
+
if (this.retryAttempts >= maximumRetries) {
|
|
34
|
+
await this.abandon(error, "MaximumRetryAttempts");
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const retryDue = this.retryDueTime();
|
|
38
|
+
const expiresAt = this.properties.request.at.getTime() +
|
|
39
|
+
(policy?.maximumEventAgeInSeconds ?? 0) * millisecondsPerSecond;
|
|
40
|
+
if (policy !== undefined && retryDue.getTime() > expiresAt) {
|
|
41
|
+
this.properties.background.scheduleAt(new Date(expiresAt), async () => {
|
|
42
|
+
await this.abandon(error, "MaximumEventAgeInSeconds");
|
|
43
|
+
});
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
this.properties.background.scheduleAt(retryDue, async () => {
|
|
47
|
+
this.retryAttempts += 1;
|
|
48
|
+
await this.attempt();
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* The first retry waits one second, and every following wait doubles.
|
|
53
|
+
*/
|
|
54
|
+
retryDueTime() {
|
|
55
|
+
const delaySeconds = 2 ** this.retryAttempts;
|
|
56
|
+
return new Date(this.properties.background.now().getTime() +
|
|
57
|
+
delaySeconds * millisecondsPerSecond);
|
|
58
|
+
}
|
|
59
|
+
isPermanent(error) {
|
|
60
|
+
return (error instanceof SimSchedulerDeliveryNotPermitted ||
|
|
61
|
+
error instanceof SimSchedulerTargetNotFound);
|
|
62
|
+
}
|
|
63
|
+
async abandon(error, exhaustedCondition) {
|
|
64
|
+
const { request, endpoints, record } = this.properties;
|
|
65
|
+
if (request.schedule.target.deadLetterConfig?.arn === undefined) {
|
|
66
|
+
record(error);
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
try {
|
|
70
|
+
await endpoints.deadLetter({
|
|
71
|
+
delivery: request,
|
|
72
|
+
error,
|
|
73
|
+
retryAttempts: this.retryAttempts,
|
|
74
|
+
exhaustedCondition,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
catch (deadLetterError) {
|
|
78
|
+
record(deadLetterError);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
@@ -36,10 +36,14 @@ export class SimSchedulerDeliveryFunction {
|
|
|
36
36
|
`${invokeAction} on ${targetArn.value}. Grant it in a policy on ` +
|
|
37
37
|
`the execution role.`);
|
|
38
38
|
}
|
|
39
|
-
//
|
|
40
|
-
//
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
39
|
+
// Scheduler waits for Lambda to accept the event. Lambda owns everything
|
|
40
|
+
// after acceptance, including handler errors, retries and destinations.
|
|
41
|
+
await this.scope.lambda().invoke({
|
|
42
|
+
input: {
|
|
43
|
+
FunctionName: targetArn.value,
|
|
44
|
+
InvocationType: "Event",
|
|
45
|
+
Payload: JSON.stringify(simSchedulerDeliveryDocument(delivery.request)),
|
|
46
|
+
},
|
|
47
|
+
}, { caller: delivery.caller });
|
|
44
48
|
}
|
|
45
49
|
}
|