JSON Composer
Project description
jose5
JSON Composer
The fifth José in Aplazame
Example
The following file, dev.json
...
{ "__extends": "./base.json", "__variables": { "ENVIRONMENT": "dev", "tfstate": { "with": { "stuff": 42 } } }, "environment": [ { "name": "LOG_LEVEL", "value": "DEBUG" }, { "name": "EXTRA_DEVELOPMENT_PARAM", "value": 20 }, { "name": "TFSTATE_STUFF", "value": "${tfstate.with.stuff}" } ], "secrets": [ { "name": "SECRET_KEY", "valueFrom": "${PARAM_BASE_PATH}/SECRET_KEY" } ], "mergemap": { "b": "dev", "c": "dev" }, "list": "${LIST_TEST}", "map": "${LIST_MAP}" }
... with base.json
{ "__variables": { "PARAM_BASE_PATH": "/app/${ENVIRONMENT}", "LIST_TEST": [ 1, 2, 3 ], "LIST_MAP": { "a": 44 } }, "environment": [ { "name": "ENVIRONMENT", "value": "${ENVIRONMENT}" }, { "name": "LOG_LEVEL", "value": "INFO" } ], "mergemap": { "a": "base", "b": "base" } }
... produces this result
{ "environment": [ { "name": "ENVIRONMENT", "value": "dev" }, { "name": "LOG_LEVEL", "value": "DEBUG" }, { "name": "EXTRA_DEVELOPMENT_PARAM", "value": 20 }, { "name": "TFSTATE_STUFF", "value": 42 } ], "mergemap": { "a": "base", "b": "dev", "c": "dev" }, "secrets": [ { "name": "SECRET_KEY", "valueFrom": "/app/dev/SECRET_KEY" } ], "list": [ 1, 2, 3 ], "map": { "a": 44 } }
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
jose5-0.4.0.tar.gz
(3.5 kB
view hashes)
Built Distribution
jose5-0.4.0-py3-none-any.whl
(3.9 kB
view hashes)