├── .gitignore ├── .travis.yml ├── CHANGELOG.md ├── LICENSE ├── README.md ├── examples ├── stack1 │ ├── README.md │ ├── files │ │ ├── images.json │ │ └── userdata.txt │ ├── parameters.yaml │ ├── run.sh │ └── template.yaml ├── stack2 │ ├── README.md │ ├── files │ │ ├── images.json │ │ └── userdata.txt │ ├── parameters.yaml │ ├── run.sh │ └── templates │ │ ├── AutoscalingGroup.yaml │ │ └── SecurityGroup.yaml └── stack3 │ ├── README.md │ ├── files │ ├── images.json │ └── userdata.txt │ ├── parameters │ ├── base.yaml │ ├── database.yaml │ ├── loadbalancer.yaml │ └── web.yaml │ ├── run.sh │ └── templates │ ├── GenericRole.yaml │ └── SecurityGroups │ ├── All.yaml │ ├── Database.yaml │ ├── LoadBalancer.yaml │ └── WebServer.yaml ├── rainbow ├── __init__.py ├── cloudformation.py ├── datasources │ ├── __init__.py │ ├── base.py │ ├── cfn_datasource.py │ ├── datasource_exceptions.py │ ├── file_datasource.py │ └── yaml_datasource.py ├── main.py ├── preprocessor │ ├── __init__.py │ ├── base.py │ ├── instance_chooser.py │ └── preprocessor_exceptions.py ├── templates.py └── yaml_loader.py ├── setup.py └── tests ├── __init__.py ├── cfn_deep_merge ├── a.yaml ├── b.yaml └── c.yaml ├── datasources ├── a.yaml ├── b.yaml ├── c.yaml ├── d.file ├── e.file64 └── nested.yaml ├── preprocessor ├── instance_chooser1.yaml ├── instance_chooser2.yaml ├── instance_chooser3.yaml └── instance_chooser4.yaml ├── templates ├── default_parameters_template.yaml └── simpletemplate.yaml ├── test_cfn_datasource.py ├── test_cfn_deep_merge.py ├── test_cloudformation.py ├── test_datasources.py ├── test_preprocessor.py ├── test_yamlfile.py └── yamlfile ├── base.yaml ├── includeme.file ├── includeme.file64 └── includeme.yaml /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/.travis.yml -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/README.md -------------------------------------------------------------------------------- /examples/stack1/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/examples/stack1/README.md -------------------------------------------------------------------------------- /examples/stack1/files/images.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/examples/stack1/files/images.json -------------------------------------------------------------------------------- /examples/stack1/files/userdata.txt: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | touch /root/rainbow 3 | 4 | -------------------------------------------------------------------------------- /examples/stack1/parameters.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/examples/stack1/parameters.yaml -------------------------------------------------------------------------------- /examples/stack1/run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/examples/stack1/run.sh -------------------------------------------------------------------------------- /examples/stack1/template.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/examples/stack1/template.yaml -------------------------------------------------------------------------------- /examples/stack2/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/examples/stack2/README.md -------------------------------------------------------------------------------- /examples/stack2/files/images.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/examples/stack2/files/images.json -------------------------------------------------------------------------------- /examples/stack2/files/userdata.txt: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | touch /root/rainbow 3 | 4 | -------------------------------------------------------------------------------- /examples/stack2/parameters.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/examples/stack2/parameters.yaml -------------------------------------------------------------------------------- /examples/stack2/run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/examples/stack2/run.sh -------------------------------------------------------------------------------- /examples/stack2/templates/AutoscalingGroup.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/examples/stack2/templates/AutoscalingGroup.yaml -------------------------------------------------------------------------------- /examples/stack2/templates/SecurityGroup.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/examples/stack2/templates/SecurityGroup.yaml -------------------------------------------------------------------------------- /examples/stack3/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/examples/stack3/README.md -------------------------------------------------------------------------------- /examples/stack3/files/images.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/examples/stack3/files/images.json -------------------------------------------------------------------------------- /examples/stack3/files/userdata.txt: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | touch /root/rainbow 3 | 4 | -------------------------------------------------------------------------------- /examples/stack3/parameters/base.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/examples/stack3/parameters/base.yaml -------------------------------------------------------------------------------- /examples/stack3/parameters/database.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/examples/stack3/parameters/database.yaml -------------------------------------------------------------------------------- /examples/stack3/parameters/loadbalancer.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/examples/stack3/parameters/loadbalancer.yaml -------------------------------------------------------------------------------- /examples/stack3/parameters/web.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/examples/stack3/parameters/web.yaml -------------------------------------------------------------------------------- /examples/stack3/run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/examples/stack3/run.sh -------------------------------------------------------------------------------- /examples/stack3/templates/GenericRole.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/examples/stack3/templates/GenericRole.yaml -------------------------------------------------------------------------------- /examples/stack3/templates/SecurityGroups/All.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/examples/stack3/templates/SecurityGroups/All.yaml -------------------------------------------------------------------------------- /examples/stack3/templates/SecurityGroups/Database.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/examples/stack3/templates/SecurityGroups/Database.yaml -------------------------------------------------------------------------------- /examples/stack3/templates/SecurityGroups/LoadBalancer.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/examples/stack3/templates/SecurityGroups/LoadBalancer.yaml -------------------------------------------------------------------------------- /examples/stack3/templates/SecurityGroups/WebServer.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/examples/stack3/templates/SecurityGroups/WebServer.yaml -------------------------------------------------------------------------------- /rainbow/__init__.py: -------------------------------------------------------------------------------- 1 | pass 2 | -------------------------------------------------------------------------------- /rainbow/cloudformation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/rainbow/cloudformation.py -------------------------------------------------------------------------------- /rainbow/datasources/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/rainbow/datasources/__init__.py -------------------------------------------------------------------------------- /rainbow/datasources/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/rainbow/datasources/base.py -------------------------------------------------------------------------------- /rainbow/datasources/cfn_datasource.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/rainbow/datasources/cfn_datasource.py -------------------------------------------------------------------------------- /rainbow/datasources/datasource_exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/rainbow/datasources/datasource_exceptions.py -------------------------------------------------------------------------------- /rainbow/datasources/file_datasource.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/rainbow/datasources/file_datasource.py -------------------------------------------------------------------------------- /rainbow/datasources/yaml_datasource.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/rainbow/datasources/yaml_datasource.py -------------------------------------------------------------------------------- /rainbow/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/rainbow/main.py -------------------------------------------------------------------------------- /rainbow/preprocessor/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/rainbow/preprocessor/__init__.py -------------------------------------------------------------------------------- /rainbow/preprocessor/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/rainbow/preprocessor/base.py -------------------------------------------------------------------------------- /rainbow/preprocessor/instance_chooser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/rainbow/preprocessor/instance_chooser.py -------------------------------------------------------------------------------- /rainbow/preprocessor/preprocessor_exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/rainbow/preprocessor/preprocessor_exceptions.py -------------------------------------------------------------------------------- /rainbow/templates.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/rainbow/templates.py -------------------------------------------------------------------------------- /rainbow/yaml_loader.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/rainbow/yaml_loader.py -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/setup.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/cfn_deep_merge/a.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/tests/cfn_deep_merge/a.yaml -------------------------------------------------------------------------------- /tests/cfn_deep_merge/b.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/tests/cfn_deep_merge/b.yaml -------------------------------------------------------------------------------- /tests/cfn_deep_merge/c.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/tests/cfn_deep_merge/c.yaml -------------------------------------------------------------------------------- /tests/datasources/a.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/tests/datasources/a.yaml -------------------------------------------------------------------------------- /tests/datasources/b.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/tests/datasources/b.yaml -------------------------------------------------------------------------------- /tests/datasources/c.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/tests/datasources/c.yaml -------------------------------------------------------------------------------- /tests/datasources/d.file: -------------------------------------------------------------------------------- 1 | d file contents -------------------------------------------------------------------------------- /tests/datasources/e.file64: -------------------------------------------------------------------------------- 1 | e file contents -------------------------------------------------------------------------------- /tests/datasources/nested.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/tests/datasources/nested.yaml -------------------------------------------------------------------------------- /tests/preprocessor/instance_chooser1.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/tests/preprocessor/instance_chooser1.yaml -------------------------------------------------------------------------------- /tests/preprocessor/instance_chooser2.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/tests/preprocessor/instance_chooser2.yaml -------------------------------------------------------------------------------- /tests/preprocessor/instance_chooser3.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/tests/preprocessor/instance_chooser3.yaml -------------------------------------------------------------------------------- /tests/preprocessor/instance_chooser4.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/tests/preprocessor/instance_chooser4.yaml -------------------------------------------------------------------------------- /tests/templates/default_parameters_template.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/tests/templates/default_parameters_template.yaml -------------------------------------------------------------------------------- /tests/templates/simpletemplate.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/tests/templates/simpletemplate.yaml -------------------------------------------------------------------------------- /tests/test_cfn_datasource.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/tests/test_cfn_datasource.py -------------------------------------------------------------------------------- /tests/test_cfn_deep_merge.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/tests/test_cfn_deep_merge.py -------------------------------------------------------------------------------- /tests/test_cloudformation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/tests/test_cloudformation.py -------------------------------------------------------------------------------- /tests/test_datasources.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/tests/test_datasources.py -------------------------------------------------------------------------------- /tests/test_preprocessor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/tests/test_preprocessor.py -------------------------------------------------------------------------------- /tests/test_yamlfile.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/tests/test_yamlfile.py -------------------------------------------------------------------------------- /tests/yamlfile/base.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/tests/yamlfile/base.yaml -------------------------------------------------------------------------------- /tests/yamlfile/includeme.file: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/tests/yamlfile/includeme.file -------------------------------------------------------------------------------- /tests/yamlfile/includeme.file64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EverythingMe/rainbow/HEAD/tests/yamlfile/includeme.file64 -------------------------------------------------------------------------------- /tests/yamlfile/includeme.yaml: -------------------------------------------------------------------------------- 1 | included_yaml: 2 | key: value --------------------------------------------------------------------------------