oscerd opened a new issue #706:
URL: https://github.com/apache/camel-k-runtime/issues/706


   Suppose you have:
   
   ```
   apiVersion: camel.apache.org/v1alpha1
   kind: Kamelet
   metadata:
     name: aws-s3-sink
     annotations:
       camel.apache.org/kamelet.support.level: "Preview"
       camel.apache.org/catalog.version: "main-SNAPSHOT"
       camel.apache.org/kamelet.icon: 
"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjAiIHk9IjAiIHZpZXdCb3g9IjAgMCAyNDguMiAzMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxzdHlsZT4uc3QyOHtmaWxsOiM4YzMxMjN9LnN0Mjl7ZmlsbDojZTA1MjQzfTwvc3R5bGU+PHBhdGggY2xhc3M9InN0MjgiIGQ9Ik0yMCA1Mi4xTDAgNjJ2MTc1LjVsMjAgOS45LjEtLjFWNTIuMmwtLjEtLjEiLz48cGF0aCBjbGFzcz0ic3QyOSIgZD0iTTEyNyAyMjJMMjAgMjQ3LjVWNTIuMUwxMjcgNzd2MTQ1Ii8+PHBhdGggY2xhc3M9InN0MjgiIGQ9Ik03OC43IDE4Mi4xbDQ1LjQgNS44LjMtLjcuMy03NC40LS41LS42LTQ1LjQgNS43LS4xIDY0LjIiLz48cGF0aCBjbGFzcz0ic3QyOCIgZD0iTTEyNC4xIDIyMi4zbDEwNC4xIDI1LjIuMi0uM1Y1Mi4xbC0uMi0uMi0xMDQuMSAyNS40djE0NSIvPjxwYXRoIGNsYXNzPSJzdDI5IiBkPSJNMTY5LjUgMTgyLjFsLTQ1LjQgNS44di03NS43bDQ1LjQgNS43djY0LjIiLz48cGF0aCBkPSJNMTY5LjUgODYuOWwtNDUuNCA4LjMtNDUuNC04LjNMMTI0IDc1bDQ1LjUgMTEuOSIgZmlsbD0iIzVlMWYxOCIvPjxwYXRoIGQ9Ik0xNjkuNSAyMTMuMWwtNDUuNC04LjMtNDUuNCA4LjMgNDUuMyAxMi43IDQ1LjUtMTIuNyIgZmlsbD0iI2YyYjBhOSIvPjxwYXRoIGNsYXNzPSJzdDI4I
 
iBkPSJNNzguNyA4Ni45bDQ1LjQtMTEuMi40LS4xVi4zbC0uNC0uMy00NS40IDIyLjd2NjQuMiIvPjxwYXRoIGNsYXNzPSJzdDI5IiBkPSJNMTY5LjUgODYuOWwtNDUuNC0xMS4yVjBsNDUuNCAyMi43djY0LjIiLz48cGF0aCBjbGFzcz0ic3QyOCIgZD0iTTEyNC4xIDMwMGwtNDUuNC0yMi43di02NC4ybDQ1LjQgMTEuMi43LjgtLjIgNzMuNi0uNSAxLjMiLz48cGF0aCBjbGFzcz0ic3QyOSIgZD0iTTEyNC4xIDMwMGw0NS40LTIyLjd2LTY0LjJsLTQ1LjQgMTEuMlYzMDBNMjI4LjIgNTIuMWwyMCAxMHYxNzUuNWwtMjAgMTBWNTIuMSIvPjwvc3ZnPg=="
       camel.apache.org/provider: "Apache Software Foundation"
       camel.apache.org/kamelet.group: "AWS S3"
     labels:
       camel.apache.org/kamelet.type: "sink"
   spec:
     definition:
       title: "AWS S3 Sink"
       description: |-
         Upload data to AWS S3.
   
         The Kamelet expects the following headers to be set:
   
         - `file` / `ce-file`: as the file name to upload
   
         If the header won't be set the exchange ID will be used as file name.
       required:
         - bucketNameOrArn
         - accessKey
         - secretKey
         - region
       type: object
       properties:
         bucketNameOrArn:
           title: Bucket Name
           description: The S3 Bucket name or ARN.
           type: string
         accessKey:
           title: Access Key
           description: The access key obtained from AWS.
           type: string
           format: password
           x-descriptors:
           - urn:alm:descriptor:com.tectonic.ui:password
         secretKey:
           title: Secret Key
           description: The secret key obtained from AWS.
           type: string
           format: password
           x-descriptors:
           - urn:alm:descriptor:com.tectonic.ui:password
         region:
           title: AWS Region
           description: The AWS region to connect to.
           type: string
           example: eu-west-1
         overrideEndpoint:
           title: Override Endpoint
           description: Set the need for overidding the endpoint. This option 
needs to be used in combination with uriEndpointOverride.
           type: boolean
           default: false
           x-descriptors:
           - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
         uriEndpointOverride:
           title: Override Endpoint URI
           description: Set the overriding uri endpoint. This option needs to 
be used in combination with overrideEndpoint option.
           type: string
           example: "http://another-s3-endpoint:9000";
         autoCreateBucket:
           title: Autocreate Bucket
           description: Setting the autocreation of the S3 bucket bucketName.
           type: boolean
           x-descriptors:
           - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
           default: false
     dependencies:
       - "camel:aws2-s3"
       - "camel:kamelet"
     flow:
       from:
         uri: "kamelet:source"
         steps:
         - choice:
             when:
             - simple: "${header[file]}"
               steps:
               - set-header:
                   name: CamelAwsS3Key
                   simple: "${header[file]}"
             - simple: "${header[ce-file]}"
               steps:
               - set-header:
                   name: CamelAwsS3Key
                   simple: "${header[ce-file]}"
             otherwise:
               steps:
               - set-header:
                   name: CamelAwsS3Key
                   simple: "${exchangeId}"
         - to:
             uri: "aws2-s3:{{bucketNameOrArn}}"
             parameters:
               secretKey: "{{secretKey}}"
               accessKey: "{{accessKey}}"
               region: "{{region}}"
               uriEndpointOverride: "{{?uriEndpointOverride}}"
               overrideEndpoint: "{{overrideEndpoint}}"
               autoCreateBucket: "{{autoCreateBucket}}"
   ```
   
   The uriEndpointOverride is optional and is not required.
   
   By using this kamelet in a binding, you'll get the following error:
   
   ```
   [1] 2021-06-04 12:38:23,401 ERROR [io.qua.run.Application] (main) Failed to 
start application (with profile prod): java.lang.IllegalArgumentException: 
Route template aws-s3-sink the following mandatory parameters must be provided: 
uriEndpointOverride
   ```
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to