GridGain snapshotManagement API
The snapshotManagement API from GridGain — 6 operation(s) for snapshotmanagement.
The snapshotManagement API from GridGain — 6 operation(s) for snapshotmanagement.
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 snapshotManagement 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: snapshotManagement
paths:
/management/v1/snapshot/create:
post:
tags:
- snapshotManagement
summary: Create snapshot
description: Creates a new snapshot.
operationId: create
requestBody:
description: configuration for the snapshot.
content:
application/json:
schema:
$ref: '#/components/schemas/CreateCommand'
required: true
responses:
'200':
description: Snapshot has been started.
content:
application/json:
schema:
type: string
format: uuid
'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'
'404':
description: Tables were not found.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/management/v1/snapshot/delete:
post:
tags:
- snapshotManagement
summary: Delete snapshot
description: Deletes a snapshot.
operationId: delete
requestBody:
description: Delete command configuration.
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteCommand'
required: true
responses:
'200':
description: Snapshot deletion has been started.
content:
application/json:
schema:
type: string
format: uuid
'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'
'404':
description: Snapshot was not found.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/management/v1/snapshot/list:
get:
tags:
- snapshotManagement
summary: Returns a list of snapshots.
description: Returns a list of snapshots.
operationId: getList
parameters:
- name: source
in: query
description: Snapshot path name specified in the configuration, `null` means use all paths from the configuration.
schema:
type: string
nullable: true
- name: showNodeNames
in: query
description: Whether to show node names or only their numbers in the response.
required: true
schema:
type: boolean
- name: showTableNames
in: query
description: Whether to show table or only their numbers names in the response.
required: true
schema:
type: boolean
- name: showSourceUri
in: query
description: Whether to show snapshot path URI in the response.
required: true
schema:
type: boolean
responses:
'200':
description: List of snapshots has been retrieved.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SnapshotListItem'
'400':
description: Incorrect configuration.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'404':
description: Snapshot source was not found.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'500':
description: Internal error.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/management/v1/snapshot/operations:
get:
tags:
- snapshotManagement
summary: Get all snapshot operations
description: Returns all snapshot operations.
operationId: getOperations
responses:
'200':
description: Operations retrieved.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SnapshotOperation'
'500':
description: Internal error.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/management/v1/snapshot/operations/{operationId}:
get:
tags:
- snapshotManagement
summary: Get operation by ID
description: Returns operation by its ID.
operationId: getOperationById
parameters:
- name: operationId
in: path
description: ID of the operation.
required: true
schema:
type: string
format: uuid
- name: allNodes
in: query
description: if operation status for every node should be retrieved.
required: true
schema:
type: boolean
responses:
'200':
description: Operation retrieved.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SnapshotOperation'
'400':
description: Incorrect configuration.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'404':
description: Snapshot operation was not found.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'500':
description: Internal error.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/management/v1/snapshot/restore:
post:
tags:
- snapshotManagement
summary: Restore snapshot
description: Restores a snapshot.
operationId: restore
requestBody:
description: Restore command configuration.
content:
application/json:
schema:
$ref: '#/components/schemas/RestoreCommand'
required: true
responses:
'200':
description: Snapshot restoration has been started.
content:
application/json:
schema:
type: string
format: uuid
'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'
'404':
description: Snapshot meta file was not found.
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.
SnapshotOperation:
required:
- operation
- operationId
- startTimeEpochMilli
- status
type: object
properties:
operationId:
type: string
description: ID of the operation.
format: uuid
status:
allOf:
- $ref: '#/components/schemas/SnapshotStatus'
- description: Status of the operation.
operation:
allOf:
- $ref: '#/components/schemas/SnapshotOperationType'
- description: Type of the operation.
startTimeEpochMilli:
type: integer
description: Time at which operation started in milliseconds since Unix Epoch format.
format: int64
timestampEpochMilli:
type: integer
description: Point in time that corresponds to the system state the snapshot reflects, in milliseconds since Unix Epoch
format: int64
targetSnapshotId:
type: string
description: Target snapshot ID, for restore operations
format: uuid
nullable: true
parentSnapshotId:
type: string
description: Parent Snapshot ID, for create operations
format: uuid
nullable: true
tableNames:
type: array
description: Target table names. If both this and structureNames are empty, it means that all tables were used.
items:
type: string
structureNames:
type: array
description: Target structure names. If both this and tablesNames are empty, it means that all structures were used.
items:
type: string
description:
type: string
description: Description of the operation.
nullable: true
nodeName:
type: string
description: Name of the node.
nullable: true
rowsSaved:
type: integer
description: Number of rows saved.
format: int64
nullable: true
uri:
type: string
description: The base URI used in the snapshot operation.
format: uri
pathType:
allOf:
- $ref: '#/components/schemas/PathType'
- description: The path type used in the snapshot operation (LOCAL or REMOTE).
force:
type: boolean
description: If force flag was used.
description: Snapshot operation info.
SnapshotOperationType:
type: string
description: Type of the operation.
enum:
- CREATE
- RESTORE
- DELETE
DeleteCommand:
type: object
properties:
snapshotId:
type: string
description: ID of the snapshot to delete
format: uuid
description: Snapshot restoration configuration.
SnapshotStatus:
type: string
description: Status of the operation.
enum:
- PREPARED
- STARTED
- COMPLETED
- DELETED
- FAILED
CreateCommand:
type: object
properties:
snapshotType:
allOf:
- $ref: '#/components/schemas/SnapshotType'
- description: Type of the snapshot, FULL or INCREMENTAL.
tableNames:
type: array
description: Set of fully-qualified table names that will be parts of the snapshot. If both this and structureNames are empty, all tables will be snapshotted.
items:
type: string
structureNames:
type: array
description: Set of fully-qualified structure names that will be parts of the snapshot. If both this and tableNames are empty, all structures will be snapshotted.
items:
type: string
timestampEpochMilli:
type: integer
description: Time for which the Snapshot should be taken in milliseconds since Unix Epoch format. If null, current time will be used
format: int64
destination:
type: string
description: The name of the snapshot path to the snapshot; null to use the default path.
encryptionProvider:
type: string
description: The encryption provider name.
description: Snapshot creation configuration.
SnapshotType:
type: string
description: Type of the snapshot, FULL or INCREMENTAL.
enum:
- NOT_SPECIFIED
- FULL
- INCREMENTAL
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.
SnapshotListItem:
required:
- creationTime
- id
- type
- uriName
- uriType
type: object
properties:
id:
type: string
description: Snapshot ID.
format: uuid
parentId:
type: string
description: Parent snapshot ID.
format: uuid
nullable: true
type:
allOf:
- $ref: '#/components/schemas/SnapshotType'
- description: Snapshot type.
creationTime:
type: integer
description: Point in time at which the snapshot was created in milliseconds.
format: int64
uriName:
type: string
description: Snapshot path name specified in the configuration.
uriType:
allOf:
- $ref: '#/components/schemas/PathType'
- description: Snapshot path type specified in the configuration.
uri:
type: string
description: Snapshot path URI specified in the configuration.
nullable: true
targetNodeSize:
type: integer
description: Number of nodes for which a snapshot was created.
format: int32
nullable: true
actualNodeSize:
type: integer
description: Number of nodes on which the snapshot is present.
format: int32
nullable: true
targetNodeNames:
type: array
description: Names of the nodes for which the snapshot was created.
nullable: true
items:
type: string
actualNodeNames:
type: array
description: Names of the nodes on which the snapshot is present.
nullable: true
items:
type: string
tableNumber:
type: integer
description: Number of tables that are present in the snapshot.
format: int32
nullable: true
tableNames:
type: array
description: Names of the tables that are present in the snapshot.
nullable: true
items:
type: string
description: Snapshot list command item.
RestoreCommand:
type: object
properties:
snapshotId:
type: string
description: ID of the snapshot to restore
format: uuid
tableNames:
type: array
description: Set of fully-qualified table names to restore. If both this and structureNames are empty, restores all tables from the snapshot.
items:
type: string
structureNames:
type: array
description: Set of fully-qualified structure names to restore. If both this and tableNames are empty, restores all structures from the snapshot.
items:
type: string
source:
type: string
description: The name of the snapshot path to restore the snapshot from; null to use the default path.
decryptionProvider:
type: string
description: The decription provider name.
force:
type: boolean
description: If set to false, operation will fail if there are existing structures that would be overwritten by the restore.
description: Snapshot restoration configuration.
PathType:
type: string
description: The path type used in the snapshot operation (LOCAL or REMOTE).
enum:
- LOCAL
- REMOTE
securitySchemes:
basicAuth:
type: http
scheme: basic
bearerToken:
type: http
scheme: bearer