@kensio/yulin 1.21.0 → 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/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/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/sqs/README.md +47 -10
- package/llms.txt +1 -0
- package/package.json +7 -2
|
@@ -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
|
}
|
|
@@ -31,6 +31,17 @@ export interface SimSchedulerDeliveryTargets {
|
|
|
31
31
|
* Invoke a schedule's target, refusing if its execution role may not.
|
|
32
32
|
*/
|
|
33
33
|
deliver(request: SimSchedulerDeliveryRequest): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* Send an invocation Scheduler has stopped trying to its dead-letter queue.
|
|
36
|
+
*/
|
|
37
|
+
deadLetter(request: SimSchedulerDeadLetterRequest): Promise<void>;
|
|
38
|
+
}
|
|
39
|
+
export type SimSchedulerExhaustedRetryCondition = "MaximumEventAgeInSeconds" | "MaximumRetryAttempts";
|
|
40
|
+
export interface SimSchedulerDeadLetterRequest {
|
|
41
|
+
readonly delivery: SimSchedulerDeliveryRequest;
|
|
42
|
+
readonly error: unknown;
|
|
43
|
+
readonly retryAttempts: number;
|
|
44
|
+
readonly exhaustedCondition?: SimSchedulerExhaustedRetryCondition | undefined;
|
|
34
45
|
}
|
|
35
46
|
/**
|
|
36
47
|
* What a target receives, as the JSON text a queue or a topic carries.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SimSchedulerDeliveryRequest, SimSchedulerDeliveryTargets } from "./sim-scheduler-delivery.js";
|
|
1
|
+
import type { SimSchedulerDeadLetterRequest, SimSchedulerDeliveryRequest, SimSchedulerDeliveryTargets } from "./sim-scheduler-delivery.js";
|
|
2
2
|
/**
|
|
3
3
|
* The targets of a simulated Scheduler built on its own, which are none.
|
|
4
4
|
*
|
|
@@ -13,4 +13,8 @@ export declare class SimSchedulerNoDeliveryTargets implements SimSchedulerDelive
|
|
|
13
13
|
* Refuse the invocation, saying why there was nowhere to make it.
|
|
14
14
|
*/
|
|
15
15
|
deliver(request: SimSchedulerDeliveryRequest): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Refuse a dead-letter delivery for the same reason as a target delivery.
|
|
18
|
+
*/
|
|
19
|
+
deadLetter(request: SimSchedulerDeadLetterRequest): Promise<void>;
|
|
16
20
|
}
|
|
@@ -17,4 +17,12 @@ export class SimSchedulerNoDeliveryTargets {
|
|
|
17
17
|
`${request.schedule.target.arn.value} was not reached. Reach ` +
|
|
18
18
|
`Scheduler through SimAws for a schedule that invokes.`));
|
|
19
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Refuse a dead-letter delivery for the same reason as a target delivery.
|
|
22
|
+
*/
|
|
23
|
+
deadLetter(request) {
|
|
24
|
+
return Promise.reject(new SimSchedulerTargetNotFound(`This simulated Scheduler has no queues to dead-letter ` +
|
|
25
|
+
`${request.delivery.schedule.arn} to. Reach Scheduler through ` +
|
|
26
|
+
`SimAws for a schedule that invokes.`));
|
|
27
|
+
}
|
|
20
28
|
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import type { SimSchedulerDeliveryRequest, SimSchedulerDeliveryTargets } from "./sim-scheduler-delivery.js";
|
|
2
|
+
import type { BackgroundScheduler } from "../../../util/background/background.js";
|
|
2
3
|
import { type SimSchedulerDeliveryFailure } from "./sim-scheduler-delivery-failures.js";
|
|
3
4
|
interface SimSchedulerTargetDeliveryProperties {
|
|
4
5
|
readonly endpoints: SimSchedulerDeliveryTargets;
|
|
6
|
+
readonly background: BackgroundScheduler;
|
|
5
7
|
}
|
|
6
8
|
/**
|
|
7
|
-
*
|
|
9
|
+
* Runs one scheduled invocation through its attempts and keeps final failures.
|
|
8
10
|
*
|
|
9
11
|
* A failure is recorded rather than thrown, because these run as background
|
|
10
12
|
* tasks and one left rejected would fail an unrelated
|
|
@@ -13,6 +15,7 @@ interface SimSchedulerTargetDeliveryProperties {
|
|
|
13
15
|
*/
|
|
14
16
|
export declare class SimSchedulerTargetDelivery {
|
|
15
17
|
private readonly endpoints;
|
|
18
|
+
private readonly background;
|
|
16
19
|
private readonly failures;
|
|
17
20
|
constructor(properties: SimSchedulerTargetDeliveryProperties);
|
|
18
21
|
/**
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { SimSchedulerDeliveryAttempt } from "./sim-scheduler-delivery-attempt.js";
|
|
1
2
|
import { SimSchedulerDeliveryFailures, } from "./sim-scheduler-delivery-failures.js";
|
|
2
3
|
/**
|
|
3
|
-
*
|
|
4
|
+
* Runs one scheduled invocation through its attempts and keeps final failures.
|
|
4
5
|
*
|
|
5
6
|
* A failure is recorded rather than thrown, because these run as background
|
|
6
7
|
* tasks and one left rejected would fail an unrelated
|
|
@@ -9,9 +10,11 @@ import { SimSchedulerDeliveryFailures, } from "./sim-scheduler-delivery-failures
|
|
|
9
10
|
*/
|
|
10
11
|
export class SimSchedulerTargetDelivery {
|
|
11
12
|
endpoints;
|
|
13
|
+
background;
|
|
12
14
|
failures = new SimSchedulerDeliveryFailures();
|
|
13
15
|
constructor(properties) {
|
|
14
16
|
this.endpoints = properties.endpoints;
|
|
17
|
+
this.background = properties.background;
|
|
15
18
|
}
|
|
16
19
|
/**
|
|
17
20
|
* Every invocation that could not be made.
|
|
@@ -23,19 +26,21 @@ export class SimSchedulerTargetDelivery {
|
|
|
23
26
|
* Invoke one schedule's target.
|
|
24
27
|
*/
|
|
25
28
|
async deliver(request) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
29
|
+
await new SimSchedulerDeliveryAttempt({
|
|
30
|
+
request,
|
|
31
|
+
endpoints: this.endpoints,
|
|
32
|
+
background: this.background,
|
|
33
|
+
record: (error) => {
|
|
34
|
+
const schedule = request.schedule;
|
|
35
|
+
this.failures.record({
|
|
36
|
+
scheduleName: schedule.name.value,
|
|
37
|
+
scheduleArn: schedule.arn,
|
|
38
|
+
targetArn: schedule.target.arn.value,
|
|
39
|
+
roleArn: schedule.target.roleArn,
|
|
40
|
+
at: request.at,
|
|
41
|
+
error,
|
|
42
|
+
});
|
|
43
|
+
},
|
|
44
|
+
}).start();
|
|
40
45
|
}
|
|
41
46
|
}
|
|
@@ -9,7 +9,7 @@ export { SimSchedulerScheduleState } from "./schedule/sim-scheduler-schedule-sta
|
|
|
9
9
|
export { schedulerScheduleDialect } from "./schedule/sim-scheduler-schedule-expression.js";
|
|
10
10
|
export { SimSchedulerTarget } from "./target/sim-scheduler-target.js";
|
|
11
11
|
export { simSchedulerTargetServices, SimSchedulerTargetArn, type SimSchedulerTargetService, } from "./target/sim-scheduler-target-arn.js";
|
|
12
|
-
export { simSchedulerServicePrincipal, type SimSchedulerDeliveryTargets, } from "./delivery/sim-scheduler-delivery.js";
|
|
12
|
+
export { simSchedulerServicePrincipal, type SimSchedulerDeadLetterRequest, type SimSchedulerDeliveryRequest, type SimSchedulerDeliveryTargets, type SimSchedulerExhaustedRetryCondition, } from "./delivery/sim-scheduler-delivery.js";
|
|
13
13
|
export { SimSchedulerDeliveryFailure, type SimSchedulerDeliveryFailureJson, } from "./delivery/sim-scheduler-delivery-failures.js";
|
|
14
14
|
export { SimSchedulerDeliveryNotPermitted, SimSchedulerTargetNotFound, } from "./error/sim-scheduler-delivery.error.js";
|
|
15
15
|
export { SimSchedulerAccessDeniedException, SimSchedulerConflictException, SimSchedulerError, SimSchedulerResourceNotFoundException, SimSchedulerUnsimulatedInputException, SimSchedulerValidationException, } from "./error/sim-scheduler.error.js";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface SimSchedulerDeadLetterConfigInput {
|
|
2
|
+
readonly Arn?: string | undefined;
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* The standard SQS queue a target sends undelivered input to.
|
|
6
|
+
*/
|
|
7
|
+
export declare class SimSchedulerDeadLetterConfig {
|
|
8
|
+
readonly declared: SimSchedulerDeadLetterConfigInput;
|
|
9
|
+
readonly arn: string | undefined;
|
|
10
|
+
private constructor();
|
|
11
|
+
/**
|
|
12
|
+
* Read a dead-letter configuration, refusing anything but a standard queue.
|
|
13
|
+
*/
|
|
14
|
+
static of(config: SimSchedulerDeadLetterConfigInput): SimSchedulerDeadLetterConfig;
|
|
15
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { parseSqsQueueArn } from "../../sqs/queue/sim-sqs-queue-arn.js";
|
|
2
|
+
import { SimSchedulerValidationException } from "../error/sim-scheduler.error.js";
|
|
3
|
+
/**
|
|
4
|
+
* The standard SQS queue a target sends undelivered input to.
|
|
5
|
+
*/
|
|
6
|
+
export class SimSchedulerDeadLetterConfig {
|
|
7
|
+
declared;
|
|
8
|
+
arn;
|
|
9
|
+
constructor(config) {
|
|
10
|
+
this.declared = { ...config };
|
|
11
|
+
this.arn = config.Arn;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Read a dead-letter configuration, refusing anything but a standard queue.
|
|
15
|
+
*/
|
|
16
|
+
static of(config) {
|
|
17
|
+
const { Arn: arn } = config;
|
|
18
|
+
if (arn !== undefined && parseSqsQueueArn(arn) === undefined) {
|
|
19
|
+
throw new SimSchedulerValidationException(`Target DeadLetterConfig Arn ${arn} is not a standard SQS queue ARN. ` +
|
|
20
|
+
`One is arn:aws:sqs:<region>:<account-id>:<queue-name>.`);
|
|
21
|
+
}
|
|
22
|
+
return new this(config);
|
|
23
|
+
}
|
|
24
|
+
}
|