swagger: "2.0"
info:
  title: oc-scheduler
  description: |
    Manage workflows booking
  version: 1.0.0
  termsOfService: http://cloud.o-forge.io/
  contact:
    email: admin@o-cloud.io
  license:
    name: AGPL
    url: https://www.gnu.org/licenses/agpl-3.0.html
basePath: /oc/
paths:
  /{id}:
    post:
      tags:
      - oc-scheduler/controllersWorkflowSchedulerController
      description: |-
        schedule workflow
        <br>
      operationId: WorkflowSchedulerController.Schedule
      parameters:
      - in: path
        name: id
        description: id execution
        required: true
        type: string
      - in: body
        name: body
        description: The compute content
        required: true
        schema:
          $ref: '#/definitions/models.compute'
      responses:
        "200":
          description: '{workspace} models.workspace'
    delete:
      tags:
      - oc-scheduler/controllersWorkflowSchedulerController
      description: |-
        schedule workflow
        <br>
      operationId: WorkflowSchedulerController.UnSchedule
      parameters:
      - in: path
        name: id
        description: id execution
        required: true
        type: string
      - in: body
        name: body
        description: The compute content
        required: true
        schema:
          $ref: '#/definitions/models.compute'
      responses:
        "200":
          description: '{workspace} models.workspace'
  /{id}/order:
    get:
      tags:
      - oc-scheduler/controllersWorkflowSchedulerController
      description: |-
        schedule workflow
        <br>
      operationId: WorkflowSchedulerController.SearchScheduledDraftOrder
      parameters:
      - in: path
        name: id
        description: id execution
        required: true
        type: string
      responses:
        "200":
          description: '{workspace} models.workspace'
  /execution/:
    get:
      tags:
      - execution
      description: |-
        find workflow by workflowid
        <br>
      operationId: WorkflowExecutionController.GetAll
      parameters:
      - in: query
        name: is_draft
        description: draft wished
        type: string
      responses:
        "200":
          description: '{workflow} models.workflow'
  /execution/{id}:
    get:
      tags:
      - execution
      description: |-
        find workflow by workflowid
        <br>
      operationId: WorkflowExecutionController.Get
      parameters:
      - in: path
        name: id
        description: the workflowid you want to get
        required: true
        type: string
      responses:
        "200":
          description: '{workflow} models.workflow'
  /execution/search/{search}:
    get:
      tags:
      - execution
      description: |-
        find compute by key word
        <br>
      operationId: WorkflowExecutionController.Search
      parameters:
      - in: path
        name: search
        description: the search you want to get
        required: true
        type: string
      - in: query
        name: is_draft
        description: draft wished
        type: string
      responses:
        "200":
          description: '{compute} models.compute'
  /execution/search/{start_date}/{end_date}:
    get:
      tags:
      - execution
      description: |-
        search workspace
        <br>
      operationId: WorkflowExecutionController.SearchPerDate
      parameters:
      - in: path
        name: start_date
        description: the word search you want to get
        required: true
        type: string
      - in: path
        name: end_date
        description: the word search you want to get
        required: true
        type: string
      - in: query
        name: is_draft
        description: draft wished
        type: string
      responses:
        "200":
          description: '{workspace} models.workspace'
  /loki/:
    post:
      tags:
      - loki
      description: |-
        get logs
        <br>
      operationId: LokiController.GetLogs
      parameters:
      - in: body
        name: body
        description: The compute content
        required: true
        schema:
          $ref: '#/definitions/models.compute'
      responses:
        "200":
          description: '{workspace} models.workspace'
  /version/:
    get:
      tags:
      - version
      description: |-
        get version
        <br>
      operationId: VersionController.GetAll
      responses:
        "200":
          description: ""
  /version/status:
    get:
      tags:
      - version
      description: |-
        get status
        <br>
      operationId: VersionController.Status
      responses:
        "200":
          description: ""
definitions:
  models.compute:
    title: compute
    type: object
tags:
- name: oc-scheduler/controllersWorkflowSchedulerController
  description: |
    Operations about workflow
- name: loki
  description: |
    Operations about workflow
- name: execution
  description: |
    Operations about workflow
- name: version
  description: |
    VersionController operations for Version
