XSKY placement-nodes API
PlacementNodeController provides API for placement node
PlacementNodeController provides API for placement node
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/xsky-placement-nodes-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
description: XMS is the controller of distributed storage system
version: SDS_4.2.000.0.200302
title: XMS access-paths Placement Nodes API
contact: {}
license:
name: Commercial
servers:
- url: /v1
tags:
- name: placement-nodes
description: 'PlacementNodeController provides API for placement node
'
paths:
/placement-nodes/:
post:
tags:
- placement-nodes
description: Create placement node
operationId: CreatePlacementNode
responses:
201:
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/PlacementNodeResp'
400:
description: BadRequest
500:
description: InternalServerError
security:
- tokenInQuery: []
- tokenInHeader: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PlacementNodeCreateReq'
description: placement node info
required: true
/placement-nodes/{placement_node_id}:
get:
tags:
- placement-nodes
description: Get placement node
operationId: GetPlacementNode
parameters:
- name: placement_node_id
in: path
description: placement node id
required: true
x-exportParamName: PlacementNodeId
schema:
type: integer
format: int64
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PlacementNodeResp'
404:
description: NotFound
500:
description: InternalServerError
security:
- tokenInQuery: []
- tokenInHeader: []
delete:
tags:
- placement-nodes
description: delete placement node
operationId: DeletePlacementNode
parameters:
- name: placement_node_id
in: path
description: placement node id
required: true
x-exportParamName: PlacementNodeId
schema:
type: integer
format: int64
responses:
204:
description: No Content
404:
description: NotFound
409:
description: Conflict
500:
description: InternalServerError
security:
- tokenInQuery: []
- tokenInHeader: []
patch:
tags:
- placement-nodes
description: update placement node
operationId: UpdatePlacementNode
parameters:
- name: placement_node_id
in: path
description: the placement node id
required: true
x-exportParamName: PlacementNodeId
schema:
type: integer
format: int64
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PlacementNodeResp'
400:
description: BadRequest
404:
description: NotFound
500:
description: InternalServerError
security:
- tokenInQuery: []
- tokenInHeader: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PlacementNodeUpdateReq'
description: the placement node info
required: true
/placement-nodes/{placement_node_id}/topology:
get:
tags:
- placement-nodes
description: Get subtree topology of placement node
operationId: GetPlacementNodeTopology
parameters:
- name: placement_node_id
in: path
description: placement node id
required: true
x-exportParamName: PlacementNodeId
schema:
type: integer
format: int64
- name: osd_type
in: query
description: osd type
required: false
x-exportParamName: OsdType
schema:
type: string
- name: osd_role
in: query
description: osd role
required: false
x-exportParamName: OsdRole
schema:
type: string
- name: with_compound
in: query
description: with compound osd
required: false
x-exportParamName: WithCompound
schema:
type: boolean
- name: with_hybrid
in: query
description: with hybrid osd
required: false
x-exportParamName: WithHybrid
schema:
type: boolean
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PlacementNodeTopologyResp'
404:
description: NotFound
500:
description: InternalServerError
security:
- tokenInQuery: []
- tokenInHeader: []
components:
schemas:
PlacementNodeProperties:
type: object
properties:
is_witness:
type: boolean
description: whether this is a witness node
title: PlacementNodeProperties
description: PlacementNodeProperties contains properties for a placement node.
example:
is_witness: true
PlacementNode:
type: object
properties:
create:
type: string
format: date-time
description: time of creating placement node
id:
type: integer
format: int64
description: id of placement node
name:
type: string
description: name of placement node
parent:
description: parent of placement node
$ref: '#/components/schemas/PlacementNode'
properties:
description: properties for this placement node like is_witness
$ref: '#/components/schemas/PlacementNodeProperties'
type:
type: string
description: type of placement node
update:
type: string
format: date-time
description: time of updating placement node
title: PlacementNode
description: PlacementNode defines a placement node managing a range of hosts
example:
parent: null
name: name
create: '2000-01-23T04:56:07.000+00:00'
update: '2000-01-23T04:56:07.000+00:00'
id: 6
type: type
properties:
is_witness: true
PlacementNodeCreateReq_PlacementNode:
type: object
required:
- name
- parent_id
- type
properties:
is_witness:
type: boolean
name:
type: string
parent_id:
type: integer
format: int64
type:
type: string
title: PlacementNodeCreateReq_PlacementNode
example:
is_witness: true
parent_id: 0
name: name
type: type
PlacementNodeUpdateReq_PlacementNode:
type: object
required:
- name
- parent_id
properties:
name:
type: string
parent_id:
type: integer
format: int64
title: PlacementNodeUpdateReq_PlacementNode
example:
parent_id: 0
name: name
PlacementNodeResp:
type: object
required:
- placement_node
properties:
placement_node:
description: placement node
$ref: '#/components/schemas/PlacementNodeRecord'
title: PlacementNodeResp
example:
placement_node: ''
PlacementNodeTopology:
title: PlacementNodeTopology
allOf:
- $ref: '#/components/schemas/PlacementNode'
- properties:
available_osd_num:
type: integer
format: int64
children:
type: array
items:
$ref: '#/components/schemas/PlacementNodeTopology'
description: PlacementNodeTopology defines the response content of placement node topology
PlacementNodeRecord:
title: PlacementNodeRecord
allOf:
- $ref: '#/components/schemas/PlacementNode'
- {}
PlacementNodeCreateReq:
type: object
properties:
placement_node:
$ref: '#/components/schemas/PlacementNodeCreateReq_PlacementNode'
title: PlacementNodeCreateReq
example:
placement_node:
is_witness: true
parent_id: 0
name: name
type: type
PlacementNodeUpdateReq:
type: object
properties:
placement_node:
$ref: '#/components/schemas/PlacementNodeUpdateReq_PlacementNode'
title: PlacementNodeUpdateReq
example:
placement_node:
parent_id: 0
name: name
PlacementNodeTopologyResp:
type: object
required:
- topology
properties:
topology:
description: topology of placement nodes
$ref: '#/components/schemas/PlacementNodeTopology'
title: PlacementNodeTopologyResp
example:
topology: ''
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