OpenStack Docs: neutronclient Python API
neutronclient Python API¶
Basic Usage¶
First create a client instance using a keystoneauth Session. For more information on this keystoneauth API, see Using Sessions.
>>> from keystoneauth1 import identity >>> from keystoneauth1 import session >>> from neutronclient.v2_0 import client >>> username='username' >>> password='password' >>> project_name='demo' >>> project_domain_id='default' >>> user_domain_id='default' >>> auth_url='http://auth.example.com:5000/v3' >>> auth = identity.Password(auth_url=auth_url, ... username=username, ... password=password, ... project_name=project_name, ... project_domain_id=project_domain_id, ... user_domain_id=user_domain_id) >>> sess = session.Session(auth=auth) >>> neutron = client.Client(session=sess)
If you are using Identity v2.0 API (DEPRECATED), create an auth plugin using the appropriate parameters and keystoneauth1.identity will handle Identity API version discovery. Then you can create a Session and a Neutronclient just like the previous example.
>>> auth = identity.Password(auth_url=auth_url, ... username=username, ... password=password, ... project_name=project_name) >>> # create a Session and a Neutronclient
Now you can call various methods on the client instance.
>>> network = {'name': 'mynetwork', 'admin_state_up': True} >>> neutron.create_network({'network':network}) >>> networks = neutron.list_networks(name='mynetwork') >>> print networks >>> network_id = networks['networks'][0]['id'] >>> neutron.delete_network(network_id)
Alternatively, you can create a client instance using an auth token and a service endpoint URL directly.
>>> from neutronclient.v2_0 import client >>> neutron = client.Client(endpoint_url='http://192.168.206.130:9696/', ... token='d3f9226f27774f338019aa2611112ef6')
You can get X-Openstack-Request-Id as request_ids from the result.
>>> network = {'name': 'mynetwork', 'admin_state_up': True} >>> neutron.create_network({'network':network}) >>> networks = neutron.list_networks(name='mynetwork') >>> print networks.request_ids ['req-978a0160-7ab0-44f0-8a93-08e9a4e785fa']