# vmware_dvswitch_uplink_pg – Manage uplink portproup configuration of a Distributed Switch

New in version 2.8.

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

## Synopsis

- This module can be used to configure the uplink portgroup of a Distributed Switch.

## Requirements

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

- python >= 2.6
- PyVmomi

## Parameters

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

advanced
dictionary

Default:
{"block_override": true, "netflow_override": false, "port_config_reset_at_disconnect": true, "traffic_filter_override": false, "vendor_config_override": false, "vlan_override": false}

Dictionary which configures the advanced policy settings for the uplink portgroup.
Valid attributes are:
- `port_config_reset_at_disconnect` (bool): indicates if the configuration of a port is reset automatically after disconnect. (default: true)
- `block_override` (bool): indicates if the block policy can be changed per port. (default: true)
- `netflow_override` (bool): indicates if the NetFlow policy can be changed per port. (default: false)
- `traffic_filter_override` (bool): indicates if the traffic filter can be changed per port. (default: false)
- `vendor_config_override` (bool): indicates if the vendor config can be changed per port. (default: false)
- `vlan_override` (bool): indicates if the vlan can be changed per port. (default: false)
aliases: port_policy

block_all_ports
boolean

Choices:
- no ←
- yes

Indicates if all ports are blocked on the uplink portgroup.

description string |  | The description of the uplink portgroup.
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.
lacp dictionary | Default: {"mode": "passive", "status": "disabled"} | Dictionary which configures the LACP settings for the uplink portgroup. The options are only used if the LACP support mode is set to 'basic'. The following parameters are required: - `status` (str): Indicates if LACP is enabled. (default: disabled) - `mode` (str): The negotiating state of the uplinks/ports. (default: passive)
name string |  | The name of the uplink portgroup. The current name will be used if not specified.

netflow_enabled
boolean

Choices:
- no ←
- yes

Indicates if NetFlow is enabled on the uplink portgroup.

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.
switch string / required |  | The name of the Distributed Switch. aliases: dvswitch
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.

vlan_trunk_range list | Default: ["0-4094"] | The VLAN trunk range that should be configured with the uplink portgroup. This can be a combination of multiple ranges and numbers, example: [ 2-3967, 4049-4092 ].

## Notes

Note

- Tested on vSphere 6.5 and 6.7

## Examples

    - name: Configure Uplink portgroup
      vmware_dvswitch_uplink_pg:
        hostname: '{{ inventory_hostname }}'
        username: '{{ vcsa_username }}'
        password: '{{ vcsa_password }}'
        switch: dvSwitch
        name: dvSwitch-DVUplinks
        advanced:
          port_config_reset_at_disconnect: True
          block_override: True
          vendor_config_override: False
          vlan_override: False
          netflow_override: False
          traffic_filter_override: False
        vlan_trunk_range:
          - '0-4094'
        netflow_enabled: False
        block_all_ports: False
      delegate_to: localhost

    - name: Enabled LACP on Uplink portgroup
      vmware_dvswitch_uplink_pg:
        hostname: '{{ inventory_hostname }}'
        username: '{{ vcsa_username }}'
        password: '{{ vcsa_password }}'
        switch: dvSwitch
        lacp:
          status: enabled
          mode: active
      delegate_to: localhost

## Return Values

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

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

result
string

always

information about performed operation
Sample:
{'adv_block_ports': True, 'adv_netflow': False, 'adv_reset_at_disconnect': True, 'adv_traffic_filtering': False, 'adv_vendor_conf': False, 'adv_vlan': False, 'block_all_ports': False, 'changed': False, 'description': None, 'dvswitch': 'dvSwitch', 'lacp_status': 'disabled', 'lacp_status_previous': 'enabled', 'name': 'dvSwitch-DVUplinks', 'netflow_enabled': False, 'result': 'Uplink portgroup already configured properly', 'vlan_trunk_range': ['2-3967', '4049-4092']}

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]

### Authors

- Christian Kotte (@ckotte)

Hint

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