@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,85 @@
|
|
|
1
|
+
import { embeddedMetricList, embeddedMetricNumber, embeddedMetricRecord, embeddedMetricString, } from "./sim-logs-embedded-metric-json.js";
|
|
2
|
+
/**
|
|
3
|
+
* The property an Embedded Metric Format document carries its metadata under.
|
|
4
|
+
*
|
|
5
|
+
* A log event without it is an ordinary line, and the great majority of lines
|
|
6
|
+
* in a log group are. Looking for this before parsing anything is what keeps
|
|
7
|
+
* the check on the write path cheap.
|
|
8
|
+
*/
|
|
9
|
+
export const embeddedMetricMetadataKey = "_aws";
|
|
10
|
+
/**
|
|
11
|
+
* Read a log event's message as an EMF document, or answer undefined.
|
|
12
|
+
*
|
|
13
|
+
* Anything that is not JSON, is not an object, or carries no usable `_aws`
|
|
14
|
+
* metadata is an ordinary log line. It is stored and left alone rather than
|
|
15
|
+
* refused, because a log group is full of lines that were never metrics.
|
|
16
|
+
*/
|
|
17
|
+
export function simLogsEmbeddedMetricDocument(message) {
|
|
18
|
+
if (!message.includes(embeddedMetricMetadataKey)) {
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
21
|
+
const parsed = parseObject(message);
|
|
22
|
+
const metadata = embeddedMetricRecord(parsed?.get(embeddedMetricMetadataKey));
|
|
23
|
+
if (parsed === undefined || metadata === undefined) {
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
const directives = embeddedMetricList(metadata.get("CloudWatchMetrics"), directiveOf);
|
|
27
|
+
return directives.length === 0
|
|
28
|
+
? undefined
|
|
29
|
+
: {
|
|
30
|
+
timestamp: embeddedMetricNumber(metadata.get("Timestamp")),
|
|
31
|
+
directives,
|
|
32
|
+
values: parsed,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
function parseObject(message) {
|
|
36
|
+
try {
|
|
37
|
+
return embeddedMetricRecord(JSON.parse(message));
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function directiveOf(value) {
|
|
44
|
+
const entry = embeddedMetricRecord(value);
|
|
45
|
+
const namespace = embeddedMetricString(entry?.get("Namespace"));
|
|
46
|
+
if (entry === undefined || namespace === undefined) {
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
const dimensions = entry.get("Dimensions");
|
|
50
|
+
if (dimensions !== undefined && !Array.isArray(dimensions)) {
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
namespace,
|
|
55
|
+
declaresDimensions: Array.isArray(dimensions) && dimensions.length > 0,
|
|
56
|
+
dimensionSets: embeddedMetricList(dimensions, dimensionSetOf),
|
|
57
|
+
metrics: embeddedMetricList(entry.get("Metrics"), metricOf),
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* One dimension set, or undefined where it is not a list of names.
|
|
62
|
+
*
|
|
63
|
+
* A member that is not a string takes the whole set with it. Keeping the ones
|
|
64
|
+
* that were strings would publish under a narrower identity than the document
|
|
65
|
+
* asked for, which is the same trouble as dropping a single dimension.
|
|
66
|
+
*/
|
|
67
|
+
function dimensionSetOf(value) {
|
|
68
|
+
if (!Array.isArray(value)) {
|
|
69
|
+
return undefined;
|
|
70
|
+
}
|
|
71
|
+
const names = value.map((name) => embeddedMetricString(name));
|
|
72
|
+
return names.every((name) => name !== undefined) ? names : undefined;
|
|
73
|
+
}
|
|
74
|
+
function metricOf(value) {
|
|
75
|
+
const entry = embeddedMetricRecord(value);
|
|
76
|
+
const name = embeddedMetricString(entry?.get("Name"));
|
|
77
|
+
if (entry === undefined || name === undefined) {
|
|
78
|
+
return undefined;
|
|
79
|
+
}
|
|
80
|
+
return {
|
|
81
|
+
name,
|
|
82
|
+
unit: embeddedMetricString(entry.get("Unit")),
|
|
83
|
+
storageResolution: embeddedMetricNumber(entry.get("StorageResolution")),
|
|
84
|
+
};
|
|
85
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The JSON readers an Embedded Metric Format document is taken apart with.
|
|
3
|
+
*
|
|
4
|
+
* A document is written by whatever produced the log line, so nothing about
|
|
5
|
+
* its shape can be assumed. Each of these answers undefined for a value that
|
|
6
|
+
* is not what the format calls for, and the caller decides whether that makes
|
|
7
|
+
* the document unreadable or just that one metric unpublishable.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* An object's own properties as a map, or undefined for anything else.
|
|
11
|
+
*/
|
|
12
|
+
export declare function embeddedMetricRecord(value: unknown): Map<string, unknown> | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* A string, or undefined for anything else.
|
|
15
|
+
*/
|
|
16
|
+
export declare function embeddedMetricString(value: unknown): string | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* A finite number, or undefined for anything else.
|
|
19
|
+
*/
|
|
20
|
+
export declare function embeddedMetricNumber(value: unknown): number | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Read every entry of a list through a reader, dropping the unreadable ones.
|
|
23
|
+
*/
|
|
24
|
+
export declare function embeddedMetricList<T>(value: unknown, read: (entry: unknown) => T | undefined): readonly T[];
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The JSON readers an Embedded Metric Format document is taken apart with.
|
|
3
|
+
*
|
|
4
|
+
* A document is written by whatever produced the log line, so nothing about
|
|
5
|
+
* its shape can be assumed. Each of these answers undefined for a value that
|
|
6
|
+
* is not what the format calls for, and the caller decides whether that makes
|
|
7
|
+
* the document unreadable or just that one metric unpublishable.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* An object's own properties as a map, or undefined for anything else.
|
|
11
|
+
*/
|
|
12
|
+
export function embeddedMetricRecord(value) {
|
|
13
|
+
return typeof value === "object" && value !== null && !Array.isArray(value)
|
|
14
|
+
? new Map(Object.entries(value))
|
|
15
|
+
: undefined;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* A string, or undefined for anything else.
|
|
19
|
+
*/
|
|
20
|
+
export function embeddedMetricString(value) {
|
|
21
|
+
return typeof value === "string" ? value : undefined;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* A finite number, or undefined for anything else.
|
|
25
|
+
*/
|
|
26
|
+
export function embeddedMetricNumber(value) {
|
|
27
|
+
return typeof value === "number" && Number.isFinite(value)
|
|
28
|
+
? value
|
|
29
|
+
: undefined;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Read every entry of a list through a reader, dropping the unreadable ones.
|
|
33
|
+
*/
|
|
34
|
+
export function embeddedMetricList(value, read) {
|
|
35
|
+
if (!Array.isArray(value)) {
|
|
36
|
+
return [];
|
|
37
|
+
}
|
|
38
|
+
return value
|
|
39
|
+
.map((entry) => read(entry))
|
|
40
|
+
.filter((entry) => entry !== undefined);
|
|
41
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { SimLogsMetricDimension } from "../sim-logs-metric-datapoint.js";
|
|
2
|
+
import type { SimLogsEmbeddedMetricDeclaration, SimLogsEmbeddedMetricDocument } from "./sim-logs-embedded-metric-document.js";
|
|
3
|
+
/**
|
|
4
|
+
* Why a metric an EMF document declared could not be published.
|
|
5
|
+
*/
|
|
6
|
+
export type SimLogsEmbeddedMetricRefusal = string;
|
|
7
|
+
/**
|
|
8
|
+
* The values a metric declaration names, or the reason there are none.
|
|
9
|
+
*
|
|
10
|
+
* EMF carries a metric's value as a top-level property of the same document,
|
|
11
|
+
* either as one number or as a list of them.
|
|
12
|
+
*/
|
|
13
|
+
export declare function embeddedMetricValues(document: SimLogsEmbeddedMetricDocument, metric: SimLogsEmbeddedMetricDeclaration): readonly number[] | SimLogsEmbeddedMetricRefusal;
|
|
14
|
+
/**
|
|
15
|
+
* One dimension set, or undefined where the document names a key it lacks.
|
|
16
|
+
*
|
|
17
|
+
* A dimension quietly dropped would put the datapoint under an identity no
|
|
18
|
+
* alarm is watching, so the whole set goes rather than part of it.
|
|
19
|
+
*/
|
|
20
|
+
export declare function embeddedMetricDimensions(document: SimLogsEmbeddedMetricDocument, keys: readonly string[]): readonly SimLogsMetricDimension[] | undefined;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The resolution real CloudWatch reads as a high resolution metric.
|
|
3
|
+
*/
|
|
4
|
+
const highStorageResolution = 1;
|
|
5
|
+
/**
|
|
6
|
+
* The values a metric declaration names, or the reason there are none.
|
|
7
|
+
*
|
|
8
|
+
* EMF carries a metric's value as a top-level property of the same document,
|
|
9
|
+
* either as one number or as a list of them.
|
|
10
|
+
*/
|
|
11
|
+
export function embeddedMetricValues(document, metric) {
|
|
12
|
+
if (metric.storageResolution === highStorageResolution) {
|
|
13
|
+
return ("StorageResolution 1 asks for a high resolution metric, and every " +
|
|
14
|
+
"period in this simulated CloudWatch is a whole number of minutes.");
|
|
15
|
+
}
|
|
16
|
+
const raw = document.values.get(metric.name);
|
|
17
|
+
const values = (Array.isArray(raw) ? raw : [raw]).filter((value) => typeof value === "number" && Number.isFinite(value));
|
|
18
|
+
return values.length === 0
|
|
19
|
+
? `The document declares ${metric.name} and carries no number under that ` +
|
|
20
|
+
`name, so there is no value to publish.`
|
|
21
|
+
: values;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* One dimension set, or undefined where the document names a key it lacks.
|
|
25
|
+
*
|
|
26
|
+
* A dimension quietly dropped would put the datapoint under an identity no
|
|
27
|
+
* alarm is watching, so the whole set goes rather than part of it.
|
|
28
|
+
*/
|
|
29
|
+
export function embeddedMetricDimensions(document, keys) {
|
|
30
|
+
const dimensions = [];
|
|
31
|
+
for (const name of keys) {
|
|
32
|
+
const value = document.values.get(name);
|
|
33
|
+
if (typeof value !== "string") {
|
|
34
|
+
return undefined;
|
|
35
|
+
}
|
|
36
|
+
dimensions.push({ name, value });
|
|
37
|
+
}
|
|
38
|
+
return dimensions;
|
|
39
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One dimension on a metric a metric filter publishes.
|
|
3
|
+
*/
|
|
4
|
+
export interface SimLogsMetricDimension {
|
|
5
|
+
readonly name: string;
|
|
6
|
+
readonly value: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* One metric datapoint a metric filter's transformation produced from a log
|
|
10
|
+
* event.
|
|
11
|
+
*
|
|
12
|
+
* This is what simulated CloudWatch Logs hands to simulated CloudWatch. The
|
|
13
|
+
* timestamp is the instant CloudWatch Logs took the event, rather than the
|
|
14
|
+
* instant the datapoint reaches the metric store. Publication happens on the
|
|
15
|
+
* background scheduler, so a clock that moved in between would otherwise put
|
|
16
|
+
* the datapoint in a later period than the log line it counts.
|
|
17
|
+
*/
|
|
18
|
+
export interface SimLogsMetricDatapoint {
|
|
19
|
+
readonly namespace: string;
|
|
20
|
+
readonly metricName: string;
|
|
21
|
+
readonly value: number;
|
|
22
|
+
readonly timestamp: number;
|
|
23
|
+
readonly unit: string | undefined;
|
|
24
|
+
readonly dimensions: readonly SimLogsMetricDimension[];
|
|
25
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { BackgroundScheduler } from "../../../util/background/background.js";
|
|
2
|
+
import type { SimLogsStoredEvent } from "../event/sim-logs-event.js";
|
|
3
|
+
import type { SimLogsLogGroup } from "../group/sim-logs-log-group.js";
|
|
4
|
+
import { type SimLogsMetricPublicationFailure } from "./sim-logs-metric-publication-failure.js";
|
|
5
|
+
import type { SimLogsMetricPublications } from "./sim-logs-metric-publications.js";
|
|
6
|
+
interface SimLogsMetricFanOutProperties {
|
|
7
|
+
readonly publications: SimLogsMetricPublications | undefined;
|
|
8
|
+
readonly background: BackgroundScheduler;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Turns events written to a log group into metric datapoints.
|
|
12
|
+
*
|
|
13
|
+
* Two things ask for them. A metric filter on the group counts the events it
|
|
14
|
+
* matches, and an event that is itself an Embedded Metric Format document
|
|
15
|
+
* carries its own. Real CloudWatch reads both without being asked.
|
|
16
|
+
*
|
|
17
|
+
* Publication happens on the background scheduler, for the reason subscription
|
|
18
|
+
* delivery does. Real CloudWatch Logs answers `PutLogEvents` whether or not
|
|
19
|
+
* the metric took the datapoint, and a metric that cannot be written must not
|
|
20
|
+
* fail the write that produced it. `simAws.backgroundTasksComplete()` is what
|
|
21
|
+
* waits for it.
|
|
22
|
+
*/
|
|
23
|
+
export declare class SimLogsMetricFanOut {
|
|
24
|
+
#private;
|
|
25
|
+
constructor(properties: SimLogsMetricFanOutProperties);
|
|
26
|
+
/**
|
|
27
|
+
* Every publication this scope could not make.
|
|
28
|
+
*
|
|
29
|
+
* A failed publication is invisible in an account, where it becomes a metric
|
|
30
|
+
* nobody is watching. Keeping it is what lets a test find out that the
|
|
31
|
+
* metrics it set up never wrote anything.
|
|
32
|
+
*/
|
|
33
|
+
get failures(): readonly SimLogsMetricPublicationFailure[];
|
|
34
|
+
/**
|
|
35
|
+
* Check a metric filter could publish at all, before one is put.
|
|
36
|
+
*
|
|
37
|
+
* A simulated CloudWatch Logs built on its own has no CloudWatch to write
|
|
38
|
+
* into, and a filter that accepts its configuration and publishes nothing is
|
|
39
|
+
* the hardest kind of thing to find.
|
|
40
|
+
*/
|
|
41
|
+
checkPublishable(): void;
|
|
42
|
+
/**
|
|
43
|
+
* Schedule the datapoints a batch of events produced.
|
|
44
|
+
*
|
|
45
|
+
* A whole batch goes to each metric filter at once, because a filter
|
|
46
|
+
* aggregates its default value over a period rather than over one event. An
|
|
47
|
+
* embedded document is read one event at a time, because each carries its
|
|
48
|
+
* own metrics and its own timestamp.
|
|
49
|
+
*
|
|
50
|
+
* A CloudWatch Logs with nowhere to publish reads nothing. It can hold no
|
|
51
|
+
* metric filter, and a Powertools log line written to one is an ordinary log
|
|
52
|
+
* line rather than a failure worth recording.
|
|
53
|
+
*/
|
|
54
|
+
written(group: SimLogsLogGroup, events: readonly SimLogsStoredEvent[]): void;
|
|
55
|
+
/**
|
|
56
|
+
* Schedule the datapoints the events carried as EMF documents.
|
|
57
|
+
*/
|
|
58
|
+
private writtenEmbedded;
|
|
59
|
+
private schedule;
|
|
60
|
+
private recordFailure;
|
|
61
|
+
}
|
|
62
|
+
export {};
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { SimLogsUnsupportedOperationException } from "../error/sim-logs.error.js";
|
|
2
|
+
import { simLogsEmbeddedMetricReading } from "./emf/sim-logs-embedded-metric-datapoints.js";
|
|
3
|
+
import { metricFilterSource, simLogsEmbeddedMetricSource, } from "./sim-logs-metric-publication-failure.js";
|
|
4
|
+
/**
|
|
5
|
+
* Turns events written to a log group into metric datapoints.
|
|
6
|
+
*
|
|
7
|
+
* Two things ask for them. A metric filter on the group counts the events it
|
|
8
|
+
* matches, and an event that is itself an Embedded Metric Format document
|
|
9
|
+
* carries its own. Real CloudWatch reads both without being asked.
|
|
10
|
+
*
|
|
11
|
+
* Publication happens on the background scheduler, for the reason subscription
|
|
12
|
+
* delivery does. Real CloudWatch Logs answers `PutLogEvents` whether or not
|
|
13
|
+
* the metric took the datapoint, and a metric that cannot be written must not
|
|
14
|
+
* fail the write that produced it. `simAws.backgroundTasksComplete()` is what
|
|
15
|
+
* waits for it.
|
|
16
|
+
*/
|
|
17
|
+
export class SimLogsMetricFanOut {
|
|
18
|
+
#publications;
|
|
19
|
+
#background;
|
|
20
|
+
#failures = [];
|
|
21
|
+
constructor(properties) {
|
|
22
|
+
this.#publications = properties.publications;
|
|
23
|
+
this.#background = properties.background;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Every publication this scope could not make.
|
|
27
|
+
*
|
|
28
|
+
* A failed publication is invisible in an account, where it becomes a metric
|
|
29
|
+
* nobody is watching. Keeping it is what lets a test find out that the
|
|
30
|
+
* metrics it set up never wrote anything.
|
|
31
|
+
*/
|
|
32
|
+
get failures() {
|
|
33
|
+
return this.#failures;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Check a metric filter could publish at all, before one is put.
|
|
37
|
+
*
|
|
38
|
+
* A simulated CloudWatch Logs built on its own has no CloudWatch to write
|
|
39
|
+
* into, and a filter that accepts its configuration and publishes nothing is
|
|
40
|
+
* the hardest kind of thing to find.
|
|
41
|
+
*/
|
|
42
|
+
checkPublishable() {
|
|
43
|
+
if (this.#publications === undefined) {
|
|
44
|
+
throw new SimLogsUnsupportedOperationException("This simulated CloudWatch Logs has no simulated CloudWatch to " +
|
|
45
|
+
"publish a metric filter's datapoints into. Reach CloudWatch Logs " +
|
|
46
|
+
"through a SimAws Account Region scope for a metric filter to " +
|
|
47
|
+
"publish.");
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Schedule the datapoints a batch of events produced.
|
|
52
|
+
*
|
|
53
|
+
* A whole batch goes to each metric filter at once, because a filter
|
|
54
|
+
* aggregates its default value over a period rather than over one event. An
|
|
55
|
+
* embedded document is read one event at a time, because each carries its
|
|
56
|
+
* own metrics and its own timestamp.
|
|
57
|
+
*
|
|
58
|
+
* A CloudWatch Logs with nowhere to publish reads nothing. It can hold no
|
|
59
|
+
* metric filter, and a Powertools log line written to one is an ordinary log
|
|
60
|
+
* line rather than a failure worth recording.
|
|
61
|
+
*/
|
|
62
|
+
written(group, events) {
|
|
63
|
+
if (this.#publications === undefined) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
for (const filter of group.metricFilters.all) {
|
|
67
|
+
const datapoints = filter.datapoints(events);
|
|
68
|
+
if (datapoints.length > 0) {
|
|
69
|
+
this.schedule(group.logGroupName, metricFilterSource(filter.filterName), datapoints);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
this.writtenEmbedded(group.logGroupName, events);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Schedule the datapoints the events carried as EMF documents.
|
|
76
|
+
*/
|
|
77
|
+
writtenEmbedded(logGroupName, events) {
|
|
78
|
+
const datapoints = [];
|
|
79
|
+
for (const event of events) {
|
|
80
|
+
const reading = simLogsEmbeddedMetricReading(event.message, event.ingestionTime);
|
|
81
|
+
datapoints.push(...reading.datapoints);
|
|
82
|
+
for (const skip of reading.skipped) {
|
|
83
|
+
this.#failures.push({
|
|
84
|
+
logGroupName,
|
|
85
|
+
source: simLogsEmbeddedMetricSource,
|
|
86
|
+
...skip,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
if (datapoints.length > 0) {
|
|
91
|
+
this.schedule(logGroupName, simLogsEmbeddedMetricSource, datapoints);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
schedule(logGroupName, source, datapoints) {
|
|
95
|
+
this.#background.schedule(async () => {
|
|
96
|
+
try {
|
|
97
|
+
await this.#publications?.publish(datapoints);
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
this.recordFailure(logGroupName, source, datapoints, error);
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
recordFailure(logGroupName, source, datapoints, error) {
|
|
105
|
+
const reason = error instanceof Error ? error.message : String(error);
|
|
106
|
+
for (const datapoint of datapoints) {
|
|
107
|
+
this.#failures.push({
|
|
108
|
+
logGroupName,
|
|
109
|
+
source,
|
|
110
|
+
metricNamespace: datapoint.namespace,
|
|
111
|
+
metricName: datapoint.metricName,
|
|
112
|
+
reason,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { SimLogsMetricFilter } from "./sim-logs-metric-filter.js";
|
|
2
|
+
/**
|
|
3
|
+
* What a DescribeMetricFilters request is selecting on, beyond the log group.
|
|
4
|
+
*/
|
|
5
|
+
export interface SimLogsMetricFilterSelection {
|
|
6
|
+
readonly filterNamePrefix?: string | undefined;
|
|
7
|
+
readonly metricName?: string | undefined;
|
|
8
|
+
readonly metricNamespace?: string | undefined;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* The filters a request selects, by name prefix and by the metric they write.
|
|
12
|
+
*
|
|
13
|
+
* Selecting on the metric is what makes a request naming no log group useful.
|
|
14
|
+
* It is how a caller finds every filter writing to a metric it has an alarm
|
|
15
|
+
* on, wherever in the account those filters were put.
|
|
16
|
+
*/
|
|
17
|
+
export declare function simLogsSelectedMetricFilters(filters: readonly SimLogsMetricFilter[], selection: SimLogsMetricFilterSelection): readonly SimLogsMetricFilter[];
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The filters a request selects, by name prefix and by the metric they write.
|
|
3
|
+
*
|
|
4
|
+
* Selecting on the metric is what makes a request naming no log group useful.
|
|
5
|
+
* It is how a caller finds every filter writing to a metric it has an alarm
|
|
6
|
+
* on, wherever in the account those filters were put.
|
|
7
|
+
*/
|
|
8
|
+
export function simLogsSelectedMetricFilters(filters, selection) {
|
|
9
|
+
return filters.filter((filter) => filter.filterName.startsWith(selection.filterNamePrefix ?? "") &&
|
|
10
|
+
writesTheMetric(filter, selection));
|
|
11
|
+
}
|
|
12
|
+
function writesTheMetric(filter, selection) {
|
|
13
|
+
return filter.transformations.some((transformation) => (selection.metricNamespace === undefined ||
|
|
14
|
+
transformation.metricNamespace === selection.metricNamespace) &&
|
|
15
|
+
(selection.metricName === undefined ||
|
|
16
|
+
transformation.metricName === selection.metricName));
|
|
17
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { SimLogsMetricFilter } from "./sim-logs-metric-filter.js";
|
|
2
|
+
/**
|
|
3
|
+
* The metric filters on one log group.
|
|
4
|
+
*
|
|
5
|
+
* They belong to the group the way its subscription filters and its streams
|
|
6
|
+
* do. A metric filter has no identity outside the group it watches, and
|
|
7
|
+
* deleting the group takes its filters with it.
|
|
8
|
+
*/
|
|
9
|
+
export declare class SimLogsMetricFilterStore {
|
|
10
|
+
#private;
|
|
11
|
+
/**
|
|
12
|
+
* Every filter on this group, in the order they were put.
|
|
13
|
+
*/
|
|
14
|
+
get all(): readonly SimLogsMetricFilter[];
|
|
15
|
+
/**
|
|
16
|
+
* How many filters this group has, which is what `DescribeLogGroups` reports
|
|
17
|
+
* as `metricFilterCount`.
|
|
18
|
+
*/
|
|
19
|
+
get count(): number;
|
|
20
|
+
/**
|
|
21
|
+
* Find a filter on this group by name.
|
|
22
|
+
*/
|
|
23
|
+
find(filterName: string): SimLogsMetricFilter | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* Put a filter, replacing one of the same name.
|
|
26
|
+
*
|
|
27
|
+
* Putting a filter already there by name is an update rather than a second
|
|
28
|
+
* filter, which is what makes `PutMetricFilter` the way to change a pattern.
|
|
29
|
+
*/
|
|
30
|
+
put(filter: SimLogsMetricFilter): void;
|
|
31
|
+
/**
|
|
32
|
+
* Remove a filter by name, refusing one that was never there.
|
|
33
|
+
*/
|
|
34
|
+
delete(filterName: string): void;
|
|
35
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { SimLogsResourceNotFoundException } from "../error/sim-logs.error.js";
|
|
2
|
+
/**
|
|
3
|
+
* The metric filters on one log group.
|
|
4
|
+
*
|
|
5
|
+
* They belong to the group the way its subscription filters and its streams
|
|
6
|
+
* do. A metric filter has no identity outside the group it watches, and
|
|
7
|
+
* deleting the group takes its filters with it.
|
|
8
|
+
*/
|
|
9
|
+
export class SimLogsMetricFilterStore {
|
|
10
|
+
#filters = new Map();
|
|
11
|
+
/**
|
|
12
|
+
* Every filter on this group, in the order they were put.
|
|
13
|
+
*/
|
|
14
|
+
get all() {
|
|
15
|
+
return this.#filters.values().toArray();
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* How many filters this group has, which is what `DescribeLogGroups` reports
|
|
19
|
+
* as `metricFilterCount`.
|
|
20
|
+
*/
|
|
21
|
+
get count() {
|
|
22
|
+
return this.#filters.size;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Find a filter on this group by name.
|
|
26
|
+
*/
|
|
27
|
+
find(filterName) {
|
|
28
|
+
return this.#filters.get(filterName);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Put a filter, replacing one of the same name.
|
|
32
|
+
*
|
|
33
|
+
* Putting a filter already there by name is an update rather than a second
|
|
34
|
+
* filter, which is what makes `PutMetricFilter` the way to change a pattern.
|
|
35
|
+
*/
|
|
36
|
+
put(filter) {
|
|
37
|
+
this.#filters.set(filter.filterName, filter);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Remove a filter by name, refusing one that was never there.
|
|
41
|
+
*/
|
|
42
|
+
delete(filterName) {
|
|
43
|
+
if (!this.#filters.delete(filterName)) {
|
|
44
|
+
throw new SimLogsResourceNotFoundException("The specified metric filter does not exist.");
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { SimLogsStoredEvent } from "../event/sim-logs-event.js";
|
|
2
|
+
import type { SimLogsMetricDatapoint } from "./sim-logs-metric-datapoint.js";
|
|
3
|
+
import type { SimLogsMetricTransformation } from "./sim-logs-metric-transformation.js";
|
|
4
|
+
interface SimLogsMetricFilterProperties {
|
|
5
|
+
readonly filterName: string;
|
|
6
|
+
readonly logGroupName: string;
|
|
7
|
+
readonly filterPattern: string | undefined;
|
|
8
|
+
readonly transformations: readonly SimLogsMetricTransformation[];
|
|
9
|
+
readonly creationTime: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* One metric filter on a log group.
|
|
13
|
+
*
|
|
14
|
+
* The pattern is compiled once, when the filter is put, the way a subscription
|
|
15
|
+
* filter's is. A pattern this simulator cannot read is refused there rather
|
|
16
|
+
* than on the first event that happens to arrive.
|
|
17
|
+
*/
|
|
18
|
+
export declare class SimLogsMetricFilter {
|
|
19
|
+
#private;
|
|
20
|
+
readonly filterName: string;
|
|
21
|
+
readonly logGroupName: string;
|
|
22
|
+
readonly filterPatternText: string;
|
|
23
|
+
readonly transformations: readonly SimLogsMetricTransformation[];
|
|
24
|
+
readonly creationTime: number;
|
|
25
|
+
constructor(properties: SimLogsMetricFilterProperties);
|
|
26
|
+
/**
|
|
27
|
+
* Whether this filter matches an event's message.
|
|
28
|
+
*/
|
|
29
|
+
matches(message: string): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* The datapoints a batch of log events publishes through this filter.
|
|
32
|
+
*
|
|
33
|
+
* A matching event publishes one datapoint per transformation, stamped with
|
|
34
|
+
* the instant CloudWatch Logs took it.
|
|
35
|
+
*
|
|
36
|
+
* A default value is published once for a period that took events and
|
|
37
|
+
* matched none of them, rather than once per event that missed. That is what
|
|
38
|
+
* real CloudWatch Logs reports: a minute with two records and one match
|
|
39
|
+
* counts one, and a minute with two records and no match reports the default
|
|
40
|
+
* once. Publishing per event would inflate `SampleCount` and change what an
|
|
41
|
+
* alarm over the metric decides.
|
|
42
|
+
*/
|
|
43
|
+
datapoints(events: readonly SimLogsStoredEvent[]): readonly SimLogsMetricDatapoint[];
|
|
44
|
+
/**
|
|
45
|
+
* What one period of events publishes.
|
|
46
|
+
*/
|
|
47
|
+
private periodDatapoints;
|
|
48
|
+
}
|
|
49
|
+
export {};
|