A python based proxy looking at multiple AMQP queues for incoming requests of VMware vCloud Director's API Extensions
Project description
vcdextproxy
Python based proxy looking at multiple AMQP queues for incoming requests of VMware vCloud Director’s API Extensions and forwarding to specified REST backends.
Free software: MIT license
Documentation: https://vcdextproxy.readthedocs.io.
Features
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:
A URI path check is made: is /api/example1 a correct API path for extension named example1 ?
If valid, all fields of the request are converted to REST request (as headers or as body content)
REST endpoint handle the request as a standard REST one (with a lot of vCloud information…)
REST endpoint replies to vcdextproxy
vcdextproxy reformat the reply as an AMQP reply message
Credits
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.
History
0.1.x (2019-11-01)
First release on PyPI.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file vcdextproxy-0.1.1.tar.gz
.
File metadata
- Download URL: vcdextproxy-0.1.1.tar.gz
- Upload date:
- Size: 22.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2a5aaa33918f98a0c87acf9242c3a0d2ad06b4ec775c6d478f63293f78e5a22a |
|
MD5 | 0d986029a132c973a2e9ab4ff09c8b61 |
|
BLAKE2b-256 | aed8d32e5c3b60fc51d36f7fda62e62ee797bb15cb9222cb5b842001a4e17ecc |
File details
Details for the file vcdextproxy-0.1.1-py2.py3-none-any.whl
.
File metadata
- Download URL: vcdextproxy-0.1.1-py2.py3-none-any.whl
- Upload date:
- Size: 18.6 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca17c6f90194afca9c58dca49075df3b768456eb955e22c0b80f78b5a8878a4d |
|
MD5 | 22a339c0776c8fedc99a553f3155dbeb |
|
BLAKE2b-256 | e9a9ea8761af87902ea89177744bc9231c3ec32d39ba75b191ecacc8d65c9dab |