community.general.proxmox_template 模块 – Proxmox VE 集群中操作系统模板的管理

注意

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

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

要安装它,请使用:ansible-galaxy collection install community.general。您需要其他需求才能使用此模块,有关详细信息,请参阅 需求

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

概要

  • 允许您在 Proxmox VE 集群中上传/删除模板

需求

在执行此模块的主机上需要以下需求。

  • proxmoxer

  • requests

参数

参数

注释

api_host

字符串 / 必需

指定 Proxmox VE 集群的目标主机。

api_password

字符串

指定用于身份验证的密码。

您可以使用 PROXMOX_PASSWORD 环境变量。

api_port

整数

在 community.general 9.1.0 中添加

指定 Proxmox VE 集群的目标端口。

如果未指定,则使用 PROXMOX_PORT 环境变量。

api_token_id

字符串

在 community.general 1.3.0 中添加

指定令牌 ID。

需要 proxmoxer>=1.1.0 才能工作。

api_token_secret

字符串

在 community.general 1.3.0 中添加

指定令牌密钥。

需要 proxmoxer>=1.1.0 才能工作。

api_user

字符串 / 必需

指定用于身份验证的用户。

content_type

字符串

内容类型。

仅对于 state=present 需要。

选项

  • "vztmpl" ← (默认)

  • "iso"

force

布尔值

它只能与 state=present 一起使用,现有的模板将被覆盖。

选项

  • false ← (默认)

  • true

node

字符串

在其上操作的 Proxmox VE 节点。

src

路径

上传文件的路径。

对于 srcurlstate=present 恰好需要一个。

state

字符串

指示模板的所需状态。

选项

  • "present" ← (默认)

  • "absent"

storage

字符串

目标存储。

默认: "local"

template

字符串

模板名称。

对于 state=absent 删除模板是必需的。

对于 state=present 下载设备容器模板 (pveam) 是必需的。

timeout

整数

操作超时。

默认: 30

url

字符串

在 community.general 10.1.0 中添加

要下载的文件的 URL

对于 srcurlstate=present 恰好需要一个。

validate_certs

布尔值

如果 false,则不会验证 SSL 证书。

这仅应在使用自签名证书的个人控制站点上使用。

选项

  • false ← (默认)

  • true

属性

属性

支持

描述

action_group

动作组: community.general.proxmox

在 community.general 9.0.0 中添加

module_defaults 中使用 group/community.general.proxmox 设置此模块的默认值。

check_mode

支持:不支持

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

diff_mode

支持:不支持

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

备注

注意

  • 主机上需要 proxmoxerrequests 模块。可以使用 ansible.builtin.pip 安装这些模块。

  • proxmoxer >= 1.2.0 需要 requests_toolbelt 来上传大于 256 MB 的文件。

示例

- name: Upload new openvz template with minimal options
  community.general.proxmox_template:
    node: uk-mc02
    api_user: root@pam
    api_password: 1q2w3e
    api_host: node1
    src: ~/ubuntu-14.04-x86_64.tar.gz

- name: Pull new openvz template with minimal options
  community.general.proxmox_template:
    node: uk-mc02
    api_user: root@pam
    api_password: 1q2w3e
    api_host: node1
    url: https://ubuntu-mirror/ubuntu-14.04-x86_64.tar.gz

- name: >
    Upload new openvz template with minimal options use environment
    PROXMOX_PASSWORD variable(you should export it before)
  community.general.proxmox_template:
    node: uk-mc02
    api_user: root@pam
    api_host: node1
    src: ~/ubuntu-14.04-x86_64.tar.gz

- name: Upload new openvz template with all options and force overwrite
  community.general.proxmox_template:
    node: uk-mc02
    api_user: root@pam
    api_password: 1q2w3e
    api_host: node1
    storage: local
    content_type: vztmpl
    src: ~/ubuntu-14.04-x86_64.tar.gz
    force: true

- name: Pull new openvz template with all options and force overwrite
  community.general.proxmox_template:
    node: uk-mc02
    api_user: root@pam
    api_password: 1q2w3e
    api_host: node1
    storage: local
    content_type: vztmpl
    url: https://ubuntu-mirror/ubuntu-14.04-x86_64.tar.gz
    force: true

- name: Delete template with minimal options
  community.general.proxmox_template:
    node: uk-mc02
    api_user: root@pam
    api_password: 1q2w3e
    api_host: node1
    template: ubuntu-14.04-x86_64.tar.gz
    state: absent

- name: Download proxmox appliance container template
  community.general.proxmox_template:
    node: uk-mc02
    api_user: root@pam
    api_password: 1q2w3e
    api_host: node1
    storage: local
    content_type: vztmpl
    template: ubuntu-20.04-standard_20.04-1_amd64.tar.gz

作者

  • Sergei Antipov (@UnderGreen)