Note
This plugin is part of the community.vmware collection.
To install it use: ansible-galaxy collection install community.vmware.
To use it in a playbook, specify: community.vmware.vmware_portgroup.
The below requirements are needed on the host that executes this module.
| Parameter | Choices/Defaults | Comments | |
|---|---|---|---|
| cluster_name string | Name of cluster name for host membership. Portgroup will be created on all hosts of the given cluster. This option is required if hosts is not specified.aliases: cluster | ||
| 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. | ||
| hosts list / elements=string | List of name of host or hosts on which portgroup needs to be added. This option is required if cluster_name is not specified.aliases: esxi_hostname | ||
| 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 | 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. | |
| portgroup string / required | Portgroup name to add. aliases: portgroup_name | ||
| proxy_host string | 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 | 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. | ||
| security dictionary | Network policy specifies layer 2 security settings for a portgroup such as promiscuous mode, where guest adapter listens to all the packets, MAC address changes and forged transmits. Dict which configures the different security values for portgroup. aliases: security_policy, network_policy | ||
| forged_transmits boolean |
| Indicates whether forged transmits are allowed. | |
| mac_changes boolean |
| Indicates whether mac changes are allowed. | |
| promiscuous_mode boolean |
| Indicates whether promiscuous mode is allowed. | |
| state string |
| Determines if the portgroup should be present or not. | |
| switch string / required | vSwitch to modify. aliases: switch_name, vswitch | ||
| teaming dictionary | Dictionary which configures the different teaming values for portgroup. aliases: teaming_policy | ||
| active_adapters list / elements=string | List of active adapters used for load balancing. All vmnics are used as active adapters if active_adapters and standby_adapters are not defined. | ||
| failback boolean |
| Indicate whether or not to use a failback when restoring links. | |
| load_balancing string |
| Network adapter teaming policy. aliases: load_balance_policy | |
| network_failure_detection string |
| Network failure detection. | |
| notify_switches boolean |
| Indicate whether or not to notify the physical switch if a link fails. | |
| standby_adapters list / elements=string | List of standby adapters used for failover. All vmnics are used as active adapters if active_adapters and standby_adapters are not defined. | ||
| traffic_shaping dictionary | Dictionary which configures traffic shaping for the switch. | ||
| average_bandwidth integer | Average bandwidth (kbit/s). | ||
| burst_size integer | Burst size (KB). | ||
| enabled boolean |
| Status of Traffic Shaping Policy. | |
| peak_bandwidth integer | Peak bandwidth (kbit/s). | ||
| 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. | |
| vlan_id integer | Default: 0 | VLAN ID to assign to portgroup. Set to 0 (no VLAN tagging) by default. aliases: vlan | |
Note
inbound_policy and rolling_order are removed in 2.11.- name: Add Management Network VM Portgroup
community.vmware.vmware_portgroup:
hostname: "{{ esxi_hostname }}"
username: "{{ esxi_username }}"
password: "{{ esxi_password }}"
switch: "{{ vswitch_name }}"
portgroup: "{{ portgroup_name }}"
vlan_id: "{{ vlan_id }}"
delegate_to: localhost
- name: Add Portgroup with Promiscuous Mode Enabled
community.vmware.vmware_portgroup:
hostname: "{{ esxi_hostname }}"
username: "{{ esxi_username }}"
password: "{{ esxi_password }}"
switch: "{{ vswitch_name }}"
portgroup: "{{ portgroup_name }}"
security:
promiscuous_mode: True
delegate_to: localhost
- name: Add Management Network VM Portgroup to specific hosts
community.vmware.vmware_portgroup:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
hosts: [esxi_hostname_one]
switch: "{{ vswitch_name }}"
portgroup: "{{ portgroup_name }}"
vlan_id: "{{ vlan_id }}"
delegate_to: localhost
- name: Add Management Network VM Portgroup to all hosts in a cluster
community.vmware.vmware_portgroup:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
cluster_name: "{{ cluster_name }}"
switch: "{{ vswitch_name }}"
portgroup: "{{ portgroup_name }}"
vlan_id: "{{ vlan_id }}"
delegate_to: localhost
- name: Remove Management Network VM Portgroup to all hosts in a cluster
community.vmware.vmware_portgroup:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
cluster_name: "{{ cluster_name }}"
switch: "{{ vswitch_name }}"
portgroup: "{{ portgroup_name }}"
vlan_id: "{{ vlan_id }}"
state: absent
delegate_to: localhost
- name: Add Portgroup with all settings defined
community.vmware.vmware_portgroup:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
esxi_hostname: "{{ inventory_hostname }}"
switch: "{{ vswitch_name }}"
portgroup: "{{ portgroup_name }}"
vlan_id: 10
security:
promiscuous_mode: False
mac_changes: False
forged_transmits: False
traffic_shaping:
enabled: True
average_bandwidth: 100000
peak_bandwidth: 100000
burst_size: 102400
teaming:
load_balancing: failover_explicit
network_failure_detection: link_status_only
notify_switches: true
failback: true
active_adapters:
- vmnic0
standby_adapters:
- vmnic1
delegate_to: localhost
register: teaming_result
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description |
|---|---|---|
| result dictionary | always | metadata about the portgroup Sample: {'esxi01.example.com': {'changed': True, 'failback': 'No override', 'failover_active': 'No override', 'failover_standby': 'No override', 'failure_detection': 'No override', 'load_balancing': 'No override', 'msg': 'Port Group added', 'notify_switches': 'No override', 'portgroup': 'vMotion', 'sec_forged_transmits': False, 'sec_mac_changes': False, 'sec_promiscuous_mode': False, 'traffic_shaping': 'No override', 'vlan_id': 33, 'vswitch': 'vSwitch1'}} |
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/vmware/vmware_portgroup_module.html