@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,62 @@
|
|
|
1
|
+
import { isRecord } from "../../../util/type-guard/record.js";
|
|
2
|
+
import { simCfnBackupResourceError } from "./sim-cfn-backup-resource-error.js";
|
|
3
|
+
/** Provides typed access to AWS Backup CloudFormation properties. */
|
|
4
|
+
export class SimCfnBackupPropertyReader {
|
|
5
|
+
resource;
|
|
6
|
+
values;
|
|
7
|
+
constructor(resource, properties) {
|
|
8
|
+
this.resource = resource;
|
|
9
|
+
this.values = new Map(Object.entries(properties));
|
|
10
|
+
}
|
|
11
|
+
requiredString(name) {
|
|
12
|
+
const value = this.string(name);
|
|
13
|
+
if (value === undefined || value.length === 0) {
|
|
14
|
+
throw this.error(`${name} is required`);
|
|
15
|
+
}
|
|
16
|
+
return value;
|
|
17
|
+
}
|
|
18
|
+
string(name) {
|
|
19
|
+
return this.optionalString(this.values.get(name), name);
|
|
20
|
+
}
|
|
21
|
+
optionalString(value, name) {
|
|
22
|
+
if (value === undefined)
|
|
23
|
+
return undefined;
|
|
24
|
+
if (typeof value !== "string")
|
|
25
|
+
throw this.error(`${name} must be a string`);
|
|
26
|
+
return value;
|
|
27
|
+
}
|
|
28
|
+
requiredRecordString(record, name) {
|
|
29
|
+
const value = this.optionalString(this.recordValue(record, name), name);
|
|
30
|
+
if (value === undefined || value.length === 0) {
|
|
31
|
+
throw this.error(`${name} is required`);
|
|
32
|
+
}
|
|
33
|
+
return value;
|
|
34
|
+
}
|
|
35
|
+
optionalNumber(value, name) {
|
|
36
|
+
if (value === undefined)
|
|
37
|
+
return undefined;
|
|
38
|
+
if (typeof value !== "number")
|
|
39
|
+
throw this.error(`${name} must be a number`);
|
|
40
|
+
return value;
|
|
41
|
+
}
|
|
42
|
+
stringArray(value, name) {
|
|
43
|
+
if (value === undefined)
|
|
44
|
+
return undefined;
|
|
45
|
+
if (!Array.isArray(value) ||
|
|
46
|
+
!value.every((item) => typeof item === "string")) {
|
|
47
|
+
throw this.error(`${name} must be an array of strings`);
|
|
48
|
+
}
|
|
49
|
+
return value;
|
|
50
|
+
}
|
|
51
|
+
record(value, name) {
|
|
52
|
+
if (!isRecord(value))
|
|
53
|
+
throw this.error(`${name} must be an object`);
|
|
54
|
+
return value;
|
|
55
|
+
}
|
|
56
|
+
recordValue(record, name) {
|
|
57
|
+
return new Map(Object.entries(record)).get(name);
|
|
58
|
+
}
|
|
59
|
+
error(reason) {
|
|
60
|
+
return simCfnBackupResourceError(this.resource.type ?? "AWS::Backup::Unknown", this.resource.logicalId, reason);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const backupVaultResourceType = "AWS::Backup::BackupVault";
|
|
2
|
+
export declare const backupPlanResourceType = "AWS::Backup::BackupPlan";
|
|
3
|
+
export declare const backupSelectionResourceType = "AWS::Backup::BackupSelection";
|
|
4
|
+
/** Creates an error for invalid AWS Backup CloudFormation resources. */
|
|
5
|
+
export declare function simCfnBackupResourceError(resourceType: string, logicalId: string, reason: string, cause?: unknown): Error;
|
|
6
|
+
/** Rewrites AWS Backup command errors with CloudFormation resource context. */
|
|
7
|
+
export declare function simCfnBackupResourceCreation<T>(resourceType: string, logicalId: string, create: () => Promise<T>): Promise<T>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { SimBackupError } from "../error/sim-backup.error.js";
|
|
2
|
+
export const backupVaultResourceType = "AWS::Backup::BackupVault";
|
|
3
|
+
export const backupPlanResourceType = "AWS::Backup::BackupPlan";
|
|
4
|
+
export const backupSelectionResourceType = "AWS::Backup::BackupSelection";
|
|
5
|
+
/** Creates an error for invalid AWS Backup CloudFormation resources. */
|
|
6
|
+
export function simCfnBackupResourceError(resourceType, logicalId, reason, cause) {
|
|
7
|
+
return new Error(`Invalid ${resourceType} Resource ${logicalId}: ${reason}`, {
|
|
8
|
+
cause,
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
/** Rewrites AWS Backup command errors with CloudFormation resource context. */
|
|
12
|
+
export async function simCfnBackupResourceCreation(resourceType, logicalId, create) {
|
|
13
|
+
try {
|
|
14
|
+
return await create();
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
if (error instanceof SimBackupError) {
|
|
18
|
+
throw simCfnBackupResourceError(resourceType, logicalId, error.message, error);
|
|
19
|
+
}
|
|
20
|
+
throw error;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { SimIamInterServiceAuthZ } from "../../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
2
|
+
import type { SimBackupRequestOptions } from "./sim-backup-request-options.js";
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
*/
|
|
6
|
+
export declare class SimBackupAuthorizer {
|
|
7
|
+
private readonly iam;
|
|
8
|
+
private readonly callerIdentifier;
|
|
9
|
+
constructor(iam: SimIamInterServiceAuthZ);
|
|
10
|
+
authorize(action: string, resource: string, options?: SimBackupRequestOptions): void;
|
|
11
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { SimIamCallerIdentifier } from "../../iam/error/sim-iam-caller-identifier.js";
|
|
2
|
+
import { SimBackupAccessDeniedException } from "../error/sim-backup.error.js";
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
*/
|
|
6
|
+
export class SimBackupAuthorizer {
|
|
7
|
+
iam;
|
|
8
|
+
callerIdentifier = new SimIamCallerIdentifier();
|
|
9
|
+
constructor(iam) {
|
|
10
|
+
this.iam = iam;
|
|
11
|
+
}
|
|
12
|
+
authorize(action, resource, options) {
|
|
13
|
+
const decision = this.iam.authorize({
|
|
14
|
+
action,
|
|
15
|
+
resource,
|
|
16
|
+
caller: options?.caller,
|
|
17
|
+
});
|
|
18
|
+
if (decision.isDenied) {
|
|
19
|
+
const caller = this.callerIdentifier.format(decision.caller.principal);
|
|
20
|
+
throw new SimBackupAccessDeniedException(`User: ${caller} is not authorized to perform: ${action} on ` +
|
|
21
|
+
`resource: ${resource}`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
export interface SimBackupLifecycle {
|
|
2
|
+
readonly MoveToColdStorageAfterDays?: number | undefined;
|
|
3
|
+
readonly DeleteAfterDays?: number | undefined;
|
|
4
|
+
}
|
|
5
|
+
export interface SimBackupRuleInput {
|
|
6
|
+
readonly RuleName?: string | undefined;
|
|
7
|
+
readonly TargetBackupVaultName?: string | undefined;
|
|
8
|
+
readonly ScheduleExpression?: string | undefined;
|
|
9
|
+
readonly Lifecycle?: SimBackupLifecycle | undefined;
|
|
10
|
+
}
|
|
11
|
+
export interface SimBackupRule extends SimBackupRuleInput {
|
|
12
|
+
readonly RuleId: string;
|
|
13
|
+
readonly RuleName: string;
|
|
14
|
+
readonly TargetBackupVaultName: string;
|
|
15
|
+
readonly ScheduleExpression: string;
|
|
16
|
+
}
|
|
17
|
+
export interface SimRecoveryPointCreator {
|
|
18
|
+
readonly BackupPlanId?: string | undefined;
|
|
19
|
+
readonly BackupPlanArn?: string | undefined;
|
|
20
|
+
readonly BackupPlanName?: string | undefined;
|
|
21
|
+
readonly BackupPlanVersion?: string | undefined;
|
|
22
|
+
readonly BackupRuleId?: string | undefined;
|
|
23
|
+
readonly BackupRuleName?: string | undefined;
|
|
24
|
+
}
|
|
25
|
+
export interface SimCalculatedLifecycle {
|
|
26
|
+
readonly MoveToColdStorageAt?: Date | undefined;
|
|
27
|
+
readonly DeleteAt?: Date | undefined;
|
|
28
|
+
}
|
|
29
|
+
export interface SimBackupPlanInput {
|
|
30
|
+
readonly BackupPlanName?: string | undefined;
|
|
31
|
+
readonly Rules?: readonly SimBackupRuleInput[] | undefined;
|
|
32
|
+
}
|
|
33
|
+
export interface SimBackupSelectionInput {
|
|
34
|
+
readonly SelectionName?: string | undefined;
|
|
35
|
+
readonly IamRoleArn?: string | undefined;
|
|
36
|
+
readonly Resources?: readonly string[] | undefined;
|
|
37
|
+
}
|
|
38
|
+
export interface SimBackupCommand<Input> {
|
|
39
|
+
readonly input: Input;
|
|
40
|
+
}
|
|
41
|
+
export type SimCreateBackupVaultCommand = SimBackupCommand<{
|
|
42
|
+
readonly BackupVaultName?: string | undefined;
|
|
43
|
+
readonly BackupVaultTags?: Readonly<Record<string, string>> | undefined;
|
|
44
|
+
readonly EncryptionKeyArn?: string | undefined;
|
|
45
|
+
readonly CreatorRequestId?: string | undefined;
|
|
46
|
+
}>;
|
|
47
|
+
export interface SimCreateBackupVaultCommandOutput {
|
|
48
|
+
readonly BackupVaultName?: string | undefined;
|
|
49
|
+
readonly BackupVaultArn?: string | undefined;
|
|
50
|
+
readonly CreationDate?: Date | undefined;
|
|
51
|
+
}
|
|
52
|
+
export type SimDescribeBackupVaultCommand = SimBackupCommand<{
|
|
53
|
+
readonly BackupVaultName?: string | undefined;
|
|
54
|
+
}>;
|
|
55
|
+
export interface SimDescribeBackupVaultCommandOutput {
|
|
56
|
+
readonly BackupVaultName?: string | undefined;
|
|
57
|
+
readonly BackupVaultArn?: string | undefined;
|
|
58
|
+
readonly EncryptionKeyArn?: string | undefined;
|
|
59
|
+
readonly CreationDate?: Date | undefined;
|
|
60
|
+
readonly CreatorRequestId?: string | undefined;
|
|
61
|
+
readonly NumberOfRecoveryPoints?: number | undefined;
|
|
62
|
+
readonly Locked?: boolean | undefined;
|
|
63
|
+
readonly MinRetentionDays?: number | undefined;
|
|
64
|
+
readonly MaxRetentionDays?: number | undefined;
|
|
65
|
+
readonly LockDate?: Date | undefined;
|
|
66
|
+
}
|
|
67
|
+
export type SimDeleteBackupVaultCommand = SimDescribeBackupVaultCommand;
|
|
68
|
+
export type SimDeleteBackupVaultCommandOutput = object;
|
|
69
|
+
export type SimListBackupVaultsCommand = SimBackupCommand<{
|
|
70
|
+
readonly MaxResults?: number | undefined;
|
|
71
|
+
readonly NextToken?: string | undefined;
|
|
72
|
+
}>;
|
|
73
|
+
export interface SimBackupVaultListMember {
|
|
74
|
+
readonly BackupVaultName?: string | undefined;
|
|
75
|
+
readonly BackupVaultArn?: string | undefined;
|
|
76
|
+
readonly CreationDate?: Date | undefined;
|
|
77
|
+
readonly EncryptionKeyArn?: string | undefined;
|
|
78
|
+
readonly CreatorRequestId?: string | undefined;
|
|
79
|
+
readonly NumberOfRecoveryPoints?: number | undefined;
|
|
80
|
+
readonly Locked?: boolean | undefined;
|
|
81
|
+
readonly MinRetentionDays?: number | undefined;
|
|
82
|
+
readonly MaxRetentionDays?: number | undefined;
|
|
83
|
+
readonly LockDate?: Date | undefined;
|
|
84
|
+
}
|
|
85
|
+
export interface SimListBackupVaultsCommandOutput {
|
|
86
|
+
readonly BackupVaultList?: readonly SimBackupVaultListMember[] | undefined;
|
|
87
|
+
readonly NextToken?: string | undefined;
|
|
88
|
+
}
|
|
89
|
+
export type SimPutBackupVaultLockConfigurationCommand = SimBackupCommand<{
|
|
90
|
+
readonly BackupVaultName?: string | undefined;
|
|
91
|
+
readonly MinRetentionDays?: number | undefined;
|
|
92
|
+
readonly MaxRetentionDays?: number | undefined;
|
|
93
|
+
readonly ChangeableForDays?: number | undefined;
|
|
94
|
+
}>;
|
|
95
|
+
export type SimPutBackupVaultLockConfigurationCommandOutput = object;
|
|
96
|
+
export type SimCreateBackupPlanCommand = SimBackupCommand<{
|
|
97
|
+
readonly BackupPlan?: SimBackupPlanInput | undefined;
|
|
98
|
+
readonly CreatorRequestId?: string | undefined;
|
|
99
|
+
}>;
|
|
100
|
+
export interface SimCreateBackupPlanCommandOutput {
|
|
101
|
+
readonly BackupPlanId?: string | undefined;
|
|
102
|
+
readonly BackupPlanArn?: string | undefined;
|
|
103
|
+
readonly CreationDate?: Date | undefined;
|
|
104
|
+
readonly VersionId?: string | undefined;
|
|
105
|
+
}
|
|
106
|
+
export type SimGetBackupPlanCommand = SimBackupCommand<{
|
|
107
|
+
readonly BackupPlanId?: string | undefined;
|
|
108
|
+
readonly VersionId?: string | undefined;
|
|
109
|
+
}>;
|
|
110
|
+
export interface SimGetBackupPlanCommandOutput {
|
|
111
|
+
readonly BackupPlan?: {
|
|
112
|
+
readonly BackupPlanName?: string | undefined;
|
|
113
|
+
readonly Rules?: readonly SimBackupRule[] | undefined;
|
|
114
|
+
};
|
|
115
|
+
readonly BackupPlanId?: string | undefined;
|
|
116
|
+
readonly BackupPlanArn?: string | undefined;
|
|
117
|
+
readonly VersionId?: string | undefined;
|
|
118
|
+
readonly CreatorRequestId?: string | undefined;
|
|
119
|
+
readonly CreationDate?: Date | undefined;
|
|
120
|
+
}
|
|
121
|
+
export type SimCreateBackupSelectionCommand = SimBackupCommand<{
|
|
122
|
+
readonly BackupPlanId?: string | undefined;
|
|
123
|
+
readonly BackupSelection?: SimBackupSelectionInput | undefined;
|
|
124
|
+
readonly CreatorRequestId?: string | undefined;
|
|
125
|
+
}>;
|
|
126
|
+
export interface SimCreateBackupSelectionCommandOutput {
|
|
127
|
+
readonly SelectionId?: string | undefined;
|
|
128
|
+
readonly BackupPlanId?: string | undefined;
|
|
129
|
+
readonly CreationDate?: Date | undefined;
|
|
130
|
+
}
|
|
131
|
+
export type SimGetBackupSelectionCommand = SimBackupCommand<{
|
|
132
|
+
readonly BackupPlanId?: string | undefined;
|
|
133
|
+
readonly SelectionId?: string | undefined;
|
|
134
|
+
}>;
|
|
135
|
+
export interface SimGetBackupSelectionCommandOutput {
|
|
136
|
+
readonly BackupSelection?: SimBackupSelectionInput | undefined;
|
|
137
|
+
readonly SelectionId?: string | undefined;
|
|
138
|
+
readonly BackupPlanId?: string | undefined;
|
|
139
|
+
readonly CreationDate?: Date | undefined;
|
|
140
|
+
readonly CreatorRequestId?: string | undefined;
|
|
141
|
+
}
|
|
142
|
+
export type SimListBackupSelectionsCommand = SimBackupCommand<{
|
|
143
|
+
readonly BackupPlanId?: string | undefined;
|
|
144
|
+
readonly MaxResults?: number | undefined;
|
|
145
|
+
readonly NextToken?: string | undefined;
|
|
146
|
+
}>;
|
|
147
|
+
export interface SimBackupSelectionListMember {
|
|
148
|
+
readonly SelectionId?: string | undefined;
|
|
149
|
+
readonly SelectionName?: string | undefined;
|
|
150
|
+
readonly BackupPlanId?: string | undefined;
|
|
151
|
+
readonly CreationDate?: Date | undefined;
|
|
152
|
+
readonly CreatorRequestId?: string | undefined;
|
|
153
|
+
readonly IamRoleArn?: string | undefined;
|
|
154
|
+
}
|
|
155
|
+
export interface SimListBackupSelectionsCommandOutput {
|
|
156
|
+
readonly BackupSelectionsList?: readonly SimBackupSelectionListMember[] | undefined;
|
|
157
|
+
readonly NextToken?: string | undefined;
|
|
158
|
+
}
|
|
159
|
+
export type SimStartBackupJobCommand = SimBackupCommand<{
|
|
160
|
+
readonly BackupVaultName?: string | undefined;
|
|
161
|
+
readonly ResourceArn?: string | undefined;
|
|
162
|
+
readonly IamRoleArn?: string | undefined;
|
|
163
|
+
readonly IdempotencyToken?: string | undefined;
|
|
164
|
+
readonly Lifecycle?: SimBackupLifecycle | undefined;
|
|
165
|
+
}>;
|
|
166
|
+
export interface SimStartBackupJobCommandOutput {
|
|
167
|
+
readonly BackupJobId?: string | undefined;
|
|
168
|
+
readonly RecoveryPointArn?: string | undefined;
|
|
169
|
+
readonly CreationDate?: Date | undefined;
|
|
170
|
+
readonly IsParent?: boolean | undefined;
|
|
171
|
+
}
|
|
172
|
+
export type SimDescribeBackupJobCommand = SimBackupCommand<{
|
|
173
|
+
readonly BackupJobId?: string | undefined;
|
|
174
|
+
}>;
|
|
175
|
+
export interface SimBackupJobOutput {
|
|
176
|
+
readonly AccountId?: string | undefined;
|
|
177
|
+
readonly BackupJobId?: string | undefined;
|
|
178
|
+
readonly BackupVaultName?: string | undefined;
|
|
179
|
+
readonly BackupVaultArn?: string | undefined;
|
|
180
|
+
readonly RecoveryPointArn?: string | undefined;
|
|
181
|
+
readonly ResourceArn?: string | undefined;
|
|
182
|
+
readonly CreationDate?: Date | undefined;
|
|
183
|
+
readonly InitiationDate?: Date | undefined;
|
|
184
|
+
readonly CompletionDate?: Date | undefined;
|
|
185
|
+
readonly State?: string | undefined;
|
|
186
|
+
readonly StatusMessage?: string | undefined;
|
|
187
|
+
readonly PercentDone?: string | undefined;
|
|
188
|
+
readonly IamRoleArn?: string | undefined;
|
|
189
|
+
readonly CreatedBy?: SimRecoveryPointCreator | undefined;
|
|
190
|
+
readonly RecoveryPointLifecycle?: SimBackupLifecycle | undefined;
|
|
191
|
+
readonly IsParent?: boolean | undefined;
|
|
192
|
+
readonly MessageCategory?: string | undefined;
|
|
193
|
+
}
|
|
194
|
+
export type SimDescribeBackupJobCommandOutput = SimBackupJobOutput;
|
|
195
|
+
export type SimListBackupJobsCommand = SimBackupCommand<{
|
|
196
|
+
readonly ByResourceArn?: string | undefined;
|
|
197
|
+
readonly ByState?: string | undefined;
|
|
198
|
+
readonly ByBackupVaultName?: string | undefined;
|
|
199
|
+
readonly MaxResults?: number | undefined;
|
|
200
|
+
readonly NextToken?: string | undefined;
|
|
201
|
+
}>;
|
|
202
|
+
export interface SimListBackupJobsCommandOutput {
|
|
203
|
+
readonly BackupJobs?: readonly SimBackupJobOutput[] | undefined;
|
|
204
|
+
readonly NextToken?: string | undefined;
|
|
205
|
+
}
|
|
206
|
+
export interface SimRecoveryPointOutput {
|
|
207
|
+
readonly RecoveryPointArn?: string | undefined;
|
|
208
|
+
readonly BackupVaultName?: string | undefined;
|
|
209
|
+
readonly BackupVaultArn?: string | undefined;
|
|
210
|
+
readonly ResourceArn?: string | undefined;
|
|
211
|
+
readonly CreatedBy?: SimRecoveryPointCreator | undefined;
|
|
212
|
+
readonly IamRoleArn?: string | undefined;
|
|
213
|
+
readonly Status?: string | undefined;
|
|
214
|
+
readonly CreationDate?: Date | undefined;
|
|
215
|
+
readonly InitiationDate?: Date | undefined;
|
|
216
|
+
readonly CompletionDate?: Date | undefined;
|
|
217
|
+
readonly CalculatedLifecycle?: SimCalculatedLifecycle | undefined;
|
|
218
|
+
readonly Lifecycle?: SimBackupLifecycle | undefined;
|
|
219
|
+
readonly EncryptionKeyArn?: string | undefined;
|
|
220
|
+
readonly IsEncrypted?: boolean | undefined;
|
|
221
|
+
readonly VaultType?: string | undefined;
|
|
222
|
+
}
|
|
223
|
+
export type SimListRecoveryPointsByBackupVaultCommand = SimBackupCommand<{
|
|
224
|
+
readonly BackupVaultName?: string | undefined;
|
|
225
|
+
readonly ByResourceArn?: string | undefined;
|
|
226
|
+
readonly ByBackupPlanId?: string | undefined;
|
|
227
|
+
readonly MaxResults?: number | undefined;
|
|
228
|
+
readonly NextToken?: string | undefined;
|
|
229
|
+
}>;
|
|
230
|
+
export interface SimListRecoveryPointsByBackupVaultCommandOutput {
|
|
231
|
+
readonly RecoveryPoints?: readonly SimRecoveryPointOutput[] | undefined;
|
|
232
|
+
readonly NextToken?: string | undefined;
|
|
233
|
+
}
|
|
234
|
+
export type SimDescribeRecoveryPointCommand = SimBackupCommand<{
|
|
235
|
+
readonly BackupVaultName?: string | undefined;
|
|
236
|
+
readonly RecoveryPointArn?: string | undefined;
|
|
237
|
+
}>;
|
|
238
|
+
export type SimDescribeRecoveryPointCommandOutput = SimRecoveryPointOutput;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { BackgroundScheduler } from "../../../util/background/background.js";
|
|
2
|
+
import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
|
|
3
|
+
import type { SimBackupPlanSchedules } from "../plan/sim-backup-plan-schedules.js";
|
|
4
|
+
import type { SimBackupResourceResolver } from "../sim-backup-resource-resolver.js";
|
|
5
|
+
import type { SimBackupStore } from "../sim-backup-store.js";
|
|
6
|
+
import type { SimBackupAuthorizer } from "./sim-backup-authorizer.js";
|
|
7
|
+
import type * as commands from "./sim-backup-command.types.js";
|
|
8
|
+
import type { SimBackupRequestOptions } from "./sim-backup-request-options.js";
|
|
9
|
+
interface SimBackupConfigurationCommandsProperties {
|
|
10
|
+
readonly scope: SimAwsAccountRegionScope;
|
|
11
|
+
readonly background: BackgroundScheduler;
|
|
12
|
+
readonly authorizer: SimBackupAuthorizer;
|
|
13
|
+
readonly resolver: SimBackupResourceResolver;
|
|
14
|
+
readonly store: SimBackupStore;
|
|
15
|
+
readonly schedules: SimBackupPlanSchedules;
|
|
16
|
+
}
|
|
17
|
+
/** Handles backup vault, plan and selection commands. */
|
|
18
|
+
export declare class SimBackupConfigurationCommands {
|
|
19
|
+
private readonly properties;
|
|
20
|
+
constructor(properties: SimBackupConfigurationCommandsProperties);
|
|
21
|
+
createBackupVault(command: commands.SimCreateBackupVaultCommand, options?: SimBackupRequestOptions): Promise<commands.SimCreateBackupVaultCommandOutput>;
|
|
22
|
+
describeBackupVault(command: commands.SimDescribeBackupVaultCommand, options?: SimBackupRequestOptions): Promise<commands.SimDescribeBackupVaultCommandOutput>;
|
|
23
|
+
deleteBackupVault(command: commands.SimDeleteBackupVaultCommand, options?: SimBackupRequestOptions): Promise<commands.SimDeleteBackupVaultCommandOutput>;
|
|
24
|
+
listBackupVaults(_command: commands.SimListBackupVaultsCommand, options?: SimBackupRequestOptions): Promise<commands.SimListBackupVaultsCommandOutput>;
|
|
25
|
+
putBackupVaultLockConfiguration(command: commands.SimPutBackupVaultLockConfigurationCommand, options?: SimBackupRequestOptions): Promise<commands.SimPutBackupVaultLockConfigurationCommandOutput>;
|
|
26
|
+
createBackupPlan(command: commands.SimCreateBackupPlanCommand, options?: SimBackupRequestOptions): Promise<commands.SimCreateBackupPlanCommandOutput>;
|
|
27
|
+
getBackupPlan(command: commands.SimGetBackupPlanCommand, options?: SimBackupRequestOptions): Promise<commands.SimGetBackupPlanCommandOutput>;
|
|
28
|
+
createBackupSelection(command: commands.SimCreateBackupSelectionCommand, options?: SimBackupRequestOptions): Promise<commands.SimCreateBackupSelectionCommandOutput>;
|
|
29
|
+
getBackupSelection(command: commands.SimGetBackupSelectionCommand, options?: SimBackupRequestOptions): Promise<commands.SimGetBackupSelectionCommandOutput>;
|
|
30
|
+
listBackupSelections(command: commands.SimListBackupSelectionsCommand, options?: SimBackupRequestOptions): Promise<commands.SimListBackupSelectionsCommandOutput>;
|
|
31
|
+
}
|
|
32
|
+
export {};
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { SimBackupPlan } from "../plan/sim-backup-plan.js";
|
|
3
|
+
import { SimBackupSelection } from "../selection/sim-backup-selection.js";
|
|
4
|
+
import { backupPlanArn, backupVaultArn } from "../sim-backup-arn.js";
|
|
5
|
+
import { SimBackupVault } from "../vault/sim-backup-vault.js";
|
|
6
|
+
import { requiredString } from "./sim-backup-required-string.js";
|
|
7
|
+
/** Handles backup vault, plan and selection commands. */
|
|
8
|
+
export class SimBackupConfigurationCommands {
|
|
9
|
+
properties;
|
|
10
|
+
constructor(properties) {
|
|
11
|
+
this.properties = properties;
|
|
12
|
+
}
|
|
13
|
+
async createBackupVault(command, options) {
|
|
14
|
+
const { background, scope, authorizer, store } = this.properties;
|
|
15
|
+
await background.sequence();
|
|
16
|
+
const name = requiredString(command.input.BackupVaultName, "BackupVaultName");
|
|
17
|
+
const arn = backupVaultArn(name, scope);
|
|
18
|
+
authorizer.authorize("backup:CreateBackupVault", arn, options);
|
|
19
|
+
const vault = new SimBackupVault({
|
|
20
|
+
name,
|
|
21
|
+
arn,
|
|
22
|
+
creationDate: background.now(),
|
|
23
|
+
encryptionKeyArn: command.input.EncryptionKeyArn,
|
|
24
|
+
creatorRequestId: command.input.CreatorRequestId,
|
|
25
|
+
background,
|
|
26
|
+
});
|
|
27
|
+
store.addVault(vault);
|
|
28
|
+
return {
|
|
29
|
+
BackupVaultName: vault.name,
|
|
30
|
+
BackupVaultArn: vault.arn,
|
|
31
|
+
CreationDate: new Date(vault.creationDate),
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
async describeBackupVault(command, options) {
|
|
35
|
+
const { background, resolver } = this.properties;
|
|
36
|
+
await background.sequence();
|
|
37
|
+
return resolver
|
|
38
|
+
.authorizedVault("backup:DescribeBackupVault", command.input.BackupVaultName, options)
|
|
39
|
+
.describe();
|
|
40
|
+
}
|
|
41
|
+
async deleteBackupVault(command, options) {
|
|
42
|
+
const { background, resolver, store } = this.properties;
|
|
43
|
+
await background.sequence();
|
|
44
|
+
const vault = resolver.authorizedVault("backup:DeleteBackupVault", command.input.BackupVaultName, options);
|
|
45
|
+
vault.assertEmpty();
|
|
46
|
+
store.removeVault(vault.name);
|
|
47
|
+
return {};
|
|
48
|
+
}
|
|
49
|
+
async listBackupVaults(_command, options) {
|
|
50
|
+
const { background, authorizer, store } = this.properties;
|
|
51
|
+
await background.sequence();
|
|
52
|
+
authorizer.authorize("backup:ListBackupVaults", "*", options);
|
|
53
|
+
return {
|
|
54
|
+
BackupVaultList: store
|
|
55
|
+
.allVaults()
|
|
56
|
+
.map((vault) => vault.listMember())
|
|
57
|
+
.toArray(),
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
async putBackupVaultLockConfiguration(command, options) {
|
|
61
|
+
const { background, resolver } = this.properties;
|
|
62
|
+
await background.sequence();
|
|
63
|
+
resolver
|
|
64
|
+
.authorizedVault("backup:PutBackupVaultLockConfiguration", command.input.BackupVaultName, options)
|
|
65
|
+
.configureLock(command.input, background.now());
|
|
66
|
+
return {};
|
|
67
|
+
}
|
|
68
|
+
async createBackupPlan(command, options) {
|
|
69
|
+
const { background, scope, authorizer, resolver, store, schedules } = this.properties;
|
|
70
|
+
await background.sequence();
|
|
71
|
+
const id = randomUUID();
|
|
72
|
+
const arn = backupPlanArn(id, scope);
|
|
73
|
+
authorizer.authorize("backup:CreateBackupPlan", arn, options);
|
|
74
|
+
const plan = new SimBackupPlan({
|
|
75
|
+
id,
|
|
76
|
+
arn,
|
|
77
|
+
versionId: randomUUID(),
|
|
78
|
+
creationDate: background.now(),
|
|
79
|
+
creatorRequestId: command.input.CreatorRequestId,
|
|
80
|
+
plan: command.input.BackupPlan ?? {},
|
|
81
|
+
});
|
|
82
|
+
for (const rule of plan.rules) {
|
|
83
|
+
resolver.requireVault(rule.TargetBackupVaultName);
|
|
84
|
+
}
|
|
85
|
+
store.addPlan(plan);
|
|
86
|
+
schedules.arm(plan);
|
|
87
|
+
return {
|
|
88
|
+
BackupPlanId: plan.id,
|
|
89
|
+
BackupPlanArn: plan.arn,
|
|
90
|
+
VersionId: plan.versionId,
|
|
91
|
+
CreationDate: new Date(plan.creationDate),
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
async getBackupPlan(command, options) {
|
|
95
|
+
const { background, resolver } = this.properties;
|
|
96
|
+
await background.sequence();
|
|
97
|
+
return resolver
|
|
98
|
+
.authorizedPlan("backup:GetBackupPlan", command.input.BackupPlanId, options)
|
|
99
|
+
.describe();
|
|
100
|
+
}
|
|
101
|
+
async createBackupSelection(command, options) {
|
|
102
|
+
const { background, resolver, store } = this.properties;
|
|
103
|
+
await background.sequence();
|
|
104
|
+
const plan = resolver.authorizedPlan("backup:CreateBackupSelection", command.input.BackupPlanId, options);
|
|
105
|
+
const selection = new SimBackupSelection({
|
|
106
|
+
id: randomUUID(),
|
|
107
|
+
planId: plan.id,
|
|
108
|
+
creationDate: background.now(),
|
|
109
|
+
creatorRequestId: command.input.CreatorRequestId,
|
|
110
|
+
selection: command.input.BackupSelection ?? {},
|
|
111
|
+
});
|
|
112
|
+
store.addSelection(selection);
|
|
113
|
+
return {
|
|
114
|
+
SelectionId: selection.id,
|
|
115
|
+
BackupPlanId: plan.id,
|
|
116
|
+
CreationDate: new Date(selection.creationDate),
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
async getBackupSelection(command, options) {
|
|
120
|
+
const { background, resolver } = this.properties;
|
|
121
|
+
await background.sequence();
|
|
122
|
+
const plan = resolver.authorizedPlan("backup:GetBackupSelection", command.input.BackupPlanId, options);
|
|
123
|
+
return resolver
|
|
124
|
+
.requireSelection(plan.id, command.input.SelectionId)
|
|
125
|
+
.describe();
|
|
126
|
+
}
|
|
127
|
+
async listBackupSelections(command, options) {
|
|
128
|
+
const { background, resolver, store } = this.properties;
|
|
129
|
+
await background.sequence();
|
|
130
|
+
const plan = resolver.authorizedPlan("backup:ListBackupSelections", command.input.BackupPlanId, options);
|
|
131
|
+
return {
|
|
132
|
+
BackupSelectionsList: store
|
|
133
|
+
.selectionsForPlan(plan.id)
|
|
134
|
+
.map((selection) => selection.listMember())
|
|
135
|
+
.toArray(),
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { BackgroundScheduler } from "../../../util/background/background.js";
|
|
2
|
+
import type { SimBackupJobs } from "../job/sim-backup-jobs.js";
|
|
3
|
+
import type { SimBackupResourceResolver } from "../sim-backup-resource-resolver.js";
|
|
4
|
+
import type { SimBackupStore } from "../sim-backup-store.js";
|
|
5
|
+
import type { SimBackupAuthorizer } from "./sim-backup-authorizer.js";
|
|
6
|
+
import type * as commands from "./sim-backup-command.types.js";
|
|
7
|
+
import type { SimBackupRequestOptions } from "./sim-backup-request-options.js";
|
|
8
|
+
interface SimBackupJobCommandsProperties {
|
|
9
|
+
readonly background: BackgroundScheduler;
|
|
10
|
+
readonly authorizer: SimBackupAuthorizer;
|
|
11
|
+
readonly resolver: SimBackupResourceResolver;
|
|
12
|
+
readonly store: SimBackupStore;
|
|
13
|
+
readonly jobs: SimBackupJobs;
|
|
14
|
+
}
|
|
15
|
+
/** Handles backup job commands. */
|
|
16
|
+
export declare class SimBackupJobCommands {
|
|
17
|
+
private readonly properties;
|
|
18
|
+
constructor(properties: SimBackupJobCommandsProperties);
|
|
19
|
+
start(command: commands.SimStartBackupJobCommand, options?: SimBackupRequestOptions): Promise<commands.SimStartBackupJobCommandOutput>;
|
|
20
|
+
describe(command: commands.SimDescribeBackupJobCommand, options?: SimBackupRequestOptions): Promise<commands.SimDescribeBackupJobCommandOutput>;
|
|
21
|
+
list(command: commands.SimListBackupJobsCommand, options?: SimBackupRequestOptions): Promise<commands.SimListBackupJobsCommandOutput>;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { SimBackupResourceNotFoundException } from "../error/sim-backup.error.js";
|
|
2
|
+
import { SimBackupJobPage } from "../job/sim-backup-job-page.js";
|
|
3
|
+
import { readBackupLifecycle } from "../plan/sim-backup-rule.js";
|
|
4
|
+
import { requiredString } from "./sim-backup-required-string.js";
|
|
5
|
+
/** Handles backup job commands. */
|
|
6
|
+
export class SimBackupJobCommands {
|
|
7
|
+
properties;
|
|
8
|
+
constructor(properties) {
|
|
9
|
+
this.properties = properties;
|
|
10
|
+
}
|
|
11
|
+
async start(command, options) {
|
|
12
|
+
const { background, resolver, jobs } = this.properties;
|
|
13
|
+
await background.sequence();
|
|
14
|
+
const vault = resolver.authorizedVault("backup:StartBackupJob", command.input.BackupVaultName, options);
|
|
15
|
+
const job = jobs.start({
|
|
16
|
+
vault,
|
|
17
|
+
resourceArn: requiredString(command.input.ResourceArn, "ResourceArn"),
|
|
18
|
+
iamRoleArn: requiredString(command.input.IamRoleArn, "IamRoleArn"),
|
|
19
|
+
at: background.now(),
|
|
20
|
+
idempotencyToken: command.input.IdempotencyToken,
|
|
21
|
+
lifecycle: readBackupLifecycle(command.input.Lifecycle),
|
|
22
|
+
});
|
|
23
|
+
const output = job.describe();
|
|
24
|
+
return {
|
|
25
|
+
BackupJobId: job.id,
|
|
26
|
+
RecoveryPointArn: output.RecoveryPointArn,
|
|
27
|
+
CreationDate: output.CreationDate,
|
|
28
|
+
IsParent: false,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
async describe(command, options) {
|
|
32
|
+
const { background, authorizer, store } = this.properties;
|
|
33
|
+
await background.sequence();
|
|
34
|
+
const id = requiredString(command.input.BackupJobId, "BackupJobId");
|
|
35
|
+
authorizer.authorize("backup:DescribeBackupJob", "*", options);
|
|
36
|
+
const job = store.job(id);
|
|
37
|
+
if (job === undefined) {
|
|
38
|
+
throw new SimBackupResourceNotFoundException(`Backup job ${id} does not exist`);
|
|
39
|
+
}
|
|
40
|
+
return job.describe();
|
|
41
|
+
}
|
|
42
|
+
async list(command, options) {
|
|
43
|
+
const { background, authorizer, store } = this.properties;
|
|
44
|
+
await background.sequence();
|
|
45
|
+
authorizer.authorize("backup:ListBackupJobs", "*", options);
|
|
46
|
+
const page = new SimBackupJobPage(store.allJobs().toArray(), command.input);
|
|
47
|
+
return {
|
|
48
|
+
BackupJobs: page.jobs.map((job) => job.describe()),
|
|
49
|
+
NextToken: page.nextToken,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { BackgroundScheduler } from "../../../util/background/background.js";
|
|
2
|
+
import type { SimBackupResourceResolver } from "../sim-backup-resource-resolver.js";
|
|
3
|
+
import type { SimBackupAuthorizer } from "./sim-backup-authorizer.js";
|
|
4
|
+
import type * as commands from "./sim-backup-command.types.js";
|
|
5
|
+
import type { SimBackupRequestOptions } from "./sim-backup-request-options.js";
|
|
6
|
+
interface SimBackupRecoveryPointCommandsProperties {
|
|
7
|
+
readonly background: BackgroundScheduler;
|
|
8
|
+
readonly authorizer: SimBackupAuthorizer;
|
|
9
|
+
readonly resolver: SimBackupResourceResolver;
|
|
10
|
+
}
|
|
11
|
+
/** Handles recovery point read commands. */
|
|
12
|
+
export declare class SimBackupRecoveryPointCommands {
|
|
13
|
+
private readonly properties;
|
|
14
|
+
constructor(properties: SimBackupRecoveryPointCommandsProperties);
|
|
15
|
+
list(command: commands.SimListRecoveryPointsByBackupVaultCommand, options?: SimBackupRequestOptions): Promise<commands.SimListRecoveryPointsByBackupVaultCommandOutput>;
|
|
16
|
+
describe(command: commands.SimDescribeRecoveryPointCommand, options?: SimBackupRequestOptions): Promise<commands.SimDescribeRecoveryPointCommandOutput>;
|
|
17
|
+
}
|
|
18
|
+
export {};
|