VMwareV2 Deprecated

Manage VMware vSphere Server, Guests, and ESXi Hosts. Deprecated. Use Ansible VMware (from the Ansible VMware pack) instead.

IT Services · Ansible Powered Integrations (Deprecated)

Details

IDVMwareV2
ProviderBroadcom
CategoryIT Services
From Version6.0.0
Docker Imagedemisto/ansible-runner:1.0.0.21184
Supported ModulesAgentix

Configuration parameters

  • hostname — Hostname (required)
  • port — Port (required)
  • username — Username (required)
  • password — Password (required)
  • validate_certs — Validate Certs (required)

Commands (116)

  • vmware-about-info

    Provides information about VMware server to which user is connecting to

  • vmware-category

    Manage VMware categories

  • vmware-category-info

    Gather info about VMware tag categories

  • vmware-cfg-backup

    Backup / Restore / Reset ESXi host configuration

  • vmware-cluster

    Manage VMware vSphere clusters

  • vmware-cluster-drs

    Manage Distributed Resource Scheduler (DRS) on VMware vSphere clusters

  • vmware-cluster-ha

    Manage High Availability (HA) on VMware vSphere clusters

  • vmware-cluster-info

    Gather info about clusters available in given vCenter

  • vmware-cluster-vsan

    Manages virtual storage area network (vSAN) configuration on VMware vSphere clusters

  • vmware-content-deploy-template

    Deploy Virtual Machine from template stored in content library.

  • vmware-content-library-info

    Gather information about VMware Content Library

  • vmware-content-library-manager

    Create, update and delete VMware content library

  • vmware-datacenter

    Manage VMware vSphere Datacenters

  • vmware-datastore-cluster

    Manage VMware vSphere datastore clusters

  • vmware-datastore-info

    Gather info about datastores available in given vCenter

  • vmware-datastore-maintenancemode

    Place a datastore into maintenance mode

  • vmware-dns-config

    Manage VMware ESXi DNS Configuration

  • vmware-drs-group

    Creates vm/host group in a given cluster.

  • vmware-drs-group-info

    Gathers info about DRS VM/Host groups on the given cluster

  • vmware-drs-rule-info

    Gathers info about DRS rule on the given cluster

  • vmware-dvs-host

    Add or remove a host from distributed virtual switch

  • vmware-dvs-portgroup

    Create or remove a Distributed vSwitch portgroup.

  • vmware-dvs-portgroup-find

    Find portgroup(s) in a VMware environment

  • vmware-dvs-portgroup-info

    Gathers info DVS portgroup configurations

  • vmware-dvswitch

    Create or remove a Distributed Switch

  • vmware-dvswitch-lacp

    Manage LACP configuration on a Distributed Switch

  • vmware-dvswitch-nioc

    Manage distributed switch Network IO Control

  • vmware-dvswitch-pvlans

    Manage Private VLAN configuration of a Distributed Switch

  • vmware-dvswitch-uplink-pg

    Manage uplink portproup configuration of a Distributed Switch

  • vmware-evc-mode

    Enable/Disable EVC mode on vCenter

  • vmware-folder-info

    Provides information about folders in a datacenter

  • vmware-guest

    Manages virtual machines in vCenter

  • vmware-guest-boot-info

    Gather info about boot options for the given virtual machine

  • vmware-guest-boot-manager

    Manage boot options for the given virtual machine

  • vmware-guest-custom-attribute-defs

    Manage custom attributes definitions for virtual machine from VMware

  • vmware-guest-custom-attributes

    Manage custom attributes from VMware for the given virtual machine

  • vmware-guest-customization-info

    Gather info about VM customization specifications

  • vmware-guest-disk

    Manage disks related to virtual machine in given vCenter infrastructure

  • vmware-guest-disk-info

    Gather info about disks of given virtual machine

  • vmware-guest-find

    Find the folder path(s) for a virtual machine by name or UUID

  • vmware-guest-info

    Gather info about a single VM

  • vmware-guest-move

    Moves virtual machines in vCenter

  • vmware-guest-network

    Manage network adapters of specified virtual machine in given vCenter infrastructure

  • vmware-guest-powerstate

    Manages power states of virtual machines in vCenter

  • vmware-guest-screenshot

    Create a screenshot of the Virtual Machine console.

  • vmware-guest-sendkey

    Send USB HID codes to the Virtual Machine's keyboard.

  • vmware-guest-snapshot

    Manages virtual machines snapshots in vCenter

  • vmware-guest-snapshot-info

    Gather info about virtual machine's snapshots in vCenter

  • vmware-guest-tools-upgrade

    Module to upgrade VMTools

  • vmware-guest-tools-wait

    Wait for VMware tools to become available

  • vmware-guest-video

    Modify video card configurations of specified virtual machine in given vCenter infrastructure

  • vmware-guest-vnc

    Manages VNC remote display on virtual machines in vCenter

  • vmware-host

    Add, remove, or move an ESXi host to, from, or within vCenter

  • vmware-host-acceptance

    Manage the host acceptance level of an ESXi host

  • vmware-host-active-directory

    Joins an ESXi host system to an Active Directory domain or leaves it

  • vmware-host-capability-info

    Gathers info about an ESXi host's capability information

  • vmware-host-config-info

    Gathers info about an ESXi host's advance configuration information

  • vmware-host-config-manager

    Manage advanced system settings of an ESXi host

  • vmware-host-datastore

    Manage a datastore on ESXi host

  • vmware-host-dns-info

    Gathers info about an ESXi host's DNS configuration information

  • vmware-host-facts

    Gathers facts about remote ESXi hostsystem

  • vmware-host-feature-info

    Gathers info about an ESXi host's feature capability information

  • vmware-host-firewall-info

    Gathers info about an ESXi host's firewall configuration information

  • vmware-host-firewall-manager

    Manage firewall configurations about an ESXi host

  • vmware-host-hyperthreading

    Enables/Disables Hyperthreading optimization for an ESXi host system

  • vmware-host-ipv6

    Enables/Disables IPv6 support for an ESXi host system

  • vmware-host-kernel-manager

    Manage kernel module options on ESXi hosts

  • vmware-host-lockdown

    Manage administrator permission for the local administrative account for the ESXi host

  • vmware-host-ntp

    Manage NTP server configuration of an ESXi host

  • vmware-host-ntp-info

    Gathers info about NTP configuration on an ESXi host

  • vmware-host-package-info

    Gathers info about available packages on an ESXi host

  • vmware-host-powermgmt-policy

    Manages the Power Management Policy of an ESXI host system

  • vmware-host-powerstate

    Manages power states of host systems in vCenter

  • vmware-host-scanhba

    Rescan host HBA's and optionally refresh the storage system

  • vmware-host-service-info

    Gathers info about an ESXi host's services

  • vmware-host-service-manager

    Manage services on a given ESXi host

  • vmware-host-snmp

    Configures SNMP on an ESXi host system

  • vmware-host-ssl-info

    Gather info of ESXi host system about SSL

  • vmware-host-vmhba-info

    Gathers info about vmhbas available on the given ESXi host

  • vmware-host-vmnic-info

    Gathers info about vmnics available on the given ESXi host

  • vmware-local-role-info

    Gather info about local roles on an ESXi host

  • vmware-local-role-manager

    Manage local roles on an ESXi host

  • vmware-local-user-info

    Gather info about users on the given ESXi host

  • vmware-local-user-manager

    Manage local users on an ESXi host

  • vmware-maintenancemode

    Place a host into maintenance mode

  • vmware-migrate-vmk

    Migrate a VMK interface from VSS to VDS

  • vmware-object-role-permission

    Manage local roles on an ESXi host

  • vmware-portgroup

    Create a VMware portgroup

  • vmware-portgroup-info

    Gathers info about an ESXi host's Port Group configuration

  • vmware-resource-pool

    Add/remove resource pools to/from vCenter

  • vmware-resource-pool-info

    Gathers info about resource pool information

  • vmware-tag

    Manage VMware tags

  • vmware-tag-info

    Manage VMware tag info

  • vmware-tag-manager

    Manage association of VMware tags with VMware objects

  • vmware-target-canonical-info

    Return canonical (NAA) from an ESXi host system

  • vmware-vcenter-extension

    Register/deregister vCenter Extensions

  • vmware-vcenter-extension-info

    Gather info vCenter extensions

  • vmware-vcenter-folder

    Manage folders on given datacenter

  • vmware-vcenter-license

    Manage VMware vCenter license keys

  • vmware-vcenter-settings

    Configures general settings on a vCenter server

  • vmware-vcenter-statistics

    Configures statistics on a vCenter server

  • vmware-vm-host-drs-rule

    Creates vm/host group in a given cluster

  • vmware-vm-info

    Return basic info pertaining to a VMware machine guest

  • vmware-vm-shell

    Run commands in a VMware guest operating system

  • vmware-vm-storage-policy-info

    Gather information about vSphere storage profile defined storage policy information.

  • vmware-vm-vm-drs-rule

    Configure VMware DRS Affinity rule for virtual machine in given cluster

  • vmware-vm-vss-dvs-migrate

    Migrates a virtual machine from a standard vswitch to distributed

  • vmware-vmkernel

    Manages a VMware VMkernel Adapter of an ESXi host.

  • vmware-vmkernel-info

    Gathers VMKernel info about an ESXi host

  • vmware-vmkernel-ip-config

    Configure the VMkernel IP Address

  • vmware-vmotion

    Move a virtual machine using vMotion, and/or its vmdks using storage vMotion.

  • vmware-vsan-cluster

    Configure VSAN clustering on an ESXi host

  • vmware-vspan-session

    Create or remove a Port Mirroring session.

  • vmware-vsphere-file

    Manage files on a vCenter datastore

  • vmware-vswitch

    Manage a VMware Standard Switch to an ESXi host.

  • vmware-vswitch-info

    Gathers info about an ESXi host's vswitch configurations

category: IT Services
provider: Broadcom
commonfields:
  id: VMwareV2
  version: -1
configuration:
- additionalinfo: The hostname or IP address of the vSphere vCenter or ESXi server.
  display: Hostname
  name: hostname
  required: true
  type: 0
- additionalinfo: The port of the vSphere vCenter or ESXi server.
  defaultvalue: "443"
  display: Port
  name: port
  required: true
  type: 0
- additionalinfo: The username to access the vSphere vCenter or ESXi server.
  display: Username
  name: username
  required: true
  type: 0
- additionalinfo: The password to access the vSphere vCenter or ESXi server.
  display: Password
  name: password
  required: true
  type: 4
- additionalinfo: Allows connection when SSL certificates are not valid. Set to `false` when certificates are not trusted.
  defaultvalue: "True"
  display: Validate Certs
  name: validate_certs
  required: true
  type: 4
