VAST Data kafkabroker API

Kafka Broker is the VAST Event Broker. Event publishing is available for S3 bucket views. In the context of event publishing, an event is a change that has occurred for an element in VAST Element Store, such as creation of a new object in an S3 bucket. When a certain event is encountered, the cluster can send a JSON record of it to the connected Kafka broker, where the information can be consumed by applications.

OpenAPI Specification

vastdata-kafkabroker-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  description: VAST Management API definition
  title: VAST API Swagger Schema activedirectory kafkabroker API
  version: '1.0'
security:
- ApiToken: []
tags:
- description: Kafka Broker is the VAST Event Broker. Event publishing is available for S3 bucket views. In the context of event publishing, an event is a change that has occurred for an element in VAST Element Store, such as creation of a new object in an S3 bucket. When a certain event is encountered, the cluster can send a JSON record of it to the connected Kafka broker, where the information can be consumed by applications.
  name: kafkabroker
paths:
  /eventbrokers/:
    get:
      description: This endpoint list external kafka broker configuration
      operationId: kafkabroker_list
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/KafkaBrokerConfig'
                type: array
          description: External Kafka Broker Configuration
      summary: List of External Kafka Broker Configuration
      tags:
      - kafkabroker
    post:
      description: This endpoint creates an External Kafka Broker Configuration.
      operationId: kafkabroker_create
      requestBody:
        content:
          application/json:
            schema:
              properties:
                addresses:
                  description: List of Kafka server addresses
                  items:
                    $ref: '#/components/schemas/KafkaBrokerAddressParams'
                  type: array
                  x-cli-header: Addresses
                name:
                  description: Name of the Kafka broker configuration
                  type: string
                tenant_id:
                  description: Tenant ID. If missing, accessed by all tenant
                  type: integer
              required:
              - name
              - addresses
              type: object
        x-originalParamName: KafkaBrokerCreateParams
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KafkaBrokerConfig'
          description: External Kafka Broker Configuration
      summary: Create External Kafka Broker Configuration
      tags:
      - kafkabroker
  /eventbrokers/{id}/:
    delete:
      description: This endpoint deletes an External Kafka Broker Configuration.
      operationId: kafkabroker_delete
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '204':
          description: ''
      summary: Delete external kafka broker configuration
      tags:
      - kafkabroker
    get:
      description: This endpoint show external kafka broker configuration
      operationId: kafkabroker_read
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KafkaBrokerConfig'
          description: External Kafka Broker Configuration
      tags:
      - kafkabroker
    patch:
      description: This endpoint modifies an External Kafka Broker Configuration.
      operationId: kafkabroker_partial_update
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                addresses:
                  description: List of Kafka server addresses
                  items:
                    $ref: '#/components/schemas/KafkaBrokerAddressParams'
                  type: array
                  x-cli-header: Addresses
                name:
                  description: Name of the Kafka broker configuration
                  type: string
                tenant_id:
                  description: Tenant ID. If missing, accessed by all tenant
                  type: integer
              type: object
        x-originalParamName: KafkaBrokerModifyParams
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KafkaBrokerConfig'
          description: ''
      summary: Manage external kafka broker configuration
      tags:
      - kafkabroker
  /eventbrokers/{id}/list_topics:
    get:
      description: This endpoint show custom action to retrieve Kafka topics for the specified broker. You can filter topics by name.
      operationId: kafkabroker_list_topics
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      - in: query
        name: topic_name_filter
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  type: string
                type: array
          description: A list of Kafka topics
      summary: Retrieve Kafka topics for the specified broker
      tags:
      - kafkabroker
  /kafkabrokers/:
    get:
      description: This endpoint lists external kafka broker configurations
      operationId: kafkabroker_list
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/KafkaBrokerConfig'
                type: array
          description: External Kafka Broker Configuration
      summary: List of External Kafka Broker Configuration
      tags:
      - kafkabroker
    post:
      description: This endpoint creates an external Kafka broker configuration.
      operationId: kafkabroker_create
      requestBody:
        content:
          application/json:
            schema:
              properties:
                addresses:
                  description: List of Kafka server addresses
                  items:
                    $ref: '#/components/schemas/KafkaBrokerAddressParams'
                  type: array
                  x-cli-header: Addresses
                certificate_set_id:
                  description: Certificate Set ID
                  type: integer
                hostname_verification_enabled:
                  description: Hostname verification is enabled when mTLS certificate is used
                  type: boolean
                name:
                  description: Name of the Kafka broker configuration
                  type: string
                tenant_id:
                  description: Tenant ID. If missing, accessed by all tenants
                  type: integer
              required:
              - name
              - addresses
              type: object
        x-originalParamName: KafkaBrokerCreateParams
      responses:
        '201':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/KafkaBrokerConfig'
                title: KafkaBrokerConfig
                type: array
          description: External Kafka Broker Configuration
      summary: Create External Kafka Broker Configuration
      tags:
      - kafkabroker
  /kafkabrokers/{id}/:
    delete:
      description: This endpoint deletes an external kafka broker configuration.
      operationId: kafkabroker_delete
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '204':
          description: ''
      summary: Delete External Kafka Broker Configuration
      tags:
      - kafkabroker
    get:
      description: This endpoint returns details of an external kafka broker configuration.
      operationId: kafkabroker_read
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KafkaBrokerConfig'
          description: External Kafka Broker Configuration
      summary: Return External Kafka Broker Configuration
      tags:
      - kafkabroker
    patch:
      description: This endpoint modifies an external Kafka broker configuration.
      operationId: kafkabroker_partial_update
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                addresses:
                  description: List of Kafka server addresses
                  items:
                    $ref: '#/components/schemas/KafkaBrokerAddressParams'
                  type: array
                  x-cli-header: Addresses
                certificate_set_id:
                  description: Certificate Set ID
                  type: integer
                hostname_verification_enabled:
                  description: Hostname verification is enabled when mTLS certificate is used
                  type: boolean
                name:
                  description: Name of the Kafka broker configuration
                  type: string
                tenant_id:
                  description: Tenant ID. If missing, accessed by all tenants.
                  type: integer
              type: object
        x-originalParamName: KafkaBrokerModifyParams
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KafkaBrokerConfig'
          description: ''
      summary: Modify External Kafka Broker Configuration
      tags:
      - kafkabroker
  /kafkabrokers/{id}/list_topics:
    get:
      description: This endpoint retrieves Kafka topics for a specified broker. You can filter topics by name.
      operationId: kafkabroker_list_topics
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      - in: query
        name: topic_name_filter
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  type: string
                type: array
          description: A list of Kafka topics
      summary: Retrieve Kafka Topics for a Kafka Broker
      tags:
      - kafkabroker
