Parameter | Choices/Defaults | Comments |
---|---|---|
client_cert - | Default: "\"{}/.config/lxc/client.crt\" .format(os.environ[\"HOME\"])" | The client certificate file path. aliases: cert_file |
client_key - | Default: "\"{}/.config/lxc/client.key\" .format(os.environ[\"HOME\"])" | The client certificate key file path. aliases: key_file |
config - | The config for the container (e.g. {"limits.memory": "4GB"}). See https://github.com/lxc/lxd/blob/master/doc/rest-api.md#patch-3
If the profile already exists and its "config" value in metadata obtained from GET /1.0/profiles/<name> https://github.com/lxc/lxd/blob/master/doc/rest-api.md#get-19 are different, they this module tries to apply the configurations. Not all config values are supported to apply the existing profile. Maybe you need to delete and recreate a profile. | |
description - added in 2.5 | Description of the profile. | |
devices - | The devices for the profile (e.g. {"rootfs": {"path": "/dev/kvm", "type": "unix-char"}). See https://github.com/lxc/lxd/blob/master/doc/rest-api.md#patch-3
| |
name - / required | Name of a profile. | |
new_name - | A new name of a profile. If this parameter is specified a profile will be renamed to this name. See https://github.com/lxc/lxd/blob/master/doc/rest-api.md#post-11
| |
snap_url - added in 2.8 | Default: "unix:/var/snap/lxd/common/lxd/unix.socket" | The unix domain socket path when LXD is installed by snap package manager. |
state - |
| Define the state of a profile. |
trust_password - | The client trusted password. You need to set this password on the LXD server before running this module using the following command. lxc config set core.trust_password <some random password> See https://www.stgraber.org/2016/04/18/lxd-api-direct-interaction/
If trust_password is set, this module send a request for authentication before sending any requests. | |
url - | Default: "unix:/var/lib/lxd/unix.socket" | The unix domain socket path or the https URL for the LXD server. |
Note
# An example for creating a profile - hosts: localhost connection: local tasks: - name: Create a profile lxd_profile: name: macvlan state: present config: {} description: my macvlan profile devices: eth0: nictype: macvlan parent: br0 type: nic # An example for creating a profile via http connection - hosts: localhost connection: local tasks: - name: create macvlan profile lxd_profile: url: https://127.0.0.1:8443 # These client_cert and client_key values are equal to the default values. #client_cert: "{{ lookup('env', 'HOME') }}/.config/lxc/client.crt" #client_key: "{{ lookup('env', 'HOME') }}/.config/lxc/client.key" trust_password: mypassword name: macvlan state: present config: {} description: my macvlan profile devices: eth0: nictype: macvlan parent: br0 type: nic # An example for deleting a profile - hosts: localhost connection: local tasks: - name: Delete a profile lxd_profile: name: macvlan state: absent # An example for renaming a profile - hosts: localhost connection: local tasks: - name: Rename a profile lxd_profile: name: macvlan new_name: macvlan2 state: present
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
actions list | success | List of actions performed for the profile. Sample: ["create"] |
logs list | when ansible-playbook is invoked with -vvvv. | The logs of requests and responses. Sample: (too long to be placed here) |
old_state string | success | The old state of the profile Sample: absent |
Hint
If you notice any issues in this documentation, you can edit this document to improve it.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/lxd_profile_module.html