{ "info": { "author": "Cohesive Networks, Inc.", "author_email": "solutions@cohesive.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Security", "Topic :: System :: Networking", "Topic :: System :: Networking :: Firewalls", "Topic :: System :: Networking :: Monitoring" ], "description": "# Python Cohesive Networks SDK\n[![contact][contact-image]][contact-url]\n\nCohesive Networks SDK is Python tool providing access to the VNS3 API from applications written in Python. It also includes common pipelines and macro functions\nfor building network topologies.\n\nVNS3 API version: [4.8](https://github.com/cohesive/cohesive-api-specs/blob/master/vns3/vns3-v48-api/spec.yaml)\n\n## Installation\n\nYou can PIP install with\n\n```sh\npip install cohesivenet\n```\n(you may need to run `pip` with root permission: `sudo pip install cohesivenet`)\n\nor Install via [Setuptools](http://pypi.python.org/pypi/setuptools).\n\n```sh\npython setup.py install --user\n```\n(or `sudo python setup.py install` to install the package for all users)\n\n## Usage\n\n### Configuring a Client\n\n```python\nimport cohesivenet\nfrom pprint import pprint\n\nconfiguration = cohesivenet.Configuration(\n host='https://[vns3-host]:8000',\n username='api', \n password='YOUR_PASSWORD',\n verify_ssl=False) # Local cert is used by default. Can add your own cert.\n# Configure HTTP basic authorization: basicAuth\nconfiguration.username = 'api'\nconfiguration.password = 'YOUR_PASSWORD'\nconfiguration.host = \"https://[vns3-host]:8000\"\n# Create an instance of the API class\nvns3_controller = cohesivenet.VNS3Client(configuration)\n\ntry:\n api_response = vns3_controller.config.get_config()\n pprint(api_response)\nexcept cohesivenet.ApiException as e:\n print(\"Exception fetching VNS3 Configuration get_config(): %s\\n\" % e)\n```\n\n### Methods\nAll endpoints are documented [here](https://github.com/cohesive/python-cohesivenet-sdk/blob/master/endpoints.md). Each sub-api is available from the VNS3Client instance as follows:\n\n```python\n\nvns3_client.config # ConfigurationApi provides VNS3 config methods\nvns3_client.bgp # BGPApi for Border Gateway Protocol methods\nvns3_client.firewall # FirewallApi for configuring VNS3 policies\nvns3_client.high_availability # HighAvailabilityApi for configuration HA for VNS3\nvns3_client.ipsec # IPsecApi for IPsec tunnel methods\nvns3_client.interfaces # InterfacesApi for viewing VNS3 interfaces\nvns3_client.monitoring # MonitoringAlertingApi\nvns3_client.network_edge_plugins # NetworkEdgePluginsApi\nvns3_client.overlay_network # OverlayNetworkApi for managing the overlay network\nvns3_client.peering # PeeringApi for peering VNS3 controllers\nvns3_client.routing # RoutingApi for configuring routing\nvns3_client.snapshots # SnapshotsApi for managing backups\nvns3_client.sys_admin # SystemAdministrationApi for access and sys admin tasks\nvns3_client.licensing # LicensingApi for controller licensing \n```\n\n### Common API patterns: `cohesivenet.macros`\nMany API calls are called together to configure a topology or update a network configuration. More macros will be added to \nincreasingly simplify VNS3 topology creation and configuration. More documentation to come.\n\n```python\nmacros.admin # Admin operations typically applied to multiple controllers at once\nmacros.config # configuring multiple clients\nmacros.connect # connecting to clients\nmacros.ipsec # ipsec operations like creating a tunnel and then a route\nmacros.overlay_network # overlay network functions like calculating network segments of the overlay\nmacros.peering # topology peering operations like creating a peering mesh between controllers\nmacros.routing # Operations for updating routing in your topology\nmacros.state # Methods for fetching the state of your controller(s)\n```\n\n### Logging\nThe SDK can be configured to emit logs for better visibility into what it's doing. The SDK supports INFO, DEBUG, and ERROR logging.\n\nThere are two ways to enable it:\n\n1. Set the environment variable `COHESIVE_LOG_LEVEL` to the value `debug`, `info` or `error`\n\n ```sh\n $ export COHESIVE_LOG_LEVEL=debug\n ```\n\n2. Enable it through Python's logging module:\n\n ```python\n import logging\n logging.basicConfig()\n logging.getLogger('cohesivenet').setLevel(logging.DEBUG)\n ```\n\n## Author\n\nsolutions@cohesive.net\n\n\n\n[contact-image]: https://img.shields.io/badge/contact-support-blue.svg?style=flat-square\n[contact-url]: https://support.cohesive.net/support/home\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/cohesive/python-cohesivenet-sdk", "keywords": "Cohesive Networks SDK,Cohesive Networks,Secops,SDN,Software Defined Networking,Networkops,networking,Openapi", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "cohesivenet", "package_url": "https://pypi.org/project/cohesivenet/", "platform": "", "project_url": "https://pypi.org/project/cohesivenet/", "project_urls": { "Homepage": "https://github.com/cohesive/python-cohesivenet-sdk" }, "release_url": "https://pypi.org/project/cohesivenet/0.1.0/", "requires_dist": [ "urllib3 (>=1.15)", "certifi (>=14.05.14)", "python-dateutil (>=2.5.3)" ], "requires_python": ">=3.5.0", "summary": "Cohesive Networks SDK", "version": "0.1.0" }, "last_serial": 5978015, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "8442b4a52f56f77f757d5ce3281b1a62", "sha256": "0e236b1199569067eb2aee3558ad85f033df7743732fca48806ee5ade22a79e7" }, "downloads": -1, "filename": "cohesivenet-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "8442b4a52f56f77f757d5ce3281b1a62", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.0", "size": 349092, "upload_time": "2019-10-15T15:31:58", "url": "https://files.pythonhosted.org/packages/88/5e/ca075d7a08babed4d1833069ebd7dc3ee4c2c824959a8604be56b4e6ea9f/cohesivenet-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fc28cfdbb4744d4ff6dcd419bdba553d", "sha256": "0e1b2a4246c67a9e832a0e55d409458a5f72af09926ed272f1ed11e21bc80cc2" }, "downloads": -1, "filename": "cohesivenet-0.1.0.tar.gz", "has_sig": false, "md5_digest": "fc28cfdbb4744d4ff6dcd419bdba553d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.0", "size": 129471, "upload_time": "2019-10-15T15:32:39", "url": "https://files.pythonhosted.org/packages/ae/fb/586d88ddc1876c793a236454a77a178ce53fa5b1a1604c02956ab56c3c23/cohesivenet-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8442b4a52f56f77f757d5ce3281b1a62", "sha256": "0e236b1199569067eb2aee3558ad85f033df7743732fca48806ee5ade22a79e7" }, "downloads": -1, "filename": "cohesivenet-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "8442b4a52f56f77f757d5ce3281b1a62", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.0", "size": 349092, "upload_time": "2019-10-15T15:31:58", "url": "https://files.pythonhosted.org/packages/88/5e/ca075d7a08babed4d1833069ebd7dc3ee4c2c824959a8604be56b4e6ea9f/cohesivenet-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fc28cfdbb4744d4ff6dcd419bdba553d", "sha256": "0e1b2a4246c67a9e832a0e55d409458a5f72af09926ed272f1ed11e21bc80cc2" }, "downloads": -1, "filename": "cohesivenet-0.1.0.tar.gz", "has_sig": false, "md5_digest": "fc28cfdbb4744d4ff6dcd419bdba553d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.0", "size": 129471, "upload_time": "2019-10-15T15:32:39", "url": "https://files.pythonhosted.org/packages/ae/fb/586d88ddc1876c793a236454a77a178ce53fa5b1a1604c02956ab56c3c23/cohesivenet-0.1.0.tar.gz" } ] }