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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|