components:
  schemas:
    KafkaBrokerConfig:
      properties:
        addresses:
          description: List of Kafka server addresses
          items:
            $ref: '#/components/schemas/KafkaBrokerAddressParams'
          type: array
          x-cli-header: Addresses
        certificate_set_id:
          description: Certificate Set ID
          type: integer
          x-cli-header: Certificate Set ID
        guid:
          type: string
        hostname_verification_enabled:
          description: Hostname verification is enabled when mTLS certificate is used
          type: boolean
        id:
          description: Kafka broker configuration ID
          type: integer
          x-cli-header: ID
        name:
          description: Name of the Kafka broker configuration
          type: string
          x-cli-header: Name
        tenant_id:
          description: Tenant ID. If missing, accessed by all tenants
          type: integer
          x-cli-header: Tenant-ID
      type: object
    KafkaBrokerAddressParams:
      properties:
        host:
          description: IP or hostname of a Kafka broker server
          type: string
          x-cli-header: Host
        port:
          description: Port of a Kafka broker server
          type: integer
          x-cli-header: Port
      type: object
  securitySchemes:
    ApiToken:
      description: Send current valid API token in an Authorization header with format Api-Token <token>.
      in: header
      name: ApiToken
      type: apiKey
    basicAuth:
      description: Basic authentication using VMS user name and password
      scheme: basic
      type: http