Skip to main content

A python based proxy looking at multiple AMQP queues for incoming requests of VMware vCloud Director's API Extensions

Project description

vcdextproxy Documentation Status MIT License

Python based proxy looking at multiple AMQP queues for incoming requests of VMware vCloud Director’s API Extensions and forwarding to specified REST backends.


  • Support multiple queues subscriptions
  • Can address multiple REST endpoints depending on extension(s)
  • 1 REST endpoint is a associated to 1 extension in vCD
  • Backend servers:
    • HTTP + HTTPS support
    • Basic authentication
    • Basic URI rewritting
  • AMQP server:
    • Multiple Exchange/Queue listening
    • Manage Exchange/Queue declarations
    • SSL support
  • Extension lifecyle:
    • Deploy a newly declared extension
    • Redeploy an existing extension
  • vCloud Director:
    • Support vCD from 9.1 to 10.0
    • Can check user’s right based on per extension setting
    • Can check organization’s membership of an user

Planned features

  • #6 - Address some pre-checks like rights management
  • #18 - Check organization’s membership of an user
  • #2 - Manage extension lifecycle (deploy/re-deploy)

User case

In a vCloud Director instance where 2 API extensions are used (example1, example2):

vcdextproxy subscribe to following AMQP queues:

  • example1
  • example2

When a message is sent to example1 queue:

  1. A URI path check is made: is /api/example1 a correct API path for extension named example1 ?
  2. If valid, all fields of the request are converted to REST request (as headers or as body content)
  3. REST endpoint handle the request as a standard REST one (with a lot of vCloud information…)
  4. REST endpoint replies to vcdextproxy
  5. vcdextproxy reformat the reply as an AMQP reply message


This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.


0.1.x (2019-11-01)

  • First release on PyPI.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for vcdextproxy, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size vcdextproxy-0.1.1-py2.py3-none-any.whl (18.6 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size vcdextproxy-0.1.1.tar.gz (22.5 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page