# vmware_host_vmnic_facts – Gathers facts about vmnics available on the given ESXi host

New in version 2.5.

- DEPRECATED
- Synopsis
- Requirements
- Parameters
- Notes
- Examples
- Return Values
- Status

## DEPRECATED

Removed in Ansible:
| version: 2.13
Why: | Deprecated in favour of `_info` module.
Alternative: | Use vmware_host_vmnic_info instead.

## Synopsis

- This module can be used to gather facts about vmnics available on the given ESXi host.
- If `cluster_name` is provided, then vmnic facts about all hosts from given cluster will be returned.
- If `esxi_hostname` is provided, then vmnic facts about given host system will be returned.
- Additional details about vswitch and dvswitch with respective vmnic is also provided which is added in 2.7 version.

## Requirements

The below requirements are needed on the host that executes this module.

- python >= 2.6
- PyVmomi

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---

capabilities
boolean
added in 2.8

Choices:
- no ←
- yes

Gather facts about general capabilities (Auto negotiation, Wake On LAN, and Network I/O Control).

cluster_name string |  | Name of the cluster from which all host systems will be used. Vmnic facts about each ESXi server will be returned for the given cluster. This parameter is required if `esxi_hostname` is not specified.

directpath_io
boolean
added in 2.8

Choices:
- no ←
- yes

Gather facts about DirectPath I/O capabilities and configuration.

esxi_hostname string |  | Name of the host system to work with. Vmnic facts about this ESXi server will be returned. This parameter is required if `cluster_name` is not specified.
hostname string |  | The hostname or IP address of the vSphere vCenter or ESXi server. If the value is not specified in the task, the value of environment variable `VMWARE_HOST` will be used instead. Environment variable support added in Ansible 2.6.
password string |  | The password of the vSphere vCenter or ESXi server. If the value is not specified in the task, the value of environment variable `VMWARE_PASSWORD` will be used instead. Environment variable support added in Ansible 2.6. aliases: pass, pwd
port integer added in 2.5 | Default: 443 | The port number of the vSphere vCenter or ESXi server. If the value is not specified in the task, the value of environment variable `VMWARE_PORT` will be used instead. Environment variable support added in Ansible 2.6.
proxy_host string added in 2.9 |  | Address of a proxy that will receive all HTTPS requests and relay them. The format is a hostname or a IP. If the value is not specified in the task, the value of environment variable `VMWARE_PROXY_HOST` will be used instead. This feature depends on a version of pyvmomi greater than v6.7.1.2018.12
proxy_port integer added in 2.9 |  | Port of the HTTP proxy that will receive all HTTPS requests and relay them. If the value is not specified in the task, the value of environment variable `VMWARE_PROXY_PORT` will be used instead.

sriov
boolean
added in 2.8

Choices:
- no ←
- yes

Gather facts about SR-IOV capabilities and configuration.

username string |  | The username of the vSphere vCenter or ESXi server. If the value is not specified in the task, the value of environment variable `VMWARE_USER` will be used instead. Environment variable support added in Ansible 2.6. aliases: admin, user

validate_certs
boolean

Choices:
- no
- yes ←

Allows connection when SSL certificates are not valid. Set to `false` when certificates are not trusted.
If the value is not specified in the task, the value of environment variable `VMWARE_VALIDATE_CERTS` will be used instead.
Environment variable support added in Ansible 2.6.
If set to `yes`, please make sure Python >= 2.7.9 is installed on the given machine.

## Notes

Note

- Tested on vSphere 6.5

## Examples

    - name: Gather facts about vmnics of all ESXi Host in the given Cluster
      vmware_host_vmnic_facts:
        hostname: '{{ vcenter_hostname }}'
        username: '{{ vcenter_username }}'
        password: '{{ vcenter_password }}'
        cluster_name: '{{ cluster_name }}'
      delegate_to: localhost
      register: cluster_host_vmnics

    - name: Gather facts about vmnics of an ESXi Host
      vmware_host_vmnic_facts:
        hostname: '{{ vcenter_hostname }}'
        username: '{{ vcenter_username }}'
        password: '{{ vcenter_password }}'
        esxi_hostname: '{{ esxi_hostname }}'
      delegate_to: localhost
      register: host_vmnics

## Return Values

Common return values are documented here, the following are the fields unique to this module:

Key | Returned | Description
--- | --- | ---

hosts_vmnics_facts
dictionary

hosts_vmnics_facts

dict with hostname as key and dict with vmnics facts as value.
for `num_vmnics`, only NICs starting with vmnic are counted. NICs like vusb* are not counted.
details about vswitch and dvswitch was added in version 2.7.
details about vmnics was added in version 2.8.
Sample:
{'10.76.33.204': {'all': ['vmnic0', 'vmnic1'], 'available': [], 'dvswitch': {'dvs_0002': ['vmnic1']}, 'num_vmnics': 2, 'used': ['vmnic1', 'vmnic0'], 'vmnic_details': [{'actual_duplex': 'Full Duplex', 'actual_speed': 10000, 'adapter': 'Intel(R) 82599 10 Gigabit Dual Port Network Connection', 'configured_duplex': 'Auto negotiate', 'configured_speed': 'Auto negotiate', 'device': 'vmnic0', 'driver': 'ixgbe', 'location': '0000:01:00.0', 'mac': 'aa:bb:cc:dd:ee:ff', 'status': 'Connected'}, {'actual_duplex': 'Full Duplex', 'actual_speed': 10000, 'adapter': 'Intel(R) 82599 10 Gigabit Dual Port Network Connection', 'configured_duplex': 'Auto negotiate', 'configured_speed': 'Auto negotiate', 'device': 'vmnic1', 'driver': 'ixgbe', 'location': '0000:01:00.1', 'mac': 'ab:ba:cc:dd:ee:ff', 'status': 'Connected'}], 'vswitch': {'vSwitch0': ['vmnic0']}}}

## Status

- This module will be removed in version 2.13. [deprecated]
- For more information see DEPRECATED.

### Authors

- Abhijeet Kasurde (@Akasurde)
- Christian Kotte (@ckotte)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.