rest-openapi-sink/kamelet.json

122 lines
18 KiB
JSON
Raw Permalink Normal View History

{
"apiVersion": "camel.apache.org/v1",
"kind": "Kamelet",
"metadata": {
"name": "rest-openapi-sink",
"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,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+Cjxzdmcgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDcwMCA3MDIiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM6c2VyaWY9Imh0dHA6Ly93d3cuc2VyaWYuY29tLyIgc3R5bGU9ImZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoyOyI+CiAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC04OTAsLTc4NykiPgogICAgICAgIDxnPgogICAgICAgICAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCg0LjE2NjY3LDAsMCw0LjE2NjY3LDUxNi4xOTksLTExMy45NTkpIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMzQuMSwzMTIuOUw4OS44LDMxMi45TDg5LjgsMzEzLjVDODkuOCwzMTQgODkuOCwzMTQuMyA5MCwzMTQuOEw5MCwzMTUuM0M5MCwzMTUuOCA5MC4yLDMxNi4yIDkwLjIsMzE2LjdMOTAuMiwzMTdDOTAuMiwzMTcuNSA5MC40LDMxOC4xIDkwLjQsMzE4LjZMOTAuNCwzMTguOEM5MC40LDMxOS40IDkwLjYsMzE5LjkgOTAuNiwzMjAuNUM5MS4xLDMyNC4xIDkxLjksMzI3LjUgOTIuOSwzMzFDOTMuMSwzMzEuNSA5My4yLDMzMi4xIDkzLjQsMzMyLjZMOTMuNCwzMzNDOTMuNiwzMzMuNSA5My43LDMzMy45IDkzLjksMzM0LjRDOTMuOSwzMzQuNiA5NC4xLDMzNC43IDk0LjEsMzM0LjdDOTQuMywzMzUuMiA5NC40LDMzNS41IDk0LjYsMzM2Qzk0LjYsMzM2LjIgOTQuOCwzMzYuMyA5NC44LDMzNi42Qzk1LDMzNi45IDk1LjEsMzM3LjIgOTUuMywzMzcuN0M5NS41LDMzOCA5NS41LDMzOC4yIDk1LjYsMzM4LjVDOTUuOCwzMzguOCA5NS44LDMzOSA5NS45LDMzOS4zQzk2LjEsMzM5LjYgOTYuMiwzMzkuOSA5Ni40LDM0MC4yQzk2LjYsMzQwLjQgOTYuNiwzNDAuNSA5Ni43LDM0MC44Qzk2LjksMzQxLjEgOTcsMzQxLjYgOTcuMywzNDIuMUM5Ny4zLDM0Mi4zIDk3LjUsMzQyLjQgOTcuNSwzNDIuNEM5Ny43LDM0Mi45IDk4LDM0My4zIDk4LjEsMzQzLjhDOTguMSwzNDMuOCA5OC4xLDM0NCA5OC4zLDM0NEM5OC42LDM0NC41IDk4LjgsMzQ0LjkgOTkuMSwzNDUuNEM5OS4xLDM0NS42IDk5LjMsMzQ1LjYgOTkuMywzNDUuN0wxMzcuMiwzMjIuOEwxMzcuNCwzMjIuNkMxMzUuNCwzMTkuNyAxMzQuNSwzMTYuMiAxMzQuMSwzMTIuOVoiIHN0eWxlPSJmaWxsOnJnYigxNDksMjAxLDYxKTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCg0LjE2NjY3LDAsMCw0LjE2NjY3LDUxNi4xOTksLTExMy45NTkpIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05MS45LDMzMy4zTDkzLjQsMzMyLjhMOTEuOSwzMzMuM1oiIHN0eWxlPSJmaWxsOnJnYigxNDksMjAxLDYxKTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCg0LjE2NjY3LDAsMCw0LjE2NjY3LDUxNi4xOTksLTExMy45NTkpIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNDUuMSwzMzMuM0wxMTMuOCwzNjQuNkMxMTQsMzY0LjggMTE0LjEsMzY0LjkgMTE0LjMsMzY1LjFDMTE0LjYsMzY1LjQgMTE0LjksMzY1LjYgMTE1LjIsMzY1LjlDMTE1LjQsMzY2LjEgMTE1LjUsMzY2LjIgMTE1LjcsMzY2LjRDMTE2LDM2Ni43IDExNi41LDM2NyAxMTYuOCwzNjcuM0MxMTcsMzY3LjUgMTE3LDM2Ny41IDExNy4xLDM2Ny42QzExNy42LDM2Ny45IDExNy45LDM2OC4yIDExOC40LDM2OC41TDExOC42LDM2OC43QzExOS4xLDM2OSAxMTkuNSwzNjkuMyAxMjAsMzY5LjhDMTIxLjksMzcxLjIgMTIzLjgsMzcyLjUgMTI1LjgsMzczLjdMMTI2LDM3My45QzEyNi4zLDM3NC4xIDEyNi44LDM3NC40IDEyNy4xLDM3NC41QzEyNy40LDM3NC43IDEyNy42LDM3NC44IDEyNy43LDM3NUMxMjcuOSwzNzUuMiAxMjguMiwzNzUuMyAxMjguMywzNzUuM0MxMjguOCwzNzUuNSAxMjkuMSwzNzUuOCAxMjkuNiwzNzUuOUMxMjkuNiwzNzUuOSAxMjkuOCwzNzUuOSAxMjkuOCwzNzYuMUMxMzAuOSwzNzYuNyAxMzIuMSwzNzcuMiAxMzMuMiwzNzcuOEwxMzQuMywzNzUuMUwxNTAsMzM2LjlMMTUwLDMzNi43QzE0OC4yLDMzNS42IDE0Ni41LDMzNC41IDE0NS4xLDMzMy4zWiIgc3R5bGU9ImZpbGw6cmdiKDc3LDkxLDQ5KTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCg0LjE2NjY3LDAsMCw0LjE2NjY3LDUxNi4xOTksLTExMy45NTkpIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNDEuOCwzMzAuMUMxNDEuNSwzMjkuOCAxNDEuMiwzMjkuMyAxNDAuOSwzMjlDMTQwLjYsMzI4LjcgMTQwLjMsMzI4LjQgMTQwLjEsMzI3LjlDMTM5LjgsMzI3LjQgMTM5LjUsMzI3LjEgMTM5LjIsMzI2LjZDMTM4LjksMzI2LjEgMTM4LjYsMzI1LjggMTM4LjQsMzI1LjNMMTAwLjUsMzQ4LjJDMTAxLjEsMzQ5LjEgMTAxLjgsMzUwLjEgMTAyLjQsMzUxTDEwMi40LDM1MS40QzEwMi40LDM1MS42IDEwMi42LDM1MS42IDEwMi42LDM1MS42QzEwMy4yLDM1Mi41IDEwNCwzNTMuNSAxMDQuNiwzNTQuNEMxMDQuOSwzNTQuOSAxMDUuMiwzNTUuMiAxMDUuNSwzNTUuN0wxMDUuNywzNTUuOUMxMDYsMzU2LjQgMTA2LjMsMzU2LjcgMTA2LjYsMzU3LjJDMTA2LjgsMzU3LjQgMTA2LjgsMzU3LjQgMTA2LjksMzU3LjVDMTA3LjIsMzU3LjggMTA3LjUsMzU4LjMgMTA3LjgsMzU4LjZDMTA4LDM1OC44IDEwOC4xLDM1OC45IDEwOC4zLDM1OS4xQzEwOC42LDM1OS40I
"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": "sink"
}
},
"spec": {
"definition": {
"title": "REST OpenAPI Sink",
"description": "Load an OpenAPI specification from a URI and call an operation on a HTTP service. The request that is generated respects the rules given in the OpenAPI specification (for example, path parameters and Content-Type).",
"required": [
"specification",
"operation"
],
"type": "object",
"properties": {
"specification": {
"title": "Specification URI",
"description": "The URI to the OpenApi specification file.",
"type": "string",
"example": "https://api.example.com/openapi.json",
"pattern": "^(http|https|file|classpath|ref|bean)://.*"
},
"operation": {
"title": "Operation ID",
"description": "The operation to call.",
"type": "string"
},
"host": {
"title": "Host",
"description": "The host to use for calling the REST service. Overrides the value found in the OpenAPI specification. The format is https://hostname:port.",
"type": "string",
"example": "https://api.example.com:443"
},
"basePath": {
"title": "Base Path",
"description": "The API base path. Overrides the value present in the OpenAPI specification.",
"type": "string",
"example": "/v3"
},
"clientRequestValidation": {
"title": "Client Request Validation",
"description": "Whether to enable validation of the client request to check if the incoming request is valid according to the OpenAPI specification.",
"type": "boolean",
"default": false
}
}
},
"dependencies": [
"camel:rest-openapi",
"camel:http",
"camel:kamelet",
"camel:core"
],
"template": {
"from": {
"uri": "kamelet:source",
"steps": [
{
"to": {
"uri": "rest-openapi:{{specification}}#{{operation}}",
"parameters": {
"host": "{{?host}}",
"basePath": "{{?basePath}}",
"clientRequestValidation": "{{clientRequestValidation}}"
}
}
}
]
}
}
},
"propertiesSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"title": "REST OpenAPI Sink",
"description": "Load an OpenAPI specification from a URI and call an operation on a HTTP service. The request that is generated respects the rules given in the OpenAPI specification (for example, path parameters and Content-Type).",
"required": [
"specification",
"operation"
],
"properties": {
"specification": {
"type": "string",
"title": "Specification URI",
"description": "The URI to the OpenApi specification file."
},
"operation": {
"type": "string",
"title": "Operation ID",
"description": "The operation to call."
},
"host": {
"type": "string",
"title": "Host",
"description": "The host to use for calling the REST service. Overrides the value found in the OpenAPI specification. The format is https://hostname:port."
},
"basePath": {
"type": "string",
"title": "Base Path",
"description": "The API base path. Overrides the value present in the OpenAPI specification."
},
"clientRequestValidation": {
"type": "boolean",
"title": "Client Request Validation",
"description": "Whether to enable validation of the client request to check if the incoming request is valid according to the OpenAPI specification.",
"default": false
}
}
}
}