summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-05 08:14:07 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-05 08:14:07 +0000
commita9799e7e37ff80dab5a325999645b4d6c4101276 (patch)
treeacc89d820ad61a551be4568c058f53062c32e229
parent4c2bf4ec5c602d6d6284d205f4eae3292f91b807 (diff)
automatic import of python-fortiosapiopeneuler20.03
-rw-r--r--.gitignore1
-rw-r--r--python-fortiosapi.spec369
-rw-r--r--sources1
3 files changed, 371 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..950380c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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
diff --git a/sources b/sources
new file mode 100644
index 0000000..d243f33
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+a74dd5b84678aca9a1187f39e77a1e2a fortiosapi-1.0.5.tar.gz