Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.


License Stable Version Build Status

vcd-cli is the Command Line Interface for VMware vCloud Director.


In general vcd-cli can be installed with the following command:

$ pip install --user vcd-cli

Depending on your operating system and distribution you may need additional packages to install successfully. See for full details.

Quick Start

Below is a sample vcd-cli interaction with vCloud Director to create a virtual machine and start using it.

Detailed command syntax and usage can be found in the vcd-cli site, along with the installation instructions.

    $ vcd login org1 usr1 --password ******** -w -i
    usr1 logged in, org: 'org1', vdc: 'vdc1'

    $ vcd catalog create catalog1
    task: 893bff31-4bf6-48a6-84b8-55cee97e8349, Created Catalog catalog1(cc0a2b88-9e5a-4391-936f-df6e7902504b), result: success

    $ vcd catalog upload catalog1 photon-custom-hw11-2.0-304b817.ova
    upload 113,169,920 of 113,169,920 bytes, 100%
    property    value
    ----------  ----------------------------------
    file        photon-custom-hw11-2.0-304b817.ova
    size        113207424

    $ vcd vapp create vapp1 --catalog catalog1 --template photon-custom-hw11-2.0-304b817.ova \
      --network net1 --accept-all-eulas
    task: 0f98685a-d11c-41d0-8de4-d3d4efad183a, Created Virtual Application vapp1(8fd8e774-d8b3-42ab-800c-a4992cca1fc2), result: success

    $ vcd vapp list
    isDeployed    isEnabled      memoryAllocationMB  name      numberOfCpus    numberOfVMs  ownerName    status        storageKB  vdcName
    ------------  -----------  --------------------  ------  --------------  -------------  -----------  ----------  -----------  ---------
    true          true                         2048  vapp1                1              1  usr1         POWERED_ON     16777216  vdc1

    $ vcd vapp info vapp1
    property                     value
    ---------------------------  -------------------------------------
    name                         vapp1
    owner                        ['usr1']
    status                       Powered on
    vapp-net-1                   net1
    vapp-net-1-mode              bridged
    vm-1: 1 virtual CPU(s)       1
    vm-1: 2048 MB of memory      2,048
    vm-1: Hard disk 1            17,179,869,184 byte
    vm-1: Network adapter 0      DHCP:
    vm-1: computer-name          PhotonOS-001
    vm-1: password               ********

    $ ssh root@

The OVA used in the example can be downloaded with the command:

   $ wget


See the vcd-cli site for detailed documentation and installation instructions.

Please note that this project is under development, the commands, parameters and options might change over time.

vcd-cli uses pyvcloud, the Python SDK for VMware vCloud Director. It requires Python 3.6 or higher.

Previous versions and deprecated code can be found in this repository under tag 19.2.3.


If you want to develop, follow these steps:

  • Fork the repository
  • Clone the forked respoitory
  • Install vcd-cli from the local sources pip3 install --user -e vcd-cli/
  • Add the path ~/.local/bin to the PATH

If you change the source, it is directly accessible with the vcd command


The vcd-cli project team welcomes contributions from the community. Before you start working with vcd-cli, please read our Developer Certificate of Origin. All contributions to this repository must be signed as described on that page. Your signature certifies that you wrote the patch or have the right to pass it on as an open-source patch. For more detailed information, refer to