kamelets/http-secured-source.kamelet.yaml (112 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/v1 kind: Kamelet metadata: name: http-secured-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.12.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. Supports Oauth and Basic authentication. 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 authenticationPreemptive: title: Authentication Preemptive description: If this option is true, camel-http sends preemptive basic authentication to the server. type: boolean 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:camel:group:credentials oauth2ClientId: title: Oauth2 Client Id description: Oauth2 Client Id type: string format: password x-descriptors: - urn:camel:group:credentials oauth2ClientSecret: title: Oauth2 Client Secret description: Oauth2 Client Secret type: string format: password x-descriptors: - urn:camel:group:credentials oauth2TokenEndpoint: title: Oauth2 Token Endpoint description: Oauth2 Token Endpoint type: string x-descriptors: - urn:camel:group:credentials oauth2Scope: title: Oauth2 Scope description: Oauth2 Scope type: string x-descriptors: - urn:camel:group:credentials dependencies: - "camel:http" - "camel:kamelet" - "camel:core" - "camel:timer" template: from: uri: "timer:fetch" parameters: period: "{{period}}" steps: - setHeader: name: "Accept" constant: "{{contentType}}" - to: uri: "{{url}}" parameters: authMethod: "{{?authMethod}}" authUsername: "{{?authUsername}}" authPassword: "{{?authPassword}}" oauth2ClientId: "{{?oauth2ClientId}}" oauth2ClientSecret: "{{?oauth2ClientSecret}}" oauth2Scope: "{{?oauth2Scope}}" oauth2TokenEndpoint: "{{?oauth2TokenEndpoint}}" authenticationPreemptive: "{{authenticationPreemptive}}" - to: "kamelet:sink"