diff options
Diffstat (limited to 'python-pyvss.spec')
| -rw-r--r-- | python-pyvss.spec | 312 |
1 files changed, 312 insertions, 0 deletions
diff --git a/python-pyvss.spec b/python-pyvss.spec new file mode 100644 index 0000000..4c8e573 --- /dev/null +++ b/python-pyvss.spec @@ -0,0 +1,312 @@ +%global _empty_manifest_terminate_build 0 +Name: python-pyvss +Version: 2023.2.1 +Release: 1 +Summary: ITS Private Cloud Python Client +License: MIT +URL: https://gitlab-ee.eis.utoronto.ca/vss/py-vss +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/7c/63/fb601001f76d420d4b166d7670625654aaa49e2ca011da84cbea04068bd9/pyvss-2023.2.1.tar.gz +BuildArch: noarch + +Requires: python3-requests +Requires: python3-pyjwt +Requires: python3-flake8 +Requires: python3-nose +Requires: python3-coverage +Requires: python3-pytz +Requires: python3-wheel +Requires: python3-sphinx-rtd-theme +Requires: python3-Sphinx +Requires: python3-bump2version +Requires: python3-minio +Requires: python3-minio +Requires: python3-flake8 +Requires: python3-nose +Requires: python3-coverage +Requires: python3-pytz +Requires: python3-wheel +Requires: python3-minio + +%description +Create an instance of ``VssManager`` passing your **ITS Private Cloud API access token** +and your are all set to start calling any of the self-descriptive methods included: +```python +from pyvss.manager import VssManager +vss = VssManager(tk='api_token') +# list vms +vms = vss.get_vms() +# list folders +folders = vss.get_folders() +# networks +networks = vss.get_networks() +# domains +domains = vss.get_domains() +# power cycle vm +vss.power_cycle_vm(uuid='<uuid>') +# create vm +req = vss.create_vm(os='ubuntu64Guest', built='os_install', + description='Testing python wrapper', + folder='group-v6736', bill_dept='EIS', disks=[100, 100]) +uuid = vss.wait_for_request(req['_links']['request'], 'vm_uuid', 'Processed') +# creating multiple vms +reqs = vss.create_vms(count=3, name='python', os='ubuntu64Guest', bill_dept='EIS', + description='Testing multiple deployment from python wrapper', + folder='group-v6736', built='os_install') +uuids = [vss.wait_for_request(r['_links']['request'], 'vm_uuid', 'Processed') for r in reqs] +# power on recently created vms +for uuid in uuids: + vss.power_on_vm(uuid) +# create snapshot +req = vss.create_vm_snapshot(uuid='5012abcb-a9f3-e112-c1ea-de2fa9dab90a', + desc='Snapshot description', + date_time='2016-08-04 15:30', + valid=1) +snap_id = vss.wait_for_request(req['_links']['request'], 'snap_id', 'Processed') +# revert to snapshot +req = vss.revert_vm_snapshot(uuid, snap_id) +``` +An alternative is to generate a token from within the ``VssManager`` class and this can be done +by setting the following environment variables +```bash +export VSS_API_USER='username' +export VSS_API_USER_PASS='username_password' +``` +Then, from the ``VssManager`` call the ``get_token`` method as follows: +```python +from pyvss.manager import VssManager +vss = VssManager() +vss.get_token() +``` +## Getting Help +We use GitLab issues for tracking bugs, enhancements and feature requests. +If it turns out that you may have found a bug, please [open a new issue][open a new issue]. +## Versioning +The client versions has been recently moved to [Calendar Versioning](https://calver.org/). +Versions available in the [tags section](https://gitlab-ee.eis.utoronto.ca/vss/py-vss/tags) or +[PyPI](https://pypi.org/project/pyvss/#history). +## Contributing +Refer to the [Contributing Guide](CONTRIBUTING.md) for details on our code of conduct and the process of +submitting code to the repository. +[docs]: https://eis.utoronto.ca/~vss/pyvss/ +[download the tarball]: https://pypi.python.org/pypi/pyvss +[Click]: http://click.pocoo.org/6/ +[Python Releases for Windows]: https://www.python.org/downloads/windows/ +[pip]: http://www.pip-installer.org/en/latest/ +[open a new issue]: https://gitlab-ee.eis.utoronto.ca/vss/py-vss/issues/new> +[Alpine Linux]: https://hub.docker.com/_/alpine/ +[PyVSS]: https://pypi.python.org/pypi/pyvss +[build-img]: https://gitlab-ee.eis.utoronto.ca/vss/py-vss/badges/master/pipeline.svg +[coverage-img]: https://gitlab-ee.eis.utoronto.ca/vss/py-vss/badges/master/coverage.svg +[pypi-img]: https://img.shields.io/pypi/v/pyvss.svg +[pyver-img]: https://img.shields.io/pypi/pyversions/pyvss.svg +[docker-pulls-img]: https://img.shields.io/docker/pulls/uofteis/pyvss.svg +[docker-image]: https://hub.docker.com/r/uofteis/pyvss/ +[Python 3.7 for Mac]: https://www.python.org/downloads/mac-osx/ +[Python 3.5 for Linux]: https://www.python.org/downloads/source/ + +%package -n python3-pyvss +Summary: ITS Private Cloud Python Client +Provides: python-pyvss +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-pyvss +Create an instance of ``VssManager`` passing your **ITS Private Cloud API access token** +and your are all set to start calling any of the self-descriptive methods included: +```python +from pyvss.manager import VssManager +vss = VssManager(tk='api_token') +# list vms +vms = vss.get_vms() +# list folders +folders = vss.get_folders() +# networks +networks = vss.get_networks() +# domains +domains = vss.get_domains() +# power cycle vm +vss.power_cycle_vm(uuid='<uuid>') +# create vm +req = vss.create_vm(os='ubuntu64Guest', built='os_install', + description='Testing python wrapper', + folder='group-v6736', bill_dept='EIS', disks=[100, 100]) +uuid = vss.wait_for_request(req['_links']['request'], 'vm_uuid', 'Processed') +# creating multiple vms +reqs = vss.create_vms(count=3, name='python', os='ubuntu64Guest', bill_dept='EIS', + description='Testing multiple deployment from python wrapper', + folder='group-v6736', built='os_install') +uuids = [vss.wait_for_request(r['_links']['request'], 'vm_uuid', 'Processed') for r in reqs] +# power on recently created vms +for uuid in uuids: + vss.power_on_vm(uuid) +# create snapshot +req = vss.create_vm_snapshot(uuid='5012abcb-a9f3-e112-c1ea-de2fa9dab90a', + desc='Snapshot description', + date_time='2016-08-04 15:30', + valid=1) +snap_id = vss.wait_for_request(req['_links']['request'], 'snap_id', 'Processed') +# revert to snapshot +req = vss.revert_vm_snapshot(uuid, snap_id) +``` +An alternative is to generate a token from within the ``VssManager`` class and this can be done +by setting the following environment variables +```bash +export VSS_API_USER='username' +export VSS_API_USER_PASS='username_password' +``` +Then, from the ``VssManager`` call the ``get_token`` method as follows: +```python +from pyvss.manager import VssManager +vss = VssManager() +vss.get_token() +``` +## Getting Help +We use GitLab issues for tracking bugs, enhancements and feature requests. +If it turns out that you may have found a bug, please [open a new issue][open a new issue]. +## Versioning +The client versions has been recently moved to [Calendar Versioning](https://calver.org/). +Versions available in the [tags section](https://gitlab-ee.eis.utoronto.ca/vss/py-vss/tags) or +[PyPI](https://pypi.org/project/pyvss/#history). +## Contributing +Refer to the [Contributing Guide](CONTRIBUTING.md) for details on our code of conduct and the process of +submitting code to the repository. +[docs]: https://eis.utoronto.ca/~vss/pyvss/ +[download the tarball]: https://pypi.python.org/pypi/pyvss +[Click]: http://click.pocoo.org/6/ +[Python Releases for Windows]: https://www.python.org/downloads/windows/ +[pip]: http://www.pip-installer.org/en/latest/ +[open a new issue]: https://gitlab-ee.eis.utoronto.ca/vss/py-vss/issues/new> +[Alpine Linux]: https://hub.docker.com/_/alpine/ +[PyVSS]: https://pypi.python.org/pypi/pyvss +[build-img]: https://gitlab-ee.eis.utoronto.ca/vss/py-vss/badges/master/pipeline.svg +[coverage-img]: https://gitlab-ee.eis.utoronto.ca/vss/py-vss/badges/master/coverage.svg +[pypi-img]: https://img.shields.io/pypi/v/pyvss.svg +[pyver-img]: https://img.shields.io/pypi/pyversions/pyvss.svg +[docker-pulls-img]: https://img.shields.io/docker/pulls/uofteis/pyvss.svg +[docker-image]: https://hub.docker.com/r/uofteis/pyvss/ +[Python 3.7 for Mac]: https://www.python.org/downloads/mac-osx/ +[Python 3.5 for Linux]: https://www.python.org/downloads/source/ + +%package help +Summary: Development documents and examples for pyvss +Provides: python3-pyvss-doc +%description help +Create an instance of ``VssManager`` passing your **ITS Private Cloud API access token** +and your are all set to start calling any of the self-descriptive methods included: +```python +from pyvss.manager import VssManager +vss = VssManager(tk='api_token') +# list vms +vms = vss.get_vms() +# list folders +folders = vss.get_folders() +# networks +networks = vss.get_networks() +# domains +domains = vss.get_domains() +# power cycle vm +vss.power_cycle_vm(uuid='<uuid>') +# create vm +req = vss.create_vm(os='ubuntu64Guest', built='os_install', + description='Testing python wrapper', + folder='group-v6736', bill_dept='EIS', disks=[100, 100]) +uuid = vss.wait_for_request(req['_links']['request'], 'vm_uuid', 'Processed') +# creating multiple vms +reqs = vss.create_vms(count=3, name='python', os='ubuntu64Guest', bill_dept='EIS', + description='Testing multiple deployment from python wrapper', + folder='group-v6736', built='os_install') +uuids = [vss.wait_for_request(r['_links']['request'], 'vm_uuid', 'Processed') for r in reqs] +# power on recently created vms +for uuid in uuids: + vss.power_on_vm(uuid) +# create snapshot +req = vss.create_vm_snapshot(uuid='5012abcb-a9f3-e112-c1ea-de2fa9dab90a', + desc='Snapshot description', + date_time='2016-08-04 15:30', + valid=1) +snap_id = vss.wait_for_request(req['_links']['request'], 'snap_id', 'Processed') +# revert to snapshot +req = vss.revert_vm_snapshot(uuid, snap_id) +``` +An alternative is to generate a token from within the ``VssManager`` class and this can be done +by setting the following environment variables +```bash +export VSS_API_USER='username' +export VSS_API_USER_PASS='username_password' +``` +Then, from the ``VssManager`` call the ``get_token`` method as follows: +```python +from pyvss.manager import VssManager +vss = VssManager() +vss.get_token() +``` +## Getting Help +We use GitLab issues for tracking bugs, enhancements and feature requests. +If it turns out that you may have found a bug, please [open a new issue][open a new issue]. +## Versioning +The client versions has been recently moved to [Calendar Versioning](https://calver.org/). +Versions available in the [tags section](https://gitlab-ee.eis.utoronto.ca/vss/py-vss/tags) or +[PyPI](https://pypi.org/project/pyvss/#history). +## Contributing +Refer to the [Contributing Guide](CONTRIBUTING.md) for details on our code of conduct and the process of +submitting code to the repository. +[docs]: https://eis.utoronto.ca/~vss/pyvss/ +[download the tarball]: https://pypi.python.org/pypi/pyvss +[Click]: http://click.pocoo.org/6/ +[Python Releases for Windows]: https://www.python.org/downloads/windows/ +[pip]: http://www.pip-installer.org/en/latest/ +[open a new issue]: https://gitlab-ee.eis.utoronto.ca/vss/py-vss/issues/new> +[Alpine Linux]: https://hub.docker.com/_/alpine/ +[PyVSS]: https://pypi.python.org/pypi/pyvss +[build-img]: https://gitlab-ee.eis.utoronto.ca/vss/py-vss/badges/master/pipeline.svg +[coverage-img]: https://gitlab-ee.eis.utoronto.ca/vss/py-vss/badges/master/coverage.svg +[pypi-img]: https://img.shields.io/pypi/v/pyvss.svg +[pyver-img]: https://img.shields.io/pypi/pyversions/pyvss.svg +[docker-pulls-img]: https://img.shields.io/docker/pulls/uofteis/pyvss.svg +[docker-image]: https://hub.docker.com/r/uofteis/pyvss/ +[Python 3.7 for Mac]: https://www.python.org/downloads/mac-osx/ +[Python 3.5 for Linux]: https://www.python.org/downloads/source/ + +%prep +%autosetup -n pyvss-2023.2.1 + +%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-pyvss -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 2023.2.1-1 +- Package Spec generated |
