{ "info": { "author": "Jeff Hubbard", "author_email": "musikernel@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable" ], "description": "IMPORTANT\r\n~~~~~~~~~\r\n\r\nsimplecf uses Boto3 from 1.1.0 forward, if you need Boto (aka Boto2) support,\r\nplease install version 1.0.2 using this command:\r\n\r\n::\r\n\r\n pip install simplecf==1.0.2\r\n\r\n- `What is simplecf? <#what-is-simplecf>`__\r\n- `How to use <#how-to-use>`__\r\n\r\nWhat is simplecf?\r\n~~~~~~~~~~~~~~~~~\r\n\r\nsimplecf is a templating system for AWS Cloudformation that allows you\r\nto make many variations of a single template for maximum code re-use.\r\nSee a simple example `HERE `_\r\n\r\nThe standard use-case is that you have 4 environments {dev,qa,stage,prod}\r\nbased on one Cloudformation template. Rather than maintaining 4 templates\r\nthat are mostly identical, you can add Mustache {{ tags }} to your templates\r\nand create simple JSON data files that specify the values. This has\r\nthe added benefit of eliminating the need for a lot of boilerplate mapping\r\ncode in the \"Parameters\" section of your templates.\r\n\r\nsimplecf also supports data file fragments; You can create a single data\r\nfile for each AWS region that contain region-specific data like ami-id,\r\netc... and import that data file fragment into your other templates.\r\n\r\nHow to use\r\n~~~~~~~~~~\r\n\r\nYou can install using pip:\r\n\r\n::\r\n\r\n #As root, or alternately use --user\r\n pip install simplecf\r\n\r\nCreate a standard AWS Cloudformation template, adding Mustache {{ tags\r\n}} for the parts you wish to be dynamically substituted\r\n\r\nmy-cf-template.json:\r\n\r\n::\r\n\r\n ...\r\n \"Tags\":[\r\n {\"Key\": \"Phase\", \"Value\": \"{{ phase }}\"}\r\n ]\r\n ...\r\n\r\nNext, create a JSON file to define the stack and fill in the tags. You\r\ncan generate an empty data file with\r\n``simplecf.py -d prod.json -c my-cf-template.json``\r\n\r\nprod.json:\r\n\r\n::\r\n\r\n {\r\n \"CF_TEMPLATE\": \"my-cf-template.json\",\r\n \"STACK_NAME\": \"MyStackProd\",\r\n \"STACK_REGION\": \"us-east-1\",\r\n \"phase\": \"Prod\"\r\n }\r\n\r\nThen run simplecf to generate the template\r\n\r\n``simplecf.py -d prod.json``\r\n\r\nWhich outputs:\r\n\r\nMyStackProd.json:\r\n\r\n::\r\n\r\n ...\r\n \"Tags\":[\r\n {\"Key\": \"Phase\", \"Value\": \"Prod\"}\r\n ]\r\n ...\r\n\r\nRun simplecf.py with --help to see various other tools and options.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/j3ffhubb/simplecf", "keywords": "AWS Cloudformation simplecf", "license": "GPL 3.0", "maintainer": "", "maintainer_email": "", "name": "simplecf", "package_url": "https://pypi.org/project/simplecf/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/simplecf/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/j3ffhubb/simplecf" }, "release_url": "https://pypi.org/project/simplecf/1.1.0/", "requires_dist": null, "requires_python": null, "summary": "Templating system for AWS Cloudformation", "version": "1.1.0" }, "last_serial": 1708300, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "2237bc6d8f69c43f8759add28018015f", "sha256": "9c900b5f4494d8fa620d8d8467dbf9883444115d84af76672bccc8dc7c413a66" }, "downloads": -1, "filename": "simplecf-1.0.tar.gz", "has_sig": false, "md5_digest": "2237bc6d8f69c43f8759add28018015f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3575, "upload_time": "2015-04-04T04:00:17", "url": "https://files.pythonhosted.org/packages/98/4b/19e17292a9de78e42b1b7a47df025b9d6237037ceb248c240ee2073dac1e/simplecf-1.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "f6e6afae3bc313b1293695e8c641320b", "sha256": "31e578bee2e27994f11494c67c867eb4657fb4b78111f00e68090e4ded6ed88b" }, "downloads": -1, "filename": "simplecf-1.0.1.tar.gz", "has_sig": false, "md5_digest": "f6e6afae3bc313b1293695e8c641320b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3531, "upload_time": "2015-08-02T02:11:35", "url": "https://files.pythonhosted.org/packages/8b/67/41b699a030b0bf7a4ddf38f8ae5aec3c088a4defb605ac0ee12d8852f602/simplecf-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "74e573877041fb9e4bb80a2d39de710c", "sha256": "089108a960c615868ae1c74c3fe9fb80521eda44304d261d9f5e8e54e24a914b" }, "downloads": -1, "filename": "simplecf-1.0.2.tar.gz", "has_sig": false, "md5_digest": "74e573877041fb9e4bb80a2d39de710c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5028, "upload_time": "2015-08-06T01:08:33", "url": "https://files.pythonhosted.org/packages/51/94/20e930747ee9acfca2314adbecec408adf780dada259c4c3ab7b07940d2f/simplecf-1.0.2.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "9aa66ec715600b2f405217542823ca25", "sha256": "0b49b6f09646d0c304ac2df0a8a6a8e0893b991af71ece06d9bbdda8e4dd3097" }, "downloads": -1, "filename": "simplecf-1.1.0.tar.gz", "has_sig": false, "md5_digest": "9aa66ec715600b2f405217542823ca25", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5187, "upload_time": "2015-08-19T03:16:22", "url": "https://files.pythonhosted.org/packages/0b/91/40e14ec0b82923776f7d7ab565df65b62dcf62951c9fdf6f3c7059d89410/simplecf-1.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9aa66ec715600b2f405217542823ca25", "sha256": "0b49b6f09646d0c304ac2df0a8a6a8e0893b991af71ece06d9bbdda8e4dd3097" }, "downloads": -1, "filename": "simplecf-1.1.0.tar.gz", "has_sig": false, "md5_digest": "9aa66ec715600b2f405217542823ca25", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5187, "upload_time": "2015-08-19T03:16:22", "url": "https://files.pythonhosted.org/packages/0b/91/40e14ec0b82923776f7d7ab565df65b62dcf62951c9fdf6f3c7059d89410/simplecf-1.1.0.tar.gz" } ] }