diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-05 07:45:43 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-05 07:45:43 +0000 |
commit | b240c57efac7c1ecaa362e92dfbddb3fc54d5e29 (patch) | |
tree | e26bf92b18d9bf3d4d3c74a3f0147f541f685b1a | |
parent | 0019b9ab7c39e523b030a476952d1a5138c894e0 (diff) |
automatic import of python-cfn-resourceopeneuler20.03
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-cfn-resource.spec | 321 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 323 insertions, 0 deletions
@@ -0,0 +1 @@ +/cfn_resource-0.2.3.tar.gz diff --git a/python-cfn-resource.spec b/python-cfn-resource.spec new file mode 100644 index 0000000..9796c88 --- /dev/null +++ b/python-cfn-resource.spec @@ -0,0 +1,321 @@ +%global _empty_manifest_terminate_build 0 +Name: python-cfn_resource +Version: 0.2.3 +Release: 1 +Summary: Wrapper decorators for building CloudFormation custom resources +License: MIT +URL: https://github.com/ryansb/cfn-wrapper-python +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/f0/98/313292b9764a98824e613367bd5b7e061c93c77985d277ee324823b8c43a/cfn_resource-0.2.3.tar.gz +BuildArch: noarch + + +%description +## cfn_resource.py + +This project is a decorator and validation system that takes the drudgery out +of writing custom resources. You still have access to the context and event as +normal, but the decorator handles serializing your response and communicating +results to CloudFormation. + +See [cfn-lambda](https://github.com/andrew-templeton/cfn-lambda) from Andrew +Templeton if you're looking to write your custom resources in Node.js. + +## Usage + +1. Copy `cfn_resource.py` into the directory of your lambda function handler.py +1. Use the `cfn_resource.Resource` event decorators to decorate your handler + like in `example.py` +1. Zip up the contents and upload to Lambda + +Once the function is up, copy its ARN and use it as the ServiceToken for your +[custom resource][rsrc]. For more on the requests you may receive, see +[this document][reqdocs] + +```json +{ + "AWSTemplateFormatVersion": "2010-09-09", + "Resources": { + "FakeThing": { + "Type": "Custom::MyResource", + "Properties": { + "ServiceToken": "arn:aws:lambda:SOME-REGION:ACCOUNT:function:FunctionName", + "OtherThing": "foobar", + "AnotherThing": 2 + } + } + } +} +``` + +For more on how custom resources work, see the [AWS docs][docs] + +## Code Sample + +For this example, you need to have your handler in Lambda set as +`filename.handler` where filename has the below contents. + +``` +import cfn_resource + +# set `handler` as the entry point for Lambda +handler = cfn_resource.Resource() + +@handler.create +def create_thing(event, context): + # do some stuff + return {"PhysicalResourceId": "arn:aws:fake:myID"} + +@handler.update +def update_thing(event, context): + # do some stuff + return {"PhysicalResourceId": "arn:aws:fake:myID"} +``` + +## Running Tests + +To run the tests locally, you need Python 2.7 and `pip`. Ideally, you should +use a virtualenv. + +``` +$ pip install -r test-requirements.txt +$ py.test +``` + +The tests use `mock` and `py.test` and will give you a terminal coverage +report. Currently the tests cover ~90% of the (very small) codebase. + +## License + +This code is released under the MIT software license, see LICENSE.txt for +details. No warranty of any kind is included, and the copyright notice must be +included in redistributions. + +[rsrc]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cfn-customresource.html +[docs]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources.html +[reqdocs]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/crpg-ref-requests.html + + +%package -n python3-cfn_resource +Summary: Wrapper decorators for building CloudFormation custom resources +Provides: python-cfn_resource +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-cfn_resource +## cfn_resource.py + +This project is a decorator and validation system that takes the drudgery out +of writing custom resources. You still have access to the context and event as +normal, but the decorator handles serializing your response and communicating +results to CloudFormation. + +See [cfn-lambda](https://github.com/andrew-templeton/cfn-lambda) from Andrew +Templeton if you're looking to write your custom resources in Node.js. + +## Usage + +1. Copy `cfn_resource.py` into the directory of your lambda function handler.py +1. Use the `cfn_resource.Resource` event decorators to decorate your handler + like in `example.py` +1. Zip up the contents and upload to Lambda + +Once the function is up, copy its ARN and use it as the ServiceToken for your +[custom resource][rsrc]. For more on the requests you may receive, see +[this document][reqdocs] + +```json +{ + "AWSTemplateFormatVersion": "2010-09-09", + "Resources": { + "FakeThing": { + "Type": "Custom::MyResource", + "Properties": { + "ServiceToken": "arn:aws:lambda:SOME-REGION:ACCOUNT:function:FunctionName", + "OtherThing": "foobar", + "AnotherThing": 2 + } + } + } +} +``` + +For more on how custom resources work, see the [AWS docs][docs] + +## Code Sample + +For this example, you need to have your handler in Lambda set as +`filename.handler` where filename has the below contents. + +``` +import cfn_resource + +# set `handler` as the entry point for Lambda +handler = cfn_resource.Resource() + +@handler.create +def create_thing(event, context): + # do some stuff + return {"PhysicalResourceId": "arn:aws:fake:myID"} + +@handler.update +def update_thing(event, context): + # do some stuff + return {"PhysicalResourceId": "arn:aws:fake:myID"} +``` + +## Running Tests + +To run the tests locally, you need Python 2.7 and `pip`. Ideally, you should +use a virtualenv. + +``` +$ pip install -r test-requirements.txt +$ py.test +``` + +The tests use `mock` and `py.test` and will give you a terminal coverage +report. Currently the tests cover ~90% of the (very small) codebase. + +## License + +This code is released under the MIT software license, see LICENSE.txt for +details. No warranty of any kind is included, and the copyright notice must be +included in redistributions. + +[rsrc]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cfn-customresource.html +[docs]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources.html +[reqdocs]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/crpg-ref-requests.html + + +%package help +Summary: Development documents and examples for cfn_resource +Provides: python3-cfn_resource-doc +%description help +## cfn_resource.py + +This project is a decorator and validation system that takes the drudgery out +of writing custom resources. You still have access to the context and event as +normal, but the decorator handles serializing your response and communicating +results to CloudFormation. + +See [cfn-lambda](https://github.com/andrew-templeton/cfn-lambda) from Andrew +Templeton if you're looking to write your custom resources in Node.js. + +## Usage + +1. Copy `cfn_resource.py` into the directory of your lambda function handler.py +1. Use the `cfn_resource.Resource` event decorators to decorate your handler + like in `example.py` +1. Zip up the contents and upload to Lambda + +Once the function is up, copy its ARN and use it as the ServiceToken for your +[custom resource][rsrc]. For more on the requests you may receive, see +[this document][reqdocs] + +```json +{ + "AWSTemplateFormatVersion": "2010-09-09", + "Resources": { + "FakeThing": { + "Type": "Custom::MyResource", + "Properties": { + "ServiceToken": "arn:aws:lambda:SOME-REGION:ACCOUNT:function:FunctionName", + "OtherThing": "foobar", + "AnotherThing": 2 + } + } + } +} +``` + +For more on how custom resources work, see the [AWS docs][docs] + +## Code Sample + +For this example, you need to have your handler in Lambda set as +`filename.handler` where filename has the below contents. + +``` +import cfn_resource + +# set `handler` as the entry point for Lambda +handler = cfn_resource.Resource() + +@handler.create +def create_thing(event, context): + # do some stuff + return {"PhysicalResourceId": "arn:aws:fake:myID"} + +@handler.update +def update_thing(event, context): + # do some stuff + return {"PhysicalResourceId": "arn:aws:fake:myID"} +``` + +## Running Tests + +To run the tests locally, you need Python 2.7 and `pip`. Ideally, you should +use a virtualenv. + +``` +$ pip install -r test-requirements.txt +$ py.test +``` + +The tests use `mock` and `py.test` and will give you a terminal coverage +report. Currently the tests cover ~90% of the (very small) codebase. + +## License + +This code is released under the MIT software license, see LICENSE.txt for +details. No warranty of any kind is included, and the copyright notice must be +included in redistributions. + +[rsrc]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cfn-customresource.html +[docs]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources.html +[reqdocs]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/crpg-ref-requests.html + + +%prep +%autosetup -n cfn_resource-0.2.3 + +%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_resource -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 0.2.3-1 +- Package Spec generated @@ -0,0 +1 @@ +0b9ecd61cb7592ce22658ce58c05300c cfn_resource-0.2.3.tar.gz |