blob: c609314a7718ab8273657e88e3706a9040917402 [file] [log] [blame]
openapi: 3.0.1
info:
title: Ignite REST module
contact:
email: user@ignite.apache.org
license:
name: Apache 2.0
url: https://ignite.apache.org
version: 3.0.0-alpha
paths:
/management/v1/cluster/init:
post:
tags:
- clusterManagement
operationId: init
parameters: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/InitCommand'
required: true
responses:
"200":
description: Cluster initialized
content:
application/json:
schema:
$ref: '#/components/schemas/Void'
"500":
description: Internal error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
"400":
description: Incorrect configuration
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/management/v1/cluster/state:
get:
tags:
- clusterManagement
operationId: clusterState
parameters: []
responses:
"200":
description: Return cluster state
content:
application/json:
schema:
$ref: '#/components/schemas/ClusterState'
"404":
description: "Cluster state not found, it means that the cluster is not\
\ initialized"
"500":
description: Internal error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/management/v1/cluster/topology/logical:
get:
tags:
- topology
operationId: logical
parameters: []
responses:
"200":
description: Logical topology returned
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ClusterNode'
"500":
description: Internal error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/management/v1/cluster/topology/physical:
get:
tags:
- topology
operationId: physical
parameters: []
responses:
"200":
description: Physical topology returned
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ClusterNode'
"500":
description: Internal error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/management/v1/configuration/cluster:
get:
tags:
- clusterConfiguration
operationId: getClusterConfiguration
parameters: []
responses:
"200":
description: Get cluster configuration
content:
text/plain:
schema:
type: string
"500":
description: Internal error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
"400":
description: Incorrect configuration
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
patch:
tags:
- clusterConfiguration
operationId: updateClusterConfiguration
parameters: []
requestBody:
content:
text/plain:
schema:
type: string
required: true
responses:
"200":
description: Configuration updated
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Void'
"500":
description: Internal error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
"400":
description: Incorrect configuration
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/management/v1/configuration/cluster/{path}:
get:
tags:
- clusterConfiguration
operationId: getClusterConfigurationByPath
parameters:
- name: path
in: path
required: true
schema:
type: string
responses:
"200":
description: Configuration represented by path
content:
text/plain:
schema:
type: string
"500":
description: Internal error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
"400":
description: Incorrect configuration
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/management/v1/configuration/node:
get:
tags:
- nodeConfiguration
operationId: getNodeConfiguration
parameters: []
responses:
"200":
description: Whole node configuration
content:
text/plain:
schema:
type: string
"500":
description: Internal error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
"400":
description: Incorrect configuration
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
patch:
tags:
- nodeConfiguration
operationId: updateNodeConfiguration
parameters: []
requestBody:
content:
text/plain:
schema:
type: string
required: true
responses:
"200":
description: Configuration updated
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Void'
"500":
description: Internal error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
"400":
description: Incorrect configuration
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/management/v1/configuration/node/{path}:
get:
tags:
- nodeConfiguration
operationId: getNodeConfigurationByPath
parameters:
- name: path
in: path
required: true
schema:
type: string
responses:
"200":
description: Configuration represented by path
content:
text/plain:
schema:
type: string
"500":
description: Internal error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
"400":
description: Incorrect configuration
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/management/v1/node/state:
get:
tags:
- nodeManagement
operationId: nodeState
parameters: []
responses:
"200":
description: Return node state
content:
application/json:
schema:
$ref: '#/components/schemas/NodeState'
"500":
description: Internal error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
components:
schemas:
ClusterNode:
required:
- address
- id
- name
type: object
properties:
id:
type: string
name:
type: string
address:
$ref: '#/components/schemas/NetworkAddress'
ClusterState:
required:
- clusterTag
- cmgNodes
- igniteVersion
- msNodes
type: object
properties:
cmgNodes:
type: array
items:
type: string
msNodes:
type: array
items:
type: string
igniteVersion:
$ref: '#/components/schemas/IgniteProductVersion'
clusterTag:
$ref: '#/components/schemas/ClusterTag'
ClusterTag:
required:
- clusterId
- clusterName
type: object
properties:
clusterId:
type: string
format: uuid
clusterName:
type: string
IgniteProductVersion:
required:
- maintenance
- major
- minor
type: object
properties:
major:
type: integer
format: int32
minor:
type: integer
format: int32
maintenance:
type: integer
format: int32
alphaVersion:
type: string
InitCommand:
required:
- clusterName
- metaStorageNodes
type: object
properties:
metaStorageNodes:
type: array
items:
type: string
cmgNodes:
type: array
items:
type: string
clusterName:
type: string
NetworkAddress:
required:
- consistentId
- host
- port
type: object
properties:
host:
type: string
port:
type: integer
format: int32
consistentId:
type: string
nullable: true
NodeState:
required:
- name
- state
type: object
properties:
name:
type: string
state:
$ref: '#/components/schemas/State'
Problem:
required:
- code
- detail
- node
- status
- title
- traceId
- type
type: object
properties:
title:
type: string
status:
type: integer
format: int32
code:
type: string
type:
type: string
detail:
type: string
node:
type: string
traceId:
type: string
format: uuid
State:
type: string
enum:
- STARTING
- STARTED
- STOPPING
Void:
type: object