diff options
author | CoprDistGit <infra@openeuler.org> | 2023-06-20 07:21:13 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-06-20 07:21:13 +0000 |
commit | 78a8e7ffbc2761b3c490f21ff4d422d6d7628d38 (patch) | |
tree | 1c0048549d3146deb9375d292b60505477f01d2b | |
parent | f815ff4d66e32e511b8d52c52604f619cace2fb1 (diff) |
automatic import of python-spectre-apiopeneuler20.03
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-spectre-api.spec | 361 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 363 insertions, 0 deletions
@@ -0,0 +1 @@ +/spectre-api-0.5.4.tar.gz diff --git a/python-spectre-api.spec b/python-spectre-api.spec new file mode 100644 index 0000000..c4cc769 --- /dev/null +++ b/python-spectre-api.spec @@ -0,0 +1,361 @@ +%global _empty_manifest_terminate_build 0 +Name: python-spectre-api +Version: 0.5.4 +Release: 1 +Summary: Wrapper to use the Lumeta Spectre API +License: MIT +URL: https://pypi.org/project/spectre-api/ +Source0: https://mirrors.aliyun.com/pypi/web/packages/2a/84/0a7511b1e76a97c3bb98d59a0760c875260d20defcaaf95b2bc1e7148994/spectre-api-0.5.4.tar.gz +BuildArch: noarch + +Requires: python3-requests + +%description +# spectre-api-python + +## General +This module is intended to make it a bit easier to work with +The Lumeta Corporation's Spectre API. + +Lumeta and Spectre are both registered trademarks of the Lumeta Corporation + +Install this module by running `pip3 install spectre-api` + +### Introduction +This Python module is intended to be a relatively light weight wrapper around the Spectre API. +The idea is to abstract out some of the authentication and paging pieces to make it easier to +focus on fine-tuning the actual underlying calls. Basically, you configure a server +(currently using username/password or API Key authentication) and then have it perform API calls. +For example: +```python +>>> import spectreapi +>>> s = spectreapi.UsernameServer("cc", "username", "password") +>>> r = s.get("zonedata/devices", params = { "filter.zone.id": 1} ) +>>> for d in r: +... if d['ip'] is not None: +... print(d['ip']) +... +10.2.1.1 +10.201.0.1 +10.201.0.7 +10.202.0.1 +10.202.0.2 +172.18.1.180 +>>> +``` +Another, slightly cleaner way to do this would be to use the query methods +```python +>>> import spectreapi +>>> z = spectreapi.UsernameServer('cc','username','password').get_zone_by_name('Zone1') +>>> q=z.query().detail('Attributes') +>>> for d in q.run(): +... if d['ip'] is not None: +... print(d['ip']) +... +10.2.1.1 +10.201.0.1 +10.201.0.7 +10.202.0.1 +10.202.0.2 +172.18.1.180 +>>> +``` + + +## Servers +A **Server** is the base class that has most of the functionality +needed to use the Spectre API. You'll instantiate a more specific +**Server** based on which authentication method you're using. + +### UsernameServer +`spectreapi.UsernameServer(<server>, <username>, <password>, [<page_size>,] [<verify>])` +Where: + +`<server>` = The IP address or DNS name of the Spectre Command Center + +`<username>` = Username + +`<password>` = Password + +`<page_size>` = How many results should a GET request return at a time. + +`<verify>` = Should we verify the SSL certificate of the server (True or False, defaults to False). You'll want to leave this a False unless you've given your command center an actual SSL certificate. + + + +Behind the scenes, this makes an API call to `system/information` with basic authentication +(over https) and then uses the resulting JSESSIONID cookie for the rest of the time. + +### APIKeyServer +`spectreapi.APIKeyServer(<server>, <api_key>, [, <page_size>] [, <verify>])` +Where: + +`<server>` = The IP address or DNS name of the Spectre Command Center + +`<api_key>` = API Key for API access. You get this via the GUI or by issuing the +`user key new <username>` command at the command center CLI. + +`<page_size>` = How many results should a GET request return at a time. + +`<verify>` = Should we verify the SSL certificate of the server (True or False, defaults to False). You'll want to leave this a False unless you've given your command center an actual SSL certificate. + + + +## GET, POST, PUT, DELETE + +## Notes on using the underlying Spectre API + + + + + +%package -n python3-spectre-api +Summary: Wrapper to use the Lumeta Spectre API +Provides: python-spectre-api +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-spectre-api +# spectre-api-python + +## General +This module is intended to make it a bit easier to work with +The Lumeta Corporation's Spectre API. + +Lumeta and Spectre are both registered trademarks of the Lumeta Corporation + +Install this module by running `pip3 install spectre-api` + +### Introduction +This Python module is intended to be a relatively light weight wrapper around the Spectre API. +The idea is to abstract out some of the authentication and paging pieces to make it easier to +focus on fine-tuning the actual underlying calls. Basically, you configure a server +(currently using username/password or API Key authentication) and then have it perform API calls. +For example: +```python +>>> import spectreapi +>>> s = spectreapi.UsernameServer("cc", "username", "password") +>>> r = s.get("zonedata/devices", params = { "filter.zone.id": 1} ) +>>> for d in r: +... if d['ip'] is not None: +... print(d['ip']) +... +10.2.1.1 +10.201.0.1 +10.201.0.7 +10.202.0.1 +10.202.0.2 +172.18.1.180 +>>> +``` +Another, slightly cleaner way to do this would be to use the query methods +```python +>>> import spectreapi +>>> z = spectreapi.UsernameServer('cc','username','password').get_zone_by_name('Zone1') +>>> q=z.query().detail('Attributes') +>>> for d in q.run(): +... if d['ip'] is not None: +... print(d['ip']) +... +10.2.1.1 +10.201.0.1 +10.201.0.7 +10.202.0.1 +10.202.0.2 +172.18.1.180 +>>> +``` + + +## Servers +A **Server** is the base class that has most of the functionality +needed to use the Spectre API. You'll instantiate a more specific +**Server** based on which authentication method you're using. + +### UsernameServer +`spectreapi.UsernameServer(<server>, <username>, <password>, [<page_size>,] [<verify>])` +Where: + +`<server>` = The IP address or DNS name of the Spectre Command Center + +`<username>` = Username + +`<password>` = Password + +`<page_size>` = How many results should a GET request return at a time. + +`<verify>` = Should we verify the SSL certificate of the server (True or False, defaults to False). You'll want to leave this a False unless you've given your command center an actual SSL certificate. + + + +Behind the scenes, this makes an API call to `system/information` with basic authentication +(over https) and then uses the resulting JSESSIONID cookie for the rest of the time. + +### APIKeyServer +`spectreapi.APIKeyServer(<server>, <api_key>, [, <page_size>] [, <verify>])` +Where: + +`<server>` = The IP address or DNS name of the Spectre Command Center + +`<api_key>` = API Key for API access. You get this via the GUI or by issuing the +`user key new <username>` command at the command center CLI. + +`<page_size>` = How many results should a GET request return at a time. + +`<verify>` = Should we verify the SSL certificate of the server (True or False, defaults to False). You'll want to leave this a False unless you've given your command center an actual SSL certificate. + + + +## GET, POST, PUT, DELETE + +## Notes on using the underlying Spectre API + + + + + +%package help +Summary: Development documents and examples for spectre-api +Provides: python3-spectre-api-doc +%description help +# spectre-api-python + +## General +This module is intended to make it a bit easier to work with +The Lumeta Corporation's Spectre API. + +Lumeta and Spectre are both registered trademarks of the Lumeta Corporation + +Install this module by running `pip3 install spectre-api` + +### Introduction +This Python module is intended to be a relatively light weight wrapper around the Spectre API. +The idea is to abstract out some of the authentication and paging pieces to make it easier to +focus on fine-tuning the actual underlying calls. Basically, you configure a server +(currently using username/password or API Key authentication) and then have it perform API calls. +For example: +```python +>>> import spectreapi +>>> s = spectreapi.UsernameServer("cc", "username", "password") +>>> r = s.get("zonedata/devices", params = { "filter.zone.id": 1} ) +>>> for d in r: +... if d['ip'] is not None: +... print(d['ip']) +... +10.2.1.1 +10.201.0.1 +10.201.0.7 +10.202.0.1 +10.202.0.2 +172.18.1.180 +>>> +``` +Another, slightly cleaner way to do this would be to use the query methods +```python +>>> import spectreapi +>>> z = spectreapi.UsernameServer('cc','username','password').get_zone_by_name('Zone1') +>>> q=z.query().detail('Attributes') +>>> for d in q.run(): +... if d['ip'] is not None: +... print(d['ip']) +... +10.2.1.1 +10.201.0.1 +10.201.0.7 +10.202.0.1 +10.202.0.2 +172.18.1.180 +>>> +``` + + +## Servers +A **Server** is the base class that has most of the functionality +needed to use the Spectre API. You'll instantiate a more specific +**Server** based on which authentication method you're using. + +### UsernameServer +`spectreapi.UsernameServer(<server>, <username>, <password>, [<page_size>,] [<verify>])` +Where: + +`<server>` = The IP address or DNS name of the Spectre Command Center + +`<username>` = Username + +`<password>` = Password + +`<page_size>` = How many results should a GET request return at a time. + +`<verify>` = Should we verify the SSL certificate of the server (True or False, defaults to False). You'll want to leave this a False unless you've given your command center an actual SSL certificate. + + + +Behind the scenes, this makes an API call to `system/information` with basic authentication +(over https) and then uses the resulting JSESSIONID cookie for the rest of the time. + +### APIKeyServer +`spectreapi.APIKeyServer(<server>, <api_key>, [, <page_size>] [, <verify>])` +Where: + +`<server>` = The IP address or DNS name of the Spectre Command Center + +`<api_key>` = API Key for API access. You get this via the GUI or by issuing the +`user key new <username>` command at the command center CLI. + +`<page_size>` = How many results should a GET request return at a time. + +`<verify>` = Should we verify the SSL certificate of the server (True or False, defaults to False). You'll want to leave this a False unless you've given your command center an actual SSL certificate. + + + +## GET, POST, PUT, DELETE + +## Notes on using the underlying Spectre API + + + + + +%prep +%autosetup -n spectre-api-0.5.4 + +%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-spectre-api -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 0.5.4-1 +- Package Spec generated @@ -0,0 +1 @@ +d61a3cc645107d53f598db12c0d7b8b6 spectre-api-0.5.4.tar.gz |