XSKY cluster API

ClusterController API /cluster

Operations 25

GET /cluster/ #
PATCH /cluster/ #
GET /cluster/action-log-report #
GET /cluster/alert-report #
GET /cluster/bootnode #
PUT /cluster/bootnode #
GET /cluster/event-log-report #
GET /cluster/installation #
PUT /cluster/maintenance #
GET /cluster/object-storage #
PUT /cluster/object-storage #
DELETE /cluster/object-storage #
PATCH /cluster/object-storage #
POST /cluster/object-storage:commit-master-switching #
POST /cluster/object-storage:enable-multi-zone #
POST /cluster/object-storage:prepare-master-switching #
POST /cluster/object-storage:rollback-master-switching #
POST /cluster/object-storage:switch-os-zone-to-master #
GET /cluster/report #
GET /cluster/samples #
GET /cluster/stats #
GET /cluster/stats-usage-prediction #
GET /cluster/time #
POST /cluster:remove-access-info #
POST /cluster:set-access-info #

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-cluster-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-cluster-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 Cluster API
  contact: {}
  license:
    name: Commercial
servers:
- url: /v1
tags:
- name: cluster
  description: 'ClusterController API /cluster

    '
paths:
  /cluster/:
    get:
      tags:
      - cluster
      description: Output the status of the cluster
      operationId: Cluster
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterRecordResp'
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
    patch:
      tags:
      - cluster
      description: set disk lighting mode of cluster
      operationId: UpdateCluster
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterResp'
        400:
          description: BadRequest
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClusterUpdateReq'
        description: cluster disk lighting info
        required: true
  /cluster/action-log-report:
    get:
      tags:
      - cluster
      description: Get report of cluster action logs
      operationId: GetActionLogReport
      responses:
        200:
          description: OK
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
  /cluster/alert-report:
    get:
      tags:
      - cluster
      description: Get report of cluster alerts
      operationId: GetAlertReport
      responses:
        200:
          description: OK
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
        500:
          description: InternalServerError
      security:
      - tokenInHeader: []
      - tokenInQuery: []
  /cluster/bootnode:
    get:
      tags:
      - cluster
      description: get bootnode info
      operationId: BootNode
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BootNodeResp'
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
    put:
      tags:
      - cluster
      description: set bootnode info
      operationId: SetBootNode
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BootNodeResp'
        202:
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BootNodeResp'
        400:
          description: BadRequest
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BootNodeReq'
        description: bootnode info
        required: true
  /cluster/event-log-report:
    get:
      tags:
      - cluster
      description: Get report of cluster event logs
      operationId: GetEventLogReport
      responses:
        200:
          description: OK
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
  /cluster/installation:
    get:
      tags:
      - cluster
      description: show the installation status
      operationId: Installation
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterInstallationResp'
        500:
          description: InternalServerError
  /cluster/maintenance:
    put:
      tags:
      - cluster
      description: update maintenance mode of cluster
      operationId: UpdateClusterMaintenance
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterResp'
        400:
          description: BadRequest
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClusterMaintainReq'
        description: cluster maintenance info
        required: true
  /cluster/object-storage:
    get:
      tags:
      - cluster
      description: Get object storage system status
      operationId: GetObjectStorage
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectStorageResp'
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
    put:
      tags:
      - cluster
      description: Initialize object storage system in current cluster
      operationId: InitObjectStorage
      responses:
        202:
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectStorageResp'
        400:
          description: BadRequest
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ObjectStorageInitReq'
        description: init info
        required: true
    delete:
      tags:
      - cluster
      description: Delete object storage system in current cluster
      operationId: DeleteObjectStorage
      parameters:
      - name: force
        in: query
        description: force delete or not
        required: false
        x-exportParamName: Force
        schema:
          type: boolean
      responses:
        202:
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectStorageResp'
        409:
          description: Conflicted
        500:
          description: Server Error
      security:
      - tokenInQuery: []
      - tokenInHeader: []
    patch:
      tags:
      - cluster
      description: Set object storage system in current cluster
      operationId: SetObjectStorage
      responses:
        202:
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectStorageResp'
        400:
          description: BadRequest
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ObjectStorageSetReq'
        description: set info
        required: true
  /cluster/object-storage:commit-master-switching:
    post:
      tags:
      - cluster
      description: Commit the switch to new master os zone.
      operationId: CommitMasterSwitching
      responses:
        202:
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectStorageResp'
        400:
          description: BadRequest
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInHeader: []
      - tokenInQuery: []
  /cluster/object-storage:enable-multi-zone:
    post:
      tags:
      - cluster
      description: Enable multi zone for object storage system
      operationId: EnableMultiZone
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectStorageResp'
        202:
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectStorageResp'
        400:
          description: BadRequest
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInHeader: []
      - tokenInQuery: []
  /cluster/object-storage:prepare-master-switching:
    post:
      tags:
      - cluster
      description: Prepare to switch to new master os zone.
      operationId: PrepareMasterSwitching
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectStorageResp'
        400:
          description: BadRequest
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
  /cluster/object-storage:rollback-master-switching:
    post:
      tags:
      - cluster
      description: Rollback the switch to new master os zone.
      operationId: RollbackMasterSwitching
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectStorageResp'
        400:
          description: BadRequest
        500:
          description: InternalServerError
      security:
      - tokenInHeader: []
      - tokenInQuery: []
  /cluster/object-storage:switch-os-zone-to-master:
    post:
      tags:
      - cluster
      description: Switch current os zone to master
      operationId: SwitchOSZoneToMaster
      parameters:
      - name: force
        in: query
        description: force to switch even if old master is dead
        required: false
        x-exportParamName: Force
        schema:
          type: boolean
      responses:
        202:
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectStorageResp'
        400:
          description: BadRequest
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
  /cluster/report:
    get:
      tags:
      - cluster
      description: Get report of a cluster
      operationId: GetClusterReport
      responses:
        200:
          description: OK
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
  /cluster/samples:
    get:
      tags:
      - cluster
      description: get cluster's samples
      operationId: GetClusterSamples
      parameters:
      - 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/ClusterSamplesResp'
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
  /cluster/stats:
    get:
      tags:
      - cluster
      description: Get overview data of a cluster
      operationId: GetClusterOverview
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterOverviewResp'
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
  /cluster/stats-usage-prediction:
    get:
      tags:
      - cluster
      description: Get prediction of stats space usage
      operationId: GetStatsUsagePrediction
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterStatsPredictionResp'
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
  /cluster/time:
    get:
      tags:
      - cluster
      description: show current server time
      operationId: ServerTime
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterServerTimeResp'
  /cluster:remove-access-info:
    post:
      tags:
      - cluster
      description: Remove cluster access info
      operationId: RemoveClusterAccessInfo
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterResp'
        400:
          description: BadRequest
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
  /cluster:set-access-info:
    post:
      tags:
      - cluster
      description: Set cluster access info
      operationId: SetClusterAccessInfo
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterResp'
        400:
          description: BadRequest
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClusterSetAccessInfoReq'
        description: access info
        required: true
