wttrin-source/kamelet.json

147 lines
5.9 KiB
JSON

{
"apiVersion": "camel.apache.org/v1",
"kind": "Kamelet",
"metadata": {
"name": "wttrin-source",
"annotations": {
"camel.apache.org/kamelet.support.level": "Stable",
"camel.apache.org/catalog.version": "4.22.1",
"camel.apache.org/kamelet.icon": "data:image/svg+xml;base64,PHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgZm9jdXNhYmxlPSJmYWxzZSIgZGF0YS1wcmVmaXg9ImZhcyIgZGF0YS1pY29uPSJjbG91ZC1zdW4iIGNsYXNzPSJzdmctaW5saW5lLS1mYSBmYS1jbG91ZC1zdW4iIHJvbGU9ImltZyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNjQwIDUxMiI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOTYgMjA4YzAtNjEuODYgNTAuMTQtMTExLjEgMTExLjEtMTExLjFjNTIuNjUgMCA5Ni41IDM2LjQ1IDEwOC41IDg1LjQyQzMzNC43IDE3My4xIDM1NC43IDE2OCAzNzUuMSAxNjhjNC42MDcgMCA5LjE1MiAuMzgwOSAxMy42OCAuODIwM2wyNC4xMy0zNC43NmM1LjE0NS03LjQxNCAuODk2NS0xNy42Ny03Ljk4NC0xOS4yN0wzMTcuMiA5OC43OEwzMDEuMiAxMC4yMUMyOTkuNiAxLjMyNSAyODkuNC0yLjkxOSAyODEuOSAyLjIyNkwyMDggNTMuNTRMMTM0LjEgMi4yMjVDMTI2LjYtMi45MiAxMTYuNCAxLjMyNiAxMTQuOCAxMC4yMUw5OC43OCA5OC43OEwxMC4yMSAxMTQuOEMxLjMyNiAxMTYuNC0yLjkyMiAxMjYuNyAyLjIyMyAxMzQuMWw1MS4zIDczLjk0TDIuMjI0IDI4MS45Yy01LjE0NSA3LjQxNC0uODk3NSAxNy42NyA3Ljk4MyAxOS4yN0w5OC43OCAzMTcuMmwxNi4wMSA4OC41OGMxLjYwNCA4Ljg4MSAxMS44NiAxMy4xMyAxOS4yNyA3Ljk4MmwxMC43MS03LjQzMmMyLjcyNS0zNS4xNSAxOS44NS02Ni41MSA0NS44My04OC4xQzEzNy4xIDMwOS44IDk2IDI2My45IDk2IDIwOHpNMTI4IDIwOGMwIDQ0LjE4IDM1LjgyIDgwIDgwIDgwYzkuNzI5IDAgMTguOTMtMS45OTYgMjcuNTYtNS4xNzZjNy4wMDItMzMuNjUgMjUuNTMtNjIuODUgNTEuNTctODMuNDRDMjgyLjggMTU5LjMgMjQ5LjIgMTI4IDIwOCAxMjhDMTYzLjggMTI4IDEyOCAxNjMuOCAxMjggMjA4ek01NzUuMiAzMjUuNmMuMTI1LTIgLjc0NTMtMy43NDQgLjc0NTMtNS42MTljMC0zNS4zOC0yOC43NS02NC02My4xLTY0Yy0xMi42MiAwLTI0LjI1IDMuNzQ5LTM0LjEzIDkuOTk5Yy0xNy42Mi0zOC44OC01Ni41LTY1LjEtMTAxLjktNjUuMWMtNjEuNzUgMC0xMTIgNTAuMTItMTEyIDExMS4xYzAgMyAuNzUyMiA1Ljc0MyAuODc3MiA4LjYxOGMtNDkuNjMgMy43NS04OC44OCA0NC43NC04OC44OCA5NS4zN0MxNzUuMSA0NjkgMjE4LjEgNTEyIDI3MS4xIDUxMmgyNzJjNTMgMCA5Ni00Mi45OSA5Ni05NS45OUM2MzkuMSAzNzMuOSA2MTIuNyAzMzguNiA1NzUuMiAzMjUuNnoiPjwvcGF0aD48L3N2Zz4=",
"camel.apache.org/provider": "Apache Software Foundation",
"camel.apache.org/kamelet.group": "Weather",
"camel.apache.org/kamelet.namespace": "Dataset"
},
"labels": {
"camel.apache.org/kamelet.type": "source"
}
},
"spec": {
"definition": {
"title": "wttr.in Source",
"description": "Get weather forecasts from the wttr.in weather forecast service",
"type": "object",
"properties": {
"period": {
"title": "Period",
"description": "The interval between fetches to the wttr.in service in milliseconds",
"type": "integer",
"default": 60000
},
"wttrLocation": {
"title": "Location",
"description": "The location to get weather forecasts",
"type": "string",
"example": "\"paris\", \"~Eiffel+tower\", \"Москва\", \"muc\", \"@stackoverflow.com\", \"94107\", \"-78.46,106.79\""
},
"wttrLanguage": {
"title": "Language",
"description": "The language to use for displaying weather forecasts",
"type": "string",
"example": "am ar af be bn ca da de el et fr fa hi hu ia id it lt mg nb nl oc pl pt-br ro ru ta tr th uk vi zh-cn zh-tw"
},
"output": {
"title": "Output Type",
"description": "The type of output",
"type": "string",
"example": "current, weather, full",
"default": "current"
}
}
},
"types": {
"out": {
"mediaType": "application/json"
}
},
"dependencies": [
"camel:core",
"camel:http",
"camel:jackson",
"camel:jsonpath",
"camel:kamelet",
"camel:timer"
],
"template": {
"from": {
"uri": "timer:wttr.in",
"parameters": {
"period": "{{period}}"
},
"steps": [
{
"to": "https://wttr.in/{{?wttrLocation}}?format=j1&lang={{?wttrLanguage}}"
},
{
"choice": {
"when": [
{
"simple": "'{{output}}' == 'current'",
"steps": [
{
"transform": {
"jsonpath": "$.current_condition[0]"
}
},
{
"marshal": {
"json": {}
}
}
]
},
{
"simple": "'{{output}}' == 'weather'",
"steps": [
{
"transform": {
"jsonpath": "$.weather"
}
},
{
"marshal": {
"json": {}
}
}
]
}
]
}
},
{
"to": "kamelet:sink"
}
]
}
}
},
"propertiesSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"title": "wttr.in Source",
"description": "Get weather forecasts from the wttr.in weather forecast service",
"properties": {
"period": {
"type": "integer",
"title": "Period",
"description": "The interval between fetches to the wttr.in service in milliseconds",
"default": 60000
},
"wttrLocation": {
"type": "string",
"title": "Location",
"description": "The location to get weather forecasts"
},
"wttrLanguage": {
"type": "string",
"title": "Language",
"description": "The language to use for displaying weather forecasts"
},
"output": {
"type": "string",
"title": "Output Type",
"description": "The type of output",
"default": "current"
}
}
}
}