community.vmware.vmware_vswitch 模块 – 管理 ESXi 主机的 VMware 标准交换机。

注意

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

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

要安装它,请使用:ansible-galaxy collection install community.vmware

要在 playbook 中使用它,请指定:community.vmware.vmware_vswitch

概要

  • 此模块可用于在 ESXi 主机上添加、删除和更新 VMware 标准交换机。

参数

参数

注释

esxi_hostname

别名:host

字符串

使用此 ESXi 主机系统管理 vSwitch。

hostname

字符串

vSphere vCenter 或 ESXi 服务器的主机名或 IP 地址。

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

mtu

整数

要在 vSwitch 上配置的 MTU。

默认值:1500

nics

别名:nic_name

列表 / 元素=字符串

要附加到 vSwitch 的 vmnic 名称或 vmnic 名称列表。

默认值:[]

number_of_ports

整数

要在 vSwitch 上配置的端口数。

默认值:128

password

别名:pass, pwd

字符串

vSphere vCenter 或 ESXi 服务器的密码。

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

port

整数

vSphere vCenter 或 ESXi 服务器的端口号。

如果未在任务中指定该值,则将改用环境变量 VMWARE_PORT 的值。

默认值:443

proxy_host

字符串

将接收所有 HTTPS 请求并转发它们的代理的地址。

格式为主机名或 IP。

如果未在任务中指定该值,则将改用环境变量 VMWARE_PROXY_HOST 的值。

proxy_port

整数

将接收所有 HTTPS 请求并转发它们的 HTTP 代理的端口。

如果未在任务中指定该值,则将改用环境变量 VMWARE_PROXY_PORT 的值。

security

别名:security_policy, network_policy

字典

网络策略指定端口组的第 2 层安全设置,例如混杂模式(其中来宾适配器侦听所有数据包)、MAC 地址更改和伪造的传输。

配置端口组的不同安全值的字典。

forged_transmits

布尔值

指示是否允许伪造的传输。

选择

  • false

  • true

mac_changes

布尔值

指示是否允许 MAC 地址更改。

选择

  • false

  • true

promiscuous_mode

布尔值

指示是否允许混杂模式。

选择

  • false

  • true

state

字符串

添加或删除交换机。

选择

  • "absent"

  • "present" ←(默认值)

switch

别名:switch_name

字符串 / 必需

要添加的 vSwitch 名称。

teaming

别名:teaming_policy

字典

配置端口组的不同 teaming 值的字典。

active_adapters

列表 / 元素=字符串

用于负载平衡的活动适配器列表。

如果未定义 teaming.active_adaptersteaming.standby_adapters,则所有 vmnic 都将用作活动适配器。

failback

布尔值

指示在恢复链接时是否使用故障恢复。

选择

  • false

  • true

load_balancing

别名:load_balance_policy

字符串

网络适配器组队策略。

选择

  • "loadbalance_ip"

  • "loadbalance_srcmac"

  • "loadbalance_srcid"

  • "failover_explicit"

network_failure_detection

字符串

网络故障检测。

选择

  • "link_status_only"

  • "beacon_probing"

notify_switches

布尔值

指示在链接失败时是否通知物理交换机。

选择

  • false

  • true

standby_adapters

列表 / 元素=字符串

用于故障转移的备用适配器列表。

如果未定义 teaming.active_adaptersteaming.standby_adapters,则所有 vmnic 都将用作活动适配器。

traffic_shaping

字典

配置交换机流量整形的字典。

average_bandwidth

整数

平均带宽(千比特/秒)。

burst_size

整数

突发大小(KB)。

enabled

布尔值

流量整形策略的状态。

选择

  • false

  • true

peak_bandwidth

整数

峰值带宽(千比特/秒)。

username

别名:admin, user

字符串

vSphere vCenter 或 ESXi 服务器的用户名。

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

validate_certs

布尔值

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

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

选择

  • false

  • true ← (默认)

注释

注意

  • 所有模块都需要 API 写入权限,因此在免费 ESXi 许可证上不受支持。

  • 所有变量和 VMware 对象名称都区分大小写。

示例

- name: Add a VMware vSwitch
  community.vmware.vmware_vswitch:
    hostname: '{{ esxi_hostname }}'
    username: '{{ esxi_username }}'
    password: '{{ esxi_password }}'
    switch: vswitch_name
    nics: vmnic_name
    mtu: 9000
  delegate_to: localhost

- name: Add a VMware vSwitch without any physical NIC attached
  community.vmware.vmware_vswitch:
    hostname: '{{ esxi_hostname }}'
    username: '{{ esxi_username }}'
    password: '{{ esxi_password }}'
    switch: vswitch_0001
    mtu: 9000
  delegate_to: localhost

- name: Add a VMware vSwitch with multiple NICs
  community.vmware.vmware_vswitch:
    hostname: '{{ esxi_hostname }}'
    username: '{{ esxi_username }}'
    password: '{{ esxi_password }}'
    switch: vmware_vswitch_0004
    nics:
    - vmnic1
    - vmnic2
    mtu: 9000
  delegate_to: localhost

- name: Add a VMware vSwitch to a specific host system
  community.vmware.vmware_vswitch:
    hostname: '{{ esxi_hostname }}'
    username: '{{ esxi_username }}'
    password: '{{ esxi_password }}'
    esxi_hostname: DC0_H0
    switch_name: vswitch_001
    nic_name: vmnic0
    mtu: 9000
  delegate_to: localhost

- name: Add a VMware vSwitch to a specific host system with Promiscuous Mode Enabled
  community.vmware.vmware_vswitch:
    hostname: '{{ esxi_hostname }}'
    username: '{{ esxi_username }}'
    password: '{{ esxi_password }}'
    esxi_hostname: DC0_H0
    switch_name: vswitch_001
    nic_name: vmnic0
    mtu: 9000
    security:
        promiscuous_mode: true
  delegate_to: localhost

- name: Add a VMware vSwitch to a specific host system with active/standby teaming
  community.vmware.vmware_vswitch:
    hostname: '{{ esxi_hostname }}'
    username: '{{ esxi_username }}'
    password: '{{ esxi_password }}'
    esxi_hostname: DC0_H0
    switch_name: vswitch_001
    nic_name:
      - vmnic0
      - vmnic1
    teaming:
      active_adapters:
        - vmnic0
      standby_adapters:
        - vmnic1
  delegate_to: localhost

- name: Add a VMware vSwitch to a specific host system with traffic shaping
  community.vmware.vmware_vswitch:
    hostname: '{{ esxi_hostname }}'
    username: '{{ esxi_username }}'
    password: '{{ esxi_password }}'
    esxi_hostname: DC0_H0
    switch_name: vswitch_001
    nic_name:
      - vmnic0
      - vmnic1
    traffic_shaping:
        enabled: true
        average_bandwidth: 100000
        peak_bandwidth: 100000
        burst_size: 102400
  delegate_to: localhost

- name: Delete a VMware vSwitch in a specific host system
  community.vmware.vmware_vswitch:
    hostname: '{{ esxi_hostname }}'
    username: '{{ esxi_username }}'
    password: '{{ esxi_password }}'
    esxi_hostname: DC0_H0
    switch_name: vswitch_001
    state: absent
  delegate_to: localhost

返回值

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

描述

结果

字符串

有关已执行操作的信息

返回:总是

示例: "vSwitch 'vSwitch_1002' is created successfully"

作者

  • Joseph Callen (@jcpowermac)

  • Russell Teague (@mtnbikenc)

  • Abhijeet Kasurde (@Akasurde)