summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-cfn-flip.spec555
-rw-r--r--sources1
3 files changed, 557 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..1166bdd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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
+[![Build Status](https://www.travis-ci.org/awslabs/aws-cfn-template-flip.svg?branch=master)](https://www.travis-ci.org/awslabs/aws-cfn-template-flip)
+[![PyPI version](https://badge.fury.io/py/cfn-flip.svg)](https://badge.fury.io/py/cfn-flip)
+[![Codecov Test Coverage](https://codecov.io/gh/awslabs/aws-cfn-template-flip/branch/master/graphs/badge.svg?style=flat)](https://codecov.io/gh/awslabs/aws-cfn-template-flip)
+[![Snap Status](https://build.snapcraft.io/badge/awslabs/aws-cfn-template-flip.svg)](https://build.snapcraft.io/user/awslabs/aws-cfn-template-flip)
+
+[![Get it from the Snap Store](https://snapcraft.io/static/images/badges/en/snap-store-white.svg)](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
+[![Build Status](https://www.travis-ci.org/awslabs/aws-cfn-template-flip.svg?branch=master)](https://www.travis-ci.org/awslabs/aws-cfn-template-flip)
+[![PyPI version](https://badge.fury.io/py/cfn-flip.svg)](https://badge.fury.io/py/cfn-flip)
+[![Codecov Test Coverage](https://codecov.io/gh/awslabs/aws-cfn-template-flip/branch/master/graphs/badge.svg?style=flat)](https://codecov.io/gh/awslabs/aws-cfn-template-flip)
+[![Snap Status](https://build.snapcraft.io/badge/awslabs/aws-cfn-template-flip.svg)](https://build.snapcraft.io/user/awslabs/aws-cfn-template-flip)
+
+[![Get it from the Snap Store](https://snapcraft.io/static/images/badges/en/snap-store-white.svg)](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
+[![Build Status](https://www.travis-ci.org/awslabs/aws-cfn-template-flip.svg?branch=master)](https://www.travis-ci.org/awslabs/aws-cfn-template-flip)
+[![PyPI version](https://badge.fury.io/py/cfn-flip.svg)](https://badge.fury.io/py/cfn-flip)
+[![Codecov Test Coverage](https://codecov.io/gh/awslabs/aws-cfn-template-flip/branch/master/graphs/badge.svg?style=flat)](https://codecov.io/gh/awslabs/aws-cfn-template-flip)
+[![Snap Status](https://build.snapcraft.io/badge/awslabs/aws-cfn-template-flip.svg)](https://build.snapcraft.io/user/awslabs/aws-cfn-template-flip)
+
+[![Get it from the Snap Store](https://snapcraft.io/static/images/badges/en/snap-store-white.svg)](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
diff --git a/sources b/sources
new file mode 100644
index 0000000..b2bc718
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+d01c5f2f76cde0b98073ab81c6517be5 cfn_flip-1.3.0.tar.gz