diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-05 08:14:07 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-05 08:14:07 +0000 |
| commit | a9799e7e37ff80dab5a325999645b4d6c4101276 (patch) | |
| tree | acc89d820ad61a551be4568c058f53062c32e229 | |
| parent | 4c2bf4ec5c602d6d6284d205f4eae3292f91b807 (diff) | |
automatic import of python-fortiosapiopeneuler20.03
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-fortiosapi.spec | 369 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 371 insertions, 0 deletions
@@ -0,0 +1 @@ +/fortiosapi-1.0.5.tar.gz diff --git a/python-fortiosapi.spec b/python-fortiosapi.spec new file mode 100644 index 0000000..5c73769 --- /dev/null +++ b/python-fortiosapi.spec @@ -0,0 +1,369 @@ +%global _empty_manifest_terminate_build 0 +Name: python-fortiosapi +Version: 1.0.5 +Release: 1 +Summary: Python modules to use Fortigate APIs +License: Apache Software License +URL: https://github.com/fortinet-solutions-cse/fortiosapi +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/88/eb/3bebe6506edfcf9bc7de5638728dcab09ad3c141e976cbeb883531c6f383/fortiosapi-1.0.5.tar.gz +BuildArch: noarch + +Requires: python3-requests +Requires: python3-paramiko +Requires: python3-oyaml + +%description + +## fortiosAPI Overview + + +Opensource python library to configure Fortigate/Fortios devices (Fortigate REST API) + +### Ready for config management. +Compare to the REST API there a few add-ons: + In addition to get,put,post,delete methods there is a set which will + try to post and if failing will put and collect the mkey directly. + The lib will also find the mkey for you + + +### Examples + + + +You can find and propose examples here: https://github.com/fortinet-solutions-cse/fortiosapi-examples +Separated to avoid cluttering those who integrate the fortiosapi module. + + + +### New overlay configuration + +You now have an overlayconfig call which can be pass a complex configuration change in yaml. +Including multiple endpoints (name/path) as the simple example below shows: +```yaml +antivirus: + profile: + apisettree: + "scan-mode": "quick" + 'http': {"options": "scan avmonitor",} + "emulator": "enable" +firewall: + policy: + 67: + 'name': "Testfortiosapi" + 'action': "accept" + 'srcintf': [{"name": "port1"}] + 'dstintf': [{"name": "port2"}] + 'srcaddr': [{"name": "all"}] + 'dstaddr': [{"name": "all"}] + 'schedule': "always" + 'service': [{"name": "HTTPS"}] + "utm-status": "enable" + "profile-type": "single" + 'av-profile': "apisettree" + 'profile-protocol-options': "default" + 'ssl-ssh-profile': "certificate-inspection" + 'logtraffic': "all" +``` + +The behaviour is to change the parameters at the higher level in the CMDB tree first then do a serie of set on the tables. + +Will fail if one of the set fails. + +Order in the yaml is preserved. + +### Login methods +User/password + +Token (api key) documented in the Fortigate API Spec that you can find if having an account on http://fndn.fortinet.net/ + +### Multi vdom +In multi vdom environment use vdom=global in the API call. +As it is a reserved word the API will switch to use the global=1 and +take care of the differences in the repsonses. + +### Schema +There is a get_schema call and an example to get the schema of the +differents methods to ease writting them. + +### License (5.6) +A rest call to check and force license validation check starting with 5.6 +See license. +usage of schema and mkey for every call for 5.6 + +License validity is now checked at login + +### Versions + + +### Test driven development +In tests folder you will find a tox based set of tests as examples. +The test_fortiosapi_virsh need you to have virsh access, especially to the console. +This allow to perform actions automatically from the CLI and check API calls actual results. +Other tests are welcomed. + +### Files upload/download +You will find the calls to exchange files (config, logs, licenses) with Fortigate in this LIB + + +### Known Usage +Fortiosapi library is used in Home-Assistant, Fortinet Ansible modules and in Cloudify plugins. + +Maintained mainly by Fortinet employees. + + + + +%package -n python3-fortiosapi +Summary: Python modules to use Fortigate APIs +Provides: python-fortiosapi +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-fortiosapi + +## fortiosAPI Overview + + +Opensource python library to configure Fortigate/Fortios devices (Fortigate REST API) + +### Ready for config management. +Compare to the REST API there a few add-ons: + In addition to get,put,post,delete methods there is a set which will + try to post and if failing will put and collect the mkey directly. + The lib will also find the mkey for you + + +### Examples + + + +You can find and propose examples here: https://github.com/fortinet-solutions-cse/fortiosapi-examples +Separated to avoid cluttering those who integrate the fortiosapi module. + + + +### New overlay configuration + +You now have an overlayconfig call which can be pass a complex configuration change in yaml. +Including multiple endpoints (name/path) as the simple example below shows: +```yaml +antivirus: + profile: + apisettree: + "scan-mode": "quick" + 'http': {"options": "scan avmonitor",} + "emulator": "enable" +firewall: + policy: + 67: + 'name': "Testfortiosapi" + 'action': "accept" + 'srcintf': [{"name": "port1"}] + 'dstintf': [{"name": "port2"}] + 'srcaddr': [{"name": "all"}] + 'dstaddr': [{"name": "all"}] + 'schedule': "always" + 'service': [{"name": "HTTPS"}] + "utm-status": "enable" + "profile-type": "single" + 'av-profile': "apisettree" + 'profile-protocol-options': "default" + 'ssl-ssh-profile': "certificate-inspection" + 'logtraffic': "all" +``` + +The behaviour is to change the parameters at the higher level in the CMDB tree first then do a serie of set on the tables. + +Will fail if one of the set fails. + +Order in the yaml is preserved. + +### Login methods +User/password + +Token (api key) documented in the Fortigate API Spec that you can find if having an account on http://fndn.fortinet.net/ + +### Multi vdom +In multi vdom environment use vdom=global in the API call. +As it is a reserved word the API will switch to use the global=1 and +take care of the differences in the repsonses. + +### Schema +There is a get_schema call and an example to get the schema of the +differents methods to ease writting them. + +### License (5.6) +A rest call to check and force license validation check starting with 5.6 +See license. +usage of schema and mkey for every call for 5.6 + +License validity is now checked at login + +### Versions + + +### Test driven development +In tests folder you will find a tox based set of tests as examples. +The test_fortiosapi_virsh need you to have virsh access, especially to the console. +This allow to perform actions automatically from the CLI and check API calls actual results. +Other tests are welcomed. + +### Files upload/download +You will find the calls to exchange files (config, logs, licenses) with Fortigate in this LIB + + +### Known Usage +Fortiosapi library is used in Home-Assistant, Fortinet Ansible modules and in Cloudify plugins. + +Maintained mainly by Fortinet employees. + + + + +%package help +Summary: Development documents and examples for fortiosapi +Provides: python3-fortiosapi-doc +%description help + +## fortiosAPI Overview + + +Opensource python library to configure Fortigate/Fortios devices (Fortigate REST API) + +### Ready for config management. +Compare to the REST API there a few add-ons: + In addition to get,put,post,delete methods there is a set which will + try to post and if failing will put and collect the mkey directly. + The lib will also find the mkey for you + + +### Examples + + + +You can find and propose examples here: https://github.com/fortinet-solutions-cse/fortiosapi-examples +Separated to avoid cluttering those who integrate the fortiosapi module. + + + +### New overlay configuration + +You now have an overlayconfig call which can be pass a complex configuration change in yaml. +Including multiple endpoints (name/path) as the simple example below shows: +```yaml +antivirus: + profile: + apisettree: + "scan-mode": "quick" + 'http': {"options": "scan avmonitor",} + "emulator": "enable" +firewall: + policy: + 67: + 'name': "Testfortiosapi" + 'action': "accept" + 'srcintf': [{"name": "port1"}] + 'dstintf': [{"name": "port2"}] + 'srcaddr': [{"name": "all"}] + 'dstaddr': [{"name": "all"}] + 'schedule': "always" + 'service': [{"name": "HTTPS"}] + "utm-status": "enable" + "profile-type": "single" + 'av-profile': "apisettree" + 'profile-protocol-options': "default" + 'ssl-ssh-profile': "certificate-inspection" + 'logtraffic': "all" +``` + +The behaviour is to change the parameters at the higher level in the CMDB tree first then do a serie of set on the tables. + +Will fail if one of the set fails. + +Order in the yaml is preserved. + +### Login methods +User/password + +Token (api key) documented in the Fortigate API Spec that you can find if having an account on http://fndn.fortinet.net/ + +### Multi vdom +In multi vdom environment use vdom=global in the API call. +As it is a reserved word the API will switch to use the global=1 and +take care of the differences in the repsonses. + +### Schema +There is a get_schema call and an example to get the schema of the +differents methods to ease writting them. + +### License (5.6) +A rest call to check and force license validation check starting with 5.6 +See license. +usage of schema and mkey for every call for 5.6 + +License validity is now checked at login + +### Versions + + +### Test driven development +In tests folder you will find a tox based set of tests as examples. +The test_fortiosapi_virsh need you to have virsh access, especially to the console. +This allow to perform actions automatically from the CLI and check API calls actual results. +Other tests are welcomed. + +### Files upload/download +You will find the calls to exchange files (config, logs, licenses) with Fortigate in this LIB + + +### Known Usage +Fortiosapi library is used in Home-Assistant, Fortinet Ansible modules and in Cloudify plugins. + +Maintained mainly by Fortinet employees. + + + + +%prep +%autosetup -n fortiosapi-1.0.5 + +%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-fortiosapi -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 1.0.5-1 +- Package Spec generated @@ -0,0 +1 @@ +a74dd5b84678aca9a1187f39e77a1e2a fortiosapi-1.0.5.tar.gz |
