XSKY client-groups API

ClientGroupController Operations about client group

OpenAPI Specification

xsky-client-groups-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 client-groups API
  contact: {}
  license:
    name: Commercial
basePath: /v1
tags:
- name: client-groups
  description: 'ClientGroupController Operations about client group

    '
paths:
  /client-groups/:
    get:
      tags:
      - client-groups
      description: List client groups
      operationId: ListClientGroups
      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
      - name: block_volume_id
        in: query
        description: related block volume id
        required: false
        type: integer
        format: int64
        x-exportParamName: BlockVolumeId
      - name: q
        in: query
        description: query param of search
        required: false
        type: string
        x-exportParamName: Q
      - name: sort
        in: query
        description: sort param of search
        required: false
        type: string
        x-exportParamName: Sort
      responses:
        200:
          description: OK
          schema:
            $ref: '#/definitions/ClientGroupsResp'
        400:
          description: BadRequest
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
    post:
      tags:
      - client-groups
      description: Create a client group
      operationId: CreateClientGroup
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - in: body
        name: client
        description: client group info
        required: true
        schema:
          $ref: '#/definitions/ClientGroupCreateReq'
        x-exportParamName: Client
      responses:
        201:
          description: Created
          schema:
            $ref: '#/definitions/ClientGroupResp'
        400:
          description: BadRequest
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
  /client-groups/{client_group_id}:
    get:
      tags:
      - client-groups
      description: get a client group
      operationId: GetClientGroup
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: client_group_id
        in: path
        description: client group id
        required: true
        type: integer
        format: int64
        x-exportParamName: ClientGroupId
      responses:
        200:
          description: OK
          schema:
            $ref: '#/definitions/ClientGroupResp'
        400:
          description: BadRequest
        404:
          description: NotFound
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
    delete:
      tags:
      - client-groups
      description: Delete a client
      operationId: DeleteClientGroup
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: client_group_id
        in: path
        description: client group id
        required: true
        type: integer
        format: int64
        x-exportParamName: ClientGroupId
      responses:
        204:
          description: No Content
        400:
          description: BadRequest
        404:
          description: NotFound
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
    patch:
      tags:
      - client-groups
      description: update client group
      operationId: UpdateClientGroup
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: client_group_id
        in: path
        description: client group id
        required: true
        type: integer
        format: int64
        x-exportParamName: ClientGroupId
      - in: body
        name: client
        description: client group info
        required: true
        schema:
          $ref: '#/definitions/ClientGroupUpdateReq'
        x-exportParamName: Client
      responses:
        201:
          description: Created
          schema:
            $ref: '#/definitions/ClientGroupResp'
        400:
          description: BadRequest
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
definitions:
  ClientGroupCreateReq_ClientGroup_Clients_Elt:
    type: object
    properties:
      code:
        type: string
    title: ClientGroupCreateReq_ClientGroup_Clients_Elt
    example:
      code: code
  Client:
    type: object
    properties:
      client_group:
        $ref: '#/definitions/ClientGroup_Nestview'
      code:
        type: string
      create:
        type: string
        format: date-time
      id:
        type: integer
        format: int64
      status:
        type: string
      update:
        type: string
        format: date-time
    title: Client
    example:
      code: code
      client_group:
        name: name
        id: 5
      create: '2000-01-23T04:56:07.000+00:00'
      update: '2000-01-23T04:56:07.000+00:00'
      id: 5
      status: status
  ClientGroupUpdateReq:
    type: object
    properties:
      client_group:
        $ref: '#/definitions/ClientGroupUpdateReq_ClientGroup'
    title: ClientGroupUpdateReq
    example:
      client_group:
        clients:
        - code: code
        - code: code
        name: name
        description: description
  ClientGroupCreateReq_ClientGroup:
    type: object
    properties:
      chap:
        type: boolean
      clients:
        type: array
        items:
          $ref: '#/definitions/ClientGroupCreateReq_ClientGroup_Clients_Elt'
      description:
        type: string
      iname:
        type: string
      isecret:
        type: string
      name:
        type: string
      type:
        type: string
    title: ClientGroupCreateReq_ClientGroup
    example:
      isecret: isecret
      clients:
      - code: code
      - code: code
      name: name
      description: description
      chap: true
      type: type
      iname: iname
  ClientGroup:
    type: object
    properties:
      access_path_num:
        type: integer
        format: int64
      block_volume_num:
        type: integer
        format: int64
      chap:
        type: boolean
      client_num:
        type: integer
        format: int64
      clients:
        type: array
        items:
          $ref: '#/definitions/Client'
      create:
        type: string
        format: date-time
      description:
        type: string
      id:
        type: integer
        format: int64
      iname:
        type: string
      isecret:
        type: string
      name:
        type: string
      status:
        type: string
      type:
        type: string
      update:
        type: string
        format: date-time
    title: ClientGroup
    description: ClientGroup defines the access client group
    example:
      clients:
      - code: code
        client_group:
          name: name
          id: 5
        create: '2000-01-23T04:56:07.000+00:00'
        update: '2000-01-23T04:56:07.000+00:00'
        id: 5
        status: status
      - code: code
        client_group:
          name: name
          id: 5
        create: '2000-01-23T04:56:07.000+00:00'
        update: '2000-01-23T04:56:07.000+00:00'
        id: 5
        status: status
      block_volume_num: 6
      access_path_num: 0
      client_num: 1
      description: description
      update: '2000-01-23T04:56:07.000+00:00'
      type: type
      iname: iname
      isecret: isecret
      name: name
      create: '2000-01-23T04:56:07.000+00:00'
      chap: true
      id: 2
      status: status
  ClientGroupResp:
    type: object
    required:
    - client_group
    properties:
      client_group:
        description: client group
        $ref: '#/definitions/ClientGroup'
    title: ClientGroupResp
    example:
      client_group:
        clients:
        - code: code
          client_group:
            name: name
            id: 5
          create: '2000-01-23T04:56:07.000+00:00'
          update: '2000-01-23T04:56:07.000+00:00'
          id: 5
          status: status
        - code: code
          client_group:
            name: name
            id: 5
          create: '2000-01-23T04:56:07.000+00:00'
          update: '2000-01-23T04:56:07.000+00:00'
          id: 5
          status: status
        block_volume_num: 6
        access_path_num: 0
        client_num: 1
        description: description
        update: '2000-01-23T04:56:07.000+00:00'
        type: type
        iname: iname
        isecret: isecret
        name: name
        create: '2000-01-23T04:56:07.000+00:00'
        chap: true
        id: 2
        status: status
  ClientGroupsResp:
    type: object
    required:
    - client_groups
    properties:
      client_groups:
        type: array
        description: client groups
        items:
          $ref: '#/definitions/ClientGroup'
    title: ClientGroupsResp
    example:
      client_groups:
      - clients:
        - code: code
          client_group:
            name: name
            id: 5
          create: '2000-01-23T04:56:07.000+00:00'
          update: '2000-01-23T04:56:07.000+00:00'
          id: 5
          status: status
        - code: code
          client_group:
            name: name
            id: 5
          create: '2000-01-23T04:56:07.000+00:00'
          update: '2000-01-23T04:56:07.000+00:00'
          id: 5
          status: status
        block_volume_num: 6
        access_path_num: 0
        client_num: 1
        description: description
        update: '2000-01-23T04:56:07.000+00:00'
        type: type
        iname: iname
        isecret: isecret
        name: name
        create: '2000-01-23T04:56:07.000+00:00'
        chap: true
        id: 2
        status: status
      - clients:
        - code: code
          client_group:
            name: name
            id: 5
          create: '2000-01-23T04:56:07.000+00:00'
          update: '2000-01-23T04:56:07.000+00:00'
          id: 5
          status: status
        - code: code
          client_group:
            name: name
            id: 5
          create: '2000-01-23T04:56:07.000+00:00'
          update: '2000-01-23T04:56:07.000+00:00'
          id: 5
          status: status
        block_volume_num: 6
        access_path_num: 0
        client_num: 1
        description: description
        update: '2000-01-23T04:56:07.000+00:00'
        type: type
        iname: iname
        isecret: isecret
        name: name
        create: '2000-01-23T04:56:07.000+00:00'
        chap: true
        id: 2
        status: status
  ClientGroup_Nestview:
    type: object
    properties:
      id:
        type: integer
        format: int64
      name:
        type: string
    title: ClientGroup_Nestview
    example:
      name: name
      id: 5
  ClientGroupCreateReq:
    type: object
    properties:
      client_group:
        $ref: '#/definitions/ClientGroupCreateReq_ClientGroup'
    title: ClientGroupCreateReq
    example:
      client_group:
        isecret: isecret
        clients:
        - code: code
        - code: code
        name: name
        description: description
        chap: true
        type: type
        iname: iname
  ClientGroupUpdateReq_ClientGroup_Clients_Elt:
    type: object
    properties:
      code:
        type: string
    title: ClientGroupUpdateReq_ClientGroup_Clients_Elt
    example:
      code: code
  ClientGroupUpdateReq_ClientGroup:
    type: object
    properties:
      clients:
        type: array
        items:
          $ref: '#/definitions/ClientGroupUpdateReq_ClientGroup_Clients_Elt'
      description:
        type: string
      name:
        type: string
    title: ClientGroupUpdateReq_ClientGroup
    example:
      clients:
      - code: code
      - code: code
      name: name
      description: description
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