components:
  schemas:
    ClusterRecord:
      title: ClusterRecord
      allOf:
      - $ref: '#/components/schemas/Cluster'
      - properties:
          samples:
            type: array
            items:
              $ref: '#/components/schemas/ClusterStat'
      description: ClusterRecord defines the response content of cluster related API
    ObjectStorageSetReq:
      type: object
      required:
      - object_storage
      properties:
        object_storage:
          $ref: '#/components/schemas/ObjectStorageSetReq_Info'
      title: ObjectStorageSetReq
      example:
        object_storage:
          lifecycle_start_on: lifecycle_start_on
          second_mergence_enabled: true
          second_mergence_end_on: second_mergence_end_on
          second_mergence_start_on: second_mergence_start_on
          lifecycle_end_on: lifecycle_end_on
    ObjectStorageSetReq_Info:
      type: object
      properties:
        lifecycle_end_on:
          type: string
          description: lifecycle end execute time
        lifecycle_start_on:
          type: string
          description: lifecycle start execute time
        second_mergence_enabled:
          type: boolean
          description: SecondMergenceEnabled enable second mergence or not
        second_mergence_end_on:
          type: string
          description: SecondMergenceEndOn indicates second mergence end time
        second_mergence_start_on:
          type: string
          description: SecondMergenceStartOn indicates second mergence start time
      title: ObjectStorageSetReq_Info
      example:
        lifecycle_start_on: lifecycle_start_on
        second_mergence_enabled: true
        second_mergence_end_on: second_mergence_end_on
        second_mergence_start_on: second_mergence_start_on
        lifecycle_end_on: lifecycle_end_on
    ObjectStorage:
      type: object
      properties:
        action_status:
          type: string
        create:
          type: string
          format: date-time
        id:
          type: integer
          format: int64
        index_pool:
          $ref: '#/components/schemas/Pool_Nestview'
        lifecycle_end_on:
          type: string
        lifecycle_start_on:
          type: string
        multi_zone_enabled:
          type: boolean
        name:
          type: string
        search_enabled:
          type: boolean
        second_mergence_enabled:
          type: boolean
        second_mergence_end_on:
          type: string
        second_mergence_start_on:
          type: string
        status:
          type: string
        update:
          type: string
          format: date-time
      title: ObjectStorage
      description: ObjectStorage is the model of object_storage
      example:
        second_mergence_enabled: true
        search_enabled: true
        update: '2000-01-23T04:56:07.000+00:00'
        index_pool:
          name: name
          id: 5
        lifecycle_start_on: lifecycle_start_on
        second_mergence_end_on: second_mergence_end_on
        second_mergence_start_on: second_mergence_start_on
        multi_zone_enabled: true
        name: name
        create: '2000-01-23T04:56:07.000+00:00'
        id: 0
        lifecycle_end_on: lifecycle_end_on
        action_status: action_status
        status: status
    ObjectStorageInitReq_Info:
      type: object
      required:
      - pool_id
      properties:
        pool_id:
          type: integer
          format: int64
          description: system pool id
      title: ObjectStorageInitReq_Info
      example:
        pool_id: 0
    Cluster:
      type: object
      properties:
        access_token:
          $ref: '#/components/schemas/AccessToken'
        access_url:
          type: string
        create:
          type: string
          format: date-time
        disk_lighting_mode:
          type: string
        down_out_interval:
          type: integer
          format: int64
        elasticsearch_enabled:
          type: boolean
        fs_id:
          type: string
        id:
          type: integer
          format: int64
        maintained:
          type: boolean
        name:
          type: string
        os_gateway_oplog_switch:
          type: boolean
        snmp_enabled:
          type: boolean
        stats_reserved_days:
          type: integer
          format: int64
        status:
          type: string
        update:
          type: string
          format: date-time
        version:
          type: string
      title: Cluster
      description: Cluster defines the ceph cluster @grpc-models-proto
      example:
        access_url: access_url
        snmp_enabled: true
        update: '2000-01-23T04:56:07.000+00:00'
        stats_reserved_days: 1
        version: version
        down_out_interval: 0
        os_gateway_oplog_switch: true
        access_token:
          roles:
          - roles
          - roles
          name: name
          create: '2000-01-23T04:56:07.000+00:00'
          description: description
          update: '2000-01-23T04:56:07.000+00:00'
          id: 0
          used: true
          user:
            name: name
            id: 6
        elasticsearch_enabled: true
        name: name
        create: '2000-01-23T04:56:07.000+00:00'
        id: 6
        maintained: true
        fs_id: fs_id
        disk_lighting_mode: disk_lighting_mode
        status: status
    ClusterInstallationResp:
      type: object
      properties:
        installation:
          description: installation status
          $ref: '#/components/schemas/ClusterInstallation'
      title: ClusterInstallationResp
      example:
        installation:
          finished: true
          steps:
            license: true
            bootnode: true
            user: true
    BootNodeReq_BootNode:
      type: object
      required:
      - private_network
      - public_network
      properties:
        admin_network:
          type: string
          description: 'admin network: 10.0.0.0/24'
        gateway_network:
          type: string
          description: 'gateway networks, multiple networks splited by comma: 10.0.3.0/24,10.0.4.0/24'
        private_network:
          type: string
          description: 'private network : 10.0.2.0/24'
        public_network:
          type: string
          description: 'public network: 10.0.1.0/24'
      title: BootNodeReq_BootNode
      example:
        gateway_network: gateway_network
        private_network: private_network
        public_network: public_network
        admin_network: admin_network
    ObjectStorageInitReq:
      type: object
      required:
      - object_storage
      properties:
        object_storage:
          $ref: '#/components/schemas/ObjectStorageInitReq_Info'
      title: ObjectStorageInitReq
      example:
        object_storage:
          pool_id: 0
    ClusterSetAccessInfoReq:
      type: object
      required:
      - cluster
      properties:
        cluster:
          $ref: '#/components/schemas/ClusterSetAccessInfoReq_Cluster'
      title: ClusterSetAccessInfoReq
      example:
        cluster:
          access_token_id: 0
          access_url: access_url
    ClusterServerTimeResp:
      type: object
      properties:
        server_time:
          type: string
          format: date-time
          description: current server time
      title: ClusterServerTimeResp
      example:
        server_time: '2000-01-23T04:56:07.000+00:00'
    ClusterResp:
      type: object
      required:
      - cluster
      properties:
        cluster:
          description: cluster
          $ref: '#/components/schemas/Cluster'
      title: ClusterResp
      example:
        cluster:
          access_url: access_url
          snmp_enabled: true
          update: '2000-01-23T04:56:07.000+00:00'
          stats_reserved_days: 1
          version: version
          down_out_interval: 0
          os_gateway_oplog_switch: true
          access_token:
            roles:
            - roles
            - roles
            name: name
            create: '2000-01-23T04:56:07.000+00:00'
            description: description
            update: '2000-01-23T04:56:07.000+00:00'
            id: 0
            used: true
            user:
              name: name
              id: 6
          elasticsearch_enabled: true
          name: name
          create: '2000-01-23T04:56:07.000+00:00'
          id: 6
          maintained: true
          fs_id: fs_id
          disk_lighting_mode: disk_lighting_mode
          status: status
    Pool_Nestview:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
      title: Pool_Nestview
      example:
        name: name
        id: 5
    ClusterSetAccessInfoReq_Cluster:
      type: object
      required:
      - access_token_id
      - access_url
      properties:
        access_token_id:
          type: integer
          format: int64
          description: access token
        access_url:
          type: string
          description: access url
      title: ClusterSetAccessInfoReq_Cluster
      example:
        access_token_id: 0
        access_url: access_url
    User_Nestview:
      type: object
      properties:
        id:
          type: integer
          format: int64
          description: id of user
        name:
          type: string
          description: name of user
      title: User_Nestview
      example:
        name: name
        id: 6
    ClusterOverviewResp:
      type: object
      required:
      - cluster_stats
      properties:
        cluster_stats:
          description: cluster overview
          $ref: '#/components/schemas/ClusterOverview'
      title: ClusterOverviewResp
      example:
        cluster_stats:
          fs_folder_active_num: 6
          pool_num: 3
          block_volume_num: 7
          fs_gateway_group_active_num: 4
          osd_offline_num: 4
          access_path_num: 1
          os_gateway_active_num: 6
          partition_used_num: 0
          nfs_gateway_num: 3
          s3_load_balancer_num: 9
          osd_error_num: 0
          os_bucket_error_num: 0
          fs_snapshot_num: 9
          fs_snapshot_active_num: 6
          os_policy_active_num: 7
          service_xms_active_num: 7
          os_policy_error_num: 3
          s3_load_balancer_error_num: 1
          pd_active_num: 9
          nfs_gateway_stopped_num: 3
          s3_load_balancer_group_warning_num: 8
          osd_warning_num: 1
          pool_recovering_num: 0
          service_mon_stopped_num: 8
          os_user_num: 3
          partition_active_num: 4
          cloud_platform_num: 7
          snapshot_error_num: 7
          host_active_num: 6
          pool_full_num: 4
          service_xms_num: 3
          client_group_num: 2
          pool_error_num: 8
          access_path_active_num: 0
          snapshot_active_num: 5
          service_xdc_error_num: 5
          fs_gateway_group_error_num: 5
          service_xms_error_num: 3
          os_gateway_num: 4
          nfs_gateway_error_num: 6
          block_volume_error_num: 2
          host_error_num: 1
          partition_error_num: 7
          s3_load_balancer_active_num: 2
          pd_error_num: 0
          os_user_error_num: 5
          client_group_error_num: 3
          fs_folder_error_num: 7
          os_policy_num: 3
          s3_load_balancer_group_error_num: 6
          service_xdc_active_num: 0
          cloud_instance_num: 4
          access_path_error_num: 6
          os_gateway_stopped_num: 8
          osd_active_num: 4
          fs_snapshot_error_num: 8
          service_xms_stopped_num: 9
          access_path_warning_num: 5
          nfs_gateway_active_num: 5
          os_bucket_active_num: 7
          block_volume_active_num: 5
          fs_user_available_num: 6
          fs_client_num: 1
          partition_num: 9
          fs_user_num: 3
          os_gateway_error_num: 0
          pd_warning_num: 5
          host_warning_num: 6
          cloud_volume_num: 1
          pool_degraded_num: 6
          client_group_active_num: 9
          fs_client_group_num: 1
          fs_folder_num: 1
          fs_gateway_group_warning_num: 9
          host_offline_num: 6
          pool_active_num: 4
          service_mon_error_num: 3
          service_xdc_num: 5
          snapshot_num: 0
          host_num: 2
          service_mon_num: 9
          pd_num: 7
          osd_num: 6
          os_user_active_num: 7
          fs_gateway_group_num: 9
          s3_load_balancer_group_num: 4
          os_bucket_num: 7
          service_mon_active_num: 1
          s3_load_balancer_group_active_num: 8
          service_xdc_stopped_num: 8
    ClusterStat:
      type: object
      properties:
        actual_kbyte:
          type: integer
          format: int64
        create:
          type: string
          format: date-time
        data_kbyte:
          type: integer
          format: int64
        degraded_percent:
          type: number
          format: double
        error_kbyte:
          type: integer
          format: int64
        healthy_percent:
          type: number
          format: double
        os_down_bandwidth_kbyte:
          type: number
          format: double
        os_down_iops:
          type: number
          format: double
        os_merge_speed:
          type: integer
          format: int64
        os_up_bandwidth_kbyte:
          type: number
          format: double
        os_up_iops:
          type: number
          format: double
        read_bandwidth_kbyte:
          type: number
          format: double
        read_iops:
          type: number
          format: double
        read_latency_us:
          type: number
          format: double
        recovery_bandwidth_kbyte:
          type: number
          format: double
        recovery_iops:
          type: number
          format: double
        recovery_percent:
          type: number
          format: double
        total_kbyte:
          type: integer
          format: int64
        unavailable_percent:
          type: number
          format: double
        used_kbyte:
          type: integer
          format: int64
        write_bandwidth_kbyte:
          type: number
          format: double
        write_iops:
          type: number
          format: double
        write_latency_us:
          type: number
          format: double
      title: ClusterStat
      description: ClusterStat defines the statistics metric of a ceph cluster
      example:
        healthy_percent: 5.637376656633329
        error_kbyte: 5
        os_down_bandwidth_kbyte: 2.3021358869347655
        os_down_iops: 7.061401241503109
        total_kbyte: 7
        degraded_percent: 1.4658129805029452
        recovery_percent: 6.84685269835264
        write_latency_us: 9.369310271410669
        read_latency_us: 1.2315135367772556
        unavailable_percent: 1.1730742509559433
        data_kbyte: 6
        read_iops: 7.386281948385884
        actual_kbyte: 0
        used_kbyte: 4
        read_bandwidth_kbyte: 4.145608029883936
        recovery_iops: 1.4894159098541704
        write_bandwidth_kbyte: 5.025004791520295
        create: '2000-01-23T04:56:07.000+00:00'
        recovery_bandwidth_kbyte: 1.0246457001441578
        write_iops: 9.965781217890562
        os_up_iops: 2.027123023002322
        os_merge_speed: 9
        os_up_bandwidth_kbyte: 3.616076749251911
    BootNode:
      type: object
      required:
      - admin_network
      - gateway_network
      - private_network
      - public_network
      properties:
        admin_network:
          type: string
        gateway_network:
          type: string
        host:
          $ref: '#/components/schemas/Host_Nestview'
        private_network:
          type: string
        public_network:
          type: string
        status:
          type: string
      title: BootNode
      description: BootNode defines the status of boot node
      example:
        gateway_network: gateway_network
        private_network: private_network
        public_network: public_network
        host:
          name: name
          admin_ip: admin_ip
          id: 0
        admin_network: admin_network
        status: status
    BootNodeReq:
      type: object
      required:
      - bootnode
      properties:
        bootnode:
          $ref: '#/components/schemas/BootNodeReq_BootNode'
      title: BootNodeReq
      example:
        bootnode:
          gateway_network: gateway_network
          private_network: private_network
          public_network: public_network
          admin_network: admin_network
    ClusterSamplesResp:
      type: object
      required:
      - cluster_samples
      properties:
        cluster_samples:
          type: array
          description: cluster samples
          items:
            $ref: '#/components/schemas/ClusterStat'
      title: ClusterSamplesResp
      example:
        cluster_samples:
        - healthy_percent: 5.637376656633329
          error_kbyte: 5
          os_down_bandwidth_kbyte: 2.3021358869347655
          os_down_iops: 7.061401241503109
          total_kbyte: 7
          degraded_percent: 1.4658129805029452
          recovery_percent: 6.84685269835264
          write_latency_us: 9.369310271410669
          read_latency_us: 1.2315135367772556
          unavailable_percent: 1.1730742509559433
          data_kbyte: 6
          read_iops: 7.386281948385884
          actual_kbyte: 0
          used_kbyte: 4
          read_bandwidth_kbyte: 4.145608029883

# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/xsky/refs/heads/main/openapi/xsky-cluster-api-openapi.yml