kamelets/http-secured-source.kamelet.yaml (86 lines of code) (raw):

# --------------------------------------------------------------------------- # 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: http-secured-source 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: "HTTP" camel.apache.org/kamelet.namespace: "HTTP" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "HTTP Secured Source" description: |- Periodically fetches a secured HTTP resource and provides the content as output. required: - url type: object properties: period: title: Period between Updates description: The interval between fetches in milliseconds type: integer default: 10000 contentType: title: Content Type description: The content type accepted for the resource type: string default: "application/json" url: title: URL description: The URL to fetch for data type: string example: "https://gist.githubusercontent.com/nicolaferraro/e3c72ace3c751f9f88273896611ce5fe/raw/3b6f54060bacb56b6719b7386a4645cb59ad6cc1/quote.json" pattern: "^(http|https)://.*" authMethod: title: Authentication Method description: Authentication methods allowed to use as a comma separated list of values Basic, Digest or NTLM. type: string default: "Basic" authenticationPreemptive: title: Authentication Preemptive description: If this option is true, camel-http sends preemptive basic authentication to the server. type: boolean x-descriptors: - 'urn:alm:descriptor:com.tectonic.ui:checkbox' default: false authUsername: title: Authentication Username description: Authentication username type: string x-descriptors: - urn:camel:group:credentials authPassword: title: Authentication Password description: Authentication password type: string format: password x-descriptors: - urn:alm:descriptor:com.tectonic.ui:password - urn:camel:group:credentials dependencies: - "camel:http" - "camel:kamelet" - "camel:core" - "camel:timer" template: from: uri: "timer:fetch" parameters: period: "{{period}}" steps: - set-header: name: "Accept" constant: "{{contentType}}" - to: uri: "{{url}}" parameters: authMethod: "{{authMethod}}" authUsername: "{{authUsername}}" authPassword: "{{authPassword}}" authenticationPreemptive: "{{authenticationPreemptive}}" - to: "kamelet:sink"