{ "info": { "author": "Trek10, Inc", "author_email": "package-management@trek10.com", "bugtrack_url": null, "classifiers": [], "description": "# LBR Context Manager\n\nThe best tool for AWS lambda-backed custom resources since sliced cheese!\n\n## How is it used\n\nI'm glad you asked!\n\nFirst `pip install lbr-context`, then in your custom resource handler:\n\n```python\nfrom lbr_context import CfnContext\n\n\ndef handler(event=None, context=None):\n event = event or {}\n request_type = event['RequestType'].upper()\n with CfnContext(event, context) as cfn:\n if 'CREATE' in request_type:\n # handle a create here\n pass\n elif 'UPDATE' in request_type:\n # handle an update here\n pass\n elif 'DELETE' in request_type:\n # handle a delete here\n pass\n```\n\n## So what makes this better\n\nOne of the big pains experienced when writing custom resources is getting it wrong, because this can cause your resource to be in an `IN_PROGRESS` state for a long time.\n\nThis context manager addresses that, and will catch any uncaught exception. When it catches an exception, it sends the `FAILED` request to the `event`'s endpoint, so CloudFormation knows your custom resource failed to create/update/delete.\n\nOn top of that, this context manager sets a timer for when the lambda is about to run out of time, so that it will make sure the `FAILED` request is sent, even if your lambda's timeout is improperly configured.", "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/trek10inc/LBR-Context-Manager", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "lbr-context", "package_url": "https://pypi.org/project/lbr-context/", "platform": "", "project_url": "https://pypi.org/project/lbr-context/", "project_urls": { "Homepage": "https://github.com/trek10inc/LBR-Context-Manager" }, "release_url": "https://pypi.org/project/lbr-context/0.2.0/", "requires_dist": null, "requires_python": "", "summary": "A context manager for custom resources", "version": "0.2.0" }, "last_serial": 4716296, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "03f7fad0db755464bffd663bf262fbd4", "sha256": "4b57092a2dced3d37224bd9c98b62c09084153992e41b959b4fbd05deb577487" }, "downloads": -1, "filename": "lbr_context-0.0.1.tar.gz", "has_sig": false, "md5_digest": "03f7fad0db755464bffd663bf262fbd4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3397, "upload_time": "2018-09-18T15:09:05", "url": "https://files.pythonhosted.org/packages/70/90/5f949106dfb21ca62385f5a715aa2a53245b20a8cafc27b58fa23ea12f3f/lbr_context-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "1cd51cf2a4a1485a77a29572a0e97aee", "sha256": "7c45f7fd1cb3d73760c3c48e4478374661127b50fb4f3301ee84d38f82b19800" }, "downloads": -1, "filename": "lbr_context-0.0.2.tar.gz", "has_sig": false, "md5_digest": "1cd51cf2a4a1485a77a29572a0e97aee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3407, "upload_time": "2018-09-18T15:27:56", "url": "https://files.pythonhosted.org/packages/9c/2c/10a28ba712e54fab86bacf10fbb779f2fd89b45e9c1a447a7c1672d9fac7/lbr_context-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "a03c73c6c10bd268a768638d6193448a", "sha256": "9c9200e7f94e6c3453dc51f36502bd201a00d7b9c01e6c12cfac50eb592d064d" }, "downloads": -1, "filename": "lbr_context-0.0.3.tar.gz", "has_sig": false, "md5_digest": "a03c73c6c10bd268a768638d6193448a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3406, "upload_time": "2018-09-18T15:29:31", "url": "https://files.pythonhosted.org/packages/5a/51/861ce05bc543dd5f9352749d7c35af4a40284b65c88a46415ced04cbff42/lbr_context-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "e62275ffabab84ba699e257bd632f874", "sha256": "146ca5c2805c7eb13e2779170bfbe370315efe46d4853a62a8449f27cdc73815" }, "downloads": -1, "filename": "lbr_context-0.0.4.tar.gz", "has_sig": false, "md5_digest": "e62275ffabab84ba699e257bd632f874", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4036, "upload_time": "2018-09-18T15:48:03", "url": "https://files.pythonhosted.org/packages/8b/5e/bd4914b8a11360224d156ccdefdacfe447790655d87920e6c5ae5d305a31/lbr_context-0.0.4.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "33b8f43fc1905971183f2bdfdd98c9a5", "sha256": "e81d2d620a75baa2e628a0a983459b143804472dee4d78484936e9588f9ba34f" }, "downloads": -1, "filename": "lbr_context-0.1.0.tar.gz", "has_sig": false, "md5_digest": "33b8f43fc1905971183f2bdfdd98c9a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4041, "upload_time": "2018-09-18T15:52:57", "url": "https://files.pythonhosted.org/packages/6a/ce/733ef6ce39ed50b8251860bbe3ee6052bc2b0dc200ef33c5b17f24c95a2d/lbr_context-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "9226de617d561062db6e7a297f890a19", "sha256": "0dc9213aaef99dc503c9770fc097d23c20963d4289112d0bff96300929240fb5" }, "downloads": -1, "filename": "lbr_context-0.2.0.tar.gz", "has_sig": false, "md5_digest": "9226de617d561062db6e7a297f890a19", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4106, "upload_time": "2019-01-19T18:14:59", "url": "https://files.pythonhosted.org/packages/ce/97/4ce45086c0da85ce7bd8c48b5f4c06ac116962c9abe393b21780332d064e/lbr_context-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9226de617d561062db6e7a297f890a19", "sha256": "0dc9213aaef99dc503c9770fc097d23c20963d4289112d0bff96300929240fb5" }, "downloads": -1, "filename": "lbr_context-0.2.0.tar.gz", "has_sig": false, "md5_digest": "9226de617d561062db6e7a297f890a19", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4106, "upload_time": "2019-01-19T18:14:59", "url": "https://files.pythonhosted.org/packages/ce/97/4ce45086c0da85ce7bd8c48b5f4c06ac116962c9abe393b21780332d064e/lbr_context-0.2.0.tar.gz" } ] }