GridGain cdcManagement API

The cdcManagement API from GridGain — 9 operation(s) for cdcmanagement.

OpenAPI Specification

gridgain-cdcmanagement-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 cdcManagement 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: cdcManagement
paths:
  /management/v1/cdc/replications:
    get:
      tags:
      - cdcManagement
      summary: Get the list of CDC replications
      description: Returns the list of all CDC replications.
      operationId: getCdcReplications
      responses:
        '200':
          description: Returns the list of all replications.
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Replication'
        '404':
          description: No replications endpoint enabled. Most likely, the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal 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:
      - cdcManagement
      summary: Create CDC replication. CDC replication is identified by unique name. CDC replication has a type, parameters and a list of tables that should be replicated.
      description: Creates a CDC replication.
      operationId: createCdcReplication
      requestBody:
        description: Replication body.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Replication'
        required: true
      responses:
        '200':
          description: Replication is created.
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '400':
          description: Incorrect replication.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: Endpoint not found. Most likely, the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: The replication already exists
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
  /management/v1/cdc/replications/{name}:
    get:
      tags:
      - cdcManagement
      summary: Get CDC replication by name
      description: Returns a CDC replication.
      operationId: getCdcReplication
      parameters:
      - name: name
        in: path
        description: Name.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Returns a replication.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Replication'
        '404':
          description: No such replication or the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal 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:
      - cdcManagement
      summary: Start CDC replication by name
      description: Start a CDC replication by name.
      operationId: startCdcReplication
      parameters:
      - name: name
        in: path
        description: Replication name.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Replication is started.
        '404':
          description: No such replication or the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
    delete:
      tags:
      - cdcManagement
      summary: Delete CDC replication by name
      description: Deletes a CDC replication by name.
      operationId: deleteCdcReplication
      parameters:
      - name: name
        in: path
        description: Replication name.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Replication is deleted.
        '404':
          description: No such replication or the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal 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/cdc/replications/{name}/stop:
    post:
      tags:
      - cdcManagement
      summary: Stop CDC replication by name
      description: Stop a CDC replication by name.
      operationId: stopCdcReplication
      parameters:
      - name: name
        in: path
        description: Replication name.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Replication is started.
        '404':
          description: No such replication or the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal 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/cdc/sinks:
    get:
      tags:
      - cdcManagement
      summary: Get the list of CDC sinks
      description: Returns the list of all CDC sinks.
      operationId: getSinks
      responses:
        '200':
          description: Returns the list of all sinks.
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Sink'
        '404':
          description: No sources endpoint enabled. Most likely, the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal 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:
      - cdcManagement
      summary: Create CDC sink. CDC sink is identified by unique name. CDC sink has a type, parameters and a list of tables that should be replicated.
      description: Creates a CDC sink.
      operationId: createSink
      requestBody:
        description: Sink body.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Sink'
        required: true
      responses:
        '200':
          description: Sink is created.
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '400':
          description: Incorrect sink.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: Endpoint not found. Most likely, the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: The sink already exists
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
  /management/v1/cdc/sinks/{name}:
    get:
      tags:
      - cdcManagement
      summary: Get CDC sink by name
      description: Returns a CDC sink.
      operationId: getSink
      parameters:
      - name: name
        in: path
        description: Name.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Returns a sink.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Sink'
        '404':
          description: No such sink or the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
    put:
      tags:
      - cdcManagement
      summary: Update CDC sink
      description: Updates a CDC sink.
      operationId: updateSink
      parameters:
      - name: name
        in: path
        description: Name.
        required: true
        schema:
          type: string
      requestBody:
        description: Sink body.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Sink'
        required: true
      responses:
        '200':
          description: CDC sink is created.
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '400':
          description: Incorrect sink.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: Endpoint not found. Most likely, the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: The sink is already exists
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
    delete:
      tags:
      - cdcManagement
      summary: Delete CDC sink by name
      description: Deletes a CDC sink by name.
      operationId: deleteSink
      parameters:
      - name: name
        in: path
        description: Name.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Sink is deleted.
        '404':
          description: No such sink or the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal 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/cdc/sinks/{name}/status:
    get:
      tags:
      - cdcManagement
      summary: Get CDC sink status by name
      description: Returns a CDC sink status.
      operationId: getSinkStatus
      parameters:
      - name: name
        in: path
        description: Name.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Returns a sink status.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/SinkStatus'
        '404':
          description: No such sink or the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal 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/cdc/sources:
    get:
      tags:
      - cdcManagement
      summary: Get the list of CDC sources
      description: Returns the list of all CDC sources.
      operationId: getSources
      responses:
        '200':
          description: Returns the list of all sources.
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Source'
        '404':
          description: No sources endpoint enabled. Most likely, the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal 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:
      - cdcManagement
      summary: Create CDC source. CDC source is identified by unique name. CDC source has a type, parameters and a list of tables that should be replicated.
      description: Creates a CDC source.
      operationId: createSource
      requestBody:
        description: Source body.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Source'
        required: true
      responses:
        '200':
          description: Source is created.
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '400':
          description: Incorrect source.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: Endpoint not found. Most likely, the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: The source already exists
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
  /management/v1/cdc/sources/{name}:
    get:
      tags:
      - cdcManagement
      summary: Get CDC source by name
      description: Returns a CDC source.
      operationId: getSource
      parameters:
      - name: name
        in: path
        description: Name.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Returns a source.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Source'
        '404':
          description: No such source or the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
    put:
      tags:
      - cdcManagement
      summary: Update CDC source
      description: Updates a CDC source.
      operationId: updateSource
      parameters:
      - name: name
        in: path
        description: Name.
        required: true
        schema:
          type: string
      requestBody:
        description: Source body.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Source'
        required: true
      responses:
        '200':
          description: CDC source is created.
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '400':
          description: Incorrect source.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: Endpoint not found. Most likely, the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: The source is already exists
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
    delete:
      tags:
      - cdcManagement
      summary: Delete CDC source by name
      description: Deletes a CDC source by name.
      operationId: deleteSource
      parameters:
      - name: name
        in: path
        description: Name.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Source is deleted.
        '404':
          description: No such source or the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal 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/cdc/sources/{name}/status:
    get:
      tags:
      - cdcManagement
      summary: Get CDC source status by name
      description: Returns a CDC source status.
      operationId: getSourceStatus
      parameters:
      - name: name
        in: path
        description: Name.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Returns a source status.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/SourceStatus'
        '404':
          description: No such source or the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal 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:
    SourceTable:
      type: object
      properties:
        schema:
          type: string
          description: Table schema
        name:
          type: string
          description: Table name
      description: Source Table
    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.
    CdcReplicationStatus:
      type: string
      description: CDC replication status. {@see org.gridgain.internal.cdc.api.replication.CdcReplicationStatus}
      enum:
      - CREATED
      - RUNNING
      - STOPPED
      - FAILED
    ReplicationMode:
      type: string
      description: 'CDC replication mode.


        `ALL` - replicates all data from the source to the sink.


        `NEW_DATA` - replicates only new data that appears in the source after the replication is started.

        {@see org.gridgain.internal.cdc.api.replication.CdcReplicationMode}.'
      enum:
      - ALL
      - NEW_DATA
    Source:
      type: object
      properties:
        type:
          allOf:
          - $ref: '#/components/schemas/SourceType'
          - description: Type
        name:
          type: string
          description: Name
        parameters:
          type: object
          additionalProperties: true
          description: Parameters
        tables:
          type: array
          description: Tables
          items:
            $ref: '#/components/schemas/SourceTable'
      description: Source
    SinkStatus:
      type: object
      properties:
        sink:
          allOf:
          - $ref: '#/components/schemas/Sink'
          - description: Sink
        checks:
          type: array
          description: Checks
          items:
            $ref: '#/components/schemas/CheckResult'
      description: Sink status
    Replication:
      required:
      - executionNodes
      - mode
      - name
      - sinkName
      - sourceName
      type: object
      properties:
        name:
          type: string
        sinkName:
          type: string
        sourceName:
          type: string
        mode:
          $ref: '#/components/schemas/ReplicationMode'
        executionNodes:
          type: array
          items:
            type: string
        status:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/CdcReplicationStatus'
        errorContext:
          type: string
          nullable: true
      description: Cdc replication model.
    SinkType:
      type: string
      description: Type
      enum:
      - ICEBERG
      - GRIDGAIN_8
    CheckResult:
      type: object
      properties:
        name:
          type: string
          description: Violation name
        errorDetails:
          type: string
          description: Error details
          nullable: true
      description: Cdc sink/source check result
    SourceType:
      type: string
      description: Type
      enum:
      - GRIDGAIN
    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.
    Sink:
      type: object
      properties:
        type:
          allOf:
          - $ref: '#/components/schemas/SinkType'
          - description: Type
        name:
          type: string
          description: Name
        parameters:
          type: object
          additionalProperties: true
          description: Parameters
        createTableIfNotExists:
          type: boolean
          description: Create table if not exists
          default: true
      description: Sink
    SourceStatus:
      type: object
      properties:
        source:
          allOf:
          - $ref: '#/components/schemas/Source'
          - description: Source
        violations:
          type: array
          description: Checks
          items:
            $ref: '#/components/schemas/CheckResult'
      description: Source status
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
    bearerToken:
      type: http
      scheme: bearer