This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch calendar in repository https://gitbox.apache.org/repos/asf/camel-kamelets.git
commit e32a483ad8251a1f275ee8c9a711816adf6d1ab6 Author: Andrea Cosentino <anco...@gmail.com> AuthorDate: Tue Mar 9 16:51:00 2021 +0100 Added Google Calendar Stream source Kamelet --- google-calendar-stream-source.kamelet.yaml | 94 ++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) diff --git a/google-calendar-stream-source.kamelet.yaml b/google-calendar-stream-source.kamelet.yaml new file mode 100644 index 0000000..17a25fc --- /dev/null +++ b/google-calendar-stream-source.kamelet.yaml @@ -0,0 +1,94 @@ +apiVersion: camel.apache.org/v1alpha1 +kind: Kamelet +metadata: + name: google-calendar-stream-source + annotations: + camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjE4NiAzOCA3NiA3NiI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTI0NCA1NmgtNDB2NDBoNDBWNTZ6Ii8+PHBhdGggZmlsbD0iI0VBNDMzNSIgZD0iTTI0NCAxMTRsMTgtMThoLTE4djE4eiIvPjxwYXRoIGZpbGw9IiNGQkJDMDQiIGQ9Ik0yNjIgNTZoLTE4djQwaDE4VjU2eiIvPjxwYXRoIGZpbGw9IiMzNEE4NTMiIGQ9Ik0yNDQgOTZoLTQwdjE4aDQwVjk2eiIvPjxwYXRoIGZpbGw9IiMxODgwMzgiIGQ9Ik0xODYgOTZ2MTJjMCAzLjMxNSAyLjY4NSA2IDYgNmgxMlY5NmgtMTh6Ii8+PH [...] + camel.apache.org/provider: "Apache Software Foundation" + labels: + camel.apache.org/kamelet.type: "source" +spec: + definition: + title: "Google Calendar Stream Source" + description: |- + Receive data from Google Calendar. + required: + - index + - calendarId + - clientId + - accessToken + - refreshToken + - clientSecret + - applicationName + properties: + index: + title: Index + description: An index for the google calendar endpoint + type: string + calendarId: + title: Calendar ID + description: The calendar ID to be used as events source + type: string + clientId: + title: Client Id + description: Client ID of the calendar application + type: string + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:password + clientSecret: + title: Client Secret + description: Client Secret of the calendar application + type: string + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:password + accessToken: + title: Access Token + description: OAuth 2 access token for google calendar application. This typically expires after an hour so refreshToken is recommended for long term usage. + type: string + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:password + refreshToken: + title: Refresh Token + description: OAuth 2 refresh token for google calendar application. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived. + type: string + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:password + applicationName: + title: Application name + description: Google Calendar application name + type: string + syncFlow: + title: Sync Flow + description: Sync events for incremental synchronization + type: boolean + x-descriptors: + - 'urn:alm:descriptor:com.tectonic.ui:checkbox' + default: false + consumeFromNow: + title: Consume from now + description: Consume events in the selected calendar from now on + type: boolean + x-descriptors: + - 'urn:alm:descriptor:com.tectonic.ui:checkbox' + default: true + types: + out: + mediaType: application/json + dependencies: + - "camel:jackson" + flow: + from: + uri: "google-calendar-stream://{{index}}" + parameters: + clientId: "{{clientId}}" + calendarId: "{{calendarId}}" + accessToken: "{{accessToken}}" + refreshToken: "{{refreshToken}}" + clientSecret: "{{clientSecret}}" + applicationName: "{{applicationName}}" + syncFlow: "{{syncFlow}}" + consumeFromNow: "{{consumeFromNow}}" + steps: + - marshal: + json: {} + - to: "kamelet:sink"