GridGain dcr API

The dcr API from GridGain — 6 operation(s) for dcr.

OpenAPI Specification

gridgain-dcr-api-openapi.yml Raw ↑
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 dcr 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: dcr
paths:
  /management/v1/dcr/replications:
    get:
      tags:
      - dcr
      summary: Retrieve a list of replications for connected clusters
      description: Retrieves a list of replications for connected clusters.
      operationId: listReplications
      responses:
        '200':
          description: Successful retrieval of all replication information.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ReplicationInfo'
        '500':
          description: Internal server error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
    post:
      tags:
      - dcr
      summary: Create a new replication for a cluster
      description: Creates a new replication for a cluster.
      operationId: createReplication
      requestBody:
        description: Details of the replication to create.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateReplicationRequest'
        required: true
      responses:
        '200':
          description: Replication successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReplicationInfo'
        '400':
          description: Replication already exists.
        '500':
          description: Internal server error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
  /management/v1/dcr/replications/{name}:
    get:
      tags:
      - dcr
      summary: Get information about specific replication
      description: Retrieves detailed information about a specific replication.
      operationId: showReplication
      parameters:
      - name: name
        in: path
        description: The unique identifier of the replication to show.
        required: true
        schema:
          type: string
          description: The unique identifier of the replication.
      responses:
        '200':
          description: Successful retrieval of replication information.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReplicationInfo'
        '404':
          description: Replication not found.
        '500':
          description: Internal server error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
  /management/v1/dcr/replications/{name}/delete:
    post:
      tags:
      - dcr
      summary: Delete replication
      description: Deletes the specified replication.
      operationId: deleteReplication
      parameters:
      - name: name
        in: path
        description: The name of the replication to delete.
        required: true
        schema:
          type: string
          description: The name of the replication.
      responses:
        '200':
          description: Replication successfully deleted.
          content:
            application/json:
              schema:
                type: boolean
        '404':
          description: Replication not found.
        '500':
          description: Internal server error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
  /management/v1/dcr/replications/{name}/flush:
    post:
      tags:
      - dcr
      summary: Specifies timestamp for replication which will be used as flush point.
      description: .
      operationId: flushReplication
      parameters:
      - name: name
        in: path
        description: The name of the replication to flush.
        required: true
        schema:
          type: string
          description: The id of the replication.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FlushRequest'
        required: true
      responses:
        '200':
          description: Replication successfully flushed.
          content:
            application/json:
              schema:
                type: boolean
        '404':
          description: Replication not found.
        '500':
          description: Internal server error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
  /management/v1/dcr/replications/{name}/start:
    post:
      tags:
      - dcr
      summary: Start replication
      description: Starts the specified replication.
      operationId: startReplication
      parameters:
      - name: name
        in: path
        description: The unique identifier of the replication to start.
        required: true
        schema:
          type: string
          description: The unique identifier of the replication.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StartStopReplicationRequest'
        required: true
      responses:
        '200':
          description: Replication successfully started.
          content:
            application/json:
              schema:
                type: boolean
        '404':
          description: Replication not found.
        '500':
          description: Internal server error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
  /management/v1/dcr/replications/{name}/stop:
    post:
      tags:
      - dcr
      summary: Stop replication
      description: Stops the specified replication.
      operationId: stopReplication
      parameters:
      - name: name
        in: path
        description: The id of the replication to stop.
        required: true
        schema:
          type: string
          description: The id of the replication.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StartStopReplicationRequest'
        required: true
      responses:
        '200':
          description: Replication successfully stopped.
          content:
            application/json:
              schema:
                type: boolean
        '404':
          description: Replication not found.
        '500':
          description: Internal server error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
