Add kamelet definition: aws-ddb-sink
This commit is contained in:
parent
31ae83c0b6
commit
fe079594b5
360
kamelet.json
Normal file
360
kamelet.json
Normal file
@ -0,0 +1,360 @@
|
||||
{
|
||||
"apiVersion": "camel.apache.org/v1",
|
||||
"kind": "Kamelet",
|
||||
"metadata": {
|
||||
"name": "aws-ddb-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,PHN2ZyBoZWlnaHQ9IjEwMCIgd2lkdGg9IjEwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSIjMkQ3MkI4IiBkPSJNNzQuMTc0IDMxLjgwN2w3LjQzNyA1LjM2N3YtNy42MDJsLTcuNDgtOC43NjV2MTAuOTU3bC4wNDMuMDE1eiIvPjxwYXRoIGZpbGw9IiM1Mjk0Q0YiIGQ9Ik01OS44MzggODUuNjY2bDE0LjI5My03LjE0NlYyMC43OTFsLTE0LjMwMy03LjEyNHoiLz48cGF0aCBmaWxsPSIjMjA1Qjk4IiBkPSJNMzkuNDk2IDg1LjY2NkwyNS4yMDMgNzguNTJWMjAuNzkxbDE0LjMwMy03LjEyNHoiLz48cGF0aCBmaWxsPSIjMkQ3MkI4IiBkPSJNMzkuNTA2IDEzLjY2N2gyMC4zMjF2NzEuOTk5SDM5LjUwNnpNNzQuMTMxIDY3LjU2NFY3OC41Mmw3LjQ4LTguNzY0di03LjYwMmwtNy40MzcgNS4zOTd6TTc0LjEzMSA2Mi45MzZsLjA0My0uMDEgNy40MzctNHYtNy42NDlsLTcuNDguNjg4ek03NC4xNzQgMzYuNDI5bC0uMDQzLS4wMVY0Ny4zNWw3LjQ4LjY5OXYtNy42NDV6Ii8+PHBhdGggZmlsbD0iIzFBNDc2RiIgZD0iTTgxLjYxMSA0OC4wNDlsLTcuNDgtLjY5OS0xNC4zMDMtLjU3MkgzOS41MDZsLTE0LjMwMy41NzJWMzYuNDQzbC0uMDE1LjAwOC4wMTUtLjAzMiAxNC4zMDMtMy4zMTRINTkuODI4bDE0LjMwMyAzLjMxNCA1LjI1OCAyLjc5NXYtMS43OTdsMi4yMjItLjI0My03LjQ4LTUuNDEtMTQuMzAzLTQuNDMySDM5LjUwNmwtMTQuMzAzIDQuNDMyVjIwLjgwN2wtNy40OCA4Ljc2M3Y3LjY1M2wuMDU4LS4wNDIgMi4xNjQuMjM2djEuODM0bC0yLjIyMiAxLjE4OXY3LjYxNWwuMDU4LS4wMDYgMi4xNjQuMDMydjMuMTk2bC0xLjg2Ny4wMjgtLjM1NS0uMDM0djcuNjE4bDIuMjIyIDEuMTk1djEuODU1bC0yLjEyOS4yMzUtLjA5My0uMDd2Ny42NTJsNy40OCA4Ljc2NFY2Ny41NjRsMTQuMzAzIDQuNDMySDU5LjgyOGwxNC4zNDUtNC40NDUgNy40MzgtNS4zNjctMi4yMjItLjI0NXYtMS44MThsLTUuMjE2IDIuODA1LTE0LjM0NSAzLjI5NXYuMDA0SDM5LjUwNnYtLjAwNGwtMTQuMzQ4LTMuMjk1LS4wMjUtLjA1MS4wNy4wMzdWNTEuOTY1bDE0LjMwMy41N3YuMDE0SDU5LjgyOHYtLjAxNGwxNC4zMDMtLjU3IDcuNDgtLjY1Ni0yLjIyMi0uMDMydi0zLjE5NnoiLz48L3N2Zz4=",
|
||||
"camel.apache.org/provider": "Apache Software Foundation",
|
||||
"camel.apache.org/kamelet.group": "AWS DynamoDB Streams",
|
||||
"camel.apache.org/kamelet.namespace": "AWS"
|
||||
},
|
||||
"labels": {
|
||||
"camel.apache.org/kamelet.type": "sink"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"definition": {
|
||||
"title": "AWS DynamoDB Sink",
|
||||
"description": "Send data to Amazon DynamoDB. The sent data inserts, updates, or deletes an item on the specified AWS DynamoDB table.",
|
||||
"required": [
|
||||
"table",
|
||||
"region"
|
||||
],
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"table": {
|
||||
"title": "Table",
|
||||
"description": "The name of the DynamoDB table.",
|
||||
"type": "string"
|
||||
},
|
||||
"accessKey": {
|
||||
"title": "Access Key",
|
||||
"description": "The access key obtained from AWS.",
|
||||
"type": "string",
|
||||
"format": "password",
|
||||
"x-descriptors": [
|
||||
"urn:camel:group:credentials"
|
||||
]
|
||||
},
|
||||
"secretKey": {
|
||||
"title": "Secret Key",
|
||||
"description": "The secret key obtained from AWS.",
|
||||
"type": "string",
|
||||
"format": "password",
|
||||
"x-descriptors": [
|
||||
"urn:camel:group:credentials"
|
||||
]
|
||||
},
|
||||
"region": {
|
||||
"title": "AWS Region",
|
||||
"description": "The AWS region to access.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"ap-south-1",
|
||||
"eu-south-1",
|
||||
"us-gov-east-1",
|
||||
"me-central-1",
|
||||
"ca-central-1",
|
||||
"eu-central-1",
|
||||
"us-iso-west-1",
|
||||
"us-west-1",
|
||||
"us-west-2",
|
||||
"af-south-1",
|
||||
"eu-north-1",
|
||||
"eu-west-3",
|
||||
"eu-west-2",
|
||||
"eu-west-1",
|
||||
"ap-northeast-3",
|
||||
"ap-northeast-2",
|
||||
"ap-northeast-1",
|
||||
"me-south-1",
|
||||
"sa-east-1",
|
||||
"ap-east-1",
|
||||
"cn-north-1",
|
||||
"us-gov-west-1",
|
||||
"ap-southeast-1",
|
||||
"ap-southeast-2",
|
||||
"us-iso-east-1",
|
||||
"ap-southeast-3",
|
||||
"us-east-1",
|
||||
"us-east-2",
|
||||
"cn-northwest-1",
|
||||
"us-isob-east-1",
|
||||
"aws-global",
|
||||
"aws-cn-global",
|
||||
"aws-us-gov-global",
|
||||
"aws-iso-global",
|
||||
"aws-iso-b-global"
|
||||
]
|
||||
},
|
||||
"operation": {
|
||||
"title": "Operation",
|
||||
"description": "The operation to perform.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"PutItem",
|
||||
"UpdateItem",
|
||||
"DeleteItem"
|
||||
],
|
||||
"default": "PutItem",
|
||||
"example": "PutItem"
|
||||
},
|
||||
"useDefaultCredentialsProvider": {
|
||||
"title": "Default Credentials Provider",
|
||||
"description": "If true, the DynamoDB client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key).",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"useProfileCredentialsProvider": {
|
||||
"title": "Profile Credentials Provider",
|
||||
"description": "Set whether the DynamoDB client should expect to load credentials through a profile credentials provider.",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"useSessionCredentials": {
|
||||
"title": "Session Credentials",
|
||||
"description": "Set whether the DynamoDB client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in DynamoDB.",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"profileCredentialsName": {
|
||||
"title": "Profile Credentials Name",
|
||||
"description": "If using a profile credentials provider this parameter sets the profile name.",
|
||||
"type": "string"
|
||||
},
|
||||
"sessionToken": {
|
||||
"title": "Session Token",
|
||||
"description": "Amazon AWS Session Token used when the user needs to assume a IAM role.",
|
||||
"type": "string",
|
||||
"format": "password",
|
||||
"x-descriptors": [
|
||||
"urn:camel:group:credentials"
|
||||
]
|
||||
},
|
||||
"uriEndpointOverride": {
|
||||
"title": "Overwrite Endpoint URI",
|
||||
"description": "The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option.",
|
||||
"type": "string"
|
||||
},
|
||||
"overrideEndpoint": {
|
||||
"title": "Endpoint Overwrite",
|
||||
"description": "Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option.",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"dataTypes": {
|
||||
"in": {
|
||||
"default": "json",
|
||||
"types": {
|
||||
"json": {
|
||||
"format": "aws2-ddb:application-json",
|
||||
"description": "Json representation of a DDB operation. The input type supports the operations PutItem, UpdateItem, DeleteItem. For PutItem operation the Json body defines all item attributes. For DeleteItem operation the Json body defines only the primary key attributes that identify the item to delete. For UpdateItem operation the Json body defines both key attributes to identify the item to be updated and all item attributes that get updated on the item.",
|
||||
"headers": {
|
||||
"CamelAwsDdbOperation": {
|
||||
"title": "Operation",
|
||||
"description": "The operation to perform. Overwrites the operation given in the Json body. One of PutItem, UpdateItem, DeleteItem.",
|
||||
"default": "PutItem",
|
||||
"type": "string"
|
||||
},
|
||||
"CamelAwsDdbReturnValues": {
|
||||
"title": "Return Values",
|
||||
"description": "Use this parameter if you want to get the attribute name-value pairs before or after they are modified. Possible values are NONE, ALL_OLD, UPDATED_OLD, ALL_NEW, UPDATED_NEW.",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"mediaType": "application/json",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"key"
|
||||
],
|
||||
"properties": {
|
||||
"operation": {
|
||||
"type": "string",
|
||||
"description": "The operator to perform. One of PutItem, UpdateItem, DeleteItem"
|
||||
},
|
||||
"key": {
|
||||
"type": "object",
|
||||
"description": "The primary key specifies the selection criteria for the query."
|
||||
},
|
||||
"item": {
|
||||
"type": "object",
|
||||
"description": "Attribute value map specifies all attributes to change with the given operation."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"dependencies": [
|
||||
"camel:core",
|
||||
"camel:jackson",
|
||||
"camel:aws2-ddb",
|
||||
"camel:kamelet"
|
||||
],
|
||||
"template": {
|
||||
"from": {
|
||||
"uri": "kamelet:source",
|
||||
"steps": [
|
||||
{
|
||||
"setProperty": {
|
||||
"name": "operation",
|
||||
"constant": "{{operation}}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"transformDataType": {
|
||||
"toType": "aws2-ddb:application-json"
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"uri": "aws2-ddb:{{table}}",
|
||||
"parameters": {
|
||||
"secretKey": "{{?secretKey}}",
|
||||
"accessKey": "{{?accessKey}}",
|
||||
"region": "{{region}}",
|
||||
"operation": "{{operation}}",
|
||||
"useDefaultCredentialsProvider": "{{useDefaultCredentialsProvider}}",
|
||||
"useProfileCredentialsProvider": "{{useProfileCredentialsProvider}}",
|
||||
"useSessionCredentials": "{{useSessionCredentials}}",
|
||||
"uriEndpointOverride": "{{?uriEndpointOverride}}",
|
||||
"profileCredentialsName": "{{?profileCredentialsName}}",
|
||||
"sessionToken": "{{?sessionToken}}",
|
||||
"overrideEndpoint": "{{overrideEndpoint}}"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"propertiesSchema": {
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": "object",
|
||||
"title": "AWS DynamoDB Sink",
|
||||
"description": "Send data to Amazon DynamoDB. The sent data inserts, updates, or deletes an item on the specified AWS DynamoDB table.",
|
||||
"required": [
|
||||
"table",
|
||||
"region"
|
||||
],
|
||||
"properties": {
|
||||
"table": {
|
||||
"type": "string",
|
||||
"title": "Table",
|
||||
"description": "The name of the DynamoDB table."
|
||||
},
|
||||
"accessKey": {
|
||||
"type": "string",
|
||||
"title": "Access Key",
|
||||
"description": "The access key obtained from AWS.",
|
||||
"format": "password"
|
||||
},
|
||||
"secretKey": {
|
||||
"type": "string",
|
||||
"title": "Secret Key",
|
||||
"description": "The secret key obtained from AWS.",
|
||||
"format": "password"
|
||||
},
|
||||
"region": {
|
||||
"type": "string",
|
||||
"title": "AWS Region",
|
||||
"description": "The AWS region to access.",
|
||||
"enum": [
|
||||
"ap-south-1",
|
||||
"eu-south-1",
|
||||
"us-gov-east-1",
|
||||
"me-central-1",
|
||||
"ca-central-1",
|
||||
"eu-central-1",
|
||||
"us-iso-west-1",
|
||||
"us-west-1",
|
||||
"us-west-2",
|
||||
"af-south-1",
|
||||
"eu-north-1",
|
||||
"eu-west-3",
|
||||
"eu-west-2",
|
||||
"eu-west-1",
|
||||
"ap-northeast-3",
|
||||
"ap-northeast-2",
|
||||
"ap-northeast-1",
|
||||
"me-south-1",
|
||||
"sa-east-1",
|
||||
"ap-east-1",
|
||||
"cn-north-1",
|
||||
"us-gov-west-1",
|
||||
"ap-southeast-1",
|
||||
"ap-southeast-2",
|
||||
"us-iso-east-1",
|
||||
"ap-southeast-3",
|
||||
"us-east-1",
|
||||
"us-east-2",
|
||||
"cn-northwest-1",
|
||||
"us-isob-east-1",
|
||||
"aws-global",
|
||||
"aws-cn-global",
|
||||
"aws-us-gov-global",
|
||||
"aws-iso-global",
|
||||
"aws-iso-b-global"
|
||||
]
|
||||
},
|
||||
"operation": {
|
||||
"type": "string",
|
||||
"title": "Operation",
|
||||
"description": "The operation to perform.",
|
||||
"enum": [
|
||||
"PutItem",
|
||||
"UpdateItem",
|
||||
"DeleteItem"
|
||||
],
|
||||
"default": "PutItem"
|
||||
},
|
||||
"useDefaultCredentialsProvider": {
|
||||
"type": "boolean",
|
||||
"title": "Default Credentials Provider",
|
||||
"description": "If true, the DynamoDB client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key).",
|
||||
"default": false
|
||||
},
|
||||
"useProfileCredentialsProvider": {
|
||||
"type": "boolean",
|
||||
"title": "Profile Credentials Provider",
|
||||
"description": "Set whether the DynamoDB client should expect to load credentials through a profile credentials provider.",
|
||||
"default": false
|
||||
},
|
||||
"useSessionCredentials": {
|
||||
"type": "boolean",
|
||||
"title": "Session Credentials",
|
||||
"description": "Set whether the DynamoDB client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in DynamoDB.",
|
||||
"default": false
|
||||
},
|
||||
"profileCredentialsName": {
|
||||
"type": "string",
|
||||
"title": "Profile Credentials Name",
|
||||
"description": "If using a profile credentials provider this parameter sets the profile name."
|
||||
},
|
||||
"sessionToken": {
|
||||
"type": "string",
|
||||
"title": "Session Token",
|
||||
"description": "Amazon AWS Session Token used when the user needs to assume a IAM role.",
|
||||
"format": "password"
|
||||
},
|
||||
"uriEndpointOverride": {
|
||||
"type": "string",
|
||||
"title": "Overwrite Endpoint URI",
|
||||
"description": "The overriding endpoint URI. To use this option, you must also select the `overrideEndpoint` option."
|
||||
},
|
||||
"overrideEndpoint": {
|
||||
"type": "boolean",
|
||||
"title": "Endpoint Overwrite",
|
||||
"description": "Select this option to override the endpoint URI. To use this option, you must also provide a URI for the `uriEndpointOverride` option.",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user