This server provides a ReSTful API abstracting and aggregating a set of specific cloud computing providers (called "clouds").
| Term | Definition |
|---|---|
| cloud | The object in pcm-api-v2 that refers to an external cloud provider instance (e.g. a particular relationships with Amazon AWS or OpenStack cluster). |
| provider | A type of cloud (e.g., "openstack" or "aws") |
| size | An abstract notion of a machine size, corresponding to roughly equivalent memory, CPU and disk configurations in each cloud. |
| image | An abstract notion of an image, mapped to equivalent OS/platform images in each cloud. |
| instance | A cloud computing instance, virtual machine or server |
| cmdb | A system asset store that gets updated when instances are created or destroyed |
The pcm-api-v2 is built using fog_ and sinatra_. It includes a library for managing a possibly-changing compex hierarchical file-based configuration, ensuring current values for the configuration items within.
- pcm-api-v2 expects its configuration to be composed of the following
- structure:
services.conf - includes other services to advertse at root (e.g. other
pcm-api versions)
inventory.conf - cmdb configuration
sizes/ - A file for each size to be offered by pcm-api-v2
images/ - A file for each image to be offered by pcm-api-v2
providers/ - A file for each provider, specifying configuration for all
clouds of that type
clouds/ - A file for each cloud, specifying configuration for that cloud
All files are JSON-serialized configuration files containing a single JSON object.