community.general.proxmox_nic 模块 – 管理 Proxmox VE 集群中 Qemu(KVM) 虚拟机的网卡

注意

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

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

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

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

community.general 3.1.0 中的新功能

概要

  • 允许您在 Proxmox VE 集群中的 Qemu(KVM) 虚拟机上创建/更新/删除网卡。

要求

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

  • 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

字符串 / 必需

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

bridge

字符串

将此接口添加到指定的网桥设备。Proxmox VE 默认网桥称为 vmbr0

firewall

布尔值

此接口是否应受防火墙保护。

选项

  • false ←(默认)

  • true

interface

字符串 / 必需

接口的名称,应为 net[n],其中 1 n 31

布尔值

此接口是否应断开连接(如拔掉插头)。

选项

  • false ←(默认)

  • true

mac

字符串

XX:XX:XX:XX:XX:XX 应为唯一的 MAC 地址。如果未指定,则会自动生成。

如果未指定,则此模块在更改现有接口时将保持 MAC 地址不变。

model

字符串

网卡模拟器模型。

选项

  • "e1000"

  • "e1000-82540em"

  • "e1000-82544gc"

  • "e1000-82545em"

  • "i82551"

  • "i82557b"

  • "i82559er"

  • "ne2k_isa"

  • "ne2k_pci"

  • "pcnet"

  • "rtl8139"

  • "virtio" ←(默认)

  • "vmxnet3"

mtu

整数

强制 MTU,仅适用于 virtio 模型,否则将忽略设置。

设置为 1 以使用网桥 MTU。

值应为 1 n 65520

name

字符串

指定 VM 名称。仅在配置 Web 界面上使用。

仅当 state=present 时才需要。

queues

整数

要在设备上使用的数据包队列的数量。

值应为 0 n 16

rate

浮点数

速率限制,以 MBps(兆字节每秒)为单位,表示为浮点数。

state

字符串

指示网卡的所需状态。

选项

  • "present" ←(默认)

  • "absent"

tag

整数

要应用于此接口上数据包的 VLAN 标签。

值应为 1 n 4094

中继链路

列表 / 元素=整数

要通过此接口传递的 VLAN 中继链路列表。

validate_certs

布尔值

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

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

选项

  • false ←(默认)

  • true

vmid

整数

指定实例 ID。

属性

属性

支持

描述

action_group

操作组: community.general.proxmox

在 community.general 9.0.0 中添加

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

check_mode

支持: 完整

可以在 check_mode 中运行,并返回更改状态预测,而无需修改目标。

diff_mode

支持:

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

示例

- name: Create NIC net0 targeting the vm by name
  community.general.proxmox_nic:
    api_user: root@pam
    api_password: secret
    api_host: proxmoxhost
    name: my_vm
    interface: net0
    bridge: vmbr0
    tag: 3

- name: Create NIC net0 targeting the vm by id
  community.general.proxmox_nic:
    api_user: root@pam
    api_password: secret
    api_host: proxmoxhost
    vmid: 103
    interface: net0
    bridge: vmbr0
    mac: "12:34:56:C0:FF:EE"
    firewall: true

- name: Delete NIC net0 targeting the vm by name
  community.general.proxmox_nic:
    api_user: root@pam
    api_password: secret
    api_host: proxmoxhost
    name: my_vm
    interface: net0
    state: absent

返回值

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

描述

msg

字符串

一条简短消息

返回: 总是

示例: "Nic net0 vmid 103 VM 上未更改"

vmid

整数

VM 的 vmid。

返回: 成功

示例: 115

作者

  • Lammert Hellinga (@Kogelvis)