Python client for the HNV (Hyper-V Network Virtualization) REST API.
Project description
Python client for the HNV (Hyper-V Network Virtualization) REST API.
Free software: Apache license
Documentation: http://docs.openstack.org/developer/python-hnvclient
Source: http://git.openstack.org/cgit/openstack/python-hnvclient
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
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
python-hnvclient-0.1.0.tar.gz
(75.8 kB
view details)
Built Distribution
File details
Details for the file python-hnvclient-0.1.0.tar.gz
.
File metadata
- Download URL: python-hnvclient-0.1.0.tar.gz
- Upload date:
- Size: 75.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 77b09e1cc7f28ade7a15976a34ff85a244fd358641fc19ad4a6618de541f74f7 |
|
MD5 | d4e1037ce3692de15cce46cb4bbc28fa |
|
BLAKE2b-256 | a9c8f8b8e19c12910b9fb918724fe722410a462a644aabfef614d638ed9e2b51 |
File details
Details for the file python_hnvclient-0.1.0-py2-none-any.whl
.
File metadata
- Download URL: python_hnvclient-0.1.0-py2-none-any.whl
- Upload date:
- Size: 79.9 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f478c926e1d8262d8a8a593b1de6b481e362b0c319dc996f4f39131f67daa23 |
|
MD5 | c6af100e90ceeca6cfba536ad7612825 |
|
BLAKE2b-256 | e519a6f762f677ded653adf7b2971145cc0de03912f46f15ac2cf930df6fdab6 |