{"_id":"@alerthq/provider-aws-cloudwatch","_rev":"2-9b096b4a474fad8bbaf1c7cc8fffa8ff","name":"@alerthq/provider-aws-cloudwatch","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"@alerthq/provider-aws-cloudwatch","version":"0.0.1","keywords":["alerthq","provider","aws","cloudwatch","alerts","monitoring"],"license":"MIT","_id":"@alerthq/provider-aws-cloudwatch@0.0.1","maintainers":[{"name":"rsafaya","email":"rsafaya@edrv.io"}],"homepage":"https://github.com/ai-software-agency/alerthq#readme","bugs":{"url":"https://github.com/ai-software-agency/alerthq/issues"},"dist":{"shasum":"117200ed6c84b5bc712876da0344dc67ea6fd372","tarball":"https://registry.npmjs.org/@alerthq/provider-aws-cloudwatch/-/provider-aws-cloudwatch-0.0.1.tgz","fileCount":5,"integrity":"sha512-/01/6VktH6uwMCnQ2qxWm5RoXDGOBkYInNiAQP2t9h+zU/1/oR1S0ynmXhYQbTReVYoeKky6roJOXmoe7RnLsQ==","signatures":[{"sig":"MEUCIQCUh8rH/mfZR0HNE204Q4kcHr2PJiSD+P7fh1FngUJXbwIgPp71JQrVM1RZvJimrk+BOuWJewVzpdyod4uIF8puz7Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16308},"main":"./dist/index.js","type":"module","_from":"file:alerthq-provider-aws-cloudwatch-0.0.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"lint":"eslint src/","test":"vitest run --passWithNoTests","build":"tsup src/index.ts --format esm --dts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rsafaya","email":"rsafaya@edrv.io"},"_resolved":"/private/var/folders/y_/sbbsfnm54k310t77b7c43cdm0000gn/T/d7cf357aeefb176993954ce5f5a49b3b/alerthq-provider-aws-cloudwatch-0.0.1.tgz","_integrity":"sha512-/01/6VktH6uwMCnQ2qxWm5RoXDGOBkYInNiAQP2t9h+zU/1/oR1S0ynmXhYQbTReVYoeKky6roJOXmoe7RnLsQ==","repository":{"url":"git+https://github.com/ai-software-agency/alerthq.git","type":"git","directory":"packages/provider-aws-cloudwatch"},"_npmVersion":"11.7.0","description":"AWS CloudWatch alert provider for alerthq","directories":{},"_nodeVersion":"25.4.0","dependencies":{"zod":"^3.24.0","@aws-sdk/client-cloudwatch":"^3.700.0"},"_hasShrinkwrap":false,"peerDependencies":{"@alerthq/core":"0.0.1"},"_npmOperationalInternal":{"tmp":"tmp/provider-aws-cloudwatch_0.0.1_1775722585857_0.34024814374722423","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-04-09T08:16:25.700Z","modified":"2026-04-09T09:10:03.272Z","0.0.1":"2026-04-09T08:16:26.016Z"},"bugs":{"url":"https://github.com/ai-software-agency/alerthq/issues"},"license":"MIT","homepage":"https://github.com/ai-software-agency/alerthq#readme","keywords":["alerthq","provider","aws","cloudwatch","alerts","monitoring"],"repository":{"url":"git+https://github.com/ai-software-agency/alerthq.git","type":"git","directory":"packages/provider-aws-cloudwatch"},"description":"AWS CloudWatch alert provider for alerthq","maintainers":[{"email":"dpipalia@edrv.io","name":"dhruvin-edrv"},{"email":"rsafaya@edrv.io","name":"rsafaya"}],"readme":"# @alerthq/provider-aws-cloudwatch\n\nAWS CloudWatch alert provider for [alerthq](https://github.com/edrv/alerthq).\n\n## Supported Alert Types\n\n| Alert Type | API Source | Notes |\n|------------|-----------|-------|\n| Metric Alarms | `DescribeAlarms` via `@aws-sdk/client-cloudwatch` | Includes standard and anomaly detection alarms |\n\nComposite alarms are not currently fetched (they use a separate API call).\n\n## Authentication\n\nUses the standard AWS credential chain. Credentials are resolved in this order:\n\n1. Explicit credentials in config (`accessKeyId`, `secretAccessKey`, optional `sessionToken`)\n2. Environment variables (`AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`)\n3. Shared credentials file (`~/.aws/credentials`)\n4. IAM role (EC2 instance profile, ECS task role, Lambda execution role)\n\n## Configuration\n\nAdd to your `alerthq.yaml`:\n\n```yaml\nproviders:\n  aws-cloudwatch:\n    enabled: true\n    regions:\n      - us-east-1\n      - eu-west-1\n    # Optional: explicit credentials (omit to use default chain)\n    # credentials:\n    #   accessKeyId: AKIA...\n    #   secretAccessKey: ...\n    #   sessionToken: ...\n```\n\n| Field | Type | Required | Default | Description |\n|-------|------|----------|---------|-------------|\n| `regions` | `string[]` | Yes | — | AWS regions to scan for alarms |\n| `credentials.accessKeyId` | `string` | No | — | AWS access key ID |\n| `credentials.secretAccessKey` | `string` | No | — | AWS secret access key |\n| `credentials.sessionToken` | `string` | No | — | AWS session token (for temporary credentials) |\n\n## Required Permissions\n\nMinimum IAM policy for read-only access:\n\n```json\n{\n  \"Version\": \"2012-10-17\",\n  \"Statement\": [\n    {\n      \"Effect\": \"Allow\",\n      \"Action\": [\n        \"cloudwatch:DescribeAlarms\",\n        \"cloudwatch:ListTagsForResource\"\n      ],\n      \"Resource\": \"*\"\n    }\n  ]\n}\n```\n\n`ListTagsForResource` is optional — if denied, alarms are still fetched but without tag enrichment.\n\n## Field Mapping\n\n| AlertDefinition Field | Source |\n|-----------------------|--------|\n| `id` | `generateAlertId('aws-cloudwatch', AlarmArn)` |\n| `sourceId` | `AlarmArn` |\n| `name` | `AlarmName` |\n| `description` | `AlarmDescription` |\n| `enabled` | Always `true` (CloudWatch alarms cannot be disabled) |\n| `severity` | From `severity` tag if present, otherwise `'warning'` |\n| `conditionSummary` | Built from `MetricName`, `ComparisonOperator`, `Threshold`, `Period`, `EvaluationPeriods` |\n| `notificationTargets` | Deduplicated union of `OKActions`, `AlarmActions`, `InsufficientDataActions` |\n| `tags` | Resource tags via `ListTagsForResource` |\n| `owner` | From `owner` tag if present |\n| `lastModifiedAt` | `AlarmConfigurationUpdatedTimestamp` |\n\n## Limitations\n\n- Only fetches metric alarms; composite alarms are not yet supported.\n- Severity is inferred from resource tags (`severity` key) — CloudWatch has no native severity field.\n- Multi-region scanning is sequential per region.\n- Tag enrichment requires one API call per alarm, which may be slow for large alarm counts.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}