{ "info": { "author": "Mark Duffield", "author_email": "duff@amazon.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 1 - Planning", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Utilities" ], "description": "# AWS CFN Control [![Build Status](https://api.travis-ci.org/awslabs/aws-cfn-control.png?branch=master)](https://travis-ci.org/awslabs/aws-cfn-control) [![PyPi Status](https://badge.fury.io/py/aws-cfn-control.png)](https://badge.fury.io/py/aws-cfn-control)\n\n\nAWS-CFN-Control provides an interface to quickly deploy and redeploy CloudFormation stacks. The `cfnctl` command provides the core functionality, with several other commands that will find AMI info, get stack status, build CloudFormation mappings, and many other features.\n\n\n## License\n\nThis library is licensed under the Apache 2.0 License. \n\n\n## Installation\n\n```\npip install aws-cfn-control\n```\n\n## Launch stack using a cfnctl configuration file\n\nTL;DR\n\n1. Upload CloudFormation template to an s3 bucket\n2. Build cfnctl configuration file\n3. Fill in parameter values by editing the cfnctl configuration file\n4. Launch the stack\n5. Check stack status and outputs\n\n### Upload CloudFormation template to an s3 bucket\n\n```\n$ aws s3 cp stack1.json s3://user-stacks/\n```\n\n### Build cfnctl configuration file using template in s3 bucket\n\nThe configuration process accounts for default values, built-in lists, and will prompted on any Parameter that is using \"ConstraintDescription\" and does not have a value.\n\n```\n$ cfnctl -r us-east-1 -b https://s3-us-west-1.amazonaws.com/user-stacks/stack1.json\nCreating config file /Users/joeuser/.cfnctlconfig/stack1.json.cf\nUsing config file /Users/joeuser/.cfnctlconfig/stack1.json.cf\nEC2 keys found in us-east-1:\n Jouser_IAD\nSelect EC2 Key: Jouser_IAD\nParameter \"SSHBucketName\" is required, but can be changed in config file\nEnter SSHBucketName: jouser-keys\nGetting security groups...\n sg-1234asdf | default\n sg-2345aslf | My-IPs\n sg-12823fas | aws-cloud9-Dev1-IAD-\nEnter valid security group: sg-1234asdf\nGetting VPC info...\n vpc-5u5u235u | 10.0.0.0/16 | False | Private VPC 1\n vpc-214u4u33 | 172.31.0.0/16 | True | Default VPC\nSelect VPC: vpc-5u5u235u\nGetting subnets from vpc-5u5u235u...\n subnet-123ljias | us-east-1a | Default 1a\n subnet-a2939jis | us-east-1d | Default 1d\n subnet-er395948 | us-east-1f | Default 1f\n subnet-1243jjsa | us-east-1b | Default 1b\n subnet-jasdfj23 | us-east-1e | Default 1e\n subnet-asdfeirj | us-east-1c | Default 1c\nSelect subnet: subnet-123ljias\nDone building cfnctl config file.\n```\n\n### Fill in parameter values by editing the cfnctl configuration file\n\nEdit the configuration file as needed, if you see \"\", those values can not be null for successful stack luanch.\n\n```\n[AWS-Config]\nTemplateUrl = https://s3-us-west-1.amazonaws.com/user-stacks/stack1.json\n\n[Paramters]\nASG01ClusterSize = 2\nASG01InstanceType = c4.8xlarge\nASG01MaxClusterSize = 2\nASG01MinClusterSize = 0\nAdditionalBucketName =\nCreateElasticIP = True\nEC2KeyName = Joeuser_IAD\nEfsId =\nOperatingSystem = alinux\nSSHBucketName = jouser-keys\nSSHClusterKeyPriv = id_rsa\nSSHClusterKeyPub = id_rsa.pub\nSecurityGroups = sg-1234asdf\nSubnet = subnet-123ljias\nUsePublicIp = True\nVPCId = vpc-5u5u235u\n```\n\n\n### Launch the stack\n\n```\n$ cfnctl -s st1 -r us-east-1 -c stack1.json.cf\nUsing config file: /Users/jouser/.cfnctlconfig/stack1.json.cf\ncluster-test2 : CREATE_IN_PROGRESS\nRootRole : CREATE_IN_PROGRESS\nPlacementGroup : CREATE_IN_PROGRESS\nEIPAddress : CREATE_COMPLETE\nRootRole : CREATE_COMPLETE\nRootInstanceProfile : CREATE_IN_PROGRESS\nRootInstanceProfile : CREATE_COMPLETE\nASG01LaunchConfiguration : CREATE_IN_PROGRESS\nASG01LaunchConfiguration : CREATE_COMPLETE\nAutoScalingGroup01 : CREATE_IN_PROGRESS\nAutoScalingGroup01 : CREATE_IN_PROGRESS\nAutoScalingGroup01 : CREATE_COMPLETE\nst1 : CREATE_COMPLETE\n```\n\n### Check stack status and outputs\n\nAfter the creation is finished, the parameters and outputs are printed out:\n\n```\n[Parameters]\nOperatingSystem = alinux\nSSHClusterKeyPriv = id_rsa\nASG01InstanceType = c4.8xlarge\nSSHClusterKeyPub = id_rsa.pub\nSecurityGroups = sg-1234asdf\nASG01ClusterSize = 2\nVPCId = vpc-5u5u235u\nCreateElasticIP = True\nASG01MaxClusterSize = 2\nAdditionalBucketName =\nEfsId =\nSSHBucketName = jouser-keys\nASG01MinClusterSize = 0\nUsePublicIp = True\nEC2KeyName = Jouser_IAD\nSubnet = subnet-123ljias\n\n[Outputs]\nElasticIP = 109.234.22.45\n\n```\n\n\n## AWS Key setup\n\n\n## Listing active stacks", "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/awslabs/aws-cfn-control", "keywords": "aws cfn control cloudformation stack", "license": "Apache License 2.0", "maintainer": "", "maintainer_email": "", "name": "aws-cfn-control", "package_url": "https://pypi.org/project/aws-cfn-control/", "platform": "", "project_url": "https://pypi.org/project/aws-cfn-control/", "project_urls": { "Homepage": "https://github.com/awslabs/aws-cfn-control" }, "release_url": "https://pypi.org/project/aws-cfn-control/0.0.18/", "requires_dist": null, "requires_python": "", "summary": "Command line launch and management tool for AWS CloudFormation", "version": "0.0.18" }, "last_serial": 4872958, "releases": { "0.0.14": [ { "comment_text": "", "digests": { "md5": "2e7206dd5a90d2fd624ebac021ff285a", "sha256": "d953e7a319a6bf3031ff12a3ec955bcd3e5bcdf9cf22a4100b36918ebf8e22d0" }, "downloads": -1, "filename": "aws-cfn-control-0.0.14.tar.gz", "has_sig": false, "md5_digest": "2e7206dd5a90d2fd624ebac021ff285a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22853, "upload_time": "2018-09-15T00:34:08", "url": "https://files.pythonhosted.org/packages/89/e4/f7fbf930978bb52259542630b40aeb1f509dbd5e33aa59e5b7d68b352c4d/aws-cfn-control-0.0.14.tar.gz" } ], "0.0.15": [ { "comment_text": "", "digests": { "md5": "d7113fc7b879a7305f5453e124bc3aac", "sha256": "a11c0c25fbed632b303b543691932a7b38bf200eff739426ace5761ef6c6038e" }, "downloads": -1, "filename": "aws-cfn-control-0.0.15.tar.gz", "has_sig": false, "md5_digest": "d7113fc7b879a7305f5453e124bc3aac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22879, "upload_time": "2018-10-31T04:48:04", "url": "https://files.pythonhosted.org/packages/a6/37/652014ad8f7b78ab1ceea4bd609d1a5daa907506e117ff3d98791e8b062f/aws-cfn-control-0.0.15.tar.gz" } ], "0.0.16": [ { "comment_text": "", "digests": { "md5": "5e7281bfbec210122ed5b11a1091e8a6", "sha256": "70fc99e1764877b5190e1a2feb2cbceac3809d5db951b502618b50ba994f8ad8" }, "downloads": -1, "filename": "aws-cfn-control-0.0.16.tar.gz", "has_sig": false, "md5_digest": "5e7281bfbec210122ed5b11a1091e8a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22893, "upload_time": "2018-10-31T05:14:52", "url": "https://files.pythonhosted.org/packages/2f/01/bb05b08aec8520937a2c196124b765c2ea5493aa0b20810c0785799ab2cb/aws-cfn-control-0.0.16.tar.gz" } ], "0.0.17": [ { "comment_text": "", "digests": { "md5": "c360b3341c348f222831d6e02d4c34ca", "sha256": "51fb47e8ab11f673970656fa2d6be27d2ede063cb06f45f2866f609d53011694" }, "downloads": -1, "filename": "aws-cfn-control-0.0.17.tar.gz", "has_sig": false, "md5_digest": "c360b3341c348f222831d6e02d4c34ca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22931, "upload_time": "2019-02-27T07:06:34", "url": "https://files.pythonhosted.org/packages/69/41/9bfaf6890cd5060cd7d80f3ee007a163957fad3deb03911adde21954b807/aws-cfn-control-0.0.17.tar.gz" } ], "0.0.18": [ { "comment_text": "", "digests": { "md5": "3867e005d73d682bb12a94100185b13e", "sha256": "10f1793fbf9bb18ab51d88b946a622b1bc4e7567b632fc1e6dc541d64bb8e75b" }, "downloads": -1, "filename": "aws-cfn-control-0.0.18.tar.gz", "has_sig": false, "md5_digest": "3867e005d73d682bb12a94100185b13e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22956, "upload_time": "2019-02-27T07:35:36", "url": "https://files.pythonhosted.org/packages/42/8c/11b0293b065dbb16505434b27a81adadc714a412e78ce404ff8b92d0aae7/aws-cfn-control-0.0.18.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3867e005d73d682bb12a94100185b13e", "sha256": "10f1793fbf9bb18ab51d88b946a622b1bc4e7567b632fc1e6dc541d64bb8e75b" }, "downloads": -1, "filename": "aws-cfn-control-0.0.18.tar.gz", "has_sig": false, "md5_digest": "3867e005d73d682bb12a94100185b13e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22956, "upload_time": "2019-02-27T07:35:36", "url": "https://files.pythonhosted.org/packages/42/8c/11b0293b065dbb16505434b27a81adadc714a412e78ce404ff8b92d0aae7/aws-cfn-control-0.0.18.tar.gz" } ] }