This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
commit 72085dd09ba4d2d123b1d79087bfec9c9cdfd0dd Author: Claus Ibsen <[email protected]> AuthorDate: Sat Oct 24 19:57:03 2026 +0200 CAMEL-24961: Catalog body types for ten kubernetes components (#28399) Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]> Signed-off-by: Claus Ibsen <[email protected]> --- .../catalog/components/kubernetes-config-maps.json | 5 ++++ .../catalog/components/kubernetes-cronjob.json | 4 +++ .../components/kubernetes-custom-resources.json | 5 ++++ .../catalog/components/kubernetes-deployments.json | 5 ++++ .../catalog/components/kubernetes-events.json | 5 ++++ .../camel/catalog/components/kubernetes-hpa.json | 5 ++++ .../camel/catalog/components/kubernetes-job.json | 4 +++ .../catalog/components/kubernetes-namespaces.json | 5 ++++ .../camel/catalog/components/kubernetes-nodes.json | 5 ++++ .../camel/catalog/components/kubernetes-pods.json | 5 ++++ .../config_maps/kubernetes-config-maps.json | 5 ++++ .../kubernetes/cronjob/kubernetes-cronjob.json | 4 +++ .../kubernetes-custom-resources.json | 5 ++++ .../deployments/kubernetes-deployments.json | 5 ++++ .../kubernetes/events/kubernetes-events.json | 5 ++++ .../component/kubernetes/hpa/kubernetes-hpa.json | 5 ++++ .../component/kubernetes/job/kubernetes-job.json | 4 +++ .../namespaces/kubernetes-namespaces.json | 5 ++++ .../kubernetes/nodes/kubernetes-nodes.json | 5 ++++ .../component/kubernetes/pods/kubernetes-pods.json | 5 ++++ .../config_maps/KubernetesConfigMapsEndpoint.java | 29 ++++++++++++++++++ .../cronjob/KubernetesCronJobEndpoint.java | 24 +++++++++++++++ .../KubernetesCustomResourcesEndpoint.java | 34 ++++++++++++++++++++++ .../deployments/KubernetesDeploymentsEndpoint.java | 33 +++++++++++++++++++++ .../events/KubernetesEventsEndpoint.java | 25 ++++++++++++++++ .../kubernetes/hpa/KubernetesHPAEndpoint.java | 27 +++++++++++++++++ .../kubernetes/job/KubernetesJobEndpoint.java | 21 +++++++++++++ .../namespaces/KubernetesNamespacesEndpoint.java | 29 ++++++++++++++++++ .../kubernetes/nodes/KubernetesNodesEndpoint.java | 24 +++++++++++++++ .../kubernetes/pods/KubernetesPodsEndpoint.java | 24 +++++++++++++++ 30 files changed, 366 insertions(+) diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-config-maps.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-config-maps.json index 5c79f7d3881f..0b45118af6e8 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-config-maps.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-config-maps.json @@ -39,6 +39,11 @@ "CamelKubernetesEventAction": { "index": 6, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "io.fabric8.kubernetes.client.Watcher.Action", "enum": [ "ADDED", "MODIFIED", "DELETED", "ERROR", "BOOKMARK" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Action watched by the consumer", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_ [...] "CamelKubernetesEventTimestamp": { "index": 7, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Timestamp of the action watched by the consumer", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_TIMESTAMP" } }, + "bodyTypes": { + "consumerOut": { "carriers": [ "pojo" ], "javaType": "io.fabric8.kubernetes.api.model.ConfigMap", "description": "The ConfigMap that changed, with the action (ADDED, MODIFIED or DELETED) in the CamelKubernetesEventAction header" }, + "producerIn": { "carriers": [ "any" ], "description": "Not used: the operations take their input from headers, such as the name of the ConfigMap in CamelKubernetesConfigMapName and its data as a Map in CamelKubernetesConfigData" }, + "producerOut": { "carriers": [ "list", "pojo", "null", "value" ], "byOption": [ { "option": "operation", "value": "listConfigMaps", "carriers": [ "list" ] }, { "option": "operation", "value": "listConfigMapsByLabels", "carriers": [ "list" ] }, { "option": "operation", "value": "getConfigMap", "carriers": [ "pojo", "null" ] }, { "option": "operation", "value": "createConfigMap", "carriers": [ "pojo" ], "javaType": "io.fabric8.kubernetes.api.model.ConfigMap" }, { "option": "operation", [...] + }, "properties": { "masterUrl": { "index": 0, "kind": "path", "displayName": "Master Url", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "URL to a remote Kubernetes API server. This should only be used when your Camel application i [...] "apiVersion": { "index": 1, "kind": "parameter", "displayName": "Api Version", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" }, diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-cronjob.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-cronjob.json index 18409640832f..d51d3a5c8998 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-cronjob.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-cronjob.json @@ -35,6 +35,10 @@ "CamelKubernetesCronJobSpec": { "index": 3, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "io.fabric8.kubernetes.api.model.batch.v1.CronJobSpec", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The spec for a Job.", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_CRON_JOB_SPEC" }, "CamelKubernetesCronJobAnnotations": { "index": 4, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Cron Job annotations.", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_CRON_JOB_ANNOTATIONS" } }, + "bodyTypes": { + "producerIn": { "carriers": [ "any" ], "description": "Not used: the operations take their input from headers, such as the name of the CronJob in CamelKubernetesCronJobName and its CronJobSpec in CamelKubernetesCronJobSpec" }, + "producerOut": { "carriers": [ "list", "pojo", "null", "unchanged" ], "byOption": [ { "option": "operation", "value": "listCronJob", "carriers": [ "list" ] }, { "option": "operation", "value": "listCronJobByLabels", "carriers": [ "list" ] }, { "option": "operation", "value": "getCronJob", "carriers": [ "pojo", "null" ] }, { "option": "operation", "value": "createCronJob", "carriers": [ "pojo" ], "javaType": "io.fabric8.kubernetes.api.model.batch.v1.CronJob" }, { "option": "operation" [...] + }, "properties": { "masterUrl": { "index": 0, "kind": "path", "displayName": "Master Url", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "URL to a remote Kubernetes API server. This should only be used when your Camel application [...] "apiVersion": { "index": 1, "kind": "parameter", "displayName": "Api Version", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" }, diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-custom-resources.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-custom-resources.json index d81b4cf7ecc7..029a197eaa44 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-custom-resources.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-custom-resources.json @@ -44,6 +44,11 @@ "CamelKubernetesCRDInstance": { "index": 11, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The manifest of the CRD resource to create as JSON string", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_CRD_INSTANCE" }, "CamelKubernetesDeleteResult": { "index": 12, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The result of the delete operation", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DELETE_RESULT" } }, + "bodyTypes": { + "consumerOut": { "carriers": [ "text" ], "javaType": "java.lang.String", "format": "json", "description": "The custom resource that changed as JSON text, with the action (ADDED, MODIFIED or DELETED) in the CamelKubernetesCRDEventAction header" }, + "producerIn": { "carriers": [ "any" ], "description": "Not used: the operations take their input from headers, such as the name of the instance in CamelKubernetesCRDInstanceName and, for createCustomResource and updateCustomResource, the instance as JSON text in CamelKubernetesCRDInstance" }, + "producerOut": { "carriers": [ "list", "map", "pojo", "unchanged" ], "byOption": [ { "option": "operation", "value": "listCustomResources", "carriers": [ "list" ], "javaType": "org.apache.camel.util.json.JsonArray" }, { "option": "operation", "value": "listCustomResourcesByLabels", "carriers": [ "list" ], "javaType": "org.apache.camel.util.json.JsonArray" }, { "option": "operation", "value": "getCustomResource", "carriers": [ "map" ], "javaType": "org.apache.camel.util.json.JsonObjec [...] + }, "properties": { "masterUrl": { "index": 0, "kind": "path", "displayName": "Master Url", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "URL to a remote Kubernetes API server. This should only be used when your Camel application i [...] "apiVersion": { "index": 1, "kind": "parameter", "displayName": "Api Version", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" }, diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-deployments.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-deployments.json index 6967cbb660d6..655d5368a161 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-deployments.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-deployments.json @@ -40,6 +40,11 @@ "CamelKubernetesEventAction": { "index": 7, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "io.fabric8.kubernetes.client.Watcher.Action", "enum": [ "ADDED", "MODIFIED", "DELETED", "ERROR", "BOOKMARK" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Action watched by the consumer", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_ [...] "CamelKubernetesEventTimestamp": { "index": 8, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Timestamp of the action watched by the consumer", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_TIMESTAMP" } }, + "bodyTypes": { + "consumerOut": { "carriers": [ "pojo" ], "javaType": "io.fabric8.kubernetes.api.model.apps.Deployment", "description": "The Deployment that changed, with the action (ADDED, MODIFIED or DELETED) in the CamelKubernetesEventAction header" }, + "producerIn": { "carriers": [ "any" ], "description": "Not used: the operations take their input from headers, such as the name of the Deployment in CamelKubernetesDeploymentName, its DeploymentSpec in CamelKubernetesDeploymentSpec and the replicas of scaleDeployment in CamelKubernetesDeploymentReplicas" }, + "producerOut": { "carriers": [ "list", "pojo", "null", "value" ], "byOption": [ { "option": "operation", "value": "listDeployments", "carriers": [ "list" ] }, { "option": "operation", "value": "listDeploymentsByLabels", "carriers": [ "list" ] }, { "option": "operation", "value": "getDeployment", "carriers": [ "pojo", "null" ] }, { "option": "operation", "value": "createDeployment", "carriers": [ "pojo" ], "javaType": "io.fabric8.kubernetes.api.model.apps.Deployment" }, { "option": "o [...] + }, "properties": { "masterUrl": { "index": 0, "kind": "path", "displayName": "Master Url", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "URL to a remote Kubernetes API server. This should only be used when your Camel application i [...] "apiVersion": { "index": 1, "kind": "parameter", "displayName": "Api Version", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" }, diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-events.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-events.json index ddee54960f36..2e387a48d8d7 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-events.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-events.json @@ -45,6 +45,11 @@ "CamelKubernetesEventName": { "index": 12, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The event name", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_NAME" }, "CamelKubernetesEventTimestamp": { "index": 14, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Timestamp of the action watched by the consumer", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_TIMESTAMP" } }, + "bodyTypes": { + "consumerOut": { "carriers": [ "pojo" ], "javaType": "io.fabric8.kubernetes.api.model.events.v1.Event", "description": "The Event that changed, with the action (ADDED, MODIFIED or DELETED) in the CamelKubernetesEventAction header" }, + "producerIn": { "carriers": [ "any" ], "description": "createEvent and updateEvent use an EventBuilder of fabric8 from the body, when the body is one; otherwise the body is not used and the Event is built from the headers, such as its name in CamelKubernetesEventName and its note in CamelKubernetesEventNote" }, + "producerOut": { "carriers": [ "list", "pojo", "null", "value" ], "byOption": [ { "option": "operation", "value": "listEvents", "carriers": [ "list" ] }, { "option": "operation", "value": "listEventsByLabels", "carriers": [ "list" ] }, { "option": "operation", "value": "getEvent", "carriers": [ "pojo", "null" ] }, { "option": "operation", "value": "createEvent", "carriers": [ "pojo" ], "javaType": "io.fabric8.kubernetes.api.model.events.v1.Event" }, { "option": "operation", "value": [...] + }, "properties": { "masterUrl": { "index": 0, "kind": "path", "displayName": "Master Url", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "URL to a remote Kubernetes API server. This should only be used when your Camel application i [...] "apiVersion": { "index": 1, "kind": "parameter", "displayName": "Api Version", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" }, diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-hpa.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-hpa.json index 8b26f93e42ee..6db3c55be0a2 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-hpa.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-hpa.json @@ -38,6 +38,11 @@ "CamelKubernetesEventAction": { "index": 5, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "io.fabric8.kubernetes.client.Watcher.Action", "enum": [ "ADDED", "MODIFIED", "DELETED", "ERROR", "BOOKMARK" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Action watched by the consumer", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_ [...] "CamelKubernetesEventTimestamp": { "index": 6, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Timestamp of the action watched by the consumer", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_TIMESTAMP" } }, + "bodyTypes": { + "consumerOut": { "carriers": [ "pojo" ], "javaType": "io.fabric8.kubernetes.api.model.autoscaling.v1.HorizontalPodAutoscaler", "description": "The HorizontalPodAutoscaler that changed, with the action (ADDED, MODIFIED or DELETED) in the CamelKubernetesEventAction header" }, + "producerIn": { "carriers": [ "any" ], "description": "Not used: the operations take their input from headers, such as the name of the HorizontalPodAutoscaler in CamelKubernetesHPAName and its HorizontalPodAutoscalerSpec in CamelKubernetesHPASpec" }, + "producerOut": { "carriers": [ "list", "pojo", "null", "value" ], "byOption": [ { "option": "operation", "value": "listHPA", "carriers": [ "list" ] }, { "option": "operation", "value": "listHPAByLabels", "carriers": [ "list" ] }, { "option": "operation", "value": "getHPA", "carriers": [ "pojo", "null" ] }, { "option": "operation", "value": "createHPA", "carriers": [ "pojo" ], "javaType": "io.fabric8.kubernetes.api.model.autoscaling.v1.HorizontalPodAutoscaler" }, { "option": "operatio [...] + }, "properties": { "masterUrl": { "index": 0, "kind": "path", "displayName": "Master Url", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "URL to a remote Kubernetes API server. This should only be used when your Camel application i [...] "apiVersion": { "index": 1, "kind": "parameter", "displayName": "Api Version", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" }, diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-job.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-job.json index 049e675e5827..ecc898fd2e91 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-job.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-job.json @@ -36,6 +36,10 @@ "CamelKubernetesJobLabels": { "index": 4, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Job labels.", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_JOB_LABELS" }, "CamelKubernetesJobAnnotations": { "index": 5, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Job annotations.", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_JOB_ANNOTATIONS" } }, + "bodyTypes": { + "producerIn": { "carriers": [ "any" ], "description": "Not used: the operations take their input from headers, such as the name of the Job in CamelKubernetesJobName and its JobSpec in CamelKubernetesJobSpec" }, + "producerOut": { "carriers": [ "list", "pojo", "null", "unchanged" ], "byOption": [ { "option": "operation", "value": "listJob", "carriers": [ "list" ] }, { "option": "operation", "value": "listJobByLabels", "carriers": [ "list" ] }, { "option": "operation", "value": "getJob", "carriers": [ "pojo", "null" ] }, { "option": "operation", "value": "createJob", "carriers": [ "pojo" ], "javaType": "io.fabric8.kubernetes.api.model.batch.v1.Job" }, { "option": "operation", "value": "updateJo [...] + }, "properties": { "masterUrl": { "index": 0, "kind": "path", "displayName": "Master Url", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "URL to a remote Kubernetes API server. This should only be used when your Camel application [...] "apiVersion": { "index": 1, "kind": "parameter", "displayName": "Api Version", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" }, diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-namespaces.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-namespaces.json index cffb66a00d59..423546531296 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-namespaces.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-namespaces.json @@ -37,6 +37,11 @@ "CamelKubernetesEventAction": { "index": 4, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "io.fabric8.kubernetes.client.Watcher.Action", "enum": [ "ADDED", "MODIFIED", "DELETED", "ERROR", "BOOKMARK" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Action watched by the consumer", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_ [...] "CamelKubernetesEventTimestamp": { "index": 5, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Timestamp of the action watched by the consumer", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_TIMESTAMP" } }, + "bodyTypes": { + "consumerOut": { "carriers": [ "pojo" ], "javaType": "io.fabric8.kubernetes.api.model.Namespace", "description": "The Namespace that changed, with the action (ADDED, MODIFIED or DELETED) in the CamelKubernetesEventAction header" }, + "producerIn": { "carriers": [ "any" ], "description": "Not used: the operations take their input from headers, such as the name of the Namespace in CamelKubernetesNamespaceName and its labels as a Map in CamelKubernetesNamespaceLabels" }, + "producerOut": { "carriers": [ "list", "pojo", "null", "value" ], "byOption": [ { "option": "operation", "value": "listNamespaces", "carriers": [ "list" ] }, { "option": "operation", "value": "listNamespacesByLabels", "carriers": [ "list" ] }, { "option": "operation", "value": "getNamespace", "carriers": [ "pojo", "null" ] }, { "option": "operation", "value": "createNamespace", "carriers": [ "pojo" ], "javaType": "io.fabric8.kubernetes.api.model.Namespace" }, { "option": "operation", [...] + }, "properties": { "masterUrl": { "index": 0, "kind": "path", "displayName": "Master Url", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "URL to a remote Kubernetes API server. This should only be used when your Camel application i [...] "apiVersion": { "index": 1, "kind": "parameter", "displayName": "Api Version", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" }, diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-nodes.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-nodes.json index f6ae079b2d27..3d623bc4b324 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-nodes.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-nodes.json @@ -37,6 +37,11 @@ "CamelKubernetesEventAction": { "index": 4, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "io.fabric8.kubernetes.client.Watcher.Action", "enum": [ "ADDED", "MODIFIED", "DELETED", "ERROR", "BOOKMARK" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Action watched by the consumer", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_ [...] "CamelKubernetesEventTimestamp": { "index": 5, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Timestamp of the action watched by the consumer", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_TIMESTAMP" } }, + "bodyTypes": { + "consumerOut": { "carriers": [ "pojo" ], "javaType": "io.fabric8.kubernetes.api.model.Node", "description": "The Node that changed, with the action (ADDED, MODIFIED or DELETED) in the CamelKubernetesEventAction header" }, + "producerIn": { "carriers": [ "any" ], "description": "Not used: the operations take their input from headers, such as the name of the Node in CamelKubernetesNodeName and its NodeSpec in CamelKubernetesNodeSpec" }, + "producerOut": { "carriers": [ "list", "pojo", "null", "value" ], "byOption": [ { "option": "operation", "value": "listNodes", "carriers": [ "list" ] }, { "option": "operation", "value": "listNodesByLabels", "carriers": [ "list" ] }, { "option": "operation", "value": "getNode", "carriers": [ "pojo", "null" ] }, { "option": "operation", "value": "createNode", "carriers": [ "pojo" ], "javaType": "io.fabric8.kubernetes.api.model.Node" }, { "option": "operation", "value": "updateNode", " [...] + }, "properties": { "masterUrl": { "index": 0, "kind": "path", "displayName": "Master Url", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "URL to a remote Kubernetes API server. This should only be used when your Camel application i [...] "apiVersion": { "index": 1, "kind": "parameter", "displayName": "Api Version", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" }, diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-pods.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-pods.json index 12838d01b47a..704d2d8695b9 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-pods.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-pods.json @@ -38,6 +38,11 @@ "CamelKubernetesEventAction": { "index": 5, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "io.fabric8.kubernetes.client.Watcher.Action", "enum": [ "ADDED", "MODIFIED", "DELETED", "ERROR", "BOOKMARK" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Action watched by the consumer", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_ [...] "CamelKubernetesEventTimestamp": { "index": 6, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Timestamp of the action watched by the consumer", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_TIMESTAMP" } }, + "bodyTypes": { + "consumerOut": { "carriers": [ "pojo" ], "javaType": "io.fabric8.kubernetes.api.model.Pod", "description": "The Pod that changed, with the action (ADDED, MODIFIED or DELETED) in the CamelKubernetesEventAction header" }, + "producerIn": { "carriers": [ "any" ], "description": "Not used: the operations take their input from headers, such as the name of the Pod in CamelKubernetesPodName and its PodSpec in CamelKubernetesPodSpec" }, + "producerOut": { "carriers": [ "list", "pojo", "null", "value" ], "byOption": [ { "option": "operation", "value": "listPods", "carriers": [ "list" ] }, { "option": "operation", "value": "listPodsByLabels", "carriers": [ "list" ] }, { "option": "operation", "value": "getPod", "carriers": [ "pojo", "null" ] }, { "option": "operation", "value": "createPod", "carriers": [ "pojo" ], "javaType": "io.fabric8.kubernetes.api.model.Pod" }, { "option": "operation", "value": "updatePod", "carrie [...] + }, "properties": { "masterUrl": { "index": 0, "kind": "path", "displayName": "Master Url", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "URL to a remote Kubernetes API server. This should only be used when your Camel application i [...] "apiVersion": { "index": 1, "kind": "parameter", "displayName": "Api Version", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" }, diff --git a/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/config_maps/kubernetes-config-maps.json b/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/config_maps/kubernetes-config-maps.json index 5c79f7d3881f..0b45118af6e8 100644 --- a/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/config_maps/kubernetes-config-maps.json +++ b/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/config_maps/kubernetes-config-maps.json @@ -39,6 +39,11 @@ "CamelKubernetesEventAction": { "index": 6, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "io.fabric8.kubernetes.client.Watcher.Action", "enum": [ "ADDED", "MODIFIED", "DELETED", "ERROR", "BOOKMARK" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Action watched by the consumer", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_ [...] "CamelKubernetesEventTimestamp": { "index": 7, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Timestamp of the action watched by the consumer", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_TIMESTAMP" } }, + "bodyTypes": { + "consumerOut": { "carriers": [ "pojo" ], "javaType": "io.fabric8.kubernetes.api.model.ConfigMap", "description": "The ConfigMap that changed, with the action (ADDED, MODIFIED or DELETED) in the CamelKubernetesEventAction header" }, + "producerIn": { "carriers": [ "any" ], "description": "Not used: the operations take their input from headers, such as the name of the ConfigMap in CamelKubernetesConfigMapName and its data as a Map in CamelKubernetesConfigData" }, + "producerOut": { "carriers": [ "list", "pojo", "null", "value" ], "byOption": [ { "option": "operation", "value": "listConfigMaps", "carriers": [ "list" ] }, { "option": "operation", "value": "listConfigMapsByLabels", "carriers": [ "list" ] }, { "option": "operation", "value": "getConfigMap", "carriers": [ "pojo", "null" ] }, { "option": "operation", "value": "createConfigMap", "carriers": [ "pojo" ], "javaType": "io.fabric8.kubernetes.api.model.ConfigMap" }, { "option": "operation", [...] + }, "properties": { "masterUrl": { "index": 0, "kind": "path", "displayName": "Master Url", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "URL to a remote Kubernetes API server. This should only be used when your Camel application i [...] "apiVersion": { "index": 1, "kind": "parameter", "displayName": "Api Version", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" }, diff --git a/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/cronjob/kubernetes-cronjob.json b/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/cronjob/kubernetes-cronjob.json index 18409640832f..d51d3a5c8998 100644 --- a/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/cronjob/kubernetes-cronjob.json +++ b/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/cronjob/kubernetes-cronjob.json @@ -35,6 +35,10 @@ "CamelKubernetesCronJobSpec": { "index": 3, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "io.fabric8.kubernetes.api.model.batch.v1.CronJobSpec", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The spec for a Job.", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_CRON_JOB_SPEC" }, "CamelKubernetesCronJobAnnotations": { "index": 4, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Cron Job annotations.", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_CRON_JOB_ANNOTATIONS" } }, + "bodyTypes": { + "producerIn": { "carriers": [ "any" ], "description": "Not used: the operations take their input from headers, such as the name of the CronJob in CamelKubernetesCronJobName and its CronJobSpec in CamelKubernetesCronJobSpec" }, + "producerOut": { "carriers": [ "list", "pojo", "null", "unchanged" ], "byOption": [ { "option": "operation", "value": "listCronJob", "carriers": [ "list" ] }, { "option": "operation", "value": "listCronJobByLabels", "carriers": [ "list" ] }, { "option": "operation", "value": "getCronJob", "carriers": [ "pojo", "null" ] }, { "option": "operation", "value": "createCronJob", "carriers": [ "pojo" ], "javaType": "io.fabric8.kubernetes.api.model.batch.v1.CronJob" }, { "option": "operation" [...] + }, "properties": { "masterUrl": { "index": 0, "kind": "path", "displayName": "Master Url", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "URL to a remote Kubernetes API server. This should only be used when your Camel application [...] "apiVersion": { "index": 1, "kind": "parameter", "displayName": "Api Version", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" }, diff --git a/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/customresources/kubernetes-custom-resources.json b/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/customresources/kubernetes-custom-resources.json index d81b4cf7ecc7..029a197eaa44 100644 --- a/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/customresources/kubernetes-custom-resources.json +++ b/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/customresources/kubernetes-custom-resources.json @@ -44,6 +44,11 @@ "CamelKubernetesCRDInstance": { "index": 11, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The manifest of the CRD resource to create as JSON string", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_CRD_INSTANCE" }, "CamelKubernetesDeleteResult": { "index": 12, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The result of the delete operation", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_DELETE_RESULT" } }, + "bodyTypes": { + "consumerOut": { "carriers": [ "text" ], "javaType": "java.lang.String", "format": "json", "description": "The custom resource that changed as JSON text, with the action (ADDED, MODIFIED or DELETED) in the CamelKubernetesCRDEventAction header" }, + "producerIn": { "carriers": [ "any" ], "description": "Not used: the operations take their input from headers, such as the name of the instance in CamelKubernetesCRDInstanceName and, for createCustomResource and updateCustomResource, the instance as JSON text in CamelKubernetesCRDInstance" }, + "producerOut": { "carriers": [ "list", "map", "pojo", "unchanged" ], "byOption": [ { "option": "operation", "value": "listCustomResources", "carriers": [ "list" ], "javaType": "org.apache.camel.util.json.JsonArray" }, { "option": "operation", "value": "listCustomResourcesByLabels", "carriers": [ "list" ], "javaType": "org.apache.camel.util.json.JsonArray" }, { "option": "operation", "value": "getCustomResource", "carriers": [ "map" ], "javaType": "org.apache.camel.util.json.JsonObjec [...] + }, "properties": { "masterUrl": { "index": 0, "kind": "path", "displayName": "Master Url", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "URL to a remote Kubernetes API server. This should only be used when your Camel application i [...] "apiVersion": { "index": 1, "kind": "parameter", "displayName": "Api Version", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" }, diff --git a/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/deployments/kubernetes-deployments.json b/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/deployments/kubernetes-deployments.json index 6967cbb660d6..655d5368a161 100644 --- a/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/deployments/kubernetes-deployments.json +++ b/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/deployments/kubernetes-deployments.json @@ -40,6 +40,11 @@ "CamelKubernetesEventAction": { "index": 7, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "io.fabric8.kubernetes.client.Watcher.Action", "enum": [ "ADDED", "MODIFIED", "DELETED", "ERROR", "BOOKMARK" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Action watched by the consumer", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_ [...] "CamelKubernetesEventTimestamp": { "index": 8, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Timestamp of the action watched by the consumer", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_TIMESTAMP" } }, + "bodyTypes": { + "consumerOut": { "carriers": [ "pojo" ], "javaType": "io.fabric8.kubernetes.api.model.apps.Deployment", "description": "The Deployment that changed, with the action (ADDED, MODIFIED or DELETED) in the CamelKubernetesEventAction header" }, + "producerIn": { "carriers": [ "any" ], "description": "Not used: the operations take their input from headers, such as the name of the Deployment in CamelKubernetesDeploymentName, its DeploymentSpec in CamelKubernetesDeploymentSpec and the replicas of scaleDeployment in CamelKubernetesDeploymentReplicas" }, + "producerOut": { "carriers": [ "list", "pojo", "null", "value" ], "byOption": [ { "option": "operation", "value": "listDeployments", "carriers": [ "list" ] }, { "option": "operation", "value": "listDeploymentsByLabels", "carriers": [ "list" ] }, { "option": "operation", "value": "getDeployment", "carriers": [ "pojo", "null" ] }, { "option": "operation", "value": "createDeployment", "carriers": [ "pojo" ], "javaType": "io.fabric8.kubernetes.api.model.apps.Deployment" }, { "option": "o [...] + }, "properties": { "masterUrl": { "index": 0, "kind": "path", "displayName": "Master Url", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "URL to a remote Kubernetes API server. This should only be used when your Camel application i [...] "apiVersion": { "index": 1, "kind": "parameter", "displayName": "Api Version", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" }, diff --git a/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/events/kubernetes-events.json b/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/events/kubernetes-events.json index ddee54960f36..2e387a48d8d7 100644 --- a/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/events/kubernetes-events.json +++ b/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/events/kubernetes-events.json @@ -45,6 +45,11 @@ "CamelKubernetesEventName": { "index": 12, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The event name", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_NAME" }, "CamelKubernetesEventTimestamp": { "index": 14, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Timestamp of the action watched by the consumer", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_TIMESTAMP" } }, + "bodyTypes": { + "consumerOut": { "carriers": [ "pojo" ], "javaType": "io.fabric8.kubernetes.api.model.events.v1.Event", "description": "The Event that changed, with the action (ADDED, MODIFIED or DELETED) in the CamelKubernetesEventAction header" }, + "producerIn": { "carriers": [ "any" ], "description": "createEvent and updateEvent use an EventBuilder of fabric8 from the body, when the body is one; otherwise the body is not used and the Event is built from the headers, such as its name in CamelKubernetesEventName and its note in CamelKubernetesEventNote" }, + "producerOut": { "carriers": [ "list", "pojo", "null", "value" ], "byOption": [ { "option": "operation", "value": "listEvents", "carriers": [ "list" ] }, { "option": "operation", "value": "listEventsByLabels", "carriers": [ "list" ] }, { "option": "operation", "value": "getEvent", "carriers": [ "pojo", "null" ] }, { "option": "operation", "value": "createEvent", "carriers": [ "pojo" ], "javaType": "io.fabric8.kubernetes.api.model.events.v1.Event" }, { "option": "operation", "value": [...] + }, "properties": { "masterUrl": { "index": 0, "kind": "path", "displayName": "Master Url", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "URL to a remote Kubernetes API server. This should only be used when your Camel application i [...] "apiVersion": { "index": 1, "kind": "parameter", "displayName": "Api Version", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" }, diff --git a/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/hpa/kubernetes-hpa.json b/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/hpa/kubernetes-hpa.json index 8b26f93e42ee..6db3c55be0a2 100644 --- a/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/hpa/kubernetes-hpa.json +++ b/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/hpa/kubernetes-hpa.json @@ -38,6 +38,11 @@ "CamelKubernetesEventAction": { "index": 5, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "io.fabric8.kubernetes.client.Watcher.Action", "enum": [ "ADDED", "MODIFIED", "DELETED", "ERROR", "BOOKMARK" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Action watched by the consumer", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_ [...] "CamelKubernetesEventTimestamp": { "index": 6, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Timestamp of the action watched by the consumer", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_TIMESTAMP" } }, + "bodyTypes": { + "consumerOut": { "carriers": [ "pojo" ], "javaType": "io.fabric8.kubernetes.api.model.autoscaling.v1.HorizontalPodAutoscaler", "description": "The HorizontalPodAutoscaler that changed, with the action (ADDED, MODIFIED or DELETED) in the CamelKubernetesEventAction header" }, + "producerIn": { "carriers": [ "any" ], "description": "Not used: the operations take their input from headers, such as the name of the HorizontalPodAutoscaler in CamelKubernetesHPAName and its HorizontalPodAutoscalerSpec in CamelKubernetesHPASpec" }, + "producerOut": { "carriers": [ "list", "pojo", "null", "value" ], "byOption": [ { "option": "operation", "value": "listHPA", "carriers": [ "list" ] }, { "option": "operation", "value": "listHPAByLabels", "carriers": [ "list" ] }, { "option": "operation", "value": "getHPA", "carriers": [ "pojo", "null" ] }, { "option": "operation", "value": "createHPA", "carriers": [ "pojo" ], "javaType": "io.fabric8.kubernetes.api.model.autoscaling.v1.HorizontalPodAutoscaler" }, { "option": "operatio [...] + }, "properties": { "masterUrl": { "index": 0, "kind": "path", "displayName": "Master Url", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "URL to a remote Kubernetes API server. This should only be used when your Camel application i [...] "apiVersion": { "index": 1, "kind": "parameter", "displayName": "Api Version", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" }, diff --git a/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/job/kubernetes-job.json b/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/job/kubernetes-job.json index 049e675e5827..ecc898fd2e91 100644 --- a/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/job/kubernetes-job.json +++ b/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/job/kubernetes-job.json @@ -36,6 +36,10 @@ "CamelKubernetesJobLabels": { "index": 4, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Job labels.", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_JOB_LABELS" }, "CamelKubernetesJobAnnotations": { "index": 5, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Job annotations.", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_JOB_ANNOTATIONS" } }, + "bodyTypes": { + "producerIn": { "carriers": [ "any" ], "description": "Not used: the operations take their input from headers, such as the name of the Job in CamelKubernetesJobName and its JobSpec in CamelKubernetesJobSpec" }, + "producerOut": { "carriers": [ "list", "pojo", "null", "unchanged" ], "byOption": [ { "option": "operation", "value": "listJob", "carriers": [ "list" ] }, { "option": "operation", "value": "listJobByLabels", "carriers": [ "list" ] }, { "option": "operation", "value": "getJob", "carriers": [ "pojo", "null" ] }, { "option": "operation", "value": "createJob", "carriers": [ "pojo" ], "javaType": "io.fabric8.kubernetes.api.model.batch.v1.Job" }, { "option": "operation", "value": "updateJo [...] + }, "properties": { "masterUrl": { "index": 0, "kind": "path", "displayName": "Master Url", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "URL to a remote Kubernetes API server. This should only be used when your Camel application [...] "apiVersion": { "index": 1, "kind": "parameter", "displayName": "Api Version", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" }, diff --git a/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/namespaces/kubernetes-namespaces.json b/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/namespaces/kubernetes-namespaces.json index cffb66a00d59..423546531296 100644 --- a/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/namespaces/kubernetes-namespaces.json +++ b/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/namespaces/kubernetes-namespaces.json @@ -37,6 +37,11 @@ "CamelKubernetesEventAction": { "index": 4, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "io.fabric8.kubernetes.client.Watcher.Action", "enum": [ "ADDED", "MODIFIED", "DELETED", "ERROR", "BOOKMARK" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Action watched by the consumer", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_ [...] "CamelKubernetesEventTimestamp": { "index": 5, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Timestamp of the action watched by the consumer", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_TIMESTAMP" } }, + "bodyTypes": { + "consumerOut": { "carriers": [ "pojo" ], "javaType": "io.fabric8.kubernetes.api.model.Namespace", "description": "The Namespace that changed, with the action (ADDED, MODIFIED or DELETED) in the CamelKubernetesEventAction header" }, + "producerIn": { "carriers": [ "any" ], "description": "Not used: the operations take their input from headers, such as the name of the Namespace in CamelKubernetesNamespaceName and its labels as a Map in CamelKubernetesNamespaceLabels" }, + "producerOut": { "carriers": [ "list", "pojo", "null", "value" ], "byOption": [ { "option": "operation", "value": "listNamespaces", "carriers": [ "list" ] }, { "option": "operation", "value": "listNamespacesByLabels", "carriers": [ "list" ] }, { "option": "operation", "value": "getNamespace", "carriers": [ "pojo", "null" ] }, { "option": "operation", "value": "createNamespace", "carriers": [ "pojo" ], "javaType": "io.fabric8.kubernetes.api.model.Namespace" }, { "option": "operation", [...] + }, "properties": { "masterUrl": { "index": 0, "kind": "path", "displayName": "Master Url", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "URL to a remote Kubernetes API server. This should only be used when your Camel application i [...] "apiVersion": { "index": 1, "kind": "parameter", "displayName": "Api Version", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" }, diff --git a/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/nodes/kubernetes-nodes.json b/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/nodes/kubernetes-nodes.json index f6ae079b2d27..3d623bc4b324 100644 --- a/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/nodes/kubernetes-nodes.json +++ b/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/nodes/kubernetes-nodes.json @@ -37,6 +37,11 @@ "CamelKubernetesEventAction": { "index": 4, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "io.fabric8.kubernetes.client.Watcher.Action", "enum": [ "ADDED", "MODIFIED", "DELETED", "ERROR", "BOOKMARK" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Action watched by the consumer", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_ [...] "CamelKubernetesEventTimestamp": { "index": 5, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Timestamp of the action watched by the consumer", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_TIMESTAMP" } }, + "bodyTypes": { + "consumerOut": { "carriers": [ "pojo" ], "javaType": "io.fabric8.kubernetes.api.model.Node", "description": "The Node that changed, with the action (ADDED, MODIFIED or DELETED) in the CamelKubernetesEventAction header" }, + "producerIn": { "carriers": [ "any" ], "description": "Not used: the operations take their input from headers, such as the name of the Node in CamelKubernetesNodeName and its NodeSpec in CamelKubernetesNodeSpec" }, + "producerOut": { "carriers": [ "list", "pojo", "null", "value" ], "byOption": [ { "option": "operation", "value": "listNodes", "carriers": [ "list" ] }, { "option": "operation", "value": "listNodesByLabels", "carriers": [ "list" ] }, { "option": "operation", "value": "getNode", "carriers": [ "pojo", "null" ] }, { "option": "operation", "value": "createNode", "carriers": [ "pojo" ], "javaType": "io.fabric8.kubernetes.api.model.Node" }, { "option": "operation", "value": "updateNode", " [...] + }, "properties": { "masterUrl": { "index": 0, "kind": "path", "displayName": "Master Url", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "URL to a remote Kubernetes API server. This should only be used when your Camel application i [...] "apiVersion": { "index": 1, "kind": "parameter", "displayName": "Api Version", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" }, diff --git a/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/pods/kubernetes-pods.json b/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/pods/kubernetes-pods.json index 12838d01b47a..704d2d8695b9 100644 --- a/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/pods/kubernetes-pods.json +++ b/components/camel-kubernetes/src/generated/resources/META-INF/org/apache/camel/component/kubernetes/pods/kubernetes-pods.json @@ -38,6 +38,11 @@ "CamelKubernetesEventAction": { "index": 5, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "io.fabric8.kubernetes.client.Watcher.Action", "enum": [ "ADDED", "MODIFIED", "DELETED", "ERROR", "BOOKMARK" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Action watched by the consumer", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_ [...] "CamelKubernetesEventTimestamp": { "index": 6, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Timestamp of the action watched by the consumer", "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_TIMESTAMP" } }, + "bodyTypes": { + "consumerOut": { "carriers": [ "pojo" ], "javaType": "io.fabric8.kubernetes.api.model.Pod", "description": "The Pod that changed, with the action (ADDED, MODIFIED or DELETED) in the CamelKubernetesEventAction header" }, + "producerIn": { "carriers": [ "any" ], "description": "Not used: the operations take their input from headers, such as the name of the Pod in CamelKubernetesPodName and its PodSpec in CamelKubernetesPodSpec" }, + "producerOut": { "carriers": [ "list", "pojo", "null", "value" ], "byOption": [ { "option": "operation", "value": "listPods", "carriers": [ "list" ] }, { "option": "operation", "value": "listPodsByLabels", "carriers": [ "list" ] }, { "option": "operation", "value": "getPod", "carriers": [ "pojo", "null" ] }, { "option": "operation", "value": "createPod", "carriers": [ "pojo" ], "javaType": "io.fabric8.kubernetes.api.model.Pod" }, { "option": "operation", "value": "updatePod", "carrie [...] + }, "properties": { "masterUrl": { "index": 0, "kind": "path", "displayName": "Master Url", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "URL to a remote Kubernetes API server. This should only be used when your Camel application i [...] "apiVersion": { "index": 1, "kind": "parameter", "displayName": "Api Version", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", "configurationField": "configuration", "description": "The Kubernetes API Version to use" }, diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsEndpoint.java index 500e4784a7ef..ff8b466fb3bf 100644 --- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsEndpoint.java +++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsEndpoint.java @@ -23,6 +23,9 @@ import org.apache.camel.Producer; import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint; import org.apache.camel.component.kubernetes.KubernetesConfiguration; import org.apache.camel.component.kubernetes.KubernetesConstants; +import org.apache.camel.spi.BodyType; +import org.apache.camel.spi.BodyType.Carrier; +import org.apache.camel.spi.BodyTypes; import org.apache.camel.spi.UriEndpoint; import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_CONFIG_MAPS; @@ -33,6 +36,32 @@ import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_C @UriEndpoint(firstVersion = "2.17.0", scheme = SCHEME_CONFIG_MAPS, title = "Kubernetes ConfigMap", syntax = "kubernetes-config-maps:masterUrl", category = { Category.CONTAINER, Category.CLOUD }, headersClass = KubernetesConstants.class) +@BodyTypes(consumerOut = @BodyType(value = Carrier.POJO, javaType = "io.fabric8.kubernetes.api.model.ConfigMap", + description = "The ConfigMap that changed, with the action (ADDED, MODIFIED or DELETED) in the " + + "CamelKubernetesEventAction header"), + producerIn = @BodyType(value = Carrier.ANY, + description = "Not used: the operations take their input from headers, such as the name of the " + + "ConfigMap in CamelKubernetesConfigMapName and its data as a Map in " + + "CamelKubernetesConfigData"), + producerOut = @BodyType(value = { Carrier.LIST, Carrier.POJO, Carrier.NULL, Carrier.VALUE }, + byOption = { + @BodyType.When(option = "operation", value = "listConfigMaps", + carriers = Carrier.LIST), + @BodyType.When(option = "operation", value = "listConfigMapsByLabels", + carriers = Carrier.LIST), + @BodyType.When(option = "operation", value = "getConfigMap", + carriers = { Carrier.POJO, Carrier.NULL }), + @BodyType.When(option = "operation", value = "createConfigMap", + carriers = Carrier.POJO, + javaType = "io.fabric8.kubernetes.api.model.ConfigMap"), + @BodyType.When(option = "operation", value = "updateConfigMap", + carriers = Carrier.POJO, + javaType = "io.fabric8.kubernetes.api.model.ConfigMap"), + @BodyType.When(option = "operation", value = "deleteConfigMap", + carriers = Carrier.VALUE, javaType = "java.lang.Boolean") }, + description = "A List of the ConfigMaps for the list operations, the ConfigMap of get, create and " + + "update (null when getConfigMap finds none), and a Boolean of whether deleteConfigMap " + + "deleted it")) public class KubernetesConfigMapsEndpoint extends AbstractKubernetesEndpoint { public KubernetesConfigMapsEndpoint(String uri, KubernetesConfigMapsComponent component, KubernetesConfiguration config) { diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cronjob/KubernetesCronJobEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cronjob/KubernetesCronJobEndpoint.java index eec046ad2e9e..e30102cc994d 100644 --- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cronjob/KubernetesCronJobEndpoint.java +++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cronjob/KubernetesCronJobEndpoint.java @@ -23,6 +23,9 @@ import org.apache.camel.Producer; import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint; import org.apache.camel.component.kubernetes.KubernetesConfiguration; import org.apache.camel.component.kubernetes.KubernetesConstants; +import org.apache.camel.spi.BodyType; +import org.apache.camel.spi.BodyType.Carrier; +import org.apache.camel.spi.BodyTypes; import org.apache.camel.spi.UriEndpoint; import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_CRON_JOB; @@ -33,6 +36,27 @@ import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_C @UriEndpoint(firstVersion = "4.3.0", scheme = SCHEME_CRON_JOB, title = "Kubernetes Cronjob", syntax = "kubernetes-cronjob:masterUrl", producerOnly = true, category = { Category.CONTAINER, Category.CLOUD }, headersClass = KubernetesConstants.class) +@BodyTypes(producerIn = @BodyType(value = Carrier.ANY, + description = "Not used: the operations take their input from headers, such as the name of the " + + "CronJob in CamelKubernetesCronJobName and its CronJobSpec in " + + "CamelKubernetesCronJobSpec"), + producerOut = @BodyType(value = { Carrier.LIST, Carrier.POJO, Carrier.NULL, Carrier.UNCHANGED }, + byOption = { + @BodyType.When(option = "operation", value = "listCronJob", carriers = Carrier.LIST), + @BodyType.When(option = "operation", value = "listCronJobByLabels", + carriers = Carrier.LIST), + @BodyType.When(option = "operation", value = "getCronJob", + carriers = { Carrier.POJO, Carrier.NULL }), + @BodyType.When(option = "operation", value = "createCronJob", + carriers = Carrier.POJO, + javaType = "io.fabric8.kubernetes.api.model.batch.v1.CronJob"), + @BodyType.When(option = "operation", value = "updateCronJob", + carriers = Carrier.POJO, + javaType = "io.fabric8.kubernetes.api.model.batch.v1.CronJob"), + @BodyType.When(option = "operation", value = "deleteCronJob", + carriers = Carrier.UNCHANGED) }, + description = "A List of the CronJobs for the list operations, the CronJob of get, create and update " + + "(null when getCronJob finds none), and the body as it was after deleteCronJob")) public class KubernetesCronJobEndpoint extends AbstractKubernetesEndpoint { public KubernetesCronJobEndpoint(String uri, KubernetesCronJobComponent component, KubernetesConfiguration config) { diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesEndpoint.java index 3ba8ec7b7889..efcee81ca56c 100644 --- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesEndpoint.java +++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesEndpoint.java @@ -23,6 +23,9 @@ import org.apache.camel.Producer; import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint; import org.apache.camel.component.kubernetes.KubernetesConfiguration; import org.apache.camel.component.kubernetes.KubernetesConstants; +import org.apache.camel.spi.BodyType; +import org.apache.camel.spi.BodyType.Carrier; +import org.apache.camel.spi.BodyTypes; import org.apache.camel.spi.UriEndpoint; import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_CUSTOM_RESOURCES; @@ -33,6 +36,37 @@ import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_C @UriEndpoint(firstVersion = "3.7.0", scheme = SCHEME_CUSTOM_RESOURCES, title = "Kubernetes Custom Resources", syntax = "kubernetes-custom-resources:masterUrl", category = { Category.CONTAINER, Category.CLOUD }, headersClass = KubernetesConstants.class) +@BodyTypes(consumerOut = @BodyType(value = Carrier.TEXT, javaType = "java.lang.String", format = "json", + description = "The custom resource that changed as JSON text, with the action (ADDED, MODIFIED or" + + " DELETED) in the CamelKubernetesCRDEventAction header"), + producerIn = @BodyType(value = Carrier.ANY, + description = "Not used: the operations take their input from headers, such as the name of the" + + " instance in CamelKubernetesCRDInstanceName and, for createCustomResource and" + + " updateCustomResource, the instance as JSON text in CamelKubernetesCRDInstance"), + producerOut = @BodyType(value = { Carrier.LIST, Carrier.MAP, Carrier.POJO, Carrier.UNCHANGED }, + byOption = { + @BodyType.When(option = "operation", value = "listCustomResources", + carriers = Carrier.LIST, + javaType = "org.apache.camel.util.json.JsonArray"), + @BodyType.When(option = "operation", value = "listCustomResourcesByLabels", + carriers = Carrier.LIST, + javaType = "org.apache.camel.util.json.JsonArray"), + @BodyType.When(option = "operation", value = "getCustomResource", + carriers = Carrier.MAP, + javaType = "org.apache.camel.util.json.JsonObject"), + @BodyType.When(option = "operation", value = "createCustomResource", + carriers = Carrier.POJO, + javaType = "io.fabric8.kubernetes.api.model.GenericKubernetesResource"), + @BodyType.When(option = "operation", value = "updateCustomResource", + carriers = Carrier.POJO, + javaType = "io.fabric8.kubernetes.api.model.GenericKubernetesResource"), + @BodyType.When(option = "operation", value = "deleteCustomResource", + carriers = Carrier.UNCHANGED) }, + description = "A JsonArray of the GenericKubernetesResource of the instances for the list" + + " operations, a JsonObject of the instance for getCustomResource, and the" + + " GenericKubernetesResource of create and update (an empty one when it already" + + " exists). deleteCustomResource leaves the body as it was, with whether it deleted" + + " the instance in the CamelKubernetesDeleteResult header")) public class KubernetesCustomResourcesEndpoint extends AbstractKubernetesEndpoint { public KubernetesCustomResourcesEndpoint(String uri, KubernetesCustomResourcesComponent component, diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsEndpoint.java index 4dd7542bc7aa..94835ba279aa 100644 --- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsEndpoint.java +++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsEndpoint.java @@ -23,6 +23,9 @@ import org.apache.camel.Producer; import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint; import org.apache.camel.component.kubernetes.KubernetesConfiguration; import org.apache.camel.component.kubernetes.KubernetesConstants; +import org.apache.camel.spi.BodyType; +import org.apache.camel.spi.BodyType.Carrier; +import org.apache.camel.spi.BodyTypes; import org.apache.camel.spi.UriEndpoint; import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_DEPLOYMENTS; @@ -33,6 +36,36 @@ import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_D @UriEndpoint(firstVersion = "2.20.0", scheme = SCHEME_DEPLOYMENTS, title = "Kubernetes Deployments", syntax = "kubernetes-deployments:masterUrl", category = { Category.CONTAINER, Category.CLOUD }, headersClass = KubernetesConstants.class) +@BodyTypes(consumerOut = @BodyType(value = Carrier.POJO, javaType = "io.fabric8.kubernetes.api.model.apps.Deployment", + description = "The Deployment that changed, with the action (ADDED, MODIFIED or DELETED) in the " + + "CamelKubernetesEventAction header"), + producerIn = @BodyType(value = Carrier.ANY, + description = "Not used: the operations take their input from headers, such as the name of the " + + "Deployment in CamelKubernetesDeploymentName, its DeploymentSpec in " + + "CamelKubernetesDeploymentSpec and the replicas of scaleDeployment in " + + "CamelKubernetesDeploymentReplicas"), + producerOut = @BodyType(value = { Carrier.LIST, Carrier.POJO, Carrier.NULL, Carrier.VALUE }, + byOption = { + @BodyType.When(option = "operation", value = "listDeployments", + carriers = Carrier.LIST), + @BodyType.When(option = "operation", value = "listDeploymentsByLabels", + carriers = Carrier.LIST), + @BodyType.When(option = "operation", value = "getDeployment", + carriers = { Carrier.POJO, Carrier.NULL }), + @BodyType.When(option = "operation", value = "createDeployment", + carriers = Carrier.POJO, + javaType = "io.fabric8.kubernetes.api.model.apps.Deployment"), + @BodyType.When(option = "operation", value = "updateDeployment", + carriers = Carrier.POJO, + javaType = "io.fabric8.kubernetes.api.model.apps.Deployment"), + @BodyType.When(option = "operation", value = "deleteDeployment", + carriers = Carrier.VALUE, javaType = "java.lang.Boolean"), + @BodyType.When(option = "operation", value = "scaleDeployment", + carriers = Carrier.VALUE, javaType = "java.lang.Integer") }, + description = "A List of the Deployments for the list operations, the Deployment of get, create and " + + "update (null when getDeployment finds none), and a Boolean of whether deleteDeployment " + + "deleted it. scaleDeployment gives the number of replicas in the status of the " + + "Deployment")) public class KubernetesDeploymentsEndpoint extends AbstractKubernetesEndpoint { public KubernetesDeploymentsEndpoint(String uri, KubernetesDeploymentsComponent component, KubernetesConfiguration config) { diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/events/KubernetesEventsEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/events/KubernetesEventsEndpoint.java index 30ec7baf7f24..f782dbe0502b 100644 --- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/events/KubernetesEventsEndpoint.java +++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/events/KubernetesEventsEndpoint.java @@ -23,6 +23,9 @@ import org.apache.camel.Producer; import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint; import org.apache.camel.component.kubernetes.KubernetesConfiguration; import org.apache.camel.component.kubernetes.KubernetesConstants; +import org.apache.camel.spi.BodyType; +import org.apache.camel.spi.BodyType.Carrier; +import org.apache.camel.spi.BodyTypes; import org.apache.camel.spi.UriEndpoint; import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_EVENTS; @@ -33,6 +36,28 @@ import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_E @UriEndpoint(firstVersion = "3.20.0", scheme = SCHEME_EVENTS, title = "Kubernetes Event", syntax = "kubernetes-events:masterUrl", category = { Category.CONTAINER, Category.CLOUD }, headersClass = KubernetesConstants.class) +@BodyTypes(consumerOut = @BodyType(value = Carrier.POJO, javaType = "io.fabric8.kubernetes.api.model.events.v1.Event", + description = "The Event that changed, with the action (ADDED, MODIFIED or DELETED) in the " + + "CamelKubernetesEventAction header"), + producerIn = @BodyType(value = Carrier.ANY, + description = "createEvent and updateEvent use an EventBuilder of fabric8 from the body, when the " + + "body is one; otherwise the body is not used and the Event is built from the headers, " + + "such as its name in CamelKubernetesEventName and its note in CamelKubernetesEventNote"), + producerOut = @BodyType(value = { Carrier.LIST, Carrier.POJO, Carrier.NULL, Carrier.VALUE }, + byOption = { + @BodyType.When(option = "operation", value = "listEvents", carriers = Carrier.LIST), + @BodyType.When(option = "operation", value = "listEventsByLabels", + carriers = Carrier.LIST), + @BodyType.When(option = "operation", value = "getEvent", + carriers = { Carrier.POJO, Carrier.NULL }), + @BodyType.When(option = "operation", value = "createEvent", carriers = Carrier.POJO, + javaType = "io.fabric8.kubernetes.api.model.events.v1.Event"), + @BodyType.When(option = "operation", value = "updateEvent", carriers = Carrier.POJO, + javaType = "io.fabric8.kubernetes.api.model.events.v1.Event"), + @BodyType.When(option = "operation", value = "deleteEvent", carriers = Carrier.VALUE, + javaType = "java.lang.Boolean") }, + description = "A List of the Events for the list operations, the Event of get, create and update " + + "(null when getEvent finds none), and a Boolean of whether deleteEvent deleted it")) public class KubernetesEventsEndpoint extends AbstractKubernetesEndpoint { public KubernetesEventsEndpoint(String uri, KubernetesEventsComponent component, KubernetesConfiguration config) { diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAEndpoint.java index 94d71ea6a306..b55e564043e7 100644 --- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAEndpoint.java +++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAEndpoint.java @@ -23,6 +23,9 @@ import org.apache.camel.Producer; import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint; import org.apache.camel.component.kubernetes.KubernetesConfiguration; import org.apache.camel.component.kubernetes.KubernetesConstants; +import org.apache.camel.spi.BodyType; +import org.apache.camel.spi.BodyType.Carrier; +import org.apache.camel.spi.BodyTypes; import org.apache.camel.spi.UriEndpoint; import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_HPA; @@ -32,6 +35,30 @@ import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_H */ @UriEndpoint(firstVersion = "2.23.0", scheme = SCHEME_HPA, title = "Kubernetes HPA", syntax = "kubernetes-hpa:masterUrl", category = { Category.CONTAINER, Category.CLOUD }, headersClass = KubernetesConstants.class) +@BodyTypes(consumerOut = @BodyType(value = Carrier.POJO, + javaType = "io.fabric8.kubernetes.api.model.autoscaling.v1.HorizontalPodAutoscaler", + description = "The HorizontalPodAutoscaler that changed, with the action (ADDED, MODIFIED or DELETED) " + + "in the CamelKubernetesEventAction header"), + producerIn = @BodyType(value = Carrier.ANY, + description = "Not used: the operations take their input from headers, such as the name of the " + + "HorizontalPodAutoscaler in CamelKubernetesHPAName and its HorizontalPodAutoscalerSpec " + + "in CamelKubernetesHPASpec"), + producerOut = @BodyType(value = { Carrier.LIST, Carrier.POJO, Carrier.NULL, Carrier.VALUE }, + byOption = { + @BodyType.When(option = "operation", value = "listHPA", carriers = Carrier.LIST), + @BodyType.When(option = "operation", value = "listHPAByLabels", + carriers = Carrier.LIST), + @BodyType.When(option = "operation", value = "getHPA", + carriers = { Carrier.POJO, Carrier.NULL }), + @BodyType.When(option = "operation", value = "createHPA", carriers = Carrier.POJO, + javaType = "io.fabric8.kubernetes.api.model.autoscaling.v1.HorizontalPodAutoscaler"), + @BodyType.When(option = "operation", value = "updateHPA", carriers = Carrier.POJO, + javaType = "io.fabric8.kubernetes.api.model.autoscaling.v1.HorizontalPodAutoscaler"), + @BodyType.When(option = "operation", value = "deleteHPA", carriers = Carrier.VALUE, + javaType = "java.lang.Boolean") }, + description = "A List of the HorizontalPodAutoscalers for the list operations, the " + + "HorizontalPodAutoscaler of get, create and update (null when getHPA finds none), and a " + + "Boolean of whether deleteHPA deleted it")) public class KubernetesHPAEndpoint extends AbstractKubernetesEndpoint { public KubernetesHPAEndpoint(String uri, KubernetesHPAComponent component, KubernetesConfiguration config) { diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/job/KubernetesJobEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/job/KubernetesJobEndpoint.java index 47f5d7656192..47bf07ef432b 100644 --- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/job/KubernetesJobEndpoint.java +++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/job/KubernetesJobEndpoint.java @@ -23,6 +23,9 @@ import org.apache.camel.Producer; import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint; import org.apache.camel.component.kubernetes.KubernetesConfiguration; import org.apache.camel.component.kubernetes.KubernetesConstants; +import org.apache.camel.spi.BodyType; +import org.apache.camel.spi.BodyType.Carrier; +import org.apache.camel.spi.BodyTypes; import org.apache.camel.spi.UriEndpoint; import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_JOB; @@ -32,6 +35,24 @@ import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_J */ @UriEndpoint(firstVersion = "2.23.0", scheme = SCHEME_JOB, title = "Kubernetes Job", syntax = "kubernetes-job:masterUrl", category = { Category.CONTAINER, Category.CLOUD }, producerOnly = true, headersClass = KubernetesConstants.class) +@BodyTypes(producerIn = @BodyType(value = Carrier.ANY, + description = "Not used: the operations take their input from headers, such as the name of the Job in " + + "CamelKubernetesJobName and its JobSpec in CamelKubernetesJobSpec"), + producerOut = @BodyType(value = { Carrier.LIST, Carrier.POJO, Carrier.NULL, Carrier.UNCHANGED }, + byOption = { + @BodyType.When(option = "operation", value = "listJob", carriers = Carrier.LIST), + @BodyType.When(option = "operation", value = "listJobByLabels", + carriers = Carrier.LIST), + @BodyType.When(option = "operation", value = "getJob", + carriers = { Carrier.POJO, Carrier.NULL }), + @BodyType.When(option = "operation", value = "createJob", carriers = Carrier.POJO, + javaType = "io.fabric8.kubernetes.api.model.batch.v1.Job"), + @BodyType.When(option = "operation", value = "updateJob", carriers = Carrier.POJO, + javaType = "io.fabric8.kubernetes.api.model.batch.v1.Job"), + @BodyType.When(option = "operation", value = "deleteJob", + carriers = Carrier.UNCHANGED) }, + description = "A List of the Jobs for the list operations, the Job of get, create and update (null " + + "when getJob finds none), and the body as it was after deleteJob")) public class KubernetesJobEndpoint extends AbstractKubernetesEndpoint { public KubernetesJobEndpoint(String uri, KubernetesJobComponent component, KubernetesConfiguration config) { diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesEndpoint.java index aa5c5f59805e..6c8259d5b834 100644 --- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesEndpoint.java +++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesEndpoint.java @@ -23,6 +23,9 @@ import org.apache.camel.Producer; import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint; import org.apache.camel.component.kubernetes.KubernetesConfiguration; import org.apache.camel.component.kubernetes.KubernetesConstants; +import org.apache.camel.spi.BodyType; +import org.apache.camel.spi.BodyType.Carrier; +import org.apache.camel.spi.BodyTypes; import org.apache.camel.spi.UriEndpoint; import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_NAMESPACES; @@ -33,6 +36,32 @@ import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_N @UriEndpoint(firstVersion = "2.17.0", scheme = SCHEME_NAMESPACES, title = "Kubernetes Namespaces", syntax = "kubernetes-namespaces:masterUrl", category = { Category.CONTAINER, Category.CLOUD }, headersClass = KubernetesConstants.class) +@BodyTypes(consumerOut = @BodyType(value = Carrier.POJO, javaType = "io.fabric8.kubernetes.api.model.Namespace", + description = "The Namespace that changed, with the action (ADDED, MODIFIED or DELETED) in the " + + "CamelKubernetesEventAction header"), + producerIn = @BodyType(value = Carrier.ANY, + description = "Not used: the operations take their input from headers, such as the name of the " + + "Namespace in CamelKubernetesNamespaceName and its labels as a Map in " + + "CamelKubernetesNamespaceLabels"), + producerOut = @BodyType(value = { Carrier.LIST, Carrier.POJO, Carrier.NULL, Carrier.VALUE }, + byOption = { + @BodyType.When(option = "operation", value = "listNamespaces", + carriers = Carrier.LIST), + @BodyType.When(option = "operation", value = "listNamespacesByLabels", + carriers = Carrier.LIST), + @BodyType.When(option = "operation", value = "getNamespace", + carriers = { Carrier.POJO, Carrier.NULL }), + @BodyType.When(option = "operation", value = "createNamespace", + carriers = Carrier.POJO, + javaType = "io.fabric8.kubernetes.api.model.Namespace"), + @BodyType.When(option = "operation", value = "updateNamespace", + carriers = Carrier.POJO, + javaType = "io.fabric8.kubernetes.api.model.Namespace"), + @BodyType.When(option = "operation", value = "deleteNamespace", + carriers = Carrier.VALUE, javaType = "java.lang.Boolean") }, + description = "A List of the Namespaces for the list operations, the Namespace of get, create and " + + "update (null when getNamespace finds none), and a Boolean of whether deleteNamespace " + + "deleted it")) public class KubernetesNamespacesEndpoint extends AbstractKubernetesEndpoint { public KubernetesNamespacesEndpoint(String uri, KubernetesNamespacesComponent component, KubernetesConfiguration config) { diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesEndpoint.java index 68598f27d1ec..5b335576cb64 100644 --- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesEndpoint.java +++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesEndpoint.java @@ -23,6 +23,9 @@ import org.apache.camel.Producer; import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint; import org.apache.camel.component.kubernetes.KubernetesConfiguration; import org.apache.camel.component.kubernetes.KubernetesConstants; +import org.apache.camel.spi.BodyType; +import org.apache.camel.spi.BodyType.Carrier; +import org.apache.camel.spi.BodyTypes; import org.apache.camel.spi.UriEndpoint; import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_NODES; @@ -33,6 +36,27 @@ import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_N @UriEndpoint(firstVersion = "2.17.0", scheme = SCHEME_NODES, title = "Kubernetes Nodes", syntax = "kubernetes-nodes:masterUrl", category = { Category.CONTAINER, Category.CLOUD }, headersClass = KubernetesConstants.class) +@BodyTypes(consumerOut = @BodyType(value = Carrier.POJO, javaType = "io.fabric8.kubernetes.api.model.Node", + description = "The Node that changed, with the action (ADDED, MODIFIED or DELETED) in the " + + "CamelKubernetesEventAction header"), + producerIn = @BodyType(value = Carrier.ANY, + description = "Not used: the operations take their input from headers, such as the name of the Node " + + "in CamelKubernetesNodeName and its NodeSpec in CamelKubernetesNodeSpec"), + producerOut = @BodyType(value = { Carrier.LIST, Carrier.POJO, Carrier.NULL, Carrier.VALUE }, + byOption = { + @BodyType.When(option = "operation", value = "listNodes", carriers = Carrier.LIST), + @BodyType.When(option = "operation", value = "listNodesByLabels", + carriers = Carrier.LIST), + @BodyType.When(option = "operation", value = "getNode", + carriers = { Carrier.POJO, Carrier.NULL }), + @BodyType.When(option = "operation", value = "createNode", carriers = Carrier.POJO, + javaType = "io.fabric8.kubernetes.api.model.Node"), + @BodyType.When(option = "operation", value = "updateNode", carriers = Carrier.POJO, + javaType = "io.fabric8.kubernetes.api.model.Node"), + @BodyType.When(option = "operation", value = "deleteNode", carriers = Carrier.VALUE, + javaType = "java.lang.Boolean") }, + description = "A List of the Nodes for the list operations, the Node of get, create and update (null " + + "when getNode finds none), and a Boolean of whether deleteNode deleted it")) public class KubernetesNodesEndpoint extends AbstractKubernetesEndpoint { public KubernetesNodesEndpoint(String uri, KubernetesNodesComponent component, KubernetesConfiguration config) { diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsEndpoint.java index 2ad0397a532c..0af5e8c9d1b0 100644 --- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsEndpoint.java +++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsEndpoint.java @@ -23,6 +23,9 @@ import org.apache.camel.Producer; import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint; import org.apache.camel.component.kubernetes.KubernetesConfiguration; import org.apache.camel.component.kubernetes.KubernetesConstants; +import org.apache.camel.spi.BodyType; +import org.apache.camel.spi.BodyType.Carrier; +import org.apache.camel.spi.BodyTypes; import org.apache.camel.spi.UriEndpoint; import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_PODS; @@ -33,6 +36,27 @@ import static org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_P @UriEndpoint(firstVersion = "2.17.0", scheme = SCHEME_PODS, title = "Kubernetes Pods", syntax = "kubernetes-pods:masterUrl", category = { Category.CONTAINER, Category.CLOUD }, headersClass = KubernetesConstants.class) +@BodyTypes(consumerOut = @BodyType(value = Carrier.POJO, javaType = "io.fabric8.kubernetes.api.model.Pod", + description = "The Pod that changed, with the action (ADDED, MODIFIED or DELETED) in the " + + "CamelKubernetesEventAction header"), + producerIn = @BodyType(value = Carrier.ANY, + description = "Not used: the operations take their input from headers, such as the name of the Pod in " + + "CamelKubernetesPodName and its PodSpec in CamelKubernetesPodSpec"), + producerOut = @BodyType(value = { Carrier.LIST, Carrier.POJO, Carrier.NULL, Carrier.VALUE }, + byOption = { + @BodyType.When(option = "operation", value = "listPods", carriers = Carrier.LIST), + @BodyType.When(option = "operation", value = "listPodsByLabels", + carriers = Carrier.LIST), + @BodyType.When(option = "operation", value = "getPod", + carriers = { Carrier.POJO, Carrier.NULL }), + @BodyType.When(option = "operation", value = "createPod", carriers = Carrier.POJO, + javaType = "io.fabric8.kubernetes.api.model.Pod"), + @BodyType.When(option = "operation", value = "updatePod", carriers = Carrier.POJO, + javaType = "io.fabric8.kubernetes.api.model.Pod"), + @BodyType.When(option = "operation", value = "deletePod", carriers = Carrier.VALUE, + javaType = "java.lang.Boolean") }, + description = "A List of the Pods for the list operations, the Pod of get, create and update (null " + + "when getPod finds none), and a Boolean of whether deletePod deleted it")) public class KubernetesPodsEndpoint extends AbstractKubernetesEndpoint { public KubernetesPodsEndpoint(String uri, KubernetesPodsComponent component, KubernetesConfiguration config) {
