diff --git a/component.json b/component.json new file mode 100644 index 0000000..b83c613 --- /dev/null +++ b/component.json @@ -0,0 +1,513 @@ +{ + "component": { + "kind": "component", + "name": "flink", + "title": "Flink", + "description": "Send DataSet jobs to an Apache Flink cluster.", + "deprecated": false, + "firstVersion": "1.1.0", + "label": "transformation,bigdata", + "javaType": "org.apache.camel.component.flink.FlinkComponent", + "supportLevel": "Preview", + "metadata": { + "quarkusVersion": "3.36.0", + "camelArtifact": "org.apache.camel:camel-flink", + "camelVersion": "4.20.0" + }, + "groupId": "org.apache.camel.quarkus", + "artifactId": "camel-quarkus-flink", + "version": "4.20.0 (CEQ 3.36.0)", + "scheme": "flink", + "extendsScheme": "", + "syntax": "flink:endpointType", + "async": false, + "api": false, + "consumerOnly": false, + "producerOnly": true, + "lenientProperties": false, + "browsable": false, + "remote": true + }, + "componentProperties": { + "dataSetCallback": { + "index": 0, + "kind": "property", + "displayName": "Data Set Callback", + "group": "producer", + "label": "", + "required": false, + "type": "object", + "javaType": "org.apache.camel.component.flink.DataSetCallback", + "deprecated": true, + "autowired": false, + "secret": false, + "description": "Function performing action against a DataSet." + }, + "dataStream": { + "index": 1, + "kind": "property", + "displayName": "Data Stream", + "group": "producer", + "label": "", + "required": false, + "type": "object", + "javaType": "org.apache.flink.streaming.api.datastream.DataStream", + "deprecated": false, + "autowired": false, + "secret": false, + "description": "DataStream to compute against." + }, + "dataStreamCallback": { + "index": 2, + "kind": "property", + "displayName": "Data Stream Callback", + "group": "producer", + "label": "", + "required": false, + "type": "object", + "javaType": "org.apache.camel.component.flink.DataStreamCallback", + "deprecated": false, + "autowired": false, + "secret": false, + "description": "Function performing action against a DataStream." + }, + "lazyStartProducer": { + "index": 3, + "kind": "property", + "displayName": "Lazy Start Producer", + "group": "producer", + "label": "producer", + "required": false, + "type": "boolean", + "javaType": "boolean", + "deprecated": false, + "autowired": false, + "secret": false, + "defaultValue": false, + "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." + }, + "autowiredEnabled": { + "index": 4, + "kind": "property", + "displayName": "Autowired Enabled", + "group": "advanced", + "label": "advanced", + "required": false, + "type": "boolean", + "javaType": "boolean", + "deprecated": false, + "autowired": false, + "secret": false, + "defaultValue": true, + "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." + } + }, + "headers": { + "CamelFlinkDataSet": { + "index": 0, + "kind": "header", + "displayName": "", + "group": "producer", + "label": "", + "required": false, + "javaType": "Object", + "deprecated": false, + "deprecationNote": "", + "autowired": false, + "secret": false, + "description": "The dataset", + "constantName": "org.apache.camel.component.flink.FlinkConstants#FLINK_DATASET_HEADER" + }, + "CamelFlinkDataSetCallback": { + "index": 1, + "kind": "header", + "displayName": "", + "group": "producer", + "label": "", + "required": false, + "javaType": "org.apache.camel.component.flink.DataSetCallback", + "deprecated": false, + "deprecationNote": "", + "autowired": false, + "secret": false, + "description": "The dataset callback", + "constantName": "org.apache.camel.component.flink.FlinkConstants#FLINK_DATASET_CALLBACK_HEADER" + }, + "CamelFlinkDataStream": { + "index": 2, + "kind": "header", + "displayName": "", + "group": "producer", + "label": "", + "required": false, + "javaType": "Object", + "deprecated": false, + "deprecationNote": "", + "autowired": false, + "secret": false, + "description": "The data stream", + "constantName": "org.apache.camel.component.flink.FlinkConstants#FLINK_DATASTREAM_HEADER" + }, + "CamelFlinkDataStreamCallback": { + "index": 3, + "kind": "header", + "displayName": "", + "group": "producer", + "label": "", + "required": false, + "javaType": "org.apache.camel.component.flink.DataStreamCallback", + "deprecated": false, + "deprecationNote": "", + "autowired": false, + "secret": false, + "description": "The data stream callback", + "constantName": "org.apache.camel.component.flink.FlinkConstants#FLINK_DATASTREAM_CALLBACK_HEADER" + } + }, + "properties": { + "endpointType": { + "index": 0, + "kind": "path", + "displayName": "Endpoint Type", + "group": "producer", + "label": "", + "required": true, + "type": "enum", + "javaType": "org.apache.camel.component.flink.EndpointType", + "enum": [ + "dataset", + "datastream" + ], + "deprecated": false, + "deprecationNote": "", + "autowired": false, + "secret": false, + "description": "Type of the endpoint (dataset, datastream)." + }, + "collect": { + "index": 1, + "kind": "parameter", + "displayName": "Collect", + "group": "producer", + "label": "", + "required": false, + "type": "boolean", + "javaType": "boolean", + "deprecated": false, + "autowired": false, + "secret": false, + "defaultValue": true, + "description": "Indicates if results should be collected or counted." + }, + "dataSet": { + "index": 2, + "kind": "parameter", + "displayName": "Data Set", + "group": "producer", + "label": "", + "required": false, + "type": "object", + "javaType": "org.apache.flink.api.java.DataSet", + "deprecated": false, + "autowired": false, + "secret": false, + "description": "DataSet to compute against." + }, + "dataSetCallback": { + "index": 3, + "kind": "parameter", + "displayName": "Data Set Callback", + "group": "producer", + "label": "", + "required": false, + "type": "object", + "javaType": "org.apache.camel.component.flink.DataSetCallback", + "deprecated": false, + "autowired": false, + "secret": false, + "description": "Function performing action against a DataSet." + }, + "dataStream": { + "index": 4, + "kind": "parameter", + "displayName": "Data Stream", + "group": "producer", + "label": "", + "required": false, + "type": "object", + "javaType": "org.apache.flink.streaming.api.datastream.DataStream", + "deprecated": false, + "autowired": false, + "secret": false, + "description": "DataStream to compute against." + }, + "dataStreamCallback": { + "index": 5, + "kind": "parameter", + "displayName": "Data Stream Callback", + "group": "producer", + "label": "", + "required": false, + "type": "object", + "javaType": "org.apache.camel.component.flink.DataStreamCallback", + "deprecated": false, + "autowired": false, + "secret": false, + "description": "Function performing action against a DataStream." + }, + "checkpointingMode": { + "index": 6, + "kind": "parameter", + "displayName": "Checkpointing Mode", + "group": "producer (advanced)", + "label": "producer,advanced", + "required": false, + "type": "enum", + "javaType": "java.lang.String", + "enum": [ + "EXACTLY_ONCE", + "AT_LEAST_ONCE" + ], + "deprecated": false, + "autowired": false, + "secret": false, + "description": "Checkpointing mode: EXACTLY_ONCE (default) or AT_LEAST_ONCE. EXACTLY_ONCE provides stronger guarantees but may have higher overhead." + }, + "checkpointInterval": { + "index": 7, + "kind": "parameter", + "displayName": "Checkpoint Interval", + "group": "producer (advanced)", + "label": "producer,advanced", + "required": false, + "type": "integer", + "javaType": "java.lang.Long", + "deprecated": false, + "autowired": false, + "secret": false, + "description": "Interval in milliseconds between checkpoints. Enables checkpointing when set. Recommended for streaming jobs to ensure fault tolerance." + }, + "checkpointTimeout": { + "index": 8, + "kind": "parameter", + "displayName": "Checkpoint Timeout", + "group": "producer (advanced)", + "label": "producer,advanced", + "required": false, + "type": "integer", + "javaType": "java.lang.Long", + "deprecated": false, + "autowired": false, + "secret": false, + "description": "Timeout in milliseconds for checkpoints. Checkpoints that take longer will be aborted." + }, + "executionMode": { + "index": 9, + "kind": "parameter", + "displayName": "Execution Mode", + "group": "producer (advanced)", + "label": "producer,advanced", + "required": false, + "type": "enum", + "javaType": "java.lang.String", + "enum": [ + "STREAMING", + "BATCH", + "AUTOMATIC" + ], + "deprecated": false, + "autowired": false, + "secret": false, + "description": "Execution mode for the Flink job. Options: STREAMING (default), BATCH, AUTOMATIC. BATCH mode is recommended for bounded streams (batch processing)." + }, + "jobName": { + "index": 10, + "kind": "parameter", + "displayName": "Job Name", + "group": "producer (advanced)", + "label": "producer,advanced", + "required": false, + "type": "string", + "javaType": "java.lang.String", + "deprecated": false, + "autowired": false, + "secret": false, + "description": "Name for the Flink job. Useful for identification in the Flink UI and logs." + }, + "lazyStartProducer": { + "index": 11, + "kind": "parameter", + "displayName": "Lazy Start Producer", + "group": "producer (advanced)", + "label": "producer,advanced", + "required": false, + "type": "boolean", + "javaType": "boolean", + "deprecated": false, + "autowired": false, + "secret": false, + "defaultValue": false, + "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." + }, + "maxParallelism": { + "index": 12, + "kind": "parameter", + "displayName": "Max Parallelism", + "group": "producer (advanced)", + "label": "producer,advanced", + "required": false, + "type": "integer", + "javaType": "java.lang.Integer", + "deprecated": false, + "autowired": false, + "secret": false, + "description": "Maximum parallelism for the Flink job. Defines the upper bound for dynamic scaling and the number of key groups for stateful operators." + }, + "minPauseBetweenCheckpoints": { + "index": 13, + "kind": "parameter", + "displayName": "Min Pause Between Checkpoints", + "group": "producer (advanced)", + "label": "producer,advanced", + "required": false, + "type": "integer", + "javaType": "java.lang.Long", + "deprecated": false, + "autowired": false, + "secret": false, + "description": "Minimum pause in milliseconds between consecutive checkpoints. Helps prevent checkpoint storms under heavy load." + }, + "parallelism": { + "index": 14, + "kind": "parameter", + "displayName": "Parallelism", + "group": "producer (advanced)", + "label": "producer,advanced", + "required": false, + "type": "integer", + "javaType": "java.lang.Integer", + "deprecated": false, + "autowired": false, + "secret": false, + "description": "Parallelism for the Flink job. If not set, uses the default parallelism of the execution environment." + } + }, + "propertiesSchema": { + "properties": { + "endpointType": { + "title": "Endpoint Type", + "description": "Type of the endpoint (dataset, datastream).", + "type": "string", + "enum": [ + "dataset", + "datastream" + ], + "$comment": "group:producer" + }, + "collect": { + "title": "Collect", + "description": "Indicates if results should be collected or counted.", + "type": "boolean", + "$comment": "group:producer", + "default": true + }, + "dataSet": { + "title": "Data Set", + "description": "DataSet to compute against.", + "type": "string", + "$comment": "group:producer", + "format": "bean:org.apache.flink.api.java.DataSet" + }, + "dataSetCallback": { + "title": "Data Set Callback", + "description": "Function performing action against a DataSet.", + "type": "string", + "$comment": "group:producer", + "format": "bean:org.apache.camel.component.flink.DataSetCallback" + }, + "dataStream": { + "title": "Data Stream", + "description": "DataStream to compute against.", + "type": "string", + "$comment": "group:producer", + "format": "bean:org.apache.flink.streaming.api.datastream.DataStream" + }, + "dataStreamCallback": { + "title": "Data Stream Callback", + "description": "Function performing action against a DataStream.", + "type": "string", + "$comment": "group:producer", + "format": "bean:org.apache.camel.component.flink.DataStreamCallback" + }, + "checkpointingMode": { + "title": "Checkpointing Mode", + "description": "Checkpointing mode: EXACTLY_ONCE (default) or AT_LEAST_ONCE. EXACTLY_ONCE provides stronger guarantees but may have higher overhead.", + "type": "string", + "enum": [ + "EXACTLY_ONCE", + "AT_LEAST_ONCE" + ], + "$comment": "group:producer (advanced)" + }, + "checkpointInterval": { + "title": "Checkpoint Interval", + "description": "Interval in milliseconds between checkpoints. Enables checkpointing when set. Recommended for streaming jobs to ensure fault tolerance.", + "type": "integer", + "$comment": "group:producer (advanced)" + }, + "checkpointTimeout": { + "title": "Checkpoint Timeout", + "description": "Timeout in milliseconds for checkpoints. Checkpoints that take longer will be aborted.", + "type": "integer", + "$comment": "group:producer (advanced)" + }, + "executionMode": { + "title": "Execution Mode", + "description": "Execution mode for the Flink job. Options: STREAMING (default), BATCH, AUTOMATIC. BATCH mode is recommended for bounded streams (batch processing).", + "type": "string", + "enum": [ + "STREAMING", + "BATCH", + "AUTOMATIC" + ], + "$comment": "group:producer (advanced)" + }, + "jobName": { + "title": "Job Name", + "description": "Name for the Flink job. Useful for identification in the Flink UI and logs.", + "type": "string", + "$comment": "group:producer (advanced)" + }, + "lazyStartProducer": { + "title": "Lazy Start Producer", + "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.", + "type": "boolean", + "$comment": "group:producer (advanced)", + "default": false + }, + "maxParallelism": { + "title": "Max Parallelism", + "description": "Maximum parallelism for the Flink job. Defines the upper bound for dynamic scaling and the number of key groups for stateful operators.", + "type": "integer", + "$comment": "group:producer (advanced)" + }, + "minPauseBetweenCheckpoints": { + "title": "Min Pause Between Checkpoints", + "description": "Minimum pause in milliseconds between consecutive checkpoints. Helps prevent checkpoint storms under heavy load.", + "type": "integer", + "$comment": "group:producer (advanced)" + }, + "parallelism": { + "title": "Parallelism", + "description": "Parallelism for the Flink job. If not set, uses the default parallelism of the execution environment.", + "type": "integer", + "$comment": "group:producer (advanced)" + } + }, + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": [ + "endpointType" + ] + } +} \ No newline at end of file