API Special Interest Group/Current Design/Actions
Contents
Analysis
The most consistent thing is that all actions use POST.
Nova and Trove use /action while Heat uses /actions
Parameterless actions in Nova are very inconsistent on how no parameters are represented.
There is one case where Server actions (os-instance-actions) have actions as an actual resource.
Current Design
Nova
POST /v2/{tenant_id}/servers/{server_id}/action
{
"some_action": {
"param1": "value1",
"param2": "value2"
}
}
or
{
"some_action": null
}
or
{
"some_action": {}
}
or
{
"some_action": "None"
}
Server actions (os-instance-actions)
GET /v2/{tenant_id}/servers/{server_id}/os-instance-actions
GET /v2/{tenant_id}/servers/{server_id}/os-instance-actions/{action_id}
Trove
Database instance actions (action)
POST /v1.0/{accountId}/instances/{instanceId}/action
{
"some_action": {
"param1": "value1",
"param2": "value2"
}
}
or
{
"some_action": {}
}
Heat
POST /v1/{tenant_id}/stacks/{stack_name}/{stack_id}/actions
{
"some_action": null
}