XSKY osd-groups API

OsdGroupController API /osd-groups

Operations 10

GET /osd-groups/ #
GET /osd-groups/{group_id} #
GET /osd-groups/{group_id}/samples #
POST /osd-groups/{group_id}:add-osds #
POST /osd-groups/{group_id}:disable-device-type-check #
POST /osd-groups/{group_id}:enable-device-type-check #
POST /osd-groups/{group_id}:remove-osds #
POST /osd-groups/{group_id}:reweight #
POST /osd-groups/{group_id}:set-osd-full-ratio #
POST /osd-groups/{group_id}:set-qos #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/xsky-osd-groups-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

xsky-osd-groups-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: XMS is the controller of distributed storage system
  version: SDS_4.2.000.0.200302
  title: XMS access-paths Osd Groups API
  contact: {}
  license:
    name: Commercial
servers:
- url: /v1
tags:
- name: osd-groups
  description: 'OsdGroupController API /osd-groups

    '
paths:
  /osd-groups/:
    get:
      tags:
      - osd-groups
      description: List osd groups
      operationId: ListOsdGroups
      parameters:
      - name: limit
        in: query
        description: paging param
        required: false
        x-exportParamName: Limit
        schema:
          type: integer
          format: int64
      - name: offset
        in: query
        description: paging param
        required: false
        x-exportParamName: Offset
        schema:
          type: integer
          format: int64
      - name: q
        in: query
        description: query param of search
        required: false
        x-exportParamName: Q
        schema:
          type: string
      - name: sort
        in: query
        description: sort param of search
        required: false
        x-exportParamName: Sort
        schema:
          type: string
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OsdGroupsResp'
        400:
          description: BadRequest
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
  /osd-groups/{group_id}:
    get:
      tags:
      - osd-groups
      description: Get osd group
      operationId: GetOsdGroup
      parameters:
      - name: group_id
        in: path
        description: osd group id
        required: true
        x-exportParamName: GroupId
        schema:
          type: integer
          format: int64
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OsdGroupResp'
        400:
          description: BadRequest
        404:
          description: NotFound
        500:
          description: InternalServerError
      security:
      - tokenInHeader: []
      - tokenInQuery: []
  /osd-groups/{group_id}/samples:
    get:
      tags:
      - osd-groups
      description: get a osd group's samples
      operationId: GetOsdGroupSamples
      parameters:
      - name: group_id
        in: path
        description: osd group id
        required: true
        x-exportParamName: GroupId
        schema:
          type: integer
          format: int64
      - name: duration_begin
        in: query
        description: duration begin timestamp
        required: false
        x-exportParamName: DurationBegin
        schema:
          type: string
      - name: duration_end
        in: query
        description: duration end timestamp
        required: false
        x-exportParamName: DurationEnd
        schema:
          type: string
      - name: period
        in: query
        description: samples period
        required: false
        x-exportParamName: Period
        schema:
          type: string
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OsdGroupSamplesResp'
        400:
          description: BadRequest
        404:
          description: NotFound
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
  /osd-groups/{group_id}:add-osds:
    post:
      tags:
      - osd-groups
      description: Add osds to osd grouop
      operationId: AddOsdsToOsdGroup
      parameters:
      - name: group_id
        in: path
        description: osd group id
        required: true
        x-exportParamName: GroupId
        schema:
          type: integer
          format: int64
      responses:
        202:
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OsdGroupResp'
        400:
          description: BadRequest
        404:
          description: NotFound
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OsdGroupOsdsUpdateReq'
        description: osd ids
        required: true
  /osd-groups/{group_id}:disable-device-type-check:
    post:
      tags:
      - osd-groups
      description: Disable device type check when add osd
      operationId: DisableDeviceTypeCheck
      parameters:
      - name: group_id
        in: path
        description: osd group id
        required: true
        x-exportParamName: GroupId
        schema:
          type: integer
          format: int64
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OsdGroupResp'
        404:
          description: NotFound
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
  /osd-groups/{group_id}:enable-device-type-check:
    post:
      tags:
      - osd-groups
      description: Enable device type check when add osd
      operationId: EnableDeviceTypeCheck
      parameters:
      - name: group_id
        in: path
        description: osd group id
        required: true
        x-exportParamName: GroupId
        schema:
          type: integer
          format: int64
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OsdGroupResp'
        400:
          description: BadRequest
        404:
          description: NotFound
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
  /osd-groups/{group_id}:remove-osds:
    post:
      tags:
      - osd-groups
      description: Remove multiple osds from a osd group
      operationId: RemoveOsdsFromOsdGroup
      parameters:
      - name: group_id
        in: path
        description: osd group id
        required: true
        x-exportParamName: GroupId
        schema:
          type: integer
          format: int64
      responses:
        202:
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OsdGroupResp'
        400:
          description: BadRequest
        404:
          description: NotFound
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OsdGroupOsdsUpdateReq'
        description: remove osd ids
        required: true
  /osd-groups/{group_id}:reweight:
    post:
      tags:
      - osd-groups
      description: Reweight pools of osd group
      operationId: ReweightOsdGroup
      parameters:
      - name: group_id
        in: path
        description: osd group id
        required: true
        x-exportParamName: GroupId
        schema:
          type: integer
          format: int64
      responses:
        202:
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OsdGroupResp'
        404:
          description: NotFound
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
  /osd-groups/{group_id}:set-osd-full-ratio:
    post:
      tags:
      - osd-groups
      description: Set osd full ratio of osd group
      operationId: SetOsdFullRatio
      parameters:
      - name: group_id
        in: path
        description: osd group id
        required: true
        x-exportParamName: GroupId
        schema:
          type: integer
          format: int64
      responses:
        202:
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OsdGroupResp'
        400:
          description: BadRequest
        404:
          description: NotFound
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetOsdFullRatioReq'
        description: osds full ratio
        required: true
  /osd-groups/{group_id}:set-qos:
    post:
      tags:
      - osd-groups
      description: Set osd group's qos
      operationId: SetOsdGroupQos
      parameters:
      - name: group_id
        in: path
        description: osd group id
        required: true
        x-exportParamName: GroupId
        schema:
          type: integer
          format: int64
      responses:
        202:
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OsdGroupResp'
        400:
          description: BadRequest
        404:
          description: NotFound
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OsdGroupSetQosReq'
        description: qos info
        required: true
