vmware.vmware_rest.vcenter_vm_hardware_ethernet 模块 – 向虚拟机添加虚拟以太网适配器。

注意

此模块是 vmware.vmware_rest 集合 (版本 4.3.0) 的一部分。

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

要安装它,请使用: ansible-galaxy collection install vmware.vmware_rest。您需要其他要求才能使用此模块,请参阅 要求 了解详情。

要在 playbook 中使用它,请指定: vmware.vmware_rest.vcenter_vm_hardware_ethernet

vmware.vmware_rest 0.1.0 中的新增功能

概要

  • 向虚拟机添加虚拟以太网适配器。

要求

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

  • vSphere 7.0.3 或更高版本

  • python >= 3.6

  • aiohttp

参数

参数

注释

allow_guest_control

布尔值

指示客户机是否可以连接和断开设备的标志。

如果未设置,则值保持不变。

选项

  • false

  • true

backing

字典

虚拟以太网适配器的物理资源后端。

如果未设置,系统可能会尝试查找合适的备份。如果找不到,请求将失败。需要使用 *state=[‘present’]*

有效属性为

  • type (str): 此选项定义虚拟以太网适配器的有效后端类型。([‘present’])

此键对于 [‘present’] 是必需的。

  • 接受的值

  • DISTRIBUTED_PORTGROUP

  • HOST_DEVICE

  • OPAQUE_NETWORK

  • STANDARD_PORTGROUP

  • network (str): 支持虚拟以太网适配器的网络的标识符。

此字段是可选的,仅当 *type* 的值为 STANDARD_PORTGROUP、DISTRIBUTED_PORTGROUP 或 OPAQUE_NETWORK 之一时才相关。

当客户端将此结构的值作为参数传递时,该字段必须是 vmware.vmware_rest.vcenter_network_info 返回的资源的 ID。([‘present’])

  • distributed_port (str): 支持虚拟以太网适配器的分布式虚拟端口的键。根据端口组的类型,可以使用此字段指定端口。如果端口组类型是早期绑定(也称为静态),则在配置以太网适配器以使用该端口时会分配一个端口。根据此字段的值,端口可以自动或专门分配。如果端口组类型是短暂的,则在虚拟机启动并以太网适配器连接时,将创建并分配端口到虚拟机。由于在使用前不存在可用端口,因此无法指定此字段。

可用于在 *network* 字段上指定的网络是静态或早期绑定分布式端口组时指定端口。如果未设置,则端口将根据端口组类型体现的策略自动分配给以太网适配器。([‘present’])

label

字符串

项目的名称

mac_address

字符串

MAC 地址。

此字段可以在任何时间修改,更改将在下次虚拟机启动时应用。

如果未设置,则值保持不变。如果 *mac_type* 为 MANUAL,则必须指定。如果 MAC 地址类型不是 MANUAL,则必须取消设置。

mac_type

字符串

*mac_address_type* 枚举类型定义虚拟以太网适配器的有效 MAC 地址来源。

选项

  • "ASSIGNED"

  • "GENERATED"

  • "MANUAL"

nic

字符串

虚拟以太网适配器标识符。

参数必须是 vmware.vmware_rest.vcenter_vm_hardware_ethernet 返回的资源的 ID。需要使用 *state=[‘absent’, ‘connect’, ‘disconnect’, ‘present’]*

pci_slot_number

整数

PCI 总线上虚拟以太网适配器的地址。如果 PCI 地址无效,则服务器将在虚拟机启动或设备热添加时更改。

如果未设置,服务器将在虚拟机启动时选择可用的地址。

session_timeout

浮点数

在 vmware.vmware_rest 2.1.0 中添加

客户端会话的超时设置。

整个操作(包括连接建立、请求发送和响应)的最大秒数。

默认值为 300 秒。

start_connected

布尔值

指示虚拟设备是否应在每次虚拟机启动时连接的标志。

如果未设置,则值保持不变。

选项

  • false

  • true

state

字符串

选项

  • "absent"

  • "connect"

  • "disconnect"

  • "present" ← (默认)

type

字符串

*emulation_type* 枚举类型定义虚拟以太网适配器的有效仿真类型。

选项

  • "E1000"

  • "E1000E"

  • "PCNET32"

  • "VMXNET"

  • "VMXNET2"

  • "VMXNET3"

upt_compatibility_enabled

布尔值

指示是否应在此虚拟以太网适配器上启用通用直通 (UPT) 兼容性的标志。

此字段可以在任何时间修改,更改将在下次虚拟机启动时应用。

如果未设置,则值保持不变。如果虚拟以太网适配器的仿真类型不是 VMXNET3,则必须取消设置。

选项

  • false

  • true

vcenter_hostname

字符串 / 必需

vSphere vCenter 的主机名或 IP 地址

如果任务中未指定此值,则将使用环境变量 VMWARE_HOST 的值。

vcenter_password

字符串 / 必需

vSphere vCenter 密码

如果任务中未指定此值,则将使用环境变量 VMWARE_PASSWORD 的值。

vcenter_rest_log_file

字符串

您可以使用此可选参数来设置日志文件的位置。

