Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Status

Current state: "Under DiscussionAccepted"

Discussion thread: here

Voting thread: here

JIRA: here

Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).

...

where the connector properties are Java properties Properties files containing String key-value connector configurations.

...

The CLI will be updated to also accept JSON files containing the connector configurations (i.e. the optional additional CLI arguments can be either Java properties Properties files or JSON files). The JSON files could be -

  1. A simple JSON object containing only string key-value pairs representing the connector configuration (i.e. same as the existing request body format for the PUT /connectors/{connector}/config endpoint - see current OpenAPI specification).

    OR

  2. A JSON object containing the "name" string, "config" object and (optionally) "initial_state" of the connector (i.e. same as the request body format for the POST /connectors endpoint)


Users won't need to explicitly specify the type of the connector configuration file, nor will we rely on the file name extensions. Instead, the file will be parsed "intelligently" - i.e. we'll first attempt to parse it into the above two JSON structures before attempting to parse it into Java Properties if the JSON parsing is unsuccessful. This order of parsing is chosen because the Java Properties format is very permissive and there won't be any errors on attempting to parse a JSON file into Java Properties. The "intelligent" parsing will ensure the smoothest possible user experience.


Allowing specifying connector configurations as JSON files to the standalone mode startup CLI This change offers two benefits. One is that users will be able to copy and use examples across both the methods of connector creation (REST API requests with JSON request bodies in standalone / distributed mode and JSON files passed to the standalone mode startup CLI). The second benefit is that any future extensions to connector creation requests would be easily applied across both the methods consistently.

...