diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-cfn-flip.spec | 555 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 557 insertions, 0 deletions
@@ -0,0 +1 @@ +/cfn_flip-1.3.0.tar.gz diff --git a/python-cfn-flip.spec b/python-cfn-flip.spec new file mode 100644 index 0000000..82bac7a --- /dev/null +++ b/python-cfn-flip.spec @@ -0,0 +1,555 @@ +%global _empty_manifest_terminate_build 0 +Name: python-cfn-flip +Version: 1.3.0 +Release: 1 +Summary: Convert AWS CloudFormation templates between JSON and YAML formats +License: Apache2 +URL: https://github.com/awslabs/aws-cfn-template-flip +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/ca/75/8eba0bb52a6c58e347bc4c839b249d9f42380de93ed12a14eba4355387b4/cfn_flip-1.3.0.tar.gz +BuildArch: noarch + +Requires: python3-Click +Requires: python3-PyYAML +Requires: python3-six + +%description +[](https://www.travis-ci.org/awslabs/aws-cfn-template-flip) +[](https://badge.fury.io/py/cfn-flip) +[](https://codecov.io/gh/awslabs/aws-cfn-template-flip) +[](https://build.snapcraft.io/user/awslabs/aws-cfn-template-flip) + +[](https://snapcraft.io/cfn-flip) + +# AWS CloudFormation Template Flip + +## About + +AWS CloudFormation Template Flip is a tool that converts [AWS CloudFormation](https://aws.amazon.com/cloudformation/) templates between [JSON](http://json.org/) and [YAML](http://yaml.org) formats, making use of the YAML format's short function syntax where possible. + +The term "Flip" is inspired by the well-known Unix command-line tool [flip](https://ccrma.stanford.edu/~craig/utility/flip/) which converts text files between Unix, Mac, and MS-DOS formats. + +## Installation + +AWS CloudFormation Template Flip can be installed using [pip](https://pip.pypa.io/en/stable/): + +```bash +pip install cfn-flip +``` + +## Usage + +AWS CloudFormation Template Flip is both a command line tool and a python library. + +Note that the command line tool is spelled `cfn-flip` with a hyphen, while the python package is `cfn_flip` with an underscore. + +### Command line tool + +``` +Usage: cfn-flip [OPTIONS] [INPUT] [OUTPUT] + + AWS CloudFormation Template Flip is a tool that converts AWS + CloudFormation templates between JSON and YAML formats, making use of the + YAML format's short function syntax where possible." + +Options: + -i, --input [json|yaml] Specify the input format. Overrides -j and -y + flags. + -o, --output [json|yaml] Specify the output format. Overrides -j, -y, and + -n flags. + -j, --json Convert to JSON. Assume the input is YAML. + -y, --yaml Convert to YAML. Assume the input is JSON. + -c, --clean Performs some opinionated cleanup on your + template. + -l, --long Use long-form syntax for functions when converting + to YAML. + -n, --no-flip Perform other operations but do not flip the + output format. + --version Show the version and exit. + --help Show this message and exit. +``` + + +cfn-flip will detect the format of the input template and convert JSON to YAML and YAML to JSON, respectively. + +Examples: + +* Reading from `stdin` and outputting to `stdout`: + + ```bash + cat examples/test.json | cfn-flip + ``` + +* Reading from a file and outputting to `stdout`: + + ```bash + cfn-flip examples/test.yaml + ``` + +* Reading from a file and outputting to another file: + + ```bash + cfn-flip examples/test.json output.yaml + ``` + +* Reading from a file and cleaning up the output + + ```bash + cfn-flip -c examples/test.json + ``` + +### Python package + +To use AWS CloudFormation Template Flip from your own python projects, import one of the functions `flip`, `to_yaml`, or `to_json` as needed. + +```python +from cfn_flip import flip, to_yaml, to_json + +""" +All functions expect a string containing serialised data +and return a string containing serialised data +or raise an exception if there is a problem parsing the input +""" + +# flip takes a best guess at the serialisation format +# and returns the opposite, converting json into yaml and vice versa +some_yaml_or_json = flip(some_json_or_yaml) + +# to_json expects serialised yaml as input, and returns serialised json +some_json = to_json(some_yaml) + +# to_yaml expects serialised json as input, and returns serialised yaml +some_yaml = to_yaml(some_json) + +# The clean_up flag performs some opinionated, CloudFormation-specific sanitation of the input +# For example, converting uses of Fn::Join to Fn::Sub +# flip, to_yaml, and to_json all support the clean_up flag +clean_yaml = to_yaml(some_json, clean_up=True) +``` + +### Configuration paramters + +You can configure some parameters like: + +`max_col_width`: Maximum columns before breakline. Default value is 200 +To change the configuration you can use: + +**Environment Variable** + +Linux/Unix: +`export CFN_MAX_COL_WIDTH=120` + +Windows: `SET CFN_MAX_COL_WIDTH=120` + +**Python** + +```python + +from cfn_tools._config import config +from cfn_flip import flip, to_yaml, to_json + +""" +All functions expect a string containing serialised data +and return a string containing serialised data +or raise an exception if there is a problem parsing the input +""" + +# Change the default number of columns to break line to 120 +config['max_col_width'] = "120" + +# flip takes a best guess at the serialisation format +# and returns the opposite, converting json into yaml and vice versa +some_yaml_or_json = flip(some_json_or_yaml) + +# to_json expects serialised yaml as input, and returns serialised json +some_json = to_json(some_yaml) + +# to_yaml expects serialised json as input, and returns serialised yaml +some_yaml = to_yaml(some_json) + +# The clean_up flag performs some opinionated, CloudFormation-specific sanitation of the input +# For example, converting uses of Fn::Join to Fn::Sub +# flip, to_yaml, and to_json all support the clean_up flag +clean_yaml = to_yaml(some_json, clean_up=True) + +``` + + + +%package -n python3-cfn-flip +Summary: Convert AWS CloudFormation templates between JSON and YAML formats +Provides: python-cfn-flip +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-cfn-flip +[](https://www.travis-ci.org/awslabs/aws-cfn-template-flip) +[](https://badge.fury.io/py/cfn-flip) +[](https://codecov.io/gh/awslabs/aws-cfn-template-flip) +[](https://build.snapcraft.io/user/awslabs/aws-cfn-template-flip) + +[](https://snapcraft.io/cfn-flip) + +# AWS CloudFormation Template Flip + +## About + +AWS CloudFormation Template Flip is a tool that converts [AWS CloudFormation](https://aws.amazon.com/cloudformation/) templates between [JSON](http://json.org/) and [YAML](http://yaml.org) formats, making use of the YAML format's short function syntax where possible. + +The term "Flip" is inspired by the well-known Unix command-line tool [flip](https://ccrma.stanford.edu/~craig/utility/flip/) which converts text files between Unix, Mac, and MS-DOS formats. + +## Installation + +AWS CloudFormation Template Flip can be installed using [pip](https://pip.pypa.io/en/stable/): + +```bash +pip install cfn-flip +``` + +## Usage + +AWS CloudFormation Template Flip is both a command line tool and a python library. + +Note that the command line tool is spelled `cfn-flip` with a hyphen, while the python package is `cfn_flip` with an underscore. + +### Command line tool + +``` +Usage: cfn-flip [OPTIONS] [INPUT] [OUTPUT] + + AWS CloudFormation Template Flip is a tool that converts AWS + CloudFormation templates between JSON and YAML formats, making use of the + YAML format's short function syntax where possible." + +Options: + -i, --input [json|yaml] Specify the input format. Overrides -j and -y + flags. + -o, --output [json|yaml] Specify the output format. Overrides -j, -y, and + -n flags. + -j, --json Convert to JSON. Assume the input is YAML. + -y, --yaml Convert to YAML. Assume the input is JSON. + -c, --clean Performs some opinionated cleanup on your + template. + -l, --long Use long-form syntax for functions when converting + to YAML. + -n, --no-flip Perform other operations but do not flip the + output format. + --version Show the version and exit. + --help Show this message and exit. +``` + + +cfn-flip will detect the format of the input template and convert JSON to YAML and YAML to JSON, respectively. + +Examples: + +* Reading from `stdin` and outputting to `stdout`: + + ```bash + cat examples/test.json | cfn-flip + ``` + +* Reading from a file and outputting to `stdout`: + + ```bash + cfn-flip examples/test.yaml + ``` + +* Reading from a file and outputting to another file: + + ```bash + cfn-flip examples/test.json output.yaml + ``` + +* Reading from a file and cleaning up the output + + ```bash + cfn-flip -c examples/test.json + ``` + +### Python package + +To use AWS CloudFormation Template Flip from your own python projects, import one of the functions `flip`, `to_yaml`, or `to_json` as needed. + +```python +from cfn_flip import flip, to_yaml, to_json + +""" +All functions expect a string containing serialised data +and return a string containing serialised data +or raise an exception if there is a problem parsing the input +""" + +# flip takes a best guess at the serialisation format +# and returns the opposite, converting json into yaml and vice versa +some_yaml_or_json = flip(some_json_or_yaml) + +# to_json expects serialised yaml as input, and returns serialised json +some_json = to_json(some_yaml) + +# to_yaml expects serialised json as input, and returns serialised yaml +some_yaml = to_yaml(some_json) + +# The clean_up flag performs some opinionated, CloudFormation-specific sanitation of the input +# For example, converting uses of Fn::Join to Fn::Sub +# flip, to_yaml, and to_json all support the clean_up flag +clean_yaml = to_yaml(some_json, clean_up=True) +``` + +### Configuration paramters + +You can configure some parameters like: + +`max_col_width`: Maximum columns before breakline. Default value is 200 +To change the configuration you can use: + +**Environment Variable** + +Linux/Unix: +`export CFN_MAX_COL_WIDTH=120` + +Windows: `SET CFN_MAX_COL_WIDTH=120` + +**Python** + +```python + +from cfn_tools._config import config +from cfn_flip import flip, to_yaml, to_json + +""" +All functions expect a string containing serialised data +and return a string containing serialised data +or raise an exception if there is a problem parsing the input +""" + +# Change the default number of columns to break line to 120 +config['max_col_width'] = "120" + +# flip takes a best guess at the serialisation format +# and returns the opposite, converting json into yaml and vice versa +some_yaml_or_json = flip(some_json_or_yaml) + +# to_json expects serialised yaml as input, and returns serialised json +some_json = to_json(some_yaml) + +# to_yaml expects serialised json as input, and returns serialised yaml +some_yaml = to_yaml(some_json) + +# The clean_up flag performs some opinionated, CloudFormation-specific sanitation of the input +# For example, converting uses of Fn::Join to Fn::Sub +# flip, to_yaml, and to_json all support the clean_up flag +clean_yaml = to_yaml(some_json, clean_up=True) + +``` + + + +%package help +Summary: Development documents and examples for cfn-flip +Provides: python3-cfn-flip-doc +%description help +[](https://www.travis-ci.org/awslabs/aws-cfn-template-flip) +[](https://badge.fury.io/py/cfn-flip) +[](https://codecov.io/gh/awslabs/aws-cfn-template-flip) +[](https://build.snapcraft.io/user/awslabs/aws-cfn-template-flip) + +[](https://snapcraft.io/cfn-flip) + +# AWS CloudFormation Template Flip + +## About + +AWS CloudFormation Template Flip is a tool that converts [AWS CloudFormation](https://aws.amazon.com/cloudformation/) templates between [JSON](http://json.org/) and [YAML](http://yaml.org) formats, making use of the YAML format's short function syntax where possible. + +The term "Flip" is inspired by the well-known Unix command-line tool [flip](https://ccrma.stanford.edu/~craig/utility/flip/) which converts text files between Unix, Mac, and MS-DOS formats. + +## Installation + +AWS CloudFormation Template Flip can be installed using [pip](https://pip.pypa.io/en/stable/): + +```bash +pip install cfn-flip +``` + +## Usage + +AWS CloudFormation Template Flip is both a command line tool and a python library. + +Note that the command line tool is spelled `cfn-flip` with a hyphen, while the python package is `cfn_flip` with an underscore. + +### Command line tool + +``` +Usage: cfn-flip [OPTIONS] [INPUT] [OUTPUT] + + AWS CloudFormation Template Flip is a tool that converts AWS + CloudFormation templates between JSON and YAML formats, making use of the + YAML format's short function syntax where possible." + +Options: + -i, --input [json|yaml] Specify the input format. Overrides -j and -y + flags. + -o, --output [json|yaml] Specify the output format. Overrides -j, -y, and + -n flags. + -j, --json Convert to JSON. Assume the input is YAML. + -y, --yaml Convert to YAML. Assume the input is JSON. + -c, --clean Performs some opinionated cleanup on your + template. + -l, --long Use long-form syntax for functions when converting + to YAML. + -n, --no-flip Perform other operations but do not flip the + output format. + --version Show the version and exit. + --help Show this message and exit. +``` + + +cfn-flip will detect the format of the input template and convert JSON to YAML and YAML to JSON, respectively. + +Examples: + +* Reading from `stdin` and outputting to `stdout`: + + ```bash + cat examples/test.json | cfn-flip + ``` + +* Reading from a file and outputting to `stdout`: + + ```bash + cfn-flip examples/test.yaml + ``` + +* Reading from a file and outputting to another file: + + ```bash + cfn-flip examples/test.json output.yaml + ``` + +* Reading from a file and cleaning up the output + + ```bash + cfn-flip -c examples/test.json + ``` + +### Python package + +To use AWS CloudFormation Template Flip from your own python projects, import one of the functions `flip`, `to_yaml`, or `to_json` as needed. + +```python +from cfn_flip import flip, to_yaml, to_json + +""" +All functions expect a string containing serialised data +and return a string containing serialised data +or raise an exception if there is a problem parsing the input +""" + +# flip takes a best guess at the serialisation format +# and returns the opposite, converting json into yaml and vice versa +some_yaml_or_json = flip(some_json_or_yaml) + +# to_json expects serialised yaml as input, and returns serialised json +some_json = to_json(some_yaml) + +# to_yaml expects serialised json as input, and returns serialised yaml +some_yaml = to_yaml(some_json) + +# The clean_up flag performs some opinionated, CloudFormation-specific sanitation of the input +# For example, converting uses of Fn::Join to Fn::Sub +# flip, to_yaml, and to_json all support the clean_up flag +clean_yaml = to_yaml(some_json, clean_up=True) +``` + +### Configuration paramters + +You can configure some parameters like: + +`max_col_width`: Maximum columns before breakline. Default value is 200 +To change the configuration you can use: + +**Environment Variable** + +Linux/Unix: +`export CFN_MAX_COL_WIDTH=120` + +Windows: `SET CFN_MAX_COL_WIDTH=120` + +**Python** + +```python + +from cfn_tools._config import config +from cfn_flip import flip, to_yaml, to_json + +""" +All functions expect a string containing serialised data +and return a string containing serialised data +or raise an exception if there is a problem parsing the input +""" + +# Change the default number of columns to break line to 120 +config['max_col_width'] = "120" + +# flip takes a best guess at the serialisation format +# and returns the opposite, converting json into yaml and vice versa +some_yaml_or_json = flip(some_json_or_yaml) + +# to_json expects serialised yaml as input, and returns serialised json +some_json = to_json(some_yaml) + +# to_yaml expects serialised json as input, and returns serialised yaml +some_yaml = to_yaml(some_json) + +# The clean_up flag performs some opinionated, CloudFormation-specific sanitation of the input +# For example, converting uses of Fn::Join to Fn::Sub +# flip, to_yaml, and to_json all support the clean_up flag +clean_yaml = to_yaml(some_json, clean_up=True) + +``` + + + +%prep +%autosetup -n cfn-flip-1.3.0 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-cfn-flip -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 1.3.0-1 +- Package Spec generated @@ -0,0 +1 @@ +d01c5f2f76cde0b98073ab81c6517be5 cfn_flip-1.3.0.tar.gz |
