New in version 2.2.
parameter | required | default | choices | comments |
---|---|---|---|---|
cert_file |
no | "{}/.config/lxc/client.crt" .format(os.environ["HOME"]) |
The client certificate file path.
|
|
config |
no |
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.
|
||
devices |
no |
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
|
||
key_file |
no | "{}/.config/lxc/client.key" .format(os.environ["HOME"]) |
The client certificate key file path.
|
|
name |
yes |
Name of a profile.
|
||
new_name |
no |
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
|
||
state |
no | present |
|
Define the state of a profile.
|
trust_password |
no |
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 |
no | unix:/var/lib/lxd/unix.socket |
The unix domain socket path or the https URL for the LXD server.
|
# 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 cert_file and key_file values are equal to the default values. #cert_file: "{{ lookup('env', 'HOME') }}/.config/lxc/client.crt" #key_file: "{{ 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 Return Values, the following are the fields unique to this module:
name | description | returned | type | sample |
---|---|---|---|---|
actions |
List of actions performed for the profile.
|
success | list | ["create"] |
logs |
The logs of requests and responses.
|
when ansible-playbook is invoked with -vvvv. | list | (too long to be placed here) |
old_state |
The old state of the profile
|
success | string | absent |
Note
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Testing Ansible and Developing Modules.