community.general.proxmox_vm_info 模块 – 获取一个或多个 Proxmox VE 虚拟机的信息

注意

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

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

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

要在剧本中使用它,请指定:community.general.proxmox_vm_info

community.general 7.2.0 中的新增功能

概要

  • 检索一个或多个 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

字符串 / 必需

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

config

字符串

community.general 8.1.0 中新增

是否与 VM 状态一起检索 VM 配置。

如果设置为 none (默认),则不会返回任何配置。

如果设置为 current,则将返回当前运行的配置。

如果设置为 pending,则将返回应用了挂起更改的配置。

选项

  • "none" ← (默认)

  • "current"

  • "pending"

name

字符串

使用虚拟机的名称来限制结果到特定的虚拟机。

如果集群中不存在具有指定名称的虚拟机,则结果列表将为空。

network

布尔值

community.general 9.1.0 中新增

是否检索当前网络状态。

需要在 qemu VM 上启用/运行 qemu-guest-agent。

选项

  • false ← (默认)

  • true

node

字符串

将结果限制到特定的 Proxmox VE 节点。

type

字符串

将结果限制到特定类型的虚拟机。

选项

  • "all" ← (默认)

  • "qemu"

  • "lxc"

validate_certs

布尔值

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

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

选项

  • false ← (默认)

  • true

vmid

整数

使用虚拟机的 ID 来限制结果到特定的虚拟机。

如果集群中不存在具有指定 vmid 的虚拟机,则结果列表将为空。

属性

属性

支持

描述

action_group

动作组: community.general.proxmox

community.general 9.0.0 中新增

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

check_mode

支持:完全支持

此操作不会修改状态。

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

diff_mode

支持: N/A

此操作不会修改状态。

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

示例

- name: List all existing virtual machines on node
  community.general.proxmox_vm_info:
    api_host: proxmoxhost
    api_user: root@pam
    api_token_id: '{{ token_id | default(omit) }}'
    api_token_secret: '{{ token_secret | default(omit) }}'
    node: node01

- name: List all QEMU virtual machines on node
  community.general.proxmox_vm_info:
    api_host: proxmoxhost
    api_user: root@pam
    api_password: '{{ password | default(omit) }}'
    node: node01
    type: qemu

- name: Retrieve information about specific VM by ID
  community.general.proxmox_vm_info:
    api_host: proxmoxhost
    api_user: root@pam
    api_password: '{{ password | default(omit) }}'
    node: node01
    type: qemu
    vmid: 101

- name: Retrieve information about specific VM by name and get current configuration
  community.general.proxmox_vm_info:
    api_host: proxmoxhost
    api_user: root@pam
    api_password: '{{ password | default(omit) }}'
    node: node01
    type: lxc
    name: lxc05.home.arpa
    config: current

返回值

常见的返回值在此处有说明 此处,以下是此模块特有的字段

描述

proxmox_vms

列表 / 元素=字典

虚拟机列表。

返回:成功时

示例: [{"cpu": 0.258944410905281, "cpus": 1, "disk": 0, "diskread": 0, "diskwrite": 0, "id": "qemu/100", "maxcpu": 1, "maxdisk": 34359738368, "maxmem": 4294967296, "mem": 35158379, "name": "pxe.home.arpa", "netin": 99715803, "netout": 14237835, "node": "pve", "pid": 1947197, "status": "running", "template": false, "type": "qemu", "uptime": 135530, "vmid": 100}, {"cpu": 0, "cpus": 1, "disk": 0, "diskread": 0, "diskwrite": 0, "id": "qemu/101", "maxcpu": 1, "maxdisk": 0, "maxmem": 536870912, "mem": 0, "name": "test1", "netin": 0, "netout": 0, "node": "pve", "status": "stopped", "template": false, "type": "qemu", "uptime": 0, "vmid": 101}]

作者

  • Sergei Antipov (@UnderGreen) <greendayonfire at gmail dot com>