On this page
vmware_dvswitch_pvlans – Manage Private VLAN configuration of a Distributed Switch
New in version 2.8.
Synopsis
- This module can be used to configure Private VLANs (PVLANs) on 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 |
---|---|---|
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.
|
primary_pvlans
list
|
Default:
[]
|
A list of VLAN IDs that should be configured as Primary PVLANs.
If
primary_pvlans isn't specified, all PVLANs will be deleted if present.
Each member of the list requires primary_pvlan_id (int) set.
The secondary promiscuous PVLAN will be created automatically.
If
secondary_pvlans isn't specified, the primary PVLANs and each secondary promiscuous PVLAN will be created.
Please see examples for more information.
|
secondary_pvlans
list
|
Default:
[]
|
A list of VLAN IDs that should be configured as Secondary PVLANs.
primary_pvlans need to be specified to create any Secodary PVLAN.
If
primary_pvlans isn't specified, all PVLANs will be deleted if present.
Each member of the list requires primary_pvlan_id (int), secondary_pvlan_id (int), and pvlan_type (str) to be set.
The type of the secondary PVLAN can be isolated or community. The secondary promiscuous PVLAN will be created automatically.
Please see examples for more information.
|
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
|
|
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 and 6.7
Examples
- name: Create PVLANs on a Distributed Switch
vmware_dvswitch_pvlans:
hostname: '{{ inventory_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
switch: dvSwitch
primary_pvlans:
- primary_pvlan_id: 1
- primary_pvlan_id: 4
secondary_pvlans:
- primary_pvlan_id: 1
secondary_pvlan_id: 2
pvlan_type: isolated
- primary_pvlan_id: 1
secondary_pvlan_id: 3
pvlan_type: community
- primary_pvlan_id: 4
secondary_pvlan_id: 5
pvlan_type: community
delegate_to: localhost
- name: Create primary PVLAN and secondary promiscuous PVLAN on a Distributed Switch
vmware_dvswitch_pvlans:
hostname: '{{ inventory_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
switch: dvSwitch
primary_pvlans:
- primary_pvlan_id: 1
delegate_to: localhost
- name: Remove all PVLANs from a Distributed Switch
vmware_dvswitch_pvlans:
hostname: '{{ inventory_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
switch: dvSwitch
primary_pvlans: []
secondary_pvlans: []
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:
{'changed': True, 'dvswitch': 'dvSwitch', 'private_vlans': [{'primary_pvlan_id': 1, 'pvlan_type': 'promiscuous', 'secondary_pvlan_id': 1}, {'primary_pvlan_id': 1, 'pvlan_type': 'isolated', 'secondary_pvlan_id': 2}, {'primary_pvlan_id': 1, 'pvlan_type': 'community', 'secondary_pvlan_id': 3}], 'private_vlans_previous': [], 'result': 'All private VLANs added'}
|
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.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/vmware_dvswitch_pvlans_module.html