@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
|
@@ -3,7 +3,10 @@ import type { SimCfnTemplateValue, SimCfnTemplateValueRecord } from "../../../..
|
|
|
3
3
|
* The rule fields CloudFormation and the SDK spell differently.
|
|
4
4
|
*
|
|
5
5
|
* CloudFormation flattens an expiry onto the rule and names a transition's
|
|
6
|
-
* timing after it, where the request nests both.
|
|
6
|
+
* timing after it, where the request nests both. It carries the noncurrent
|
|
7
|
+
* expiry both ways, as the nested object the request takes and as the older
|
|
8
|
+
* `NoncurrentVersionExpirationInDays` beside it, which is what CDK's
|
|
9
|
+
* `noncurrentVersionExpiration` synthesises. Everything absent from here,
|
|
7
10
|
* `Status`, `Prefix`, `AbortIncompleteMultipartUpload`, `TagFilters` and the
|
|
8
11
|
* object size bounds among them, is spelled the same way in both and goes
|
|
9
12
|
* through untouched.
|
|
@@ -28,3 +31,17 @@ export declare function simCfnS3StatedFields(fields: Record<string, SimCfnTempla
|
|
|
28
31
|
* acts on anyway.
|
|
29
32
|
*/
|
|
30
33
|
export declare function simCfnS3CarriedRuleFields(rule: SimCfnTemplateValueRecord): SimCfnTemplateValueRecord;
|
|
34
|
+
/**
|
|
35
|
+
* The three flattened expiry fields, gathered under the one the request
|
|
36
|
+
* carries. A rule stating none of them keeps no `Expiration` at all.
|
|
37
|
+
*/
|
|
38
|
+
export declare function simCfnS3RuleExpiration(rule: SimCfnTemplateValueRecord): SimCfnTemplateValue | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* The noncurrent expiry, from whichever of the two spellings the rule used.
|
|
41
|
+
*
|
|
42
|
+
* The nested object is the one the request takes and wins where a template
|
|
43
|
+
* states it. `NoncurrentVersionExpirationInDays` is the older flattened field
|
|
44
|
+
* beside it, and is what CDK synthesises, so a rule carrying only that one
|
|
45
|
+
* still reaches the versions it names.
|
|
46
|
+
*/
|
|
47
|
+
export declare function simCfnS3RuleNoncurrentExpiration(rule: SimCfnTemplateValueRecord): SimCfnTemplateValue | undefined;
|
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
* The rule fields CloudFormation and the SDK spell differently.
|
|
3
3
|
*
|
|
4
4
|
* CloudFormation flattens an expiry onto the rule and names a transition's
|
|
5
|
-
* timing after it, where the request nests both.
|
|
5
|
+
* timing after it, where the request nests both. It carries the noncurrent
|
|
6
|
+
* expiry both ways, as the nested object the request takes and as the older
|
|
7
|
+
* `NoncurrentVersionExpirationInDays` beside it, which is what CDK's
|
|
8
|
+
* `noncurrentVersionExpiration` synthesises. Everything absent from here,
|
|
6
9
|
* `Status`, `Prefix`, `AbortIncompleteMultipartUpload`, `TagFilters` and the
|
|
7
10
|
* object size bounds among them, is spelled the same way in both and goes
|
|
8
11
|
* through untouched.
|
|
@@ -12,6 +15,8 @@ export const simCfnS3TranslatedLifecycleFields = new Set([
|
|
|
12
15
|
"ExpirationDate",
|
|
13
16
|
"ExpirationInDays",
|
|
14
17
|
"ExpiredObjectDeleteMarker",
|
|
18
|
+
"NoncurrentVersionExpiration",
|
|
19
|
+
"NoncurrentVersionExpirationInDays",
|
|
15
20
|
"Transition",
|
|
16
21
|
"Transitions",
|
|
17
22
|
]);
|
|
@@ -47,3 +52,31 @@ export function simCfnS3StatedFields(fields) {
|
|
|
47
52
|
export function simCfnS3CarriedRuleFields(rule) {
|
|
48
53
|
return Object.fromEntries(Object.entries(rule).filter(([name]) => !simCfnS3TranslatedLifecycleFields.has(name)));
|
|
49
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* The three flattened expiry fields, gathered under the one the request
|
|
57
|
+
* carries. A rule stating none of them keeps no `Expiration` at all.
|
|
58
|
+
*/
|
|
59
|
+
export function simCfnS3RuleExpiration(rule) {
|
|
60
|
+
return simCfnS3StatedFields({
|
|
61
|
+
Date: simCfnS3LifecycleDate(rule["ExpirationDate"]),
|
|
62
|
+
Days: rule["ExpirationInDays"],
|
|
63
|
+
ExpiredObjectDeleteMarker: rule["ExpiredObjectDeleteMarker"],
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* The noncurrent expiry, from whichever of the two spellings the rule used.
|
|
68
|
+
*
|
|
69
|
+
* The nested object is the one the request takes and wins where a template
|
|
70
|
+
* states it. `NoncurrentVersionExpirationInDays` is the older flattened field
|
|
71
|
+
* beside it, and is what CDK synthesises, so a rule carrying only that one
|
|
72
|
+
* still reaches the versions it names.
|
|
73
|
+
*/
|
|
74
|
+
export function simCfnS3RuleNoncurrentExpiration(rule) {
|
|
75
|
+
const nested = rule["NoncurrentVersionExpiration"];
|
|
76
|
+
if (nested !== undefined) {
|
|
77
|
+
return nested;
|
|
78
|
+
}
|
|
79
|
+
return simCfnS3StatedFields({
|
|
80
|
+
NoncurrentDays: rule["NoncurrentVersionExpirationInDays"],
|
|
81
|
+
});
|
|
82
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { SimCfnTemplateValueRecord } from "../../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
2
|
+
import type { SimS3ObjectLockConfigurationInput } from "../../../bucket/lock/sim-s3-object-lock-configuration.js";
|
|
3
|
+
/**
|
|
4
|
+
* Reads the Object Lock properties of an AWS::S3::Bucket Resource.
|
|
5
|
+
*
|
|
6
|
+
* A Bucket declares Object Lock across two properties. `ObjectLockEnabled`
|
|
7
|
+
* turns it on and `ObjectLockConfiguration` carries the default retention,
|
|
8
|
+
* and real CloudFormation requires the first before it will read the second.
|
|
9
|
+
* CDK's `objectLockEnabled` and `objectLockDefaultRetention` synthesise both.
|
|
10
|
+
*
|
|
11
|
+
* The configuration is handed to PutObjectLockConfiguration rather than
|
|
12
|
+
* translated here, so a template and an SDK caller are validated identically,
|
|
13
|
+
* including the versioning a locked Bucket has to have underneath it.
|
|
14
|
+
*/
|
|
15
|
+
export declare class SimCfnS3BucketObjectLockConfiguration {
|
|
16
|
+
private readonly logicalId;
|
|
17
|
+
private readonly properties;
|
|
18
|
+
private readonly shape;
|
|
19
|
+
constructor(logicalId: string, properties: SimCfnTemplateValueRecord);
|
|
20
|
+
/**
|
|
21
|
+
* The configuration to apply, or nothing where the Resource declares none.
|
|
22
|
+
*
|
|
23
|
+
* A Bucket declaring `ObjectLockEnabled` and no configuration is locked with
|
|
24
|
+
* no default retention, which is a real thing to declare: every version it
|
|
25
|
+
* holds is then retained only by the requests that name one.
|
|
26
|
+
*/
|
|
27
|
+
read(): SimS3ObjectLockConfigurationInput | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* Whether the Resource asks for Object Lock.
|
|
30
|
+
*
|
|
31
|
+
* Real CloudFormation refuses an `ObjectLockConfiguration` on a Bucket that
|
|
32
|
+
* does not also declare `ObjectLockEnabled`, and so does this: a Bucket
|
|
33
|
+
* created around the property would report a default retention it was not
|
|
34
|
+
* applying to anything.
|
|
35
|
+
*/
|
|
36
|
+
private isEnabled;
|
|
37
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { SimCfnValueShape } from "../../../../cloudformation/template/value/sim-cfn-value-shape.js";
|
|
2
|
+
import { simS3ObjectLockEnabled } from "../../../bucket/lock/sim-s3-object-lock-configuration.js";
|
|
3
|
+
import { s3BucketResourceError } from "../error/sim-cfn-s3-bucket-error.js";
|
|
4
|
+
/**
|
|
5
|
+
* The AWS::S3::Bucket values that turn Object Lock on. CloudFormation carries
|
|
6
|
+
* a boolean property as either, depending on where the value came from.
|
|
7
|
+
*/
|
|
8
|
+
const objectLockEnabledValues = new Set([true, "true"]);
|
|
9
|
+
const objectLockDisabledValues = new Set([
|
|
10
|
+
false,
|
|
11
|
+
"false",
|
|
12
|
+
]);
|
|
13
|
+
/**
|
|
14
|
+
* Reads the Object Lock properties of an AWS::S3::Bucket Resource.
|
|
15
|
+
*
|
|
16
|
+
* A Bucket declares Object Lock across two properties. `ObjectLockEnabled`
|
|
17
|
+
* turns it on and `ObjectLockConfiguration` carries the default retention,
|
|
18
|
+
* and real CloudFormation requires the first before it will read the second.
|
|
19
|
+
* CDK's `objectLockEnabled` and `objectLockDefaultRetention` synthesise both.
|
|
20
|
+
*
|
|
21
|
+
* The configuration is handed to PutObjectLockConfiguration rather than
|
|
22
|
+
* translated here, so a template and an SDK caller are validated identically,
|
|
23
|
+
* including the versioning a locked Bucket has to have underneath it.
|
|
24
|
+
*/
|
|
25
|
+
export class SimCfnS3BucketObjectLockConfiguration {
|
|
26
|
+
logicalId;
|
|
27
|
+
properties;
|
|
28
|
+
shape;
|
|
29
|
+
constructor(logicalId, properties) {
|
|
30
|
+
this.logicalId = logicalId;
|
|
31
|
+
this.properties = properties;
|
|
32
|
+
this.shape = new SimCfnValueShape((reason) => s3BucketResourceError(logicalId, reason));
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* The configuration to apply, or nothing where the Resource declares none.
|
|
36
|
+
*
|
|
37
|
+
* A Bucket declaring `ObjectLockEnabled` and no configuration is locked with
|
|
38
|
+
* no default retention, which is a real thing to declare: every version it
|
|
39
|
+
* holds is then retained only by the requests that name one.
|
|
40
|
+
*/
|
|
41
|
+
read() {
|
|
42
|
+
if (!this.isEnabled()) {
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
const declared = this.properties["ObjectLockConfiguration"];
|
|
46
|
+
if (declared === undefined) {
|
|
47
|
+
return { ObjectLockEnabled: simS3ObjectLockEnabled };
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
...this.shape.record(declared, "ObjectLockConfiguration"),
|
|
51
|
+
ObjectLockEnabled: simS3ObjectLockEnabled,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Whether the Resource asks for Object Lock.
|
|
56
|
+
*
|
|
57
|
+
* Real CloudFormation refuses an `ObjectLockConfiguration` on a Bucket that
|
|
58
|
+
* does not also declare `ObjectLockEnabled`, and so does this: a Bucket
|
|
59
|
+
* created around the property would report a default retention it was not
|
|
60
|
+
* applying to anything.
|
|
61
|
+
*/
|
|
62
|
+
isEnabled() {
|
|
63
|
+
const enabled = this.properties["ObjectLockEnabled"];
|
|
64
|
+
if (objectLockEnabledValues.has(enabled)) {
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
if (this.properties["ObjectLockConfiguration"] !== undefined &&
|
|
68
|
+
(enabled === undefined || objectLockDisabledValues.has(enabled))) {
|
|
69
|
+
throw s3BucketResourceError(this.logicalId, "ObjectLockConfiguration requires ObjectLockEnabled to be true, " +
|
|
70
|
+
"because Object Lock holds a version and a Bucket without it holds " +
|
|
71
|
+
"none");
|
|
72
|
+
}
|
|
73
|
+
if (enabled !== undefined && !objectLockDisabledValues.has(enabled)) {
|
|
74
|
+
throw s3BucketResourceError(this.logicalId, "ObjectLockEnabled must be true or false");
|
|
75
|
+
}
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { SimCfnSkippedPropertyValue } from "../../../../cloudformation/resource/ignore/sim-cfn-skipped-property.type.js";
|
|
2
|
+
/**
|
|
3
|
+
* The AWS::S3::Bucket ReplicationConfiguration constraints real S3 enforces.
|
|
4
|
+
*
|
|
5
|
+
* Replication itself is not simulated. The property is recorded against the
|
|
6
|
+
* Resource and the Bucket is created without it, and no Object is ever copied.
|
|
7
|
+
* What the value says is still read, because a configuration real S3 answers
|
|
8
|
+
* with a 400 otherwise deploys here and reaches CREATE_COMPLETE. A test
|
|
9
|
+
* standing on that deployment reports a template AWS refuses as working, which
|
|
10
|
+
* is the one failure a local deploy of a real template exists to catch.
|
|
11
|
+
*
|
|
12
|
+
* These are the constraints the S3 API documents and the CloudFormation
|
|
13
|
+
* Resource schema leaves out, so cfn-lint passes a template failing any of
|
|
14
|
+
* them.
|
|
15
|
+
*
|
|
16
|
+
* Attached to the property in `unsimulatedPropertyReasons`, so it runs
|
|
17
|
+
* wherever a skipped AWS::S3::Bucket property is recorded rather than from a
|
|
18
|
+
* call site of its own.
|
|
19
|
+
*/
|
|
20
|
+
export declare function validateSimCfnS3BucketReplication(declared: SimCfnSkippedPropertyValue): void;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { isRecord } from "../../../../../util/type-guard/record.js";
|
|
2
|
+
/**
|
|
3
|
+
* The AWS::S3::Bucket ReplicationConfiguration constraints real S3 enforces.
|
|
4
|
+
*
|
|
5
|
+
* Replication itself is not simulated. The property is recorded against the
|
|
6
|
+
* Resource and the Bucket is created without it, and no Object is ever copied.
|
|
7
|
+
* What the value says is still read, because a configuration real S3 answers
|
|
8
|
+
* with a 400 otherwise deploys here and reaches CREATE_COMPLETE. A test
|
|
9
|
+
* standing on that deployment reports a template AWS refuses as working, which
|
|
10
|
+
* is the one failure a local deploy of a real template exists to catch.
|
|
11
|
+
*
|
|
12
|
+
* These are the constraints the S3 API documents and the CloudFormation
|
|
13
|
+
* Resource schema leaves out, so cfn-lint passes a template failing any of
|
|
14
|
+
* them.
|
|
15
|
+
*
|
|
16
|
+
* Attached to the property in `unsimulatedPropertyReasons`, so it runs
|
|
17
|
+
* wherever a skipped AWS::S3::Bucket property is recorded rather than from a
|
|
18
|
+
* call site of its own.
|
|
19
|
+
*/
|
|
20
|
+
export function validateSimCfnS3BucketReplication(declared) {
|
|
21
|
+
const configuration = declared.value;
|
|
22
|
+
if (!isRecord(configuration)) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
refuseUnversionedSource(declared);
|
|
26
|
+
const rules = configuration["Rules"];
|
|
27
|
+
if (!Array.isArray(rules)) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
rules.forEach((rule, index) => {
|
|
31
|
+
validateRule(declared, rule, `ReplicationConfiguration Rules[${index}]`);
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Refuse replication on a Bucket that keeps one version of an Object.
|
|
36
|
+
*
|
|
37
|
+
* Real S3 requires versioning on the source Bucket and on the destination.
|
|
38
|
+
* Only the source is checked, and it is read from the template rather than
|
|
39
|
+
* from the Bucket, because `VersioningConfiguration` is skipped too and no
|
|
40
|
+
* simulated Bucket carries a versioning state to read. The destination is a
|
|
41
|
+
* Bucket ARN that may belong to another Stack or another Account, so there is
|
|
42
|
+
* nothing here to read it from at all.
|
|
43
|
+
*/
|
|
44
|
+
function refuseUnversionedSource(declared) {
|
|
45
|
+
const versioning = declared.properties["VersioningConfiguration"];
|
|
46
|
+
if (isRecord(versioning) && versioning["Status"] === "Enabled") {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
declared.refuse("Versioning must be Enabled on the Bucket to apply a " +
|
|
50
|
+
"ReplicationConfiguration");
|
|
51
|
+
}
|
|
52
|
+
function validateRule(declared, rule, path) {
|
|
53
|
+
if (!isRecord(rule)) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
refuseEventThresholdWithoutReplicationTime(declared, rule, path);
|
|
57
|
+
refuseFilterWithoutItsCompanions(declared, rule, path);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Refuse a replication metrics threshold on a rule that has not turned
|
|
61
|
+
* Replication Time Control on.
|
|
62
|
+
*
|
|
63
|
+
* `Metrics.EventThreshold` says when to raise
|
|
64
|
+
* `s3:Replication:OperationMissedThreshold`, which only S3 RTC measures
|
|
65
|
+
* against. CDK renders `ReplicationTimeValue.FIFTEEN_MINUTES` passed as
|
|
66
|
+
* `metrics` into the threshold on its own, so this reaches a template through
|
|
67
|
+
* an ordinary L2 call.
|
|
68
|
+
*/
|
|
69
|
+
function refuseEventThresholdWithoutReplicationTime(declared, rule, path) {
|
|
70
|
+
const destination = rule["Destination"];
|
|
71
|
+
if (!isRecord(destination)) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
const metrics = destination["Metrics"];
|
|
75
|
+
if (!isRecord(metrics) || metrics["EventThreshold"] === undefined) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const replicationTime = destination["ReplicationTime"];
|
|
79
|
+
if (isRecord(replicationTime) && replicationTime["Status"] === "Enabled") {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
declared.refuse(`${path} Destination Metrics cannot contain an event threshold when ` +
|
|
83
|
+
"ReplicationTime is not specified or Disabled");
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Refuse a rule stating a Filter without the fields S3 requires alongside one.
|
|
87
|
+
*
|
|
88
|
+
* The S3 API documents `DeleteMarkerReplication`, `Status` and `Priority` as
|
|
89
|
+
* required alongside `Filter`. A rule carrying the older `Prefix` instead needs
|
|
90
|
+
* none of them, so the check is on `Filter` rather than on the rule.
|
|
91
|
+
*/
|
|
92
|
+
function refuseFilterWithoutItsCompanions(declared, rule, path) {
|
|
93
|
+
if (rule["Filter"] === undefined) {
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
const missing = [
|
|
97
|
+
["DeleteMarkerReplication", rule["DeleteMarkerReplication"]],
|
|
98
|
+
["Priority", rule["Priority"]],
|
|
99
|
+
["Status", rule["Status"]],
|
|
100
|
+
]
|
|
101
|
+
.filter(([, value]) => value === undefined)
|
|
102
|
+
.map(([name]) => name);
|
|
103
|
+
if (missing.length === 0) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
declared.refuse(`${path} states a Filter, which requires ${missing.join(", ")} as well`);
|
|
107
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import type { SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
|
|
1
2
|
import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
|
|
2
3
|
import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
3
4
|
import type { SimS3 } from "../../sim-s3.js";
|
|
4
|
-
import type { SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
|
|
5
5
|
interface SimCfnS3BucketConfiguratorProperties {
|
|
6
6
|
readonly simS3: SimS3;
|
|
7
7
|
readonly resource: SimCfnResource;
|
|
@@ -22,18 +22,25 @@ export declare class SimCfnS3BucketConfigurator {
|
|
|
22
22
|
private readonly properties;
|
|
23
23
|
private readonly bucketName;
|
|
24
24
|
private readonly options;
|
|
25
|
+
private readonly declared;
|
|
25
26
|
constructor(properties: SimCfnS3BucketConfiguratorProperties);
|
|
26
27
|
/**
|
|
27
28
|
* Apply every configuration the Resource declares.
|
|
28
29
|
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
30
|
+
* Versioning goes before Object Lock and before the lifecycle rules,
|
|
31
|
+
* because both describe a Bucket that keeps versions and Object Lock refuses
|
|
32
|
+
* one that does not. Notifications go last, because S3 checks every
|
|
33
|
+
* destination the configuration names, and the Resources those destinations
|
|
34
|
+
* live on have to exist by then.
|
|
32
35
|
*/
|
|
33
36
|
configure(): Promise<void>;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
+
/**
|
|
38
|
+
* Apply the event notification configuration the Resource declares.
|
|
39
|
+
*
|
|
40
|
+
* This reader takes the declared value rather than the whole property bag,
|
|
41
|
+
* because a notification configuration also arrives from a CDK custom
|
|
42
|
+
* resource that has no AWS::S3::Bucket properties to read it out of.
|
|
43
|
+
*/
|
|
37
44
|
private configureNotifications;
|
|
38
45
|
}
|
|
39
46
|
export {};
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { SimCfnS3BucketLifecycleConfiguration } from "./lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.js";
|
|
2
1
|
import { SimCfnS3BucketNotificationConfiguration } from "./notification/sim-cfn-s3-bucket-notification-configuration.js";
|
|
3
|
-
import {
|
|
4
|
-
import { SimCfnS3BucketWebsiteConfiguration } from "./website/sim-cfn-s3-bucket-website-configuration.js";
|
|
2
|
+
import { SimCfnS3BucketDeclaredConfigurations } from "./sim-cfn-s3-bucket-declared-configurations.js";
|
|
5
3
|
/**
|
|
6
4
|
* Applies the configurations an AWS::S3::Bucket Resource declares to the
|
|
7
5
|
* Bucket that was created for it.
|
|
@@ -15,58 +13,52 @@ export class SimCfnS3BucketConfigurator {
|
|
|
15
13
|
properties;
|
|
16
14
|
bucketName;
|
|
17
15
|
options;
|
|
16
|
+
declared;
|
|
18
17
|
constructor(properties) {
|
|
19
18
|
this.simS3 = properties.simS3;
|
|
20
19
|
this.resource = properties.resource;
|
|
21
20
|
this.properties = properties.properties;
|
|
22
21
|
this.bucketName = properties.bucketName;
|
|
23
22
|
this.options = properties.options;
|
|
23
|
+
this.declared = new SimCfnS3BucketDeclaredConfigurations({
|
|
24
|
+
simS3: this.simS3,
|
|
25
|
+
logicalId: this.resource.logicalId,
|
|
26
|
+
properties: this.properties,
|
|
27
|
+
bucketName: this.bucketName,
|
|
28
|
+
options: this.options,
|
|
29
|
+
});
|
|
24
30
|
}
|
|
25
31
|
/**
|
|
26
32
|
* Apply every configuration the Resource declares.
|
|
27
33
|
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
34
|
+
* Versioning goes before Object Lock and before the lifecycle rules,
|
|
35
|
+
* because both describe a Bucket that keeps versions and Object Lock refuses
|
|
36
|
+
* one that does not. Notifications go last, because S3 checks every
|
|
37
|
+
* destination the configuration names, and the Resources those destinations
|
|
38
|
+
* live on have to exist by then.
|
|
31
39
|
*/
|
|
32
40
|
async configure() {
|
|
33
|
-
await this.
|
|
34
|
-
await this.
|
|
35
|
-
await this.
|
|
41
|
+
await this.declared.applyWebsite();
|
|
42
|
+
await this.declared.applyPublicAccess();
|
|
43
|
+
await this.declared.applyVersioning();
|
|
44
|
+
await this.declared.applyObjectLock();
|
|
45
|
+
await this.declared.applyLifecycle();
|
|
36
46
|
await this.configureNotifications();
|
|
37
47
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
async configurePublicAccess() {
|
|
46
|
-
const config = new SimCfnS3BucketPublicAccessConfiguration(this.resource.logicalId, this.properties).read();
|
|
47
|
-
if (config === undefined) {
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
await this.simS3.putPublicAccessBlock({
|
|
51
|
-
input: {
|
|
52
|
-
Bucket: this.bucketName,
|
|
53
|
-
PublicAccessBlockConfiguration: config,
|
|
54
|
-
},
|
|
55
|
-
}, this.options);
|
|
56
|
-
}
|
|
57
|
-
async configureLifecycle() {
|
|
58
|
-
const config = new SimCfnS3BucketLifecycleConfiguration(this.resource.logicalId, this.properties).read();
|
|
59
|
-
if (config === undefined) {
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
await this.simS3.putBucketLifecycleConfiguration({ input: { Bucket: this.bucketName, LifecycleConfiguration: config } }, this.options);
|
|
63
|
-
}
|
|
48
|
+
/**
|
|
49
|
+
* Apply the event notification configuration the Resource declares.
|
|
50
|
+
*
|
|
51
|
+
* This reader takes the declared value rather than the whole property bag,
|
|
52
|
+
* because a notification configuration also arrives from a CDK custom
|
|
53
|
+
* resource that has no AWS::S3::Bucket properties to read it out of.
|
|
54
|
+
*/
|
|
64
55
|
async configureNotifications() {
|
|
65
56
|
const declared = this.properties["NotificationConfiguration"];
|
|
66
57
|
if (declared === undefined) {
|
|
67
58
|
return;
|
|
68
59
|
}
|
|
69
|
-
const
|
|
70
|
-
|
|
60
|
+
const reader = new SimCfnS3BucketNotificationConfiguration(this.resource.logicalId);
|
|
61
|
+
const NotificationConfiguration = reader.read(declared);
|
|
62
|
+
await this.simS3.putBucketNotificationConfiguration({ input: { Bucket: this.bucketName, NotificationConfiguration } }, this.options);
|
|
71
63
|
}
|
|
72
64
|
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
|
|
2
|
+
import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
3
|
+
import type { SimS3 } from "../../sim-s3.js";
|
|
4
|
+
interface SimCfnS3BucketDeclaredConfigurationsProperties {
|
|
5
|
+
readonly simS3: SimS3;
|
|
6
|
+
readonly logicalId: string;
|
|
7
|
+
readonly properties: SimCfnTemplateValueRecord;
|
|
8
|
+
readonly bucketName: string;
|
|
9
|
+
readonly options: SimCfnResourceCallerOptions;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* The AWS::S3::Bucket properties that are read straight off the Resource and
|
|
13
|
+
* handed to a command.
|
|
14
|
+
*
|
|
15
|
+
* Five properties with one shape between them. Each is read from the Resource,
|
|
16
|
+
* left alone where the Resource omitted it, and otherwise applied through the
|
|
17
|
+
* command an SDK caller would reach, so a template and an SDK caller are
|
|
18
|
+
* validated identically. The event notification configuration is the one that
|
|
19
|
+
* does not fit, because it also arrives from a CDK custom resource with no
|
|
20
|
+
* Bucket properties behind it, so it stays with the configurator.
|
|
21
|
+
*/
|
|
22
|
+
export declare class SimCfnS3BucketDeclaredConfigurations {
|
|
23
|
+
private readonly simS3;
|
|
24
|
+
private readonly logicalId;
|
|
25
|
+
private readonly properties;
|
|
26
|
+
private readonly bucketName;
|
|
27
|
+
private readonly options;
|
|
28
|
+
constructor(properties: SimCfnS3BucketDeclaredConfigurationsProperties);
|
|
29
|
+
/**
|
|
30
|
+
* Apply the website configuration the Resource declares.
|
|
31
|
+
*/
|
|
32
|
+
applyWebsite(): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Apply the Block Public Access settings the Resource declares.
|
|
35
|
+
*/
|
|
36
|
+
applyPublicAccess(): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Apply the versioning configuration the Resource declares.
|
|
39
|
+
*/
|
|
40
|
+
applyVersioning(): Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* Apply the Object Lock configuration the Resource declares.
|
|
43
|
+
*
|
|
44
|
+
* This goes after versioning, because Object Lock holds a version and
|
|
45
|
+
* PutObjectLockConfiguration refuses a Bucket that keeps none. A template
|
|
46
|
+
* declaring Object Lock without versioning therefore fails the Resource, in
|
|
47
|
+
* the words an SDK caller is refused in.
|
|
48
|
+
*/
|
|
49
|
+
applyObjectLock(): Promise<void>;
|
|
50
|
+
/**
|
|
51
|
+
* Apply the lifecycle rules the Resource declares.
|
|
52
|
+
*/
|
|
53
|
+
applyLifecycle(): Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Read one declared property, or nothing where the Resource omitted it.
|
|
56
|
+
*
|
|
57
|
+
* Every reader is built the same way, from the logical ID that names the
|
|
58
|
+
* Resource in a failure and the properties the Resource declared.
|
|
59
|
+
*/
|
|
60
|
+
private read;
|
|
61
|
+
}
|
|
62
|
+
export {};
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { SimCfnS3BucketLifecycleConfiguration } from "./lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.js";
|
|
2
|
+
import { SimCfnS3BucketObjectLockConfiguration } from "./lock/sim-cfn-s3-bucket-object-lock-configuration.js";
|
|
3
|
+
import { SimCfnS3BucketPublicAccessConfiguration } from "./public-access/sim-cfn-s3-bucket-public-access-configuration.js";
|
|
4
|
+
import { SimCfnS3BucketVersioningConfiguration } from "./versioning/sim-cfn-s3-bucket-versioning-configuration.js";
|
|
5
|
+
import { SimCfnS3BucketWebsiteConfiguration } from "./website/sim-cfn-s3-bucket-website-configuration.js";
|
|
6
|
+
/**
|
|
7
|
+
* The AWS::S3::Bucket properties that are read straight off the Resource and
|
|
8
|
+
* handed to a command.
|
|
9
|
+
*
|
|
10
|
+
* Five properties with one shape between them. Each is read from the Resource,
|
|
11
|
+
* left alone where the Resource omitted it, and otherwise applied through the
|
|
12
|
+
* command an SDK caller would reach, so a template and an SDK caller are
|
|
13
|
+
* validated identically. The event notification configuration is the one that
|
|
14
|
+
* does not fit, because it also arrives from a CDK custom resource with no
|
|
15
|
+
* Bucket properties behind it, so it stays with the configurator.
|
|
16
|
+
*/
|
|
17
|
+
export class SimCfnS3BucketDeclaredConfigurations {
|
|
18
|
+
simS3;
|
|
19
|
+
logicalId;
|
|
20
|
+
properties;
|
|
21
|
+
bucketName;
|
|
22
|
+
options;
|
|
23
|
+
constructor(properties) {
|
|
24
|
+
this.simS3 = properties.simS3;
|
|
25
|
+
this.logicalId = properties.logicalId;
|
|
26
|
+
this.properties = properties.properties;
|
|
27
|
+
this.bucketName = properties.bucketName;
|
|
28
|
+
this.options = properties.options;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Apply the website configuration the Resource declares.
|
|
32
|
+
*/
|
|
33
|
+
async applyWebsite() {
|
|
34
|
+
const WebsiteConfiguration = this.read(SimCfnS3BucketWebsiteConfiguration);
|
|
35
|
+
if (WebsiteConfiguration !== undefined) {
|
|
36
|
+
await this.simS3.putBucketWebsite({ input: { Bucket: this.bucketName, WebsiteConfiguration } }, this.options);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Apply the Block Public Access settings the Resource declares.
|
|
41
|
+
*/
|
|
42
|
+
async applyPublicAccess() {
|
|
43
|
+
const PublicAccessBlockConfiguration = this.read(SimCfnS3BucketPublicAccessConfiguration);
|
|
44
|
+
if (PublicAccessBlockConfiguration !== undefined) {
|
|
45
|
+
await this.simS3.putPublicAccessBlock({ input: { Bucket: this.bucketName, PublicAccessBlockConfiguration } }, this.options);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Apply the versioning configuration the Resource declares.
|
|
50
|
+
*/
|
|
51
|
+
async applyVersioning() {
|
|
52
|
+
const VersioningConfiguration = this.read(SimCfnS3BucketVersioningConfiguration);
|
|
53
|
+
if (VersioningConfiguration !== undefined) {
|
|
54
|
+
await this.simS3.putBucketVersioning({ input: { Bucket: this.bucketName, VersioningConfiguration } }, this.options);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Apply the Object Lock configuration the Resource declares.
|
|
59
|
+
*
|
|
60
|
+
* This goes after versioning, because Object Lock holds a version and
|
|
61
|
+
* PutObjectLockConfiguration refuses a Bucket that keeps none. A template
|
|
62
|
+
* declaring Object Lock without versioning therefore fails the Resource, in
|
|
63
|
+
* the words an SDK caller is refused in.
|
|
64
|
+
*/
|
|
65
|
+
async applyObjectLock() {
|
|
66
|
+
const ObjectLockConfiguration = this.read(SimCfnS3BucketObjectLockConfiguration);
|
|
67
|
+
if (ObjectLockConfiguration !== undefined) {
|
|
68
|
+
await this.simS3.putObjectLockConfiguration({ input: { Bucket: this.bucketName, ObjectLockConfiguration } }, this.options);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Apply the lifecycle rules the Resource declares.
|
|
73
|
+
*/
|
|
74
|
+
async applyLifecycle() {
|
|
75
|
+
const LifecycleConfiguration = this.read(SimCfnS3BucketLifecycleConfiguration);
|
|
76
|
+
if (LifecycleConfiguration !== undefined) {
|
|
77
|
+
await this.simS3.putBucketLifecycleConfiguration({ input: { Bucket: this.bucketName, LifecycleConfiguration } }, this.options);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Read one declared property, or nothing where the Resource omitted it.
|
|
82
|
+
*
|
|
83
|
+
* Every reader is built the same way, from the logical ID that names the
|
|
84
|
+
* Resource in a failure and the properties the Resource declared.
|
|
85
|
+
*/
|
|
86
|
+
read(Reader) {
|
|
87
|
+
return new Reader(this.logicalId, this.properties).read();
|
|
88
|
+
}
|
|
89
|
+
}
|
|
@@ -12,14 +12,18 @@ export declare const simulatedPropertyNames: ReadonlySet<string>;
|
|
|
12
12
|
* report of differences that make no difference is one nobody can read.
|
|
13
13
|
*/
|
|
14
14
|
export declare const inertPropertyNames: ReadonlySet<string>;
|
|
15
|
+
import type { SimCfnSkippedPropertyRules } from "../../../cloudformation/resource/ignore/sim-cfn-skipped-property.type.js";
|
|
15
16
|
/**
|
|
16
17
|
* Real AWS::S3::Bucket properties this simulation does not model, with what
|
|
17
18
|
* each of them would have changed.
|
|
18
19
|
*
|
|
19
20
|
* The Bucket is created without them and each one is recorded against the
|
|
20
|
-
* Resource. A
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
21
|
+
* Resource. A Bucket declaring replication, for instance, copies nothing to
|
|
22
|
+
* the Bucket it names, so a test expecting an Object to arrive there needs to
|
|
23
|
+
* find out that nothing was ever going to send it.
|
|
24
|
+
*
|
|
25
|
+
* A property whose value real S3 answers with a 400 states what it has to
|
|
26
|
+
* satisfy here as well. Nothing acts on the value either way, and reading it
|
|
27
|
+
* this far is what keeps a template AWS refuses from deploying.
|
|
24
28
|
*/
|
|
25
|
-
export declare const unsimulatedPropertyReasons:
|
|
29
|
+
export declare const unsimulatedPropertyReasons: SimCfnSkippedPropertyRules;
|