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)