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
    
  4. Install dependecies

    poetry install
    
  5. Activate pre-commit

    pre-commit install
    

Environment Variables

  • VMNGCLIENT_DEVEL when set: loggers will be configured according to ./logging.conf and urllib3.exceptions.InsecureRequestWarning will be suppressed

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

This version

0.6.1

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.1.tar.gz (70.4 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.1-py3-none-any.whl (98.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for vmngclient-0.6.1.tar.gz
Algorithm Hash digest
SHA256 7e7bbe312d19bab4c6ea3dd96dbb2aa5ea8962a64395d9b28bf18901ac95bf22
MD5 e9331ebaa020910c7fd04b36aa6471da
BLAKE2b-256 deefd99b7a20086a5cf6debb56669be561558b8e336f6c4311725142b16e57bc

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for vmngclient-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 de470ab3578471716729dc5cbb48d5a8384017ea50169d8ba5cb305cb8186b84
MD5 564002415c2287e5197a83501aea0500
BLAKE2b-256 40ae8378a36a46ec824322d61631aacd1b1d8e44a49582afc2a8b087073de96e

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