%global _empty_manifest_terminate_build 0 Name: python-cyapi Version: 1.0.20 Release: 1 Summary: Python bindings for Cylance Console and MTC License: MIT URL: https://github.com/cylance/python-cyapi Source0: https://mirrors.nju.edu.cn/pypi/web/packages/f7/f2/bba9852026e77d28640404aa6af6a75691f9edacd998e77a1f083663b104/cyapi-1.0.20.tar.gz BuildArch: noarch Requires: python3-futures Requires: python3-pyjwt Requires: python3-dateutil Requires: python3-pytz Requires: python3-requests Requires: python3-tqdm %description # Summary This Library provides python bindings to interact with the Cylance API. Examples have been created for you in the Examples/ directory, and provide a majority of the common code you'll need to get setup. In order to utilize this Library, you will need an API token from the API Integrations tab inside of the Cylance Console. # Supported Systems * Python 2.7 & Python 3 Compatible * Windows * Mac * Linux # Installation ``` pip install cyapi ``` # Example Please note there are a number of example scripts in the examples directory. These are valuable for initial authentication as well as some basic interactions with the library. The example scripts include: Single Tenant > simple_setup.py > find_stale_devices.py > safelist_trusted_local.py > time_getting_all_detection_detail.py Multi-Tenant Console (MTC) > simple_MTC_setup.py > MTC_tenants_loop.py This example will create a connection to the API and return all devices that have registered. ``` from cyapi.cyapi import CyAPI from pprint import pprint API = CyAPI(tid=your_id, aid=your_aid, ase=your_ase) API.create_conn() devices = API.get_devices() print("Successful: {}".format(devices.is_success)) pprint(devices.data[0]) # Print info about a single device. ``` If you have lots of devices/threats/zones/etc, and you'd like to see a progress bar, pass the `disable_progress` parameter: ``` devices = API.get_devices(disable_progress=False) pprint(devices.data[0]) ``` Additionally you can copy examples/simple_setup.py to your_new_file.py and begin hacking away from there. # Creds File You can create a file that will store your api credentials instead of passing them in via the command line. The creds file should look like the following: For a standard tenant: creds.json: ``` { "tid": "123456-55555-66666-888888888", "app_id": "11111111-222222-33333-44444444", "app_secret": "555555-666666-222222-444444", "region": "NA" } ``` For a Multi-Tenant Console (MTC) ``` { "tid": "Not Used for MTC Auth", "app_id": "11111111-222222-33333-44444444", "app_secret": "555555-666666-222222-444444", "region": "NA", "mtc": "True" } ``` The creds json file can then be passed in by passing -c path/to/creds.json to any of the examples # API End Point Documentation Tenant User API Guide - https://docs.blackberry.com/content/dam/docs-blackberry-com/release-pdfs/en/cylance-products/api-and-developer-guides/Cylance%20User%20API%20Guide%20v2.0%20rev24.pdf Tenant User API Release Notes - https://docs.blackberry.com/en/unified-endpoint-security/cylance--products/cylance-api-release-notes/BlackBerry-Cylance-API-release-notes Multi-Tenant API - https://dev-admin.cylance.com/documentation/api.html # Contributing See [CONTRIBUTING.md](CONTRIBUTING.md) %package -n python3-cyapi Summary: Python bindings for Cylance Console and MTC Provides: python-cyapi BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-cyapi # Summary This Library provides python bindings to interact with the Cylance API. Examples have been created for you in the Examples/ directory, and provide a majority of the common code you'll need to get setup. In order to utilize this Library, you will need an API token from the API Integrations tab inside of the Cylance Console. # Supported Systems * Python 2.7 & Python 3 Compatible * Windows * Mac * Linux # Installation ``` pip install cyapi ``` # Example Please note there are a number of example scripts in the examples directory. These are valuable for initial authentication as well as some basic interactions with the library. The example scripts include: Single Tenant > simple_setup.py > find_stale_devices.py > safelist_trusted_local.py > time_getting_all_detection_detail.py Multi-Tenant Console (MTC) > simple_MTC_setup.py > MTC_tenants_loop.py This example will create a connection to the API and return all devices that have registered. ``` from cyapi.cyapi import CyAPI from pprint import pprint API = CyAPI(tid=your_id, aid=your_aid, ase=your_ase) API.create_conn() devices = API.get_devices() print("Successful: {}".format(devices.is_success)) pprint(devices.data[0]) # Print info about a single device. ``` If you have lots of devices/threats/zones/etc, and you'd like to see a progress bar, pass the `disable_progress` parameter: ``` devices = API.get_devices(disable_progress=False) pprint(devices.data[0]) ``` Additionally you can copy examples/simple_setup.py to your_new_file.py and begin hacking away from there. # Creds File You can create a file that will store your api credentials instead of passing them in via the command line. The creds file should look like the following: For a standard tenant: creds.json: ``` { "tid": "123456-55555-66666-888888888", "app_id": "11111111-222222-33333-44444444", "app_secret": "555555-666666-222222-444444", "region": "NA" } ``` For a Multi-Tenant Console (MTC) ``` { "tid": "Not Used for MTC Auth", "app_id": "11111111-222222-33333-44444444", "app_secret": "555555-666666-222222-444444", "region": "NA", "mtc": "True" } ``` The creds json file can then be passed in by passing -c path/to/creds.json to any of the examples # API End Point Documentation Tenant User API Guide - https://docs.blackberry.com/content/dam/docs-blackberry-com/release-pdfs/en/cylance-products/api-and-developer-guides/Cylance%20User%20API%20Guide%20v2.0%20rev24.pdf Tenant User API Release Notes - https://docs.blackberry.com/en/unified-endpoint-security/cylance--products/cylance-api-release-notes/BlackBerry-Cylance-API-release-notes Multi-Tenant API - https://dev-admin.cylance.com/documentation/api.html # Contributing See [CONTRIBUTING.md](CONTRIBUTING.md) %package help Summary: Development documents and examples for cyapi Provides: python3-cyapi-doc %description help # Summary This Library provides python bindings to interact with the Cylance API. Examples have been created for you in the Examples/ directory, and provide a majority of the common code you'll need to get setup. In order to utilize this Library, you will need an API token from the API Integrations tab inside of the Cylance Console. # Supported Systems * Python 2.7 & Python 3 Compatible * Windows * Mac * Linux # Installation ``` pip install cyapi ``` # Example Please note there are a number of example scripts in the examples directory. These are valuable for initial authentication as well as some basic interactions with the library. The example scripts include: Single Tenant > simple_setup.py > find_stale_devices.py > safelist_trusted_local.py > time_getting_all_detection_detail.py Multi-Tenant Console (MTC) > simple_MTC_setup.py > MTC_tenants_loop.py This example will create a connection to the API and return all devices that have registered. ``` from cyapi.cyapi import CyAPI from pprint import pprint API = CyAPI(tid=your_id, aid=your_aid, ase=your_ase) API.create_conn() devices = API.get_devices() print("Successful: {}".format(devices.is_success)) pprint(devices.data[0]) # Print info about a single device. ``` If you have lots of devices/threats/zones/etc, and you'd like to see a progress bar, pass the `disable_progress` parameter: ``` devices = API.get_devices(disable_progress=False) pprint(devices.data[0]) ``` Additionally you can copy examples/simple_setup.py to your_new_file.py and begin hacking away from there. # Creds File You can create a file that will store your api credentials instead of passing them in via the command line. The creds file should look like the following: For a standard tenant: creds.json: ``` { "tid": "123456-55555-66666-888888888", "app_id": "11111111-222222-33333-44444444", "app_secret": "555555-666666-222222-444444", "region": "NA" } ``` For a Multi-Tenant Console (MTC) ``` { "tid": "Not Used for MTC Auth", "app_id": "11111111-222222-33333-44444444", "app_secret": "555555-666666-222222-444444", "region": "NA", "mtc": "True" } ``` The creds json file can then be passed in by passing -c path/to/creds.json to any of the examples # API End Point Documentation Tenant User API Guide - https://docs.blackberry.com/content/dam/docs-blackberry-com/release-pdfs/en/cylance-products/api-and-developer-guides/Cylance%20User%20API%20Guide%20v2.0%20rev24.pdf Tenant User API Release Notes - https://docs.blackberry.com/en/unified-endpoint-security/cylance--products/cylance-api-release-notes/BlackBerry-Cylance-API-release-notes Multi-Tenant API - https://dev-admin.cylance.com/documentation/api.html # Contributing See [CONTRIBUTING.md](CONTRIBUTING.md) %prep %autosetup -n cyapi-1.0.20 %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-cyapi -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Mon May 29 2023 Python_Bot - 1.0.20-1 - Package Spec generated