google-storage-sink/kamelet.json

137 lines
6.4 KiB
JSON
Raw Normal View History

{
"apiVersion": "camel.apache.org/v1",
"kind": "Kamelet",
"metadata": {
"name": "google-storage-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,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBoZWlnaHQ9IjgwMCIgd2lkdGg9IjEyMDAiIHZpZXdCb3g9Ii0xOS4yMDAxNSAtMjguNDgzIDE2Ni40MDEzIDE3MC44OTgiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTcuMDM0KSI+PGxpbmVhckdyYWRpZW50IHkyPSIxMjAuNzg5IiB4Mj0iNjQiIHkxPSI3LjAzNCIgeDE9IjY0IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgaWQ9ImEiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzQzODdmZCIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzQ2ODNlYSIvPjwvbGluZWFyR3JhZGllbnQ+PHBhdGggZD0iTTI3Ljc5IDExNS4yMTdMMS41NCA2OS43NDlhMTEuNDk5IDExLjQ5OSAwIDAxMC0xMS40OTlsMjYuMjUtNDUuNDY3YTExLjUgMTEuNSAwIDAxOS45Ni01Ljc1aDUyLjVhMTEuNSAxMS41IDAgMDE5Ljk1OSA1Ljc1bDI2LjI1IDQ1LjQ2N2ExMS40OTkgMTEuNDk5IDAgMDEwIDExLjVsLTI2LjI1IDQ1LjQ2NmExMS41IDExLjUgMCAwMS05Ljk1OSA1Ljc1aC01Mi41YTExLjQ5OSAxMS40OTkgMCAwMS05Ljk2LTUuNzV6IiBmaWxsPSJ1cmwoI2EpIi8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTcuMDM0KSI+PGRlZnM+PHBhdGggZD0iTTI3Ljc5MSAxMTUuMjE3TDEuNTQxIDY5Ljc0OWExMS40OTkgMTEuNDk5IDAgMDEwLTExLjQ5OWwyNi4yNS00NS40NjdhMTEuNDk5IDExLjQ5OSAwIDAxOS45NTktNS43NWg1Mi41YTExLjUgMTEuNSAwIDAxOS45NiA1Ljc1bDI2LjI1IDQ1LjQ2N2ExMS40OTkgMTEuNDk5IDAgMDEwIDExLjVsLTI2LjI1IDQ1LjQ2NmExMS40OTkgMTEuNDk5IDAgMDEtOS45NiA1Ljc1aC01Mi41YTExLjQ5OSAxMS40OTkgMCAwMS05Ljk1OS01Ljc1eiIgaWQ9ImIiLz48L2RlZnM+PGNsaXBQYXRoIGlkPSJjIj48dXNlIGhlaWdodD0iMTAwJSIgd2lkdGg9IjEwMCUiIHhsaW5rOmhyZWY9IiNiIiBvdmVyZmxvdz0idmlzaWJsZSIvPjwvY2xpcFBhdGg+PHBhdGggY2xpcC1wYXRoPSJ1cmwoI2MpIiBvcGFjaXR5PSIuMDciIGQ9Ik00OS4zMTMgNTMuODc1bC03LjAxIDYuOTkgNS45NTcgNS45NTgtNS44OTggMTAuNDc2IDQ0LjYzNSA0NC42MzYgMTAuODE2LjAwMkwxMTguOTM2IDg0IDg1LjQ4OSA1MC41NXoiLz48L2c+PHBhdGggZD0iTTg0LjcgNDMuMjM2SDQzLjI2NGMtLjY2NyAwLTEuMjEyLjU0Ni0xLjIxMiAxLjIxNHY4LjU2NmMwIC42NjYuNTQ2IDEuMjEyIDEuMjEyIDEuMjEySDg0LjdjLjY2NyAwIDEuMjEzLS41NDYgMS4yMTMtMS4yMTJ2LTguNTY4YzAtLjY2Ni0uNTQ1LTEuMjEzLTEuMjEyLTEuMjEzbS02LjQxNiA3Ljk3NmEyLjQ4NCAyLjQ4NCAwIDAxLTIuNDc3LTIuNDggMi40NzUgMi40NzUgMCAwMTIuNDc3LTIuNDc3YzEuMzcgMCAyLjQ4IDEuMTAzIDIuNDggMi40NzdhMi40OCAyLjQ4IDAgMDEtMi40OCAyLjQ4bTYuNDE1IDguNDkxbC00MS40MzYuMDAyYy0uNjY3IDAtMS4yMTIuNTQ2LTEuMjEyIDEuMjE0djguNTY1YzAgLjY2Ni41NDYgMS4yMTMgMS4yMTIgMS4yMTNIODQuN2MuNjY3IDAgMS4yMTMtLjU0NyAxLjIxMy0xLjIxM3YtOC41NjdjMC0uNjY2LS41NDUtMS4yMTQtMS4yMTItMS4yMTRtLTYuNDE2IDcuOTc2YTIuNDgzIDIuNDgzIDAgMDEtMi40NzctMi40OCAyLjQ3NSAyLjQ3NSAwIDAxMi40NzctMi40NzcgMi40OCAyLjQ4IDAgMTEwIDQuOTU2IiBmaWxsPSIjZmZmIi8+PC9zdmc+",
"camel.apache.org/provider": "Apache Software Foundation",
"camel.apache.org/kamelet.group": "Google Storage",
"camel.apache.org/kamelet.namespace": "GCP"
},
"labels": {
"camel.apache.org/kamelet.type": "sink"
}
},
"spec": {
"definition": {
"title": "Google Storage Sink",
"description": "Upload objects to Google Cloud Storage.",
"required": [
"bucketNameOrArn"
],
"type": "object",
"properties": {
"bucketNameOrArn": {
"title": "Bucket Name Or ARN",
"description": "The Google Cloud Storage bucket name or Bucket Amazon Resource Name (ARN).",
"type": "string"
},
"serviceAccountKey": {
"title": "Service Account Key",
"description": "The service account key to use as credentials for Google Cloud Storage access. You must encode this value in base64.",
"type": "binary",
"x-descriptors": [
"urn:camel:group:credentials"
]
},
"autoCreateBucket": {
"title": "Autocreate Bucket",
"description": "Specifies to automatically create the Google Cloud Storage bucket.",
"type": "boolean",
"default": false
}
}
},
"dependencies": [
"camel:core",
"camel:kamelet",
"camel:google-storage",
"camel:jackson"
],
"template": {
"from": {
"uri": "kamelet:source",
"steps": [
{
"choice": {
"when": [
{
"simple": "${header[file]}",
"steps": [
{
"setHeader": {
"name": "CamelGoogleCloudStorageObjectName",
"simple": "${header[file]}"
}
}
]
},
{
"simple": "${header[ce-file]}",
"steps": [
{
"setHeader": {
"name": "CamelGoogleCloudStorageObjectName",
"simple": "${header[ce-file]}"
}
}
]
}
],
"otherwise": {
"steps": [
{
"setHeader": {
"name": "CamelGoogleCloudStorageObjectName",
"simple": "${exchangeId}"
}
}
]
}
}
},
{
"to": {
"uri": "google-storage://{{bucketNameOrArn}}",
"parameters": {
"autoCreateBucket": "{{autoCreateBucket}}",
"serviceAccountKey": "base64:{{?serviceAccountKey}}"
}
}
}
]
}
}
},
"propertiesSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"title": "Google Storage Sink",
"description": "Upload objects to Google Cloud Storage.",
"required": [
"bucketNameOrArn"
],
"properties": {
"bucketNameOrArn": {
"type": "string",
"title": "Bucket Name Or ARN",
"description": "The Google Cloud Storage bucket name or Bucket Amazon Resource Name (ARN)."
},
"serviceAccountKey": {
"type": "string",
"$comment": "type:binary",
"title": "Service Account Key",
"description": "The service account key to use as credentials for Google Cloud Storage access. You must encode this value in base64."
},
"autoCreateBucket": {
"type": "boolean",
"title": "Autocreate Bucket",
"description": "Specifies to automatically create the Google Cloud Storage bucket.",
"default": false
}
}
}
}