Skip to end of metadata
Go to start of metadata
swagger: '2.0'
info:
  title: GS-O Driver Southbound API
  description: Southbound Interface (SBI) drivers are responsible for translation to specific technologies such as SDN and NFV.
  version: "1.0"
# array of all schemes that your API supports
schemes:
  - http
# will be prefixed to all paths
basePath: /openoapi/gso/v1
consumes:
  - application/json
produces:
  - application/json
paths:
  /gsodrivers/ns/create:
    post:
      summary: Create GSO Service Segment
      description: it will create a GS-O segment instance specified in the request
      operationId: createGsoNs
      consumes:
        - application/json;charset=UTF-8
      produces:
        - application/json;charset=UTF-8
      parameters:
        - name: nsCreatRequest
          in: body
          description: parameters needed to create gso service segment.
          required: true
          schema:
            $ref: '#/definitions/NsReq'
      responses:
        200:
          description: create gso service segment success
          schema:
            $ref: '#/definitions/GsoNsCreateRsp'
        400:
          description: Input parameter is wrong.
        500:
          description: Fail to create gso service segment, which is internal error.
  /gsodrivers/ns/delete:
    post:
      summary: Delete GSO Service Segment
      description: it will delete a GS-O segment instance specified in the request
      operationId: deleteGsoNs
      consumes:
        - application/json;charset=UTF-8
      produces:
        - application/json;charset=UTF-8
      parameters:
        - name: nsDeleteRequest
          in: body
          description: parameters needed to delete gso service segment.
          required: true
          schema:
            $ref: '#/definitions/NsReq'
      responses:
        200:
          description: delete gso service segment success
          schema:
            $ref: '#/definitions/GsoNsDeleteRsp'
        400:
          description: Input parameter is wrong.
        500:
          description: Fail to delete gso service segment, which is internal error.        
  /gsodrivers/jobs/{jobId}:
    get:
      summary: Get GSO Service Segment Operation Status
      description: it will get a GS-O segment instance operation status specified in the request
      operationId: queryGsoNsProgress
      consumes:
        - application/json;charset=UTF-8
      produces:
        - application/json;charset=UTF-8
      parameters:
        - name: jobId
          in: path
          description: job id of the gso service segment to be queried
          required: true
          type: string
      responses:
        200:
          description: query gso service segment operation status success
          schema:
            $ref: '#/definitions/NsQueryRsp'
        400:
          description: Input parameter is wrong.
        500:
          description: Fail to get gso service segment, which is internal error.
  /nfvodrivers/ns:
    post:
      summary: Create NFVO Service Segment
      description: it will create a NFV-O segment instance specified in the request
      operationId: createNfvoNs
      parameters:
        - name: nsCreateRequest
          in: body
          description: parameters needed to create nfvo service segment.
          required: true
          schema:
            $ref: '#/definitions/NsReq'
      responses:
        200:
          description: create nfvo service segment success
          schema:
            $ref: '#/definitions/NsCreateRsp'
        400:
          description: Input parameter is wrong.
        500:
          description: Fail to create nfvo service segment, which is internal error.
  /nfvodrivers/{nsInstanceId}/instantiate:
    post:
      summary: Instantiate NFVO Service Segment
      description: it will instantiate a NFV-O segment instance specified in the request
      operationId: instantiateNfvoNs
      parameters:
        - name: nsInstantiateRequest
          in: body
          description: parameters needed to instantiate nfvo service segment.
          required: true
          schema:
            $ref: '#/definitions/NsReq'
        - name : nsInstanceId
          in: path
          description: id of segment instance
          required: true
          type: string
      responses:
        200:
          description: instantiate nfvo service segment success
          schema:
            $ref: '#/definitions/NsInstantiateRsp'
        400:
          description: Input parameter is wrong.
        500:
          description: Fail to instantiate nfvo service segment, which is internal error.
  /nfvodrivers/ns/terminate:
    post:
      summary: Terminate NFVO Service Segment
      description: it will terminate a NFV-O segment instance specified in the request
      operationId: terminateNfvoNs
      parameters:
        - name: nsTerminateRequest
          in: body
          description: parameters needed to terminate nfvo service segment.
          required: true
          schema:
            $ref: '#/definitions/NsReq'
      responses:
        200:
          description: terminate nfvo service segment success
          schema:
            $ref: '#/definitions/NsTerminateRsp'
        400:
          description: Input parameter is wrong.
        500:
          description: Fail to terminate nfvo service segment, which is internal error.
  /nfvodrivers/ns/delete:
    post:
      summary: Delete NFVO Service Segment
      description: it will delete a NFV-O segment instance specified in the request
      operationId: deleteNfvoNs
      parameters:
        - name: nsDeleteRequest
          in: body
          description: parameters needed to delete nfvo service segment.
          required: true
          schema:
            $ref: '#/definitions/NsReq'
      responses:
        200:
          description: delete nfvo service segment success
        400:
          description: Input parameter is wrong.
        500:
          description: Fail to delete nfvo service segment, which is internal error.
  /nfvodrivers/jobs/{jobId}:
    get:
      summary: Get NFVO Service Segment Operation Status
      description: it will get a NFV-O segment instance operation status specified in the request
      operationId: queryNfvoNsProgress
      consumes:
        - application/json;charset=UTF-8
      produces:
        - application/json;charset=UTF-8
      parameters:
        - name: jobId
          in: path
          description: job id of the nfvo service segment to be queried
          required: true
          type: string
      responses:
        200:
          description: query nfvo service segment operation status success
          schema:
            $ref: '#/definitions/NsQueryRsp'
        400:
          description: Input parameter is wrong.
        500:
          description: Fail to get nfvo service segment, which is internal error.
  /sdnodrivers/ns:
    post:
      summary: Create SDNO Service Segment
      description: it will create a SDN-O segment instance specified in the request
      parameters:
        - name: body
          in: body
          description: parameters needed to create sdno service segment.
          required: true
          schema:
            $ref: '#/definitions/NsReq'
      responses:
        200:
          description: create sdno service segment success
          schema:
            $ref: '#/definitions/NsCreateRsp'
        400:
          description: Input parameter is wrong.
        500:
          description: Fail to create sdno service segment, which is internal error.
  /sdnodrivers/{nsInstanceId}/instantiate:
    post:
      summary: Instantiate SDNO Service Segment
      description: it will instantiate a SDN-O segment instance specified in the request
      parameters:
        - name: nsInstantiateRequest
          in: body
          description: parameters needed to instantiate sdno service segment.
          required: true
          schema:
            $ref: '#/definitions/NsReq'
        - name : nsInstanceId
          in: path
          description: id of segment instance
          required: true
          type: string
      responses:
        200:
          description: instantiate sdno service segment success
          schema:
            $ref: '#/definitions/NsInstantiateRsp'
        400:
          description: Input parameter is wrong.
        500:
          description: Fail to instantiate sdno service segment, which is internal error.
  /sdnodrivers/ns/terminate:
    post:
      summary: Terminate SDNO Service Segment
      description: it will terminate a SDN-O segment instance specified in the request
      parameters:
        - name: nsTerminateRequest
          in: body
          description: parameters needed to terminate sdno service segment.
          required: true
          schema:
            $ref: '#/definitions/NsReq'
      responses:
        200:
          description: terminate sdno service segment success
          schema:
            $ref: '#/definitions/NsTerminateRsp'
        400:
          description: Input parameter is wrong.
        500:
          description: Fail to terminate sdno service segment, which is internal error.
  /sdnodrivers/ns/delete:
    post:
      summary: Delete SDNO Service Segment
      description: it will delete a SDN-O segment instance specified in the request
      parameters:
        - name: nsDeleteRequest
          in: body
          description: parameters needed to delete sdno service segment.
          required: true
          schema:
            $ref: '#/definitions/NsReq'
      responses:
        200:
          description: delete sdno service segment success
        400:
          description: Input parameter is wrong.
        500:
          description: Fail to delete sdno service segment, which is internal error.
  /sdnodrivers/jobs/{jobId}:
    get:
      summary: Get SDNO Service Segment Operation Status
      description: it will get a SDN-O segment instance operation status specified in the request
      operationId: querySdnoNsProgress
      consumes:
        - application/json;charset=UTF-8
      produces:
        - application/json;charset=UTF-8
      parameters:
        - name: jobId
          in: path
          description: job id of the sdno service segment to be queried
          required: true
          type: string
      responses:
        200:
          description: query sdno service segment operation status success
          schema:
            $ref: '#/definitions/NsQueryRsp'
        400:
          description: Input parameter is wrong.
        500:
          description: Fail to delete sdno service segment, which is internal error.
