community.general.snap 模块 – 管理 snaps

注意

此模块是 community.general 集合 (版本 10.1.0) 的一部分。

如果您正在使用 ansible 包,您可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.general

要在 playbook 中使用它,请指定:community.general.snap

概要

  • 管理 snaps 包。

参数

参数

注释

channel

字符串

定义安装和跟踪更新的 snap 版本。此选项仅在任务中只有一个 snap 时才能指定。

如果未传递,则 snap 命令将默认为 stable

如果传递的值不包含 track,则将默认为 latest。例如,如果传递 edge,则模块将假设通道为 latest/edge

有关 snap 通道的更多详细信息,请参阅 https://snapcraft.io/docs/channels

classic

布尔值

安装具有经典限制的 snap。

此选项对应于 snap install 命令的 --classic 参数。

此限制级别具有权限,允许完全访问系统,类似于不使用沙盒机制的传统打包应用程序。此选项仅在任务涉及单个 snap 时才能指定。

有关经典限制和限制级别的更多详细信息,请参阅 https://snapcraft.io/docs/snap-confinement

选项

  • false ← (默认)

  • true

dangerous

布尔值

在 community.general 7.2.0 中添加

以危险模式安装 snap,不验证其断言和签名。

这在安装未签名或签名未被确认的本地 snap 时很有用。

有关安装模式的更多详细信息,请参阅 https://snapcraft.io/docs/install-modes

选项

  • false ← (默认)

  • true

name

列表 / 元素=字符串 / 必需

要安装的 snaps 的名称。

snap 命令接受的任何命名 snap 均有效。

dangerous=true 在安装 `.snap` 文件时可能很有必要。有关更多详细信息,请参阅 dangerous

options

列表 / 元素=字符串

在 community.general 4.4.0 中添加

使用模式 key=valuesnap:key=value 设置选项。如果给出了 snap 名称,则该选项将仅应用于该 snap。如果省略 snap 名称,则这些选项将应用于 name 中列出的所有 snaps。选项将仅应用于活动的 snaps。

仅当 state 设置为 present 时,才会应用选项。这是在安装或刷新(升级/降级)name 中列出的所有 snaps 后完成的。

有关 snap 配置选项的更多详细信息,请参阅 https://snapcraft.io/docs/configuration-in-snaps

state

字符串

软件包的目标状态。

state=present 时,如果 snap 未安装,该模块将使用 snap install 命令;如果 snap 已安装,但来自不同的通道,则将使用 snap refresh 命令。

选项

  • "absent" (不存在)

  • "present" ← (默认)

  • "enabled" (已启用)

  • "disabled" (已禁用)

属性

属性

支持

描述

check_mode

支持:完全支持

可以在 check_mode 下运行,并在不修改目标的情况下返回更改状态预测。

diff_mode

支持:不支持

在 diff 模式下,将返回有关已更改内容(或在 check_mode 下可能需要更改的内容)的详细信息。

备注

注意

  • 安装和配置 snap 等特权操作需要 root 权限。只有当用户未登录 Snap 商店时,才会出现这种情况。

另请参阅

另请参阅

community.general.snap_alias

管理 snap 别名。

示例

# 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

返回值

常见的返回值已在此处记录,以下是此模块特有的字段:

描述

channel

字符串

snap 安装的通道

返回:当安装 snap 时

classic

布尔值

snap 是否使用 classic confinement 安装

返回:当安装 snap 时

cmd

字符串

在主机上执行的命令

返回:当 changed 为 true 时

options_changed

列表 / 元素=字符串

在 community.general 4.4.0 中添加

已设置/更改的选项列表,格式为 snap:key=value

返回:当任何选项已更改/设置时

snaps_installed

列表 / 元素=字符串

实际安装的 snap 列表

返回:当安装任何 snap 时

snaps_removed

列表 / 元素=字符串

实际移除的 snap 列表

返回:当移除任何 snap 时

作者

  • Victor Carceler (@vcarceler)

  • Stanislas Lange (@angristan)