components:
  schemas:
    OsdGroupSamplesResp:
      type: object
      required:
      - osd_group_samples
      properties:
        osd_group_samples:
          type: array
          items:
            $ref: '#/components/schemas/OsdGroupStat'
      title: OsdGroupSamplesResp
      example:
        osd_group_samples:
        - used_kbyte: 6
          total_kbyte: 0
          create: '2000-01-23T04:56:07.000+00:00'
        - used_kbyte: 6
          total_kbyte: 0
          create: '2000-01-23T04:56:07.000+00:00'
    Pool_Nestview:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
      title: Pool_Nestview
      example:
        name: name
        id: 5
    OsdGroupsResp:
      type: object
      properties:
        osd_groups:
          type: array
          items:
            $ref: '#/components/schemas/OsdGroupRecord'
      title: OsdGroupsResp
      example:
        osd_groups:
        - ''
        - ''
    SetOsdFullRatioReq_OsdGroup:
      type: object
      required:
      - osd_full_ratio
      properties:
        osd_full_ratio:
          type: number
          format: double
      title: SetOsdFullRatioReq_OsdGroup
      example:
        osd_full_ratio: 0.8008281904610115
    OsdGroupRecord:
      title: OsdGroupRecord
      allOf:
      - $ref: '#/components/schemas/OsdGroup'
      - properties:
          samples:
            type: array
            items:
              $ref: '#/components/schemas/OsdGroupStat'
      description: OsdGroupRecord combine OsdGroup and OsdGroupStat as API response
    OsdGroupStat:
      type: object
      properties:
        create:
          type: string
          format: date-time
        total_kbyte:
          type: integer
          format: int64
        used_kbyte:
          type: integer
          format: int64
      title: OsdGroupStat
      description: OsdGroupStat defines stat of a osd group
      example:
        used_kbyte: 6
        total_kbyte: 0
        create: '2000-01-23T04:56:07.000+00:00'
    OsdGroupSetQosReq_OsdGroup:
      type: object
      required:
      - qos
      properties:
        qos:
          $ref: '#/components/schemas/OsdQos'
      title: OsdGroupSetQosReq_OsdGroup
      example:
        qos:
          mode: 5
          bandwidth: 0
          bandwidth_max: 6
          id: 5
          client_threshold: 1
          recovery_rate_type: recovery_rate_type
    OsdGroupSetQosReq:
      type: object
      required:
      - osd_group
      properties:
        osd_group:
          $ref: '#/components/schemas/OsdGroupSetQosReq_OsdGroup'
      title: OsdGroupSetQosReq
      example:
        osd_group:
          qos:
            mode: 5
            bandwidth: 0
            bandwidth_max: 6
            id: 5
            client_threshold: 1
            recovery_rate_type: recovery_rate_type
    OsdGroupResp:
      type: object
      properties:
        osd_group:
          $ref: '#/components/schemas/OsdGroupRecord'
      title: OsdGroupResp
      example:
        osd_group: ''
    OsdGroupOsdsUpdateReq_OsdGroup:
      type: object
      required:
      - osd_ids
      properties:
        osd_ids:
          type: array
          items:
            type: integer
            format: int64
      title: OsdGroupOsdsUpdateReq_OsdGroup
      example:
        osd_ids:
        - 0
        - 0
    OsdQos:
      type: object
      properties:
        bandwidth:
          type: integer
          format: int64
        bandwidth_max:
          type: integer
          format: int64
        client_threshold:
          type: integer
          format: int64
        id:
          type: integer
          format: int64
        mode:
          type: integer
          format: int64
        recovery_rate_type:
          type: string
      title: OsdQos
      description: OsdQos defines qos for osd
      example:
        mode: 5
        bandwidth: 0
        bandwidth_max: 6
        id: 5
        client_threshold: 1
        recovery_rate_type: recovery_rate_type
    OsdGroup:
      type: object
      properties:
        action_status:
          type: string
        create:
          type: string
          format: date-time
        device_type:
          type: string
        device_type_check_disabled:
          type: boolean
        failure_domain_type:
          type: string
        id:
          type: integer
          format: int64
        osd_async_recovery_max_updates:
          type: integer
          format: int64
        osd_full_ratio:
          type: number
          format: double
        osd_num:
          type: integer
          format: int64
        pools:
          type: array
          items:
            $ref: '#/components/schemas/Pool_Nestview'
        qos:
          $ref: '#/components/schemas/OsdQos'
        status:
          type: string
        update:
          type: string
          format: date-time
      title: OsdGroup
      description: OsdGroup defines model of osd group
    SetOsdFullRatioReq:
      type: object
      required:
      - osd_group
      properties:
        osd_group:
          $ref: '#/components/schemas/SetOsdFullRatioReq_OsdGroup'
      title: SetOsdFullRatioReq
      example:
        osd_group:
          osd_full_ratio: 0.8008281904610115
    OsdGroupOsdsUpdateReq:
      type: object
      required:
      - osd_group
      properties:
        osd_group:
          $ref: '#/components/schemas/OsdGroupOsdsUpdateReq_OsdGroup'
      title: OsdGroupOsdsUpdateReq
      example:
        osd_group:
          osd_ids:
          - 0
          - 0
  securitySchemes:
    tokenInHeader:
      description: auth by token
      type: apiKey
      name: Xms-Auth-Token
      in: header
    tokenInQuery:
      description: auth by token
      type: apiKey
      name: token
      in: query