community.vmware.vmware_dvswitch_pvlans (4.2.0) — module

Manage Private VLAN configuration of a Distributed Switch

Authors: Christian Kotte (@ckotte)

Install collection

Install with ansible-galaxy collection install community.vmware:==4.2.0


Add to requirements.yml

  collections:
    - name: community.vmware
      version: 4.2.0

Description

This module can be used to configure Private VLANs (PVLANs) on a Distributed Switch.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create PVLANs on a Distributed Switch
  community.vmware.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
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create primary PVLAN and secondary promiscuous PVLAN on a Distributed Switch
  community.vmware.vmware_dvswitch_pvlans:
    hostname: '{{ inventory_hostname }}'
    username: '{{ vcenter_username }}'
    password: '{{ vcenter_password }}'
    switch: dvSwitch
    primary_pvlans:
      - primary_pvlan_id: 1
  delegate_to: localhost
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Remove all PVLANs from a Distributed Switch
  community.vmware.vmware_dvswitch_pvlans:
    hostname: '{{ inventory_hostname }}'
    username: '{{ vcenter_username }}'
    password: '{{ vcenter_password }}'
    switch: dvSwitch
    primary_pvlans: []
    secondary_pvlans: []
  delegate_to: localhost

Inputs

    
port:
    default: 443
    description:
    - The port number of the vSphere vCenter or ESXi server.
    - If the value is not specified in the task, the value of environment variable E(VMWARE_PORT)
      will be used instead.
    type: int

switch:
    aliases:
    - dvswitch
    description:
    - The name of the Distributed Switch.
    required: true
    type: str

hostname:
    description:
    - 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 E(VMWARE_HOST)
      will be used instead.
    type: str

password:
    aliases:
    - pass
    - pwd
    description:
    - The password of the vSphere vCenter or ESXi server.
    - If the value is not specified in the task, the value of environment variable E(VMWARE_PASSWORD)
      will be used instead.
    type: str

username:
    aliases:
    - admin
    - user
    description:
    - The username of the vSphere vCenter or ESXi server.
    - If the value is not specified in the task, the value of environment variable E(VMWARE_USER)
      will be used instead.
    type: str

proxy_host:
    description:
    - 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 E(VMWARE_PROXY_HOST)
      will be used instead.
    required: false
    type: str

proxy_port:
    description:
    - 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 E(VMWARE_PROXY_PORT)
      will be used instead.
    required: false
    type: int

primary_pvlans:
    default: []
    description:
    - A list of VLAN IDs that should be configured as Primary PVLANs.
    - If not 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 O(secondary_pvlans) isn't specified, the primary PVLANs and each secondary promiscuous
      PVLAN will be created.
    - Please see examples for more information.
    elements: dict
    type: list

validate_certs:
    default: true
    description:
    - Allows connection when SSL certificates are not valid. Set to V(false) when certificates
      are not trusted.
    - If the value is not specified in the task, the value of environment variable E(VMWARE_VALIDATE_CERTS)
      will be used instead.
    type: bool

secondary_pvlans:
    default: []
    description:
    - A list of VLAN IDs that should be configured as Secondary PVLANs.
    - O(primary_pvlans) need to be specified to create any Secondary PVLAN.
    - If O(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.
    elements: dict
    type: list

Outputs

result:
  description: information about performed operation
  returned: always
  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
  type: str