Skip to main content

Python client for the HNV (Hyper-V Network Virtualization) REST API.

Project description

https://travis-ci.org/cloudbase/python-hnvclient.svg?branch=master

Python client for the HNV (Hyper-V Network Virtualization) REST API.

Features

The Python interface matches the underlying REST API and can be employed in 3rd party projects.

>>> from hnvclient import client
>>> logical_networks = client.LogicalNetworks.get()
>>> for logical_network in logical_networks:
...     print(logical_network.resource_id)
...
"63606911-e053-42cf-842e-29f67c90d5c6"
"c4cd42ff-5efb-4006-ac56-479730557926"
"cd804db3-df59-4f57-8a7d-11cc3f3c4d98"

>>> logical_network = client.LogicalNetworks.get(resource_id="cd804db3-df59-4f57-8a7d-11cc3f3c4d98")
>>> logical_network
<hnvclient.client.LogicalNetworks object at 0x7fcd79419910>
>>> logical_network.provisioning_state
u'Succeeded'
>>> logical_network.subnetworks
[<hnvclient.client.LogicalSubnetworks object at 0x7fcd79419150>]
>>> logical_network.subnetworks[0].resource_id
u'4390e3d8-c527-4534-882f-906c47ffd0bb'
from __future__ import print_function

import json
import sys

from hnvclient import client


def view_logical_networks():
    """List all the available logical networks."""
    logical_networks = client.LogicalNetworks.get()
    print("Logical networks:")
    for logical_network in logical_networks:
        print("\t - ", logical_network.resource_ref)
        print("\t\t", "Logical subnetworks:")
        for logical_subnetwork in logical_network.subnetworks:
            print("\t\t - %s (%s)" % (logical_subnetwork.resource_id,
                                      logical_subnetwork.address_prefix))

        print("\t\t", "Virtual networks:")
        for virtual_network in logical_network.virtual_networks:
            print("\t\t - %s" % virtual_network.resource_ref)


def create_virtual_network():
    """Create a new virtual network on the first logical network."""
    print("Creating a new virtual network.")
    address_space = client.AddressSpace(
        address_prefixes=["192.168.133.0/24"])

    logical_network = client.Resource(
        resource_ref=client.LogicalNetworks.get()[0].resource_ref)

    virtual_network = client.VirtualNetworks(
        resource_id="hvn-test",
        address_space=address_space,
        logical_network=logical_network,
    )
    virtual_network.commit()

    print("The raw content of the new Virtual Network")
    print(json.dumps(virtual_network.dump(), indent=4))


def remove_virtual_network():
    """Remove the new virtual network."""
    print("Remove the new virtual network")
    client.VirtualNetworks.remove(resource_id="hvn-test")


def main():
    """Logical networks sample entry point."""
    client.setup()
    view_logical_networks()
    create_virtual_network()
    view_logical_networks()
    remove_virtual_network()
    view_logical_networks()

Project details


Download files

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

Source Distribution

python-hnvclient-0.1.0.tar.gz (75.8 kB view details)

Uploaded Source

Built Distribution

python_hnvclient-0.1.0-py2-none-any.whl (79.9 kB view details)

Uploaded Python 2

File details

Details for the file python-hnvclient-0.1.0.tar.gz.

File metadata

File hashes

Hashes for python-hnvclient-0.1.0.tar.gz
Algorithm Hash digest
SHA256 77b09e1cc7f28ade7a15976a34ff85a244fd358641fc19ad4a6618de541f74f7
MD5 d4e1037ce3692de15cce46cb4bbc28fa
BLAKE2b-256 a9c8f8b8e19c12910b9fb918724fe722410a462a644aabfef614d638ed9e2b51

See more details on using hashes here.

File details

Details for the file python_hnvclient-0.1.0-py2-none-any.whl.

File metadata

File hashes

Hashes for python_hnvclient-0.1.0-py2-none-any.whl
Algorithm Hash digest
SHA256 5f478c926e1d8262d8a8a593b1de6b481e362b0c319dc996f4f39131f67daa23
MD5 c6af100e90ceeca6cfba536ad7612825
BLAKE2b-256 e519a6f762f677ded653adf7b2971145cc0de03912f46f15ac2cf930df6fdab6

See more details on using hashes here.

Supported by

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