# ---------------------------------------------------------------------------
# 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: chuck-norris-source
  annotations:
    camel.apache.org/kamelet.support.level: "Stable"
    camel.apache.org/catalog.version: "3.21.0"
    camel.apache.org/kamelet.icon: data:image/svg+xml;base64,[encoded data, 8704 characters]
    camel.apache.org/provider: "Apache Software Foundation"
    camel.apache.org/kamelet.group: "Chuck Norris"
    camel.apache.org/kamelet.namespace: "Dataset"
  labels:
    camel.apache.org/kamelet.type: "source"
spec:
  definition:
    title: "Chuck Norris Source"
    description: |-
      Gets periodically Chuck Norris jokes
    type: object
    properties:
      period:
        title: Period
        description: The interval (msec) to wait before getting the next joke
        type: integer
        default: 10000
  types:
    out:
      mediaType: text/plain
  dependencies:
    - "camel:kamelet"
    - "camel:timer"
    - "camel:http"
    - "camel:jsonpath"
  template:
    from:
      uri: "timer:chuck"
      parameters:
        period: "{{period}}"
      steps:
        - to: "https://api.chucknorris.io/jokes/random"
        - set-body:
            jsonpath: "$.value"
        - to: "kamelet:sink"