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']