用于hnv(hyper-v网络虚拟化)rest api的python客户端。
python-hnvclient的Python项目详细描述
用于hnv(hyper-v网络虚拟化)rest api的python客户端。
- 免费软件:apache许可证
- 文档:http://docs.openstack.org/developer/python-hnvclient
- 来源:http://git.openstack.org/cgit/openstack/python-hnvclient
- 错误:http://bugs.launchpad.net/python-hnvclient
功能
python接口与底层rest api匹配,可用于第三方项目。
>>>fromhnvclientimportclient>>>logical_networks=client.LogicalNetworks.get()>>>forlogical_networkinlogical_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.LogicalNetworksobjectat0x7fcd79419910>>>>logical_network.provisioning_stateu'Succeeded'>>>logical_network.subnetworks[<hnvclient.client.LogicalSubnetworksobjectat0x7fcd79419150>]>>>logical_network.subnetworks[0].resource_idu'4390e3d8-c527-4534-882f-906c47ffd0bb'
from__future__importprint_functionimportjsonimportsysfromhnvclientimportclientdefview_logical_networks():"""List all the available logical networks."""logical_networks=client.LogicalNetworks.get()print("Logical networks:")forlogical_networkinlogical_networks:print("\t - ",logical_network.resource_ref)print("\t\t","Logical subnetworks:")forlogical_subnetworkinlogical_network.subnetworks:print("\t\t - %s (%s)"%(logical_subnetwork.resource_id,logical_subnetwork.address_prefix))print("\t\t","Virtual networks:")forvirtual_networkinlogical_network.virtual_networks:print("\t\t - %s"%virtual_network.resource_ref)defcreate_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))defremove_virtual_network():"""Remove the new virtual network."""print("Remove the new virtual network")client.VirtualNetworks.remove(resource_id="hvn-test")defmain():"""Logical networks sample entry point."""client.setup()view_logical_networks()create_virtual_network()view_logical_networks()remove_virtual_network()view_logical_networks()