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.10.2" 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"