此文件将用于记录 HTTP REST 交互。

该文件将存储在运行模块的主机上。

如果任务中未指定此值,则将使用

环境变量 VMWARE_REST_LOG_FILE 的值。

vcenter_username

字符串 / 必需

vSphere vCenter 用户名

如果任务中未指定此值,则将使用环境变量 VMWARE_USER 的值。

vcenter_validate_certs

布尔值

允许在 SSL 证书无效时连接。当证书不受信任时,将其设置为 false

如果任务中未指定此值,则将使用环境变量 VMWARE_VALIDATE_CERTS 的值。

选项

  • false

  • true ← (默认)

vm

字符串 / 必需

虚拟机标识符。

此参数必须是由 vmware.vmware_rest.vcenter_vm_info 返回的资源 ID。此参数是必需的。

wake_on_lan_enabled

布尔值

指示是否应在此虚拟以太网适配器上启用 Wake-on-LAN 的标志。

此字段可以在任何时间修改,更改将在下次虚拟机启动时应用。

如果未设置,则值保持不变。

选项

  • false

  • true

备注

注意

  • 在 vSphere 7.0.3 上测试

示例

- name: Get the dvswitch called my-portgroup
  vmware.vmware_rest.vcenter_network_info:
    filter_types: DISTRIBUTED_PORTGROUP
    filter_names: my portrgoup
  register: my_portgroup

- name: Look up the VM called test_vm1 in the inventory
  register: search_result
  vmware.vmware_rest.vcenter_vm_info:
    filter_names:
    - test_vm1

- name: Collect information about a specific VM
  vmware.vmware_rest.vcenter_vm_info:
    vm: '{{ search_result.value[0].vm }}'
  register: test_vm1_info

- name: Attach a VM to a dvswitch
  vmware.vmware_rest.vcenter_vm_hardware_ethernet:
    vm: '{{ test_vm1_info.id }}'
    pci_slot_number: 4
    backing:
      type: DISTRIBUTED_PORTGROUP
      network: '{{ my_portgroup.value[0].network }}'
    start_connected: false
  register: vm_hardware_ethernet_1

- name: Turn the NIC's start_connected flag on
  vmware.vmware_rest.vcenter_vm_hardware_ethernet:
    nic: '{{ vm_hardware_ethernet_1.id }}'
    start_connected: true
    vm: '{{ test_vm1_info.id }}'

- name: Attach the VM to a standard portgroup
  vmware.vmware_rest.vcenter_vm_hardware_ethernet:
    vm: '{{ test_vm1_info.id }}'
    pci_slot_number: 4
    backing:
      type: STANDARD_PORTGROUP
      network: "{{ lookup('vmware.vmware_rest.network_moid', '/my_dc/network/VM Network') }}"
  register: _result

- name: Attach the VM to a standard portgroup (again)
  vmware.vmware_rest.vcenter_vm_hardware_ethernet:
    vm: '{{ test_vm1_info.id }}'
    pci_slot_number: 4
    backing:
      type: STANDARD_PORTGROUP
      network: "{{ lookup('vmware.vmware_rest.network_moid', '/my_dc/network/VM Network') }}"
  register: _result

- name: Collect a list of the NIC for a given VM
  vmware.vmware_rest.vcenter_vm_hardware_ethernet_info:
    vm: '{{ test_vm1_info.id }}'
  register: vm_nic

- name: Attach the VM to a standard portgroup (again) using the nic ID
  vmware.vmware_rest.vcenter_vm_hardware_ethernet:
    vm: '{{ test_vm1_info.id }}'
    nic: '{{ vm_nic.value[0].nic }}'
    backing:
      type: STANDARD_PORTGROUP
      network: "{{ lookup('vmware.vmware_rest.network_moid', '/my_dc/network/VM Network') }}"
  register: _result

- name: Attach to another standard portgroup
  vmware.vmware_rest.vcenter_vm_hardware_ethernet:
    vm: '{{ test_vm1_info.id }}'
    nic: '{{ vm_nic.value[0].nic }}'
    backing:
      type: STANDARD_PORTGROUP
      network: "{{ lookup('vmware.vmware_rest.network_moid', '/my_dc/network/second_vswitch') }}"
  register: _result

返回值

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

描述

id

字符串

资源的 moid

返回:成功时

示例: "4000"

value

字典

将虚拟机连接到 dvswitch

返回:成功时

示例: {"allow_guest_control": 0, "backing": {"connection_cookie": 632732945, "distributed_port": "2", "distributed_switch_uuid": "50 31 d3 c4 2d 09 4f e3-0f d6 7f 30 3d fe d4 a0", "network": "dvportgroup-1022", "type": "DISTRIBUTED_PORTGROUP"}, "label": "Network adapter 1", "mac_address": "00:50:56:b1:33:76", "mac_type": "ASSIGNED", "pci_slot_number": 4, "start_connected": 0, "state": "NOT_CONNECTED", "type": "VMXNET3", "upt_compatibility_enabled": 0, "wake_on_lan_enabled": 0}

作者

  • Ansible 云团队 (@ansible-collections)