diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-17 02:47:14 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-17 02:47:14 +0000 |
commit | b87d4801bc4831d37f90933c9d07a3137be21abe (patch) | |
tree | 0b12e0dd804974afd61d81a6b98d173422547d54 | |
parent | 77d06ee545ce16f29feebb7af6ba170aaf05b417 (diff) |
automatic import of python-cohesivenet
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-cohesivenet.spec | 607 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 609 insertions, 0 deletions
@@ -0,0 +1 @@ +/cohesivenet-1.0.1.tar.gz diff --git a/python-cohesivenet.spec b/python-cohesivenet.spec new file mode 100644 index 0000000..7b4194d --- /dev/null +++ b/python-cohesivenet.spec @@ -0,0 +1,607 @@ +%global _empty_manifest_terminate_build 0 +Name: python-cohesivenet +Version: 1.0.1 +Release: 1 +Summary: Cohesive Networks SDK +License: MIT +URL: https://github.com/cohesive/python-cohesivenet-sdk +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/ea/bb/08495797a0f8e80ea05f7d52e2cd8fa92fe8bdb9e51f38897f51deb47e58/cohesivenet-1.0.1.tar.gz +BuildArch: noarch + +Requires: python3-urllib3 +Requires: python3-certifi +Requires: python3-dateutil +Requires: python3-paramiko + +%description +# Python Cohesive Networks SDK +[![contact][contact-image]][contact-url] ![contact][python-versions-badge] + +Cohesive Networks SDK is Python tool providing access to the VNS3 and VNS3:ms APIs from applications written in Python. It also includes common pipelines and macro functions for building network topologies. + +## API Versions supported +The SDK will make best efforts to always be backwards compatible. All SDK releases will support VNS3 versions starting with VNS3 v4.8.4 and VNS3:ms starting with v2.1.1. + +| cohesivenet==X | VNS3 API | MS API | +|----------------|:--------------:|:--------------:| +| 0.4.1-1.x.x | 4.8.4-6.0.0 | 2.1.1-2.5.X | +| 0.4.0 | 4.8.4-5.0.0 | 2.1.1-2.3.5 | +| 0.3.X | 4.8.4-4.11.3 | 2.1.1-2.3.5 | +| 0.1.35-0.2.X | 4.8.4-4.10.1 | 2.1.1-2.3.5 | +| 0.1.34 | 4.8.4-4.10.1 | N/A | # MS SDK not supported +| 0.1.33 | 4.8.4-4.9.2 | N/A | # MS SDK not supported +| 0.1.32 | 4.8.4-4.9.1 | N/A | # MS SDK not supported +| 0.1.0-31 | 4.8.4 | N/A | # MS SDK not supported + +- View [VNS3 API specifications](https://docs.cohesive.net/apis/vns3/v/) with SDK examples. +- View [VNS3:ms API specifications](https://docs.cohesive.net/apis/vns3-ms/v/) with SDK examples. + +## Installation + +You can PIP install with + +```sh +pip install cohesivenet +``` +(you may need to run `pip` with root permission: `sudo pip install cohesivenet`) + +or Install via [Setuptools](http://pypi.python.org/pypi/setuptools). + +```sh +python setup.py install --user +``` +(or `sudo python setup.py install` to install the package for all users) + +## Usage + +### Configuring a Client + +```python +import cohesivenet +from pprint import pprint + +configuration = cohesivenet.Configuration( + host='[vns3-host]:8000', + username='api', + password='YOUR_PASSWORD', + verify_ssl=False) # Local cert is used by default. Can add your own cert. +# Configure HTTP basic authorization: basicAuth +configuration.username = 'api' +configuration.password = 'YOUR_PASSWORD' +configuration.host = "[vns3-host]:8000" +# Create an instance of the API class +vns3_controller = cohesivenet.VNS3Client(configuration) + +try: + api_response = vns3_controller.config.get_config() + pprint(api_response) +except cohesivenet.ApiException as e: + print("Exception fetching VNS3 Configuration get_config(): %s\n" % e) + +# OR +from cohesivenet.macros import connect as vns3_connect + +vns3_host = "55.55.55.55:8000" +api_user = "api" +api_ps = "test1234" +vns3 = vns3_connect.get_client(vns3_host, api_user, api_ps) +config = vns3.config.get_config() +print(config.response) +``` + +### Storing state VNS3 Client +Sometimes its useful to be able to cache particular state on VNS3 client as it is passed through scripts. This can be used with the `add_to_state` function on a VNS3Client: + +```python +from cohesivenet.macros import vns3_connect + +vns3 = vns3_connect.get_vns3_client( + host="10.10.10.10:8000", + username="api", + password="heresmypassword" +) + +peering_status_data = vns3.peering.get_peering_status() +my_peer_id = peering_status_data.response.id +vns3.add_to_state('peer_id', my_peer_id) + +# Later to retrieve +vns3.query_state('peer_id') # => my_peer_id + +# Viewing entire state: +vns3.state # => dict + +# Update state with dict: +my_state_updates = {'peer_id': my_peer_id, 'secondary_ip': my_secondary_ip} +vns3.update_state(my_state_updates) +``` + +### Methods +Each sub-api is available from the VNS3Client instance as follows: + +```python +# VNS3 +vns3_client.access # Manage access urls and api tokens +vns3_client.bgp # BGPApi for Border Gateway Protocol methods +vns3_client.config # ConfigurationApi provides VNS3 config methods +vns3_client.firewall # FirewallApi for configuring VNS3 policies +vns3_client.ipsec # IPsecApi for IPsec tunnel methods +vns3_client.interfaces # InterfacesApi for viewing VNS3 interfaces +vns3_client.monitoring # MonitoringAlertingApi +vns3_client.network_edge_plugins # NetworkEdgePluginsApi +vns3_client.overlay_network # OverlayNetworkApi for managing the overlay network +vns3_client.peering # PeeringApi for peering VNS3 controllers +vns3_client.routing # RoutingApi for configuring routing +vns3_client.snapshots # SnapshotsApi for managing backups +vns3_client.sys_admin # SystemAdministrationApi for access and sys admin tasks +vns3_client.licensing # LicensingApi for controller licensing + +# VNS3:ms +ms_client.access # Provision short-lived access URLs or API keys for any VNS3 controller in your topology +ms_client.admin # Configure VNS3:ms administration settings such as LDAP integration +ms_client.vns3_management # Manage VNS3 controllers in your network topology, automating snapshots, HA and more +ms_client.cloud_monitoring # Configure and monitor your cloud by tracking cloud VPCs, virtual networks and VNS3 topologies +ms_client.system # System configuration such as SSL, NTP hosts and remote support +ms_client.backups # Configure backups for VNS3:ms and your controller snapshots +ms_client.user # User management endpoints for configuring credentials +``` + +### Common API patterns: `cohesivenet.macros` +Many API calls are called together to configure a topology or update a network configuration. More macros will be added to +increasingly simplify VNS3 topology creation and configuration. More documentation to come. + +```python +macros.admin # Admin operations typically applied to multiple controllers at once +macros.config # configuring multiple clients +macros.connect # connecting to clients +macros.firewall # firewall operations like idempotently creating full firewall +macros.ipsec # ipsec operations like creating a tunnel and then a route +macros.network_edge_plugins # Manage container system network, images and running containers +macros.overlay_network # overlay network functions like calculating network segments of the overlay +macros.peering # topology peering operations like creating a peering mesh between controllers +macros.routing # Operations for updating routing in your topology +macros.state # Methods for fetching the state of your controller(s) +``` + +### Logging +The SDK can be configured to emit logs for better visibility into what it's doing. The SDK supports INFO, DEBUG, and ERROR logging. + +There are two ways to enable it: + +1. Set the environment variable `COHESIVE_LOG_LEVEL` to the value `debug`, `info` or `error` + + ```sh + $ export COHESIVE_LOG_LEVEL=debug + ``` + +2. Enable it through Python's logging module: + + ```python + import logging + logging.basicConfig() + logging.getLogger('cohesivenet').setLevel(logging.DEBUG) + ``` + +## Author + +solutions@cohesive.net + +<!-- Markdown links --> + +[contact-image]: https://img.shields.io/badge/contact-support-blue.svg?style=flat-square +[contact-url]: https://support.cohesive.net/support/home +[python-versions-badge]: https://img.shields.io/badge/python-3.5%20%7C%203.6%20%7C%203.7-blue + + +%package -n python3-cohesivenet +Summary: Cohesive Networks SDK +Provides: python-cohesivenet +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-cohesivenet +# Python Cohesive Networks SDK +[![contact][contact-image]][contact-url] ![contact][python-versions-badge] + +Cohesive Networks SDK is Python tool providing access to the VNS3 and VNS3:ms APIs from applications written in Python. It also includes common pipelines and macro functions for building network topologies. + +## API Versions supported +The SDK will make best efforts to always be backwards compatible. All SDK releases will support VNS3 versions starting with VNS3 v4.8.4 and VNS3:ms starting with v2.1.1. + +| cohesivenet==X | VNS3 API | MS API | +|----------------|:--------------:|:--------------:| +| 0.4.1-1.x.x | 4.8.4-6.0.0 | 2.1.1-2.5.X | +| 0.4.0 | 4.8.4-5.0.0 | 2.1.1-2.3.5 | +| 0.3.X | 4.8.4-4.11.3 | 2.1.1-2.3.5 | +| 0.1.35-0.2.X | 4.8.4-4.10.1 | 2.1.1-2.3.5 | +| 0.1.34 | 4.8.4-4.10.1 | N/A | # MS SDK not supported +| 0.1.33 | 4.8.4-4.9.2 | N/A | # MS SDK not supported +| 0.1.32 | 4.8.4-4.9.1 | N/A | # MS SDK not supported +| 0.1.0-31 | 4.8.4 | N/A | # MS SDK not supported + +- View [VNS3 API specifications](https://docs.cohesive.net/apis/vns3/v/) with SDK examples. +- View [VNS3:ms API specifications](https://docs.cohesive.net/apis/vns3-ms/v/) with SDK examples. + +## Installation + +You can PIP install with + +```sh +pip install cohesivenet +``` +(you may need to run `pip` with root permission: `sudo pip install cohesivenet`) + +or Install via [Setuptools](http://pypi.python.org/pypi/setuptools). + +```sh +python setup.py install --user +``` +(or `sudo python setup.py install` to install the package for all users) + +## Usage + +### Configuring a Client + +```python +import cohesivenet +from pprint import pprint + +configuration = cohesivenet.Configuration( + host='[vns3-host]:8000', + username='api', + password='YOUR_PASSWORD', + verify_ssl=False) # Local cert is used by default. Can add your own cert. +# Configure HTTP basic authorization: basicAuth +configuration.username = 'api' +configuration.password = 'YOUR_PASSWORD' +configuration.host = "[vns3-host]:8000" +# Create an instance of the API class +vns3_controller = cohesivenet.VNS3Client(configuration) + +try: + api_response = vns3_controller.config.get_config() + pprint(api_response) +except cohesivenet.ApiException as e: + print("Exception fetching VNS3 Configuration get_config(): %s\n" % e) + +# OR +from cohesivenet.macros import connect as vns3_connect + +vns3_host = "55.55.55.55:8000" +api_user = "api" +api_ps = "test1234" +vns3 = vns3_connect.get_client(vns3_host, api_user, api_ps) +config = vns3.config.get_config() +print(config.response) +``` + +### Storing state VNS3 Client +Sometimes its useful to be able to cache particular state on VNS3 client as it is passed through scripts. This can be used with the `add_to_state` function on a VNS3Client: + +```python +from cohesivenet.macros import vns3_connect + +vns3 = vns3_connect.get_vns3_client( + host="10.10.10.10:8000", + username="api", + password="heresmypassword" +) + +peering_status_data = vns3.peering.get_peering_status() +my_peer_id = peering_status_data.response.id +vns3.add_to_state('peer_id', my_peer_id) + +# Later to retrieve +vns3.query_state('peer_id') # => my_peer_id + +# Viewing entire state: +vns3.state # => dict + +# Update state with dict: +my_state_updates = {'peer_id': my_peer_id, 'secondary_ip': my_secondary_ip} +vns3.update_state(my_state_updates) +``` + +### Methods +Each sub-api is available from the VNS3Client instance as follows: + +```python +# VNS3 +vns3_client.access # Manage access urls and api tokens +vns3_client.bgp # BGPApi for Border Gateway Protocol methods +vns3_client.config # ConfigurationApi provides VNS3 config methods +vns3_client.firewall # FirewallApi for configuring VNS3 policies +vns3_client.ipsec # IPsecApi for IPsec tunnel methods +vns3_client.interfaces # InterfacesApi for viewing VNS3 interfaces +vns3_client.monitoring # MonitoringAlertingApi +vns3_client.network_edge_plugins # NetworkEdgePluginsApi +vns3_client.overlay_network # OverlayNetworkApi for managing the overlay network +vns3_client.peering # PeeringApi for peering VNS3 controllers +vns3_client.routing # RoutingApi for configuring routing +vns3_client.snapshots # SnapshotsApi for managing backups +vns3_client.sys_admin # SystemAdministrationApi for access and sys admin tasks +vns3_client.licensing # LicensingApi for controller licensing + +# VNS3:ms +ms_client.access # Provision short-lived access URLs or API keys for any VNS3 controller in your topology +ms_client.admin # Configure VNS3:ms administration settings such as LDAP integration +ms_client.vns3_management # Manage VNS3 controllers in your network topology, automating snapshots, HA and more +ms_client.cloud_monitoring # Configure and monitor your cloud by tracking cloud VPCs, virtual networks and VNS3 topologies +ms_client.system # System configuration such as SSL, NTP hosts and remote support +ms_client.backups # Configure backups for VNS3:ms and your controller snapshots +ms_client.user # User management endpoints for configuring credentials +``` + +### Common API patterns: `cohesivenet.macros` +Many API calls are called together to configure a topology or update a network configuration. More macros will be added to +increasingly simplify VNS3 topology creation and configuration. More documentation to come. + +```python +macros.admin # Admin operations typically applied to multiple controllers at once +macros.config # configuring multiple clients +macros.connect # connecting to clients +macros.firewall # firewall operations like idempotently creating full firewall +macros.ipsec # ipsec operations like creating a tunnel and then a route +macros.network_edge_plugins # Manage container system network, images and running containers +macros.overlay_network # overlay network functions like calculating network segments of the overlay +macros.peering # topology peering operations like creating a peering mesh between controllers +macros.routing # Operations for updating routing in your topology +macros.state # Methods for fetching the state of your controller(s) +``` + +### Logging +The SDK can be configured to emit logs for better visibility into what it's doing. The SDK supports INFO, DEBUG, and ERROR logging. + +There are two ways to enable it: + +1. Set the environment variable `COHESIVE_LOG_LEVEL` to the value `debug`, `info` or `error` + + ```sh + $ export COHESIVE_LOG_LEVEL=debug + ``` + +2. Enable it through Python's logging module: + + ```python + import logging + logging.basicConfig() + logging.getLogger('cohesivenet').setLevel(logging.DEBUG) + ``` + +## Author + +solutions@cohesive.net + +<!-- Markdown links --> + +[contact-image]: https://img.shields.io/badge/contact-support-blue.svg?style=flat-square +[contact-url]: https://support.cohesive.net/support/home +[python-versions-badge]: https://img.shields.io/badge/python-3.5%20%7C%203.6%20%7C%203.7-blue + + +%package help +Summary: Development documents and examples for cohesivenet +Provides: python3-cohesivenet-doc +%description help +# Python Cohesive Networks SDK +[![contact][contact-image]][contact-url] ![contact][python-versions-badge] + +Cohesive Networks SDK is Python tool providing access to the VNS3 and VNS3:ms APIs from applications written in Python. It also includes common pipelines and macro functions for building network topologies. + +## API Versions supported +The SDK will make best efforts to always be backwards compatible. All SDK releases will support VNS3 versions starting with VNS3 v4.8.4 and VNS3:ms starting with v2.1.1. + +| cohesivenet==X | VNS3 API | MS API | +|----------------|:--------------:|:--------------:| +| 0.4.1-1.x.x | 4.8.4-6.0.0 | 2.1.1-2.5.X | +| 0.4.0 | 4.8.4-5.0.0 | 2.1.1-2.3.5 | +| 0.3.X | 4.8.4-4.11.3 | 2.1.1-2.3.5 | +| 0.1.35-0.2.X | 4.8.4-4.10.1 | 2.1.1-2.3.5 | +| 0.1.34 | 4.8.4-4.10.1 | N/A | # MS SDK not supported +| 0.1.33 | 4.8.4-4.9.2 | N/A | # MS SDK not supported +| 0.1.32 | 4.8.4-4.9.1 | N/A | # MS SDK not supported +| 0.1.0-31 | 4.8.4 | N/A | # MS SDK not supported + +- View [VNS3 API specifications](https://docs.cohesive.net/apis/vns3/v/) with SDK examples. +- View [VNS3:ms API specifications](https://docs.cohesive.net/apis/vns3-ms/v/) with SDK examples. + +## Installation + +You can PIP install with + +```sh +pip install cohesivenet +``` +(you may need to run `pip` with root permission: `sudo pip install cohesivenet`) + +or Install via [Setuptools](http://pypi.python.org/pypi/setuptools). + +```sh +python setup.py install --user +``` +(or `sudo python setup.py install` to install the package for all users) + +## Usage + +### Configuring a Client + +```python +import cohesivenet +from pprint import pprint + +configuration = cohesivenet.Configuration( + host='[vns3-host]:8000', + username='api', + password='YOUR_PASSWORD', + verify_ssl=False) # Local cert is used by default. Can add your own cert. +# Configure HTTP basic authorization: basicAuth +configuration.username = 'api' +configuration.password = 'YOUR_PASSWORD' +configuration.host = "[vns3-host]:8000" +# Create an instance of the API class +vns3_controller = cohesivenet.VNS3Client(configuration) + +try: + api_response = vns3_controller.config.get_config() + pprint(api_response) +except cohesivenet.ApiException as e: + print("Exception fetching VNS3 Configuration get_config(): %s\n" % e) + +# OR +from cohesivenet.macros import connect as vns3_connect + +vns3_host = "55.55.55.55:8000" +api_user = "api" +api_ps = "test1234" +vns3 = vns3_connect.get_client(vns3_host, api_user, api_ps) +config = vns3.config.get_config() +print(config.response) +``` + +### Storing state VNS3 Client +Sometimes its useful to be able to cache particular state on VNS3 client as it is passed through scripts. This can be used with the `add_to_state` function on a VNS3Client: + +```python +from cohesivenet.macros import vns3_connect + +vns3 = vns3_connect.get_vns3_client( + host="10.10.10.10:8000", + username="api", + password="heresmypassword" +) + +peering_status_data = vns3.peering.get_peering_status() +my_peer_id = peering_status_data.response.id +vns3.add_to_state('peer_id', my_peer_id) + +# Later to retrieve +vns3.query_state('peer_id') # => my_peer_id + +# Viewing entire state: +vns3.state # => dict + +# Update state with dict: +my_state_updates = {'peer_id': my_peer_id, 'secondary_ip': my_secondary_ip} +vns3.update_state(my_state_updates) +``` + +### Methods +Each sub-api is available from the VNS3Client instance as follows: + +```python +# VNS3 +vns3_client.access # Manage access urls and api tokens +vns3_client.bgp # BGPApi for Border Gateway Protocol methods +vns3_client.config # ConfigurationApi provides VNS3 config methods +vns3_client.firewall # FirewallApi for configuring VNS3 policies +vns3_client.ipsec # IPsecApi for IPsec tunnel methods +vns3_client.interfaces # InterfacesApi for viewing VNS3 interfaces +vns3_client.monitoring # MonitoringAlertingApi +vns3_client.network_edge_plugins # NetworkEdgePluginsApi +vns3_client.overlay_network # OverlayNetworkApi for managing the overlay network +vns3_client.peering # PeeringApi for peering VNS3 controllers +vns3_client.routing # RoutingApi for configuring routing +vns3_client.snapshots # SnapshotsApi for managing backups +vns3_client.sys_admin # SystemAdministrationApi for access and sys admin tasks +vns3_client.licensing # LicensingApi for controller licensing + +# VNS3:ms +ms_client.access # Provision short-lived access URLs or API keys for any VNS3 controller in your topology +ms_client.admin # Configure VNS3:ms administration settings such as LDAP integration +ms_client.vns3_management # Manage VNS3 controllers in your network topology, automating snapshots, HA and more +ms_client.cloud_monitoring # Configure and monitor your cloud by tracking cloud VPCs, virtual networks and VNS3 topologies +ms_client.system # System configuration such as SSL, NTP hosts and remote support +ms_client.backups # Configure backups for VNS3:ms and your controller snapshots +ms_client.user # User management endpoints for configuring credentials +``` + +### Common API patterns: `cohesivenet.macros` +Many API calls are called together to configure a topology or update a network configuration. More macros will be added to +increasingly simplify VNS3 topology creation and configuration. More documentation to come. + +```python +macros.admin # Admin operations typically applied to multiple controllers at once +macros.config # configuring multiple clients +macros.connect # connecting to clients +macros.firewall # firewall operations like idempotently creating full firewall +macros.ipsec # ipsec operations like creating a tunnel and then a route +macros.network_edge_plugins # Manage container system network, images and running containers +macros.overlay_network # overlay network functions like calculating network segments of the overlay +macros.peering # topology peering operations like creating a peering mesh between controllers +macros.routing # Operations for updating routing in your topology +macros.state # Methods for fetching the state of your controller(s) +``` + +### Logging +The SDK can be configured to emit logs for better visibility into what it's doing. The SDK supports INFO, DEBUG, and ERROR logging. + +There are two ways to enable it: + +1. Set the environment variable `COHESIVE_LOG_LEVEL` to the value `debug`, `info` or `error` + + ```sh + $ export COHESIVE_LOG_LEVEL=debug + ``` + +2. Enable it through Python's logging module: + + ```python + import logging + logging.basicConfig() + logging.getLogger('cohesivenet').setLevel(logging.DEBUG) + ``` + +## Author + +solutions@cohesive.net + +<!-- Markdown links --> + +[contact-image]: https://img.shields.io/badge/contact-support-blue.svg?style=flat-square +[contact-url]: https://support.cohesive.net/support/home +[python-versions-badge]: https://img.shields.io/badge/python-3.5%20%7C%203.6%20%7C%203.7-blue + + +%prep +%autosetup -n cohesivenet-1.0.1 + +%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-cohesivenet -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 17 2023 Python_Bot <Python_Bot@openeuler.org> - 1.0.1-1 +- Package Spec generated @@ -0,0 +1 @@ +06623497c1298faa3f0c231298d77fc7 cohesivenet-1.0.1.tar.gz |