Skip to content
d-vison edited this page Sep 5, 2012 · 3 revisions

The following are a list of endpoints the Engine Room will use to communicate with the Hypervisor. The parameters that are part of the endpoints (such as [:uuid, :inode_uuid]) will come in as a hash called params.

As an creator of an adaptor you will not need to worry about these params other than replacing them with the appropriate IDs for testing as they will be passed to the models as needed.

# iNode Configuration
POST     /inodes
GET      /inodes/:uuid

Capabilities List - List of capabilities that are implemented by the adaptor

# GET - /inodes/:inode_uuid/capabilities
# Input Format
 - None

# Output Format
[
    {
        "name": "<String>"
    },
    {
        "name": "<String>"
    }
]

Machine Details - List details for all Machines on an iNode

# GET - /inodes/:inode_uuid/machines
# Input Format
 - None

# Output Format
[
    {
        "uuid": "<String>",
        "name": "<String>",
        "cpu_count": <Integer>,
        "cpu_speed": <Integer>,
        "maximum_memory": <Integer>,
        "system": {
            "architecture": "<String>",
            "operating_system": "<String>"
        },
        "guest_agent": <Boolean>,
        "power_state": "<String>",
        "disks": [
            {
                "uuid": "<String>",
                "name": "<String>",
                "maximum_size": <Integer>,
                "type": "<String>"
            }
        ],
        "nics": [
            {
                "uuid": "<String>",
                "name": "<String>",
                "mac_address": "<String>",
                "ip_address": "<String>"
            }
        ]
    }
]
GET      /inodes/:inode_uuid/machines/readings         # List all Machines details and Readings on an iNode
GET      /inodes/:inode_uuid/machines/:uuid            # Get details for a specific Machine
GET      /inodes/:inode_uuid/machines/:uuid/readings   # List Readings for a specific Machine

# Machine Creation & Destruction
POST     /inodes/:inode_uuid/machines/create           # Create a new Machine on the hypervisor
DELETE   /inodes/:inode_uuid/machines/:uuid            # Delete a Machine from the hypervisor

# Machine Management
PUT      /inodes/:inode_uuid/machines/:uuid/start   
PUT      /inodes/:inode_uuid/machines/:uuid/stop
PUT      /inodes/:inode_uuid/machines/:uuid/restart    
PUT      /inodes/:inode_uuid/machines/:uuid/force_stop
PUT      /inodes/:inode_uuid/machines/:uuid/force_restart
Clone this wiki locally