{ "info": { "author": "Elad Ben-Israel", "author_email": "", "bugtrack_url": null, "classifiers": [], "description": "# cdk-watchful\n\n[![CircleCI](https://circleci.com/gh/eladb/cdk-watchful.svg?style=svg)](https://circleci.com/gh/eladb/cdk-watchful)\n[![python](https://img.shields.io/badge/jsii-python-blueviolet.svg)](https://pypi.org/project/cdk-watchful/)\n[![typescript](https://img.shields.io/badge/jsii-typescript-blueviolet.svg)](https://www.npmjs.com/package/cdk-watchful)\n\n> Watching your CDK back since 2019\n\nWatchful is an [AWS CDK](https://github.com/awslabs/aws-cdk) construct library that makes it easy\nto monitor CDK apps.\n\n**TypeScript:**\n\n```ts\nimport { Watchful } from 'cdk-watchful'\n\nconst wf = new Watchful(this, 'watchful');\nwf.watchDynamoTable('My Cute Little Table', myTable);\nwf.watchLambdaFunction('My Function', myFunction);\nwf.watchApiGateway('My REST API', myRestApi);\n```\n\n**Python:**\n\n```python\nfrom cdk_watchful import Watchful\n\nwf = Watchful(self, 'watchful')\nwf.watch_dynamo_table('My Cute Little Table', my_table)\nwf.watch_lambda_function('My Function', my_function)\nwf.watch_api_gateway('My REST API', my_rest_api)\n```\n\nAnd...\n\n![](https://raw.githubusercontent.com/eladb/cdk-watchful/master/example/sample.png)\n\n## Install\n\nTypeScript/JavaScript:\n\n```console\n$ npm install cdk-watchful\n```\n\nPython:\n\n```console\n$ pip install cdk-watchful\n```\n\n## Initialize\n\nTo get started, just define a `Watchful` construct in your CDK app (code is in\nTypeScript, but python will work too):\n\n**TypeScript:**\n\n```ts\nimport Watchful from 'cdk-watchful';\n\nconst wf = new Watchful(this, 'watchful', {\n alarmEmail: 'your@email.com'\n});\n```\n\n**Python:**\n\n```python\nfrom cdk_watchful import Watchful\n\nwf = Watchful(self, 'watchful', alarm_email='your@amil.com')\n```\n\n## Add Resources\n\nWatchful manages a central dashboard and configures default alarming for:\n\n- Amazon DynamoDB: `watchful.watchDynamoTable`\n- AWS Lambda: `watchful.watchLambdaFunction`\n- Amazon API Gateway: `watchful.watchApiGateway`\n- [Request yours](https://github.com/eladb/cdk-watchful/issues/new)\n\n## Watching Scopes\n\nWatchful can also watch complete CDK construct scopes. It will automatically\ndiscover all watchable resources within that scope (recursively), add them\nto your dashboard and configure alarms for them.\n\n**TypeScript:**\n\n```ts\nwf.watchScope(storageLayer);\n```\n\n**Python:**\n\n```python\nwf.watch_scope(storage_layer)\n```\n\n\n## Example\n\nSee a more complete [example](https://github.com/eladb/cdk-watchful/blob/master/example/index.ts).\n\n## License\n\n[Apache 2.0](https://github.com/eladb/cdk-watchful/blob/master/LICENSE)\n\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/eladb/cdk-watchful", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "cdk-watchful", "package_url": "https://pypi.org/project/cdk-watchful/", "platform": "", "project_url": "https://pypi.org/project/cdk-watchful/", "project_urls": { "Homepage": "https://github.com/eladb/cdk-watchful", "Source": "https://github.com/eladb/cdk-watchful" }, "release_url": "https://pypi.org/project/cdk-watchful/0.3.0/", "requires_dist": [ "jsii (~=0.14.0)", "publication (>=0.0.3)", "aws-cdk.aws-apigateway (>=1.0.0,~=1.0)", "aws-cdk.aws-cloudwatch (>=1.0.0,~=1.0)", "aws-cdk.aws-cloudwatch-actions (>=1.0.0,~=1.0)", "aws-cdk.aws-dynamodb (>=1.0.0,~=1.0)", "aws-cdk.aws-events (>=1.0.0,~=1.0)", "aws-cdk.aws-events-targets (>=1.0.0,~=1.0)", "aws-cdk.aws-lambda (>=1.0.0,~=1.0)", "aws-cdk.aws-sns (>=1.0.0,~=1.0)", "aws-cdk.aws-sns-subscriptions (>=1.0.0,~=1.0)", "aws-cdk.core (>=1.0.0,~=1.0)" ], "requires_python": ">=3.6", "summary": "Watching your CDK apps since 2019", "version": "0.3.0" }, "last_serial": 5518841, "releases": { "0.1.3": [ { "comment_text": "", "digests": { "md5": "587ef8e4a07defc078c1281f3ad04160", "sha256": "d96c950666b92ba1564cfeeceb6ab855aed66b8bd77de6f56301dc3ef9dff56a" }, "downloads": -1, "filename": "cdk_watchful-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "587ef8e4a07defc078c1281f3ad04160", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 30879, "upload_time": "2019-07-01T22:04:41", "url": "https://files.pythonhosted.org/packages/39/d3/b95264f3c08b77ebbb3446056a03aa1291f482d8f2c08a17e89068cb52a1/cdk_watchful-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "af79722bde3347dd612086347f6711c1", "sha256": "1b33fdc7742f34a0937d9c4c96f76b61cfe55172011f39429fb506979a20df62" }, "downloads": -1, "filename": "cdk-watchful-0.1.3.tar.gz", "has_sig": false, "md5_digest": "af79722bde3347dd612086347f6711c1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 32231, "upload_time": "2019-07-01T22:04:44", "url": "https://files.pythonhosted.org/packages/79/d0/e151d922148860ee71341da81bb1c5eeac1f10f4c776e56fdb0a8fda39e7/cdk-watchful-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "6736d258716c63c4a61ea6c79a03ca50", "sha256": "d9cf19000122837e40c7aff5cb45bc400aaeec1b14ee459df350bce73d0721a3" }, "downloads": -1, "filename": "cdk_watchful-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "6736d258716c63c4a61ea6c79a03ca50", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 31306, "upload_time": "2019-07-02T11:06:39", "url": "https://files.pythonhosted.org/packages/ab/14/4c5be2508e3ab4f2642d0dac5f66cd982d5605e3f43c2fada0a648314ee3/cdk_watchful-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e337a494f72dc319ee55ad9df3ce9123", "sha256": "a526327156edc3948516dbaf8433743ccbc782677cde95b365278880aa6b78b1" }, "downloads": -1, "filename": "cdk-watchful-0.1.4.tar.gz", "has_sig": false, "md5_digest": "e337a494f72dc319ee55ad9df3ce9123", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 32845, "upload_time": "2019-07-02T11:06:40", "url": "https://files.pythonhosted.org/packages/4d/26/ee68c6ff435f8caf44f08607844b32595443cbee2b7055cbf01814539e75/cdk-watchful-0.1.4.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "8f07261cd2fcf52e0b4a05b1bc2f671c", "sha256": "abb989d40a3fb88d3aef3a8dfca14803f4fc9112b7d7a2856af624d38ce3f5ba" }, "downloads": -1, "filename": "cdk_watchful-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "8f07261cd2fcf52e0b4a05b1bc2f671c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 123779, "upload_time": "2019-07-04T14:09:49", "url": "https://files.pythonhosted.org/packages/a9/ca/734a4e05c73632281826040fc90863361c0d46ad5d3b33d605ca8b3f5d54/cdk_watchful-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5edd6ff0b036c6352f4fe0556d9b154c", "sha256": "3e88be3480a176bfe241507c2c846432e7ab775d3cf030530a8938c83f8d03b7" }, "downloads": -1, "filename": "cdk-watchful-0.2.0.tar.gz", "has_sig": false, "md5_digest": "5edd6ff0b036c6352f4fe0556d9b154c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 125614, "upload_time": "2019-07-04T14:09:50", "url": "https://files.pythonhosted.org/packages/0b/d1/41ee7ed7a33ce18642982077246bd912ea4079cb5aa725efaa9bf0053516/cdk-watchful-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "706acaeb7900069cf6044ecd73967377", "sha256": "7592b40ad63edc07be808801d8d05df8670d7be5496fc723f13a6a286824850c" }, "downloads": -1, "filename": "cdk_watchful-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "706acaeb7900069cf6044ecd73967377", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 123794, "upload_time": "2019-07-04T15:19:08", "url": "https://files.pythonhosted.org/packages/93/8d/b97c0f5cc1a5d6bac8dd92c35d24bc1b264f43e0ec622ec51f2f1c3a33e5/cdk_watchful-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "954e131462c9509b83d2999e569d52b3", "sha256": "7dd52bf3b590787704d11fcec4574cea6d61dce205d6375557b98b245febf457" }, "downloads": -1, "filename": "cdk-watchful-0.2.1.tar.gz", "has_sig": false, "md5_digest": "954e131462c9509b83d2999e569d52b3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 124565, "upload_time": "2019-07-04T15:19:09", "url": "https://files.pythonhosted.org/packages/e9/dd/771117b2fe517f27eb9ec394de1aace2b19bf97de4049012504a298d64d2/cdk-watchful-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "36084417f00690a7d4f1789366a0c968", "sha256": "859cd4bc838964a951dfe440f81e405bfa5c18ac08d26a960b1eff0973907bc5" }, "downloads": -1, "filename": "cdk_watchful-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "36084417f00690a7d4f1789366a0c968", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 123932, "upload_time": "2019-07-07T12:58:28", "url": "https://files.pythonhosted.org/packages/56/ff/66d4bb62116f3365d16f929476d12a1d7f067bb4018855b531868818d54d/cdk_watchful-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "43aaec9209c6a9862048456571b1073c", "sha256": "c431ea74a2eb921e898de2e894d6eff111261c4090bfccadf8e3fccafe418620" }, "downloads": -1, "filename": "cdk-watchful-0.2.2.tar.gz", "has_sig": false, "md5_digest": "43aaec9209c6a9862048456571b1073c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 125979, "upload_time": "2019-07-07T12:58:30", "url": "https://files.pythonhosted.org/packages/7a/d1/d02871af9b05dbd6fa4818ba2342235f3283b87f4791a4daecf536bb8e8c/cdk-watchful-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "6dfadb98d5f012acd53ff6761a54016a", "sha256": "b321750a994b21460e45e9f4db4eb2608822e73070479932006fca10860dc782" }, "downloads": -1, "filename": "cdk_watchful-0.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "6dfadb98d5f012acd53ff6761a54016a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 124006, "upload_time": "2019-07-07T13:18:37", "url": "https://files.pythonhosted.org/packages/63/81/18432b374084db0fe9d195f72b3cfb3285a72f0d9b4205a19b0affe575f6/cdk_watchful-0.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "65cc119ece1791738e6dbc9bf02bc09a", "sha256": "520ea9476f003ea4afbd9a8198685bb77fa99bba49145a71dcc84f76f2d9b3a0" }, "downloads": -1, "filename": "cdk-watchful-0.2.3.tar.gz", "has_sig": false, "md5_digest": "65cc119ece1791738e6dbc9bf02bc09a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 125940, "upload_time": "2019-07-07T13:18:38", "url": "https://files.pythonhosted.org/packages/92/7f/fd3ec4b1957b48798bcdb6adb46e40da8d3064130b4145a8f7417fdba8f8/cdk-watchful-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "f47fbecdb6bc34f8b9110f0d591dabe9", "sha256": "b79b2d239b21988c16743c3df972726efd1dfc8bb6bed4b02cc7f53df1f4e420" }, "downloads": -1, "filename": "cdk_watchful-0.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "f47fbecdb6bc34f8b9110f0d591dabe9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 124107, "upload_time": "2019-07-08T08:40:32", "url": "https://files.pythonhosted.org/packages/c2/42/c7a3a612754eb09a91bb13b41a95683e526bdf309ad17edf12b7de6a98ca/cdk_watchful-0.2.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6bbb0de785f9b9e1c891edfaae6a7714", "sha256": "05a46bd9e0f6d4e3521c7734db89cb3a049931510011b0a2d3e5d7c61a12750d" }, "downloads": -1, "filename": "cdk-watchful-0.2.4.tar.gz", "has_sig": false, "md5_digest": "6bbb0de785f9b9e1c891edfaae6a7714", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 126148, "upload_time": "2019-07-08T08:40:33", "url": "https://files.pythonhosted.org/packages/d0/a9/f9fbbdf8820c799406539c28f7a0837cac32a0bcd12d0d17c8be18eb0c78/cdk-watchful-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "a717e00b3d3addba30aa8867430a9c26", "sha256": "bfb92b1a3e60a28188816ac65d301ffaa3d3c1ad3efec28e58bfed687be8f2e9" }, "downloads": -1, "filename": "cdk_watchful-0.2.5-py3-none-any.whl", "has_sig": false, "md5_digest": "a717e00b3d3addba30aa8867430a9c26", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 124293, "upload_time": "2019-07-08T09:35:53", "url": "https://files.pythonhosted.org/packages/31/63/881273284622968df8ff27005f3054199e0d06a3585523b0cf3bfc4f149c/cdk_watchful-0.2.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "98b6d9b9c470510069530e4dd7179fb4", "sha256": "c97a522ce0a5fdfb386392e66e77eac4658fa1cc17114593a627c5f3227e50ac" }, "downloads": -1, "filename": "cdk-watchful-0.2.5.tar.gz", "has_sig": false, "md5_digest": "98b6d9b9c470510069530e4dd7179fb4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 125733, "upload_time": "2019-07-08T09:35:54", "url": "https://files.pythonhosted.org/packages/10/2e/22634f0c2f4d20c651a2d3ae0995db5f05f57f6881087fb351dfb096cda5/cdk-watchful-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "b117eba12066f55ca61b823bbc8b189b", "sha256": "b95b688b24cff2efe9cf969d2beca1b7fd9cc20c0aa761159923a8c3aad83d0a" }, "downloads": -1, "filename": "cdk_watchful-0.2.6-py3-none-any.whl", "has_sig": false, "md5_digest": "b117eba12066f55ca61b823bbc8b189b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 130739, "upload_time": "2019-07-08T12:24:41", "url": "https://files.pythonhosted.org/packages/a5/de/0734c1154e37425c6e171c5caabc63368892b9cbf627f64cb684e03c00cb/cdk_watchful-0.2.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c31965b3d4a2cad9c9f635d71484131e", "sha256": "4a1e759e28268189985d6eab2697d29b011b5d5267991baec94afe447895aceb" }, "downloads": -1, "filename": "cdk-watchful-0.2.6.tar.gz", "has_sig": false, "md5_digest": "c31965b3d4a2cad9c9f635d71484131e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 132785, "upload_time": "2019-07-08T12:24:42", "url": "https://files.pythonhosted.org/packages/18/d9/f5bdfd6fd1faa07d484b1fe988c50aff21c833e69b29768cb3b64924ab77/cdk-watchful-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "1184b3979013e875483e0b6e7f6eb11f", "sha256": "e140aa3811611e1a4845db0ef4574714d2511382a766f96a16ed105153320024" }, "downloads": -1, "filename": "cdk_watchful-0.2.7-py3-none-any.whl", "has_sig": false, "md5_digest": "1184b3979013e875483e0b6e7f6eb11f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 131576, "upload_time": "2019-07-08T15:27:04", "url": "https://files.pythonhosted.org/packages/51/b9/fae19de2ba87475a3c2c3c1890d3677bc07e759b13d0b4af20429b202707/cdk_watchful-0.2.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fc935478e95474250f4494d0f6c066c2", "sha256": "f6e70156e8aa927f78b3cf597a8c05791ae911b7ca9e15adca3cf28b744e990e" }, "downloads": -1, "filename": "cdk-watchful-0.2.7.tar.gz", "has_sig": false, "md5_digest": "fc935478e95474250f4494d0f6c066c2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 133852, "upload_time": "2019-07-08T15:27:06", "url": "https://files.pythonhosted.org/packages/19/ec/d4231e7ec74b631688bfb257b7e7533b48f791c8924417c1cd547456eb3c/cdk-watchful-0.2.7.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "77c9865f5c6b1bf525b7f09089d6dcde", "sha256": "c85fb501c44c4affbcb0fa6731efdadb0e7bad550a53bea41df99758068093af" }, "downloads": -1, "filename": "cdk_watchful-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "77c9865f5c6b1bf525b7f09089d6dcde", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 131580, "upload_time": "2019-07-11T15:47:12", "url": "https://files.pythonhosted.org/packages/08/b9/9615857ef9e6b9aad30af91cf9d9554142d27df32cec92356fb5e0953a08/cdk_watchful-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "df8335df9a627a618ebddc5a2af2ef82", "sha256": "d329b3b834dbc0f73b689ac29413a4c88d791802becef17b21230b04d6a508fe" }, "downloads": -1, "filename": "cdk-watchful-0.3.0.tar.gz", "has_sig": false, "md5_digest": "df8335df9a627a618ebddc5a2af2ef82", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 132182, "upload_time": "2019-07-11T15:47:14", "url": "https://files.pythonhosted.org/packages/29/72/ef251e313cbbd96481a63631bf1342eadcbefcb7a77072ec6383acfba797/cdk-watchful-0.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "77c9865f5c6b1bf525b7f09089d6dcde", "sha256": "c85fb501c44c4affbcb0fa6731efdadb0e7bad550a53bea41df99758068093af" }, "downloads": -1, "filename": "cdk_watchful-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "77c9865f5c6b1bf525b7f09089d6dcde", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 131580, "upload_time": "2019-07-11T15:47:12", "url": "https://files.pythonhosted.org/packages/08/b9/9615857ef9e6b9aad30af91cf9d9554142d27df32cec92356fb5e0953a08/cdk_watchful-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "df8335df9a627a618ebddc5a2af2ef82", "sha256": "d329b3b834dbc0f73b689ac29413a4c88d791802becef17b21230b04d6a508fe" }, "downloads": -1, "filename": "cdk-watchful-0.3.0.tar.gz", "has_sig": false, "md5_digest": "df8335df9a627a618ebddc5a2af2ef82", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 132182, "upload_time": "2019-07-11T15:47:14", "url": "https://files.pythonhosted.org/packages/29/72/ef251e313cbbd96481a63631bf1342eadcbefcb7a77072ec6383acfba797/cdk-watchful-0.3.0.tar.gz" } ] }