Skip to main content

Universal vManage API

Project description

vManage-client

Python3.8

vManage client is a package for creating simple and parallel automatic requests via official vManageAPI. It is intended to serve as a multiple session handler (provider, provider as a tenant, tenant). The library is not dependent on environment which is being run, you just need a connection to any vManage.

Installation

pip install vmngclient

Hello world example

Python (click to expand)
from vmngclient.session import create_vManageSession


base_url = "sandbox-sdwan-2.cisco.com/"
username = "devnetuser"
password = "RG!_Yw919_83"
session = create_vManageSession(url=base_url, username=username, password=password)


>>> "Logged as devnetuser. The session type is SessionType.TENANT"
>>> {'title': 'Cisco vManage', 'version': '20.4.2.1', 'applicationVersion': '20.4R-vbamboo-16-Dec-2021 19:07:17 PST', 'applicationServer': 'vmanage', 'copyright': 'Copyright (c) 2022, Cisco. All rights reserved.', 'time': '2022-12-01 13:45:44', 'timeZone': 'UTC', 'logo': '/dataservice/client/logo.png'}

Note:

To remove InsecureRequestWarning, you can include in your scripts:

import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

User creation example

Python (click to expand)
from vmngclient.api.administration import UserAlreadyExistsError, UserApi
from vmngclient.dataclasses import User
from vmngclient.session import create_vManageSession

session = create_vManageSession(url=..., username=..., password=...)
user_api = UserApi(session)

test_user = User(
    group=["basic"],
    description="Demo User",
    username="demouser",
    password="password",
    locale="en_US",
    resource_group="global"
)

try:
    user_api.create_user(test_user)
except UserAlreadyExistsError as error:
    print(f"User {username} already exists.")

API usage examples

AdminTechAPI

Python (click to expand)
from vmngclient.session import create_vManageSession
from vmngclient.api.admin_tech_api import AdminTechAPI

session = create_vManageSession(url=..., username=..., password=...)
admintech = AdminTechAPI(session)
filename = admintech.generate("172.16.255.11")
admintech.download(filename)
admintech.delete(filename)

Contributing, reporting issues, seeking support

Please contact authors direcly or via Issues Github page.

Enviroment setup

  1. Download Python3.8 or higher.

  2. Download repository

    git clone https://github.com/CiscoDevNet/vManage-client.git
    
  3. Install and configure poetry (v1.3.1 or higher) https://python-poetry.org/docs/#installation

    On linux/mac this usually means:

    curl -sSL https://install.python-poetry.org | python3 -
    poetry config virtualenvs.in-project true
    

    Depending on your IDE you might at this point think about proper integration

    https://www.jetbrains.com/help/pycharm/poetry.html

    https://code.visualstudio.com/docs/python/environments

  4. Install dependecies

    poetry install
    
  5. Activate pre-commit

    pre-commit install
    

Add new feature

To add new feature create new branch and implement it. Before making a pull request make sure that pre-commit passes.

  • Building package for tests
    To make a .whl file run
    poetry build
    
    Then in /vManage-client/dist/ directory there is a .whl file named vmngclient-<version>-py3-none-any.whl, which can be installed by running
    pip install vmngclient-<version>-py3-none-any.whl
    

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vmngclient-0.6.0.tar.gz (65.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vmngclient-0.6.0-py3-none-any.whl (90.3 kB view details)

Uploaded Python 3

File details

Details for the file vmngclient-0.6.0.tar.gz.

File metadata

  • Download URL: vmngclient-0.6.0.tar.gz
  • Upload date:
  • Size: 65.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.8.16 Linux/5.15.0-1031-azure

File hashes

Hashes for vmngclient-0.6.0.tar.gz
Algorithm Hash digest
SHA256 3df830feb6b6dd1e2d8d7229608bdd8af496d4501e33e91da06cd9501e4d8528
MD5 726e30a46570f0d5c530bad6a042a29e
BLAKE2b-256 2eee4ad0307d1ba03124feba68589286a21887edc933aee2ed4dd8e947f60050

See more details on using hashes here.

File details

Details for the file vmngclient-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: vmngclient-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 90.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.8.16 Linux/5.15.0-1031-azure

File hashes

Hashes for vmngclient-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5446408dd609e8666f3b224833c2cb7873962260dcffbb977788e515820118ae
MD5 4611fdb6fa11567304972ae330939941
BLAKE2b-256 ba7814a1e7bd834c5208b9e6144f2542f6184c2ba04b98579c408d6b87d42b0c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page