XSKY os-search-engines API

OSSearchEngineController provides APIs for OS search engine

OpenAPI Specification

xsky-os-search-engines-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  description: XMS is the controller of distributed storage system
  version: SDS_4.2.000.0.200302
  title: XMS access-paths os-search-engines API
  contact: {}
  license:
    name: Commercial
basePath: /v1
tags:
- name: os-search-engines
  description: 'OSSearchEngineController provides APIs for OS search engine

    '
paths:
  /os-search-engines/:
    get:
      tags:
      - os-search-engines
      description: List OS search engine
      operationId: ListOSSearchEngines
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: limit
        in: query
        description: paging param
        required: false
        type: integer
        format: int64
        x-exportParamName: Limit
      - name: offset
        in: query
        description: paging param
        required: false
        type: integer
        format: int64
        x-exportParamName: Offset
      responses:
        200:
          description: OK
          schema:
            $ref: '#/definitions/OSSearchEnginesResp'
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
    post:
      tags:
      - os-search-engines
      description: Create OS search engine
      operationId: CreateOSSearchEngine
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - in: body
        name: body
        description: OS search engine info
        required: true
        schema:
          $ref: '#/definitions/OSSearchEngineCreateReq'
        x-exportParamName: Body
      responses:
        202:
          description: Accepted
          schema:
            $ref: '#/definitions/OSSearchEngineResp'
        400:
          description: BadRequest
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
  /os-search-engines/{os_search_engine_id}:
    get:
      tags:
      - os-search-engines
      description: Get a OS search engine
      operationId: GetOSSearchEngine
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: os_search_engine_id
        in: path
        description: OS search engine id
        required: true
        type: integer
        format: int64
        x-exportParamName: OsSearchEngineId
      responses:
        200:
          description: OK
          schema:
            $ref: '#/definitions/OSSearchEngineResp'
        404:
          description: NotFound
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
    delete:
      tags:
      - os-search-engines
      description: delete OS search engine
      operationId: DeleteOSSearchEngine
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: os_search_engine_id
        in: path
        description: OS search engine id
        required: true
        type: integer
        format: int64
        x-exportParamName: OsSearchEngineId
      responses:
        202:
          description: Accepted
          schema:
            $ref: '#/definitions/OSSearchEngineResp'
        404:
          description: NotFound
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
    patch:
      tags:
      - os-search-engines
      description: change OS search engine falvor or data size
      operationId: ChangeOSSearchEngine
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: os_search_engine_id
        in: path
        description: OS search engine id
        required: true
        type: integer
        format: int64
        x-exportParamName: OsSearchEngineId
      - in: body
        name: body
        description: os search gateways info
        required: true
        schema:
          $ref: '#/definitions/OSSearchEngineUpdateReq'
        x-exportParamName: Body
      responses:
        202:
          description: Accepted
          schema:
            $ref: '#/definitions/OSSearchEngineResp'
        400:
          description: BadRequest
        404:
          description: NotFound
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
  /os-search-engines/{os_search_engine_id}/samples:
    get:
      tags:
      - os-search-engines
      description: get an object storage search engine's samples
      operationId: GetOSSearchEngineSamples
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: os_search_engine_id
        in: path
        description: OS search engine id
        required: true
        type: integer
        format: int64
        x-exportParamName: OsSearchEngineId
      - name: duration_begin
        in: query
        description: duration begin timestamp
        required: false
        type: string
        x-exportParamName: DurationBegin
      - name: duration_end
        in: query
        description: duration end timestamp
        required: false
        type: string
        x-exportParamName: DurationEnd
      - name: period
        in: query
        description: samples period
        required: false
        type: string
        x-exportParamName: Period
      responses:
        200:
          description: OK
          schema:
            $ref: '#/definitions/OSSearchEngineSamplesResp'
        404:
          description: NotFound
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
  /os-search-engines/{os_search_engine_id}:add-os-search-gateways:
    post:
      tags:
      - os-search-engines
      description: Create new OS Search gateways on OS search engine
      operationId: AddOSSearchGateways
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: os_search_engine_id
        in: path
        description: OS search engine id
        required: true
        type: integer
        format: int64
        x-exportParamName: OsSearchEngineId
      - in: body
        name: body
        description: os search gateways info
        required: true
        schema:
          $ref: '#/definitions/OSSearchEngineAddGatewaysReq'
        x-exportParamName: Body
      responses:
        202:
          description: Accepted
          schema:
            $ref: '#/definitions/OSSearchEngineResp'
        400:
          description: BadRequest
        404:
          description: NotFound
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
  /os-search-engines/{os_search_engine_id}:remove-os-search-gateways:
    post:
      tags:
      - os-search-engines
      description: remove OS search gateways from OS search engine
      operationId: RemoveOSSearchGateways
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: os_search_engine_id
        in: path
        description: OS search engine id
        required: true
        type: integer
        format: int64
        x-exportParamName: OsSearchEngineId
      - in: body
        name: body
        description: os search gateways info
        required: true
        schema:
          $ref: '#/definitions/OSSearchEngineRemoveGatewaysReq'
        x-exportParamName: Body
      responses:
        202:
          description: Accepted
          schema:
            $ref: '#/definitions/OSSearchEngineResp'
        400:
          description: BadRequest
        404:
          description: NotFound
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
  /os-search-engines/{os_search_engine_id}:start:
    post:
      tags:
      - os-search-engines
      description: start OS search gateways from OS search engine
      operationId: StartOSSearchEngine
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: os_search_engine_id
        in: path
        description: OS search engine id
        required: true
        type: integer
        format: int64
        x-exportParamName: OsSearchEngineId
      responses:
        202:
          description: Accepted
          schema:
            $ref: '#/definitions/OSSearchEngineResp'
        400:
          description: BadRequest
        404:
          description: NotFound
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
  /os-search-engines/{os_search_engine_id}:stop:
    post:
      tags:
      - os-search-engines
      description: stop OS search gateways from OS search engine
      operationId: StopOSSearchEngine
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: os_search_engine_id
        in: path
        description: OS search engine id
        required: true
        type: integer
        format: int64
        x-exportParamName: OsSearchEngineId
      responses:
        202:
          description: Accepted
          schema:
            $ref: '#/definitions/OSSearchEngineResp'
        400:
          description: BadRequest
        404:
          description: NotFound
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
definitions:
  OSSearchEngineRemoveGatewaysReq_SearchEngine:
    type: object
    required:
    - os_search_gateway_ids
    properties:
      os_search_gateway_ids:
        type: array
        items:
          type: integer
          format: int64
    title: OSSearchEngineRemoveGatewaysReq_SearchEngine
  OSSearchEngineAddGatewaysReq:
    type: object
    required:
    - os_search_engine
    properties:
      os_search_engine:
        $ref: '#/definitions/OSSearchEngineAddGatewaysReq_SearchEngine'
    title: OSSearchEngineAddGatewaysReq
  S3LoadBalancerGroup_Nestview:
    type: object
    properties:
      id:
        type: integer
        format: int64
      name:
        type: string
      status:
        type: string
    title: S3LoadBalancerGroup_Nestview
    example:
      name: name
      id: 6
      status: status
  OSSearchEngineResp:
    type: object
    required:
    - os_search_engine
    properties:
      os_search_engine:
        description: object storage search engine
        $ref: '#/definitions/OSSearchEngineRecord'
    title: OSSearchEngineResp
    example:
      os_search_engine: ''
  OSSearchEngine:
    type: object
    properties:
      action_status:
        type: string
      allocated_size:
        type: integer
        format: int64
      create:
        type: string
        format: date-time
      gateway_data_size:
        type: integer
        format: int64
      gateway_flavor:
        $ref: '#/definitions/VMFlavor_Nestview'
      gateway_http_port:
        type: integer
        format: int64
      gateway_transport_port:
        type: integer
        format: int64
      id:
        type: integer
        format: int64
      search_s3_load_balancer_group:
        $ref: '#/definitions/S3LoadBalancerGroup_Nestview'
      size:
        type: integer
        format: int64
      status:
        type: string
      sync_s3_load_balancer_group:
        $ref: '#/definitions/S3LoadBalancerGroup_Nestview'
      update:
        type: string
        format: date-time
    title: OSSearchEngine
    description: 'OSSearchEngine defines model of OS search engine TODO(penghui): Load balancer

      group'
  OSSearchEngineStat:
    type: object
    properties:
      average_meta_query_latency:
        type: number
        format: double
      create:
        type: string
        format: date-time
      meta_query_pm:
        type: number
        format: double
      sync_bandwidth_kbyte:
        type: number
        format: double
      sync_objects_pm:
        type: number
        format: double
      total_meta_num:
        type: integer
        format: int64
      total_meta_size_bytes:
        type: integer
        format: int64
    title: OSSearchEngineStat
    description: OSSearchEngineStat contains info of os search engine
    example:
      average_meta_query_latency: 0.8008281904610115
      total_meta_num: 5
      total_meta_size_bytes: 2
      create: '2000-01-23T04:56:07.000+00:00'
      sync_objects_pm: 5.962133916683182
      meta_query_pm: 6.027456183070403
      sync_bandwidth_kbyte: 1.4658129805029452
  OSSearchEngineUpdateReq_SearchEngine:
    type: object
    properties:
      gateway_data_size:
        type: integer
        format: int64
      gateway_flavor_id:
        type: integer
        format: int64
    title: OSSearchEngineUpdateReq_SearchEngine
  OSSearchEngineCreateReq_SearchEngine:
    type: object
    required:
    - gateway_data_size
    - gateway_flavor_id
    - os_search_gateways
    properties:
      gateway_data_size:
        type: integer
        format: int64
      gateway_flavor_id:
        type: integer
        format: int64
      gateway_http_port:
        type: integer
        format: int64
      gateway_transport_port:
        type: integer
        format: int64
      os_search_gateways:
        type: array
        items:
          $ref: '#/definitions/OSSearchGatewayReq'
    title: OSSearchEngineCreateReq_SearchEngine
  OSSearchEngineSamplesResp:
    type: object
    required:
    - os_search_engine_samples
    properties:
      os_search_engine_samples:
        type: array
        description: os search engine samples
        items:
          $ref: '#/definitions/OSSearchEngineStat'
    title: OSSearchEngineSamplesResp
    example:
      os_search_engine_samples:
      - average_meta_query_latency: 0.8008281904610115
        total_meta_num: 5
        total_meta_size_bytes: 2
        create: '2000-01-23T04:56:07.000+00:00'
        sync_objects_pm: 5.962133916683182
        meta_query_pm: 6.027456183070403
        sync_bandwidth_kbyte: 1.4658129805029452
      - average_meta_query_latency: 0.8008281904610115
        total_meta_num: 5
        total_meta_size_bytes: 2
        create: '2000-01-23T04:56:07.000+00:00'
        sync_objects_pm: 5.962133916683182
        meta_query_pm: 6.027456183070403
        sync_bandwidth_kbyte: 1.4658129805029452
  OSSearchEngineRemoveGatewaysReq:
    type: object
    required:
    - os_search_engine
    properties:
      os_search_engine:
        $ref: '#/definitions/OSSearchEngineRemoveGatewaysReq_SearchEngine'
    title: OSSearchEngineRemoveGatewaysReq
  OSSearchEngineCreateReq:
    type: object
    required:
    - os_search_engine
    properties:
      os_search_engine:
        $ref: '#/definitions/OSSearchEngineCreateReq_SearchEngine'
    title: OSSearchEngineCreateReq
  OSSearchEngineAddGatewaysReq_SearchEngine:
    type: object
    required:
    - os_search_gateways
    properties:
      os_search_gateways:
        type: array
        items:
          $ref: '#/definitions/OSSearchGatewayReq'
    title: OSSearchEngineAddGatewaysReq_SearchEngine
  OSSearchGatewayReq:
    type: object
    required:
    - host_id
    - pool_id
    properties:
      host_id:
        type: integer
        format: int64
        description: host id
      pool_id:
        type: integer
        format: int64
    title: OSSearchGatewayReq
  OSSearchEngineUpdateReq:
    type: object
    required:
    - os_search_engine
    properties:
      os_search_engine:
        $ref: '#/definitions/OSSearchEngineUpdateReq_SearchEngine'
    title: OSSearchEngineUpdateReq
  OSSearchEnginesResp:
    type: object
    required:
    - os_search_engines
    properties:
      os_search_engines:
        type: array
        description: object storage search engine
        items:
          $ref: '#/definitions/OSSearchEngineRecord'
    title: OSSearchEnginesResp
    example:
      os_search_engines:
      - ''
      - ''
  VMFlavor_Nestview:
    type: object
    properties:
      id:
        type: integer
        format: int64
      name:
        type: string
    title: VMFlavor_Nestview
  OSSearchEngineRecord:
    title: OSSearchEngineRecord
    allOf:
    - $ref: '#/definitions/OSSearchEngine'
    - properties:
        samples:
          type: array
          items:
            $ref: '#/definitions/OSSearchEngineStat'
    description: OSSearchEngineRecord is used to combine OSSearchEngine and OSSearchEngineStat
securityDefinitions:
  tokenInHeader:
    description: auth by token
    type: apiKey
    name: Xms-Auth-Token
    in: header
  tokenInQuery:
    description: auth by token
    type: apiKey
    name: token
    in: query