1997 lines
50 KiB
YAML
1997 lines
50 KiB
YAML
|
---
|
||
|
swagger: "2.0"
|
||
|
info:
|
||
|
description: "Backend of the oc-search project"
|
||
|
version: "1.0.0"
|
||
|
title: "oc-catalog API"
|
||
|
contact:
|
||
|
email: "opencloud@irt-saintexupery.com"
|
||
|
host: "localhost:49618"
|
||
|
basePath: "/v1"
|
||
|
tags:
|
||
|
- name: "data"
|
||
|
description: "All operations related to the rType data\n"
|
||
|
- name: "computing"
|
||
|
description: "All operations related to the rType computing\n"
|
||
|
- name: "datacenter"
|
||
|
description: "DatacenterController operations about datacenters\n"
|
||
|
- name: "storage"
|
||
|
description: "StorageController operations about storage\n"
|
||
|
paths:
|
||
|
/computing/:
|
||
|
post:
|
||
|
tags:
|
||
|
- "computing"
|
||
|
description: "Submit a computing object"
|
||
|
operationId: "ComputingController.Add computing"
|
||
|
parameters:
|
||
|
- in: "body"
|
||
|
name: "body"
|
||
|
description: "The object content"
|
||
|
required: true
|
||
|
schema:
|
||
|
$ref: "#/definitions/models.ComputingNEWModel"
|
||
|
x-exportParamName: "Body"
|
||
|
responses:
|
||
|
"200":
|
||
|
description: "{string} ID"
|
||
|
"403":
|
||
|
description: "Missing body or fields"
|
||
|
/computing/multi/{IDs}:
|
||
|
get:
|
||
|
tags:
|
||
|
- "computing"
|
||
|
description: "Return Computing objects if found in the DB. Not found IDs will\
|
||
|
\ be ignored"
|
||
|
operationId: "ComputingController.Get multiple computing by IDs"
|
||
|
parameters:
|
||
|
- name: "IDs"
|
||
|
in: "path"
|
||
|
description: "List of computing IDs"
|
||
|
required: true
|
||
|
type: "array"
|
||
|
items:
|
||
|
type: "string"
|
||
|
x-exportParamName: "IDs"
|
||
|
responses:
|
||
|
"200":
|
||
|
description: ""
|
||
|
schema:
|
||
|
type: "array"
|
||
|
items:
|
||
|
$ref: "#/definitions/models.ComputingModel"
|
||
|
"403":
|
||
|
description: "IDs are empty"
|
||
|
/computing/{ID}:
|
||
|
get:
|
||
|
tags:
|
||
|
- "computing"
|
||
|
description: "Find a computing resource based on ID"
|
||
|
operationId: "ComputingController.Get computing by ID"
|
||
|
parameters:
|
||
|
- name: "ID"
|
||
|
in: "path"
|
||
|
description: "The ID of the resource"
|
||
|
required: true
|
||
|
type: "string"
|
||
|
x-exportParamName: "ID"
|
||
|
responses:
|
||
|
"200":
|
||
|
description: ""
|
||
|
schema:
|
||
|
$ref: "#/definitions/models.ComputingModel"
|
||
|
"403":
|
||
|
description: "ID is empty"
|
||
|
/data/:
|
||
|
post:
|
||
|
tags:
|
||
|
- "data"
|
||
|
description: "Submit data object"
|
||
|
operationId: "DataController.Create Data"
|
||
|
parameters:
|
||
|
- in: "body"
|
||
|
name: "body"
|
||
|
description: "The object content"
|
||
|
required: true
|
||
|
schema:
|
||
|
$ref: "#/definitions/models.DataNEWModel"
|
||
|
x-exportParamName: "Body"
|
||
|
responses:
|
||
|
"200":
|
||
|
description: "{string} ID"
|
||
|
"403":
|
||
|
description: "Missing body or fields"
|
||
|
/data/multi/{IDs}:
|
||
|
get:
|
||
|
tags:
|
||
|
- "data"
|
||
|
description: "Return Data object if found in the DB. Not found IDs will be ignored"
|
||
|
operationId: "DataController.Get multiple data by IDs"
|
||
|
parameters:
|
||
|
- name: "IDs"
|
||
|
in: "path"
|
||
|
description: "List of data IDs"
|
||
|
required: true
|
||
|
type: "array"
|
||
|
items:
|
||
|
type: "string"
|
||
|
x-exportParamName: "IDs"
|
||
|
responses:
|
||
|
"200":
|
||
|
description: ""
|
||
|
schema:
|
||
|
type: "array"
|
||
|
items:
|
||
|
$ref: "#/definitions/models.DataModel"
|
||
|
"403":
|
||
|
description: "IDs are empty"
|
||
|
/data/{ID}:
|
||
|
get:
|
||
|
tags:
|
||
|
- "data"
|
||
|
description: "Find rType data based on ID"
|
||
|
operationId: "DataController.Get data by ID"
|
||
|
parameters:
|
||
|
- name: "ID"
|
||
|
in: "path"
|
||
|
description: "The ID of the data resource"
|
||
|
required: true
|
||
|
type: "string"
|
||
|
x-exportParamName: "ID"
|
||
|
responses:
|
||
|
"200":
|
||
|
description: ""
|
||
|
schema:
|
||
|
$ref: "#/definitions/models.DataModel"
|
||
|
"403":
|
||
|
description: "ID is empty"
|
||
|
/datacenter/:
|
||
|
post:
|
||
|
tags:
|
||
|
- "datacenter"
|
||
|
description: "submit Datacenter object"
|
||
|
operationId: "DatacenterController.Create Datacenter"
|
||
|
parameters:
|
||
|
- in: "body"
|
||
|
name: "body"
|
||
|
description: "The object content"
|
||
|
required: true
|
||
|
schema:
|
||
|
$ref: "#/definitions/models.DatacenterNEWModel"
|
||
|
x-exportParamName: "Body"
|
||
|
responses:
|
||
|
"200":
|
||
|
description: "{string} models.DatacenterModel"
|
||
|
"403":
|
||
|
description: "Missing body or fields"
|
||
|
/datacenter/multi/{IDs}:
|
||
|
get:
|
||
|
tags:
|
||
|
- "datacenter"
|
||
|
description: "Return Datacenter objects if found in the DB. Not found IDs will\
|
||
|
\ be ignored"
|
||
|
operationId: "DatacenterController.Get multiple datacenters by IDs"
|
||
|
parameters:
|
||
|
- name: "IDs"
|
||
|
in: "path"
|
||
|
description: "List of datacenter IDs"
|
||
|
required: true
|
||
|
type: "array"
|
||
|
items:
|
||
|
type: "string"
|
||
|
x-exportParamName: "IDs"
|
||
|
responses:
|
||
|
"200":
|
||
|
description: ""
|
||
|
schema:
|
||
|
type: "array"
|
||
|
items:
|
||
|
$ref: "#/definitions/models.ComputingModel"
|
||
|
"403":
|
||
|
description: "IDs are empty"
|
||
|
/datacenter/{ID}:
|
||
|
get:
|
||
|
tags:
|
||
|
- "datacenter"
|
||
|
description: "find datacenter by ID"
|
||
|
operationId: "DatacenterController.GetOneDatacenter"
|
||
|
parameters:
|
||
|
- name: "ID"
|
||
|
in: "path"
|
||
|
description: "the ID you want to get"
|
||
|
required: true
|
||
|
type: "string"
|
||
|
x-exportParamName: "ID"
|
||
|
responses:
|
||
|
"200":
|
||
|
description: ""
|
||
|
schema:
|
||
|
$ref: "#/definitions/models.DatacenterModel"
|
||
|
"403":
|
||
|
description: "ID is empty"
|
||
|
/schedule/:
|
||
|
get:
|
||
|
tags:
|
||
|
- "schedule"
|
||
|
description: "Get a list of next startDates schedules (inclusive). If timezone\
|
||
|
\ is not specified, will assume UTC"
|
||
|
operationId: "ScheduleController.Get schedules"
|
||
|
parameters:
|
||
|
- name: "startDate"
|
||
|
in: "query"
|
||
|
description: "Start date"
|
||
|
required: true
|
||
|
x-exportParamName: "StartDate"
|
||
|
- name: "stopDate"
|
||
|
in: "query"
|
||
|
description: "End date"
|
||
|
required: true
|
||
|
x-exportParamName: "StopDate"
|
||
|
responses:
|
||
|
"200":
|
||
|
description: ""
|
||
|
schema:
|
||
|
type: "array"
|
||
|
items:
|
||
|
$ref: "#/definitions/models.ScheduleDB"
|
||
|
"201":
|
||
|
description: "Too much elements within the range of dates"
|
||
|
"400":
|
||
|
description: "Other error. Check the output"
|
||
|
"403":
|
||
|
description: "Authentication issue"
|
||
|
/schedule/book:
|
||
|
post:
|
||
|
tags:
|
||
|
- "schedule"
|
||
|
description: "Create schedule for a workflow. It will return some future executions\
|
||
|
\ just as information"
|
||
|
operationId: "ScheduleController.Create schedule"
|
||
|
parameters:
|
||
|
- name: "dcName"
|
||
|
in: "query"
|
||
|
description: "Name of the node (oc-catalog) from where the workflow comes."
|
||
|
required: true
|
||
|
type: "string"
|
||
|
x-exportParamName: "DcName"
|
||
|
- name: "workflowName"
|
||
|
in: "query"
|
||
|
description: "Workflow Name"
|
||
|
required: true
|
||
|
type: "string"
|
||
|
x-exportParamName: "WorkflowName"
|
||
|
- name: "cron"
|
||
|
in: "query"
|
||
|
description: "Cron syntax with year. If no year is specified, will use the\
|
||
|
\ current"
|
||
|
required: true
|
||
|
type: "string"
|
||
|
x-exportParamName: "Cron"
|
||
|
- name: "duration"
|
||
|
in: "query"
|
||
|
description: "Duration in seconds"
|
||
|
required: true
|
||
|
type: "integer"
|
||
|
format: "int32"
|
||
|
x-exportParamName: "Duration"
|
||
|
- name: "startDate"
|
||
|
in: "query"
|
||
|
description: "RFC3339 time for startDate"
|
||
|
required: true
|
||
|
x-exportParamName: "StartDate"
|
||
|
- name: "stopDate"
|
||
|
in: "query"
|
||
|
description: "RFC3339 time for stopDate"
|
||
|
required: true
|
||
|
x-exportParamName: "StopDate"
|
||
|
- in: "body"
|
||
|
name: "requirements"
|
||
|
description: "The object content"
|
||
|
required: true
|
||
|
schema:
|
||
|
$ref: "#/definitions/models.ExecutionRequirementsModel"
|
||
|
x-exportParamName: "Requirements"
|
||
|
responses:
|
||
|
"200":
|
||
|
description: ""
|
||
|
schema:
|
||
|
$ref: "#/definitions/models.ScheduleInfo"
|
||
|
"400":
|
||
|
description: "workflowName not found or empty"
|
||
|
"403":
|
||
|
description: "Authentication issue"
|
||
|
/schedule/check:
|
||
|
post:
|
||
|
tags:
|
||
|
- "schedule"
|
||
|
description: "Check for availability of this DC"
|
||
|
operationId: "ScheduleController.Check if schedule can be created in this DC"
|
||
|
parameters:
|
||
|
- name: "cron"
|
||
|
in: "query"
|
||
|
description: "Cron syntax"
|
||
|
required: true
|
||
|
type: "string"
|
||
|
x-exportParamName: "Cron"
|
||
|
- name: "duration"
|
||
|
in: "query"
|
||
|
description: "Duration in seconds"
|
||
|
required: true
|
||
|
type: "integer"
|
||
|
format: "int32"
|
||
|
x-exportParamName: "Duration"
|
||
|
- name: "startDate"
|
||
|
in: "query"
|
||
|
description: "RFC3339 time for startDate"
|
||
|
required: true
|
||
|
x-exportParamName: "StartDate"
|
||
|
- name: "stopDate"
|
||
|
in: "query"
|
||
|
description: "RFC3339 time for stopDate"
|
||
|
required: true
|
||
|
x-exportParamName: "StopDate"
|
||
|
- in: "body"
|
||
|
name: "requirements"
|
||
|
description: "The object content"
|
||
|
required: true
|
||
|
schema:
|
||
|
$ref: "#/definitions/models.ExecutionRequirementsModel"
|
||
|
x-exportParamName: "Requirements"
|
||
|
responses:
|
||
|
"200":
|
||
|
description: "The schedule can be created"
|
||
|
"400":
|
||
|
description: "Other error. Check the output"
|
||
|
"403":
|
||
|
description: "Authentication issue"
|
||
|
/schedule/next:
|
||
|
get:
|
||
|
tags:
|
||
|
- "schedule"
|
||
|
description: "Give a date, get the next date where there are at least on schedule.\
|
||
|
\ If no hours specified, will assume 00:00"
|
||
|
operationId: "ScheduleController.Get next schedule"
|
||
|
parameters:
|
||
|
- name: "baseDate"
|
||
|
in: "query"
|
||
|
description: "Base date"
|
||
|
required: true
|
||
|
x-exportParamName: "BaseDate"
|
||
|
responses:
|
||
|
"200":
|
||
|
description: ""
|
||
|
schema:
|
||
|
$ref: "#/definitions/*time.Time"
|
||
|
"400":
|
||
|
description: "Other error. Check the output"
|
||
|
"403":
|
||
|
description: "Authentication issue"
|
||
|
/schedule/previous:
|
||
|
get:
|
||
|
tags:
|
||
|
- "schedule"
|
||
|
description: "Give a date, get the previous date where there are at least on\
|
||
|
\ schedule. If no hours specified, will assume 00:00"
|
||
|
operationId: "ScheduleController.Get previous schedule"
|
||
|
parameters:
|
||
|
- name: "baseDate"
|
||
|
in: "query"
|
||
|
description: "Base date"
|
||
|
required: true
|
||
|
x-exportParamName: "BaseDate"
|
||
|
responses:
|
||
|
"200":
|
||
|
description: ""
|
||
|
schema:
|
||
|
$ref: "#/definitions/*time.Time"
|
||
|
"400":
|
||
|
description: "Other error. Check the output"
|
||
|
"403":
|
||
|
description: "Authentication issue"
|
||
|
/search/byWord:
|
||
|
get:
|
||
|
tags:
|
||
|
- "search"
|
||
|
description: "find resources by word"
|
||
|
operationId: "SearchController.Search by word"
|
||
|
parameters:
|
||
|
- name: "word"
|
||
|
in: "query"
|
||
|
description: "Word to search across all resources"
|
||
|
required: true
|
||
|
type: "string"
|
||
|
x-exportParamName: "Word"
|
||
|
responses:
|
||
|
"200":
|
||
|
description: ""
|
||
|
schema:
|
||
|
$ref: "#/definitions/models.SearchResult"
|
||
|
"503":
|
||
|
description: "Internal error"
|
||
|
/storage/:
|
||
|
post:
|
||
|
tags:
|
||
|
- "storage"
|
||
|
description: "submit storage object"
|
||
|
operationId: "StorageController.Create Storage"
|
||
|
parameters:
|
||
|
- in: "body"
|
||
|
name: "body"
|
||
|
description: "The object content"
|
||
|
required: true
|
||
|
schema:
|
||
|
$ref: "#/definitions/models.StorageNEWModel"
|
||
|
x-exportParamName: "Body"
|
||
|
responses:
|
||
|
"200":
|
||
|
description: "{string} models.StorageModel"
|
||
|
"403":
|
||
|
description: "Missing body or fields"
|
||
|
/storage/multi/{IDs}:
|
||
|
get:
|
||
|
tags:
|
||
|
- "storage"
|
||
|
description: "Return Storage objects if found in the DB. Not found IDs will\
|
||
|
\ be ignored"
|
||
|
operationId: "StorageController.Get multiple storages by IDs"
|
||
|
parameters:
|
||
|
- name: "IDs"
|
||
|
in: "path"
|
||
|
description: "List of storage IDs"
|
||
|
required: true
|
||
|
type: "array"
|
||
|
items:
|
||
|
type: "string"
|
||
|
x-exportParamName: "IDs"
|
||
|
responses:
|
||
|
"200":
|
||
|
description: ""
|
||
|
schema:
|
||
|
type: "array"
|
||
|
items:
|
||
|
$ref: "#/definitions/models.ComputingModel"
|
||
|
"403":
|
||
|
description: "IDs are empty"
|
||
|
/storage/{ID}:
|
||
|
get:
|
||
|
tags:
|
||
|
- "storage"
|
||
|
description: "find storage by ID"
|
||
|
operationId: "StorageController.Get"
|
||
|
parameters:
|
||
|
- name: "ID"
|
||
|
in: "path"
|
||
|
description: "the ID you want to get"
|
||
|
required: true
|
||
|
type: "string"
|
||
|
x-exportParamName: "ID"
|
||
|
responses:
|
||
|
"200":
|
||
|
description: ""
|
||
|
schema:
|
||
|
$ref: "#/definitions/models.StorageModel"
|
||
|
"403":
|
||
|
description: "ID is empty"
|
||
|
/user/login:
|
||
|
get:
|
||
|
tags:
|
||
|
- "user"
|
||
|
description: "Logs user into the system"
|
||
|
operationId: "UserController.Login"
|
||
|
parameters:
|
||
|
- name: "username"
|
||
|
in: "query"
|
||
|
description: "The username for login"
|
||
|
required: true
|
||
|
type: "string"
|
||
|
x-exportParamName: "Username"
|
||
|
- name: "password"
|
||
|
in: "query"
|
||
|
description: "The password for login"
|
||
|
required: true
|
||
|
type: "string"
|
||
|
x-exportParamName: "Password"
|
||
|
responses:
|
||
|
"200":
|
||
|
description: "{string} login success"
|
||
|
"403":
|
||
|
description: "user not exist"
|
||
|
/user/logout:
|
||
|
get:
|
||
|
tags:
|
||
|
- "user"
|
||
|
description: "Logs out current logged in user session"
|
||
|
operationId: "UserController.logout"
|
||
|
parameters: []
|
||
|
responses:
|
||
|
"200":
|
||
|
description: "{string} logout success"
|
||
|
/workflow/:
|
||
|
get:
|
||
|
tags:
|
||
|
- "workflow"
|
||
|
description: "List available workflows"
|
||
|
operationId: "WorkflowController.List workflows"
|
||
|
parameters: []
|
||
|
responses:
|
||
|
"200":
|
||
|
description: "[]string List of workflows"
|
||
|
"400":
|
||
|
description: "{string} Other error"
|
||
|
"403":
|
||
|
description: "Authentication issue"
|
||
|
post:
|
||
|
tags:
|
||
|
- "workflow"
|
||
|
description: "Create a name for the new workflow"
|
||
|
operationId: "WorkflowController.Create a new workflow"
|
||
|
parameters:
|
||
|
- name: "workflowName"
|
||
|
in: "query"
|
||
|
description: "Name of the workflow"
|
||
|
required: true
|
||
|
type: "string"
|
||
|
x-exportParamName: "WorkflowName"
|
||
|
responses:
|
||
|
"200":
|
||
|
description: "{string} Workflow created succeful"
|
||
|
"400":
|
||
|
description: "{string} Other error"
|
||
|
"403":
|
||
|
description: "Authentication issue"
|
||
|
/workflow/{workflowName}:
|
||
|
get:
|
||
|
tags:
|
||
|
- "workflow"
|
||
|
description: "Get a workflow by name"
|
||
|
operationId: "WorkflowController.Get Workflow"
|
||
|
parameters:
|
||
|
- name: "workflowName"
|
||
|
in: "path"
|
||
|
description: "Workflow Name"
|
||
|
required: true
|
||
|
type: "string"
|
||
|
x-exportParamName: "WorkflowName"
|
||
|
responses:
|
||
|
"200":
|
||
|
description: ""
|
||
|
schema:
|
||
|
$ref: "#/definitions/models.Workflow"
|
||
|
"400":
|
||
|
description: "{string} Other error"
|
||
|
"403":
|
||
|
description: "Authentication issue"
|
||
|
/workflow/{workflowName}/add:
|
||
|
post:
|
||
|
tags:
|
||
|
- "workflow"
|
||
|
description: "Create a Rtype object from already added resources to the workspace"
|
||
|
operationId: "WorkflowController.Add new object to a Workflow"
|
||
|
parameters:
|
||
|
- name: "workflowName"
|
||
|
in: "path"
|
||
|
description: "workflow Name"
|
||
|
required: true
|
||
|
type: "string"
|
||
|
x-exportParamName: "WorkflowName"
|
||
|
- name: "rID"
|
||
|
in: "query"
|
||
|
description: "rID of already existing item in Workspace"
|
||
|
required: true
|
||
|
type: "string"
|
||
|
x-exportParamName: "RID"
|
||
|
responses:
|
||
|
"200":
|
||
|
description: "{string} ID of the new object (rObjID)"
|
||
|
"400":
|
||
|
description: "{string} Other error"
|
||
|
"403":
|
||
|
description: "Authentication issue"
|
||
|
/workflow/{workflowName}/link:
|
||
|
post:
|
||
|
tags:
|
||
|
- "workflow"
|
||
|
description: "Create a Rtype object from already added resources to the workspace"
|
||
|
operationId: "WorkflowController.Create a realtionship between two Robjects"
|
||
|
parameters:
|
||
|
- name: "workflowName"
|
||
|
in: "path"
|
||
|
description: "Workflow Name"
|
||
|
required: true
|
||
|
type: "string"
|
||
|
x-exportParamName: "WorkflowName"
|
||
|
- name: "rObjIDsource"
|
||
|
in: "query"
|
||
|
description: "Robject source. Usually Data"
|
||
|
required: true
|
||
|
type: "string"
|
||
|
x-exportParamName: "RObjIDsource"
|
||
|
- name: "isInput"
|
||
|
in: "query"
|
||
|
description: "If the operation is for input (true) linkage or output (false)"
|
||
|
required: true
|
||
|
type: "boolean"
|
||
|
x-exportParamName: "IsInput"
|
||
|
- name: "rObjIDtarger"
|
||
|
in: "query"
|
||
|
description: "Robject where will be written the association"
|
||
|
required: true
|
||
|
type: "string"
|
||
|
x-exportParamName: "RObjIDtarger"
|
||
|
responses:
|
||
|
"200":
|
||
|
description: "{string} ID of the new object (rObjID)"
|
||
|
"400":
|
||
|
description: "{string} Other error"
|
||
|
"403":
|
||
|
description: "Authentication issue"
|
||
|
/workflow/{workflowName}/mxGraphParser:
|
||
|
get:
|
||
|
tags:
|
||
|
- "workflow"
|
||
|
description: "Obtain the last mxgraph XML status from the workflow"
|
||
|
operationId: "WorkflowController.Get mxGraph last status"
|
||
|
parameters:
|
||
|
- name: "workflowName"
|
||
|
in: "path"
|
||
|
description: "Workflow Name"
|
||
|
required: true
|
||
|
type: "string"
|
||
|
x-exportParamName: "WorkflowName"
|
||
|
responses:
|
||
|
"200":
|
||
|
description: "The xmlgraph"
|
||
|
"201":
|
||
|
description: "Empty workflow"
|
||
|
"400":
|
||
|
description: "{string} Other error"
|
||
|
"403":
|
||
|
description: "Authentication issue"
|
||
|
post:
|
||
|
tags:
|
||
|
- "workflow"
|
||
|
description: "If we use this aproach to transofrm mxgraph representation in\
|
||
|
\ our representation, we should not use other API calls for modify the project\
|
||
|
\ structure or we'll have inconsistencies."
|
||
|
operationId: "WorkflowController.Parse mxGraph"
|
||
|
parameters:
|
||
|
- name: "workflowName"
|
||
|
in: "path"
|
||
|
description: "Workflow Name"
|
||
|
required: true
|
||
|
type: "string"
|
||
|
x-exportParamName: "WorkflowName"
|
||
|
- in: "body"
|
||
|
name: "xmlData"
|
||
|
description: "Xml representation of the workflow"
|
||
|
required: true
|
||
|
schema:
|
||
|
type: "string"
|
||
|
x-exportParamName: "XmlData"
|
||
|
responses:
|
||
|
"200":
|
||
|
description: "The xmlgraph consumed correctly"
|
||
|
"201":
|
||
|
description: "The xmlgraph consumed with issues"
|
||
|
"400":
|
||
|
description: "{string} Other error"
|
||
|
"403":
|
||
|
description: "Authentication issue"
|
||
|
/workflow/{workflowName}/schedule:
|
||
|
get:
|
||
|
tags:
|
||
|
- "workflow"
|
||
|
description: "Obtain the desired schedule of this workflow"
|
||
|
operationId: "WorkflowController.Get Schedule"
|
||
|
parameters:
|
||
|
- name: "workflowName"
|
||
|
in: "path"
|
||
|
description: "Workflow Name"
|
||
|
required: true
|
||
|
type: "string"
|
||
|
x-exportParamName: "WorkflowName"
|
||
|
responses:
|
||
|
"200":
|
||
|
description: ""
|
||
|
schema:
|
||
|
$ref: "#/definitions/models.ScheduleTime"
|
||
|
"400":
|
||
|
description: "Workflow doesn't exist"
|
||
|
"401":
|
||
|
description: "Other error"
|
||
|
"403":
|
||
|
description: "Authentication issue"
|
||
|
put:
|
||
|
tags:
|
||
|
- "workflow"
|
||
|
description: "Set desired schedule by the user. No other effects a part of saving\
|
||
|
\ the user input"
|
||
|
operationId: "WorkflowController.Set Schedule"
|
||
|
parameters:
|
||
|
- name: "workflowName"
|
||
|
in: "path"
|
||
|
description: "Workflow Name"
|
||
|
required: true
|
||
|
type: "string"
|
||
|
x-exportParamName: "WorkflowName"
|
||
|
- name: "isService"
|
||
|
in: "query"
|
||
|
description: "True: Service, False: Task"
|
||
|
required: true
|
||
|
type: "boolean"
|
||
|
x-exportParamName: "IsService"
|
||
|
- name: "startDate"
|
||
|
in: "query"
|
||
|
description: "RFC3339 time for startDate"
|
||
|
required: true
|
||
|
x-exportParamName: "StartDate"
|
||
|
- name: "stopDate"
|
||
|
in: "query"
|
||
|
description: "RFC3339 time for stopDate"
|
||
|
required: true
|
||
|
x-exportParamName: "StopDate"
|
||
|
- name: "events"
|
||
|
in: "query"
|
||
|
description: "List of events separated by comma"
|
||
|
required: false
|
||
|
type: "string"
|
||
|
x-exportParamName: "Events"
|
||
|
x-optionalDataType: "String"
|
||
|
- name: "cronString"
|
||
|
in: "query"
|
||
|
description: "Cron string"
|
||
|
required: false
|
||
|
type: "string"
|
||
|
x-exportParamName: "CronString"
|
||
|
x-optionalDataType: "String"
|
||
|
- name: "duration"
|
||
|
in: "query"
|
||
|
description: "Duration in seconds"
|
||
|
required: false
|
||
|
type: "integer"
|
||
|
format: "int32"
|
||
|
x-exportParamName: "Duration"
|
||
|
x-optionalDataType: "Int32"
|
||
|
responses:
|
||
|
"200":
|
||
|
description: ""
|
||
|
schema:
|
||
|
$ref: "#/definitions/models.ScheduleInfo"
|
||
|
"400":
|
||
|
description: "Workflow doesn't exist"
|
||
|
"401":
|
||
|
description: "Other error"
|
||
|
"402":
|
||
|
description: "Bad user input"
|
||
|
"403":
|
||
|
description: "Authentication issue"
|
||
|
/workflow/{workflowName}/schedule/book:
|
||
|
post:
|
||
|
tags:
|
||
|
- "workflow"
|
||
|
description: "Book a schedule in all DCs of the workflow. Must set a desired\
|
||
|
\ schedule first!"
|
||
|
operationId: "WorkflowController.Book Schedule"
|
||
|
parameters:
|
||
|
- name: "workflowName"
|
||
|
in: "path"
|
||
|
description: "Workflow Name"
|
||
|
required: true
|
||
|
type: "string"
|
||
|
x-exportParamName: "WorkflowName"
|
||
|
responses:
|
||
|
"200":
|
||
|
description: ""
|
||
|
schema:
|
||
|
type: "array"
|
||
|
items:
|
||
|
$ref: "#/definitions/models.DCstatus"
|
||
|
"401":
|
||
|
description: "Other error. Check output"
|
||
|
"403":
|
||
|
description: "Authentication issue"
|
||
|
/workflow/{workflowName}/schedule/check:
|
||
|
get:
|
||
|
tags:
|
||
|
- "workflow"
|
||
|
description: "Check if we can schedule the project in other DCs. Must set a\
|
||
|
\ desired schedule first!"
|
||
|
operationId: "WorkflowController.Check Schedule"
|
||
|
parameters:
|
||
|
- name: "workflowName"
|
||
|
in: "path"
|
||
|
description: "Workflow Name"
|
||
|
required: true
|
||
|
type: "string"
|
||
|
x-exportParamName: "WorkflowName"
|
||
|
responses:
|
||
|
"200":
|
||
|
description: ""
|
||
|
schema:
|
||
|
type: "array"
|
||
|
items:
|
||
|
$ref: "#/definitions/models.DCstatus"
|
||
|
"401":
|
||
|
description: "Other error"
|
||
|
"403":
|
||
|
description: "Authentication issue"
|
||
|
/workspace/:
|
||
|
post:
|
||
|
tags:
|
||
|
- "workspace"
|
||
|
description: "Insert a resource in the workspace"
|
||
|
operationId: "WorkspaceController.Add model to workspace"
|
||
|
parameters:
|
||
|
- name: "id"
|
||
|
in: "query"
|
||
|
description: "ID of a resource"
|
||
|
required: true
|
||
|
type: "string"
|
||
|
x-exportParamName: "Id"
|
||
|
- name: "rtype"
|
||
|
in: "query"
|
||
|
description: "Type of resource"
|
||
|
required: true
|
||
|
type: "string"
|
||
|
x-exportParamName: "Rtype"
|
||
|
responses:
|
||
|
"200":
|
||
|
description: "{string} login success"
|
||
|
"400":
|
||
|
description: "{string} Other error"
|
||
|
"403":
|
||
|
description: "Authentication issue"
|
||
|
delete:
|
||
|
tags:
|
||
|
- "workspace"
|
||
|
description: "Remove a resource from the workspace"
|
||
|
operationId: "WorkspaceController.Delete element from user workspace"
|
||
|
parameters:
|
||
|
- name: "id"
|
||
|
in: "query"
|
||
|
description: "ID of a resource"
|
||
|
required: true
|
||
|
type: "string"
|
||
|
x-exportParamName: "Id"
|
||
|
- name: "rtype"
|
||
|
in: "query"
|
||
|
description: "Type of resource"
|
||
|
required: true
|
||
|
type: "string"
|
||
|
x-exportParamName: "Rtype"
|
||
|
responses:
|
||
|
"200":
|
||
|
description: "{string} Removed succeful"
|
||
|
"400":
|
||
|
description: "{string} Other error"
|
||
|
"403":
|
||
|
description: "Authentication issue"
|
||
|
/workspace/list:
|
||
|
get:
|
||
|
tags:
|
||
|
- "workspace"
|
||
|
description: "Get workspace elements based on user_id token"
|
||
|
operationId: "WorkspaceController.Get workspace"
|
||
|
parameters: []
|
||
|
responses:
|
||
|
"200":
|
||
|
description: ""
|
||
|
schema:
|
||
|
$ref: "#/definitions/models.Workspace"
|
||
|
"403":
|
||
|
description: "Authentication issue"
|
||
|
/workspace/list_model:
|
||
|
get:
|
||
|
tags:
|
||
|
- "workspace"
|
||
|
description: "Get full workspace elements based on user_id token"
|
||
|
operationId: "WorkspaceController.Get full workspace"
|
||
|
parameters: []
|
||
|
responses:
|
||
|
"200":
|
||
|
description: ""
|
||
|
schema:
|
||
|
$ref: "#/definitions/models.WorkspaceModel"
|
||
|
"403":
|
||
|
description: "Authentication issue"
|
||
|
definitions:
|
||
|
'*time.Time':
|
||
|
type: "object"
|
||
|
title: "Time"
|
||
|
models.ComputingModel:
|
||
|
type: "object"
|
||
|
required:
|
||
|
- "ID"
|
||
|
properties:
|
||
|
ID:
|
||
|
type: "string"
|
||
|
example: "5099803df3f4948bd2f98391"
|
||
|
description:
|
||
|
type: "string"
|
||
|
execution_requirements:
|
||
|
$ref: "#/definitions/models.ExecutionRequirementsModel"
|
||
|
license:
|
||
|
type: "string"
|
||
|
logo:
|
||
|
type: "string"
|
||
|
name:
|
||
|
type: "string"
|
||
|
description: "Name of the computing"
|
||
|
owner:
|
||
|
type: "string"
|
||
|
price:
|
||
|
type: "integer"
|
||
|
format: "int32"
|
||
|
repository:
|
||
|
$ref: "#/definitions/models.RepositoryModel"
|
||
|
short_description:
|
||
|
type: "string"
|
||
|
type:
|
||
|
type: "string"
|
||
|
title: "ComputingModel"
|
||
|
example:
|
||
|
owner: "owner"
|
||
|
license: "license"
|
||
|
short_description: "short_description"
|
||
|
price: 5
|
||
|
name: "name"
|
||
|
description: "description"
|
||
|
logo: "logo"
|
||
|
execution_requirements:
|
||
|
cpus: 0
|
||
|
parallel: true
|
||
|
scaling_model: 5
|
||
|
gpus: 6
|
||
|
disk_io: "disk_io"
|
||
|
ram: 1
|
||
|
ID: "5099803df3f4948bd2f98391"
|
||
|
repository:
|
||
|
credentials: "credentials"
|
||
|
url: "url"
|
||
|
type: "type"
|
||
|
models.ComputingNEWModel:
|
||
|
type: "object"
|
||
|
required:
|
||
|
- "description"
|
||
|
- "logo"
|
||
|
- "name"
|
||
|
- "short_description"
|
||
|
- "type"
|
||
|
properties:
|
||
|
description:
|
||
|
type: "string"
|
||
|
execution_requirements:
|
||
|
$ref: "#/definitions/models.ExecutionRequirementsModel"
|
||
|
license:
|
||
|
type: "string"
|
||
|
logo:
|
||
|
type: "string"
|
||
|
name:
|
||
|
type: "string"
|
||
|
description: "Name of the computing"
|
||
|
owner:
|
||
|
type: "string"
|
||
|
price:
|
||
|
type: "integer"
|
||
|
format: "int32"
|
||
|
repository:
|
||
|
$ref: "#/definitions/models.RepositoryModel"
|
||
|
short_description:
|
||
|
type: "string"
|
||
|
type:
|
||
|
type: "string"
|
||
|
title: "ComputingNEWModel"
|
||
|
models.ComputingObject:
|
||
|
type: "object"
|
||
|
properties:
|
||
|
datacenterID:
|
||
|
type: "string"
|
||
|
description: "Datacenter where the computing will be executed"
|
||
|
inputs:
|
||
|
type: "array"
|
||
|
items:
|
||
|
type: "string"
|
||
|
outputs:
|
||
|
type: "array"
|
||
|
items:
|
||
|
type: "string"
|
||
|
referenceID:
|
||
|
description: "Computing model ID"
|
||
|
$ref: "#/definitions/primitive.ObjectID"
|
||
|
title: "ComputingObject"
|
||
|
example:
|
||
|
outputs:
|
||
|
- "outputs"
|
||
|
- "outputs"
|
||
|
inputs:
|
||
|
- "inputs"
|
||
|
- "inputs"
|
||
|
datacenterID: "datacenterID"
|
||
|
referenceID: {}
|
||
|
models.DCstatus:
|
||
|
type: "object"
|
||
|
properties:
|
||
|
Booked:
|
||
|
$ref: "#/definitions/models.ScheduleInfo"
|
||
|
DCname:
|
||
|
type: "string"
|
||
|
DCobjID:
|
||
|
type: "string"
|
||
|
ErrorMessage:
|
||
|
type: "string"
|
||
|
IsAvailable:
|
||
|
type: "boolean"
|
||
|
IsReachable:
|
||
|
type: "boolean"
|
||
|
title: "DCstatus"
|
||
|
example:
|
||
|
DCobjID: "DCobjID"
|
||
|
DCname: "DCname"
|
||
|
IsAvailable: true
|
||
|
Booked:
|
||
|
Total: 0
|
||
|
NextExecutions:
|
||
|
- "NextExecutions"
|
||
|
- "NextExecutions"
|
||
|
IsReachable: true
|
||
|
ErrorMessage: "ErrorMessage"
|
||
|
models.DataModel:
|
||
|
type: "object"
|
||
|
required:
|
||
|
- "ID"
|
||
|
properties:
|
||
|
ID:
|
||
|
type: "string"
|
||
|
description:
|
||
|
type: "string"
|
||
|
example:
|
||
|
type: "string"
|
||
|
description: "base64 encoded data"
|
||
|
ftype:
|
||
|
type: "string"
|
||
|
location:
|
||
|
type: "string"
|
||
|
logo:
|
||
|
type: "string"
|
||
|
name:
|
||
|
type: "string"
|
||
|
description: "Name of the data"
|
||
|
protocol:
|
||
|
type: "array"
|
||
|
items:
|
||
|
type: "string"
|
||
|
short_description:
|
||
|
type: "string"
|
||
|
type:
|
||
|
type: "string"
|
||
|
example: "file"
|
||
|
description: "Define type of data"
|
||
|
title: "DataModel"
|
||
|
example:
|
||
|
short_description: "short_description"
|
||
|
protocol:
|
||
|
- "protocol"
|
||
|
- "protocol"
|
||
|
ftype: "ftype"
|
||
|
name: "name"
|
||
|
description: "description"
|
||
|
logo: "logo"
|
||
|
location: "location"
|
||
|
ID: "ID"
|
||
|
type: "file"
|
||
|
example: "example"
|
||
|
models.DataNEWModel:
|
||
|
type: "object"
|
||
|
required:
|
||
|
- "description"
|
||
|
- "example"
|
||
|
- "location"
|
||
|
- "logo"
|
||
|
- "name"
|
||
|
- "short_description"
|
||
|
- "type"
|
||
|
properties:
|
||
|
description:
|
||
|
type: "string"
|
||
|
example:
|
||
|
type: "string"
|
||
|
description: "base64 encoded data"
|
||
|
ftype:
|
||
|
type: "string"
|
||
|
location:
|
||
|
type: "string"
|
||
|
logo:
|
||
|
type: "string"
|
||
|
name:
|
||
|
type: "string"
|
||
|
description: "Name of the data"
|
||
|
protocol:
|
||
|
type: "array"
|
||
|
items:
|
||
|
type: "string"
|
||
|
short_description:
|
||
|
type: "string"
|
||
|
type:
|
||
|
type: "string"
|
||
|
example: "file"
|
||
|
description: "Define type of data"
|
||
|
title: "DataNEWModel"
|
||
|
models.DataObject:
|
||
|
type: "object"
|
||
|
properties:
|
||
|
referenceID:
|
||
|
description: "Data model ID"
|
||
|
$ref: "#/definitions/primitive.ObjectID"
|
||
|
title: "DataObject"
|
||
|
example: {}
|
||
|
models.DatacenterCpuModel:
|
||
|
type: "object"
|
||
|
required:
|
||
|
- "cores"
|
||
|
properties:
|
||
|
architecture:
|
||
|
type: "string"
|
||
|
cores:
|
||
|
type: "integer"
|
||
|
format: "int32"
|
||
|
minimum_memory:
|
||
|
type: "integer"
|
||
|
format: "int32"
|
||
|
platform:
|
||
|
type: "string"
|
||
|
shared:
|
||
|
type: "boolean"
|
||
|
title: "DatacenterCpuModel"
|
||
|
example:
|
||
|
shared: true
|
||
|
cores: 6
|
||
|
platform: "platform"
|
||
|
architecture: "architecture"
|
||
|
minimum_memory: 1
|
||
|
models.DatacenterGpuModel:
|
||
|
type: "object"
|
||
|
properties:
|
||
|
cuda_cores:
|
||
|
type: "integer"
|
||
|
format: "int32"
|
||
|
memory:
|
||
|
type: "integer"
|
||
|
format: "int32"
|
||
|
description: "Units in MB"
|
||
|
model:
|
||
|
type: "string"
|
||
|
tensor_cores:
|
||
|
type: "integer"
|
||
|
format: "int32"
|
||
|
title: "DatacenterGpuModel"
|
||
|
example:
|
||
|
memory: 5
|
||
|
cuda_cores: 5
|
||
|
model: "model"
|
||
|
tensor_cores: 2
|
||
|
models.DatacenterMemoryModel:
|
||
|
type: "object"
|
||
|
properties:
|
||
|
ecc:
|
||
|
type: "boolean"
|
||
|
size:
|
||
|
type: "integer"
|
||
|
format: "int32"
|
||
|
description: "Units in MB"
|
||
|
title: "DatacenterMemoryModel"
|
||
|
example:
|
||
|
ecc: true
|
||
|
size: 7
|
||
|
models.DatacenterModel:
|
||
|
type: "object"
|
||
|
required:
|
||
|
- "ID"
|
||
|
properties:
|
||
|
ID:
|
||
|
type: "string"
|
||
|
acronym:
|
||
|
type: "string"
|
||
|
description: "id of the DC"
|
||
|
bookingPrice:
|
||
|
type: "integer"
|
||
|
format: "int64"
|
||
|
cpu:
|
||
|
$ref: "#/definitions/models.DatacenterCpuModel"
|
||
|
description:
|
||
|
type: "string"
|
||
|
gpu:
|
||
|
type: "array"
|
||
|
items:
|
||
|
$ref: "#/definitions/models.DatacenterGpuModel"
|
||
|
hosts:
|
||
|
type: "array"
|
||
|
description: "list of host:port"
|
||
|
items:
|
||
|
type: "string"
|
||
|
logo:
|
||
|
type: "string"
|
||
|
name:
|
||
|
type: "string"
|
||
|
owner:
|
||
|
type: "string"
|
||
|
ram:
|
||
|
$ref: "#/definitions/models.DatacenterMemoryModel"
|
||
|
short_description:
|
||
|
type: "string"
|
||
|
type:
|
||
|
type: "string"
|
||
|
title: "DatacenterModel"
|
||
|
example:
|
||
|
owner: "owner"
|
||
|
short_description: "short_description"
|
||
|
acronym: "acronym"
|
||
|
hosts:
|
||
|
- "hosts"
|
||
|
- "hosts"
|
||
|
cpu:
|
||
|
shared: true
|
||
|
cores: 6
|
||
|
platform: "platform"
|
||
|
architecture: "architecture"
|
||
|
minimum_memory: 1
|
||
|
description: "description"
|
||
|
type: "type"
|
||
|
gpu:
|
||
|
- memory: 5
|
||
|
cuda_cores: 5
|
||
|
model: "model"
|
||
|
tensor_cores: 2
|
||
|
- memory: 5
|
||
|
cuda_cores: 5
|
||
|
model: "model"
|
||
|
tensor_cores: 2
|
||
|
bookingPrice: 0
|
||
|
name: "name"
|
||
|
logo: "logo"
|
||
|
ID: "ID"
|
||
|
ram:
|
||
|
ecc: true
|
||
|
size: 7
|
||
|
models.DatacenterNEWModel:
|
||
|
type: "object"
|
||
|
required:
|
||
|
- "acronym"
|
||
|
- "cpu"
|
||
|
- "description"
|
||
|
- "gpu"
|
||
|
- "hosts"
|
||
|
- "logo"
|
||
|
- "name"
|
||
|
- "ram"
|
||
|
- "short_description"
|
||
|
- "type"
|
||
|
properties:
|
||
|
acronym:
|
||
|
type: "string"
|
||
|
description: "id of the DC"
|
||
|
bookingPrice:
|
||
|
type: "integer"
|
||
|
format: "int64"
|
||
|
cpu:
|
||
|
$ref: "#/definitions/models.DatacenterCpuModel"
|
||
|
description:
|
||
|
type: "string"
|
||
|
gpu:
|
||
|
type: "array"
|
||
|
items:
|
||
|
$ref: "#/definitions/models.DatacenterGpuModel"
|
||
|
hosts:
|
||
|
type: "array"
|
||
|
description: "list of host:port"
|
||
|
items:
|
||
|
type: "string"
|
||
|
logo:
|
||
|
type: "string"
|
||
|
name:
|
||
|
type: "string"
|
||
|
owner:
|
||
|
type: "string"
|
||
|
ram:
|
||
|
$ref: "#/definitions/models.DatacenterMemoryModel"
|
||
|
short_description:
|
||
|
type: "string"
|
||
|
type:
|
||
|
type: "string"
|
||
|
title: "DatacenterNEWModel"
|
||
|
models.DatacenterObject:
|
||
|
type: "object"
|
||
|
properties:
|
||
|
referenceID:
|
||
|
description: "Data model ID"
|
||
|
$ref: "#/definitions/primitive.ObjectID"
|
||
|
title: "DatacenterObject"
|
||
|
example: {}
|
||
|
models.ExecutionRequirementsModel:
|
||
|
type: "object"
|
||
|
required:
|
||
|
- "cpus"
|
||
|
- "ram"
|
||
|
properties:
|
||
|
cpus:
|
||
|
type: "integer"
|
||
|
format: "int32"
|
||
|
disk_io:
|
||
|
type: "string"
|
||
|
gpus:
|
||
|
type: "integer"
|
||
|
format: "int32"
|
||
|
description: "Amount of GPUs needed"
|
||
|
parallel:
|
||
|
type: "boolean"
|
||
|
ram:
|
||
|
type: "integer"
|
||
|
format: "int32"
|
||
|
description: "Units in MB"
|
||
|
scaling_model:
|
||
|
type: "integer"
|
||
|
format: "int32"
|
||
|
title: "ExecutionRequirementsModel"
|
||
|
example:
|
||
|
cpus: 0
|
||
|
parallel: true
|
||
|
scaling_model: 5
|
||
|
gpus: 6
|
||
|
disk_io: "disk_io"
|
||
|
ram: 1
|
||
|
models.RepositoryModel:
|
||
|
type: "object"
|
||
|
properties:
|
||
|
credentials:
|
||
|
type: "string"
|
||
|
url:
|
||
|
type: "string"
|
||
|
title: "RepositoryModel"
|
||
|
example:
|
||
|
credentials: "credentials"
|
||
|
url: "url"
|
||
|
models.ScheduleDB:
|
||
|
type: "object"
|
||
|
properties:
|
||
|
ResourceQty:
|
||
|
$ref: "#/definitions/models.ExecutionRequirementsModel"
|
||
|
StartDate:
|
||
|
type: "string"
|
||
|
format: "datetime"
|
||
|
StopDate:
|
||
|
type: "string"
|
||
|
format: "datetime"
|
||
|
Workflow:
|
||
|
type: "string"
|
||
|
title: "ScheduleDB"
|
||
|
example:
|
||
|
StartDate: "StartDate"
|
||
|
ResourceQty:
|
||
|
cpus: 0
|
||
|
parallel: true
|
||
|
scaling_model: 5
|
||
|
gpus: 6
|
||
|
disk_io: "disk_io"
|
||
|
ram: 1
|
||
|
StopDate: "StopDate"
|
||
|
Workflow: "Workflow"
|
||
|
models.ScheduleInfo:
|
||
|
type: "object"
|
||
|
properties:
|
||
|
NextExecutions:
|
||
|
type: "array"
|
||
|
items:
|
||
|
type: "string"
|
||
|
Total:
|
||
|
type: "integer"
|
||
|
format: "int64"
|
||
|
title: "ScheduleInfo"
|
||
|
example:
|
||
|
Total: 0
|
||
|
NextExecutions:
|
||
|
- "NextExecutions"
|
||
|
- "NextExecutions"
|
||
|
models.ScheduleTime:
|
||
|
type: "object"
|
||
|
title: "ScheduleTime"
|
||
|
models.SearchResult:
|
||
|
type: "object"
|
||
|
required:
|
||
|
- "computing"
|
||
|
properties:
|
||
|
computing:
|
||
|
type: "array"
|
||
|
items:
|
||
|
$ref: "#/definitions/models.ComputingModel"
|
||
|
data:
|
||
|
type: "array"
|
||
|
items:
|
||
|
$ref: "#/definitions/models.DataModel"
|
||
|
datacenter:
|
||
|
type: "array"
|
||
|
items:
|
||
|
$ref: "#/definitions/models.DatacenterModel"
|
||
|
storage:
|
||
|
type: "array"
|
||
|
items:
|
||
|
$ref: "#/definitions/models.StorageModel"
|
||
|
title: "SearchResult"
|
||
|
example:
|
||
|
computing:
|
||
|
- owner: "owner"
|
||
|
license: "license"
|
||
|
short_description: "short_description"
|
||
|
price: 5
|
||
|
name: "name"
|
||
|
description: "description"
|
||
|
logo: "logo"
|
||
|
execution_requirements:
|
||
|
cpus: 0
|
||
|
parallel: true
|
||
|
scaling_model: 5
|
||
|
gpus: 6
|
||
|
disk_io: "disk_io"
|
||
|
ram: 1
|
||
|
ID: "5099803df3f4948bd2f98391"
|
||
|
repository:
|
||
|
credentials: "credentials"
|
||
|
url: "url"
|
||
|
type: "type"
|
||
|
- owner: "owner"
|
||
|
license: "license"
|
||
|
short_description: "short_description"
|
||
|
price: 5
|
||
|
name: "name"
|
||
|
description: "description"
|
||
|
logo: "logo"
|
||
|
execution_requirements:
|
||
|
cpus: 0
|
||
|
parallel: true
|
||
|
scaling_model: 5
|
||
|
gpus: 6
|
||
|
disk_io: "disk_io"
|
||
|
ram: 1
|
||
|
ID: "5099803df3f4948bd2f98391"
|
||
|
repository:
|
||
|
credentials: "credentials"
|
||
|
url: "url"
|
||
|
type: "type"
|
||
|
data:
|
||
|
- short_description: "short_description"
|
||
|
protocol:
|
||
|
- "protocol"
|
||
|
- "protocol"
|
||
|
ftype: "ftype"
|
||
|
name: "name"
|
||
|
description: "description"
|
||
|
logo: "logo"
|
||
|
location: "location"
|
||
|
ID: "ID"
|
||
|
type: "file"
|
||
|
example: "example"
|
||
|
- short_description: "short_description"
|
||
|
protocol:
|
||
|
- "protocol"
|
||
|
- "protocol"
|
||
|
ftype: "ftype"
|
||
|
name: "name"
|
||
|
description: "description"
|
||
|
logo: "logo"
|
||
|
location: "location"
|
||
|
ID: "ID"
|
||
|
type: "file"
|
||
|
example: "example"
|
||
|
datacenter:
|
||
|
- owner: "owner"
|
||
|
short_description: "short_description"
|
||
|
acronym: "acronym"
|
||
|
hosts:
|
||
|
- "hosts"
|
||
|
- "hosts"
|
||
|
cpu:
|
||
|
shared: true
|
||
|
cores: 6
|
||
|
platform: "platform"
|
||
|
architecture: "architecture"
|
||
|
minimum_memory: 1
|
||
|
description: "description"
|
||
|
type: "type"
|
||
|
gpu:
|
||
|
- memory: 5
|
||
|
cuda_cores: 5
|
||
|
model: "model"
|
||
|
tensor_cores: 2
|
||
|
- memory: 5
|
||
|
cuda_cores: 5
|
||
|
model: "model"
|
||
|
tensor_cores: 2
|
||
|
bookingPrice: 0
|
||
|
name: "name"
|
||
|
logo: "logo"
|
||
|
ID: "ID"
|
||
|
ram:
|
||
|
ecc: true
|
||
|
size: 7
|
||
|
- owner: "owner"
|
||
|
short_description: "short_description"
|
||
|
acronym: "acronym"
|
||
|
hosts:
|
||
|
- "hosts"
|
||
|
- "hosts"
|
||
|
cpu:
|
||
|
shared: true
|
||
|
cores: 6
|
||
|
platform: "platform"
|
||
|
architecture: "architecture"
|
||
|
minimum_memory: 1
|
||
|
description: "description"
|
||
|
type: "type"
|
||
|
gpu:
|
||
|
- memory: 5
|
||
|
cuda_cores: 5
|
||
|
model: "model"
|
||
|
tensor_cores: 2
|
||
|
- memory: 5
|
||
|
cuda_cores: 5
|
||
|
model: "model"
|
||
|
tensor_cores: 2
|
||
|
bookingPrice: 0
|
||
|
name: "name"
|
||
|
logo: "logo"
|
||
|
ID: "ID"
|
||
|
ram:
|
||
|
ecc: true
|
||
|
size: 7
|
||
|
storage:
|
||
|
- short_description: "short_description"
|
||
|
encryption: true
|
||
|
size: 6
|
||
|
bookingPrice: 0
|
||
|
DCacronym: "DCacronym"
|
||
|
name: "name"
|
||
|
description: "description"
|
||
|
logo: "logo"
|
||
|
ID: "ID"
|
||
|
redundancy: "redundancy"
|
||
|
throughput: "throughput"
|
||
|
type: "type"
|
||
|
- short_description: "short_description"
|
||
|
encryption: true
|
||
|
size: 6
|
||
|
bookingPrice: 0
|
||
|
DCacronym: "DCacronym"
|
||
|
name: "name"
|
||
|
description: "description"
|
||
|
logo: "logo"
|
||
|
ID: "ID"
|
||
|
redundancy: "redundancy"
|
||
|
throughput: "throughput"
|
||
|
type: "type"
|
||
|
models.StorageModel:
|
||
|
type: "object"
|
||
|
required:
|
||
|
- "ID"
|
||
|
properties:
|
||
|
DCacronym:
|
||
|
type: "string"
|
||
|
description: "Unique ID of the DC where it is the storage"
|
||
|
ID:
|
||
|
type: "string"
|
||
|
bookingPrice:
|
||
|
type: "integer"
|
||
|
format: "int32"
|
||
|
description:
|
||
|
type: "string"
|
||
|
encryption:
|
||
|
type: "boolean"
|
||
|
logo:
|
||
|
type: "string"
|
||
|
name:
|
||
|
type: "string"
|
||
|
redundancy:
|
||
|
type: "string"
|
||
|
short_description:
|
||
|
type: "string"
|
||
|
size:
|
||
|
type: "integer"
|
||
|
format: "int32"
|
||
|
throughput:
|
||
|
type: "string"
|
||
|
type:
|
||
|
type: "string"
|
||
|
title: "StorageModel"
|
||
|
example:
|
||
|
short_description: "short_description"
|
||
|
encryption: true
|
||
|
size: 6
|
||
|
bookingPrice: 0
|
||
|
DCacronym: "DCacronym"
|
||
|
name: "name"
|
||
|
description: "description"
|
||
|
logo: "logo"
|
||
|
ID: "ID"
|
||
|
redundancy: "redundancy"
|
||
|
throughput: "throughput"
|
||
|
type: "type"
|
||
|
models.StorageNEWModel:
|
||
|
type: "object"
|
||
|
required:
|
||
|
- "DCacronym"
|
||
|
- "description"
|
||
|
- "logo"
|
||
|
- "name"
|
||
|
- "short_description"
|
||
|
- "size"
|
||
|
- "type"
|
||
|
properties:
|
||
|
DCacronym:
|
||
|
type: "string"
|
||
|
description: "Unique ID of the DC where it is the storage"
|
||
|
bookingPrice:
|
||
|
type: "integer"
|
||
|
format: "int32"
|
||
|
description:
|
||
|
type: "string"
|
||
|
encryption:
|
||
|
type: "boolean"
|
||
|
logo:
|
||
|
type: "string"
|
||
|
name:
|
||
|
type: "string"
|
||
|
redundancy:
|
||
|
type: "string"
|
||
|
short_description:
|
||
|
type: "string"
|
||
|
size:
|
||
|
type: "integer"
|
||
|
format: "int32"
|
||
|
throughput:
|
||
|
type: "string"
|
||
|
type:
|
||
|
type: "string"
|
||
|
title: "StorageNEWModel"
|
||
|
models.StorageObject:
|
||
|
type: "object"
|
||
|
properties:
|
||
|
inputs:
|
||
|
type: "array"
|
||
|
items:
|
||
|
type: "string"
|
||
|
outputs:
|
||
|
type: "array"
|
||
|
items:
|
||
|
type: "string"
|
||
|
referenceID:
|
||
|
description: "Storage model ID"
|
||
|
$ref: "#/definitions/primitive.ObjectID"
|
||
|
title: "StorageObject"
|
||
|
example:
|
||
|
outputs:
|
||
|
- "outputs"
|
||
|
- "outputs"
|
||
|
inputs:
|
||
|
- "inputs"
|
||
|
- "inputs"
|
||
|
models.Workflow:
|
||
|
type: "object"
|
||
|
properties:
|
||
|
MxgraphXML:
|
||
|
type: "string"
|
||
|
description: "State of the mxgraph"
|
||
|
computing:
|
||
|
$ref: "#/definitions/models.ComputingObject"
|
||
|
data:
|
||
|
$ref: "#/definitions/models.DataObject"
|
||
|
datacenter:
|
||
|
$ref: "#/definitions/models.DatacenterObject"
|
||
|
schedules:
|
||
|
$ref: "#/definitions/models.WorkflowSchedule"
|
||
|
storage:
|
||
|
$ref: "#/definitions/models.StorageObject"
|
||
|
title: "Workflow"
|
||
|
example:
|
||
|
computing:
|
||
|
outputs:
|
||
|
- "outputs"
|
||
|
- "outputs"
|
||
|
inputs:
|
||
|
- "inputs"
|
||
|
- "inputs"
|
||
|
datacenterID: "datacenterID"
|
||
|
referenceID: {}
|
||
|
data: {}
|
||
|
schedules:
|
||
|
StartDate: "StartDate"
|
||
|
cron: "cron"
|
||
|
duration: 7200
|
||
|
StopDate: "StopDate"
|
||
|
isBooked: true
|
||
|
IsService: true
|
||
|
events: "events"
|
||
|
datacenter: {}
|
||
|
storage:
|
||
|
outputs:
|
||
|
- "outputs"
|
||
|
- "outputs"
|
||
|
inputs:
|
||
|
- "inputs"
|
||
|
- "inputs"
|
||
|
MxgraphXML: "MxgraphXML"
|
||
|
models.WorkflowSchedule:
|
||
|
type: "object"
|
||
|
properties:
|
||
|
IsService:
|
||
|
type: "boolean"
|
||
|
description: "Service: true, Task: false"
|
||
|
StartDate:
|
||
|
type: "string"
|
||
|
format: "datetime"
|
||
|
StopDate:
|
||
|
type: "string"
|
||
|
format: "datetime"
|
||
|
cron:
|
||
|
type: "string"
|
||
|
duration:
|
||
|
type: "integer"
|
||
|
format: "int32"
|
||
|
example: 7200
|
||
|
description: "Durantion in seconds"
|
||
|
events:
|
||
|
type: "string"
|
||
|
isBooked:
|
||
|
type: "boolean"
|
||
|
title: "WorkflowSchedule"
|
||
|
example:
|
||
|
StartDate: "StartDate"
|
||
|
cron: "cron"
|
||
|
duration: 7200
|
||
|
StopDate: "StopDate"
|
||
|
isBooked: true
|
||
|
IsService: true
|
||
|
events: "events"
|
||
|
models.Workspace:
|
||
|
type: "object"
|
||
|
properties:
|
||
|
Workflows:
|
||
|
$ref: "#/definitions/models.Workflow"
|
||
|
computing:
|
||
|
type: "array"
|
||
|
items:
|
||
|
type: "string"
|
||
|
data:
|
||
|
type: "array"
|
||
|
items:
|
||
|
type: "string"
|
||
|
datacenter:
|
||
|
type: "array"
|
||
|
items:
|
||
|
type: "string"
|
||
|
storage:
|
||
|
type: "array"
|
||
|
items:
|
||
|
type: "string"
|
||
|
user_id:
|
||
|
type: "string"
|
||
|
title: "Workspace"
|
||
|
example:
|
||
|
computing:
|
||
|
- "computing"
|
||
|
- "computing"
|
||
|
data:
|
||
|
- "data"
|
||
|
- "data"
|
||
|
Workflows:
|
||
|
computing:
|
||
|
outputs:
|
||
|
- "outputs"
|
||
|
- "outputs"
|
||
|
inputs:
|
||
|
- "inputs"
|
||
|
- "inputs"
|
||
|
datacenterID: "datacenterID"
|
||
|
referenceID: {}
|
||
|
data: {}
|
||
|
schedules:
|
||
|
StartDate: "StartDate"
|
||
|
cron: "cron"
|
||
|
duration: 7200
|
||
|
StopDate: "StopDate"
|
||
|
isBooked: true
|
||
|
IsService: true
|
||
|
events: "events"
|
||
|
datacenter: {}
|
||
|
storage:
|
||
|
outputs:
|
||
|
- "outputs"
|
||
|
- "outputs"
|
||
|
inputs:
|
||
|
- "inputs"
|
||
|
- "inputs"
|
||
|
MxgraphXML: "MxgraphXML"
|
||
|
user_id: "user_id"
|
||
|
datacenter:
|
||
|
- "datacenter"
|
||
|
- "datacenter"
|
||
|
storage:
|
||
|
- "storage"
|
||
|
- "storage"
|
||
|
models.WorkspaceModel:
|
||
|
type: "object"
|
||
|
properties:
|
||
|
computing:
|
||
|
type: "array"
|
||
|
items:
|
||
|
$ref: "#/definitions/models.ComputingModel"
|
||
|
data:
|
||
|
type: "array"
|
||
|
items:
|
||
|
$ref: "#/definitions/models.DataModel"
|
||
|
datacenter:
|
||
|
type: "array"
|
||
|
items:
|
||
|
$ref: "#/definitions/models.DatacenterModel"
|
||
|
storage:
|
||
|
type: "array"
|
||
|
items:
|
||
|
$ref: "#/definitions/models.StorageModel"
|
||
|
user_id:
|
||
|
type: "string"
|
||
|
title: "WorkspaceModel"
|
||
|
example:
|
||
|
computing:
|
||
|
- owner: "owner"
|
||
|
license: "license"
|
||
|
short_description: "short_description"
|
||
|
price: 5
|
||
|
name: "name"
|
||
|
description: "description"
|
||
|
logo: "logo"
|
||
|
execution_requirements:
|
||
|
cpus: 0
|
||
|
parallel: true
|
||
|
scaling_model: 5
|
||
|
gpus: 6
|
||
|
disk_io: "disk_io"
|
||
|
ram: 1
|
||
|
ID: "5099803df3f4948bd2f98391"
|
||
|
repository:
|
||
|
credentials: "credentials"
|
||
|
url: "url"
|
||
|
type: "type"
|
||
|
- owner: "owner"
|
||
|
license: "license"
|
||
|
short_description: "short_description"
|
||
|
price: 5
|
||
|
name: "name"
|
||
|
description: "description"
|
||
|
logo: "logo"
|
||
|
execution_requirements:
|
||
|
cpus: 0
|
||
|
parallel: true
|
||
|
scaling_model: 5
|
||
|
gpus: 6
|
||
|
disk_io: "disk_io"
|
||
|
ram: 1
|
||
|
ID: "5099803df3f4948bd2f98391"
|
||
|
repository:
|
||
|
credentials: "credentials"
|
||
|
url: "url"
|
||
|
type: "type"
|
||
|
data:
|
||
|
- short_description: "short_description"
|
||
|
protocol:
|
||
|
- "protocol"
|
||
|
- "protocol"
|
||
|
ftype: "ftype"
|
||
|
name: "name"
|
||
|
description: "description"
|
||
|
logo: "logo"
|
||
|
location: "location"
|
||
|
ID: "ID"
|
||
|
type: "file"
|
||
|
example: "example"
|
||
|
- short_description: "short_description"
|
||
|
protocol:
|
||
|
- "protocol"
|
||
|
- "protocol"
|
||
|
ftype: "ftype"
|
||
|
name: "name"
|
||
|
description: "description"
|
||
|
logo: "logo"
|
||
|
location: "location"
|
||
|
ID: "ID"
|
||
|
type: "file"
|
||
|
example: "example"
|
||
|
user_id: "user_id"
|
||
|
datacenter:
|
||
|
- owner: "owner"
|
||
|
short_description: "short_description"
|
||
|
acronym: "acronym"
|
||
|
hosts:
|
||
|
- "hosts"
|
||
|
- "hosts"
|
||
|
cpu:
|
||
|
shared: true
|
||
|
cores: 6
|
||
|
platform: "platform"
|
||
|
architecture: "architecture"
|
||
|
minimum_memory: 1
|
||
|
description: "description"
|
||
|
type: "type"
|
||
|
gpu:
|
||
|
- memory: 5
|
||
|
cuda_cores: 5
|
||
|
model: "model"
|
||
|
tensor_cores: 2
|
||
|
- memory: 5
|
||
|
cuda_cores: 5
|
||
|
model: "model"
|
||
|
tensor_cores: 2
|
||
|
bookingPrice: 0
|
||
|
name: "name"
|
||
|
logo: "logo"
|
||
|
ID: "ID"
|
||
|
ram:
|
||
|
ecc: true
|
||
|
size: 7
|
||
|
- owner: "owner"
|
||
|
short_description: "short_description"
|
||
|
acronym: "acronym"
|
||
|
hosts:
|
||
|
- "hosts"
|
||
|
- "hosts"
|
||
|
cpu:
|
||
|
shared: true
|
||
|
cores: 6
|
||
|
platform: "platform"
|
||
|
architecture: "architecture"
|
||
|
minimum_memory: 1
|
||
|
description: "description"
|
||
|
type: "type"
|
||
|
gpu:
|
||
|
- memory: 5
|
||
|
cuda_cores: 5
|
||
|
model: "model"
|
||
|
tensor_cores: 2
|
||
|
- memory: 5
|
||
|
cuda_cores: 5
|
||
|
model: "model"
|
||
|
tensor_cores: 2
|
||
|
bookingPrice: 0
|
||
|
name: "name"
|
||
|
logo: "logo"
|
||
|
ID: "ID"
|
||
|
ram:
|
||
|
ecc: true
|
||
|
size: 7
|
||
|
storage:
|
||
|
- short_description: "short_description"
|
||
|
encryption: true
|
||
|
size: 6
|
||
|
bookingPrice: 0
|
||
|
DCacronym: "DCacronym"
|
||
|
name: "name"
|
||
|
description: "description"
|
||
|
logo: "logo"
|
||
|
ID: "ID"
|
||
|
redundancy: "redundancy"
|
||
|
throughput: "throughput"
|
||
|
type: "type"
|
||
|
- short_description: "short_description"
|
||
|
encryption: true
|
||
|
size: 6
|
||
|
bookingPrice: 0
|
||
|
DCacronym: "DCacronym"
|
||
|
name: "name"
|
||
|
description: "description"
|
||
|
logo: "logo"
|
||
|
ID: "ID"
|
||
|
redundancy: "redundancy"
|
||
|
throughput: "throughput"
|
||
|
type: "type"
|
||
|
primitive.ObjectID:
|
||
|
type: "object"
|
||
|
title: "ObjectID"
|
||
|
time.Time:
|
||
|
type: "object"
|
||
|
title: "Time"
|