...
- Drafts
User wants to add a new draft or save the pipeline he is working as a draft
- User can update an existing draft of a pipeline as new version – previous version of pipelines are saved (upto 20 versions)
- User can go back to previous version of draft or for any version of draft
- User wants to retrieve the latest version of draft for a pipeline
- User wants to view all available pipeline drafts across all users
- User wants the ability to write a pipeline draft
- User has access to only those pipelines that are available in the namespace the user is in.
- Plugin Output Schema
- User using DB-Source wants to enter connection-string, table name and automatically populate table schema information.
- User using TeraData-Source wants to enter connection-string, table name and automatically populate table schema information.
- List Field values
- User provides connection-string, user-name and password and expects list of available tables returned in DB-Source.
- User provides initial-address, key-space, user-name and password for key space and expects list of available column families in Cassandra.
- User provides either kafka-broker or zoo-keeper connection string and expects the list of available kafka topics.
- User provides elastic search hostname and expects the list of available indexes to choose from.
- User provides connection-string, user-name and password and expects list of available tables returned in DB-Source.
Proposed REST APIs
HTTP Request Type | Endpoint | Request Body | Response Status | Response Body | ||||||||||
POST | /extensions/hydrator/drafts/{draft-name} | 200 OK: draft created and saved successfully 409 CONFLICT: draft-name already exists 500 Error: while creating the draft | ||||||||||||
PUT | /extensions/hydrator/drafts/{draft-name} | 200 OK: draft updated successfully 404 NOT Found : draft doesn't exist already, cannot be updated. 500 Error while updating the draft | ||||||||||||
GET | /extensions/hydrator/drafts/{draft-name} | 200 return the draft identified by the draft-name 404 draft not found 500 error while getting draft |
| |||||||||||
GET | /extensions/hydrator/drafts/ | 200 return the list of all saved drafts 500 error | [ "streamToTPFS", "DBToHBase", ... ] | |||||||||||
DELETE | /extensions/hydrator/drafts/ | 200 successfully deleted all drafts 500 error while deleting | ||||||||||||
DELETE | /extensions/hydrator/drafts/{draft-name} | 200 successfully deleted the specified draft 404 draft does not exist 500 error while deleting | ||||||||||||
POST | /extensions/hydrator/plugins/{plugin-name}/schema |
| 200 based on the plugin and plugin-properties determine output schema and return output schema 404 unrecognized plugin-name 500 Error |
| ||||||||||
POST | /extensions/hydrator/plugins/{plugin-name}/list QueryParam : target Example: target=table | Example:
| For the specified plugin, based on the provided connection information, get the list of available target field and return the list. 200 , list of available values for target type field. Example: list of tables in a database. 500 error while retrieving. |
|
Design
...