GridGain deployment API
The deployment API from GridGain — 7 operation(s) for deployment.
The deployment API from GridGain — 7 operation(s) for deployment.
openapi: 3.0.1
info:
x-logo:
url: https://www.gridgain.com/assets/web/images/gridgain-logo-2021.svg
backgroundColor: '#FFFFFF'
altText: Example logo
title: GridGain REST module authentication deployment API
contact:
email: user@ignite.apache.org
license:
name: Apache 2.0
url: https://ignite.apache.org
version: 9.1.22
servers:
- url: http://localhost:10300
description: Default GridGain 9 management API
- url: http://localhost:8080/ignite
description: GridGain 8 / Ignite REST API
security:
- bearerToken: []
- basicAuth: []
tags:
- name: deployment
paths:
/management/v1/deployment/cluster/units:
get:
tags:
- deployment
summary: Get cluster unit statuses
description: Cluster unit statuses.
operationId: listClusterStatuses
parameters:
- name: statuses
in: query
schema:
type: array
description: Deployment status filter.
nullable: true
items:
$ref: '#/components/schemas/DeploymentStatus'
responses:
'200':
description: All statuses returned successfully.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/UnitStatus'
'500':
description: Internal error.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/management/v1/deployment/cluster/units/{unitId}:
get:
tags:
- deployment
summary: Get specific cluster unit statuses
description: Cluster unit statuses by unit.
operationId: listClusterStatusesByUnit
parameters:
- name: unitId
in: path
required: true
schema:
type: string
description: The ID of the deployment unit.
- name: version
in: query
schema:
type: string
description: Unit version filter.
nullable: true
- name: statuses
in: query
schema:
type: array
description: Deployment status filter.
nullable: true
items:
$ref: '#/components/schemas/DeploymentStatus'
responses:
'200':
description: All statuses returned successfully.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/UnitStatus'
'500':
description: Internal error.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/management/v1/deployment/node/units:
get:
tags:
- deployment
summary: Get node unit statuses
description: Returns a list of unit statuses per node.
operationId: listNodeStatuses
parameters:
- name: statuses
in: query
schema:
type: array
description: Deployment status filter.
nullable: true
items:
$ref: '#/components/schemas/DeploymentStatus'
responses:
'200':
description: All statuses were returned successfully.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/UnitStatus'
'500':
description: Internal error.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/management/v1/deployment/node/units/structure/{unitId}/{unitVersion}:
get:
tags:
- deployment
summary: Get unit contents.
description: Returns a folder representation with unit content.
operationId: unitContent
parameters:
- name: unitId
in: path
required: true
schema:
type: string
description: The ID of the deployment unit.
- name: unitVersion
in: path
required: true
schema:
type: string
description: The version of the deployment unit.
responses:
'200':
description: Unit content returned successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/UnitFolder'
'500':
description: Internal error.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/management/v1/deployment/node/units/{unitId}:
get:
tags:
- deployment
summary: Get specific node unit statuses
description: Returns a list of node unit statuses by unit.
operationId: listNodeStatusesByUnit
parameters:
- name: unitId
in: path
required: true
schema:
type: string
description: The ID of the deployment unit.
- name: version
in: query
schema:
type: string
description: Unit version filter.
nullable: true
- name: statuses
in: query
schema:
type: array
description: Deployment status filter.
nullable: true
items:
$ref: '#/components/schemas/DeploymentStatus'
responses:
'200':
description: All statuses returned successfully.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/UnitStatus'
'500':
description: Internal error.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/management/v1/deployment/units/zip/{unitId}/{unitVersion}:
post:
tags:
- deployment
summary: Deploy unit with folders structure in zip.
description: Deploys provided unit in zip file to the cluster with folders structure.
operationId: deployZipUnit
parameters:
- name: unitId
in: path
required: true
schema:
type: string
description: The ID of the deployment unit.
- name: unitVersion
in: path
required: true
schema:
type: string
description: The version of the deployment unit.
- name: deployMode
in: query
schema:
nullable: true
allOf:
- $ref: '#/components/schemas/deployMode'
- description: ALL or MAJORITY.
- name: initialNodes
in: query
schema:
type: array
description: List of node identifiers to deploy to.
nullable: true
items:
type: string
requestBody:
content:
multipart/form-data:
schema:
required:
- unitContent
type: object
properties:
unitContent:
type: array
description: The zip file with unit content to deploy.
items:
type: string
format: binary
encoding: {}
required: true
responses:
'200':
description: Unit deployed successfully.
content:
application/json:
schema:
type: boolean
'409':
description: Unit with same identifier and version is already deployed.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'400':
description: Deployment unit with unzip supports only single zip file.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'500':
description: Internal error.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/management/v1/deployment/units/{unitId}/{unitVersion}:
post:
tags:
- deployment
summary: Deploy unit
description: Deploys provided unit to the cluster.
operationId: deployUnit
parameters:
- name: unitId
in: path
required: true
schema:
type: string
description: The ID of the deployment unit.
- name: unitVersion
in: path
required: true
schema:
type: string
description: The version of the deployment unit.
- name: deployMode
in: query
schema:
nullable: true
allOf:
- $ref: '#/components/schemas/deployMode'
- description: ALL or MAJORITY.
- name: initialNodes
in: query
schema:
type: array
description: List of node identifiers to deploy to.
nullable: true
items:
type: string
requestBody:
content:
multipart/form-data:
schema:
required:
- unitContent
type: object
properties:
unitContent:
type: array
description: The code to deploy.
items:
type: string
format: binary
encoding: {}
required: true
responses:
'200':
description: Unit deployed successfully.
content:
application/json:
schema:
type: boolean
'409':
description: Unit with same identifier and version is already deployed.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'500':
description: Internal error.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
delete:
tags:
- deployment
summary: Undeploy unit
description: Undeploys the unit with provided unitId and unitVersion.
operationId: undeployUnit
parameters:
- name: unitId
in: path
required: true
schema:
type: string
description: The ID of the deployment unit.
- name: unitVersion
in: path
required: true
schema:
type: string
description: The version of the deployment unit.
responses:
'200':
description: Unit undeployed successfully.
content:
application/json:
schema:
type: boolean
'404':
description: Unit with provided identifier and version does not exist.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'500':
description: Internal error.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
components:
schemas:
InvalidParam:
type: object
properties:
name:
type: string
description: Parameter name.
reason:
type: string
description: The issue with the parameter.
description: Information about invalid request parameter.
UnitEntry:
type: object
description: Unit content entry.
discriminator:
propertyName: type
oneOf:
- $ref: '#/components/schemas/UnitFile'
- $ref: '#/components/schemas/UnitFolder'
UnitStatus:
required:
- id
- versionToStatus
type: object
properties:
id:
type: string
description: Unit identifier.
versionToStatus:
type: array
description: Map from unit version to unit deployment status.
items:
$ref: '#/components/schemas/UnitVersionStatus'
description: Unit status.
DeploymentStatus:
type: string
description: Status of deployment process.
enum:
- UPLOADING
- DEPLOYED
- OBSOLETE
- REMOVING
UnitFile:
required:
- name
- size
- type
type: object
properties:
type:
type: string
description: Entry type discriminator.
enum:
- file
name:
type: string
description: Unit content file name.
size:
type: integer
description: Unit content file size in bytes.
format: int64
description: Unit content file.
UnitFolder:
required:
- children
- name
- size
- type
type: object
properties:
type:
type: string
description: Entry type discriminator.
enum:
- folder
name:
type: string
description: Unit content folder name.
children:
type: array
description: Unit content folder elements.
items:
$ref: '#/components/schemas/UnitEntry'
size:
type: integer
description: Total size of folder contents in bytes (computed as sum of all children).
format: int64
readOnly: true
description: Unit content folder.
Problem:
type: object
properties:
title:
type: string
description: Short summary of the issue.
status:
type: integer
description: Returned HTTP status code.
format: int32
code:
type: string
description: Ignite 3 error code.
type:
type: string
description: URI to documentation regarding the issue.
detail:
type: string
description: Extended explanation of the issue.
node:
type: string
description: Name of the node the issue happened on.
traceId:
type: string
description: Unique issue identifier. This identifier can be used to find logs related to the issue.
format: uuid
invalidParams:
type: array
description: A list of parameters that did not pass validation and the reason for it.
items:
$ref: '#/components/schemas/InvalidParam'
description: Extended description of the problem with the request.
UnitVersionStatus:
required:
- status
- version
type: object
properties:
version:
type: string
description: Unit version.
status:
allOf:
- $ref: '#/components/schemas/DeploymentStatus'
- description: Unit status.
description: Unit version and status.
deployMode:
type: string
description: Initial set of nodes to deploy.
enum:
- MAJORITY
- ALL
securitySchemes:
basicAuth:
type: http
scheme: basic
bearerToken:
type: http
scheme: bearer