community.general.snap module – Manages snaps
Note
This module is part of the community.general collection (version 10.1.0).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.general
.
To use it in a playbook, specify: community.general.snap
.
Synopsis
Manages snaps packages.
Parameters
Parameter |
Comments |
---|---|
Define which release of a snap is installed and tracked for updates. This option can only be specified if there is a single snap in the task. If not passed, the If the value passed does not contain the See https://snapcraft.io/docs/channels for more details about snap channels. |
|
Install a snap that has classic confinement. This option corresponds to the This level of confinement is permissive, granting full system access, similar to that of traditionally packaged applications that do not use sandboxing mechanisms. This option can only be specified when the task involves a single snap. See https://snapcraft.io/docs/snap-confinement for more details about classic confinement and confinement levels. Choices:
|
|
Install the snap in dangerous mode, without validating its assertions and signatures. This is useful when installing local snaps that are either unsigned or have signatures that have not been acknowledged. See https://snapcraft.io/docs/install-modes for more details about installation modes. Choices:
|
|
Name of the snaps to be installed. Any named snap accepted by the
|
|
Set options with pattern Options will only be applied when See https://snapcraft.io/docs/configuration-in-snaps for more details about snap configuration options. |
|
Desired state of the package. When Choices:
|
Attributes
Attribute |
Support |
Description |
---|---|---|
Support: full |
Can run in |
|
Support: none |
Will return details on what has changed (or possibly needs changing in |
Notes
Note
Privileged operations, such as installing and configuring snaps, require root priviledges. This is only the case if the user has not logged in to the Snap Store.
See Also
See also
- community.general.snap_alias
Manages snap aliases.
Examples
# Install "foo" and "bar" snap
- name: Install foo
community.general.snap:
name:
- foo
- bar
# Install "foo" snap with options par1=A and par2=B
- name: Install "foo" with options
community.general.snap:
name:
- foo
options:
- par1=A
- par2=B
# Install "foo" and "bar" snaps with common option com=A and specific options fooPar=X and barPar=Y
- name: Install "foo" and "bar" with options
community.general.snap:
name:
- foo
- bar
options:
- com=A
- foo:fooPar=X
- bar:barPar=Y
# Remove "foo" snap
- name: Remove foo
community.general.snap:
name: foo
state: absent
# Install a snap with classic confinement
- name: Install "foo" with option --classic
community.general.snap:
name: foo
classic: true
# Install a snap with from a specific channel
- name: Install "foo" with option --channel=latest/edge
community.general.snap:
name: foo
channel: latest/edge
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
The channel the snaps were installed from Returned: When snaps are installed |
|
Whether or not the snaps were installed with the classic confinement Returned: When snaps are installed |
|
The command that was executed on the host Returned: When changed is true |
|
The list of options set/changed in format Returned: When any options have been changed/set |
|
The list of actually installed snaps Returned: When any snaps have been installed |
|
The list of actually removed snaps Returned: When any snaps have been removed |