diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-04-10 10:19:05 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-04-10 10:19:05 +0000 |
| commit | 4a3638822375e78388a472900f23e8c49d02b053 (patch) | |
| tree | 94c1e20efbeb08ac736103a7218a098d7cd5c12d /python-cfn-flip.spec | |
| parent | e1d805ca0f570876204ead4942e061dc05f8b0b5 (diff) | |
automatic import of python-cfn-flip
Diffstat (limited to 'python-cfn-flip.spec')
| -rw-r--r-- | python-cfn-flip.spec | 555 |
1 files changed, 555 insertions, 0 deletions
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 |