definitions:
  NsReq:
    type: object
    description: service segment request structure
    required:
      - nodeTemplateName
      - segments
    properties:
      nodeTemplateName:
        type: string
        description: name of the node template
      segments:
        type: string
        description: parameters needed to create service segment
  NsCreateRsp:
    type: object
    description: service segment response structure for create
    required:
      - nsInstanceId
    properties:
      nsInstanceId:
        type: string
        description: service segment instance id
  GsoNsCreateRsp:
    type: object
    description: service segment response structure for create gso ns
    properties:
      service:
        type: object
        required:
        - serviceId
        - operationId
        properties:
          serviceId:
            type: string
            description: service segment instance id
          operationId:
            type: string
            description: service segment instance operation id
  GsoNsDeleteRsp:
    type: object
    description: service segment response structure for delete gso ns
    required:
      - operationId
    properties:
      operationId:
        type: string
        description: service segment instance operation id
  NsInstantiateRsp:
    type: object
    description: service segment response structure for instantiate
    required:
      - jobId
    properties:
      jobId:
        type: string
        description: service segment job id for instantiate
  NsTerminateRsp:
    type: object
    description: service segment response structure for instantiate
    required:
      - jobId
    properties:
      jobId:
        type: string
        description: service segment job id for instantiate  
  NsQueryRsp:
    type: object
    description: service segment job status structure
    required:
      - jobId
      - responseDescriptor
    properties:
      jobId:
        type: string
        description: job id
      responseDescriptor:
        $ref: '#/definitions/ResponseDescriptor'
  ResponseDescriptor:
    type: object
    description: service segment job status response desc
    required:
      - status
    properties:
      status:
        type: string
        description: status of the job
      statusDescription:
        type: string
        description: description of the job status
      progress:
        type: string
        description: progress of the job
      errorCode:
        type: string
        description: status of the job
      responseId:
        type: string
        description: id of the response