{ "apiVersion":"0.0.1", "swaggerVersion":"1.2", "basePath":"{{Protocol}}://{{Host}}", "resourcePath":"/task_manager", "produces":[ "application/json" ], "apis":[ { "path":"/task_manager/list_modules", "operations":[ { "method":"GET", "summary":"Get all modules names", "type":"array", "items":{ "type":"string" }, "nickname":"get_modules", "produces":[ "application/json" ], "parameters":[ ] } ] }, { "path":"/task_manager/list_module_tasks/{module}", "operations":[ { "method":"GET", "summary":"Get a list of tasks", "type":"array", "items":{ "type":"task_stats" }, "nickname":"get_tasks", "produces":[ "application/json" ], "parameters":[ { "name":"module", "description":"The module to query about", "required":true, "allowMultiple":false, "type":"string", "paramType":"path" }, { "name":"internal", "description":"Boolean flag indicating whether internal tasks should be shown (false by default)", "required":false, "allowMultiple":false, "type":"boolean", "paramType":"query" }, { "name":"keyspace", "description":"The keyspace to query about", "required":false, "allowMultiple":false, "type":"string", "paramType":"query" }, { "name":"table", "description":"The table to query about", "required":false, "allowMultiple":false, "type":"string", "paramType":"query" } ] } ] }, { "path":"/task_manager/task_status/{task_id}", "operations":[ { "method":"GET", "summary":"Get task status", "type":"task_status", "nickname":"get_task_status", "produces":[ "application/json" ], "parameters":[ { "name":"task_id", "description":"The uuid of a task to query about", "required":true, "allowMultiple":false, "type":"string", "paramType":"path" } ] } ] }, { "path":"/task_manager/abort_task/{task_id}", "operations":[ { "method":"POST", "summary":"Abort running task and its descendants", "type":"void", "nickname":"abort_task", "produces":[ "application/json" ], "parameters":[ { "name":"task_id", "description":"The uuid of a task to abort", "required":true, "allowMultiple":false, "type":"string", "paramType":"path" } ] } ] }, { "path":"/task_manager/wait_task/{task_id}", "operations":[ { "method":"GET", "summary":"Wait for a task to complete", "type":"task_status", "nickname":"wait_task", "produces":[ "application/json" ], "parameters":[ { "name":"task_id", "description":"The uuid of a task to wait for", "required":true, "allowMultiple":false, "type":"string", "paramType":"path" } ] } ] }, { "path":"/task_manager/task_status_recursive/{task_id}", "operations":[ { "method":"GET", "summary":"Get statuses of the task and all its descendants", "type":"array", "items":{ "type":"task_status" }, "nickname":"get_task_status_recursively", "produces":[ "application/json" ], "parameters":[ { "name":"task_id", "description":"The uuid of a task to query about", "required":true, "allowMultiple":false, "type":"string", "paramType":"path" } ] } ] }, { "path":"/task_manager/ttl", "operations":[ { "method":"POST", "summary":"Set ttl in seconds and get last value", "type":"long", "nickname":"get_and_update_ttl", "produces":[ "application/json" ], "parameters":[ { "name":"ttl", "description":"The number of seconds for which the tasks will be kept in memory after it finishes", "required":true, "allowMultiple":false, "type":"long", "paramType":"query" } ] } ] } ], "models":{ "task_stats" :{ "id": "task_stats", "description":"A task statistics object", "properties":{ "task_id":{ "type":"string", "description":"The uuid of a task" }, "state":{ "type":"string", "enum":[ "created", "running", "done", "failed" ], "description":"The state of a task" }, "type":{ "type":"string", "description":"The description of the task" }, "scope":{ "type":"string", "description":"The scope of the task" }, "keyspace":{ "type":"string", "description":"The keyspace the task is working on (if applicable)" }, "table":{ "type":"string", "description":"The table the task is working on (if applicable)" }, "entity":{ "type":"string", "description":"Task-specific entity description" }, "sequence_number":{ "type":"long", "description":"The running sequence number of the task" } } }, "task_status":{ "id":"task_status", "description":"A task status object", "properties":{ "id":{ "type":"string", "description":"The uuid of the task" }, "type":{ "type":"string", "description":"The description of the task" }, "scope":{ "type":"string", "description":"The scope of the task" }, "state":{ "type":"string", "enum":[ "created", "running", "done", "failed" ], "description":"The state of the task" }, "is_abortable":{ "type":"boolean", "description":"Boolean flag indicating whether the task can be aborted" }, "start_time":{ "type":"datetime", "description":"The start time of the task" }, "end_time":{ "type":"datetime", "description":"The end time of the task (unspecified when the task is not completed)" }, "error":{ "type":"string", "description":"Error string, if the task failed" }, "parent_id":{ "type":"string", "description":"The uuid of the parent task" }, "sequence_number":{ "type":"long", "description":"The running sequence number of the task" }, "shard":{ "type":"long", "description":"The number of a shard the task is running on" }, "keyspace":{ "type":"string", "description":"The keyspace the task is working on (if applicable)" }, "table":{ "type":"string", "description":"The table the task is working on (if applicable)" }, "entity":{ "type":"string", "description":"Task-specific entity description" }, "progress_units":{ "type":"string", "description":"A description of the progress units" }, "progress_total":{ "type":"double", "description":"The total number of units to complete for the task" }, "progress_completed":{ "type":"double", "description":"The number of units completed so far" }, "children_ids":{ "type":"array", "items":{ "type":"string" }, "description":"Task IDs of children of this task" } } } } }