%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(, , , [,] [])` Where: `` = The IP address or DNS name of the Spectre Command Center `` = Username `` = Password `` = How many results should a GET request return at a time. `` = 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(, , [, ] [, ])` Where: `` = The IP address or DNS name of the Spectre Command Center `` = API Key for API access. You get this via the GUI or by issuing the `user key new ` command at the command center CLI. `` = How many results should a GET request return at a time. `` = 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(, , , [,] [])` Where: `` = The IP address or DNS name of the Spectre Command Center `` = Username `` = Password `` = How many results should a GET request return at a time. `` = 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(, , [, ] [, ])` Where: `` = The IP address or DNS name of the Spectre Command Center `` = API Key for API access. You get this via the GUI or by issuing the `user key new ` command at the command center CLI. `` = How many results should a GET request return at a time. `` = 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(, , , [,] [])` Where: `` = The IP address or DNS name of the Spectre Command Center `` = Username `` = Password `` = How many results should a GET request return at a time. `` = 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(, , [, ] [, ])` Where: `` = The IP address or DNS name of the Spectre Command Center `` = API Key for API access. You get this via the GUI or by issuing the `user key new ` command at the command center CLI. `` = How many results should a GET request return at a time. `` = 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 - 0.5.4-1 - Package Spec generated