@kensio/yulin 1.21.0 → 1.21.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/sdk/router/resolve-sim-sdk-command-router.js +4 -0
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.js +3 -0
- package/dist/service/aws/factory/sim-aws-lambda-collaborators.d.ts +2 -0
- package/dist/service/aws/factory/sim-aws-lambda-collaborators.js +3 -0
- package/dist/service/aws/factory/sim-aws-logs-collaborators.d.ts +7 -0
- package/dist/service/aws/factory/sim-aws-logs-collaborators.js +10 -0
- package/dist/service/aws/factory/sim-aws-self-contained-service-builder.d.ts +3 -0
- package/dist/service/aws/factory/sim-aws-self-contained-service-builder.js +5 -0
- package/dist/service/aws/factory/sim-aws-service-factory.d.ts +3 -0
- package/dist/service/aws/factory/sim-aws-service-factory.js +4 -0
- package/dist/service/aws/sim-aws-account-region-scope.d.ts +3 -0
- package/dist/service/aws/sim-aws-account-region-scope.js +4 -0
- package/dist/service/aws/sim-aws-account.d.ts +3 -0
- package/dist/service/aws/sim-aws-account.js +4 -0
- package/dist/service/aws/sim-aws-region.d.ts +3 -0
- package/dist/service/aws/sim-aws-region.js +4 -0
- package/dist/service/aws/sim-aws-service-accessors.d.ts +3 -0
- package/dist/service/aws/sim-aws-service-accessors.js +4 -0
- package/dist/service/backup/cfn/sim-backup-cfn-plan-creator.d.ts +6 -0
- package/dist/service/backup/cfn/sim-backup-cfn-plan-creator.js +12 -0
- package/dist/service/backup/cfn/sim-backup-cfn-resource-deleter.d.ts +12 -0
- package/dist/service/backup/cfn/sim-backup-cfn-resource-deleter.js +31 -0
- package/dist/service/backup/cfn/sim-backup-cfn-resource-factory.d.ts +15 -0
- package/dist/service/backup/cfn/sim-backup-cfn-resource-factory.js +38 -0
- package/dist/service/backup/cfn/sim-backup-cfn-selection-creator.d.ts +6 -0
- package/dist/service/backup/cfn/sim-backup-cfn-selection-creator.js +17 -0
- package/dist/service/backup/cfn/sim-backup-cfn-vault-creator.d.ts +6 -0
- package/dist/service/backup/cfn/sim-backup-cfn-vault-creator.js +29 -0
- package/dist/service/backup/cfn/sim-cfn-backup-plan-properties.d.ts +11 -0
- package/dist/service/backup/cfn/sim-cfn-backup-plan-properties.js +37 -0
- package/dist/service/backup/cfn/sim-cfn-backup-properties.d.ts +12 -0
- package/dist/service/backup/cfn/sim-cfn-backup-properties.js +37 -0
- package/dist/service/backup/cfn/sim-cfn-backup-property-reader.d.ts +17 -0
- package/dist/service/backup/cfn/sim-cfn-backup-property-reader.js +62 -0
- package/dist/service/backup/cfn/sim-cfn-backup-resource-error.d.ts +7 -0
- package/dist/service/backup/cfn/sim-cfn-backup-resource-error.js +22 -0
- package/dist/service/backup/command/sim-backup-authorizer.d.ts +11 -0
- package/dist/service/backup/command/sim-backup-authorizer.js +24 -0
- package/dist/service/backup/command/sim-backup-command.types.d.ts +238 -0
- package/dist/service/backup/command/sim-backup-command.types.js +1 -0
- package/dist/service/backup/command/sim-backup-configuration-commands.d.ts +32 -0
- package/dist/service/backup/command/sim-backup-configuration-commands.js +138 -0
- package/dist/service/backup/command/sim-backup-job-commands.d.ts +23 -0
- package/dist/service/backup/command/sim-backup-job-commands.js +52 -0
- package/dist/service/backup/command/sim-backup-recovery-point-commands.d.ts +18 -0
- package/dist/service/backup/command/sim-backup-recovery-point-commands.js +38 -0
- package/dist/service/backup/command/sim-backup-request-options.d.ts +4 -0
- package/dist/service/backup/command/sim-backup-request-options.js +1 -0
- package/dist/service/backup/command/sim-backup-required-string.d.ts +2 -0
- package/dist/service/backup/command/sim-backup-required-string.js +8 -0
- package/dist/service/backup/error/sim-backup.error.d.ts +38 -0
- package/dist/service/backup/error/sim-backup.error.js +50 -0
- package/dist/service/backup/index.d.ts +9 -0
- package/dist/service/backup/index.js +7 -0
- package/dist/service/backup/job/sim-backup-job-input.d.ts +11 -0
- package/dist/service/backup/job/sim-backup-job-input.js +1 -0
- package/dist/service/backup/job/sim-backup-job-page.d.ts +22 -0
- package/dist/service/backup/job/sim-backup-job-page.js +54 -0
- package/dist/service/backup/job/sim-backup-job.d.ts +25 -0
- package/dist/service/backup/job/sim-backup-job.factory.d.ts +10 -0
- package/dist/service/backup/job/sim-backup-job.factory.js +24 -0
- package/dist/service/backup/job/sim-backup-job.js +54 -0
- package/dist/service/backup/job/sim-backup-jobs.d.ts +18 -0
- package/dist/service/backup/job/sim-backup-jobs.js +33 -0
- package/dist/service/backup/plan/sim-backup-plan-schedules.d.ts +21 -0
- package/dist/service/backup/plan/sim-backup-plan-schedules.js +66 -0
- package/dist/service/backup/plan/sim-backup-plan.d.ts +22 -0
- package/dist/service/backup/plan/sim-backup-plan.js +37 -0
- package/dist/service/backup/plan/sim-backup-rule.d.ts +9 -0
- package/dist/service/backup/plan/sim-backup-rule.js +71 -0
- package/dist/service/backup/recovery-point/sim-backup-recovery-point.d.ts +28 -0
- package/dist/service/backup/recovery-point/sim-backup-recovery-point.factory.d.ts +9 -0
- package/dist/service/backup/recovery-point/sim-backup-recovery-point.factory.js +23 -0
- package/dist/service/backup/recovery-point/sim-backup-recovery-point.js +62 -0
- package/dist/service/backup/sdk/sim-backup-sdk-command-router.d.ts +9 -0
- package/dist/service/backup/sdk/sim-backup-sdk-command-router.js +37 -0
- package/dist/service/backup/selection/sim-backup-selection.d.ts +22 -0
- package/dist/service/backup/selection/sim-backup-selection.js +43 -0
- package/dist/service/backup/sim-backup-arn.d.ts +7 -0
- package/dist/service/backup/sim-backup-arn.js +12 -0
- package/dist/service/backup/sim-backup-properties.d.ts +8 -0
- package/dist/service/backup/sim-backup-properties.js +1 -0
- package/dist/service/backup/sim-backup-resource-resolver.d.ts +24 -0
- package/dist/service/backup/sim-backup-resource-resolver.js +44 -0
- package/dist/service/backup/sim-backup-store.d.ts +29 -0
- package/dist/service/backup/sim-backup-store.js +80 -0
- package/dist/service/backup/sim-backup.d.ts +48 -0
- package/dist/service/backup/sim-backup.js +139 -0
- package/dist/service/backup/vault/sim-backup-vault-description.d.ts +12 -0
- package/dist/service/backup/vault/sim-backup-vault-description.js +15 -0
- package/dist/service/backup/vault/sim-backup-vault-lock-configuration.d.ts +5 -0
- package/dist/service/backup/vault/sim-backup-vault-lock-configuration.js +31 -0
- package/dist/service/backup/vault/sim-backup-vault-lock.d.ts +15 -0
- package/dist/service/backup/vault/sim-backup-vault-lock.js +23 -0
- package/dist/service/backup/vault/sim-backup-vault-recovery-points.d.ts +12 -0
- package/dist/service/backup/vault/sim-backup-vault-recovery-points.js +30 -0
- package/dist/service/backup/vault/sim-backup-vault-retention.d.ts +4 -0
- package/dist/service/backup/vault/sim-backup-vault-retention.js +20 -0
- package/dist/service/backup/vault/sim-backup-vault.d.ts +33 -0
- package/dist/service/backup/vault/sim-backup-vault.js +49 -0
- package/dist/service/cloudformation/resource/cfn/backup/sim-backup-cfn-value-adapter.d.ts +3 -0
- package/dist/service/cloudformation/resource/cfn/backup/sim-backup-cfn-value-adapter.js +66 -0
- package/dist/service/cloudformation/resource/cfn/logs/sim-logs-cfn-value-adapter.js +6 -0
- package/dist/service/cloudformation/resource/cfn/logs/sim-logs-metric-filter-cfn.d.ts +23 -0
- package/dist/service/cloudformation/resource/cfn/logs/sim-logs-metric-filter-cfn.js +22 -0
- package/dist/service/cloudformation/resource/cfn/sim-cfn-service-value-adapters.js +2 -0
- package/dist/service/cloudformation/resource/ignore/sim-cfn-skipped-properties.d.ts +49 -0
- package/dist/service/cloudformation/resource/ignore/sim-cfn-skipped-properties.js +61 -0
- package/dist/service/cloudformation/resource/ignore/sim-cfn-skipped-property.type.d.ts +51 -0
- package/dist/service/cloudformation/resource/ignore/sim-cfn-skipped-property.type.js +1 -0
- package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-factories.js +4 -0
- package/dist/service/cloudwatch/index.d.ts +1 -0
- package/dist/service/cloudwatch/index.js +1 -0
- package/dist/service/cloudwatch/sim-cloudwatch-commands.d.ts +2 -0
- package/dist/service/cloudwatch/sim-cloudwatch-commands.js +6 -0
- package/dist/service/cloudwatch/sim-cloudwatch.d.ts +9 -0
- package/dist/service/cloudwatch/sim-cloudwatch.js +10 -0
- package/dist/service/cloudwatch/write/sim-cloudwatch-service-writer.d.ts +58 -0
- package/dist/service/cloudwatch/write/sim-cloudwatch-service-writer.js +53 -0
- package/dist/service/cognito/command/auth/sim-cognito-admin-respond-to-challenge.d.ts +3 -0
- package/dist/service/cognito/command/auth/sim-cognito-admin-respond-to-challenge.js +8 -2
- package/dist/service/cognito/command/auth/sim-cognito-auth-commands.d.ts +3 -0
- package/dist/service/cognito/command/auth/sim-cognito-auth-commands.js +4 -0
- package/dist/service/cognito/command/auth/sim-cognito-auth-flow-runner.d.ts +11 -1
- package/dist/service/cognito/command/auth/sim-cognito-auth-flow-runner.js +13 -1
- package/dist/service/cognito/command/auth/sim-cognito-auth-resolver.d.ts +3 -0
- package/dist/service/cognito/command/auth/sim-cognito-auth-resolver.js +16 -4
- package/dist/service/cognito/command/auth/sim-cognito-get-tokens-from-refresh-token.d.ts +7 -0
- package/dist/service/cognito/command/auth/sim-cognito-get-tokens-from-refresh-token.js +11 -1
- package/dist/service/cognito/command/auth/sim-cognito-respond-to-challenge.d.ts +3 -0
- package/dist/service/cognito/command/auth/sim-cognito-respond-to-challenge.js +8 -2
- package/dist/service/cognito/command/hosted/hosted-auth.command.d.ts +19 -0
- package/dist/service/cognito/command/hosted/sim-cognito-authorize-endpoint.d.ts +1 -1
- package/dist/service/cognito/command/hosted/sim-cognito-authorize-endpoint.js +3 -2
- package/dist/service/cognito/command/hosted/sim-cognito-hosted-commands.d.ts +8 -0
- package/dist/service/cognito/command/hosted/sim-cognito-hosted-commands.js +11 -3
- package/dist/service/cognito/command/hosted/sim-cognito-hosted-passkey-sign-in.d.ts +11 -1
- package/dist/service/cognito/command/hosted/sim-cognito-hosted-passkey-sign-in.js +13 -2
- package/dist/service/cognito/command/hosted/sim-cognito-hosted-password-sign-in.d.ts +11 -1
- package/dist/service/cognito/command/hosted/sim-cognito-hosted-password-sign-in.js +11 -1
- package/dist/service/cognito/command/hosted/sim-cognito-hosted-sign-in.d.ts +7 -1
- package/dist/service/cognito/command/hosted/sim-cognito-hosted-sign-in.js +18 -7
- package/dist/service/cognito/command/hosted/sim-cognito-hosted-signed-in.d.ts +20 -3
- package/dist/service/cognito/command/hosted/sim-cognito-hosted-signed-in.js +19 -3
- package/dist/service/cognito/command/hosted/sim-cognito-token-endpoint.d.ts +2 -0
- package/dist/service/cognito/command/hosted/sim-cognito-token-grants.d.ts +8 -0
- package/dist/service/cognito/command/hosted/sim-cognito-token-grants.js +13 -4
- package/dist/service/cognito/command/sim-cognito-commands.d.ts +5 -0
- package/dist/service/cognito/command/sim-cognito-commands.js +22 -2
- package/dist/service/cognito/command/user/sim-cognito-confirm-sign-up-commands.d.ts +74 -0
- package/dist/service/cognito/command/user/sim-cognito-confirm-sign-up-commands.js +110 -0
- package/dist/service/cognito/command/user/sim-cognito-sign-up-commands.d.ts +5 -49
- package/dist/service/cognito/command/user/sim-cognito-sign-up-commands.js +7 -87
- package/dist/service/cognito/command/user/sim-cognito-user-commands.d.ts +4 -0
- package/dist/service/cognito/command/user/sim-cognito-user-commands.js +38 -29
- package/dist/service/cognito/error/sim-cognito-managed-login.error.d.ts +23 -0
- package/dist/service/cognito/error/sim-cognito-managed-login.error.js +36 -0
- package/dist/service/cognito/error/sim-cognito-throttle.error.d.ts +13 -0
- package/dist/service/cognito/error/sim-cognito-throttle.error.js +15 -0
- package/dist/service/cognito/index.d.ts +2 -0
- package/dist/service/cognito/index.js +2 -0
- package/dist/service/cognito/metric/sim-cognito-counted-request.d.ts +50 -0
- package/dist/service/cognito/metric/sim-cognito-counted-request.js +51 -0
- package/dist/service/cognito/metric/sim-cognito-metrics.d.ts +22 -0
- package/dist/service/cognito/metric/sim-cognito-metrics.js +26 -0
- package/dist/service/cognito/metric/sim-cognito-pool-metrics.d.ts +40 -0
- package/dist/service/cognito/metric/sim-cognito-pool-metrics.js +51 -0
- package/dist/service/cognito/metric/sim-cognito-throttled-request.d.ts +11 -0
- package/dist/service/cognito/metric/sim-cognito-throttled-request.js +15 -0
- package/dist/service/cognito/serve/page/sim-cognito-managed-login.d.ts +1 -0
- package/dist/service/cognito/serve/page/sim-cognito-managed-login.js +6 -1
- package/dist/service/cognito/serve/page/sim-cognito-page-markup.d.ts +4 -1
- package/dist/service/cognito/serve/page/sim-cognito-page-markup.js +6 -2
- package/dist/service/cognito/serve/page/sim-cognito-provider-page.d.ts +35 -0
- package/dist/service/cognito/serve/page/sim-cognito-provider-page.js +50 -0
- package/dist/service/cognito/sim-cognito-identity-provider.d.ts +6 -0
- package/dist/service/cognito/sim-cognito-identity-provider.js +1 -0
- package/dist/service/cognito/sim-cognito-user-directory.js +3 -3
- package/dist/service/cognito/user-pool/auth/sim-cognito-authorization-code.d.ts +9 -0
- package/dist/service/cognito/user-pool/auth/sim-cognito-authorization-code.js +2 -0
- package/dist/service/cognito/user-pool/auth/sim-cognito-pool-auth.d.ts +8 -0
- package/dist/service/cognito/user-pool/auth/sim-cognito-pool-auth.js +8 -0
- package/dist/service/cognito/user-pool/auth/sim-cognito-request-throttle.d.ts +36 -0
- package/dist/service/cognito/user-pool/auth/sim-cognito-request-throttle.js +45 -0
- package/dist/service/cognito/user-pool/idp/sim-cognito-federated-sign-in.d.ts +42 -9
- package/dist/service/cognito/user-pool/idp/sim-cognito-federated-sign-in.js +56 -27
- package/dist/service/cognito/user-pool/idp/sim-cognito-federated-triggers.d.ts +52 -0
- package/dist/service/cognito/user-pool/idp/sim-cognito-federated-triggers.js +49 -0
- package/dist/service/cognito/user-pool/idp/sim-cognito-presented-external-user.d.ts +48 -0
- package/dist/service/cognito/user-pool/idp/sim-cognito-presented-external-user.js +94 -0
- package/dist/service/cognito/user-pool/idp/sim-cognito-same-federated-identity.d.ts +13 -0
- package/dist/service/cognito/user-pool/idp/sim-cognito-same-federated-identity.js +19 -0
- package/dist/service/cognito/user-pool/idp/sim-cognito-user-pool-identity-provider.d.ts +7 -0
- package/dist/service/cognito/user-pool/idp/sim-cognito-user-pool-identity-provider.js +9 -0
- package/dist/service/cognito/user-pool/trigger/sim-cognito-trigger-name.d.ts +3 -2
- package/dist/service/cognito/user-pool/trigger/sim-cognito-trigger-name.js +3 -2
- package/dist/service/cognito/user-pool/trigger/sim-cognito-trigger-occasion.d.ts +18 -1
- package/dist/service/cognito/user-pool/trigger/sim-cognito-trigger-occasion.js +35 -18
- package/dist/service/lambda/command/create-function/create-function.handler.d.ts +3 -0
- package/dist/service/lambda/command/create-function/create-function.handler.js +4 -1
- package/dist/service/lambda/command/function/sim-lambda-function-commands.d.ts +2 -0
- package/dist/service/lambda/event-source/poll/kinesis/sim-lambda-kinesis-stream-delivery.js +7 -11
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-delivery.js +7 -8
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-iterator-age.d.ts +11 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-iterator-age.js +31 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-sequence-numbers.d.ts +10 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-sequence-numbers.js +12 -0
- package/dist/service/lambda/function/sim-lambda-function.d.ts +3 -0
- package/dist/service/lambda/function/sim-lambda-function.js +6 -2
- package/dist/service/lambda/function/sim-lambda-function.type.d.ts +7 -0
- package/dist/service/lambda/metric/sim-lambda-function-metrics.d.ts +47 -0
- package/dist/service/lambda/metric/sim-lambda-function-metrics.js +83 -0
- package/dist/service/lambda/metric/sim-lambda-iterator-age.d.ts +29 -0
- package/dist/service/lambda/metric/sim-lambda-iterator-age.js +41 -0
- package/dist/service/lambda/metric/sim-lambda-metrics.d.ts +12 -0
- package/dist/service/lambda/metric/sim-lambda-metrics.js +13 -0
- package/dist/service/lambda/sim-lambda-commands.d.ts +2 -0
- package/dist/service/lambda/sim-lambda-commands.js +2 -1
- package/dist/service/logs/cfn/metric/sim-cfn-metric-dimension-values.d.ts +9 -0
- package/dist/service/logs/cfn/metric/sim-cfn-metric-dimension-values.js +25 -0
- package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-creator.d.ts +30 -0
- package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-creator.js +52 -0
- package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-properties.d.ts +40 -0
- package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-properties.js +66 -0
- package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-property-rules.d.ts +19 -0
- package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-property-rules.js +40 -0
- package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-unsimulated-properties.d.ts +5 -0
- package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-unsimulated-properties.js +23 -0
- package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-value.d.ts +25 -0
- package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-value.js +58 -0
- package/dist/service/logs/cfn/metric/sim-cfn-metric-transformation-values.d.ts +6 -0
- package/dist/service/logs/cfn/metric/sim-cfn-metric-transformation-values.js +19 -0
- package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.d.ts +2 -0
- package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.js +4 -0
- package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.d.ts +5 -3
- package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.js +12 -3
- package/dist/service/logs/command/event/sim-logs-put-log-events.d.ts +3 -0
- package/dist/service/logs/command/event/sim-logs-put-log-events.js +3 -0
- package/dist/service/logs/command/group/sim-logs-log-group-commands.js +3 -3
- package/dist/service/logs/command/metric/metric-filter.command.d.ts +79 -0
- package/dist/service/logs/command/metric/metric-filter.command.js +1 -0
- package/dist/service/logs/command/metric/sim-logs-metric-filter-commands.d.ts +48 -0
- package/dist/service/logs/command/metric/sim-logs-metric-filter-commands.js +95 -0
- package/dist/service/logs/command/metric/sim-logs-metric-filter-input.d.ts +11 -0
- package/dist/service/logs/command/metric/sim-logs-metric-filter-input.js +79 -0
- package/dist/service/logs/command/sim-logs-command.types.d.ts +1 -0
- package/dist/service/logs/group/sim-logs-log-group.d.ts +6 -0
- package/dist/service/logs/group/sim-logs-log-group.js +6 -0
- package/dist/service/logs/index.d.ts +6 -0
- package/dist/service/logs/index.js +4 -0
- package/dist/service/logs/metric/cloudwatch/sim-aws-logs-metric-filter-metrics.d.ts +40 -0
- package/dist/service/logs/metric/cloudwatch/sim-aws-logs-metric-filter-metrics.js +78 -0
- package/dist/service/logs/metric/emf/sim-logs-embedded-metric-datapoints.d.ts +25 -0
- package/dist/service/logs/metric/emf/sim-logs-embedded-metric-datapoints.js +81 -0
- package/dist/service/logs/metric/emf/sim-logs-embedded-metric-document.d.ts +57 -0
- package/dist/service/logs/metric/emf/sim-logs-embedded-metric-document.js +85 -0
- package/dist/service/logs/metric/emf/sim-logs-embedded-metric-json.d.ts +24 -0
- package/dist/service/logs/metric/emf/sim-logs-embedded-metric-json.js +41 -0
- package/dist/service/logs/metric/emf/sim-logs-embedded-metric-values.d.ts +20 -0
- package/dist/service/logs/metric/emf/sim-logs-embedded-metric-values.js +39 -0
- package/dist/service/logs/metric/sim-logs-metric-datapoint.d.ts +25 -0
- package/dist/service/logs/metric/sim-logs-metric-datapoint.js +1 -0
- package/dist/service/logs/metric/sim-logs-metric-fan-out.d.ts +62 -0
- package/dist/service/logs/metric/sim-logs-metric-fan-out.js +116 -0
- package/dist/service/logs/metric/sim-logs-metric-filter-selection.d.ts +17 -0
- package/dist/service/logs/metric/sim-logs-metric-filter-selection.js +17 -0
- package/dist/service/logs/metric/sim-logs-metric-filter-store.d.ts +35 -0
- package/dist/service/logs/metric/sim-logs-metric-filter-store.js +47 -0
- package/dist/service/logs/metric/sim-logs-metric-filter.d.ts +49 -0
- package/dist/service/logs/metric/sim-logs-metric-filter.js +95 -0
- package/dist/service/logs/metric/sim-logs-metric-publication-failure.d.ts +31 -0
- package/dist/service/logs/metric/sim-logs-metric-publication-failure.js +12 -0
- package/dist/service/logs/metric/sim-logs-metric-publications.d.ts +11 -0
- package/dist/service/logs/metric/sim-logs-metric-publications.js +1 -0
- package/dist/service/logs/metric/sim-logs-metric-transformation.d.ts +45 -0
- package/dist/service/logs/metric/sim-logs-metric-transformation.js +127 -0
- package/dist/service/logs/sdk/sim-logs-sdk-command-router.js +12 -0
- package/dist/service/logs/sim-logs-commands.d.ts +12 -0
- package/dist/service/logs/sim-logs-commands.js +17 -0
- package/dist/service/logs/sim-logs-metric-operations.d.ts +31 -0
- package/dist/service/logs/sim-logs-metric-operations.js +37 -0
- package/dist/service/logs/sim-logs.d.ts +4 -3
- package/dist/service/logs/sim-logs.js +4 -3
- package/dist/service/logs/write/sim-logs-service-writer.d.ts +3 -0
- package/dist/service/logs/write/sim-logs-service-writer.js +5 -1
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.d.ts +32 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.js +31 -1
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.d.ts +13 -2
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.js +18 -1
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.d.ts +17 -1
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.js +27 -3
- package/dist/service/s3/bucket/lifecycle/sim-s3-noncurrent-sweep.d.ts +45 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-noncurrent-sweep.js +90 -0
- package/dist/service/s3/bucket/lock/sim-s3-bucket-object-lock.d.ts +42 -0
- package/dist/service/s3/bucket/lock/sim-s3-bucket-object-lock.js +59 -0
- package/dist/service/s3/bucket/lock/sim-s3-default-retention.d.ts +8 -0
- package/dist/service/s3/bucket/lock/sim-s3-default-retention.js +15 -0
- package/dist/service/s3/bucket/lock/sim-s3-object-lock-configuration.d.ts +49 -0
- package/dist/service/s3/bucket/lock/sim-s3-object-lock-configuration.js +102 -0
- package/dist/service/s3/bucket/lock/sim-s3-object-lock-output.d.ts +14 -0
- package/dist/service/s3/bucket/lock/sim-s3-object-lock-output.js +1 -0
- package/dist/service/s3/bucket/lock/sim-s3-object-lock.d.ts +62 -0
- package/dist/service/s3/bucket/lock/sim-s3-object-lock.js +100 -0
- package/dist/service/s3/bucket/lock/sim-s3-object-retention.d.ts +55 -0
- package/dist/service/s3/bucket/lock/sim-s3-object-retention.js +82 -0
- package/dist/service/s3/bucket/notification/sim-s3-notification-event.d.ts +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-event.js +9 -1
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-events.d.ts +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-events.js +1 -2
- package/dist/service/s3/bucket/sim-s3-bucket-objects.d.ts +114 -0
- package/dist/service/s3/bucket/sim-s3-bucket-objects.js +148 -0
- package/dist/service/s3/bucket/sim-s3-bucket.d.ts +30 -29
- package/dist/service/s3/bucket/sim-s3-bucket.js +42 -45
- package/dist/service/s3/bucket/sim-s3-object-deletion.d.ts +30 -0
- package/dist/service/s3/bucket/sim-s3-object-deletion.js +29 -0
- package/dist/service/s3/bucket/versioning/sim-s3-bucket-versioning.d.ts +61 -0
- package/dist/service/s3/bucket/versioning/sim-s3-bucket-versioning.js +65 -0
- package/dist/service/s3/bucket/versioning/sim-s3-bucket-versions.d.ts +97 -0
- package/dist/service/s3/bucket/versioning/sim-s3-bucket-versions.js +176 -0
- package/dist/service/s3/bucket/versioning/sim-s3-compare-keys.d.ts +10 -0
- package/dist/service/s3/bucket/versioning/sim-s3-compare-keys.js +16 -0
- package/dist/service/s3/bucket/versioning/sim-s3-object-version.d.ts +85 -0
- package/dist/service/s3/bucket/versioning/sim-s3-object-version.js +101 -0
- package/dist/service/s3/bucket/versioning/sim-s3-object-versions.d.ts +52 -0
- package/dist/service/s3/bucket/versioning/sim-s3-object-versions.js +91 -0
- package/dist/service/s3/bucket/versioning/sim-s3-version-page.d.ts +32 -0
- package/dist/service/s3/bucket/versioning/sim-s3-version-page.js +45 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.d.ts +0 -5
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.js +3 -14
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.d.ts +18 -1
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.js +34 -1
- package/dist/service/s3/cfn/bucket/lock/sim-cfn-s3-bucket-object-lock-configuration.d.ts +37 -0
- package/dist/service/s3/cfn/bucket/lock/sim-cfn-s3-bucket-object-lock-configuration.js +78 -0
- package/dist/service/s3/cfn/bucket/replication/sim-cfn-s3-bucket-replication-rules.d.ts +20 -0
- package/dist/service/s3/cfn/bucket/replication/sim-cfn-s3-bucket-replication-rules.js +107 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.d.ts +14 -7
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.js +29 -37
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-declared-configurations.d.ts +62 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-declared-configurations.js +89 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.d.ts +9 -5
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.js +16 -16
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-rules.d.ts +9 -5
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-rules.js +17 -6
- package/dist/service/s3/cfn/bucket/versioning/sim-cfn-s3-bucket-versioning-configuration.d.ts +19 -0
- package/dist/service/s3/cfn/bucket/versioning/sim-cfn-s3-bucket-versioning-configuration.js +28 -0
- package/dist/service/s3/command/authorize/sim-s3-authorize-action.d.ts +24 -0
- package/dist/service/s3/command/authorize/sim-s3-authorize-action.js +30 -0
- package/dist/service/s3/command/complete-multipart-upload/complete-multipart-upload.command.d.ts +2 -0
- package/dist/service/s3/command/complete-multipart-upload/complete-multipart-upload.handler.js +3 -1
- package/dist/service/s3/command/copy-object/copy-object.command.d.ts +3 -1
- package/dist/service/s3/command/copy-object/copy-object.handler.js +3 -1
- package/dist/service/s3/command/delete-object/delete-object-version-removal.d.ts +50 -0
- package/dist/service/s3/command/delete-object/delete-object-version-removal.js +52 -0
- package/dist/service/s3/command/delete-object/delete-object.command.d.ts +19 -2
- package/dist/service/s3/command/delete-object/delete-object.handler.d.ts +7 -1
- package/dist/service/s3/command/delete-object/delete-object.handler.js +28 -16
- package/dist/service/s3/command/delete-object/sim-s3-notify-deleted.d.ts +24 -0
- package/dist/service/s3/command/delete-object/sim-s3-notify-deleted.js +32 -0
- package/dist/service/s3/command/delete-objects/delete-object-attempt.d.ts +6 -2
- package/dist/service/s3/command/delete-objects/delete-object-attempt.js +6 -2
- package/dist/service/s3/command/delete-objects/delete-objects-key-removal.js +10 -9
- package/dist/service/s3/command/delete-objects/delete-objects-outcome.js +9 -1
- package/dist/service/s3/command/delete-objects/delete-objects.command.d.ts +6 -0
- package/dist/service/s3/command/get-bucket-versioning/get-bucket-versioning.command.d.ts +23 -0
- package/dist/service/s3/command/get-bucket-versioning/get-bucket-versioning.command.js +1 -0
- package/dist/service/s3/command/get-bucket-versioning/get-bucket-versioning.handler.d.ts +31 -0
- package/dist/service/s3/command/get-bucket-versioning/get-bucket-versioning.handler.js +40 -0
- package/dist/service/s3/command/get-object/get-object-loader.d.ts +3 -2
- package/dist/service/s3/command/get-object/get-object-loader.js +9 -4
- package/dist/service/s3/command/get-object/get-object.command.d.ts +9 -1
- package/dist/service/s3/command/get-object/get-object.handler.js +1 -1
- package/dist/service/s3/command/get-object-lock-configuration/get-object-lock-configuration.command.d.ts +25 -0
- package/dist/service/s3/command/get-object-lock-configuration/get-object-lock-configuration.command.js +1 -0
- package/dist/service/s3/command/get-object-lock-configuration/get-object-lock-configuration.handler.d.ts +31 -0
- package/dist/service/s3/command/get-object-lock-configuration/get-object-lock-configuration.handler.js +41 -0
- package/dist/service/s3/command/head-object/head-object-loader.d.ts +1 -1
- package/dist/service/s3/command/head-object/head-object-loader.js +7 -3
- package/dist/service/s3/command/head-object/head-object.command.d.ts +9 -1
- package/dist/service/s3/command/head-object/head-object.handler.js +1 -1
- package/dist/service/s3/command/list-object-versions/list-object-versions-listing.d.ts +31 -0
- package/dist/service/s3/command/list-object-versions/list-object-versions-listing.js +55 -0
- package/dist/service/s3/command/list-object-versions/list-object-versions-summaries.d.ts +17 -0
- package/dist/service/s3/command/list-object-versions/list-object-versions-summaries.js +34 -0
- package/dist/service/s3/command/list-object-versions/list-object-versions.command.d.ts +59 -0
- package/dist/service/s3/command/list-object-versions/list-object-versions.command.js +1 -0
- package/dist/service/s3/command/list-object-versions/list-object-versions.handler.d.ts +34 -0
- package/dist/service/s3/command/list-object-versions/list-object-versions.handler.js +62 -0
- package/dist/service/s3/command/object/sim-s3-read-object-version.d.ts +34 -0
- package/dist/service/s3/command/object/sim-s3-read-object-version.js +52 -0
- package/dist/service/s3/command/object-lock/sim-s3-locked-version.d.ts +11 -0
- package/dist/service/s3/command/object-lock/sim-s3-locked-version.js +27 -0
- package/dist/service/s3/command/object-lock/sim-s3-object-lock-authorizer.d.ts +42 -0
- package/dist/service/s3/command/object-lock/sim-s3-object-lock-authorizer.js +66 -0
- package/dist/service/s3/command/object-lock/sim-s3-object-lock-commands.d.ts +30 -0
- package/dist/service/s3/command/object-lock/sim-s3-object-lock-commands.js +41 -0
- package/dist/service/s3/command/put-bucket-versioning/put-bucket-versioning.command.d.ts +21 -0
- package/dist/service/s3/command/put-bucket-versioning/put-bucket-versioning.command.js +1 -0
- package/dist/service/s3/command/put-bucket-versioning/put-bucket-versioning.handler.d.ts +31 -0
- package/dist/service/s3/command/put-bucket-versioning/put-bucket-versioning.handler.js +44 -0
- package/dist/service/s3/command/put-object/put-object.command.d.ts +3 -0
- package/dist/service/s3/command/put-object/put-object.handler.js +10 -10
- package/dist/service/s3/command/put-object-legal-hold/put-object-legal-hold.command.d.ts +24 -0
- package/dist/service/s3/command/put-object-legal-hold/put-object-legal-hold.command.js +1 -0
- package/dist/service/s3/command/put-object-legal-hold/put-object-legal-hold.handler.d.ts +32 -0
- package/dist/service/s3/command/put-object-legal-hold/put-object-legal-hold.handler.js +41 -0
- package/dist/service/s3/command/put-object-lock-configuration/put-object-lock-configuration.command.d.ts +21 -0
- package/dist/service/s3/command/put-object-lock-configuration/put-object-lock-configuration.command.js +1 -0
- package/dist/service/s3/command/put-object-lock-configuration/put-object-lock-configuration.handler.d.ts +32 -0
- package/dist/service/s3/command/put-object-lock-configuration/put-object-lock-configuration.handler.js +47 -0
- package/dist/service/s3/command/put-object-retention/put-object-retention.command.d.ts +29 -0
- package/dist/service/s3/command/put-object-retention/put-object-retention.command.js +1 -0
- package/dist/service/s3/command/put-object-retention/put-object-retention.handler.d.ts +31 -0
- package/dist/service/s3/command/put-object-retention/put-object-retention.handler.js +42 -0
- package/dist/service/s3/command/sim-s3-command.types.d.ts +7 -0
- package/dist/service/s3/command/versioning/sim-s3-versioning-authorizer.d.ts +35 -0
- package/dist/service/s3/command/versioning/sim-s3-versioning-authorizer.js +57 -0
- package/dist/service/s3/command/versioning/sim-s3-versioning-commands.d.ts +26 -0
- package/dist/service/s3/command/versioning/sim-s3-versioning-commands.js +34 -0
- package/dist/service/s3/command/versioning/sim-s3-versioning-configuration-validation.d.ts +13 -0
- package/dist/service/s3/command/versioning/sim-s3-versioning-configuration-validation.js +28 -0
- package/dist/service/s3/error/sim-s3-object-lock.error.d.ts +22 -0
- package/dist/service/s3/error/sim-s3-object-lock.error.js +26 -0
- package/dist/service/s3/error/sim-s3.error.d.ts +22 -0
- package/dist/service/s3/error/sim-s3.error.js +26 -0
- package/dist/service/s3/notification/event/sim-s3-event-records.js +3 -0
- package/dist/service/s3/notification/event/sim-s3-event.type.d.ts +5 -3
- package/dist/service/s3/notification/event/sim-s3-object-event-builder.d.ts +15 -0
- package/dist/service/s3/notification/event/sim-s3-object-event-builder.js +4 -1
- package/dist/service/s3/notification/event/sim-s3-object-event.d.ts +6 -0
- package/dist/service/s3/notification/event/sim-s3-object-event.js +2 -0
- package/dist/service/s3/notification/sim-s3-object-notifier.d.ts +1 -1
- package/dist/service/s3/notification/sim-s3-object-notifier.js +2 -2
- package/dist/service/s3/sdk/sim-s3-sdk-bucket-routes.d.ts +10 -0
- package/dist/service/s3/sdk/sim-s3-sdk-bucket-routes.js +84 -0
- package/dist/service/s3/sdk/sim-s3-sdk-command-router.js +6 -132
- package/dist/service/s3/sdk/sim-s3-sdk-object-lock-routes.d.ts +10 -0
- package/dist/service/s3/sdk/sim-s3-sdk-object-lock-routes.js +28 -0
- package/dist/service/s3/sdk/sim-s3-sdk-object-routes.d.ts +7 -0
- package/dist/service/s3/sdk/sim-s3-sdk-object-routes.js +80 -0
- package/dist/service/s3/sim-s3-commands.d.ts +4 -0
- package/dist/service/s3/sim-s3-commands.js +6 -0
- package/dist/service/s3/sim-s3-operations.d.ts +5 -5
- package/dist/service/s3/sim-s3-operations.js +5 -6
- package/dist/service/s3/sim-s3-version-operations.d.ts +32 -0
- package/dist/service/s3/sim-s3-version-operations.js +45 -0
- package/dist/service/scheduler/command/schedule/schedule.command.d.ts +9 -2
- package/dist/service/scheduler/command/schedule/sim-scheduler-described-schedule.js +2 -0
- package/dist/service/scheduler/command/schedule/sim-scheduler-unsimulated-target.js +0 -6
- package/dist/service/scheduler/command/sim-scheduler-command.types.d.ts +1 -1
- package/dist/service/scheduler/command/sim-scheduler-commands.js +1 -0
- package/dist/service/scheduler/delivery/sim-aws-scheduler-dead-letters.d.ts +17 -0
- package/dist/service/scheduler/delivery/sim-aws-scheduler-dead-letters.js +29 -0
- package/dist/service/scheduler/delivery/sim-aws-scheduler-delivery-targets.d.ts +6 -1
- package/dist/service/scheduler/delivery/sim-aws-scheduler-delivery-targets.js +9 -0
- package/dist/service/scheduler/delivery/sim-scheduler-dead-letter-queue.d.ts +18 -0
- package/dist/service/scheduler/delivery/sim-scheduler-dead-letter-queue.js +62 -0
- package/dist/service/scheduler/delivery/sim-scheduler-delivery-attempt.d.ts +29 -0
- package/dist/service/scheduler/delivery/sim-scheduler-delivery-attempt.js +81 -0
- package/dist/service/scheduler/delivery/sim-scheduler-delivery-function.js +9 -5
- package/dist/service/scheduler/delivery/sim-scheduler-delivery.d.ts +11 -0
- package/dist/service/scheduler/delivery/sim-scheduler-no-delivery-targets.d.ts +5 -1
- package/dist/service/scheduler/delivery/sim-scheduler-no-delivery-targets.js +8 -0
- package/dist/service/scheduler/delivery/sim-scheduler-target-delivery.d.ts +4 -1
- package/dist/service/scheduler/delivery/sim-scheduler-target-delivery.js +20 -15
- package/dist/service/scheduler/index.d.ts +1 -1
- package/dist/service/scheduler/target/sim-scheduler-dead-letter-config.d.ts +15 -0
- package/dist/service/scheduler/target/sim-scheduler-dead-letter-config.js +24 -0
- package/dist/service/scheduler/target/sim-scheduler-retry-policy.d.ts +20 -0
- package/dist/service/scheduler/target/sim-scheduler-retry-policy.js +37 -0
- package/dist/service/scheduler/target/sim-scheduler-target.d.ts +6 -0
- package/dist/service/scheduler/target/sim-scheduler-target.js +12 -0
- package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-commands.js +13 -5
- package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-options.d.ts +1 -1
- package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-options.js +9 -9
- package/dist/service/ses/command/send/send.command.d.ts +10 -1
- package/dist/service/ses/command/send/sim-ses-read-content.d.ts +2 -1
- package/dist/service/ses/command/send/sim-ses-send-email.js +1 -0
- package/dist/service/ses/command/send/sim-ses-service-send.js +1 -0
- package/dist/service/ses/command/send/sim-ses-simple-content.js +26 -5
- package/dist/service/ses/command/send/sim-ses-template-send.js +1 -0
- package/dist/service/ses/command/suppression/suppression.command.d.ts +3 -2
- package/dist/service/ses/configuration-set/sim-ses-configuration-set.d.ts +9 -10
- package/dist/service/ses/configuration-set/sim-ses-configuration-set.js +7 -8
- package/dist/service/ses/email/sim-ses-sent-email-store.d.ts +8 -0
- package/dist/service/ses/email/sim-ses-sent-email-store.js +17 -0
- package/dist/service/ses/email/sim-ses-sent-email.d.ts +18 -0
- package/dist/service/ses/email/sim-ses-sent-email.js +3 -0
- package/dist/service/ses/error/sim-ses.error.d.ts +10 -0
- package/dist/service/ses/error/sim-ses.error.js +10 -0
- package/dist/service/ses/feedback/sim-ses-feedback-recorder.d.ts +34 -0
- package/dist/service/ses/feedback/sim-ses-feedback-recorder.js +55 -0
- package/dist/service/ses/index.d.ts +3 -2
- package/dist/service/ses/index.js +2 -1
- package/dist/service/ses/sim-ses-commands.d.ts +2 -0
- package/dist/service/ses/sim-ses-commands.js +9 -0
- package/dist/service/ses/sim-ses-configuration-sets.d.ts +4 -4
- package/dist/service/ses/sim-ses-configuration-sets.js +4 -4
- package/dist/service/ses/sim-ses-suppression.d.ts +3 -2
- package/dist/service/ses/sim-ses-suppression.js +3 -2
- package/dist/service/ses/sim-ses-v2.d.ts +13 -0
- package/dist/service/ses/sim-ses-v2.js +13 -0
- package/dist/service/ses/suppression/sim-ses-suppressed-destination.d.ts +3 -4
- package/dist/service/ses/suppression/sim-ses-suppressed-destination.js +3 -4
- package/dist/service/ses/suppression/sim-ses-suppression-list.d.ts +4 -4
- package/dist/service/ses/suppression/sim-ses-suppression-list.js +4 -4
- package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-encryption-rules.d.ts +15 -0
- package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-encryption-rules.js +33 -0
- package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-properties.d.ts +16 -0
- package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-properties.js +33 -1
- package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-names.d.ts +12 -6
- package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-names.js +18 -13
- package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-rules.d.ts +1 -0
- package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-rules.js +9 -1
- package/dist/terraform/map/sim-tf-map-sqs-redrive.d.ts +4 -3
- package/dist/terraform/map/sim-tf-map-sqs-redrive.js +4 -3
- package/docs/README.md +1 -0
- package/docs/services/backup/README.md +553 -0
- package/docs/services/cloudformation/README.md +16 -6
- package/docs/services/cloudwatch/README.md +159 -3
- package/docs/services/cognito/README.md +370 -7
- package/docs/services/lambda/README.md +28 -0
- package/docs/services/logs/README.md +284 -3
- package/docs/services/s3/README.md +463 -20
- package/docs/services/scheduler/README.md +48 -9
- package/docs/services/ses/README.md +164 -41
- package/docs/services/sqs/README.md +47 -10
- package/llms.txt +1 -0
- package/package.json +7 -2
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { metricFilterList, metricFilterPropertyError, metricFilterRecord, metricFilterRequiredString, } from "./sim-cfn-metric-filter-value.js";
|
|
2
|
+
/**
|
|
3
|
+
* Read a transformation's dimensions into the map shape the API uses.
|
|
4
|
+
*
|
|
5
|
+
* The template carries them as a list of Key and Value pairs, and the SDK
|
|
6
|
+
* carries the same thing as a map, so both routes reach one implementation.
|
|
7
|
+
* An empty list is refused, because CloudFormation takes one to three entries.
|
|
8
|
+
*/
|
|
9
|
+
export function simCfnMetricDimensions(logicalId, value) {
|
|
10
|
+
if (value === undefined) {
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
|
+
const listed = metricFilterList(logicalId, value, "Dimensions");
|
|
14
|
+
if (listed.length === 0) {
|
|
15
|
+
throw metricFilterPropertyError(logicalId, "MetricTransformations Dimensions must have at least one entry");
|
|
16
|
+
}
|
|
17
|
+
return Object.fromEntries(listed.map((entry) => pair(logicalId, entry)));
|
|
18
|
+
}
|
|
19
|
+
function pair(logicalId, entry) {
|
|
20
|
+
const dimension = metricFilterRecord(logicalId, entry, "Dimensions entry");
|
|
21
|
+
return [
|
|
22
|
+
metricFilterRequiredString(logicalId, dimension["Key"], "Dimensions Key"),
|
|
23
|
+
metricFilterRequiredString(logicalId, dimension["Value"], "Dimensions Value"),
|
|
24
|
+
];
|
|
25
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { SimCfnResourceCallerOptions } from "../../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
|
|
2
|
+
import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
|
|
3
|
+
import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
4
|
+
import type { SimLogsMetricFilter } from "../../metric/sim-logs-metric-filter.js";
|
|
5
|
+
import type { SimLogs } from "../../sim-logs.js";
|
|
6
|
+
interface SimCfnMetricFilterCreatorProperties {
|
|
7
|
+
readonly logs: SimLogs;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Creates simulated metric filters from AWS::Logs::MetricFilter Resources.
|
|
11
|
+
*
|
|
12
|
+
* The command is the one an SDK caller would have used, so a deployment
|
|
13
|
+
* without `logs:PutMetricFilter` fails here the way it fails on a real deploy.
|
|
14
|
+
* The log group has to be there already, which real CloudFormation also
|
|
15
|
+
* requires: a template declaring a filter over a group it does not also
|
|
16
|
+
* declare depends on something the stack never made.
|
|
17
|
+
*/
|
|
18
|
+
export declare class SimCfnMetricFilterCreator {
|
|
19
|
+
#private;
|
|
20
|
+
constructor(properties: SimCfnMetricFilterCreatorProperties);
|
|
21
|
+
/**
|
|
22
|
+
* Create a metric filter from an AWS::Logs::MetricFilter Resource.
|
|
23
|
+
*/
|
|
24
|
+
create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord, options?: SimCfnResourceCallerOptions): Promise<SimLogsMetricFilter>;
|
|
25
|
+
/**
|
|
26
|
+
* Delete a metric filter created from an AWS::Logs::MetricFilter Resource.
|
|
27
|
+
*/
|
|
28
|
+
delete(filter: SimLogsMetricFilter, options?: SimCfnResourceCallerOptions): Promise<void>;
|
|
29
|
+
}
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { assertDefined } from "../../../../util/type-guard/defined.js";
|
|
2
|
+
import { SimCfnMetricFilterProperties } from "./sim-cfn-metric-filter-properties.js";
|
|
3
|
+
/**
|
|
4
|
+
* Creates simulated metric filters from AWS::Logs::MetricFilter Resources.
|
|
5
|
+
*
|
|
6
|
+
* The command is the one an SDK caller would have used, so a deployment
|
|
7
|
+
* without `logs:PutMetricFilter` fails here the way it fails on a real deploy.
|
|
8
|
+
* The log group has to be there already, which real CloudFormation also
|
|
9
|
+
* requires: a template declaring a filter over a group it does not also
|
|
10
|
+
* declare depends on something the stack never made.
|
|
11
|
+
*/
|
|
12
|
+
export class SimCfnMetricFilterCreator {
|
|
13
|
+
#logs;
|
|
14
|
+
constructor(properties) {
|
|
15
|
+
this.#logs = properties.logs;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Create a metric filter from an AWS::Logs::MetricFilter Resource.
|
|
19
|
+
*/
|
|
20
|
+
async create(resource, properties, options) {
|
|
21
|
+
const filterProperties = new SimCfnMetricFilterProperties({
|
|
22
|
+
resource,
|
|
23
|
+
properties,
|
|
24
|
+
});
|
|
25
|
+
const logGroupName = filterProperties.logGroupName();
|
|
26
|
+
const filterName = filterProperties.filterName();
|
|
27
|
+
filterProperties.recordIgnoredProperties();
|
|
28
|
+
await this.#logs.putMetricFilter({
|
|
29
|
+
input: {
|
|
30
|
+
logGroupName,
|
|
31
|
+
filterName,
|
|
32
|
+
filterPattern: filterProperties.filterPattern(),
|
|
33
|
+
metricTransformations: filterProperties.metricTransformations(),
|
|
34
|
+
},
|
|
35
|
+
}, options);
|
|
36
|
+
const group = this.#logs.findLogGroup(logGroupName);
|
|
37
|
+
const filter = group?.metricFilters.find(filterName);
|
|
38
|
+
assertDefined(filter, `sim metric filter ${filterName} after CloudFormation creation`);
|
|
39
|
+
return filter;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Delete a metric filter created from an AWS::Logs::MetricFilter Resource.
|
|
43
|
+
*/
|
|
44
|
+
async delete(filter, options) {
|
|
45
|
+
await this.#logs.deleteMetricFilter({
|
|
46
|
+
input: {
|
|
47
|
+
logGroupName: filter.logGroupName,
|
|
48
|
+
filterName: filter.filterName,
|
|
49
|
+
},
|
|
50
|
+
}, options);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
|
|
2
|
+
import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
3
|
+
import type { SimLogsMetricTransformationInput } from "../../command/metric/metric-filter.command.js";
|
|
4
|
+
interface SimCfnMetricFilterPropertiesProperties {
|
|
5
|
+
readonly resource: SimCfnResource;
|
|
6
|
+
readonly properties: SimCfnTemplateValueRecord;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Reads AWS::Logs::MetricFilter CloudFormation properties.
|
|
10
|
+
*/
|
|
11
|
+
export declare class SimCfnMetricFilterProperties {
|
|
12
|
+
#private;
|
|
13
|
+
constructor(properties: SimCfnMetricFilterPropertiesProperties);
|
|
14
|
+
/**
|
|
15
|
+
* The log group the filter watches.
|
|
16
|
+
*/
|
|
17
|
+
logGroupName(): string;
|
|
18
|
+
/**
|
|
19
|
+
* The filter's name.
|
|
20
|
+
*
|
|
21
|
+
* An unnamed filter is named after the stack and the logical ID, as real
|
|
22
|
+
* CloudFormation names one. CDK's `MetricFilter` construct leaves the
|
|
23
|
+
* property off unless a name is given.
|
|
24
|
+
*/
|
|
25
|
+
filterName(): string;
|
|
26
|
+
/**
|
|
27
|
+
* The pattern deciding which events the filter counts.
|
|
28
|
+
*/
|
|
29
|
+
filterPattern(): string;
|
|
30
|
+
/**
|
|
31
|
+
* The transformations the filter publishes through.
|
|
32
|
+
*/
|
|
33
|
+
metricTransformations(): readonly SimLogsMetricTransformationInput[];
|
|
34
|
+
/**
|
|
35
|
+
* Record the properties the metric filter is created without acting on.
|
|
36
|
+
*/
|
|
37
|
+
recordIgnoredProperties(): void;
|
|
38
|
+
private required;
|
|
39
|
+
}
|
|
40
|
+
export {};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { SimCfnGeneratedResourceName } from "../../../cloudformation/resource/name/sim-cfn-generated-resource-name.js";
|
|
2
|
+
import { SimCfnMetricFilterPropertyRules } from "./sim-cfn-metric-filter-property-rules.js";
|
|
3
|
+
import { metricFilterRequiredString } from "./sim-cfn-metric-filter-value.js";
|
|
4
|
+
import { simCfnMetricTransformations } from "./sim-cfn-metric-transformation-values.js";
|
|
5
|
+
const maximumNameLength = 512;
|
|
6
|
+
/**
|
|
7
|
+
* Reads AWS::Logs::MetricFilter CloudFormation properties.
|
|
8
|
+
*/
|
|
9
|
+
export class SimCfnMetricFilterProperties {
|
|
10
|
+
#resource;
|
|
11
|
+
#properties;
|
|
12
|
+
#rules;
|
|
13
|
+
constructor(properties) {
|
|
14
|
+
this.#resource = properties.resource;
|
|
15
|
+
this.#properties = properties.properties;
|
|
16
|
+
this.#rules = new SimCfnMetricFilterPropertyRules({
|
|
17
|
+
properties: properties.properties,
|
|
18
|
+
ignorer: properties.resource,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* The log group the filter watches.
|
|
23
|
+
*/
|
|
24
|
+
logGroupName() {
|
|
25
|
+
return this.required(this.#properties["LogGroupName"], "LogGroupName");
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The filter's name.
|
|
29
|
+
*
|
|
30
|
+
* An unnamed filter is named after the stack and the logical ID, as real
|
|
31
|
+
* CloudFormation names one. CDK's `MetricFilter` construct leaves the
|
|
32
|
+
* property off unless a name is given.
|
|
33
|
+
*/
|
|
34
|
+
filterName() {
|
|
35
|
+
const name = this.#properties["FilterName"];
|
|
36
|
+
if (name === undefined) {
|
|
37
|
+
return new SimCfnGeneratedResourceName({
|
|
38
|
+
stackName: this.#resource.stackName,
|
|
39
|
+
logicalId: this.#resource.logicalId,
|
|
40
|
+
maximumLength: maximumNameLength,
|
|
41
|
+
}).value;
|
|
42
|
+
}
|
|
43
|
+
return this.required(name, "FilterName");
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* The pattern deciding which events the filter counts.
|
|
47
|
+
*/
|
|
48
|
+
filterPattern() {
|
|
49
|
+
return this.required(this.#properties["FilterPattern"], "FilterPattern");
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* The transformations the filter publishes through.
|
|
53
|
+
*/
|
|
54
|
+
metricTransformations() {
|
|
55
|
+
return simCfnMetricTransformations(this.#resource.logicalId, this.#properties["MetricTransformations"]);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Record the properties the metric filter is created without acting on.
|
|
59
|
+
*/
|
|
60
|
+
recordIgnoredProperties() {
|
|
61
|
+
this.#rules.apply();
|
|
62
|
+
}
|
|
63
|
+
required(value, name) {
|
|
64
|
+
return metricFilterRequiredString(this.#resource.logicalId, value, name);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { SimCfnPropertyIgnorer } from "../../../cloudformation/resource/ignore/sim-cfn-ignored-property.type.js";
|
|
2
|
+
import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
3
|
+
interface SimCfnMetricFilterPropertyRulesProperties {
|
|
4
|
+
readonly properties: SimCfnTemplateValueRecord;
|
|
5
|
+
readonly ignorer: SimCfnPropertyIgnorer;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* What a metric filter Resource is created without acting on.
|
|
9
|
+
*/
|
|
10
|
+
export declare class SimCfnMetricFilterPropertyRules {
|
|
11
|
+
#private;
|
|
12
|
+
constructor(properties: SimCfnMetricFilterPropertyRulesProperties);
|
|
13
|
+
/**
|
|
14
|
+
* Record every property the metric filter is created without.
|
|
15
|
+
*/
|
|
16
|
+
apply(): void;
|
|
17
|
+
private applyToProperty;
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { unsimulatedPropertyReasons } from "./sim-cfn-metric-filter-unsimulated-properties.js";
|
|
2
|
+
/** The properties a metric filter Resource is actually created from. */
|
|
3
|
+
const actedOnProperties = new Set([
|
|
4
|
+
"LogGroupName",
|
|
5
|
+
"FilterName",
|
|
6
|
+
"FilterPattern",
|
|
7
|
+
"MetricTransformations",
|
|
8
|
+
]);
|
|
9
|
+
/**
|
|
10
|
+
* What a metric filter Resource is created without acting on.
|
|
11
|
+
*/
|
|
12
|
+
export class SimCfnMetricFilterPropertyRules {
|
|
13
|
+
#properties;
|
|
14
|
+
#ignorer;
|
|
15
|
+
constructor(properties) {
|
|
16
|
+
this.#properties = properties.properties;
|
|
17
|
+
this.#ignorer = properties.ignorer;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Record every property the metric filter is created without.
|
|
21
|
+
*/
|
|
22
|
+
apply() {
|
|
23
|
+
for (const name of Object.keys(this.#properties)) {
|
|
24
|
+
this.applyToProperty(name);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
applyToProperty(name) {
|
|
28
|
+
if (actedOnProperties.has(name)) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const unsimulatedReason = unsimulatedPropertyReasons.get(name);
|
|
32
|
+
if (unsimulatedReason === undefined) {
|
|
33
|
+
this.#ignorer.ignoreProperty(name, `${name} is not a property simulated CloudWatch Logs knows about, so ` +
|
|
34
|
+
`the metric filter is created without it`);
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
this.#ignorer.ignoreProperty(name, `${name} is a real AWS::Logs::MetricFilter property simulated ` +
|
|
38
|
+
`CloudWatch Logs does not act on: ${unsimulatedReason}`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The real AWS::Logs::MetricFilter properties this simulation records rather
|
|
3
|
+
* than acts on, and why each one is left alone.
|
|
4
|
+
*/
|
|
5
|
+
export const unsimulatedPropertyReasons = new Map([
|
|
6
|
+
[
|
|
7
|
+
"ApplyOnTransformedLogs",
|
|
8
|
+
"log transformers are absent, so there is no transformed version of an " +
|
|
9
|
+
"event for a filter to read and every filter here matches what was " +
|
|
10
|
+
"written",
|
|
11
|
+
],
|
|
12
|
+
[
|
|
13
|
+
"FieldSelectionCriteria",
|
|
14
|
+
"it selects events by system field, such as the source account or the " +
|
|
15
|
+
"source Region of a cross-account log group, and neither is carried on " +
|
|
16
|
+
"an event here",
|
|
17
|
+
],
|
|
18
|
+
[
|
|
19
|
+
"EmitSystemFieldDimensions",
|
|
20
|
+
"the system fields a log event carries in an account are absent here, so " +
|
|
21
|
+
"there is nothing to emit them from",
|
|
22
|
+
],
|
|
23
|
+
]);
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { SimCfnTemplateValue, SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
2
|
+
/**
|
|
3
|
+
* A refusal naming the Resource whose properties could not be read.
|
|
4
|
+
*/
|
|
5
|
+
export declare function metricFilterPropertyError(logicalId: string, reason: string): Error;
|
|
6
|
+
/**
|
|
7
|
+
* Read a template value that has to be an object.
|
|
8
|
+
*/
|
|
9
|
+
export declare function metricFilterRecord(logicalId: string, value: SimCfnTemplateValue | undefined, name: string): SimCfnTemplateValueRecord;
|
|
10
|
+
/**
|
|
11
|
+
* Read a template value that has to be a list.
|
|
12
|
+
*/
|
|
13
|
+
export declare function metricFilterList(logicalId: string, value: SimCfnTemplateValue | undefined, name: string): readonly SimCfnTemplateValue[];
|
|
14
|
+
/**
|
|
15
|
+
* Read an optional template value that has to be a string.
|
|
16
|
+
*/
|
|
17
|
+
export declare function metricFilterString(logicalId: string, value: SimCfnTemplateValue | undefined, name: string): string | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* Read an optional template value that has to be a number.
|
|
20
|
+
*/
|
|
21
|
+
export declare function metricFilterNumber(logicalId: string, value: SimCfnTemplateValue | undefined, name: string): number | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* Read a template value the Resource cannot be created without.
|
|
24
|
+
*/
|
|
25
|
+
export declare function metricFilterRequiredString(logicalId: string, value: SimCfnTemplateValue | undefined, name: string): string;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A refusal naming the Resource whose properties could not be read.
|
|
3
|
+
*/
|
|
4
|
+
export function metricFilterPropertyError(logicalId, reason) {
|
|
5
|
+
return new Error(`Invalid sim CloudWatch Logs CloudFormation Resource ${logicalId}: ${reason}`);
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Read a template value that has to be an object.
|
|
9
|
+
*/
|
|
10
|
+
export function metricFilterRecord(logicalId, value, name) {
|
|
11
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
12
|
+
throw metricFilterPropertyError(logicalId, `${name} must be an object`);
|
|
13
|
+
}
|
|
14
|
+
return value;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Read a template value that has to be a list.
|
|
18
|
+
*/
|
|
19
|
+
export function metricFilterList(logicalId, value, name) {
|
|
20
|
+
if (!Array.isArray(value)) {
|
|
21
|
+
throw metricFilterPropertyError(logicalId, `${name} must be a list`);
|
|
22
|
+
}
|
|
23
|
+
return value;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Read an optional template value that has to be a string.
|
|
27
|
+
*/
|
|
28
|
+
export function metricFilterString(logicalId, value, name) {
|
|
29
|
+
if (value === undefined) {
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
if (typeof value !== "string") {
|
|
33
|
+
throw metricFilterPropertyError(logicalId, `${name} must be a string`);
|
|
34
|
+
}
|
|
35
|
+
return value;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Read an optional template value that has to be a number.
|
|
39
|
+
*/
|
|
40
|
+
export function metricFilterNumber(logicalId, value, name) {
|
|
41
|
+
if (value === undefined) {
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
if (typeof value !== "number") {
|
|
45
|
+
throw metricFilterPropertyError(logicalId, `${name} must be a number`);
|
|
46
|
+
}
|
|
47
|
+
return value;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Read a template value the Resource cannot be created without.
|
|
51
|
+
*/
|
|
52
|
+
export function metricFilterRequiredString(logicalId, value, name) {
|
|
53
|
+
const read = metricFilterString(logicalId, value, name);
|
|
54
|
+
if (read === undefined) {
|
|
55
|
+
throw metricFilterPropertyError(logicalId, `${name} is required`);
|
|
56
|
+
}
|
|
57
|
+
return read;
|
|
58
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { SimCfnTemplateValue } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
2
|
+
import type { SimLogsMetricTransformationInput } from "../../command/metric/metric-filter.command.js";
|
|
3
|
+
/**
|
|
4
|
+
* Read the MetricTransformations of an AWS::Logs::MetricFilter Resource.
|
|
5
|
+
*/
|
|
6
|
+
export declare function simCfnMetricTransformations(logicalId: string, value: SimCfnTemplateValue | undefined): readonly SimLogsMetricTransformationInput[];
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { simCfnMetricDimensions } from "./sim-cfn-metric-dimension-values.js";
|
|
2
|
+
import { metricFilterList, metricFilterNumber, metricFilterRecord, metricFilterString, } from "./sim-cfn-metric-filter-value.js";
|
|
3
|
+
/**
|
|
4
|
+
* Read the MetricTransformations of an AWS::Logs::MetricFilter Resource.
|
|
5
|
+
*/
|
|
6
|
+
export function simCfnMetricTransformations(logicalId, value) {
|
|
7
|
+
return metricFilterList(logicalId, value, "MetricTransformations").map((entry) => transformation(logicalId, entry));
|
|
8
|
+
}
|
|
9
|
+
function transformation(logicalId, value) {
|
|
10
|
+
const read = metricFilterRecord(logicalId, value, "MetricTransformations entry");
|
|
11
|
+
return {
|
|
12
|
+
metricName: metricFilterString(logicalId, read["MetricName"], "MetricName"),
|
|
13
|
+
metricNamespace: metricFilterString(logicalId, read["MetricNamespace"], "MetricNamespace"),
|
|
14
|
+
metricValue: metricFilterString(logicalId, read["MetricValue"], "MetricValue"),
|
|
15
|
+
defaultValue: metricFilterNumber(logicalId, read["DefaultValue"], "DefaultValue"),
|
|
16
|
+
unit: metricFilterString(logicalId, read["Unit"], "Unit"),
|
|
17
|
+
dimensions: simCfnMetricDimensions(logicalId, read["Dimensions"]),
|
|
18
|
+
};
|
|
19
|
+
}
|
|
@@ -3,9 +3,11 @@ import type { SimCfnDeliveryCreator } from "./delivery/sim-cfn-delivery-creator.
|
|
|
3
3
|
import type { SimCfnDeliveryDestinationCreator } from "./delivery/sim-cfn-delivery-destination-creator.js";
|
|
4
4
|
import type { SimCfnDeliverySourceCreator } from "./delivery/sim-cfn-delivery-source-creator.js";
|
|
5
5
|
import type { SimCfnLogGroupCreator } from "./group/sim-cfn-log-group-creator.js";
|
|
6
|
+
import type { SimCfnMetricFilterCreator } from "./metric/sim-cfn-metric-filter-creator.js";
|
|
6
7
|
import type { SimCfnResourceCallerOptions } from "../../cloudformation/resource/caller/sim-cfn-resource-caller-options.js";
|
|
7
8
|
interface SimLogsCfnResourceDeleterProperties {
|
|
8
9
|
readonly logGroups: SimCfnLogGroupCreator;
|
|
10
|
+
readonly metricFilters: SimCfnMetricFilterCreator;
|
|
9
11
|
readonly deliverySources: SimCfnDeliverySourceCreator;
|
|
10
12
|
readonly deliveryDestinations: SimCfnDeliveryDestinationCreator;
|
|
11
13
|
readonly deliveries: SimCfnDeliveryCreator;
|
|
@@ -20,6 +20,10 @@ export class SimLogsCfnResourceDeleter {
|
|
|
20
20
|
await this.#creators.logGroups.delete(created(resource), options);
|
|
21
21
|
return;
|
|
22
22
|
}
|
|
23
|
+
case "MetricFilter": {
|
|
24
|
+
await this.#creators.metricFilters.delete(created(resource), options);
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
23
27
|
case "DeliverySource": {
|
|
24
28
|
await this.#creators.deliverySources.delete(created(resource), options);
|
|
25
29
|
return;
|
|
@@ -16,9 +16,11 @@ interface SimLogsCfnResourceFactoryProperties {
|
|
|
16
16
|
* logging property of its own, and a stack that turns logging on is made of
|
|
17
17
|
* those three Resources and nothing else.
|
|
18
18
|
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
19
|
+
* Metric filters are created here too, and publish into the simulated
|
|
20
|
+
* CloudWatch of the log group's own Account and Region.
|
|
21
|
+
*
|
|
22
|
+
* Subscription filters are not. `PutSubscriptionFilter` holds one, and a stack
|
|
23
|
+
* declaring `AWS::Logs::SubscriptionFilter` records it as a skip.
|
|
22
24
|
*/
|
|
23
25
|
export declare class SimLogsCfnResourceFactory implements SimCfnServiceResourceFactory {
|
|
24
26
|
#private;
|
|
@@ -4,6 +4,7 @@ import { SimCfnDeliveryCreator } from "./delivery/sim-cfn-delivery-creator.js";
|
|
|
4
4
|
import { SimCfnDeliveryDestinationCreator } from "./delivery/sim-cfn-delivery-destination-creator.js";
|
|
5
5
|
import { SimCfnDeliverySourceCreator } from "./delivery/sim-cfn-delivery-source-creator.js";
|
|
6
6
|
import { SimCfnLogGroupCreator } from "./group/sim-cfn-log-group-creator.js";
|
|
7
|
+
import { SimCfnMetricFilterCreator } from "./metric/sim-cfn-metric-filter-creator.js";
|
|
7
8
|
import { SimLogsCfnResourceDeleter } from "./sim-logs-cfn-resource-deleter.js";
|
|
8
9
|
import { unsupportedSimLogsResourceType } from "./sim-logs-cfn-unsupported-resource.js";
|
|
9
10
|
/**
|
|
@@ -14,12 +15,15 @@ import { unsupportedSimLogsResourceType } from "./sim-logs-cfn-unsupported-resou
|
|
|
14
15
|
* logging property of its own, and a stack that turns logging on is made of
|
|
15
16
|
* those three Resources and nothing else.
|
|
16
17
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
18
|
+
* Metric filters are created here too, and publish into the simulated
|
|
19
|
+
* CloudWatch of the log group's own Account and Region.
|
|
20
|
+
*
|
|
21
|
+
* Subscription filters are not. `PutSubscriptionFilter` holds one, and a stack
|
|
22
|
+
* declaring `AWS::Logs::SubscriptionFilter` records it as a skip.
|
|
20
23
|
*/
|
|
21
24
|
export class SimLogsCfnResourceFactory {
|
|
22
25
|
#logGroups;
|
|
26
|
+
#metricFilters;
|
|
23
27
|
#deliverySources;
|
|
24
28
|
#deliveryDestinations;
|
|
25
29
|
#deliveries;
|
|
@@ -30,11 +34,13 @@ export class SimLogsCfnResourceFactory {
|
|
|
30
34
|
authorization: new SimCfnDeliveryAuthorization(properties),
|
|
31
35
|
};
|
|
32
36
|
this.#logGroups = new SimCfnLogGroupCreator(properties);
|
|
37
|
+
this.#metricFilters = new SimCfnMetricFilterCreator(properties);
|
|
33
38
|
this.#deliverySources = new SimCfnDeliverySourceCreator(delivery);
|
|
34
39
|
this.#deliveryDestinations = new SimCfnDeliveryDestinationCreator(delivery);
|
|
35
40
|
this.#deliveries = new SimCfnDeliveryCreator(delivery);
|
|
36
41
|
this.#deleter = new SimLogsCfnResourceDeleter({
|
|
37
42
|
logGroups: this.#logGroups,
|
|
43
|
+
metricFilters: this.#metricFilters,
|
|
38
44
|
deliverySources: this.#deliverySources,
|
|
39
45
|
deliveryDestinations: this.#deliveryDestinations,
|
|
40
46
|
deliveries: this.#deliveries,
|
|
@@ -51,6 +57,9 @@ export class SimLogsCfnResourceFactory {
|
|
|
51
57
|
case "LogGroup": {
|
|
52
58
|
return await this.#logGroups.create(resource, values, options);
|
|
53
59
|
}
|
|
60
|
+
case "MetricFilter": {
|
|
61
|
+
return await this.#metricFilters.create(resource, values, options);
|
|
62
|
+
}
|
|
54
63
|
case "DeliverySource": {
|
|
55
64
|
return await this.#deliverySources.create(resource, values, options);
|
|
56
65
|
}
|
|
@@ -3,6 +3,7 @@ import type { SimLogsEventIds } from "../../event/sim-logs-event-ids.js";
|
|
|
3
3
|
import type { SimLogsLogGroupStore } from "../../group/sim-logs-log-group-store.js";
|
|
4
4
|
import type { SimLogsAuthorizer } from "../authorize/sim-logs-authorizer.js";
|
|
5
5
|
import type { SimLogsRequestOptions } from "../sim-logs-request-options.js";
|
|
6
|
+
import type { SimLogsMetricFanOut } from "../../metric/sim-logs-metric-fan-out.js";
|
|
6
7
|
import type { SimLogsSubscriptionFanOut } from "../../subscription/sim-logs-subscription-fan-out.js";
|
|
7
8
|
import type { SimPutLogEventsCommand, SimPutLogEventsCommandOutput } from "./event.command.js";
|
|
8
9
|
interface SimLogsPutLogEventsProperties {
|
|
@@ -12,6 +13,8 @@ interface SimLogsPutLogEventsProperties {
|
|
|
12
13
|
readonly clock: SimClock;
|
|
13
14
|
/** Where written events are handed on to subscription filters. */
|
|
14
15
|
readonly fanOut: SimLogsSubscriptionFanOut;
|
|
16
|
+
/** Where written events are handed on to metric filters. */
|
|
17
|
+
readonly metricFanOut: SimLogsMetricFanOut;
|
|
15
18
|
}
|
|
16
19
|
/**
|
|
17
20
|
* The command that writes log events to a stream.
|
|
@@ -10,12 +10,14 @@ export class SimLogsPutLogEvents {
|
|
|
10
10
|
#eventIds;
|
|
11
11
|
#clock;
|
|
12
12
|
#fanOut;
|
|
13
|
+
#metricFanOut;
|
|
13
14
|
constructor(properties) {
|
|
14
15
|
this.#groups = properties.groups;
|
|
15
16
|
this.#authorizer = properties.authorizer;
|
|
16
17
|
this.#eventIds = properties.eventIds;
|
|
17
18
|
this.#clock = properties.clock;
|
|
18
19
|
this.#fanOut = properties.fanOut;
|
|
20
|
+
this.#metricFanOut = properties.metricFanOut;
|
|
19
21
|
}
|
|
20
22
|
/**
|
|
21
23
|
* Write a batch of events to a stream in a log group.
|
|
@@ -40,6 +42,7 @@ export class SimLogsPutLogEvents {
|
|
|
40
42
|
const stream = group.requireStream(logStreamName);
|
|
41
43
|
stream.append(batch.events, ingestionTime);
|
|
42
44
|
this.#fanOut.written(group, logStreamName, batch.events);
|
|
45
|
+
this.#metricFanOut.written(group, batch.events);
|
|
43
46
|
return { $metadata: {}, nextSequenceToken: stream.uploadSequenceToken };
|
|
44
47
|
}
|
|
45
48
|
}
|
|
@@ -63,15 +63,15 @@ export class SimLogsLogGroupCommands {
|
|
|
63
63
|
/**
|
|
64
64
|
* What DescribeLogGroups reports about one log group.
|
|
65
65
|
*
|
|
66
|
-
* `metricFilterCount` is
|
|
67
|
-
*
|
|
66
|
+
* `metricFilterCount` is how many metric filters `PutMetricFilter` has put on
|
|
67
|
+
* the group.
|
|
68
68
|
*/
|
|
69
69
|
function logGroupDetail(group) {
|
|
70
70
|
return {
|
|
71
71
|
logGroupName: group.logGroupName,
|
|
72
72
|
creationTime: group.creationTime,
|
|
73
73
|
retentionInDays: group.retentionInDays,
|
|
74
|
-
metricFilterCount:
|
|
74
|
+
metricFilterCount: group.metricFilters.count,
|
|
75
75
|
storedBytes: group.storedBytes,
|
|
76
76
|
arn: group.arn,
|
|
77
77
|
logGroupArn: group.logGroupArn,
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import type { SimResponseMetadata } from "../../../aws/metadata/response-metadata.type.js";
|
|
2
|
+
/**
|
|
3
|
+
* One metric transformation as the API takes and reports it.
|
|
4
|
+
*
|
|
5
|
+
* `dimensions` is a map of dimension name to value, which is the shape the SDK
|
|
6
|
+
* uses. The CloudFormation Resource carries the same thing as a list of
|
|
7
|
+
* Key/Value pairs.
|
|
8
|
+
*/
|
|
9
|
+
export interface SimLogsMetricTransformationInput {
|
|
10
|
+
readonly metricName?: string | undefined;
|
|
11
|
+
readonly metricNamespace?: string | undefined;
|
|
12
|
+
readonly metricValue?: string | undefined;
|
|
13
|
+
readonly defaultValue?: number | undefined;
|
|
14
|
+
readonly dimensions?: Readonly<Record<string, string>> | undefined;
|
|
15
|
+
readonly unit?: string | undefined;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Minimal structural sim CloudWatch Logs PutMetricFilter command.
|
|
19
|
+
*
|
|
20
|
+
* https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudwatch-logs/command/PutMetricFilterCommand/
|
|
21
|
+
*/
|
|
22
|
+
export interface SimPutMetricFilterCommand {
|
|
23
|
+
readonly input: SimPutMetricFilterCommandInput;
|
|
24
|
+
}
|
|
25
|
+
export interface SimPutMetricFilterCommandInput {
|
|
26
|
+
readonly logGroupName?: string | undefined;
|
|
27
|
+
readonly filterName?: string | undefined;
|
|
28
|
+
readonly filterPattern?: string | undefined;
|
|
29
|
+
readonly metricTransformations?: readonly SimLogsMetricTransformationInput[] | undefined;
|
|
30
|
+
}
|
|
31
|
+
export interface SimPutMetricFilterCommandOutput {
|
|
32
|
+
readonly $metadata: SimResponseMetadata;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Minimal structural sim CloudWatch Logs DescribeMetricFilters command.
|
|
36
|
+
*
|
|
37
|
+
* https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudwatch-logs/command/DescribeMetricFiltersCommand/
|
|
38
|
+
*/
|
|
39
|
+
export interface SimDescribeMetricFiltersCommand {
|
|
40
|
+
readonly input: SimDescribeMetricFiltersCommandInput;
|
|
41
|
+
}
|
|
42
|
+
export interface SimDescribeMetricFiltersCommandInput {
|
|
43
|
+
readonly logGroupName?: string | undefined;
|
|
44
|
+
readonly filterNamePrefix?: string | undefined;
|
|
45
|
+
readonly metricName?: string | undefined;
|
|
46
|
+
readonly metricNamespace?: string | undefined;
|
|
47
|
+
readonly limit?: number | undefined;
|
|
48
|
+
readonly nextToken?: string | undefined;
|
|
49
|
+
}
|
|
50
|
+
export interface SimDescribeMetricFiltersCommandOutput {
|
|
51
|
+
readonly metricFilters?: readonly SimLogsMetricFilterDetail[] | undefined;
|
|
52
|
+
readonly nextToken?: string | undefined;
|
|
53
|
+
readonly $metadata: SimResponseMetadata;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* What DescribeMetricFilters reports about one filter.
|
|
57
|
+
*/
|
|
58
|
+
export interface SimLogsMetricFilterDetail {
|
|
59
|
+
readonly filterName: string;
|
|
60
|
+
readonly logGroupName: string;
|
|
61
|
+
readonly filterPattern: string;
|
|
62
|
+
readonly metricTransformations: readonly SimLogsMetricTransformationInput[];
|
|
63
|
+
readonly creationTime: number;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Minimal structural sim CloudWatch Logs DeleteMetricFilter command.
|
|
67
|
+
*
|
|
68
|
+
* https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudwatch-logs/command/DeleteMetricFilterCommand/
|
|
69
|
+
*/
|
|
70
|
+
export interface SimDeleteMetricFilterCommand {
|
|
71
|
+
readonly input: SimDeleteMetricFilterCommandInput;
|
|
72
|
+
}
|
|
73
|
+
export interface SimDeleteMetricFilterCommandInput {
|
|
74
|
+
readonly logGroupName?: string | undefined;
|
|
75
|
+
readonly filterName?: string | undefined;
|
|
76
|
+
}
|
|
77
|
+
export interface SimDeleteMetricFilterCommandOutput {
|
|
78
|
+
readonly $metadata: SimResponseMetadata;
|
|
79
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|