diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc index b991507a8..b5f48109a 100644 --- a/docs/modules/ROOT/nav.adoc +++ b/docs/modules/ROOT/nav.adoc @@ -88,6 +88,7 @@ * xref:google-storage-cdc-source.adoc[] * xref:google-storage-sink.adoc[] * xref:google-storage-source.adoc[] +* xref:graphql-sink.adoc[] * xref:has-header-filter-action.adoc[] * xref:header-matches-filter-action.adoc[] * xref:hoist-field-action.adoc[] diff --git a/kamelets/graphql-sink.kamelet.yaml b/kamelets/graphql-sink.kamelet.yaml new file mode 100644 index 000000000..662f2fe38 --- /dev/null +++ b/kamelets/graphql-sink.kamelet.yaml @@ -0,0 +1,63 @@ +# --------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# --------------------------------------------------------------------------- +apiVersion: camel.apache.org/v1alpha1 +kind: Kamelet +metadata: + name: graphql-sink + annotations: + camel.apache.org/kamelet.support.level: "Stable" + camel.apache.org/catalog.version: "4.0.0-SNAPSHOT" + camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MjAiCmhlaWdodD0iNDIwIiBzdHJva2U9IiMwMDAiIGZpbGw9Im5vbmUiPgo8cGF0aCBzdHJva2Utd2lkdGg9IjI2IgpkPSJNMjA5LDE1YTE5NSwxOTUgMCAxLDAgMiwweiIvPgo8cGF0aCBzdHJva2Utd2lkdGg9IjE4IgpkPSJtMjEwLDE1djM5MG0xOTUtMTk1SDE1TTU5LDkwYTI2MCwyNjAgMCAwLDAgMzAyLDAgbTAsMjQwIGEyNjAsMjYwIDAgMCwwLTMwMiwwTTE5NSwyMGEyNTAsMjUwIDAgMCwwIDAsMzgyIG0zMCwwIGEyNTAsMjUwIDAgMCwwIDAtMzgyIi8+Cjwvc3ZnPg==" + camel.apache.org/provider: "Apache Software Foundation" + camel.apache.org/kamelet.group: "Graphql" + camel.apache.org/kamelet.namespace: "Graphql" + labels: + camel.apache.org/kamelet.type: sink +spec: + definition: + title: GraphQL Sink + description: Forward data to a GraphQL endpoint. + required: + - url + type: object + properties: + url: + title: GraphQL Server URL + description: The URL to which you want to send data. + type: string + example: "http://example.com/graphql" + pattern: "^(http|https)://.*" + accessToken: + title: GraphQL Access Token + description: The access Token to use to access GraphQL server + type: string + format: password + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:password + - urn:camel:group:credentials + dependencies: + - "camel:graphql" + - "camel:kamelet" + - "camel:core" + template: + from: + uri: kamelet:source + steps: + - to: + uri: "graphql://{{url}}" + parameters: + accessToken: "{{?accessToken}}" diff --git a/library/camel-kamelets/src/main/resources/kamelets/graphql-sink.kamelet.yaml b/library/camel-kamelets/src/main/resources/kamelets/graphql-sink.kamelet.yaml new file mode 100644 index 000000000..662f2fe38 --- /dev/null +++ b/library/camel-kamelets/src/main/resources/kamelets/graphql-sink.kamelet.yaml @@ -0,0 +1,63 @@ +# --------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# --------------------------------------------------------------------------- +apiVersion: camel.apache.org/v1alpha1 +kind: Kamelet +metadata: + name: graphql-sink + annotations: + camel.apache.org/kamelet.support.level: "Stable" + camel.apache.org/catalog.version: "4.0.0-SNAPSHOT" + camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MjAiCmhlaWdodD0iNDIwIiBzdHJva2U9IiMwMDAiIGZpbGw9Im5vbmUiPgo8cGF0aCBzdHJva2Utd2lkdGg9IjI2IgpkPSJNMjA5LDE1YTE5NSwxOTUgMCAxLDAgMiwweiIvPgo8cGF0aCBzdHJva2Utd2lkdGg9IjE4IgpkPSJtMjEwLDE1djM5MG0xOTUtMTk1SDE1TTU5LDkwYTI2MCwyNjAgMCAwLDAgMzAyLDAgbTAsMjQwIGEyNjAsMjYwIDAgMCwwLTMwMiwwTTE5NSwyMGEyNTAsMjUwIDAgMCwwIDAsMzgyIG0zMCwwIGEyNTAsMjUwIDAgMCwwIDAtMzgyIi8+Cjwvc3ZnPg==" + camel.apache.org/provider: "Apache Software Foundation" + camel.apache.org/kamelet.group: "Graphql" + camel.apache.org/kamelet.namespace: "Graphql" + labels: + camel.apache.org/kamelet.type: sink +spec: + definition: + title: GraphQL Sink + description: Forward data to a GraphQL endpoint. + required: + - url + type: object + properties: + url: + title: GraphQL Server URL + description: The URL to which you want to send data. + type: string + example: "http://example.com/graphql" + pattern: "^(http|https)://.*" + accessToken: + title: GraphQL Access Token + description: The access Token to use to access GraphQL server + type: string + format: password + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:password + - urn:camel:group:credentials + dependencies: + - "camel:graphql" + - "camel:kamelet" + - "camel:core" + template: + from: + uri: kamelet:source + steps: + - to: + uri: "graphql://{{url}}" + parameters: + accessToken: "{{?accessToken}}"