description: Manage VMware vSphere Server, Guests, and ESXi Hosts. Deprecated. Use Ansible VMware (from the Ansible VMware pack) instead.
display: Ansible VMware (Deprecated)
name: VMwareV2
script:
  commands:
  - arguments: []
    description: Provides information about VMware server to which user is connecting to
    name: vmware-about-info
  - arguments:
    - description: The name of category to manage.
      name: category_name
      required: true
    - description: |-
        The category description.
        This is required only if `state` is set to `present`.
        This parameter is ignored, when `state` is set to `absent`.
      name: category_description
    - auto: PREDEFINED
      defaultValue: multiple
      description: |-
        The category cardinality.
        This parameter is ignored, when updating existing category.
      name: category_cardinality
      predefined:
      - multiple
      - single
    - description: |-
        The new name for an existing category.
        This value is used while updating an existing category.
      name: new_category_name
    - auto: PREDEFINED
      defaultValue: present
      description: |-
        The state of category.
        If set to `present` and category does not exists, then category is created.
        If set to `present` and category exists, then category is updated.
        If set to `absent` and category exists, then category is deleted.
        If set to `absent` and category does not exists, no action is taken.
        Process of updating category only allows name, description change.
      name: state
      predefined:
      - present
      - absent
    - auto: PREDEFINED
      defaultValue: https
      description: The connection to protocol.
      name: protocol
      predefined:
      - http
      - https
    description: Manage VMware categories
    name: vmware-category
  - arguments:
    - auto: PREDEFINED
      defaultValue: https
      description: The connection to protocol.
      name: protocol
      predefined:
      - http
      - https
    description: Gather info about VMware tag categories
    name: vmware-category-info
  - arguments:
    - description: Name of ESXi server. This is required only if authentication against a vCenter is done.
      name: esxi_hostname
    - description: |-
        The destination where the ESXi configuration bundle will be saved. The `dest` can be a folder or a file.
        If `dest` is a folder, the backup file will be saved in the folder with the default filename generated from the ESXi server.
        If `dest` is a file, the backup file will be saved with that filename. The file extension will always be .tgz.
      name: dest
    - description: The file containing the ESXi configuration that will be restored.
      name: src
    - auto: PREDEFINED
      description: |-
        If `saved`, the .tgz backup bundle will be saved in `dest`.
        If `absent`, the host configuration will be reset to default values.
        If `loaded`, the backup file in `src` will be loaded to the ESXi host rewriting the hosts settings.
      name: state
      predefined:
      - saved
      - absent
      - loaded
    description: Backup / Restore / Reset ESXi host configuration
    name: vmware-cfg-backup
  - arguments:
    - description: The name of the cluster to be managed.
      name: cluster_name
      required: true
    - description: The name of the datacenter.
      name: datacenter
      required: true
    - defaultValue: "no"
      description: If set to `yes`, DRS will not be configured; all explicit and default DRS related configurations will be ignored.
      name: ignore_drs
    - defaultValue: "no"
      description: If set to `yes`, HA will not be configured; all explicit and default HA related configurations will be ignored.
      name: ignore_ha
    - defaultValue: "no"
      description: If set to `yes`, VSAN will not be configured; all explicit and default VSAN related configurations will be ignored.
      name: ignore_vsan
    - defaultValue: "no"
      description: |-
        If set to `yes`, will enable DRS when the cluster is created.
        Use `enable_drs` of `vmware-cluster-drs` instead.
        Deprecated option, will be removed in version 2.12.
      name: enable_drs
    - defaultValue: "True"
      description: |-
        Determines whether DRS Behavior overrides for individual virtual machines are enabled.
        If set to `True`, overrides `drs_default_vm_behavior`.
        Use `drs_enable_vm_behavior_overrides` of `vmware-cluster-drs` instead.
        Deprecated option, will be removed in version 2.12.
      name: drs_enable_vm_behavior_overrides
    - auto: PREDEFINED
      defaultValue: fullyAutomated
      description: |-
        Specifies the cluster-wide default DRS behavior for virtual machines.
        If set to `partiallyAutomated`, then vCenter generate recommendations for virtual machine migration and for the placement with a host. vCenter automatically implement placement at power on.
        If set to `manual`, then vCenter generate recommendations for virtual machine migration and for the placement with a host. vCenter should not implement the recommendations automatically.
        If set to `fullyAutomated`, then vCenter should automate both the migration of virtual machines and their placement with a host at power on.
        Use `drs_default_vm_behavior` of `vmware-cluster-drs` instead.
        Deprecated option, will be removed in version 2.12.
      name: drs_default_vm_behavior
      predefined:
      - fullyAutomated
      - manual
      - partiallyAutomated
    - auto: PREDEFINED
      defaultValue: "3"
      description: |-
        Threshold for generated ClusterRecommendations.
        Use `drs_vmotion_rate` of `vmware-cluster-drs` instead.
        Deprecated option, will be removed in version 2.12.
      name: drs_vmotion_rate
      predefined:
      - "1"
      - "2"
      - "3"
      - "4"
      - "5"
    - defaultValue: "no"
      description: |-
        If set to `yes` will enable HA when the cluster is created.
        Use `enable_ha` of `vmware-cluster-ha` instead.
        Deprecated option, will be removed in version 2.12.
      name: enable_ha
    - auto: PREDEFINED
      defaultValue: enabled
      description: |-
        Indicates whether HA restarts virtual machines after a host fails.
        If set to `enabled`, HA restarts virtual machines after a host fails.
        If set to `disabled`, HA does not restart virtual machines after a host fails.
        If `enable_ha` is set to `no`, then this value is ignored.
        Use `ha_host_monitoring` of `vmware-cluster-ha` instead.
        Deprecated option, will be removed in version 2.12.
      name: ha_host_monitoring
      predefined:
      - enabled
      - disabled
    - auto: PREDEFINED
      defaultValue: vmMonitoringDisabled
      description: |-
        Indicates the state of virtual machine health monitoring service.
        If set to `vmAndAppMonitoring`, HA response to both virtual machine and application heartbeat failure.
        If set to `vmMonitoringDisabled`, virtual machine health monitoring is disabled.
        If set to `vmMonitoringOnly`, HA response to virtual machine heartbeat failure.
        If `enable_ha` is set to `no`, then this value is ignored.
        Use `ha_vm_monitoring` of `vmware-cluster-ha` instead.
        Deprecated option, will be removed in version 2.12.
      name: ha_vm_monitoring
      predefined:
      - vmAndAppMonitoring
      - vmMonitoringOnly
      - vmMonitoringDisabled
    - defaultValue: "2"
      description: |-
        Number of host failures that should be tolerated, still guaranteeing sufficient resources to restart virtual machines on available hosts.
        Accepts integer values only.
        Use `slot_based_admission_control`, `reservation_based_admission_control` or `failover_host_admission_control` of `vmware-cluster-ha` instead.
        Deprecated option, will be removed in version 2.12.
      name: ha_failover_level
    - defaultValue: "True"
      description: |-
        Determines if strict admission control is enabled.
        It is recommended to set this parameter to `True`, please refer documentation for more details.
        Use `slot_based_admission_control`, `reservation_based_admission_control` or `failover_host_admission_control` of `vmware-cluster-ha` instead.
        Deprecated option, will be removed in version 2.12.
      name: ha_admission_control_enabled
    - defaultValue: "30"
      description: |-
        The number of seconds after which virtual machine is declared as failed if no heartbeat has been received.
        This setting is only valid if `ha_vm_monitoring` is set to, either `vmAndAppMonitoring` or `vmMonitoringOnly`.
        Unit is seconds.
        Use `ha_vm_failure_interval` of `vmware-cluster-ha` instead.
        Deprecated option, will be removed in version 2.12.
      name: ha_vm_failure_interval
    - defaultValue: "120"
      description: |-
        The number of seconds for the virtual machine's heartbeats to stabilize after the virtual machine has been powered on.
        This setting is only valid if `ha_vm_monitoring` is set to, either `vmAndAppMonitoring` or `vmMonitoringOnly`.
        Unit is seconds.
        Use `ha_vm_min_up_time` of `vmware-cluster-ha` instead.
        Deprecated option, will be removed in version 2.12.
      name: ha_vm_min_up_time
    - defaultValue: "3"
      description: |-
        Maximum number of failures and automated resets allowed during the time that `ha_vm_max_failure_window` specifies.
        This setting is only valid if `ha_vm_monitoring` is set to, either `vmAndAppMonitoring` or `vmMonitoringOnly`.
        Use `ha_vm_max_failures` of `vmware-cluster-ha` instead.
        Deprecated option, will be removed in version 2.12.
      name: ha_vm_max_failures
    - defaultValue: "-1"
      description: |-
        The number of seconds for the window during which up to `ha_vm_max_failures` resets can occur before automated responses stop.
        This setting is only valid if `ha_vm_monitoring` is set to, either `vmAndAppMonitoring` or `vmMonitoringOnly`.
        Unit is seconds.
        Default specifies no failure window.
        Use `ha_vm_max_failure_window` of `vmware-cluster-ha` instead.
        Deprecated option, will be removed in version 2.12.
      name: ha_vm_max_failure_window
    - auto: PREDEFINED
      defaultValue: medium
      description: |-
        Determines the preference that HA gives to a virtual machine if sufficient capacity is not available to power on all failed virtual machines.
        This setting is only valid if `ha_vm_monitoring` is set to, either `vmAndAppMonitoring` or `vmMonitoringOnly`.
        If set to `disabled`, then HA is disabled for this virtual machine.
        If set to `high`, then virtual machine with this priority have a higher chance of powering on after a failure, when there is insufficient capacity on hosts to meet all virtual machine needs.
        If set to `medium`, then virtual machine with this priority have an intermediate chance of powering on after a failure, when there is insufficient capacity on hosts to meet all virtual machine needs.
        If set to `low`, then virtual machine with this priority have a lower chance of powering on after a failure, when there is insufficient capacity on hosts to meet all virtual machine needs.
        Use `ha_restart_priority` of `vmware-cluster-ha` instead.
        Deprecated option, will be removed in version 2.12.
      name: ha_restart_priority
      predefined:
      - disabled
      - high
      - low
      - medium
    - defaultValue: "no"
      description: |-
        If set to `yes` will enable vSAN when the cluster is created.
        Use `enable_vsan` of `vmware-cluster_vsan` instead.
        Deprecated option, will be removed in version 2.12.
      name: enable_vsan
    - defaultValue: "False"
      description: |-
        Determines whether the VSAN service is configured to automatically claim local storage on VSAN-enabled hosts in the cluster.
        Use `vsan_auto_claim_storage` of `vmware-cluster_vsan` instead.
        Deprecated option, will be removed in version 2.12.
      name: vsan_auto_claim_storage
    - auto: PREDEFINED
      defaultValue: present
      description: Create `present` or remove `absent` a VMware vSphere cluster.
      name: state
      predefined:
      - absent
      - present
    description: Manage VMware vSphere clusters
    name: vmware-cluster
  - arguments:
    - description: The name of the cluster to be managed.
      name: cluster_name
      required: true
    - description: The name of the datacenter.
      name: datacenter
      required: true
    - defaultValue: "no"
      description: Whether to enable DRS.
      name: enable_drs
    - defaultValue: "True"
      description: |-
        Whether DRS Behavior overrides for individual virtual machines are enabled.
        If set to `True`, overrides `drs_default_vm_behavior`.
      name: drs_enable_vm_behavior_overrides
    - auto: PREDEFINED
      defaultValue: fullyAutomated
      description: |-
        Specifies the cluster-wide default DRS behavior for virtual machines.
        If set to `partiallyAutomated`, vCenter generates recommendations for virtual machine migration and for the placement with a host, then automatically implements placement recommendations at power on.
        If set to `manual`, then vCenter generates recommendations for virtual machine migration and for the placement with a host, but does not implement the recommendations automatically.
        If set to `fullyAutomated`, then vCenter automates both the migration of virtual machines and their placement with a host at power on.
      name: drs_default_vm_behavior
      predefined:
      - fullyAutomated
      - manual
      - partiallyAutomated
    - auto: PREDEFINED
      defaultValue: "3"
      description: Threshold for generated ClusterRecommendations.
      name: drs_vmotion_rate
      predefined:
      - "1"
      - "2"
      - "3"
      - "4"
      - "5"
    description: Manage Distributed Resource Scheduler (DRS) on VMware vSphere clusters
    name: vmware-cluster-drs
  - arguments:
    - description: The name of the cluster to be managed.
      name: cluster_name
      required: true
    - description: The name of the datacenter.
      name: datacenter
      required: true
    - defaultValue: "no"
      description: Whether to enable HA.
      name: enable_ha
    - auto: PREDEFINED
      defaultValue: enabled
      description: |-
        Whether HA restarts virtual machines after a host fails.
        If set to `enabled`, HA restarts virtual machines after a host fails.
        If set to `disabled`, HA does not restart virtual machines after a host fails.
        If `enable_ha` is set to `no`, then this value is ignored.
      name: ha_host_monitoring
      predefined:
      - enabled
      - disabled
    - auto: PREDEFINED
      defaultValue: vmMonitoringDisabled
      description: |-
        State of virtual machine health monitoring service.
        If set to `vmAndAppMonitoring`, HA response to both virtual machine and application heartbeat failure.
        If set to `vmMonitoringDisabled`, virtual machine health monitoring is disabled.
        If set to `vmMonitoringOnly`, HA response to virtual machine heartbeat failure.
        If `enable_ha` is set to `no`, then this value is ignored.
      name: ha_vm_monitoring
      predefined:
      - vmAndAppMonitoring
      - vmMonitoringOnly
      - vmMonitoringDisabled
    - auto: PREDEFINED
      defaultValue: none
      description: |-
        Indicates whether or VMs should be powered off if a host determines that it is isolated from the rest of the compute resource.
        If set to `none`, do not power off VMs in the event of a host network isolation.
        If set to `powerOff`, power off VMs in the event of a host network isolation.
        If set to `shutdown`, shut down VMs guest operating system in the event of a host network isolation.
      name: host_isolation_response
      predefined:
      - none
      - powerOff
      - shutdown
    - description: |-
        Configure slot based admission control policy.
        `slot_based_admission_control`, `reservation_based_admission_control` and `failover_host_admission_control` are mutually exclusive.
      isArray: true
      name: slot_based_admission_control
    - description: |-
        Configure reservation based admission control policy.
        `slot_based_admission_control`, `reservation_based_admission_control` and `failover_host_admission_control` are mutually exclusive.
      isArray: true
      name: reservation_based_admission_control
    - description: |-
        Configure dedicated failover hosts.
        `slot_based_admission_control`, `reservation_based_admission_control` and `failover_host_admission_control` are mutually exclusive.
      isArray: true
      name: failover_host_admission_control
    - defaultValue: "30"
      description: |-
        The number of seconds after which virtual machine is declared as failed if no heartbeat has been received.
        This setting is only valid if `ha_vm_monitoring` is set to, either `vmAndAppMonitoring` or `vmMonitoringOnly`.
        Unit is seconds.
      name: ha_vm_failure_interval
    - defaultValue: "120"
      description: |-
        The number of seconds for the virtual machine's heartbeats to stabilize after the virtual machine has been powered on.
        Valid only when `ha_vm_monitoring` is set to either `vmAndAppMonitoring` or `vmMonitoringOnly`.
        Unit is seconds.
      name: ha_vm_min_up_time
    - defaultValue: "3"
      description: |-
        Maximum number of failures and automated resets allowed during the time that `ha_vm_max_failure_window` specifies.
        Valid only when `ha_vm_monitoring` is set to either `vmAndAppMonitoring` or `vmMonitoringOnly`.
      name: ha_vm_max_failures
    - defaultValue: "-1"
      description: |-
        The number of seconds for the window during which up to `ha_vm_max_failures` resets can occur before automated responses stop.
        Valid only when `ha_vm_monitoring` is set to either `vmAndAppMonitoring` or `vmMonitoringOnly`.
        Unit is seconds.
        Default specifies no failure window.
      name: ha_vm_max_failure_window
    - auto: PREDEFINED
      defaultValue: medium
      description: |-
        Priority HA gives to a virtual machine if sufficient capacity is not available to power on all failed virtual machines.
        Valid only if `ha_vm_monitoring` is set to either `vmAndAppMonitoring` or `vmMonitoringOnly`.
        If set to `disabled`, then HA is disabled for this virtual machine.
        If set to `high`, then virtual machine with this priority have a higher chance of powering on after a failure, when there is insufficient capacity on hosts to meet all virtual machine needs.
        If set to `medium`, then virtual machine with this priority have an intermediate chance of powering on after a failure, when there is insufficient capacity on hosts to meet all virtual machine needs.
        If set to `low`, then virtual machine with this priority have a lower chance of powering on after a failure, when there is insufficient capacity on hosts to meet all virtual machine needs.
      name: ha_restart_priority
      predefined:
      - disabled
      - high
      - low
      - medium
    description: Manage High Availability (HA) on VMware vSphere clusters
    name: vmware-cluster-ha
  - arguments:
    - description: |-
        Datacenter to search for cluster/s.
        This parameter is required, if `cluster_name` is not supplied.
      name: datacenter
    - description: |-
        Name of the cluster.
        If set, information of this cluster will be returned.
        This parameter is required, if `datacenter` is not supplied.
      name: cluster_name
    - defaultValue: "False"
      description: Tags related to cluster are shown if set to `True`.
      name: show_tag
    description: Gather info about clusters available in given vCenter
    name: vmware-cluster-info
  - arguments:
    - description: The name of the cluster to be managed.
      name: cluster_name
      required: true
    - description: The name of the datacenter.
      name: datacenter
      required: true
    - defaultValue: "no"
      description: Whether to enable vSAN.
      name: enable_vsan
    - defaultValue: "False"
      description: Whether the VSAN service is configured to automatically claim local storage on VSAN-enabled hosts in the cluster.
      name: vsan_auto_claim_storage
    description: Manages virtual storage area network (vSAN) configuration on VMware vSphere clusters
    name: vmware-cluster-vsan
  - arguments:
    - description: The name of template from which VM to be deployed.
      name: template
      required: true
    - description: The name of the VM to be deployed.
      name: name
      required: true
    - description: Name of the datacenter, where VM to be deployed.
      name: datacenter
      required: true
    - description: Name of the datastore to store deployed VM and disk.
      name: datastore
      required: true
    - description: Name of the folder in datacenter in which to place deployed VM.
      name: folder
      required: true
    - description: Name of the ESX Host in datacenter in which to place deployed VM.
      name: host
      required: true
    - description: Name of the resourcepool in datacenter in which to place deployed VM.
      name: resource_pool
    - description: Name of the cluster in datacenter in which to place deployed VM.
      name: cluster
    - auto: PREDEFINED
      defaultValue: present
      description: |-
        The state of Virtual Machine deployed from template in content library.
        If set to `present` and VM does not exists, then VM is created.
        If set to `present` and VM exists, no action is taken.
        If set to `poweredon` and VM does not exists, then VM is created with powered on state.
        If set to `poweredon` and VM exists, no action is taken.
      name: state
      predefined:
      - present
      - poweredon
    - auto: PREDEFINED
      defaultValue: https
      description: The connection to protocol.
      name: protocol
      predefined:
      - http
      - https
    description: Deploy Virtual Machine from template stored in content library.
    name: vmware-content-deploy-template
  - arguments:
    - description: content library id for which details needs to be fetched.
      name: library_id
    - auto: PREDEFINED
      defaultValue: https
      description: The connection to protocol.
      name: protocol
      predefined:
      - http
      - https
    description: Gather information about VMware Content Library
    name: vmware-content-library-info
  - arguments:
    - description: The name of VMware content library to manage.
      name: library_name
      required: true
    - description: |-
        The content library description.
        This is required only if `state` is set to `present`.
        This parameter is ignored, when `state` is set to `absent`.
        Process of updating content library only allows description change.
      name: library_description
    - auto: PREDEFINED
      defaultValue: local
      description: |-
        The content library type.
        This is required only if `state` is set to `present`.
        This parameter is ignored, when `state` is set to `absent`.
      name: library_type
      predefined:
      - local
      - subscribed
    - description: |-
        Name of the datastore on which backing content library is created.
        This is required only if `state` is set to `present`.
        This parameter is ignored, when `state` is set to `absent`.
        Currently only datastore backing creation is supported.
      name: datastore_name
    - auto: PREDEFINED
      defaultValue: present
      description: |-
        The state of content library.
        If set to `present` and library does not exists, then content library is created.
        If set to `present` and library exists, then content library is updated.
        If set to `absent` and library exists, then content library is deleted.
        If set to `absent` and library does not exists, no action is taken.
      name: state
      predefined:
      - present
      - absent
    - auto: PREDEFINED
      defaultValue: https
      description: The connection to protocol.
      name: protocol
      predefined:
      - http
      - https
    description: Create, update and delete VMware content library
    name: vmware-content-library-manager
  - arguments:
    - description: The name of the datacenter the cluster will be created in.
      name: datacenter_name
      required: true
    - auto: PREDEFINED
      defaultValue: present
      description: If the datacenter should be present or absent.
      name: state
      predefined:
      - present
      - absent
    description: Manage VMware vSphere Datacenters
    name: vmware-datacenter
  - arguments:
    - description: |-
        The name of the datacenter.
        You must specify either a `datacenter_name` or a `folder`.
        Mutually exclusive with `folder` parameter.
      name: datacenter_name
    - description: The name of the datastore cluster.
      name: datastore_cluster_name
      required: true
    - auto: PREDEFINED
      defaultValue: present
      description: If the datastore cluster should be present or absent.
      name: state
      predefined:
      - present
      - absent
    - description: |-
        Destination folder, absolute path to place datastore cluster in.
        The folder should include the datacenter.
        This parameter is case sensitive.
        You must specify either a `folder` or a `datacenter_name`.
        Examples:
        folder: /datacenter1/datastore
        folder: datacenter1/datastore
        folder: /datacenter1/datastore/folder1
        folder: datacenter1/datastore/folder1
        folder: /folder1/datacenter1/datastore
        folder: folder1/datacenter1/datastore
        folder: /folder1/datacenter1/datastore/folder2
      name: folder
    description: Manage VMware vSphere datastore clusters
    name: vmware-datastore-cluster
  - arguments:
    - description: |-
        Name of the datastore to match.
        If set, information of specific datastores are returned.
      name: name
    - description: |-
        Datacenter to search for datastores.
        This parameter is required, if `cluster` is not supplied.
      name: datacenter
    - description: |-
        Cluster to search for datastores.
        If set, information of datastores belonging this clusters will be returned.
        This parameter is required, if `datacenter` is not supplied.
      name: cluster
    - defaultValue: "False"
      description: |-
        Gather mount information of NFS datastores.
        Disabled per default because this slows down the execution if you have a lot of datastores.
      name: gather_nfs_mount_info
    - defaultValue: "False"
      description: |-
        Gather mount information of VMFS datastores.
        Disabled per default because this slows down the execution if you have a lot of datastores.
      name: gather_vmfs_mount_info
    description: Gather info about datastores available in given vCenter
    name: vmware-datastore-info
  - arguments:
    - description: |-
        Name of datastore to manage.
        If `datastore_cluster` or `cluster_name` are not set, this parameter is required.
      name: datastore
    - description: |-
        Name of the datastore cluster from all child datastores to be managed.
        If `datastore` or `cluster_name` are not set, this parameter is required.
      name: datastore_cluster
    - description: |-
        Name of the cluster where datastore is connected to.
        If multiple datastores are connected to the given cluster, then all datastores will be managed by `state`.
        If `datastore` or `datastore_cluster` are not set, this parameter is required.
      name: cluster_name
    - auto: PREDEFINED
      defaultValue: present
      description: |-
        If set to `present`, then enter datastore into maintenance mode.
        If set to `present` and datastore is already in maintenance mode, then no action will be taken.
        If set to `absent` and datastore is in maintenance mode, then exit maintenance mode.
        If set to `absent` and datastore is not in maintenance mode, then no action will be taken.
      name: state
      predefined:
      - present
      - absent
    description: Place a datastore into maintenance mode
    name: vmware-datastore-maintenancemode
  - arguments:
    - description: The hostname that an ESXi host should be changed to.
      name: change_hostname_to
      required: true
    - description: The domain the ESXi host should be apart of.
      name: domainname
      required: true
    - description: The DNS servers that the host should be configured to use.
      isArray: true
      name: dns_servers
      required: true
    description: Manage VMware ESXi DNS Configuration
    name: vmware-dns-config
  - arguments:
    - description: Cluster to create vm/host group.
      name: cluster_name
      required: true
    - description: Datacenter to search for given cluster. If not set, we use first cluster we encounter with `cluster_name`.
      name: datacenter
    - description: The name of the group to create or remove.
      name: group_name
      required: true
    - description: |-
        List of hosts to create in group.
        Required only if `vms` is not set.
      isArray: true
      name: hosts
    - auto: PREDEFINED
      defaultValue: present
      description: |-
        If set to `present` and the group doesn't exists then the group will be created.
        If set to `absent` and the group exists then the group will be deleted.
      name: state
      predefined:
      - present
      - absent
      required: true
    - description: |-
        List of vms to create in group.
        Required only if `hosts` is not set.
      isArray: true
      name: vms
    description: Creates vm/host group in a given cluster.
    name: vmware-drs-group
  - arguments:
    - description: |-
        Cluster to search for VM/Host groups.
        If set, information of DRS groups belonging this cluster will be returned.
        Not needed if `datacenter` is set.
      name: cluster_name
    - description: Datacenter to search for DRS VM/Host groups.
      name: datacenter
      required: true
    description: Gathers info about DRS VM/Host groups on the given cluster
    name: vmware-drs-group-info
  - arguments:
    - description: |-
        Name of the cluster.
        DRS information for the given cluster will be returned.
        This is required parameter if `datacenter` parameter is not provided.
      name: cluster_name
    - description: |-
        Name of the datacenter.
        DRS information for all the clusters from the given datacenter will be returned.
        This is required parameter if `cluster_name` parameter is not provided.
      name: datacenter
    description: Gathers info about DRS rule on the given cluster
    name: vmware-drs-rule-info
  - arguments:
    - description: The ESXi hostname.
      name: esxi_hostname
      required: true
    - description: The name of the Distributed vSwitch.
      name: switch_name
      required: true
    - description: The ESXi hosts vmnics to use with the Distributed vSwitch.
      isArray: true
      name: vmnics
      required: true
    - auto: PREDEFINED
      defaultValue: present
      description: If the host should be present or absent attached to the vSwitch.
      name: state
      predefined:
      - present
      - absent
      required: true
    - description: |-
        List of key,value dictionaries for the Vendor Specific Configuration.
        Element attributes are:
        - `key` (str): Key of setting. (default: None)
        - `value` (str): Value of setting. (default: None)
      isArray: true
      name: vendor_specific_config
    description: Add or remove a host from distributed virtual switch
    name: vmware-dvs-host
  - arguments:
    - description: The name of the portgroup that is to be created or deleted.
      name: portgroup_name
      required: true
    - description: The name of the distributed vSwitch the port group should be created on.
      name: switch_name
      required: true
    - description: |-
        The VLAN ID that should be configured with the portgroup, use 0 for no VLAN.
        If `vlan_trunk` is configured to be `true`, this can be a combination of multiple ranges and numbers, example: 1-200, 205, 400-4094.
        The valid `vlan_id` range is from 0 to 4094. Overlapping ranges are allowed.
      name: vlan_id
      required: true
    - description: The number of ports the portgroup should contain.
      name: num_ports
      required: true
    - auto: PREDEFINED
      description: See VMware KB 1022312 regarding portgroup types.
      name: portgroup_type
      predefined:
      - earlyBinding
      - lateBinding
      - ephemeral
      required: true
    - auto: PREDEFINED
      description: Determines if the portgroup should be present or not.
      name: state
      predefined:
      - present
      - absent
      required: true
    - defaultValue: "False"
      description: Indicates whether this is a VLAN trunk or not.
      name: vlan_trunk
    - defaultValue: '{''promiscuous'': False, ''forged_transmits'': False, ''mac_changes'': False}'
      description: |-
        Dictionary which configures the different security values for portgroup.
        Valid attributes are:
        - `promiscuous` (bool): indicates whether promiscuous mode is allowed. (default: false)
        - `forged_transmits` (bool): indicates whether forged transmits are allowed. (default: false)
        - `mac_changes` (bool): indicates whether mac changes are allowed. (default: false)
      isArray: true
      name: network_policy
    - defaultValue: '{''notify_switches'': True, ''load_balance_policy'': ''loadbalance_srcid'', ''inbound_policy'': False, ''rolling_order'': False}'
      description: |-
        Dictionary which configures the different teaming values for portgroup.
        Valid attributes are:
        - `load_balance_policy` (string): Network adapter teaming policy. (default: loadbalance_srcid)
        - choices: [ loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, loadbalance_loadbased, failover_explicit]
        - "loadbalance_loadbased" is available from version 2.6 and onwards
        - `inbound_policy` (bool): Indicate whether or not the teaming policy is applied to inbound frames as well. (default: False)
        - `notify_switches` (bool): Indicate whether or not to notify the physical switch if a link fails. (default: false)
        - `rolling_order` (bool): Indicate whether or not to use a rolling policy when restoring links. (default: False)
      isArray: true
      name: teaming_policy
    - defaultValue: '{''traffic_filter_override'': False, ''network_rp_override'': False, ''live_port_move'': False, ''security_override'': False, ''vendor_config_override'': False, ''port_config_reset_at_disconnect'': True, ''uplink_teaming_override'': False, ''block_override'': True, ''shaping_override'': False, ''vlan_override'': False, ''ipfix_override'': False}'
      description: |-
        Dictionary which configures the advanced policy settings for the portgroup.
        Valid attributes are:
        - `block_override` (bool): indicates if the block policy can be changed per port. (default: false)
        - `ipfix_override` (bool): indicates if the ipfix policy can be changed per port. (default: false)
        - `live_port_move` (bool): indicates if a live port can be moved in or out of the portgroup. (default: false)
        - `network_rp_override` (bool): indicates if the network resource pool can be changed per port. (default: false)
        - `port_config_reset_at_disconnect` (bool): indicates if the configuration of a port is reset automatically after disconnect. (default: false)
        - `security_override` (bool): indicates if the security policy can be changed per port. (default: false)
        - `shaping_override` (bool): indicates if the shaping policy can be changed per port. (default: false)
        - `traffic_filter_override` (bool): indicates if the traffic filter can be changed per port. (default: false)
        - `uplink_teaming_override` (bool): indicates if the uplink teaming policy 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)
      isArray: true
      name: port_policy
    description: Create or remove a Distributed vSwitch portgroup.
    name: vmware-dvs-portgroup
  - arguments:
    - description: Name of a distributed vSwitch to look for.
      name: dvswitch
    - description: |-
        VLAN id can be any number between 1 and 4094.
        This search criteria will looks into VLAN ranges to find possible matches.
      name: vlanid
    - description: |-
        string to check inside the name of the portgroup.
        Basic containment check using python `in` operation.
      name: name
    - defaultValue: "False"
      description: |-
        Show or hide uplink portgroups.
        Only relevant when `vlanid` is supplied.
      name: show_uplink
    description: Find portgroup(s) in a VMware environment
    name: vmware-dvs-portgroup-find
  - arguments:
    - description: Name of the datacenter.
      name: datacenter
      required: true
    - description: Name of a dvswitch to look for.
      name: dvswitch
    - defaultValue: "True"
      description: Show or hide network policies of DVS portgroup.
      name: show_network_policy
    - defaultValue: "True"
      description: Show or hide port policies of DVS portgroup.
      name: show_port_policy
    - defaultValue: "True"
      description: Show or hide teaming policies of DVS portgroup.
      name: show_teaming_policy
    - defaultValue: "False"
      description: Show or hide vlan information of the DVS portgroup.
      name: show_vlan_info
    description: Gathers info DVS portgroup configurations
    name: vmware-dvs-portgroup-info
  - arguments:
    - description: |-
        The name of the datacenter that will contain the Distributed Switch.
        This parameter is optional, if `folder` is provided.
        Mutually exclusive with `folder` parameter.
      name: datacenter_name
    - description: The name of the distribute vSwitch to create or remove.
      name: switch_name
      required: true
    - auto: PREDEFINED
      description: |-
        The version of the Distributed Switch to create.
        Can be 6.0.0, 5.5.0, 5.1.0, 5.0.0 with a vCenter running vSphere 6.0 and 6.5.
        Can be 6.6.0, 6.5.0, 6.0.0 with a vCenter running vSphere 6.7.
        The version must match the version of the ESXi hosts you want to connect.
        The version of the vCenter server is used if not specified.
        Required only if `state` is set to `present`.
      name: switch_version
      predefined:
      - 5.0.0
      - 5.1.0
      - 5.5.0
      - 6.0.0
      - 6.5.0
      - 6.6.0
    - defaultValue: "1500"
      description: |-
        The switch maximum transmission unit.
        Required parameter for `state` both `present` and `absent`, before Ansible 2.6 version.
        Required only if `state` is set to `present`, for Ansible 2.6 and onwards.
        Accepts value between 1280 to 9000 (both inclusive).
      name: mtu
    - auto: PREDEFINED
      defaultValue: basic
      description: |-
        The multicast filtering mode.
        `basic` mode: multicast traffic for virtual machines is forwarded according to the destination MAC address of the multicast group.
        `snooping` mode: the Distributed Switch provides IGMP and MLD snooping according to RFC 4541.
      name: multicast_filtering_mode
      predefined:
      - basic
      - snooping
    - description: |-
        Quantity of uplink per ESXi host added to the Distributed Switch.
        The uplink quantity can be increased or decreased, but a decrease will only be successfull if the uplink isn't used by a portgroup.
        Required parameter for `state` both `present` and `absent`, before Ansible 2.6 version.
        Required only if `state` is set to `present`, for Ansible 2.6 and onwards.
      name: uplink_quantity
    - defaultValue: 'Uplink '
      description: |-
        The prefix used for the naming of the uplinks.
        Only valid if the Distributed Switch will be created. Not used if the Distributed Switch is already present.
        Uplinks are created as Uplink 1, Uplink 2, etc. pp. by default.
      name: uplink_prefix
    - auto: PREDEFINED
      defaultValue: cdp
      description: |-
        Link discovery protocol between Cisco and Link Layer discovery.
        Required parameter for `state` both `present` and `absent`, before Ansible 2.6 version.
        Required only if `state` is set to `present`, for Ansible 2.6 and onwards.
        `cdp`: Use Cisco Discovery Protocol (CDP).
        `lldp`: Use Link Layer Discovery Protocol (LLDP).
        `disabled`: Do not use a discovery protocol.
      name: discovery_proto
      predefined:
      - cdp
      - lldp
      - disabled
    - auto: PREDEFINED
      defaultValue: listen
      description: |-
        Select the discovery operation.
        Required parameter for `state` both `present` and `absent`, before Ansible 2.6 version.
        Required only if `state` is set to `present`, for Ansible 2.6 and onwards.
      name: discovery_operation
      predefined:
      - both
      - advertise
      - listen
    - description: |-
        Dictionary which configures administrator contact name and description for the Distributed Switch.
        Valid attributes are:
        - `name` (str): Administrator name.
        - `description` (str): Description or other details.
      isArray: true
      name: contact
    - description: Description of the Distributed Switch.
      name: description
    - defaultValue: '{''vlan_mtu'': False, ''teaming_failover'': False, ''vlan_mtu_interval'': 0, ''teaming_failover_interval'': 0}'
      description: |-
        Dictionary which configures Health Check for the Distributed Switch.
        Valid attributes are:
        - `vlan_mtu` (bool): VLAN and MTU health check. (default: False)
        - `teaming_failover` (bool): Teaming and failover health check. (default: False)
        - `vlan_mtu_interval` (int): VLAN and MTU health check interval (minutes). (default: 0)
        - The default for `vlan_mtu_interval` is 1 in the vSphere Client if the VLAN and MTU health check is enabled.
        - `teaming_failover_interval` (int): Teaming and failover health check interval (minutes). (default: 0)
        - The default for `teaming_failover_interval` is 1 in the vSphere Client if the Teaming and failover health check is enabled.
      isArray: true
      name: health_check
    - auto: PREDEFINED
      defaultValue: present
      description: |-
        If set to `present` and the Distributed Switch doesn't exists then the Distributed Switch will be created.
        If set to `absent` and the Distributed Switch exists then the Distributed Switch will be deleted.
      name: state
      predefined:
      - present
      - absent
    - description: |-
        Destination folder, absolute path to place dvswitch in.
        The folder should include the datacenter.
        This parameter is case sensitive.
        This parameter is optional, if `datacenter` is provided.
        Examples:
        folder: /datacenter1/network
        folder: datacenter1/network
        folder: /datacenter1/network/folder1
        folder: datacenter1/network/folder1
        folder: /folder1/datacenter1/network
        folder: folder1/datacenter1/network
        folder: /folder1/datacenter1/network/folder2
      name: folder
    description: Create or remove a Distributed Switch
    name: vmware-dvswitch
  - arguments:
    - description: The name of the Distributed Switch to manage.
      name: switch
      required: true
    - auto: PREDEFINED
      defaultValue: basic
      description: |-
        The LACP support mode.
        `basic`: One Link Aggregation Control Protocol group in the switch (singleLag).
        `enhanced`: Multiple Link Aggregation Control Protocol groups in the switch (multipleLag).
      name: support_mode
      predefined:
      - basic
      - enhanced
    - description: |-
        Can only be used if `lacp_support` is set to `enhanced`.
        The following parameters are required:
        - `name` (string): Name of the LAG.
        - `uplink_number` (int): Number of uplinks. Can 1 to 30.
        - `mode` (string): The negotiating state of the uplinks/ports.
        - choices: [ active, passive ]
        - `load_balancing_mode` (string): Load balancing algorithm.
        - Valid attributes are:
        - srcTcpUdpPort: Source TCP/UDP port number.
        - srcDestIpTcpUdpPortVlan: Source and destination IP, source and destination TCP/UDP port number and VLAN.
        - srcIpVlan: Source IP and VLAN.
        - srcDestTcpUdpPort: Source and destination TCP/UDP port number.
        - srcMac: Source MAC address.
        - destIp: Destination IP.
        - destMac: Destination MAC address.
        - vlan: VLAN only.
        - srcDestIp: Source and Destination IP.
        - srcIpTcpUdpPortVlan: Source IP, TCP/UDP port number and VLAN.
        - srcDestIpTcpUdpPort: Source and destination IP and TCP/UDP port number.
        - srcDestMac: Source and destination MAC address.
        - destIpTcpUdpPort: Destination IP and TCP/UDP port number.
        - srcPortId: Source Virtual Port Id.
        - srcIp: Source IP.
        - srcIpTcpUdpPort: Source IP and TCP/UDP port number.
        - destIpTcpUdpPortVlan: Destination IP, TCP/UDP port number and VLAN.
        - destTcpUdpPort: Destination TCP/UDP port number.
        - destIpVlan: Destination IP and VLAN.
        - srcDestIpVlan: Source and destination IP and VLAN.
        - The default load balancing mode in the vSphere Client is srcDestIpTcpUdpPortVlan.
        Please see examples for more information.
      isArray: true
      name: link_aggregation_groups
    description: Manage LACP configuration on a Distributed Switch
    name: vmware-dvswitch-lacp
  - arguments:
    - description: The name of the distributed switch.
      name: switch
      required: true
    - auto: PREDEFINED
      description: Network IO control version.
      name: version
      predefined:
      - version2
      - version3
    - auto: PREDEFINED
      defaultValue: present
      description: Enable or disable NIOC on the distributed switch.
      name: state
      predefined:
      - present
      - absent
    - description: 'List of dicts containing { name: Resource name is one of the following: "faultTolerance", "hbr", "iSCSI", "management", "nfs", "vdp", "virtualMachine", "vmotion", "vsan" limit: The maximum allowed usage for a traffic class belonging to this resource pool per host physical NIC. reservation: (Ignored if NIOC version is set to version2) Amount of bandwidth resource that is guaranteed available to the host infrastructure traffic class. If the utilization is less than the reservation, the extra bandwidth is used for other host infrastructure traffic class types. Reservation is not allowed to exceed the value of limit, if limit is set. Unit is Mbits/sec. shares_level: The allocation level ("low", "normal", "high", "custom"). The level is a simplified view of shares. Levels map to a pre-determined set of numeric values for shares. shares: Ignored unless shares_level is "custom".  The number of shares allocated. reservation: Ignored unless version is "version3". Amount of bandwidth resource that is guaranteed available to the host infrastructure traffic class. }'
      isArray: true
      name: resources
    description: Manage distributed switch Network IO Control
    name: vmware-dvswitch-nioc
  - arguments:
    - description: The name of the Distributed Switch.
      name: switch
      required: true
    - defaultValue: '[]'
      description: |-
        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.
      isArray: true
      name: primary_pvlans
    - defaultValue: '[]'
      description: |-
        A list of VLAN IDs that should be configured as Secondary PVLANs.
        `primary_pvlans` need to be specified to create any Secondary 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.
      isArray: true
      name: secondary_pvlans
    description: Manage Private VLAN configuration of a Distributed Switch
    name: vmware-dvswitch-pvlans
  - arguments:
    - description: The name of the Distributed Switch.
      name: switch
      required: true
    - description: |-
        The name of the uplink portgroup.
        The current name will be used if not specified.
      name: name
    - description: The description of the uplink portgroup.
      name: description
    - defaultValue: '{''port_config_reset_at_disconnect'': True, ''block_override'': True, ''vendor_config_override'': False, ''vlan_override'': False, ''netflow_override'': False, ''traffic_filter_override'': False}'
      description: |-
        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: false)
        - `block_override` (bool): indicates if the block policy can be changed per port. (default: false)
        - `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)
      isArray: true
      name: advanced
    - defaultValue: '[''0-4094'']'
      description: |-
        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 ].
      isArray: true
      name: vlan_trunk_range
    - defaultValue: '{''status'': ''disabled'', ''mode'': ''passive''}'
      description: |-
        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)
      isArray: true
      name: lacp
    - defaultValue: "False"
      description: Indicates if NetFlow is enabled on the uplink portgroup.
      name: netflow_enabled
    - defaultValue: "False"
      description: Indicates if all ports are blocked on the uplink portgroup.
      name: block_all_ports
    description: Manage uplink portproup configuration of a Distributed Switch
    name: vmware-dvswitch-uplink-pg
  - arguments:
    - description: The name of the datacenter the cluster belongs to that you want to enable or disable EVC mode on.
      name: datacenter_name
      required: true
    - description: The name of the cluster to enable or disable EVC mode on.
      name: cluster_name
      required: true
    - description: |-
        Required for `state=present`.
        The EVC mode to enable or disable on the cluster. (intel-broadwell, intel-nehalem, intel-merom, etc.).
      name: evc_mode
      required: true
    - auto: PREDEFINED
      defaultValue: present
      description: Add or remove EVC mode.
      name: state
      predefined:
      - absent
      - present
    description: Enable/Disable EVC mode on vCenter
    name: vmware-evc-mode
  - arguments:
    - description: Name of the datacenter.
      name: datacenter
      required: true
    description: Provides information about folders in a datacenter
    name: vmware-folder-info
  - arguments:
    - auto: PREDEFINED
      defaultValue: present
      description: |-
        Specify the state the virtual machine should be in.
        If `state` is set to `present` and virtual machine exists, ensure the virtual machine configurations conforms to task arguments.
        If `state` is set to `absent` and virtual machine exists, then the specified virtual machine is removed with its associated components.
        If `state` is set to one of the following `poweredon`, `poweredoff`, `present`, `restarted`, `suspended` and virtual machine does not exists, then virtual machine is deployed with given parameters.
        If `state` is set to `poweredon` and virtual machine exists with powerstate other than powered on, then the specified virtual machine is powered on.
        If `state` is set to `poweredoff` and virtual machine exists with powerstate other than powered off, then the specified virtual machine is powered off.
        If `state` is set to `restarted` and virtual machine exists, then the virtual machine is restarted.
        If `state` is set to `suspended` and virtual machine exists, then the virtual machine is set to suspended mode.
        If `state` is set to `shutdownguest` and virtual machine exists, then the virtual machine is shutdown.
        If `state` is set to `rebootguest` and virtual machine exists, then the virtual machine is rebooted.
      name: state
      predefined:
      - present
      - absent
      - poweredon
      - poweredoff
      - restarted
      - suspended
      - shutdownguest
      - rebootguest
    - description: |-
        Name of the virtual machine to work with.
        Virtual machine names in vCenter are not necessarily unique, which may be problematic, see `name_match`.
        If multiple virtual machines with same name exists, then `folder` is required parameter to identify uniqueness of the virtual machine.
        This parameter is required, if `state` is set to `poweredon`, `poweredoff`, `present`, `restarted`, `suspended` and virtual machine does not exists.
        This parameter is case sensitive.
      name: name
      required: true
    - auto: PREDEFINED
      defaultValue: first
      description: If multiple virtual machines matching the name, use the first or last found.
      name: name_match
      predefined:
      - first
      - last
    - description: |-
        UUID of the virtual machine to manage if known, this is VMware's unique identifier.
        This is required if `name` is not supplied.
        If virtual machine does not exists, then this parameter is ignored.
        Please note that a supplied UUID will be ignored on virtual machine creation, as VMware creates the UUID internally.
      name: uuid
    - defaultValue: "False"
      description: Whether to use the VMware instance UUID rather than the BIOS UUID.
      name: use_instance_uuid
    - description: |-
        Template or existing virtual machine used to create new virtual machine.
        If this value is not set, virtual machine is created without using a template.
        If the virtual machine already exists, this parameter will be ignored.
        This parameter is case sensitive.
        You can also specify template or VM UUID for identifying source. version_added 2.8. Use `hw_product_uuid` from `vmware_guest_facts` as UUID value.
        From version 2.8 onwards, absolute path to virtual machine or template can be used.
      name: template
    - defaultValue: "no"
      description: |-
        Flag the instance as a template.
        This will mark the given virtual machine as template.
      name: is_template
    - description: |-
        Destination folder, absolute path to find an existing guest or create the new guest.
        The folder should include the datacenter. ESX's datacenter is ha-datacenter.
        This parameter is case sensitive.
        This parameter is required, while deploying new virtual machine. version_added 2.5.
        If multiple machines are found with same name, this parameter is used to identify uniqueness of the virtual machine. version_added 2.5
        Examples:
        folder: /ha-datacenter/vm
        folder: ha-datacenter/vm
        folder: /datacenter1/vm
        folder: datacenter1/vm
        folder: /datacenter1/vm/folder1
        folder: datacenter1/vm/folder1
        folder: /folder1/datacenter1/vm
        folder: folder1/datacenter1/vm
        folder: /folder1/datacenter1/vm/folder2
      name: folder
    - description: |-
        Manage virtual machine's hardware attributes.
        All parameters case sensitive.
        Valid attributes are:
        - `hotadd_cpu` (boolean): Allow virtual CPUs to be added while the virtual machine is running.
        - `hotremove_cpu` (boolean): Allow virtual CPUs to be removed while the virtual machine is running. version_added: 2.5
        - `hotadd_memory` (boolean): Allow memory to be added while the virtual machine is running.
        - `memory_mb` (integer): Amount of memory in MB.
        - `nested_virt` (bool): Enable nested virtualization. version_added: 2.5
        - `num_cpus` (integer): Number of CPUs.
        - `num_cpu_cores_per_socket` (integer): Number of Cores Per Socket.
        `num_cpus` must be a multiple of `num_cpu_cores_per_socket`. For example to create a VM with 2 sockets of 4 cores, specify `num_cpus`: 8 and `num_cpu_cores_per_socket`: 4
        - `scsi` (string): Valid values are `buslogic`, `lsilogic`, `lsilogicsas` and `paravirtual` (default).
        - `memory_reservation_lock` (boolean): If set true, memory resource reservation for the virtual machine will always be equal to the virtual machine's memory size. version_added: 2.5
        - `max_connections` (integer): Maximum number of active remote display connections for the virtual machines. version_added: 2.5.
        - `mem_limit` (integer): The memory utilization of a virtual machine will not exceed this limit. Unit is MB. version_added: 2.5
        - `mem_reservation` (integer): The amount of memory resource that is guaranteed available to the virtual machine. Unit is MB. `memory_reservation` is alias to this. version_added: 2.5
        - `cpu_limit` (integer): The CPU utilization of a virtual machine will not exceed this limit. Unit is MHz. version_added: 2.5
        - `cpu_reservation` (integer): The amount of CPU resource that is guaranteed available to the virtual machine. Unit is MHz. version_added: 2.5
        - `version` (integer): The Virtual machine hardware versions. Default is 10 (ESXi 5.5 and onwards). Please check VMware documentation for correct virtual machine hardware version. Incorrect hardware version may lead to failure in deployment. If hardware version is already equal to the given version then no action is taken. version_added: 2.6
        - `boot_firmware` (string): Choose which firmware should be used to boot the virtual machine. Allowed values are "bios" and "efi". version_added: 2.7
        - `virt_based_security` (bool): Enable Virtualization Based Security feature for Windows 10. (Support from Virtual machine hardware version 14, Guest OS Windows 10 64 bit, Windows Server 2016)
      name: hardware
    - description: |-
        Set the guest ID.
        This parameter is case sensitive.
        Examples:
        virtual machine with RHEL7 64 bit, will be 'rhel7_64Guest'
        virtual machine with CentOS 64 bit, will be 'centos64Guest'
        virtual machine with Ubuntu 64 bit, will be 'ubuntu64Guest'
        This field is required when creating a virtual machine, not required when creating from the template.
        Valid values are referenced here: `https://code.vmware.com/apis/358/doc/vim.vm.GuestOsDescriptor.GuestOsIdentifier.html`
      name: guest_id
    - description: |-
        A list of disks to add.
        This parameter is case sensitive.
        Shrinking disks is not supported.
        Removing existing disks of the virtual machine is not supported.
        Valid attributes are:
        - `size_[tb,gb,mb,kb]` (integer): Disk storage size in specified unit.
        - `type` (string): Valid values are:
        - `thin` thin disk
        - `eagerzeroedthick` eagerzeroedthick disk, added in version 2.5
        Default: `None` thick disk, no eagerzero.
        - `datastore` (string): The name of datastore which will be used for the disk. If `autoselect_datastore` is set to True, then will select the less used datastore whose name contains this "disk.datastore" string.
        - `filename` (string): Existing disk image to be used. Filename must already exist on the datastore.
        Specify filename string in `[datastore_name] path/to/file.vmdk` format. Added in version 2.8.
        - `autoselect_datastore` (bool): select the less used datastore. "disk.datastore" and "disk.autoselect_datastore" will not be used if `datastore` is specified outside this `disk` configuration.
        - `disk_mode` (string): Type of disk mode. Added in version 2.6
        - Available options are :
        - `persistent`: Changes are immediately and permanently written to the virtual disk. This is default.
        - `independent_persistent`: Same as persistent, but not affected by snapshots.
        - `independent_nonpersistent`: Changes to virtual disk are made to a redo log and discarded at power off, but not affected by snapshots.
      name: disk
    - description: |-
        A CD-ROM configuration for the virtual machine.
        Or a list of CD-ROMs configuration for the virtual machine. Added in version 2.9.
        Parameters `controller_type`, `controller_number`, `unit_number`, `state` are added for a list of CD-ROMs configuration support.
        Valid attributes are:
        - `type` (string): The type of CD-ROM, valid options are `none`, `client` or `iso`. With `none` the CD-ROM will be disconnected but present.
        - `iso_path` (string): The datastore path to the ISO file to use, in the form of `[datastore1] path/to/file.iso`. Required if type is set `iso`.
        - `controller_type` (string): Default value is `ide`. Only `ide` controller type for CD-ROM is supported for now, will add SATA controller type in the future.
        - `controller_number` (int): For `ide` controller, valid value is 0 or 1.
        - `unit_number` (int): For CD-ROM device attach to `ide` controller, valid value is 0 or 1. `controller_number` and `unit_number` are mandatory attributes.
        - `state` (string): Valid value is `present` or `absent`. Default is `present`. If set to `absent`, then the specified CD-ROM will be removed. For `ide` controller, hot-add or hot-remove CD-ROM is not supported.
      name: cdrom
    - description: |-
        Use the given resource pool for virtual machine operation.
        This parameter is case sensitive.
        Resource pool should be child of the selected host parent.
      name: resource_pool
    - defaultValue: "no"
      description: |-
        Wait until vCenter detects an IP address for the virtual machine.
        This requires vmware-tools (vmtoolsd) to properly work after creation.
        vmware-tools needs to be installed on the given virtual machine in order to work with this parameter.
      name: wait_for_ip_address
    - defaultValue: "no"
      description: |-
        Wait until vCenter detects all guest customizations as successfully completed.
        When enabled, the VM will automatically be powered on.
      name: wait_for_customization
    - defaultValue: "0"
      description: |-
        If the `state` is set to `shutdownguest`, by default the module will return immediately after sending the shutdown signal.
        If this argument is set to a positive integer, the module will instead wait for the virtual machine to reach the poweredoff state.
        The value sets a timeout in seconds for the module to wait for the state change.
      name: state_change_timeout
    - description: |-
        Name of the existing snapshot to use to create a clone of a virtual machine.
        This parameter is case sensitive.
        While creating linked clone using `linked_clone` parameter, this parameter is required.
      name: snapshot_src
    - defaultValue: "no"
      description: |-
        Whether to create a linked clone from the snapshot specified.
        If specified, then `snapshot_src` is required parameter.
      name: linked_clone
    - defaultValue: "no"
      description: |-
        Ignore warnings and complete the actions.
        This parameter is useful while removing virtual machine which is powered on state.
        This module reflects the VMware vCenter API and UI workflow, as such, in some cases the `force` flag will be mandatory to perform the action to ensure you are certain the action has to be taken, no matter what the consequence. This is specifically the case for removing a powered on the virtual machine when `state` is set to `absent`.
      name: force
    - defaultValue: ha-datacenter
      description: |-
        Destination datacenter for the deploy operation.
        This parameter is case sensitive.
      name: datacenter
    - description: |-
        The cluster name where the virtual machine will run.
        This is a required parameter, if `esxi_hostname` is not set.
        `esxi_hostname` and `cluster` are mutually exclusive parameters.
        This parameter is case sensitive.
      name: cluster
    - description: |-
        The ESXi hostname where the virtual machine will run.
        This is a required parameter, if `cluster` is not set.
        `esxi_hostname` and `cluster` are mutually exclusive parameters.
        This parameter is case sensitive.
      name: esxi_hostname
    - description: A note or annotation to include in the virtual machine.
      name: annotation
    - description: |-
        Define a list of custom values to set on virtual machine.
        A custom value object takes two fields `key` and `value`.
        Incorrect key and values will be ignored.
      name: customvalues
    - description: |-
        A list of networks (in the order of the NICs).
        Removing NICs is not allowed, while reconfiguring the virtual machine.
        All parameters and VMware object names are case sensitive.
        One of the below parameters is required per entry:
        - `name` (string): Name of the portgroup or distributed virtual portgroup for this interface. When specifying distributed virtual portgroup make sure given `esxi_hostname` or `cluster` is associated with it.
        - `vlan` (integer): VLAN number for this interface.
        Optional parameters per entry (used for virtual hardware):
        - `device_type` (string): Virtual network device (one of `e1000`, `e1000e`, `pcnet32`, `vmxnet2`, `vmxnet3` (default), `sriov`).
        - `mac` (string): Customize MAC address.
        - `dvswitch_name` (string): Name of the distributed vSwitch. This value is required if multiple distributed portgroups exists with the same name. version_added 2.7
        - `start_connected` (bool): Indicates that virtual network adapter starts with associated virtual machine powers on. version_added: 2.5
        Optional parameters per entry (used for OS customization):
        - `type` (string): Type of IP assignment (either `dhcp` or `static`). `dhcp` is default.
        - `ip` (string): Static IP address (implies `type: static`).
        - `netmask` (string): Static netmask required for `ip`.
        - `gateway` (string): Static gateway.
        - `dns_servers` (string): DNS servers for this network interface (Windows).
        - `domain` (string): Domain name for this network interface (Windows).
        - `wake_on_lan` (bool): Indicates if wake-on-LAN is enabled on this virtual network adapter. version_added: 2.5
        - `allow_guest_control` (bool): Enables guest control over whether the connectable device is connected. version_added: 2.5
      name: networks
    - description: |-
        Parameters for OS customization when cloning from the template or the virtual machine, or apply to the existing virtual machine directly.
        Not all operating systems are supported for customization with respective vCenter version, please check VMware documentation for respective OS customization.
        For supported customization operating system matrix, (see `http://partnerweb.vmware.com/programs/guestOS/guest-os-customization-matrix.pdf`)
        All parameters and VMware object names are case sensitive.
        Linux based OSes requires Perl package to be installed for OS customizations.
        Common parameters (Linux/Windows):
        - `existing_vm` (bool): If set to `True`, do OS customization on the specified virtual machine directly. If set to `False` or not specified, do OS customization when cloning from the template or the virtual machine. version_added: 2.8
        - `dns_servers` (list): List of DNS servers to configure.
        - `dns_suffix` (list): List of domain suffixes, also known as DNS search path (default: `domain` parameter).
        - `domain` (string): DNS domain name to use.
        - `hostname` (string): Computer hostname (default: shorted `name` parameter). Allowed characters are alphanumeric (uppercase and lowercase) and minus, rest of the characters are dropped as per RFC 952.
        Parameters related to Linux customization:
        - `timezone` (string): Timezone (See List of supported time zones for different vSphere versions in Linux/Unix systems (2145518) `https://kb.vmware.com/s/article/2145518`). version_added: 2.9
        - `hwclockUTC` (bool): Specifies whether the hardware clock is in UTC or local time. True when the hardware clock is in UTC, False when the hardware clock is in local time. version_added: 2.9
        Parameters related to Windows customization:
        - `autologon` (bool): Auto logon after virtual machine customization (default: False).
        - `autologoncount` (int): Number of autologon after reboot (default: 1).
        - `domainadmin` (string): User used to join in AD domain (mandatory with `joindomain`).
        - `domainadminpassword` (string): Password used to join in AD domain (mandatory with `joindomain`).
        - `fullname` (string): Server owner name (default: Administrator).
        - `joindomain` (string): AD domain to join (Not compatible with `joinworkgroup`).
        - `joinworkgroup` (string): Workgroup to join (Not compatible with `joindomain`, default: WORKGROUP).
        - `orgname` (string): Organisation name (default: ACME).
        - `password` (string): Local administrator password.
        - `productid` (string): Product ID.
        - `runonce` (list): List of commands to run at first user logon.
        - `timezone` (int): Timezone (See `https://msdn.microsoft.com/en-us/library/ms912391.aspx`).
      name: customization
    - description: |-
        A list of vApp properties
        For full list of attributes and types refer to: `https://github.com/vmware/pyvmomi/blob/master/docs/vim/vApp/PropertyInfo.rst`
        Basic attributes are:
        - `id` (string): Property id - required.
        - `value` (string): Property value.
        - `type` (string): Value type, string type by default.
        - `operation`: `remove`: This attribute is required only when removing properties.
      name: vapp_properties
    - description: |-
        Unique name identifying the requested customization specification.
        This parameter is case sensitive.
        If set, then overrides `customization` parameter values.
      name: customization_spec
    - description: |-
        Specify datastore or datastore cluster to provision virtual machine.
        This parameter takes precedence over "disk.datastore" parameter.
        This parameter can be used to override datastore or datastore cluster setting of the virtual machine when deployed from the template.
        Please see example for more usage.
      name: datastore
    - auto: PREDEFINED
      description: Specify convert disk type while cloning template or virtual machine.
      name: convert
      predefined:
      - thin
      - thick
      - eagerzeroedthick
    description: Manages virtual machines in vCenter
    name: vmware-guest
  - arguments:
    - description: |-
        Name of the VM to work with.
        This is required if `uuid` or `moid` parameter is not supplied.
      name: name
    - description: |-
        UUID of the instance to manage if known, this is VMware's BIOS UUID by default.
        This is required if `name` or `moid` parameter is not supplied.
      name: uuid
    - description: |-
        Managed Object ID of the instance to manage if known, this is a unique identifier only within a single vCenter instance.
        This is required if `name` or `uuid` is not supplied.
      name: moid
    - defaultValue: "False"
      description: Whether to use the VMware instance UUID rather than the BIOS UUID.
      name: use_instance_uuid
    - auto: PREDEFINED
      defaultValue: first
      description: If multiple virtual machines matching the name, use the first or last found.
      name: name_match
      predefined:
      - first
      - last
    description: Gather info about boot options for the given virtual machine
    name: vmware-guest-boot-info
  - arguments:
    - description: |-
        Name of the VM to work with.
        This is required if `uuid` or `moid` parameter is not supplied.
      name: name
    - description: |-
        UUID of the instance to manage if known, this is VMware's BIOS UUID by default.
        This is required if `name` or `moid` parameter is not supplied.
      name: uuid
    - description: |-
        Managed Object ID of the instance to manage if known, this is a unique identifier only within a single vCenter instance.
        This is required if `name` or `uuid` is not supplied.
      name: moid
    - defaultValue: "False"
      description: Whether to use the VMware instance UUID rather than the BIOS UUID.
      name: use_instance_uuid
    - defaultValue: '[]'
      description: List of the boot devices.
      isArray: true
      name: boot_order
    - auto: PREDEFINED
      defaultValue: first
      description: If multiple virtual machines matching the name, use the first or last found.
      name: name_match
      predefined:
      - first
      - last
    - defaultValue: "0"
      description: Delay in milliseconds before starting the boot sequence.
      name: boot_delay
    - defaultValue: "False"
      description: |-
        If set to `True`, the virtual machine automatically enters BIOS setup the next time it boots.
        The virtual machine resets this flag, so that the machine boots proceeds normally.
      name: enter_bios_setup
    - defaultValue: "False"
      description: |-
        If set to `True`, the virtual machine that fails to boot, will try to boot again after `boot_retry_delay` is expired.
        If set to `False`, the virtual machine waits indefinitely for user intervention.
      name: boot_retry_enabled
    - defaultValue: "0"
      description: |-
        Specify the time in milliseconds between virtual machine boot failure and subsequent attempt to boot again.
        If set, will automatically set `boot_retry_enabled` to `True` as this parameter is required.
      name: boot_retry_delay
    - auto: PREDEFINED
      description: Choose which firmware should be used to boot the virtual machine.
      name: boot_firmware
      predefined:
      - bios
      - efi
    - defaultValue: "False"
      description: Choose if EFI secure boot should be enabled.  EFI secure boot can only be enabled with boot_firmware = efi
      name: secure_boot_enabled
    description: Manage boot options for the given virtual machine
    name: vmware-guest-boot-manager
  - arguments:
    - description: |-
        Name of the custom attribute definition.
        This is required parameter, if `state` is set to `present` or `absent`.
      name: attribute_key
    - auto: PREDEFINED
      defaultValue: present
      description: |-
        Manage definition of custom attributes.
        If set to `present` and definition not present, then custom attribute definition is created.
        If set to `present` and definition is present, then no action taken.
        If set to `absent` and definition is present, then custom attribute definition is removed.
        If set to `absent` and definition is absent, then no action taken.
      name: state
      predefined:
      - present
      - absent
      required: true
    description: Manage custom attributes definitions for virtual machine from VMware
    name: vmware-guest-custom-attribute-defs
  - arguments:
    - description: |-
        Name of the virtual machine to work with.
        This is required parameter, if `uuid` or `moid` is not supplied.
      name: name
      required: true
    - auto: PREDEFINED
      defaultValue: present
      description: |-
        The action to take.
        If set to `present`, then custom attribute is added or updated.
        If set to `absent`, then custom attribute is removed.
      name: state
      predefined:
      - present
      - absent
    - description: |-
        UUID of the virtual machine to manage if known. This is VMware's unique identifier.
        This is required parameter, if `name` or `moid` is not supplied.
      name: uuid
    - description: |-
        Managed Object ID of the instance to manage if known, this is a unique identifier only within a single vCenter instance.
        This is required if `name` or `uuid` is not supplied.
      name: moid
    - defaultValue: "False"
      description: Whether to use the VMware instance UUID rather than the BIOS UUID.
      name: use_instance_uuid
    - description: |-
        Absolute path to find an existing guest.
        This is required parameter, if `name` is supplied and multiple virtual machines with same name are found.
      name: folder
    - description: Datacenter name where the virtual machine is located in.
      name: datacenter
      required: true
    - defaultValue: '[]'
      description: |-
        A list of name and value of custom attributes that needs to be manage.
        Value of custom attribute is not required and will be ignored, if `state` is set to `absent`.
      isArray: true
      name: attributes
    description: Manage custom attributes from VMware for the given virtual machine
    name: vmware-guest-custom-attributes
  - arguments:
    - description: Name of customization specification to find.
      name: spec_name
    description: Gather info about VM customization specifications
    name: vmware-guest-customization-info
  - arguments:
    - description: |-
        Name of the virtual machine.
        This is a required parameter, if parameter `uuid` or `moid` is not supplied.
      name: name
    - description: |-
        UUID of the instance to gather facts if known, this is VMware's unique identifier.
        This is a required parameter, if parameter `name` or `moid` is not supplied.
      name: uuid
    - description: |-
        Managed Object ID of the instance to manage if known, this is a unique identifier only within a single vCenter instance.
        This is required if `name` or `uuid` is not supplied.
      name: moid
    - description: |-
        Destination folder, absolute or relative path to find an existing guest.
        This is a required parameter, only if multiple VMs are found with same name.
        The folder should include the datacenter. ESX's datacenter is ha-datacenter
        Examples:
        folder: /ha-datacenter/vm
        folder: ha-datacenter/vm
        folder: /datacenter1/vm
        folder: datacenter1/vm
        folder: /datacenter1/vm/folder1
        folder: datacenter1/vm/folder1
        folder: /folder1/datacenter1/vm
        folder: folder1/datacenter1/vm
        folder: /folder1/datacenter1/vm/folder2
      name: folder
    - description: The datacenter name to which virtual machine belongs to.
      name: datacenter
      required: true
    - defaultValue: "False"
      description: Whether to use the VMware instance UUID rather than the BIOS UUID.
      name: use_instance_uuid
    - defaultValue: '[]'
      description: |-
        A list of disks to add.
        The virtual disk related information is provided using this list.
        All values and parameters are case sensitive.
        Valid attributes are:
        - `size[_tb,_gb,_mb,_kb]` (integer): Disk storage size in specified unit.
        If `size` specified then unit must be specified. There is no space allowed in between size number and unit.
        Only first occurrence in disk element will be considered, even if there are multiple size* parameters available.
        - `type` (string): Valid values are:
        - `thin` thin disk
        - `eagerzeroedthick` eagerzeroedthick disk
        - `thick` thick disk
        Default: `thick` thick disk, no eagerzero.
        - `datastore` (string): Name of datastore or datastore cluster to be used for the disk.
        - `autoselect_datastore` (bool): Select the less used datastore. Specify only if `datastore` is not specified.
        - `scsi_controller` (integer): SCSI controller number. Valid value range from 0 to 3.
        Only 4 SCSI controllers are allowed per VM.
        Care should be taken while specifying `scsi_controller` is 0 and `unit_number` as 0 as this disk may contain OS.
        - `unit_number` (integer): Disk Unit Number. Valid value range from 0 to 15. Only 15 disks are allowed per SCSI Controller.
        - `scsi_type` (string): Type of SCSI controller. This value is required only for the first occurrence of SCSI Controller.
        This value is ignored, if SCSI Controller is already present or `state` is `absent`.
        Valid values are `buslogic`, `lsilogic`, `lsilogicsas` and `paravirtual`.
        `paravirtual` is default value for this parameter.
        - `state` (string): State of disk. This is either "absent" or "present".
        If `state` is set to `absent`, disk will be removed permanently from virtual machine configuration and from VMware storage.
        If `state` is set to `present`, disk will be added if not present at given SCSI Controller and Unit Number.
        If `state` is set to `present` and disk exists with different size, disk size is increased.
        Reducing disk size is not allowed.
      isArray: true
      name: disk
    description: Manage disks related to virtual machine in given vCenter infrastructure
    name: vmware-guest-disk
  - arguments:
    - description: |-
        Name of the virtual machine.
        This is required parameter, if parameter `uuid` or `moid` is not supplied.
      name: name
    - description: |-
        UUID of the instance to gather information if known, this is VMware's unique identifier.
        This is required parameter, if parameter `name` or `moid` is not supplied.
      name: uuid
    - description: |-
        Managed Object ID of the instance to manage if known, this is a unique identifier only within a single vCenter instance.
        This is required if `name` or `uuid` is not supplied.
      name: moid
    - defaultValue: "False"
      description: Whether to use the VMware instance UUID rather than the BIOS UUID.
      name: use_instance_uuid
    - description: |-
        Destination folder, absolute or relative path to find an existing guest.
        This is required parameter, only if multiple VMs are found with same name.
        The folder should include the datacenter. ESX's datacenter is ha-datacenter
        Examples:
        folder: /ha-datacenter/vm
        folder: ha-datacenter/vm
        folder: /datacenter1/vm
        folder: datacenter1/vm
        folder: /datacenter1/vm/folder1
        folder: datacenter1/vm/folder1
        folder: /folder1/datacenter1/vm
        folder: folder1/datacenter1/vm
        folder: /folder1/datacenter1/vm/folder2
      name: folder
    - description: The datacenter name to which virtual machine belongs to.
      name: datacenter
      required: true
    description: Gather info about disks of given virtual machine
    name: vmware-guest-disk-info
  - arguments:
    - description: |-
        Name of the VM to work with.
        This is required if `uuid` parameter is not supplied.
      name: name
    - description: |-
        UUID of the instance to manage if known, this is VMware's BIOS UUID by default.
        This is required if `name` parameter is not supplied.
      name: uuid
    - defaultValue: "False"
      description: Whether to use the VMware instance UUID rather than the BIOS UUID.
      name: use_instance_uuid
    - description: |-
        Destination datacenter for the find operation.
        Deprecated in 2.5, will be removed in 2.9 release.
      name: datacenter
    description: Find the folder path(s) for a virtual machine by name or UUID
    name: vmware-guest-find
  - arguments:
    - description: |-
        Name of the VM to work with
        This is required if `uuid` or `moid` is not supplied.
      name: name
    - auto: PREDEFINED
      defaultValue: first
      description: If multiple VMs matching the name, use the first or last found
      name: name_match
      predefined:
      - first
      - last
    - description: |-
        UUID of the instance to manage if known, this is VMware's unique identifier.
        This is required if `name` or `moid` is not supplied.
      name: uuid
    - defaultValue: "False"
      description: Whether to use the VMware instance UUID rather than the BIOS UUID.
      name: use_instance_uuid
    - description: |-
        Managed Object ID of the instance to manage if known, this is a unique identifier only within a single vCenter instance.
        This is required if `name` or `uuid` is not supplied.
      name: moid
    - description: |-
        Destination folder, absolute or relative path to find an existing guest.
        This is required if name is supplied.
        The folder should include the datacenter. ESX's datacenter is ha-datacenter
        Examples:
        folder: /ha-datacenter/vm
        folder: ha-datacenter/vm
        folder: /datacenter1/vm
        folder: datacenter1/vm
        folder: /datacenter1/vm/folder1
        folder: datacenter1/vm/folder1
        folder: /folder1/datacenter1/vm
        folder: folder1/datacenter1/vm
        folder: /folder1/datacenter1/vm/folder2
      name: folder
    - description: Destination datacenter for the deploy operation
      name: datacenter
      required: true
    - defaultValue: "no"
      description: |-
        Whether to show tags or not.
        If set `True`, shows tag information.
        If set `False`, hides tags information.
        vSphere Automation SDK and vCloud Suite SDK is required.
      name: tags
    - auto: PREDEFINED
      defaultValue: summary
      description: |-
        Specify the output schema desired.
        The 'summary' output schema is the legacy output from the module
        The 'vsphere' output schema is the vSphere API class definition which requires pyvmomi>6.7.1
      name: schema
      predefined:
      - summary
      - vsphere
    - description: |-
        Specify the properties to retrieve.
        If not specified, all properties are retrieved (deeply).
        Results are returned in a structure identical to the vsphere API.
        Example:
        properties: [
        "config.hardware.memoryMB",
        "config.hardware.numCPU",
        "guest.disk",
        "overallStatus"
        ]
        Only valid when `schema` is `vsphere`.
      isArray: true
      name: properties
    description: Gather info about a single VM
    name: vmware-guest-info
  - arguments:
    - description: |-
        Name of the existing virtual machine to move.
        This is required if `uuid` or `moid` is not supplied.
      name: name
    - description: |-
        UUID of the virtual machine to manage if known, this is VMware's unique identifier.
        This is required if `name` or `moid` is not supplied.
      name: uuid
    - description: |-
        Managed Object ID of the instance to manage if known, this is a unique identifier only within a single vCenter instance.
        This is required if `name` or `uuid` is not supplied.
      name: moid
    - defaultValue: "False"
      description: Whether to use the VMware instance UUID rather than the BIOS UUID.
      name: use_instance_uuid
    - auto: PREDEFINED
      defaultValue: first
      description: If multiple virtual machines matching the name, use the first or last found.
      name: name_match
      predefined:
      - first
      - last
    - description: |-
        Absolute path to move an existing guest
        The dest_folder should include the datacenter. ESX's datacenter is ha-datacenter.
        This parameter is case sensitive.
        Examples:
        dest_folder: /ha-datacenter/vm
        dest_folder: ha-datacenter/vm
        dest_folder: /datacenter1/vm
        dest_folder: datacenter1/vm
        dest_folder: /datacenter1/vm/folder1
        dest_folder: datacenter1/vm/folder1
        dest_folder: /folder1/datacenter1/vm
        dest_folder: folder1/datacenter1/vm
        dest_folder: /folder1/datacenter1/vm/folder2
      name: dest_folder
      required: true
    - description: Destination datacenter for the move operation
      name: datacenter
      required: true
    description: Moves virtual machines in vCenter
    name: vmware-guest-move
  - arguments:
    - description: |-
        Name of the virtual machine.
        This is a required parameter, if parameter `uuid` or `moid` is not supplied.
      name: name
    - description: |-
        UUID of the instance to gather info if known, this is VMware's unique identifier.
        This is a required parameter, if parameter `name` or `moid` is not supplied.
      name: uuid
    - description: |-
        Managed Object ID of the instance to manage if known, this is a unique identifier only within a single vCenter instance.
        This is required if `name` or `uuid` is not supplied.
      name: moid
    - description: |-
        Destination folder, absolute or relative path to find an existing guest.
        This is a required parameter, only if multiple VMs are found with same name.
        The folder should include the datacenter. ESXi server's datacenter is ha-datacenter.
        Examples:
        folder: /ha-datacenter/vm
        folder: ha-datacenter/vm
        folder: /datacenter1/vm
        folder: datacenter1/vm
        folder: /datacenter1/vm/folder1
        folder: datacenter1/vm/folder1
        folder: /folder1/datacenter1/vm
        folder: folder1/datacenter1/vm
        folder: /folder1/datacenter1/vm/folder2
      name: folder
    - description: |-
        The name of cluster where the virtual machine will run.
        This is a required parameter, if `esxi_hostname` is not set.
        `esxi_hostname` and `cluster` are mutually exclusive parameters.
      name: cluster
    - description: |-
        The ESXi hostname where the virtual machine will run.
        This is a required parameter, if `cluster` is not set.
        `esxi_hostname` and `cluster` are mutually exclusive parameters.
      name: esxi_hostname
    - defaultValue: ha-datacenter
      description: The datacenter name to which virtual machine belongs to.
      name: datacenter
    - defaultValue: "False"
      description: |-
        If set to `True`, return settings of all network adapters, other parameters are ignored.
        If set to `False`, will add, reconfigure or remove network adapters according to the parameters in `networks`.
      name: gather_network_info
    - description: |-
        A list of network adapters.
        `mac` or `label` or `device_type` is required to reconfigure or remove an existing network adapter.
        If there are multiple network adapters with the same `device_type`, you should set `label` or `mac` to match one of them, or will apply changes on all network adapters with the `device_type` specified.
        `mac`, `label`, `device_type` is the order of precedence from greatest to least if all set.
        Valid attributes are:
        - `mac` (string): MAC address of the existing network adapter to be reconfigured or removed.
        - `label` (string): Label of the existing network adapter to be reconfigured or removed, e.g., "Network adapter 1".
        - `device_type` (string): Valid virtual network device types are: `e1000`, `e1000e`, `pcnet32`, `vmxnet2`, `vmxnet3` (default), `sriov`. Used to add new network adapter, reconfigure or remove the existing network adapter with this type. If `mac` and `label` not specified or not find network adapter by `mac` or `label` will use this parameter.
        - `name` (string): Name of the portgroup or distributed virtual portgroup for this interface. When specifying distributed virtual portgroup make sure given `esxi_hostname` or `cluster` is associated with it.
        - `vlan` (integer): VLAN number for this interface.
        - `dvswitch_name` (string): Name of the distributed vSwitch. This value is required if multiple distributed portgroups exists with the same name.
        - `state` (string): State of the network adapter.
        If set to `present`, then will do reconfiguration for the specified network adapter.
        If set to `new`, then will add the specified network adapter.
        If set to `absent`, then will remove this network adapter.
        - `manual_mac` (string): Manual specified MAC address of the network adapter when creating, or reconfiguring. If not specified when creating new network adapter, mac address will be generated automatically. When reconfigure MAC address, VM should be in powered off state.
        - `connected` (bool): Indicates that virtual network adapter connects to the associated virtual machine.
        - `start_connected` (bool): Indicates that virtual network adapter starts with associated virtual machine powers on.
      isArray: true
      name: networks
    description: Manage network adapters of specified virtual machine in given vCenter infrastructure
    name: vmware-guest-network
  - arguments:
    - auto: PREDEFINED
      defaultValue: present
      description: Set the state of the virtual machine.
      name: state
      predefined:
      - powered-off
      - powered-on
      - reboot-guest
      - restarted
      - shutdown-guest
      - suspended
      - present
    - description: |-
        Name of the virtual machine to work with.
        Virtual machine names in vCenter are not necessarily unique, which may be problematic, see `name_match`.
      name: name
    - auto: PREDEFINED
      defaultValue: first
      description: If multiple virtual machines matching the name, use the first or last found.
      name: name_match
      predefined:
      - first
      - last
    - description: |-
        UUID of the instance to manage if known, this is VMware's unique identifier.
        This is required if `name` or `moid` is not supplied.
      name: uuid
    - description: |-
        Managed Object ID of the instance to manage if known, this is a unique identifier only within a single vCenter instance.
        This is required if `name` or `uuid` is not supplied.
      name: moid
    - defaultValue: "False"
      description: Whether to use the VMware instance UUID rather than the BIOS UUID.
      name: use_instance_uuid
    - description: |-
        Destination folder, absolute or relative path to find an existing guest.
        The folder should include the datacenter. ESX's datacenter is ha-datacenter
        Examples:
        folder: /ha-datacenter/vm
        folder: ha-datacenter/vm
        folder: /datacenter1/vm
        folder: datacenter1/vm
        folder: /datacenter1/vm/folder1
        folder: datacenter1/vm/folder1
        folder: /folder1/datacenter1/vm
        folder: folder1/datacenter1/vm
        folder: /folder1/datacenter1/vm/folder2
      name: folder
    - description: |-
        Date and time in string format at which specified task needs to be performed.
        The required format for date and time - 'dd/mm/yyyy hh:mm'.
        Scheduling task requires vCenter server. A standalone ESXi server does not support this option.
      name: scheduled_at
    - description: |-
        Name of schedule task.
        Valid only if `scheduled_at` is specified.
      name: schedule_task_name
    - description: |-
        Description of schedule task.
        Valid only if `scheduled_at` is specified.
      name: schedule_task_description
    - defaultValue: "True"
      description: Flag to indicate whether the scheduled task is enabled or disabled.
      name: schedule_task_enabled
    - defaultValue: "False"
      description: |-
        Ignore warnings and complete the actions.
        This parameter is useful while forcing virtual machine state.
      name: force
    - defaultValue: "0"
      description: |-
        If the `state` is set to `shutdown-guest`, by default the module will return immediately after sending the shutdown signal.
        If this argument is set to a positive integer, the module will instead wait for the VM to reach the poweredoff state.
        The value sets a timeout in seconds for the module to wait for the state change.
      name: state_change_timeout
    description: Manages power states of virtual machines in vCenter
    name: vmware-guest-powerstate
  - arguments:
    - description: |-
        Name of the virtual machine.
        This is a required parameter, if parameter `uuid` or `moid` is not supplied.
      name: name
    - description: |-
        UUID of the instance to gather facts if known, this is VMware's unique identifier.
        This is a required parameter, if parameter `name` or `moid` is not supplied.
      name: uuid
    - description: |-
        Managed Object ID of the instance to manage if known, this is a unique identifier only within a single vCenter instance.
        This is required if `name` or `uuid` is not supplied.
      name: moid
    - description: |-
        Destination folder, absolute or relative path to find an existing guest.
        This is a required parameter, only if multiple VMs are found with same name.
        The folder should include the datacenter. ESXi server's datacenter is ha-datacenter.
        Examples:
        folder: /ha-datacenter/vm
        folder: ha-datacenter/vm
        folder: /datacenter1/vm
        folder: datacenter1/vm
        folder: /datacenter1/vm/folder1
        folder: datacenter1/vm/folder1
        folder: /folder1/datacenter1/vm
        folder: folder1/datacenter1/vm
        folder: /folder1/datacenter1/vm/folder2
      name: folder
    - description: |-
        The name of cluster where the virtual machine is running.
        This is a required parameter, if `esxi_hostname` is not set.
        `esxi_hostname` and `cluster` are mutually exclusive parameters.
      name: cluster
    - description: |-
        The ESXi hostname where the virtual machine is running.
        This is a required parameter, if `cluster` is not set.
        `esxi_hostname` and `cluster` are mutually exclusive parameters.
      name: esxi_hostname
    - description: The datacenter name to which virtual machine belongs to.
      name: datacenter
    - description: |-
        If `local_path` is not set, the created screenshot file will be kept in the directory of the virtual machine on ESXi host. If `local_path` is set to a valid path on local machine, then the screenshot file will be downloaded from ESXi host to the local directory.
        If not download screenshot file to local machine, you can open it through the returned file URL in screenshot facts manually.
      name: local_path
    description: Create a screenshot of the Virtual Machine console.
    name: vmware-guest-screenshot
  - arguments:
    - description: |-
        Name of the virtual machine.
        This is a required parameter, if parameter `uuid` or `moid` is not supplied.
      name: name
    - description: |-
        UUID of the instance to gather facts if known, this is VMware's unique identifier.
        This is a required parameter, if parameter `name` or `moid` is not supplied.
      name: uuid
    - description: |-
        Managed Object ID of the instance to manage if known, this is a unique identifier only within a single vCenter instance.
        This is required if `name` or `uuid` is not supplied.
      name: moid
    - description: |-
        Destination folder, absolute or relative path to find an existing guest.
        This is a required parameter, only if multiple VMs are found with same name.
        The folder should include the datacenter. ESXi server's datacenter is ha-datacenter.
        Examples:
        folder: /ha-datacenter/vm
        folder: ha-datacenter/vm
        folder: /datacenter1/vm
        folder: datacenter1/vm
        folder: /datacenter1/vm/folder1
        folder: datacenter1/vm/folder1
        folder: /folder1/datacenter1/vm
        folder: folder1/datacenter1/vm
        folder: /folder1/datacenter1/vm/folder2
      name: folder
    - description: |-
        The name of cluster where the virtual machine is running.
        This is a required parameter, if `esxi_hostname` is not set.
        `esxi_hostname` and `cluster` are mutually exclusive parameters.
      name: cluster
    - description: |-
        The ESXi hostname where the virtual machine is running.
        This is a required parameter, if `cluster` is not set.
        `esxi_hostname` and `cluster` are mutually exclusive parameters.
      name: esxi_hostname
    - description: The datacenter name to which virtual machine belongs to.
      name: datacenter
    - description: |-
        The string will be sent to the virtual machine.
        This string can contain valid special character, alphabet and digit on the keyboard.
      name: string_send
    - description: |-
        The list of the keys will be sent to the virtual machine.
        Valid values are `ENTER`, `ESC`, `BACKSPACE`, `TAB`, `SPACE`, `CAPSLOCK`, `DELETE`, `CTRL_ALT_DEL`, `CTRL_C` and `F1` to `F12`, `RIGHTARROW`, `LEFTARROW`, `DOWNARROW`, `UPARROW`.
        If both `keys_send` and `string_send` are specified, keys in `keys_send` list will be sent in front of the `string_send`.
      isArray: true
      name: keys_send
    description: Send USB HID codes to the Virtual Machine's keyboard.
    name: vmware-guest-sendkey
  - arguments:
    - auto: PREDEFINED
      defaultValue: present
      description: |-
        Manage snapshot(s) attached to a specific virtual machine.
        If set to `present` and snapshot absent, then will create a new snapshot with the given name.
        If set to `present` and snapshot present, then no changes are made.
        If set to `absent` and snapshot present, then snapshot with the given name is removed.
        If set to `absent` and snapshot absent, then no changes are made.
        If set to `revert` and snapshot present, then virtual machine state is reverted to the given snapshot.
        If set to `revert` and snapshot absent, then no changes are made.
        If set to `remove_all` and snapshot(s) present, then all snapshot(s) will be removed.
        If set to `remove_all` and snapshot(s) absent, then no changes are made.
      name: state
      predefined:
      - present
      - absent
      - revert
      - remove_all
      required: true
    - description: |-
        Name of the virtual machine to work with.
        This is required parameter, if `uuid` or `moid` is not supplied.
      name: name
    - auto: PREDEFINED
      defaultValue: first
      description: If multiple VMs matching the name, use the first or last found.
      name: name_match
      predefined:
      - first
      - last
    - description: |-
        UUID of the instance to manage if known, this is VMware's BIOS UUID by default.
        This is required if `name` or `moid` parameter is not supplied.
      name: uuid
    - description: |-
        Managed Object ID of the instance to manage if known, this is a unique identifier only within a single vCenter instance.
        This is required if `name` or `uuid` is not supplied.
      name: moid
    - defaultValue: "False"
      description: Whether to use the VMware instance UUID rather than the BIOS UUID.
      name: use_instance_uuid
    - description: |-
        Destination folder, absolute or relative path to find an existing guest.
        This is required parameter, if `name` is supplied.
        The folder should include the datacenter. ESX's datacenter is ha-datacenter.
        Examples:
        folder: /ha-datacenter/vm
        folder: ha-datacenter/vm
        folder: /datacenter1/vm
        folder: datacenter1/vm
        folder: /datacenter1/vm/folder1
        folder: datacenter1/vm/folder1
        folder: /folder1/datacenter1/vm
        folder: folder1/datacenter1/vm
        folder: /folder1/datacenter1/vm/folder2
      name: folder
    - description: Destination datacenter for the deploy operation.
      name: datacenter
      required: true
    - description: |-
        Sets the snapshot name to manage.
        This param is required only if state is not `remove_all`
      name: snapshot_name
    - description: Define an arbitrary description to attach to snapshot.
      name: description
    - defaultValue: "False"
      description: |-
        If set to `true` and virtual machine is powered on, it will quiesce the file system in virtual machine.
        Note that VMware Tools are required for this flag.
        If virtual machine is powered off or VMware Tools are not available, then this flag is set to `false`.
        If virtual machine does not provide capability to take quiesce snapshot, then this flag is set to `false`.
      name: quiesce
    - defaultValue: "False"
      description: |-
        If set to `true`, memory dump of virtual machine is also included in snapshot.
        Note that memory snapshots take time and resources, this will take longer time to create.
        If virtual machine does not provide capability to take memory snapshot, then this flag is set to `false`.
      name: memory_dump
    - defaultValue: "False"
      description: If set to `true` and state is set to `absent`, then entire snapshot subtree is set for removal.
      name: remove_children
    - description: Value to rename the existing snapshot to.
      name: new_snapshot_name
    - description: Value to change the description of an existing snapshot to.
      name: new_description
    description: Manages virtual machines snapshots in vCenter
    name: vmware-guest-snapshot
  - arguments:
    - description: |-
        Name of the VM to work with.
        This is required if `uuid` or `moid` is not supplied.
      name: name
    - description: |-
        UUID of the instance to manage if known, this is VMware's BIOS UUID by default.
        This is required if `name` or `moid` parameter is not supplied.
        The `folder` is ignored, if `uuid` is provided.
      name: uuid
    - description: |-
        Managed Object ID of the instance to manage if known, this is a unique identifier only within a single vCenter instance.
        This is required if `name` or `uuid` is not supplied.
      name: moid
    - defaultValue: "False"
      description: Whether to use the VMware instance UUID rather than the BIOS UUID.
      name: use_instance_uuid
    - description: |-
        Destination folder, absolute or relative path to find an existing guest.
        This is required only, if multiple virtual machines with same name are found on given vCenter.
        The folder should include the datacenter. ESX's datacenter is ha-datacenter
        Examples:
        folder: /ha-datacenter/vm
        folder: ha-datacenter/vm
        folder: /datacenter1/vm
        folder: datacenter1/vm
        folder: /datacenter1/vm/folder1
        folder: datacenter1/vm/folder1
        folder: /folder1/datacenter1/vm
        folder: folder1/datacenter1/vm
        folder: /folder1/datacenter1/vm/folder2
      name: folder
    - description: Name of the datacenter.
      name: datacenter
      required: true
    description: Gather info about virtual machine's snapshots in vCenter
    name: vmware-guest-snapshot-info
  - arguments:
    - description: |-
        Name of the virtual machine to work with.
        This is required if `uuid` or `moid` is not supplied.
      name: name
    - auto: PREDEFINED
      defaultValue: first
      description: If multiple virtual machines matching the name, use the first or last found.
      name: name_match
      predefined:
      - first
      - last
    - description: |-
        UUID of the instance to manage if known, this is VMware's unique identifier.
        This is required if `name` or `moid` is not supplied.
      name: uuid
    - description: |-
        Managed Object ID of the instance to manage if known, this is a unique identifier only within a single vCenter instance.
        This is required if `name` or `uuid` is not supplied.
      name: moid
    - description: |-
        Destination folder, absolute or relative path to find an existing guest.
        This is required, if `name` is supplied.
        The folder should include the datacenter. ESX's datacenter is ha-datacenter
        Examples:
        folder: /ha-datacenter/vm
        folder: ha-datacenter/vm
        folder: /datacenter1/vm
        folder: datacenter1/vm
        folder: /datacenter1/vm/folder1
        folder: datacenter1/vm/folder1
        folder: /folder1/datacenter1/vm
        folder: folder1/datacenter1/vm
        folder: /folder1/datacenter1/vm/folder2
      name: folder
    - description: Destination datacenter where the virtual machine exists.
      name: datacenter
      required: true
    description: Module to upgrade VMTools
    name: vmware-guest-tools-upgrade
  - arguments:
    - description: |-
        Name of the VM for which to wait until the tools become available.
        This is required if `uuid` or `moid` is not supplied.
      name: name
    - auto: PREDEFINED
      defaultValue: first
      description: If multiple VMs match the name, use the first or last found.
      name: name_match
      predefined:
      - first
      - last
    - description: |-
        Destination folder, absolute or relative path to find an existing guest.
        This is required only, if multiple VMs with same `name` is found.
        The folder should include the datacenter. ESX's datacenter is `ha-datacenter`.
        Examples:
        folder: /ha-datacenter/vm
        folder: ha-datacenter/vm
        folder: /datacenter1/vm
        folder: datacenter1/vm
        folder: /datacenter1/vm/folder1
        folder: datacenter1/vm/folder1
        folder: /folder1/datacenter1/vm
        folder: folder1/datacenter1/vm
        folder: /folder1/datacenter1/vm/folder2
      name: folder
    - description: |-
        UUID of the VM  for which to wait until the tools become available, if known. This is VMware's unique identifier.
        This is required, if `name` or `moid` is not supplied.
      name: uuid
    - description: |-
        Managed Object ID of the instance to manage if known, this is a unique identifier only within a single vCenter instance.
        This is required if `name` or `uuid` is not supplied.
      name: moid
    - defaultValue: "False"
      description: Whether to use the VMware instance UUID rather than the BIOS UUID.
      name: use_instance_uuid
    description: Wait for VMware tools to become available
    name: vmware-guest-tools-wait
  - arguments:
    - description: |-
        Name of the virtual machine.
        This is a required parameter, if parameter `uuid` or `moid` is not supplied.
      name: name
    - description: |-
        UUID of the instance to gather facts if known, this is VMware's unique identifier.
        This is a required parameter, if parameter `name` or `moid` is not supplied.
      name: uuid
    - description: |-
        Managed Object ID of the instance to manage if known, this is a unique identifier only within a single vCenter instance.
        This is required if `name` or `uuid` is not supplied.
      name: moid
    - description: |-
        Destination folder, absolute or relative path to find an existing guest.
        This is a required parameter, only if multiple VMs are found with same name.
        The folder should include the datacenter. ESXi server's datacenter is ha-datacenter.
        Examples:
        folder: /ha-datacenter/vm
        folder: ha-datacenter/vm
        folder: /datacenter1/vm
        folder: datacenter1/vm
        folder: /datacenter1/vm/folder1
        folder: datacenter1/vm/folder1
        folder: /folder1/datacenter1/vm
        folder: folder1/datacenter1/vm
        folder: /folder1/datacenter1/vm/folder2
      name: folder
    - defaultValue: ha-datacenter
      description: |-
        The datacenter name to which virtual machine belongs to.
        This parameter is case sensitive.
      name: datacenter
    - defaultValue: "no"
      description: |-
        If set to True, return settings of the video card, other attributes are ignored.
        If set to False, will do reconfiguration and return video card settings.
      name: gather_video_facts
    - description: |-
        If set to True, applies common video settings to the guest operating system, attributes `display_number` and `video_memory_mb` are ignored.
        If set to False, the number of display and the total video memory will be reconfigured using `display_number` and `video_memory_mb`.
      name: use_auto_detect
    - description: The number of display. Valid value from 1 to 10. The maximum display number is 4 on vCenter 6.0, 6.5 web UI.
      name: display_number
    - description: |-
        Valid total MB of video memory range of virtual machine is from 1.172 MB to 256 MB on ESXi 6.7U1, from 1.172 MB to 128 MB on ESXi 6.7 and previous versions.
        For specific guest OS, supported minimum and maximum video memory are different, please be careful on setting this.
      name: video_memory_mb
    - description: Enable 3D for guest operating systems on which VMware supports 3D.
      name: enable_3D
    - auto: PREDEFINED
      description: |-
        If set to `automatic`, selects the appropriate option (software or hardware) for this virtual machine automatically.
        If set to `software`, uses normal CPU processing for 3D calculations.
        If set to `hardware`, requires graphics hardware (GPU) for faster 3D calculations.
      name: renderer_3D
      predefined:
      - automatic
      - software
      - hardware
    - description: The value of 3D Memory must be power of 2 and valid value is from 32 MB to 2048 MB.
      name: memory_3D_mb
    description: Modify video card configurations of specified virtual machine in given vCenter infrastructure
    name: vmware-guest-video
  - arguments:
    - defaultValue: ha-datacenter
      description: |-
        Destination datacenter for the deploy operation.
        This parameter is case sensitive.
      name: datacenter
    - auto: PREDEFINED
      defaultValue: present
      description: Set the state of VNC on virtual machine.
      name: state
      predefined:
      - present
      - absent
    - description: |-
        Name of the virtual machine to work with.
        Virtual machine names in vCenter are not necessarily unique, which may be problematic, see `name_match`.
      name: name
    - auto: PREDEFINED
      defaultValue: first
      description: If multiple virtual machines matching the name, use the first or last found.
      name: name_match
      predefined:
      - first
      - last
    - description: |-
        UUID of the instance to manage if known, this is VMware's unique identifier.
        This is required, if `name` or `moid` is not supplied.
      name: uuid
    - description: |-
        Managed Object ID of the instance to manage if known, this is a unique identifier only within a single vCenter instance.
        This is required if `name` or `uuid` is not supplied.
      name: moid
    - description: |-
        Destination folder, absolute or relative path to find an existing guest.
        The folder should include the datacenter. ESX's datacenter is ha-datacenter
      name: folder
    - defaultValue: 0.0.0.0
      description: |-
        Sets an IP for VNC on virtual machine.
        This is required only when `state` is set to present and will be ignored if `state` is absent.
      name: vnc_ip
    - defaultValue: "0"
      description: |-
        The port that VNC listens on. Usually a number between 5900 and 7000 depending on your config.
        This is required only when `state` is set to present and will be ignored if `state` is absent.
      name: vnc_port
    - description: |-
        Sets a password for VNC on virtual machine.
        This is required only when `state` is set to present and will be ignored if `state` is absent.
      name: vnc_password
    description: Manages VNC remote display on virtual machines in vCenter
    name: vmware-guest-vnc
  - arguments:
    - description: |-
        Name of the datacenter to add the host.
        Aliases added in version 2.6.
      name: datacenter_name
      required: true
    - description: |-
        Name of the cluster to add the host.
        If `folder` is not set, then this parameter is required.
        Aliases added in version 2.6.
      name: cluster_name
    - description: |-
        Name of the folder under which host to add.
        If `cluster_name` is not set, then this parameter is required.
        For example, if there is a datacenter 'dc1' under folder called 'Site1' then, this value will be '/Site1/dc1/host'.
        Here 'host' is an invisible folder under VMware Web Client.
        Another example, if there is a nested folder structure like '/myhosts/india/pune' under datacenter 'dc2', then `folder` value will be '/dc2/host/myhosts/india/pune'.
        Other Examples:
        - '/Site2/dc2/Asia-Cluster/host'
        - '/dc3/Asia-Cluster/host'
      name: folder
    - defaultValue: "True"
      description: |-
        If set to `True`, then the host should be connected as soon as it is added.
        This parameter is ignored if state is set to a value other than `present`.
      name: add_connected
    - description: ESXi hostname to manage.
      name: esxi_hostname
      required: true
    - description: |-
        ESXi username.
        Required for adding a host.
        Optional for reconnect. If both `esxi_username` and `esxi_password` are used
        Unused for removing.
        No longer a required parameter from version 2.5.
      name: esxi_username
    - description: |-
        ESXi password.
        Required for adding a host.
        Optional for reconnect.
        Unused for removing.
        No longer a required parameter from version 2.5.
      name: esxi_password
    - auto: PREDEFINED
      defaultValue: present
      description: |-
        If set to `present`, add the host if host is absent.
        If set to `present`, update the location of the host if host already exists.
        If set to `absent`, remove the host if host is present.
        If set to `absent`, do nothing if host already does not exists.
        If set to `add_or_reconnect`, add the host if it's absent else reconnect it and update the location.
        If set to `reconnect`, then reconnect the host if it's present and update the location.
      name: state
      predefined:
      - present
      - absent
      - add_or_reconnect
      - reconnect
    - description: |-
        Specifying the hostsystem certificate's thumbprint.
        Use following command to get hostsystem certificate's thumbprint -
        # openssl x509 -in /etc/vmware/ssl/rui.crt -fingerprint -sha1 -noout
        Only used if `fetch_thumbprint` isn't set to `true`.
      name: esxi_ssl_thumbprint
    - defaultValue: "True"
      description: |-
        Fetch the thumbprint of the host's SSL certificate.
        This basically disables the host certificate verification (check if it was signed by a recognized CA).
        Disable this option if you want to allow only hosts with valid certificates to be added to vCenter.
        If this option is set to `false` and the certificate can't be verified, an add or reconnect will fail.
        Unused when `esxi_ssl_thumbprint` is set.
        Optional for reconnect, but only used if `esxi_username` and `esxi_password` are used.
        Unused for removing.
      name: fetch_ssl_thumbprint
    - defaultValue: "True"
      description: Force the connection if the host is already being managed by another vCenter server.
      name: force_connection
    - defaultValue: "True"
      description: |-
        Reconnect disconnected hosts.
        This is only used if `state` is set to `present` and if the host already exists.
      name: reconnect_disconnected
    description: Add, remove, or move an ESXi host to, from, or within vCenter
    name: vmware-host
  - arguments:
    - description: |-
        Name of the cluster.
        Acceptance level of all ESXi host system in the given cluster will be managed.
        If `esxi_hostname` is not given, this parameter is required.
      name: cluster_name
    - description: |-
        ESXi hostname.
        Acceptance level of this ESXi host system will be managed.
        If `cluster_name` is not given, this parameter is required.
      name: esxi_hostname
    - auto: PREDEFINED
      defaultValue: list
      description: |-
        Set or list acceptance level of the given ESXi host.
        If set to `list`, then will return current acceptance level of given host system/s.
        If set to `present`, then will set given acceptance level.
      name: state
      predefined:
      - list
      - present
    - auto: PREDEFINED
      description: |-
        Name of acceptance level.
        If set to `partner`, then accept only partner and VMware signed and certified VIBs.
        If set to `vmware_certified`, then accept only VIBs that are signed and certified by VMware.
        If set to `vmware_accepted`, then accept VIBs that have been accepted by VMware.
        If set to `community`, then accept all VIBs, even those that are not signed.
      name: acceptance_level
      predefined:
      - community
      - partner
      - vmware_accepted
      - vmware_certified
    description: Manage the host acceptance level of an ESXi host
    name: vmware-host-acceptance
  - arguments:
    - description: AD Domain to join.
      name: ad_domain
    - description: Username for AD domain join.
      name: ad_user
    - description: Password for AD domain join.
      name: ad_password
    - auto: PREDEFINED
      defaultValue: absent
      description: Whether the ESXi host is joined to an AD domain or not.
      name: ad_state
      predefined:
      - present
      - absent
    - description: |-
        Name of the host system to work with.
        This parameter is required if `cluster_name` is not specified.
      name: esxi_hostname
    - description: |-
        Name of the cluster from which all host systems will be used.
        This parameter is required if `esxi_hostname` is not specified.
      name: cluster_name
    description: Joins an ESXi host system to an Active Directory domain or leaves it
    name: vmware-host-active-directory
  - arguments:
    - description: |-
        Name of the cluster from all host systems to be used for information gathering.
        If `esxi_hostname` is not given, this parameter is required.
      name: cluster_name
    - description: |-
        ESXi hostname to gather information from.
        If `cluster_name` is not given, this parameter is required.
      name: esxi_hostname
    description: Gathers info about an ESXi host's capability information
    name: vmware-host-capability-info
  - arguments:
    - description: |-
        Name of the cluster from which the ESXi host belong to.
        If `esxi_hostname` is not given, this parameter is required.
      name: cluster_name
    - description: |-
        ESXi hostname to gather information from.
        If `cluster_name` is not given, this parameter is required.
      name: esxi_hostname
    description: Gathers info about an ESXi host's advance configuration information
    name: vmware-host-config-info
  - arguments:
    - description: |-
        Name of the cluster.
        Settings are applied to every ESXi host in given cluster.
        If `esxi_hostname` is not given, this parameter is required.
      name: cluster_name
    - description: |-
        ESXi hostname.
        Settings are applied to this ESXi host.
        If `cluster_name` is not given, this parameter is required.
      name: esxi_hostname
    - defaultValue: '{}'
      description: |-
        A dictionary of advanced system settings.
        Invalid options will cause module to error.
        Note that the list of advanced options (with description and values) can be found by running `vim-cmd hostsvc/advopt/options`.
      isArray: true
      name: options
    description: Manage advanced system settings of an ESXi host
    name: vmware-host-config-manager
  - arguments:
    - description: |-
        Name of the datacenter to add the datastore.
        The datacenter isn't used by the API to create a datastore.
        Will be removed in 2.11.
      name: datacenter_name
    - description: Name of the datastore to add/remove.
      name: datastore_name
      required: true
    - auto: PREDEFINED
      description: Type of the datastore to configure (nfs/nfs41/vmfs).
      name: datastore_type
      predefined:
      - nfs
      - nfs41
      - vmfs
      required: true
    - description: |-
        NFS host serving nfs datastore.
        Required if datastore type is set to `nfs`/`nfs41` and state is set to `present`, else unused.
        Two or more servers can be defined if datastore type is set to `nfs41`
      name: nfs_server
    - description: |-
        Resource path on NFS host.
        Required if datastore type is set to `nfs`/`nfs41` and state is set to `present`, else unused.
      name: nfs_path
    - defaultValue: "False"
      description: |-
        ReadOnly or ReadWrite mount.
        Unused if datastore type is not set to `nfs`/`nfs41` and state is not set to `present`.
      name: nfs_ro
    - description: |-
        Name of the device to be used as VMFS datastore.
        Required for VMFS datastore type and state is set to `present`, else unused.
      name: vmfs_device_name
    - description: |-
        VMFS version to use for datastore creation.
        Unused if datastore type is not set to `vmfs` and state is not set to `present`.
      name: vmfs_version
    - description: |-
        ESXi hostname to manage the datastore.
        Required when used with a vcenter
      name: esxi_hostname
    - auto: PREDEFINED
      defaultValue: present
      description: |-
        present: Mount datastore on host if datastore is absent else do nothing.
        absent: Umount datastore if datastore is present else do nothing.
      name: state
      predefined:
      - present
      - absent
    description: Manage a datastore on ESXi host
    name: vmware-host-datastore
  - arguments:
    - description: |-
        Name of the cluster from which the ESXi host belong to.
        If `esxi_hostname` is not given, this parameter is required.
      name: cluster_name
    - description: |-
        ESXi hostname to gather information from.
        If `cluster_name` is not given, this parameter is required.
      name: esxi_hostname
    description: Gathers info about an ESXi host's DNS configuration information
    name: vmware-host-dns-info
  - arguments:
    - description: |-
        ESXi hostname.
        Host facts about the specified ESXi server will be returned.
        By specifying this option, you can select which ESXi hostsystem is returned if connecting to a vCenter.
      name: esxi_hostname
    - defaultValue: "False"
      description: Tags related to Host are shown if set to `True`.
      name: show_tag
    description: Gathers facts about remote ESXi hostsystem
    name: vmware-host-facts
  - arguments:
    - description: |-
        Name of the cluster from all host systems to be used for information gathering.
        If `esxi_hostname` is not given, this parameter is required.
      name: cluster_name
    - description: |-
        ESXi hostname to gather information from.
        If `cluster_name` is not given, this parameter is required.
      name: esxi_hostname
    description: Gathers info about an ESXi host's feature capability information
    name: vmware-host-feature-info
  - arguments:
    - description: |-
        Name of the cluster from which the ESXi host belong to.
        If `esxi_hostname` is not given, this parameter is required.
      name: cluster_name
    - description: |-
        ESXi hostname to gather information from.
        If `cluster_name` is not given, this parameter is required.
      name: esxi_hostname
    description: Gathers info about an ESXi host's firewall configuration information
    name: vmware-host-firewall-info
  - arguments:
    - description: |-
        Name of the cluster.
        Firewall settings are applied to every ESXi host system in given cluster.
        If `esxi_hostname` is not given, this parameter is required.
      name: cluster_name
    - description: |-
        ESXi hostname.
        Firewall settings are applied to this ESXi host system.
        If `cluster_name` is not given, this parameter is required.
      name: esxi_hostname
    - defaultValue: '[]'
      description: |-
        A list of Rule set which needs to be managed.
        Each member of list is rule set name and state to be set the rule.
        Both rule name and rule state are required parameters.
        Additional IPs and networks can also be specified
        Please see examples for more information.
      isArray: true
      name: rules
    description: Manage firewall configurations about an ESXi host
    name: vmware-host-firewall-manager
  - arguments:
    - auto: PREDEFINED
      defaultValue: enabled
      description: |-
        Enable or disable Hyperthreading.
        You need to reboot the ESXi host if you change the configuration.
        Make sure that Hyperthreading is enabled in the BIOS. Otherwise, it will be enabled, but never activated.
      name: state
      predefined:
      - enabled
      - disabled
    - description: |-
        Name of the host system to work with.
        This parameter is required if `cluster_name` is not specified.
      name: esxi_hostname
    - description: |-
        Name of the cluster from which all host systems will be used.
        This parameter is required if `esxi_hostname` is not specified.
      name: cluster_name
    description: Enables/Disables Hyperthreading optimization for an ESXi host system
    name: vmware-host-hyperthreading
  - arguments:
    - auto: PREDEFINED
      defaultValue: enabled
      description: |-
        Enable or disable IPv6 support.
        You need to reboot the ESXi host if you change the configuration.
      name: state
      predefined:
      - enabled
      - disabled
    - description: |-
        Name of the host system to work with.
        This is required parameter if `cluster_name` is not specified.
      name: esxi_hostname
    - description: |-
        Name of the cluster from which all host systems will be used.
        This is required parameter if `esxi_hostname` is not specified.
      name: cluster_name
    description: Enables/Disables IPv6 support for an ESXi host system
    name: vmware-host-ipv6
  - arguments:
    - description: |-
        Name of the ESXi host to work on.
        This parameter is required if `cluster_name` is not specified.
      name: esxi_hostname
    - description: |-
        Name of the VMware cluster to work on.
        All ESXi hosts in this cluster will be configured.
        This parameter is required if `esxi_hostname` is not specified.
      name: cluster_name
    - description: Name of the kernel module to be configured.
      name: kernel_module_name
      required: true
    - description: |-
        Specified configurations will be applied to the given module.
        These values are specified in key=value pairs and separated by a space when there are multiple options.
      name: kernel_module_option
      required: true
    description: Manage kernel module options on ESXi hosts
    name: vmware-host-kernel-manager
  - arguments:
    - description: |-
        Name of cluster.
        All host systems from given cluster used to manage lockdown.
        Required parameter, if `esxi_hostname` is not set.
      name: cluster_name
    - description: |-
        List of ESXi hostname to manage lockdown.
        Required parameter, if `cluster_name` is not set.
        See examples for specifications.
      isArray: true
      name: esxi_hostname
    - auto: PREDEFINED
      defaultValue: present
      description: |-
        State of hosts system
        If set to `present`, all host systems will be set in lockdown mode.
        If host system is already in lockdown mode and set to `present`, no action will be taken.
        If set to `absent`, all host systems will be removed from lockdown mode.
        If host system is already out of lockdown mode and set to `absent`, no action will be taken.
      name: state
      predefined:
      - present
      - absent
    description: Manage administrator permission for the local administrative account for the ESXi host
    name: vmware-host-lockdown
  - arguments:
    - description: |-
        Name of the host system to work with.
        This parameter is required if `cluster_name` is not specified.
      name: esxi_hostname
    - description: |-
        Name of the cluster from which all host systems will be used.
        This parameter is required if `esxi_hostname` is not specified.
      name: cluster_name
    - description: |-
        IP or FQDN of NTP server(s).
        This accepts a list of NTP servers. For multiple servers, please look at the examples.
      isArray: true
      name: ntp_servers
      required: true
    - auto: PREDEFINED
      description: |-
        present: Add NTP server(s), if specified server(s) are absent else do nothing.
        absent: Remove NTP server(s), if specified server(s) are present else do nothing.
        Specified NTP server(s) will be configured if `state` isn't specified.
      name: state
      predefined:
      - present
      - absent
    - defaultValue: "False"
      description: |-
        Verbose output of the configuration change.
        Explains if an NTP server was added, removed, or if the NTP server sequence was changed.
      name: verbose
    description: Manage NTP server configuration of an ESXi host
    name: vmware-host-ntp
  - arguments:
    - description: |-
        Name of the cluster.
        NTP config information about each ESXi server will be returned for the given cluster.
        If `esxi_hostname` is not given, this parameter is required.
      name: cluster_name
    - description: |-
        ESXi hostname.
        NTP config information about this ESXi server will be returned.
        If `cluster_name` is not given, this parameter is required.
      name: esxi_hostname
    description: Gathers info about NTP configuration on an ESXi host
    name: vmware-host-ntp-info
  - arguments:
    - description: |-
        Name of the cluster.
        Package information about each ESXi server will be returned for given cluster.
        If `esxi_hostname` is not given, this parameter is required.
      name: cluster_name
    - description: |-
        ESXi hostname.
        Package information about this ESXi server will be returned.
        If `cluster_name` is not given, this parameter is required.
      name: esxi_hostname
    description: Gathers info about available packages on an ESXi host
    name: vmware-host-package-info
  - arguments:
    - auto: PREDEFINED
      defaultValue: balanced
      description: Set the Power Management Policy of the host system.
      name: policy
      predefined:
      - high-performance
      - balanced
      - low-power
      - custom
    - description: |-
        Name of the host system to work with.
        This is required parameter if `cluster_name` is not specified.
      name: esxi_hostname
    - description: |-
        Name of the cluster from which all host systems will be used.
        This is required parameter if `esxi_hostname` is not specified.
      name: cluster_name
    description: Manages the Power Management Policy of an ESXI host system
    name: vmware-host-powermgmt-policy
  - arguments:
    - auto: PREDEFINED
      defaultValue: shutdown-host
      description: Set the state of the host system.
      name: state
      predefined:
      - power-down-to-standby
      - power-up-from-standby
      - shutdown-host
      - reboot-host
    - description: |-
        Name of the host system to work with.
        This is required parameter if `cluster_name` is not specified.
      name: esxi_hostname
    - description: |-
        Name of the cluster from which all host systems will be used.
        This is required parameter if `esxi_hostname` is not specified.
      name: cluster_name
    - defaultValue: "False"
      description: |-
        This parameter specify if the host should be proceeding with user defined powerstate regardless of whether it is in maintenance mode.
        If `state` set to `reboot-host` and `force` as `true`, then host system is rebooted regardless of whether it is in maintenance mode.
        If `state` set to `shutdown-host` and `force` as `true`, then host system is shutdown regardless of whether it is in maintenance mode.
        If `state` set to `power-down-to-standby` and `force` to `true`, then all powered off VMs will evacuated.
        Not applicable if `state` set to `power-up-from-standby`.
      name: force
    - defaultValue: "600"
      description: |-
        This parameter defines timeout for `state` set to `power-down-to-standby` or `power-up-from-standby`.
        Ignored if `state` set to `reboot-host` or `shutdown-host`.
        This parameter is defined in seconds.
      name: timeout
    description: Manages power states of host systems in vCenter
    name: vmware-host-powerstate
  - arguments:
    - description: ESXi hostname to Rescan the storage subsystem on.
      name: esxi_hostname
    - description: Cluster name to Rescan the storage subsystem on (this will run the rescan task on each host in the cluster).
      name: cluster_name
    - defaultValue: "False"
      description: Refresh the storage system in vCenter/ESXi Web Client for each host found
      name: refresh_storage
    description: Rescan host HBA's and optionally refresh the storage system
    name: vmware-host-scanhba
  - arguments:
    - description: |-
        Name of the cluster.
        Service information about each ESXi server will be returned for given cluster.
        If `esxi_hostname` is not given, this parameter is required.
      name: cluster_name
    - description: |-
        ESXi hostname.
        Service information about this ESXi server will be returned.
        If `cluster_name` is not given, this parameter is required.
      name: esxi_hostname
    description: Gathers info about an ESXi host's services
    name: vmware-host-service-info
  - arguments:
    - description: |-
        Name of the cluster.
        Service settings are applied to every ESXi host system/s in given cluster.
        If `esxi_hostname` is not given, this parameter is required.
      name: cluster_name
    - description: |-
        ESXi hostname.
        Service settings are applied to this ESXi host system.
        If `cluster_name` is not given, this parameter is required.
      name: esxi_hostname
    - auto: PREDEFINED
      defaultValue: start
      description: |-
        Desired state of service.
        State value 'start' and 'present' has same effect.
        State value 'stop' and 'absent' has same effect.
      name: state
      predefined:
      - absent
      - present
      - restart
      - start
      - stop
    - auto: PREDEFINED
      description: |-
        Set of valid service policy strings.
        If set `on`, then service should be started when the host starts up.
        If set `automatic`, then service should run if and only if it has open firewall ports.
        If set `off`, then Service should not be started when the host starts up.
      name: service_policy
      predefined:
      - automatic
      - "off"
      - "on"
    - description: |-
        Name of Service to be managed. This is a brief identifier for the service, for example, ntpd, vxsyslogd etc.
        This value should be a valid ESXi service name.
      name: service_name
      required: true
    description: Manage services on a given ESXi host
    name: vmware-host-service-manager
  - arguments:
    - auto: PREDEFINED
      defaultValue: disabled
      description: Enable, disable, or reset the SNMP agent.
      name: state
      predefined:
      - disabled
      - enabled
      - reset
    - description: List of SNMP community strings.
      isArray: true
      name: community
    - defaultValue: "161"
      description: Port used by the SNMP agent.
      name: snmp_port
    - defaultValue: '[]'
      description: |-
        A list of trap targets.
        You need to use `hostname`, `port`, and `community` for each trap target.
      isArray: true
      name: trap_targets
    - description: |-
        A list of trap oids for traps not to be sent by agent, e.g. [ 1.3.6.1.4.1.6876.4.1.1.0, 1.3.6.1.4.1.6876.4.1.1.1 ]
        Use value `reset` to clear settings.
      isArray: true
      name: trap_filter
    - defaultValue: "False"
      description: Send a test trap to validate the configuration.
      name: send_trap
    - auto: PREDEFINED
      defaultValue: indications
      description: |-
        Source hardware events from IPMI sensors or CIM Indications.
        The embedded SNMP agent receives hardware events either from IPMI sensors `sensors` or CIM indications `indications`.
      name: hw_source
      predefined:
      - indications
      - sensors
    - auto: PREDEFINED
      defaultValue: info
      description: Syslog logging level.
      name: log_level
      predefined:
      - debug
      - info
      - warning
      - error
    description: Configures SNMP on an ESXi host system
    name: vmware-host-snmp
  - arguments:
    - description: |-
        Name of the cluster.
        SSL thumbprint information about all ESXi host system in the given cluster will be reported.
        If `esxi_hostname` is not given, this parameter is required.
      name: cluster_name
    - description: |-
        ESXi hostname.
        SSL thumbprint information of this ESXi host system will be reported.
        If `cluster_name` is not given, this parameter is required.
      name: esxi_hostname
    description: Gather info of ESXi host system about SSL
    name: vmware-host-ssl-info
  - arguments:
    - description: |-
        Name of the host system to work with.
        Vmhba information about this ESXi server will be returned.
        This parameter is required if `cluster_name` is not specified.
      name: esxi_hostname
    - description: |-
        Name of the cluster from which all host systems will be used.
        Vmhba information about each ESXi server will be returned for the given cluster.
        This parameter is required if `esxi_hostname` is not specified.
      name: cluster_name
    description: Gathers info about vmhbas available on the given ESXi host
    name: vmware-host-vmhba-info
  - arguments:
    - defaultValue: "False"
      description: Gather information about general capabilities (Auto negotiation, Wake On LAN, and Network I/O Control).
      name: capabilities
    - defaultValue: "False"
      description: Gather information about DirectPath I/O capabilities and configuration.
      name: directpath_io
    - defaultValue: "False"
      description: Gather information about SR-IOV capabilities and configuration.
      name: sriov
    - description: |-
        Name of the host system to work with.
        Vmnic information about this ESXi server will be returned.
        This parameter is required if `cluster_name` is not specified.
      name: esxi_hostname
    - description: |-
        Name of the cluster from which all host systems will be used.
        Vmnic information about each ESXi server will be returned for the given cluster.
        This parameter is required if `esxi_hostname` is not specified.
      name: cluster_name
    description: Gathers info about vmnics available on the given ESXi host
    name: vmware-host-vmnic-info
  - arguments: []
    description: Gather info about local roles on an ESXi host
    name: vmware-local-role-info
  - arguments:
    - description: The local role name to be managed.
      name: local_role_name
      required: true
    - defaultValue: '[]'
      description: |-
        The list of privileges that role needs to have.
        Please see `https://docs.vmware.com/en/VMware-vSphere/6.0/com.vmware.vsphere.security.doc/GUID-ED56F3C4-77D0-49E3-88B6-B99B8B437B62.html`
      isArray: true
      name: local_privilege_ids
    - auto: PREDEFINED
      defaultValue: present
      description: |-
        Indicate desired state of the role.
        If the role already exists when `state=present`, the role info is updated.
      name: state
      predefined:
      - present
      - absent
    - defaultValue: "False"
      description: If set to `False` then prevents the role from being removed if any permissions are using it.
      name: force_remove
    - auto: PREDEFINED
      defaultValue: set
      description: |-
        This parameter is only valid while updating an existing role with privileges.
        `add` will add the privileges to the existing privilege list.
        `remove` will remove the privileges from the existing privilege list.
        `set` will replace the privileges of the existing privileges with user defined list of privileges.
      name: action
      predefined:
      - add
      - remove
      - set
    description: Manage local roles on an ESXi host
    name: vmware-local-role-manager
  - arguments: []
    description: Gather info about users on the given ESXi host
    name: vmware-local-user-info
  - arguments:
    - description: The local user name to be changed.
      name: local_user_name
      required: true
    - description: The password to be set.
      name: local_user_password
    - description: Description for the user.
      name: local_user_description
    - auto: PREDEFINED
      defaultValue: present
      description: Indicate desired state of the user. If the user already exists when `state=present`, the user info is updated
      name: state
      predefined:
      - present
      - absent
    description: Manage local users on an ESXi host
    name: vmware-local-user-manager
  - arguments:
    - description: Name of the host as defined in vCenter.
      name: esxi_hostname
      required: true
    - auto: PREDEFINED
      description: Specify which VSAN compliant mode to enter.
      name: vsan
      predefined:
      - ensureObjectAccessibility
      - evacuateAllData
      - noAction
    - defaultValue: "False"
      description: If set to `True`, evacuate all powered off VMs.
      name: evacuate
    - defaultValue: "0"
      description: Specify a timeout for the operation.
      name: timeout
    - auto: PREDEFINED
      defaultValue: present
      description: Enter or exit maintenance mode.
      name: state
      predefined:
      - present
      - absent
    description: Place a host into maintenance mode
    name: vmware-maintenancemode
  - arguments:
    - description: ESXi hostname to be managed
      name: esxi_hostname
      required: true
    - description: VMK interface name
      name: device
      required: true
    - description: Switch VMK interface is currently on
      name: current_switch_name
      required: true
    - description: Portgroup name VMK interface is currently on
      name: current_portgroup_name
      required: true
    - description: Switch name to migrate VMK interface to
      name: migrate_switch_name
      required: true
    - description: Portgroup name to migrate VMK interface to
      name: migrate_portgroup_name
      required: true
    description: Migrate a VMK interface from VSS to VDS
    name: vmware-migrate-vmk
  - arguments:
    - description: The role to be assigned permission.
      name: role
      required: true
    - description: |-
        The user to be assigned permission.
        Required if `group` is not specified.
      name: principal
    - description: |-
        The group to be assigned permission.
        Required if `principal` is not specified.
      name: group
    - description: The object name to assigned permission.
      name: object_name
      required: true
    - auto: PREDEFINED
      defaultValue: Folder
      description: The object type being targeted.
      name: object_type
      predefined:
      - Folder
      - VirtualMachine
      - Datacenter
      - ResourcePool
      - Datastore
      - Network
      - HostSystem
      - ComputeResource
      - ClusterComputeResource
      - DistributedVirtualSwitch
    - defaultValue: "True"
      description: Should the permissions be recursively applied.
      name: recursive
    - auto: PREDEFINED
      defaultValue: present
      description: |-
        Indicate desired state of the object's permission.
        When `state=present`, the permission will be added if it doesn't already exist.
        When `state=absent`, the permission is removed if it exists.
      name: state
      predefined:
      - present
      - absent
    description: Manage local roles on an ESXi host
    name: vmware-object-role-permission
  - arguments:
    - description: vSwitch to modify.
      name: switch
      required: true
    - description: Portgroup name to add.
      name: portgroup
      required: true
    - defaultValue: "0"
      description: |-
        VLAN ID to assign to portgroup.
        Set to 0 (no VLAN tagging) by default.
      name: vlan_id
    - description: |-
        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.
        Valid attributes are:
        - `promiscuous_mode` (bool): indicates whether promiscuous mode is allowed. (default: None)
        - `forged_transmits` (bool): indicates whether forged transmits are allowed. (default: None)
        - `mac_changes` (bool): indicates whether mac changes are allowed. (default: None)
      isArray: true
      name: security
    - description: |-
        Dictionary which configures the different teaming values for portgroup.
        Valid attributes are:
        - `load_balancing` (string): Network adapter teaming policy. `load_balance_policy` is also alias to this option. (default: loadbalance_srcid)
        - choices: [ loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit ]
        - `network_failure_detection` (string): Network failure detection. (default: link_status_only)
        - choices: [ link_status_only, beacon_probing ]
        - `notify_switches` (bool): Indicate whether or not to notify the physical switch if a link fails. (default: None)
        - `failback` (bool): Indicate whether or not to use a failback when restoring links. (default: None)
        - `active_adapters` (list): List of active adapters used for load balancing.
        - `standby_adapters` (list): List of standby adapters used for failover.
        - All vmnics are used as active adapters if `active_adapters` and `standby_adapters` are not defined.
        - `inbound_policy` (bool): Indicate whether or not the teaming policy is applied to inbound frames as well. Deprecated. (default: False)
        - `rolling_order` (bool): Indicate whether or not to use a rolling policy when restoring links. Deprecated. (default: False)
      isArray: true
      name: teaming
    - description: |-
        Dictionary which configures traffic shaping for the switch.
        Valid attributes are:
        - `enabled` (bool): Status of Traffic Shaping Policy. (default: None)
        - `average_bandwidth` (int): Average bandwidth (kbit/s). (default: None)
        - `peak_bandwidth` (int): Peak bandwidth (kbit/s). (default: None)
        - `burst_size` (int): Burst size (KB). (default: None)
      isArray: true
      name: traffic_shaping
    - description: |-
        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.
      name: cluster_name
    - description: |-
        List of name of host or hosts on which portgroup needs to be added.
        This option is required if `cluster_name` is not specified.
      isArray: true
      name: hosts
    - auto: PREDEFINED
      defaultValue: present
      description: Determines if the portgroup should be present or not.
      name: state
      predefined:
      - present
      - absent
    description: Create a VMware portgroup
    name: vmware-portgroup
  - arguments:
    - defaultValue: "False"
      description: |-
        Gather information about Security, Traffic Shaping, as well as Teaming and failover.
        The property `ts` stands for Traffic Shaping and `lb` for Load Balancing.
      name: policies
    - description: |-
        Name of the cluster.
        Info will be returned for all hostsystem belonging to this cluster name.
        If `esxi_hostname` is not given, this parameter is required.
      name: cluster_name
    - description: |-
        ESXi hostname to gather information from.
        If `cluster_name` is not given, this parameter is required.
      name: esxi_hostname
    description: Gathers info about an ESXi host's Port Group configuration
    name: vmware-portgroup-info
  - arguments:
    - description: Name of the datacenter to add the host.
      name: datacenter
      required: true
    - description: Name of the cluster to add the host.
      name: cluster
      required: true
    - description: Resource pool name to manage.
      name: resource_pool
      required: true
    - defaultValue: "True"
      description: In a resource pool with an expandable reservation, the reservation on a resource pool can grow beyond the specified value.
      name: cpu_expandable_reservations
    - defaultValue: "0"
      description: Amount of resource that is guaranteed available to the virtual machine or resource pool.
      name: cpu_reservation
    - defaultValue: "-1"
      description: |-
        The utilization of a virtual machine/resource pool will not exceed this limit, even if there are available resources.
        The default value -1 indicates no limit.
      name: cpu_limit
    - auto: PREDEFINED
      defaultValue: normal
      description: Memory shares are used in case of resource contention.
      name: cpu_shares
      predefined:
      - high
      - custom
      - low
      - normal
    - defaultValue: "True"
      description: In a resource pool with an expandable reservation, the reservation on a resource pool can grow beyond the specified value.
      name: mem_expandable_reservations
    - defaultValue: "0"
      description: Amount of resource that is guaranteed available to the virtual machine or resource pool.
      name: mem_reservation
    - defaultValue: "-1"
      description: |-
        The utilization of a virtual machine/resource pool will not exceed this limit, even if there are available resources.
        The default value -1 indicates no limit.
      name: mem_limit
    - auto: PREDEFINED
      defaultValue: normal
      description: Memory shares are used in case of resource contention.
      name: mem_shares
      predefined:
      - high
      - custom
      - low
      - normal
    - auto: PREDEFINED
      defaultValue: present
      description: Add or remove the resource pool
      name: state
      predefined:
      - present
      - absent
    description: Add/remove resource pools to/from vCenter
    name: vmware-resource-pool
  - arguments: []
    description: Gathers info about resource pool information
    name: vmware-resource-pool-info
  - arguments:
    - description: The name of tag to manage.
      name: tag_name
      required: true
    - description: |-
        The tag description.
        This is required only if `state` is set to `present`.
        This parameter is ignored, when `state` is set to `absent`.
        Process of updating tag only allows description change.
      name: tag_description
    - description: |-
        The unique ID generated by vCenter should be used to.
        User can get this unique ID from facts module.
      name: category_id
    - auto: PREDEFINED
      defaultValue: present
      description: |-
        The state of tag.
        If set to `present` and tag does not exists, then tag is created.
        If set to `present` and tag exists, then tag is updated.
        If set to `absent` and tag exists, then tag is deleted.
        If set to `absent` and tag does not exists, no action is taken.
      name: state
      predefined:
      - present
      - absent
    - auto: PREDEFINED
      defaultValue: https
      description: The connection to protocol.
      name: protocol
      predefined:
      - http
      - https
    description: Manage VMware tags
    name: vmware-tag
  - arguments:
    - auto: PREDEFINED
      defaultValue: https
      description: The connection to protocol.
      name: protocol
      predefined:
      - http
      - https
    description: Manage VMware tag info
    name: vmware-tag-info
  - arguments:
    - description: |-
        List of tag(s) to be managed.
        You can also specify category name by specifying colon separated value. For example, "category_name:tag_name".
        You can skip category name if you have unique tag names.
      isArray: true
      name: tag_names
      required: true
    - auto: PREDEFINED
      defaultValue: add
      description: |-
        If `state` is set to `add` or `present` will add the tags to the existing tag list of the given object.
        If `state` is set to `remove` or `absent` will remove the tags from the existing tag list of the given object.
        If `state` is set to `set` will replace the tags of the given objects with the user defined list of tags.
      name: state
      predefined:
      - present
      - absent
      - add
      - remove
      - set
    - auto: PREDEFINED
      description: Type of object to work with.
      name: object_type
      predefined:
      - VirtualMachine
      - Datacenter
      - ClusterComputeResource
      - HostSystem
      - DistributedVirtualSwitch
      - DistributedVirtualPortgroup
      required: true
    - description: |-
        Name of the object to work with.
        For DistributedVirtualPortgroups the format should be "switch_name:portgroup_name"
      name: object_name
      required: true
    - auto: PREDEFINED
      defaultValue: https
      description: The connection to protocol.
      name: protocol
      predefined:
      - http
      - https
    description: Manage association of VMware tags with VMware objects
    name: vmware-tag-manager
  - arguments:
    - description: |-
        The target id based on order of scsi device.
        version 2.6 onwards, this parameter is optional.
      name: target_id
    - description: |-
        Name of the cluster.
        Info about all SCSI devices for all host system in the given cluster is returned.
        This parameter is required, if `esxi_hostname` is not provided.
      name: cluster_name
    - description: |-
        Name of the ESXi host system.
        Info about all SCSI devices for the given ESXi host system is returned.
        This parameter is required, if `cluster_name` is not provided.
      name: esxi_hostname
    description: Return canonical (NAA) from an ESXi host system
    name: vmware-target-canonical-info
  - arguments:
    - defaultValue: '{''max_connections'': 50, ''task_cleanup'': True, ''task_retention'': 30, ''event_cleanup'': True, ''event_retention'': 30}'
      description: |-
        The database settings for vCenter server.
        Valid attributes are:
        - `max_connections` (int): Maximum connections. (default: 50)
        - `task_cleanup` (bool): Task cleanup. (default: false)
        - `task_retention` (int): Task retention (days). (default: 30)
        - `event_cleanup` (bool): Event cleanup. (default: false)
        - `event_retention` (int): Event retention (days). (default: 30)
      isArray: true
      name: database
    - description: |-
        The unique runtime settings for vCenter server.
        Valid attributes are:
        - `unique_id` (int): vCenter server unique ID.
        - `managed_address` (str): vCenter server managed address.
        - `vcenter_server_name` (str): vCenter server name. (default: FQDN)
      isArray: true
      name: runtime_settings
    - defaultValue: '{''timeout'': 60, ''query_limit'': True, ''query_limit_size'': 5000, ''validation'': True, ''validation_period'': 1440}'
      description: |-
        The user directory settings for the vCenter server installation.
        Valid attributes are:
        - `timeout` (int): User directory timeout. (default: 60)
        - `query_limit` (bool): Query limit. (default: false)
        - `query_limit_size` (int): Query limit size. (default: 5000)
        - `validation` (bool): Mail Validation. (default: false)
        - `validation_period` (int): Validation period. (default: 1440)
      isArray: true
      name: user_directory
    - description: |-
        The settings vCenter server uses to send email alerts.
        Valid attributes are:
        - `server` (str): Mail server
        - `sender` (str): Mail sender address
      isArray: true
      name: mail
    - defaultValue: '{''snmp_receiver_1_url'': ''localhost'', ''snmp_receiver_1_enabled'': True, ''snmp_receiver_1_port'': 162, ''snmp_receiver_1_community'': ''public'', ''snmp_receiver_2_url'': '''', ''snmp_receiver_2_enabled'': False, ''snmp_receiver_2_port'': 162, ''snmp_receiver_2_community'': '''', ''snmp_receiver_3_url'': '''', ''snmp_receiver_3_enabled'': False, ''snmp_receiver_3_port'': 162, ''snmp_receiver_3_community'': '''', ''snmp_receiver_4_url'': '''', ''snmp_receiver_4_enabled'': False, ''snmp_receiver_4_port'': 162, ''snmp_receiver_4_community'': ''''}'
      description: |-
        SNMP trap destinations for vCenter server alerts.
        Valid attributes are:
        - `snmp_receiver_1_url` (str): Primary Receiver ULR. (default: "localhost")
        - `snmp_receiver_1_enabled` (bool): Enable receiver. (default: false)
        - `snmp_receiver_1_port` (int): Receiver port. (default: 162)
        - `snmp_receiver_1_community` (str): Community string. (default: "public")
        - `snmp_receiver_2_url` (str): Receiver 2 ULR. (default: "")
        - `snmp_receiver_2_enabled` (bool): Enable receiver. (default: False)
        - `snmp_receiver_2_port` (int): Receiver port. (default: 162)
        - `snmp_receiver_2_community` (str): Community string. (default: "")
        - `snmp_receiver_3_url` (str): Receiver 3 ULR. (default: "")
        - `snmp_receiver_3_enabled` (bool): Enable receiver. (default: False)
        - `snmp_receiver_3_port` (int): Receiver port. (default: 162)
        - `snmp_receiver_3_community` (str): Community string. (default: "")
        - `snmp_receiver_4_url` (str): Receiver 4 ULR. (default: "")
        - `snmp_receiver_4_enabled` (bool): Enable receiver. (default: False)
        - `snmp_receiver_4_port` (int): Receiver port. (default: 162)
        - `snmp_receiver_4_community` (str): Community string. (default: "")
      isArray: true
      name: snmp_receivers
    - defaultValue: '{''normal_operations'': 30, ''long_operations'': 120}'
      description: |-
        The vCenter server connection timeout for normal and long operations.
        Valid attributes are:
        - `normal_operations` (int) (default: 30)
        - `long_operations` (int) (default: 120)
      isArray: true
      name: timeout_settings
    - auto: PREDEFINED
      defaultValue: info
      description: The level of detail that vCenter server usesfor log files.
      name: logging_options
      predefined:
      - none
      - error
      - warning
      - info
      - verbose
      - trivia
    description: Configures general settings on a vCenter server
    name: vmware-vcenter-settings
  - arguments:
    - description: |-
        Settings for vCenter server past day statistic collection.
        Valid attributes are:
        - `enabled` (bool): Past day statistics collection enabled. (default: false)
        - `interval_minutes` (int): Interval duration (minutes). (choices: [1, 2, 3, 4, 5]) (default: 5)
        - `save_for_days` (int): Save for (days). (choices: [1, 2, 3, 4, 5]) (default: 1)
        - `level` (int): Statistics level. (choices: [1, 2, 3, 4]) (default: 1)
      isArray: true
      name: interval_past_day
    - description: |-
        Settings for vCenter server past week statistic collection.
        Valid attributes are:
        - `enabled` (bool): Past week statistics collection enabled. (default: false)
        - `interval_minutes` (int): Interval duration (minutes). (choices: [30]) (default: 30)
        - `save_for_weeks` (int): Save for (weeks). (choices: [1]) (default: 1)
        - `level` (int): Statistics level. (choices: [1, 2, 3, 4]) (default: 1)
      isArray: true
      name: interval_past_week
    - description: |-
        Settings for vCenter server past month statistic collection.
        Valid attributes are:
        - `enabled` (bool): Past month statistics collection enabled. (default: false)
        - `interval_hours` (int): Interval duration (hours). (choices: [2]) (default: 2)
        - `save_for_months` (int): Save for (months). (choices: [1]) (default: 1)
        - `level` (int): Statistics level. (choices: [1, 2, 3, 4]) (default: 1)
      isArray: true
      name: interval_past_month
    - description: |-
        Settings for vCenter server past month statistic collection.
        Valid attributes are:
        - `enabled` (bool): Past month statistics collection enabled. (default: false)
        - `interval_days` (int): Interval duration (days). (choices: [1]) (default: 1)
        - `save_for_years` (int): Save for (years). (choices: [1, 2, 3, 4, 5]) (default: 1)
        - `level` (int): Statistics level. (choices: [1, 2, 3, 4]) (default: 1)
      isArray: true
      name: interval_past_year
    description: Configures statistics on a vCenter server
    name: vmware-vcenter-statistics
  - arguments:
    - defaultValue: "True"
      description: |-
        If set to `True`, the DRS rule will be an Affinity rule.
        If set to `False`, the DRS rule will be an Anti-Affinity rule.
        Effective only if `state` is set to `present`.
      name: affinity_rule
    - description: Datacenter to search for given cluster. If not set, we use first cluster we encounter with `cluster_name`.
      name: datacenter
    - description: Cluster to create VM-Host rule.
      name: cluster_name
      required: true
    - description: Name of rule to create or remove.
      name: drs_rule_name
      required: true
    - defaultValue: "False"
      description: |-
        If set to `True`, the DRS rule will be enabled.
        Effective only if `state` is set to `present`.
      name: enabled
    - description: |-
        Name of Host group to use with rule.
        Effective only if `state` is set to `present`.
      name: host_group_name
      required: true
    - defaultValue: "False"
      description: |-
        If set to `True`, the DRS rule will be mandatory.
        Effective only if `state` is set to `present`.
      name: mandatory
    - auto: PREDEFINED
      defaultValue: present
      description: |-
        If set to `present` and the rule doesn't exists then the rule will be created.
        If set to `absent` and the rule exists then the rule will be deleted.
      name: state
      predefined:
      - present
      - absent
      required: true
    - description: |-
        Name of VM group to use with rule.
        Effective only if `state` is set to `present`.
      name: vm_group_name
      required: true
    description: Creates vm/host group in a given cluster
    name: vmware-vm-host-drs-rule
  - arguments:
    - auto: PREDEFINED
      defaultValue: all
      description: |-
        If set to `vm`, then information are gathered for virtual machines only.
        If set to `template`, then information are gathered for virtual machine templates only.
        If set to `all`, then information are gathered for all virtual machines and virtual machine templates.
      name: vm_type
      predefined:
      - all
      - vm
      - template
    - defaultValue: "False"
      description: Attributes related to VM guest shown in information only when this is set `true`.
      name: show_attribute
    - description: |-
        Specify a folder location of VMs to gather information from.
        Examples:
        folder: /ha-datacenter/vm
        folder: ha-datacenter/vm
        folder: /datacenter1/vm
        folder: datacenter1/vm
        folder: /datacenter1/vm/folder1
        folder: datacenter1/vm/folder1
        folder: /folder1/datacenter1/vm
        folder: folder1/datacenter1/vm
        folder: /folder1/datacenter1/vm/folder2
      name: folder
    - defaultValue: "False"
      description: Tags related to virtual machine are shown if set to `True`.
      name: show_tag
    description: Return basic info pertaining to a VMware machine guest
    name: vmware-vm-info
  - arguments:
    - description: |-
        The datacenter hosting the virtual machine.
        If set, it will help to speed up virtual machine search.
      name: datacenter
    - description: |-
        The cluster hosting the virtual machine.
        If set, it will help to speed up virtual machine search.
      name: cluster
    - description: |-
        Destination folder, absolute or relative path to find an existing guest or create the new guest.
        The folder should include the datacenter. ESX's datacenter is ha-datacenter.
        Examples:
        folder: /ha-datacenter/vm
        folder: ha-datacenter/vm
        folder: /datacenter1/vm
        folder: datacenter1/vm
        folder: /datacenter1/vm/folder1
        folder: datacenter1/vm/folder1
        folder: /folder1/datacenter1/vm
        folder: folder1/datacenter1/vm
        folder: /folder1/datacenter1/vm/folder2
      name: folder
    - description: Name of the virtual machine to work with.
      name: vm_id
      required: true
    - auto: PREDEFINED
      defaultValue: vm_name
      description: The VMware identification method by which the virtual machine will be identified.
      name: vm_id_type
      predefined:
      - uuid
      - instance_uuid
      - dns_name
      - inventory_path
      - vm_name
    - description: The user to login-in to the virtual machine.
      name: vm_username
      required: true
    - description: The password used to login-in to the virtual machine.
      name: vm_password
      required: true
    - description: |-
        The absolute path to the program to start.
        On Linux, shell is executed via bash.
      name: vm_shell
      required: true
    - defaultValue: ' '
      description: |-
        The argument to the program.
        The characters which must be escaped to the shell also be escaped on the command line provided.
      name: vm_shell_args
    - description: Comma separated list of environment variable, specified in the guest OS notation.
      isArray: true
      name: vm_shell_env
    - description: The current working directory of the application from which it will be run.
      name: vm_shell_cwd
    - defaultValue: "False"
      description: If set to `True`, module will wait for process to complete in the given virtual machine.
      name: wait_for_process
    - defaultValue: "3600"
      description: |-
        Timeout in seconds.
        If set to positive integers, then `wait_for_process` will honor this parameter and will exit after this timeout.
      name: timeout
    description: Run commands in a VMware guest operating system
    name: vmware-vm-shell
  - arguments: []
    description: Gather information about vSphere storage profile defined storage policy information.
    name: vmware-vm-storage-policy-info
  - arguments:
    - description: Desired cluster name where virtual machines are present for the DRS rule.
      name: cluster_name
      required: true
    - description: |-
        List of virtual machines name for which DRS rule needs to be applied.
        Required if `state` is set to `present`.
      isArray: true
      name: vms
    - description: The name of the DRS rule to manage.
      name: drs_rule_name
      required: true
    - defaultValue: "False"
      description: |-
        If set to `True`, the DRS rule will be enabled.
        Effective only if `state` is set to `present`.
      name: enabled
    - defaultValue: "False"
      description: |-
        If set to `True`, the DRS rule will be mandatory.
        Effective only if `state` is set to `present`.
      name: mandatory
    - defaultValue: "True"
      description: |-
        If set to `True`, the DRS rule will be an Affinity rule.
        If set to `False`, the DRS rule will be an Anti-Affinity rule.
        Effective only if `state` is set to `present`.
      name: affinity_rule
    - auto: PREDEFINED
      defaultValue: present
      description: |-
        If set to `present`, then the DRS rule is created if not present.
        If set to `present`, then the DRS rule is already present, it updates to the given configurations.
        If set to `absent`, then the DRS rule is deleted if present.
      name: state
      predefined:
      - present
      - absent
    description: Configure VMware DRS Affinity rule for virtual machine in given cluster
    name: vmware-vm-vm-drs-rule
  - arguments:
    - description: Name of the virtual machine to migrate to a dvSwitch
      name: vm_name
      required: true
    - description: Name of the portgroup to migrate to the virtual machine to
      name: dvportgroup_name
      required: true
    description: Migrates a virtual machine from a standard vswitch to distributed
    name: vmware-vm-vss-dvs-migrate
  - arguments:
    - description: |-
        The name of the vSwitch where to add the VMKernel interface.
        Required parameter only if `state` is set to `present`.
        Optional parameter from version 2.5 and onwards.
      name: vswitch_name
    - description: |-
        The name of the vSphere Distributed Switch (vDS) where to add the VMKernel interface.
        Required parameter only if `state` is set to `present`.
        Optional parameter from version 2.8 and onwards.
      name: dvswitch_name
    - description: The name of the port group for the VMKernel interface.
      name: portgroup_name
      required: true
    - defaultValue: '{''type'': ''static'', ''tcpip_stack'': ''default''}'
      description: |-
        A dictionary of network details.
        The following parameter is required:
        - `type` (string): Type of IP assignment (either `dhcp` or `static`).
        The following parameters are required in case of `type` is set to `static`:
        - `ip_address` (string): Static IP address (implies `type: static`).
        - `subnet_mask` (string): Static netmask required for `ip_address`.
        The following parameter is optional in case of `type` is set to `static`:
        - `default_gateway` (string): Default gateway (Override default gateway for this adapter).
        The following parameter is optional:
        - `tcpip_stack` (string): The TCP/IP stack for the VMKernel interface. Can be default, provisioning, vmotion, or vxlan. (default: default)
      isArray: true
      name: network
    - description: |-
        The IP Address for the VMKernel interface.
        Use `network` parameter with `ip_address` instead.
        Deprecated option, will be removed in version 2.9.
      name: ip_address
    - description: |-
        The Subnet Mask for the VMKernel interface.
        Use `network` parameter with `subnet_mask` instead.
        Deprecated option, will be removed in version 2.9.
      name: subnet_mask
    - defaultValue: "1500"
      description: |-
        The MTU for the VMKernel interface.
        The default value of 1500 is valid from version 2.5 and onwards.
      name: mtu
    - description: |-
        Search VMkernel adapter by device name.
        The parameter is required only in case of `type` is set to `dhcp`.
      name: device
    - description: |-
        Enable VSAN traffic on the VMKernel adapter.
        This option is only allowed if the default TCP/IP stack is used.
      name: enable_vsan
    - description: |-
        Enable vMotion traffic on the VMKernel adapter.
        This option is only allowed if the default TCP/IP stack is used.
        You cannot enable vMotion on an additional adapter if you already have an adapter with the vMotion TCP/IP stack configured.
      name: enable_vmotion
    - description: |-
        Enable Management traffic on the VMKernel adapter.
        This option is only allowed if the default TCP/IP stack is used.
      name: enable_mgmt
    - description: |-
        Enable Fault Tolerance traffic on the VMKernel adapter.
        This option is only allowed if the default TCP/IP stack is used.
      name: enable_ft
    - description: |-
        Enable Provisioning traffic on the VMKernel adapter.
        This option is only allowed if the default TCP/IP stack is used.
      name: enable_provisioning
    - description: |-
        Enable vSphere Replication traffic on the VMKernel adapter.
        This option is only allowed if the default TCP/IP stack is used.
      name: enable_replication
    - description: |-
        Enable vSphere Replication NFC traffic on the VMKernel adapter.
        This option is only allowed if the default TCP/IP stack is used.
      name: enable_replication_nfc
    - auto: PREDEFINED
      defaultValue: present
      description: |-
        If set to `present`, the VMKernel adapter will be created with the given specifications.
        If set to `absent`, the VMKernel adapter will be removed.
        If set to `present` and VMKernel adapter exists, the configurations will be updated.
      name: state
      predefined:
      - present
      - absent
    - description: |-
        Name of ESXi host to which VMKernel is to be managed.
        From version 2.5 onwards, this parameter is required.
      name: esxi_hostname
      required: true
    description: Manages a VMware VMkernel Adapter of an ESXi host.
    name: vmware-vmkernel
  - arguments:
    - description: |-
        Name of the cluster.
        VMKernel information about each ESXi server will be returned for the given cluster.
        If `esxi_hostname` is not given, this parameter is required.
      name: cluster_name
    - description: |-
        ESXi hostname.
        VMKernel information about this ESXi server will be returned.
        If `cluster_name` is not given, this parameter is required.
      name: esxi_hostname
    description: Gathers VMKernel info about an ESXi host
    name: vmware-vmkernel-info
  - arguments:
    - description: VMkernel interface name
      name: vmk_name
      required: true
    - description: IP address to assign to VMkernel interface
      name: ip_address
      required: true
    - description: Subnet Mask to assign to VMkernel interface
      name: subnet_mask
      required: true
    description: Configure the VMkernel IP Address
    name: vmware-vmkernel-ip-config
  - arguments:
    - description: |-
        Name of the VM to perform a vMotion on.
        This is required parameter, if `vm_uuid` is not set.
        Version 2.6 onwards, this parameter is not a required parameter, unlike the previous versions.
      name: vm_name
    - description: |-
        UUID of the virtual machine to perform a vMotion operation on.
        This is a required parameter, if `vm_name` or `moid` is not set.
      name: vm_uuid
    - description: |-
        Managed Object ID of the instance to manage if known, this is a unique identifier only within a single vCenter instance.
        This is required if `vm_name` or `vm_uuid` is not supplied.
      name: moid
    - defaultValue: "False"
      description: Whether to use the VMware instance UUID rather than the BIOS UUID.
      name: use_instance_uuid
    - description: |-
        Name of the destination host the virtual machine should be running on.
        Version 2.6 onwards, this parameter is not a required parameter, unlike the previous versions.
      name: destination_host
    - description: Name of the destination datastore the virtual machine's vmdk should be moved on.
      name: destination_datastore
    description: Move a virtual machine using vMotion, and/or its vmdks using storage vMotion.
    name: vmware-vmotion
  - arguments:
    - description: Desired cluster UUID
      name: cluster_uuid
    description: Configure VSAN clustering on an ESXi host
    name: vmware-vsan-cluster
  - arguments:
    - description: The name of the distributed vSwitch on which to add or remove the mirroring session.
      name: switch
      required: true
    - description: Name of the session.
      name: name
      required: true
    - auto: PREDEFINED
      description: Create or remove the session.
      name: state
      predefined:
      - present
      - absent
      required: true
    - auto: PREDEFINED
      defaultValue: dvPortMirror
      description: |-
        Select the mirroring type.
        - `encapsulatedRemoteMirrorSource` (str): In encapsulatedRemoteMirrorSource session, Distributed Ports can be used as source entities, and Ip address can be used as destination entities.
        - `remoteMirrorDest` (str): In remoteMirrorDest session, vlan Ids can be used as source entities, and Distributed Ports can be used as destination entities.
        - `remoteMirrorSource` (str): In remoteMirrorSource session, Distributed Ports can be used as source entities, and uplink ports name can be used as destination entities.
        - `dvPortMirror` (str): In dvPortMirror session, Distributed Ports can be used as both source and destination entities.
      name: session_type
      predefined:
      - encapsulatedRemoteMirrorSource
      - remoteMirrorDest
      - remoteMirrorSource
      - dvPortMirror
    - defaultValue: "True"
      description: Whether the session is enabled.
      name: enabled
    - description: The description for the session.
      name: description
    - description: Source port for which transmitted packets are mirrored.
      name: source_port_transmitted
    - description: Source port for which received packets are mirrored.
      name: source_port_received
    - description: Destination port that received the mirrored packets. Also any port designated in the value of this property can not match the source port in any of the Distributed Port Mirroring session.
      name: destination_port
    - description: VLAN ID used to encapsulate the mirrored traffic.
      name: encapsulation_vlan_id
    - description: Whether to strip the original VLAN tag. if false, the original VLAN tag will be preserved on the mirrored traffic. If encapsulationVlanId has been set and this property is false, the frames will be double tagged with the original VLAN ID as the inner tag.
      name: strip_original_vlan
    - description: An integer that describes how much of each frame to mirror. If unset, all of the frame would be mirrored. Setting this property to a smaller value is useful when the consumer will look only at the headers. The value cannot be less than 60.
      name: mirrored_packet_length
    - description: Whether or not destination ports can send and receive "normal" traffic. Setting this to false will make mirror ports be used solely for mirroring and not double as normal access ports.
      name: normal_traffic_allowed
    - description: Sampling rate of the session. If its value is n, one of every n packets is mirrored. Valid values are between 1 to 65535, and default value is 1.
      name: sampling_rate
    - description: |-
        With this parameter it is possible, to add a NIC of a VM to a port mirroring session.
        Valid attributes are:
        - `name` (str): Name of the VM
        - `nic_label` (bool): Label of the Network Interface Card to use.
      isArray: true
      name: source_vm_transmitted
    - description: |-
        With this parameter it is possible, to add a NIC of a VM to a port mirroring session.
        Valid attributes are:
        - `name` (str): Name of the VM
        - `nic_label` (bool): Label of the Network Interface Card to use.
      isArray: true
      name: source_vm_received
    - description: |-
        With this parameter it is possible, to add a NIC of a VM to a port mirroring session.
        Valid attributes are:
        - `name` (str): Name of the VM
        - `nic_label` (bool): Label of the Network Interface Card to use.
      isArray: true
      name: destination_vm
    description: Create or remove a Port Mirroring session.
    name: vmware-vspan-session
  - arguments:
    - description: |-
        vSwitch name to add.
        Alias `switch` is added in version 2.4.
      name: switch
      required: true
    - defaultValue: '[]'
      description: |-
        A list of vmnic names or vmnic name to attach to vSwitch.
        Alias `nics` is added in version 2.4.
      isArray: true
      name: nics
    - defaultValue: "128"
      description: Number of port to configure on vSwitch.
      name: number_of_ports
    - defaultValue: "1500"
      description: MTU to configure on vSwitch.
      name: mtu
    - auto: PREDEFINED
      defaultValue: present
      description: Add or remove the switch.
      name: state
      predefined:
      - absent
      - present
    - description: Manage the vSwitch using this ESXi host system.
      name: esxi_hostname
    description: Manage a VMware Standard Switch to an ESXi host.
    name: vmware-vswitch
  - arguments:
    - description: |-
        Name of the cluster.
        Info about vswitch belonging to every ESXi host systems under this cluster will be returned.
        If `esxi_hostname` is not given, this parameter is required.
      name: cluster_name
    - description: |-
        ESXi hostname to gather information from.
        If `cluster_name` is not given, this parameter is required.
      name: esxi_hostname
    description: Gathers info about an ESXi host's vswitch configurations
    name: vmware-vswitch-info
  - arguments:
    - description: The vCenter server on which the datastore is available.
      name: host
      required: true
    - description: The datacenter on the vCenter server that holds the datastore.
      name: datacenter
      required: true
    - description: The datastore on the vCenter server to push files to.
      name: datastore
      required: true
    - description: The file or directory on the datastore on the vCenter server.
      name: path
      required: true
    - defaultValue: "10"
      description: The timeout in seconds for the upload to the datastore.
      name: timeout
    - auto: PREDEFINED
      defaultValue: file
      description: |-
        The state of or the action on the provided path.
        If `absent`, the file will be removed.
        If `directory`, the directory will be created.
        If `file`, more information of the (existing) file will be returned.
        If `touch`, an empty file will be created if the path does not exist.
      name: state
      predefined:
      - absent
      - directory
      - file
      - touch
    description: Manage files on a vCenter datastore
    name: vmware-vsphere-file
  - arguments:
    - description: The extension key of the extension to install or uninstall.
      name: extension_key
      required: true
    - description: The version of the extension you are installing or uninstalling.
      name: version
      required: true
    - description: Required for `state=present`. The name of the extension you are installing.
      name: name
    - description: Required for `state=present`. The name of the company that makes the extension.
      name: company
    - description: Required for `state=present`. A short description of the extension.
      name: description
    - description: Required for `state=present`. Administrator email to use for extension.
      name: email
    - description: Required for `state=present`. Link to server hosting extension zip file to install.
      name: url
    - description: Required for `state=present`. SSL thumbprint of the extension hosting server.
      name: ssl_thumbprint
    - defaultValue: vsphere-client-serenity
      description: Required for `state=present`. Type of server being used to install the extension (SOAP, REST, HTTP, etc.).
      name: server_type
    - defaultValue: vsphere-client-serenity
      description: Required for `state=present`. Type of client the extension is (win32, .net, linux, etc.).
      name: client_type
    - defaultValue: "True"
      description: Show the extension in solution manager inside vCenter.
      name: visible
    - auto: PREDEFINED
      defaultValue: present
      description: Add or remove vCenter Extension.
      name: state
      predefined:
      - absent
      - present
    description: Register/deregister vCenter Extensions
    name: vmware-vcenter-extension
  - arguments: []
    description: Gather info vCenter extensions
    name: vmware-vcenter-extension-info
  - arguments:
    - description: Name of the datacenter.
      name: datacenter
      required: true
    - description: |-
        Name of folder to be managed.
        This is case sensitive parameter.
        Folder name should be under 80 characters. This is a VMware restriction.
      name: folder_name
      required: true
    - description: |-
        Name of the parent folder under which new folder needs to be created.
        This is case sensitive parameter.
        Please specify unique folder name as there is no way to detect duplicate names.
        If user wants to create a folder under '/DC0/vm/vm_folder', this value will be 'vm_folder'.
      name: parent_folder
    - auto: PREDEFINED
      defaultValue: vm
      description: |-
        This is type of folder.
        If set to `vm`, then 'VM and Template Folder' is created under datacenter.
        If set to `host`, then 'Host and Cluster Folder' is created under datacenter.
        If set to `datastore`, then 'Storage Folder' is created under datacenter.
        If set to `network`, then 'Network Folder' is created under datacenter.
        This parameter is required, if `state` is set to `present` and parent_folder is absent.
        This option is ignored, if `parent_folder` is set.
      name: folder_type
      predefined:
      - datastore
      - host
      - network
      - vm
    - auto: PREDEFINED
      defaultValue: present
      description: |-
        State of folder.
        If set to `present` without parent folder parameter, then folder with `folder_type` is created.
        If set to `present` with parent folder parameter,  then folder in created under parent folder. `folder_type` is ignored.
        If set to `absent`, then folder is unregistered and destroyed.
      name: state
      predefined:
      - present
      - absent
    description: Manage folders on given datacenter
    name: vmware-vcenter-folder
    outputs:
    - contextPath: VMwareV2.result.path
      description: the full path of the new folder
      type: string
    - contextPath: VMwareV2.result.msg
      description: string stating about result
      type: string
  - arguments:
    - defaultValue: '{''source'': ''ansible''}'
      description: |-
        The optional labels of the license key to manage in vSphere vCenter.
        This is dictionary with key/value pair.
      isArray: true
      name: labels
    - description: The license key to manage in vSphere vCenter.
      name: license
      required: true
    - auto: PREDEFINED
      defaultValue: present
      description: Whether to add (`present`) or remove (`absent`) the license key.
      name: state
      predefined:
      - absent
      - present
    - description: |-
        The hostname of the ESXi server to which the specified license will be assigned.
        This parameter is optional.
      name: esxi_hostname
    - description: The datacenter name to use for the operation.
      name: datacenter
    - description: Name of the cluster to apply vSAN license.
      name: cluster_name
    description: Manage VMware vCenter license keys
    name: vmware-vcenter-license
  dockerimage: demisto/ansible-runner:1.0.0.21184
  script: ''
  subtype: python3
  type: python
fromversion: 6.0.0
tests:
- No tests (auto formatted)
deprecated: true