Jump to: navigation, search

Difference between revisions of "Glance-tasks-api"

(Created page with "== Overview == This proposal unifies the new upload workflow, new download workflow, and image cloning blueprints in an extensible, consistent, and easy-to-learn way. == Gene...")
 
m
Line 3: Line 3:
  
 
== General Workflow ==
 
== General Workflow ==
# User posts a request to /v2/tasks
+
# User posts a request to <tt>/v2/tasks</tt>
# Glance returns a 201 with Location: /v2/tasks/{task-uuid}
+
# Glance returns a 201 with Location: <tt>/v2/tasks/{task-uuid}</tt>
#* The resource at /v2/tasks/{task-uuid} will be an expirable entity
+
#* The resource at <tt>/v2/tasks/{task-uuid}</tt> will be an expirable entity
# User polls /v2/tasks/{task-uuid} for status information on the requested task
+
# User polls <tt>/v2/tasks/{task-uuid}</tt> for status information on the requested task
 
# Eventually, when the task is completed, the resource will contain
 
# Eventually, when the task is completed, the resource will contain
#* the location of the result of the task
+
#* task result information, e.g.,
#* the expiration datetime of the tasks resource
+
#** if the task was successful, the location of the result of the task
 +
#*** for import or clone tasks, this will be an /images resource
 +
#*** for export, it will be a location where the exported item may be retrieved
 +
#** if the task was not successful, an informative message
 +
#* the expiration datetime of the tasks resource itself

Revision as of 15:15, 16 July 2013

Overview

This proposal unifies the new upload workflow, new download workflow, and image cloning blueprints in an extensible, consistent, and easy-to-learn way.

General Workflow

  1. User posts a request to /v2/tasks
  2. Glance returns a 201 with Location: /v2/tasks/{task-uuid}
    • The resource at /v2/tasks/{task-uuid} will be an expirable entity
  3. User polls /v2/tasks/{task-uuid} for status information on the requested task
  4. Eventually, when the task is completed, the resource will contain
    • task result information, e.g.,
      • if the task was successful, the location of the result of the task
        • for import or clone tasks, this will be an /images resource
        • for export, it will be a location where the exported item may be retrieved
      • if the task was not successful, an informative message
    • the expiration datetime of the tasks resource itself