swagger: "2.0"
info:
  title: oc-datacenter
  description: |
    Monitor owned datacenter activity
  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:
  /:
    get:
      tags:
      - oc-datacenter/controllersDatacenterController
      description: |-
        find booking by id
        <br>
      operationId: DatacenterController.GetAll
      parameters:
      - in: query
        name: is_draft
        description: draft wished
        type: string
      responses:
        "200":
          description: '{booking} models.booking'
  /{id}:
    get:
      tags:
      - oc-datacenter/controllersDatacenterController
      description: |-
        find booking by id
        <br>
      operationId: DatacenterController.Get
      parameters:
      - in: path
        name: id
        description: the id you want to get
        required: true
        type: string
      - in: query
        name: is_draft
        description: draft wished
        type: string
      responses:
        "200":
          description: '{booking} models.booking'
  /booking/:
    get:
      tags:
      - booking
      description: |-
        find booking by id
        <br>
      operationId: BookingController.GetAll
      parameters:
      - in: query
        name: is_draft
        description: draft wished
        type: string
      responses:
        "200":
          description: '{booking} models.booking'
    post:
      tags:
      - booking
      description: |-
        create booking
        <br>
      operationId: BookingController.Post.
      parameters:
      - in: body
        name: booking
        description: the booking you want to post
        required: true
        schema:
          type: string
        type: string
      - in: query
        name: is_draft
        description: draft wished
        type: string
      responses:
        "200":
          description: ""
          schema:
            $ref: '#/definitions/models.object'
  /booking/{id}:
    get:
      tags:
      - booking
      description: |-
        find booking by id
        <br>
      operationId: BookingController.Get
      parameters:
      - in: path
        name: id
        description: the id you want to get
        required: true
        type: string
      responses:
        "200":
          description: '{booking} models.booking'
    put:
      tags:
      - booking
      description: |-
        create computes
        <br>
      operationId: BookingController.Update
      parameters:
      - in: path
        name: id
        description: the compute id you want to get
        required: true
        type: string
      - in: body
        name: body
        description: The compute content
        required: true
        schema:
          $ref: '#/definitions/models.compute'
      responses:
        "200":
          description: '{compute} models.compute'
  /booking/check/{id}/{start_date}/{end_date}:
    get:
      tags:
      - booking
      description: |-
        check booking
        <br>
      operationId: BookingController.Check
      parameters:
      - in: path
        name: id
        description: id of the datacenter
        type: string
      - in: path
        name: start_date
        description: 2006-01-02T15:04:05
        type: string
        default: the booking start date
      - in: path
        name: end_date
        description: 2006-01-02T15:04:05
        type: string
        default: the booking end date
      - in: query
        name: is_draft
        description: draft wished
        type: string
      responses:
        "200":
          description: ""
          schema:
            $ref: '#/definitions/models.object'
  /booking/search/{start_date}/{end_date}:
    get:
      tags:
      - booking
      description: |-
        search bookings
        <br>
      operationId: BookingController.Search
      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'
  /booking/search/execution/{id}:
    get:
      tags:
      - booking
      description: |-
        search bookings by execution
        <br>
      operationId: BookingController.Search
      parameters:
      - in: path
        name: id
        description: id execution
        required: true
        type: string
      - in: query
        name: is_draft
        description: draft wished
        type: string
      responses:
        "200":
          description: '{workspace} models.workspace'
  /session/token/{id}/{duration}:
    get:
      tags:
      - session
      description: |-
        find booking by id
        <br>
      operationId: SessionController.GetToken
      parameters:
      - in: path
        name: id
        description: id of the datacenter
        type: string
      - in: path
        name: duration
        description: duration of the token
        type: string
      responses:
        "200":
          description: '{booking} models.booking'
  /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
  models.object:
    title: object
    type: object
tags:
- name: oc-datacenter/controllersDatacenterController
  description: |
    Operations about workspace
- name: booking
  description: |
    Operations about workspace
- name: version
  description: |
    VersionController operations for Version