Networks¶
Network
objects show the current networks available to LXD. Creation
and / or modification of networks is possible only if ‘network’ LXD API
extension is present.
Manager methods¶
Networks can be queried through the following client manager methods:
all()
- Retrieve all networks.
exists()
- See if a profile with a name exists. Returns bool.
get()
- Get a specific network, by its name.
create()
- Create a new network. The name of the network is required. description, type and config are optional and the scope of their contents is documented in the LXD documentation.
Network attributes¶
name
- The name of the network.
description
- The description of the network.
type
- The type of the network.
used_by
- A list of containers using this network.
config
- The configuration associated with the network.
managed
- boolean; whether LXD manages the network.
Network methods¶
Examples¶
Network
operations follow the same manager-style as other
classes. Networks are keyed on a unique name.
>>> network = client.networks.get('lxdbr0')
>>> network
Network(config={"ipv4.address": "10.74.126.1/24", "ipv4.nat": "true", "ipv6.address": "none"}, description="", name="lxdbr0", type="bridge")
>>> print(network)
{
"name": "lxdbr0",
"description": "",
"type": "bridge",
"config": {
"ipv4.address": "10.74.126.1/24",
"ipv4.nat": "true",
"ipv6.address": "none"
},
"managed": true,
"used_by": []
}
The network can then be modified and saved.
>>> network.config['ipv4.address'] = '10.253.10.1/24'
>>> network.save()
To create a new network, use create()
with a name, and optional
arguments: description and type and config.
>>> network = client.networks.create(
... 'lxdbr1', description='My new network', type='bridge', config={})