From 62c23736ae903bcf24854b270ca0a778c1af419c Mon Sep 17 00:00:00 2001 From: gitea_admin Date: Wed, 11 Mar 2026 14:33:44 +0000 Subject: [PATCH] Add component definition: tensorflow-serving --- component.json | 254 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 254 insertions(+) create mode 100644 component.json diff --git a/component.json b/component.json new file mode 100644 index 0000000..2bf8e09 --- /dev/null +++ b/component.json @@ -0,0 +1,254 @@ +{ + "component": { + "kind": "component", + "name": "tensorflow-serving", + "title": "TensorFlow Serving", + "description": "Provide access to TensorFlow Serving model servers to run inference with TensorFlow saved models remotely", + "deprecated": false, + "firstVersion": "4.10.0", + "label": "ai", + "javaType": "org.apache.camel.component.tensorflow.serving.TensorFlowServingComponent", + "supportLevel": "Preview", + "groupId": "org.apache.camel", + "artifactId": "camel-tensorflow-serving", + "version": "4.10.2", + "scheme": "tensorflow-serving", + "extendsScheme": "", + "syntax": "tensorflow-serving:api", + "async": false, + "api": false, + "consumerOnly": false, + "producerOnly": true, + "lenientProperties": false, + "browsable": false, + "remote": true + }, + "headers": { + "CamelTensorFlowServingTarget": { + "index": 0, + "kind": "header", + "displayName": "", + "group": "producer", + "label": "", + "required": false, + "javaType": "String", + "deprecated": false, + "deprecationNote": "", + "autowired": false, + "secret": false, + "description": "The target of the client. See: https://grpc.github.io/grpc-java/javadoc/io/grpc/Grpc.html#newChannelBuilder%28java.lang.String,io.grpc.ChannelCredentials%29", + "constantName": "org.apache.camel.component.tensorflow.serving.TensorFlowServingConstants#TARGET" + }, + "CamelTensorFlowServingCredentials": { + "index": 1, + "kind": "header", + "displayName": "", + "group": "producer", + "label": "", + "required": false, + "javaType": "io.grpc.ChannelCredentials", + "deprecated": false, + "deprecationNote": "", + "autowired": false, + "secret": false, + "description": "The credentials of the client.", + "constantName": "org.apache.camel.component.tensorflow.serving.TensorFlowServingConstants#CREDENTIALS" + }, + "CamelTensorFlowServingModelName": { + "index": 2, + "kind": "header", + "displayName": "", + "group": "producer", + "label": "", + "required": false, + "javaType": "String", + "deprecated": false, + "deprecationNote": "", + "autowired": false, + "secret": false, + "description": "Required servable name.", + "constantName": "org.apache.camel.component.tensorflow.serving.TensorFlowServingConstants#MODEL_NAME" + }, + "CamelTensorFlowServingModelVersion": { + "index": 3, + "kind": "header", + "displayName": "", + "group": "producer", + "label": "", + "required": false, + "javaType": "long", + "deprecated": false, + "deprecationNote": "", + "autowired": false, + "secret": false, + "description": "Optional choice of which version of the model to use. Use this specific version number.", + "constantName": "org.apache.camel.component.tensorflow.serving.TensorFlowServingConstants#MODEL_VERSION" + }, + "CamelTensorFlowServingModelVersionLabel": { + "index": 4, + "kind": "header", + "displayName": "", + "group": "producer", + "label": "", + "required": false, + "javaType": "String", + "deprecated": false, + "deprecationNote": "", + "autowired": false, + "secret": false, + "description": "Optional choice of which version of the model to use. Use the version associated with the given label.", + "constantName": "org.apache.camel.component.tensorflow.serving.TensorFlowServingConstants#MODEL_VERSION_LABEL" + }, + "CamelTensorFlowServingSignatureName": { + "index": 5, + "kind": "header", + "displayName": "", + "group": "producer", + "label": "", + "required": false, + "javaType": "String", + "deprecated": false, + "deprecationNote": "", + "autowired": false, + "secret": false, + "description": "A named signature to evaluate. If unspecified, the default signature will be used.", + "constantName": "org.apache.camel.component.tensorflow.serving.TensorFlowServingConstants#SIGNATURE_NAME" + } + }, + "properties": { + "api": { + "index": 0, + "kind": "path", + "displayName": "Api", + "group": "producer", + "label": "", + "required": true, + "type": "string", + "javaType": "java.lang.String", + "enum": [ + "model-status", + "model-metadata", + "classify", + "regress", + "predict" + ], + "deprecated": false, + "deprecationNote": "", + "autowired": false, + "secret": false, + "description": "The TensorFlow Serving API" + }, + "modelName": { + "index": 1, + "kind": "parameter", + "displayName": "Model Name", + "group": "common", + "label": "common", + "required": false, + "type": "string", + "javaType": "java.lang.String", + "deprecated": false, + "autowired": false, + "secret": false, + "configurationClass": "org.apache.camel.component.tensorflow.serving.TensorFlowServingConfiguration", + "configurationField": "configuration", + "description": "Required servable name." + }, + "modelVersion": { + "index": 2, + "kind": "parameter", + "displayName": "Model Version", + "group": "common", + "label": "common", + "required": false, + "type": "integer", + "javaType": "java.lang.Long", + "deprecated": false, + "autowired": false, + "secret": false, + "configurationClass": "org.apache.camel.component.tensorflow.serving.TensorFlowServingConfiguration", + "configurationField": "configuration", + "description": "Optional choice of which version of the model to use. Use this specific version number." + }, + "modelVersionLabel": { + "index": 3, + "kind": "parameter", + "displayName": "Model Version Label", + "group": "common", + "label": "common", + "required": false, + "type": "string", + "javaType": "java.lang.String", + "deprecated": false, + "autowired": false, + "secret": false, + "configurationClass": "org.apache.camel.component.tensorflow.serving.TensorFlowServingConfiguration", + "configurationField": "configuration", + "description": "Optional choice of which version of the model to use. Use the version associated with the given label." + }, + "signatureName": { + "index": 4, + "kind": "parameter", + "displayName": "Signature Name", + "group": "common", + "label": "common", + "required": false, + "type": "string", + "javaType": "java.lang.String", + "deprecated": false, + "autowired": false, + "secret": false, + "configurationClass": "org.apache.camel.component.tensorflow.serving.TensorFlowServingConfiguration", + "configurationField": "configuration", + "description": "A named signature to evaluate. If unspecified, the default signature will be used." + }, + "target": { + "index": 5, + "kind": "parameter", + "displayName": "Target", + "group": "common", + "label": "common", + "required": false, + "type": "string", + "javaType": "java.lang.String", + "deprecated": false, + "autowired": false, + "secret": false, + "defaultValue": "localhost:8500", + "configurationClass": "org.apache.camel.component.tensorflow.serving.TensorFlowServingConfiguration", + "configurationField": "configuration", + "description": "The target URI of the client. See: https://grpc.github.io/grpc-java/javadoc/io/grpc/Grpc.html#newChannelBuilder%28java.lang.String,io.grpc.ChannelCredentials%29" + }, + "lazyStartProducer": { + "index": 6, + "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." + }, + "credentials": { + "index": 7, + "kind": "parameter", + "displayName": "Credentials", + "group": "security", + "label": "security", + "required": false, + "type": "object", + "javaType": "io.grpc.ChannelCredentials", + "deprecated": false, + "autowired": false, + "secret": false, + "configurationClass": "org.apache.camel.component.tensorflow.serving.TensorFlowServingConfiguration", + "configurationField": "configuration", + "description": "The credentials of the client." + } + } +} \ No newline at end of file