components:
  schemas:
    ReplicationInfo:
      required:
      - name
      - sourceClusterAddresses
      - sourceClusterName
      - status
      - targetClusterName
      - workerNodeName
      type: object
      properties:
        name:
          type: string
          description: Name of the replication.
        sourceClusterAddresses:
          type: array
          description: List of URLs of the source cluster nodes.
          items:
            type: string
        authConfig:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/AuthConfig'
          - description: Auth config of the connection to the source cluster.
        sslConfig:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/SslConfig'
          - description: SSL config of the connection to the source cluster.
        sourceClusterName:
          type: string
          description: Name of the source cluster.
        targetClusterName:
          type: string
          description: Name of the target cluster.
        workerNodeName:
          type: string
          description: Name of the worker node on target cluster.
        schemaName:
          type: string
          description: 'Schema name for replication. If null: for allTables=true, no schema filtering is applied (replicates all schemas); for explicit table lists, unqualified table names default to PUBLIC schema.'
          nullable: true
        status:
          allOf:
          - $ref: '#/components/schemas/ReplicationStatus'
          - description: Current status of the replication.
        tableStatuses:
          type: array
          description: Status of the replication per table.
          nullable: true
          items:
            $ref: '#/components/schemas/TableStatus'
        errors:
          type: array
          description: List of replication errors encountered.
          items:
            $ref: '#/components/schemas/ReplicationError'
        fstProgress:
          type: integer
          description: Progress of full state transfer. Indicates how much percent of initial data were transferred.
          format: int32
      description: Contains detailed information about a specific replication process.
    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.
    ReplicationStatus:
      type: string
      description: Current status of the replication.
      enum:
      - REPLICATING
      - STOPPED
      - FAILED
      - WORKER_NODE_OUT
    SslConfig:
      type: object
      properties:
        ciphers:
          type: array
          description: ciphers
          nullable: true
          items:
            type: string
        keyStorePath:
          type: string
          description: Key store path that will be used to setup SSL connection.
          nullable: true
        keyStorePassword:
          type: string
          description: Key store password.
          nullable: true
        trustStorePath:
          type: string
          description: Trust store path that will be used to setup SSL connection..
          nullable: true
        trustStorePassword:
          type: string
          description: Trust store password.
          nullable: true
      description: SSL config of the connection to the source cluster.
    ReplicationError:
      type: object
      properties:
        workerNode:
          type: string
          description: Name of worker node where the error occurred.
        entryName:
          type: string
          description: Name of the entry where the error occurred.
        errorMessage:
          type: string
          description: Detailed error message.
      description: Represents an error encountered during replication.
    CreateReplicationRequest:
      type: object
      properties:
        name:
          type: string
          description: Replication name.
        sourceClusterAddresses:
          type: array
          description: List of node addresses of the source cluster.
          items:
            type: string
        authConfig:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/AuthConfig'
          - description: Auth config of the connection to the source cluster.
        sslConfig:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/SslConfig'
          - description: SSL config of the connection to the source cluster.
        replicationNodes:
          type: array
          description: List of replication nodes names on target cluster.
          items:
            type: string
      description: DTO for creating a cluster replication request.
    AuthConfig:
      required:
      - password
      - username
      type: object
      properties:
        username:
          type: string
          description: Username
        password:
          type: string
          description: Password
      description: Auth config of the connection to the source cluster.
    StartStopReplicationRequest:
      type: object
      properties:
        schemaName:
          type: string
          description: 'Schema name for replication. If null: for allTables=true, no schema filtering is applied (replicates all schemas); for explicit table lists, unqualified table names default to PUBLIC schema. If specified, acts as default schema for unqualified table names or as schema filter for allTables=true.'
          nullable: true
        allTables:
          type: boolean
          description: If true, all tables will be replicated.
          nullable: true
        tables:
          type: array
          description: List of table names to be replicated.
          nullable: true
          items:
            type: string
      description: DTO for creating a cluster replication request.
    FlushRequest:
      type: object
      properties:
        flushPoint:
          type: string
          description: Flush point timestamp.
          format: date-time
      description: DTO for flush request.
    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.
    TableStatus:
      required:
      - status
      - table
      type: object
      properties:
        status:
          allOf:
          - $ref: '#/components/schemas/ReplicationStatus'
          - description: Current status of the table replication.
        table:
          type: string
          description: Table name
      description: Contains detailed information about a specific table replication process.
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
    bearerToken:
      type: http
      scheme: bearer