Skip to main content

Validate a Managed Connector Plugin

PUT 

/connect/v1/environments/:environment_id/clusters/:kafka_cluster_id/connector-plugins/:plugin_name/config/validate

General Availability

Validate the provided configuration values against the configuration definition. This API performs per config validation and returns suggested values and validation error messages.

Request

Responses

Connector Plugin.

OpenAPI definition (YAML)
paths:
  /connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins/{plugin_name}/config/validate:
    put:
      x-lifecycle-stage: General Availability
      operationId: validateConnectv1ConnectorPlugin
      description: '[![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)


        Validate the provided configuration values against the configuration definition. This API performs
        per config validation and returns suggested values and validation error messages.'
      tags:
      - Managed Connector Plugins (connect/v1)
      security:
      - cloud-api-key: []
      - confluent-sts-access-token: []
      responses:
        '200':
          description: Connector Plugin.
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                    description: The class name of the connector plugin.
                  groups:
                    type: array
                    description: The list of groups used in configuration definitions.
                    items:
                      type: string
                  error_count:
                    type: integer
                    description: The total number of errors encountered during configuration validation.
                  configs:
                    type: array
                    items:
                      type: object
                      properties:
                        definition:
                          type: object
                          description: The definition for a config in the connector plugin, which includes
                            the name, type, importance, etc.
                          properties:
                            name:
                              type: string
                              description: The name of the configuration
                            type:
                              type: string
                              enum:
                              - NONE
                              - BOOLEAN
                              - INT
                              - SHORT
                              - LONG
                              - DOUBLE
                              - STRING
                              - LIST
                              - ENUM
                              - PASSWORD
                              description: The config types
                            required:
                              type: boolean
                              description: Whether this configuration is required
                            default_value:
                              type: string
                              description: Default value for this configuration
                            importance:
                              type: string
                              enum:
                              - NONE
                              - HIGH
                              - MEDIUM
                              - LOW
                              description: The importance level for a configuration
                            documentation:
                              type: string
                              description: The documentation for the configuration
                            group:
                              type: string
                              description: The UI group to which the configuration belongs to
                            width:
                              type: string
                              enum:
                              - NONE
                              - SHORT
                              - MEDIUM
                              - LONG
                              description: The width of a configuration value
                            display_name:
                              type: string
                            dependents:
                              type: array
                              description: Other configurations on which this configuration is dependent
                              items:
                                type: string
                            order:
                              type: integer
                              description: The order of configuration in specified group
                            alias:
                              type: string
                        value:
                          type: object
                          description: The current value for a config, which includes the name, value,
                            recommended values, etc.
                          properties:
                            name:
                              type: string
                              description: The name of the configuration
                            value:
                              type: string
                              description: The value for the configuration
                            recommended_values:
                              type: array
                              description: The list of valid values for the configuration
                              items:
                                type: string
                            errors:
                              type: array
                              description: Errors, if any, in the configuration value
                              items:
                                type: string
                            visible:
                              type: boolean
                              description: 'The visibility of the configuration. Based on the values of
                                other configuration

                                fields, this visibility boolean value points out if the current field
                                should be

                                visible or not.'
                        metadata:
                          type: object
                          description: 'Map of metadata details about the connector configuration, such
                            as type of

                            input, etc.'
              example:
                name: io.confluent.connect.gcs.GcsSinkConnector
                groups:
                - Organize my data by...
                - Which topics do you want to get data from?
                - Messages
                - How should we connect to your data?
                - Google Cloud Storage details
                - Kafka Cluster credentials
                - Number of tasks for this connector
                error_count: 1
                configs:
                - definition:
                    name: name
                    type: STRING
                    required: true
                    default_value: ''
                    importance: HIGH
                    documentation: Sets a name for your connector.
                    group: How should we connect to your data?
                    width: NONE
                    display_name: Connector name
                    dependents: []
                    order: 2
                    alias: ''
                  value:
                    name: name
                    value: '{{.logicalClusterId}}'
                    recommended_values: []
                    errors: []
                    visible: true
                  metadata: {}
                - definition:
                    name: connector.class
                    type: STRING
                    required: true
                    default_value: ''
                    importance: HIGH
                    documentation: ''
                    group: How should we connect to your data?
                    width: NONE
                    display_name: Connector class
                    dependents: []
                    order: 1
                    alias: ''
                  value:
                    name: connector.class
                    value: io.confluent.connect.gcs.GcsSinkConnector
                    recommended_values: []
                    errors: []
                    visible: true
                  metadata: {}
                - definition:
                    name: kafka.api.key
                    type: PASSWORD
                    required: true
                    default_value: ''
                    importance: HIGH
                    documentation: ''
                    group: Kafka Cluster credentials
                    width: NONE
                    display_name: Kafka API Key
                    dependents: []
                    order: 1
                    alias: ''
                  value:
                    name: kafka.api.key
                    value: ''
                    recommended_values: []
                    errors: []
                    visible: true
                  metadata: {}
                - definition:
                    name: kafka.api.secret
                    type: PASSWORD
                    required: true
                    default_value: ''
                    importance: HIGH
                    documentation: ''
                    group: Kafka Cluster credentials
                    width: NONE
                    display_name: Kafka API Secret
                    dependents:
                    - kafka.api.key
                    order: 2
                    alias: ''
                  value:
                    name: kafka.api.secret
                    value: ''
                    recommended_values: []
                    errors: []
                    visible: true
                  metadata: {}
                - definition:
                    name: topics
                    type: LIST
                    required: true
                    default_value: ''
                    importance: HIGH
                    documentation: Identifies the topic name or a comma-separated list of topic names.
                    group: Which topics do you want to get data from?
                    width: NONE
                    display_name: Topic names
                    dependents: []
                    order: 1
                    alias: ''
                  value:
                    name: topics
                    value: test1
                    recommended_values: []
                    errors: []
                    visible: true
                  metadata: {}
                - definition:
                    name: data.format
                    type: STRING
                    required: true
                    default_value: ''
                    importance: HIGH
                    documentation: Sets the input/output message format. Valid entries are AVRO, JSON,
                      or BYTES
                    group: Messages
                    width: NONE
                    display_name: Message format
                    dependents: []
                    order: 1
                    alias: ''
                  value:
                    name: data.format
                    value: BYTES
                    recommended_values:
                    - BYTES
                    - JSON
                    - AVRO
                    errors: []
                    visible: true
                  metadata: {}
                - definition:
                    name: gcs.credentials.config
                    type: PASSWORD
                    required: true
                    default_value: ''
                    importance: HIGH
                    documentation: Contents of the downloaded GCP service account JSON file.
                    group: Google Cloud Storage details
                    width: NONE
                    display_name: Google Cloud Storage credentials.
                    dependents: []
                    order: 1
                    alias: ''
                  value:
                    name: gcs.credentials.config
                    value: ''
                    recommended_values: []
                    errors: []
                    visible: true
                  metadata: {}
                - definition:
                    name: gcs.bucket.name
                    type: STRING
                    required: true
                    default_value: ''
                    importance: HIGH
                    documentation: A Google Cloud Storage bucket must be in the same region as your Confluent
                      Cloud cluster.
                    group: Google Cloud Storage details
                    width: NONE
                    display_name: Bucket name.
                    dependents: []
                    order: 2
                    alias: ''
                  value:
                    name: gcs.bucket.name
                    value: gmagare
                    recommended_values: []
                    errors: []
                    visible: true
                  metadata: {}
                - definition:
                    name: time.interval
                    type: STRING
                    required: true
                    default_value: ''
                    importance: HIGH
                    documentation: Sets how your messages grouped in storage. Valid entries are DAILY
                      or HOURLY.
                    group: Organize my data by...
                    width: NONE
                    display_name: Time interval
                    dependents: []
                    order: 1
                    alias: ''
                  value:
                    name: time.interval
                    value: DAILY
                    recommended_values:
                    - DAILY
                    - HOURLY
                    errors: []
                    visible: true
                  metadata: {}
                - definition:
                    name: tasks.max
                    type: INT
                    required: true
                    default_value: ''
                    importance: HIGH
                    documentation: ''
                    group: Number of tasks for this connector
                    width: NONE
                    display_name: Tasks
                    dependents: []
                    order: 1
                    alias: ''
                  value:
                    name: tasks.max
                    value: '1'
                    recommended_values: []
                    errors: []
                    visible: true
                  metadata: {}
                - definition:
                    name: flush.size
                    type: INT
                    required: true
                    default_value: '1000'
                    importance: HIGH
                    documentation: This value defaults to 1000. For example, if you use the default setting
                      of 1000 and your topic has six partitions, files start to be created in the storage
                      bucket after more than 1000 records exist in each partition. Note that the default
                      value of 1000 can be increased if needed.
                    group: Organize my data by...
                    width: NONE
                    display_name: Flush size
                    dependents: []
                    order: 2
                    alias: ''
                  value:
                    name: flush.size
                    value: '1'
                    recommended_values: []
                    errors:
                    - '"flush.size" should be greater than or equal to 1000'
                    visible: true
                  metadata: {}
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    description: Connector Error with error code and message.
                    properties:
                      code:
                        type: integer
                        description: Error code for the type of error
                      message:
                        type: string
                        description: Human readable error message
                title: connect.v1.ConnectorError
              example:
                error:
                  code: 401
                  message: Unauthorized
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    description: Connector Error with error code and message.
                    properties:
                      code:
                        type: integer
                        description: Error code for the type of error
                      message:
                        type: string
                        description: Human readable error message
                title: connect.v1.ConnectorError
              example:
                error:
                  code: 404
                  message: resource not found
        '429':
          description: Rate Limit Exceeded
          headers:
            X-Request-Id:
              schema:
                type: string
              description: The unique identifier for the API request.
            X-RateLimit-Limit:
              schema:
                type: integer
              description: The maximum number of requests you're permitted to make per time period.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: The number of requests remaining in the current rate limit window.
            X-RateLimit-Reset:
              schema:
                type: integer
              description: "The relative time in seconds until the current rate-limit window resets. \
                \ \n  \n**Important:** This differs from Github and Twitter's same-named header which\
                \ uses UTC epoch seconds. We use relative time to avoid client/server time synchronization\
                \ issues."
            Retry-After:
              schema:
                type: integer
              description: The number of seconds to wait until the rate limit window resets. Only sent
                when the rate limit is reached.
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    description: Connector Error with error code and message.
                    properties:
                      code:
                        type: integer
                        description: Error code for the type of error
                      message:
                        type: string
                        description: Human readable error message
                title: connect.v1.ConnectorError
              example:
                error:
                  code: 500
                  message: Oops, something went wrong
      requestBody:
        content:
          application/json:
            schema:
              type: object
              description: Configuration parameters for the connector. All values should be strings.
              additionalProperties:
                type: string
                description: Other configuration parameters for the connector. All values should be strings.
                  See the connector's docs for the list of options.
            example:
              cloud.environment: prod
              cloud.provider: aws
              connector.class: GcsSink
              data.format: BYTES
              flush.size: '500'
              gcs.bucket.name: APILogsBucket
              gcs.credentials.config: '****************'
              kafka.api.key: '****************'
              kafka.api.secret: '****************'
              kafka.endpoint: SASL_SSL://pkc-xxxxx.us-west-2.aws.confluent.cloud:9092
              kafka.region: us-west-2
              name: MyGcsLogsBucketConnector
              tasks.max: '2'
              time.interval: DAILY
              topics: APILogsTopic
        description: Configuration parameters for the connector. All values should be strings.
      parameters:
      - name: plugin_name
        in: path
        schema:
          type: string
        required: true
        description: The unique name of the connector plugin.
      - name: environment_id
        in: path
        schema:
          type: string
        required: true
        description: The unique identifier of the environment this resource belongs to.
      - name: kafka_cluster_id
        in: path
        schema:
          type: string
        required: true
        description: The unique identifier for the Kafka cluster.
      servers:
      - url: https://api.confluent.cloud
        description: Confluent Cloud API
      jsonRequestBodyExample: {}