---
apiVersion: v1
kind: List
items:
- apiVersion: v1
  kind: ConfigMap
  metadata:
    labels:
      funktion.fabric8.io/kind: Connector
      provider: fabric8
      project: connector-aws-ddb
      version: 1.1.27
      group: io.fabric8.funktion.connector
    name: aws-ddb
  data:
    deployment.yml: |
      ---
      apiVersion: extensions/v1beta1
      kind: Deployment
      metadata:
        labels:
          funktion.fabric8.io/kind: Subscription
          connector: aws-ddb
      spec:
        replicas: 1
        template:
          metadata:
            labels:
              funktion.fabric8.io/kind: Subscription
              connector: aws-ddb
          spec:
            containers:
            - image: fabric8/connector-aws-ddb:1.1.27
              name: connector
    schema.yml: |
      ---
      component:
        kind: component
        scheme: aws-ddb
        syntax: aws-ddb:tableName
        title: AWS DynamoDB
        description: The aws-ddb component is used for storing and retrieving data from Amazon's DynamoDB service.
        label: cloud,database,nosql
        deprecated: false
        async: false
        producerOnly: true
        javaType: org.apache.camel.component.aws.ddb.DdbComponent
        groupId: org.apache.camel
        artifactId: camel-aws
        version: 2.18.1
      componentProperties: {}
      properties:
        tableName:
          kind: path
          group: producer
          required: true
          type: string
          javaType: java.lang.String
          deprecated: false
          secret: false
          description: The name of the table currently worked with.
        accessKey:
          kind: parameter
          group: producer
          type: string
          javaType: java.lang.String
          deprecated: false
          secret: false
          description: Amazon AWS Access Key
        amazonDDBClient:
          kind: parameter
          group: producer
          type: object
          javaType: com.amazonaws.services.dynamodbv2.AmazonDynamoDB
          deprecated: false
          secret: false
          description: To use the AmazonDynamoDB as the client
        amazonDdbEndpoint:
          kind: parameter
          group: producer
          type: string
          javaType: java.lang.String
          deprecated: false
          secret: false
          description: The region with which the AWS-DDB client wants to work with.
        consistentRead:
          kind: parameter
          group: producer
          type: boolean
          javaType: boolean
          deprecated: false
          secret: false
          defaultValue: false
          description: Determines whether or not strong consistency should be enforced when data is read.
        keyAttributeName:
          kind: parameter
          group: producer
          type: string
          javaType: java.lang.String
          deprecated: false
          secret: false
          description: Attribute name when creating table
        keyAttributeType:
          kind: parameter
          group: producer
          type: string
          javaType: java.lang.String
          deprecated: false
          secret: false
          description: Attribute type when creating table
        operation:
          kind: parameter
          group: producer
          type: string
          javaType: org.apache.camel.component.aws.ddb.DdbOperations
          enum:
          - BatchGetItems
          - DeleteItem
          - DeleteTable
          - DescribeTable
          - GetItem
          - PutItem
          - Query
          - Scan
          - UpdateItem
          - UpdateTable
          deprecated: false
          secret: false
          defaultValue: PutItem
          description: What operation to perform
        proxyHost:
          kind: parameter
          group: producer
          type: string
          javaType: java.lang.String
          deprecated: false
          secret: false
          description: To define a proxy host when instantiating the SQS client
        proxyPort:
          kind: parameter
          group: producer
          type: integer
          javaType: java.lang.Integer
          deprecated: false
          secret: false
          description: To define a proxy port when instantiating the SQS client
        readCapacity:
          kind: parameter
          group: producer
          type: integer
          javaType: java.lang.Long
          deprecated: false
          secret: false
          description: The provisioned throughput to reserve for reading resources from your table
        secretKey:
          kind: parameter
          group: producer
          type: string
          javaType: java.lang.String
          deprecated: false
          secret: false
          description: Amazon AWS Secret Key
        writeCapacity:
          kind: parameter
          group: producer
          type: integer
          javaType: java.lang.Long
          deprecated: false
          secret: false
          description: The provisioned throughput to reserved for writing resources to your table
        synchronous:
          kind: parameter
          group: advanced
          label: advanced
          type: boolean
          javaType: boolean
          deprecated: false
          secret: false
          defaultValue: false
          description: Sets whether synchronous processing should be strictly used or Camel is allowed to use asynchronous processing (if supported).
    documentation.adoc: "[[AWS-DDB-DDBComponent]]\nDDB Component\n~~~~~~~~~~~~~\n\n\
      *Available as of Camel 2.10*\n\nThe DynamoDB component supports storing and\
      \ retrieving data from/to\nhttp://aws.amazon.com/dynamodb[Amazon's DynamoDB]\
      \ service.\n\nPrerequisites\n\nYou must have a valid Amazon Web Services developer\
      \ account, and be\nsigned up to use Amazon DynamoDB. More information are available\
      \ at\nhttp://aws.amazon.com/dynamodb[Amazon DynamoDB].\n\n[[AWS-DDB-URIFormat]]\n\
      URI Format\n^^^^^^^^^^\n\n[source,java]\n------------------------------\naws-ddb://domainName[?options]\n\
      ------------------------------\n\nYou can append query options to the URI in\
      \ the following format,\n?options=value&option2=value&...\n\n[[AWS-DDB-URIOptions]]\n\
      URI Options\n^^^^^^^^^^^\n\n\n// component options: START\nThe AWS DynamoDB\
      \ component has no options.\n// component options: END\n\n\n\n\n// endpoint\
      \ options: START\nThe AWS DynamoDB component supports 14 endpoint options which\
      \ are listed below:\n\n{% raw %}\n[width=\"100%\",cols=\"2,1,1m,1m,5\",options=\"\
      header\"]\n|=======================================================================\n\
      | Name | Group | Default | Java Type | Description\n| tableName | producer |\
      \  | String | *Required* The name of the table currently worked with.\n| accessKey\
      \ | producer |  | String | Amazon AWS Access Key\n| amazonDDBClient | producer\
      \ |  | AmazonDynamoDB | To use the AmazonDynamoDB as the client\n| amazonDdbEndpoint\
      \ | producer |  | String | The region with which the AWS-DDB client wants to\
      \ work with.\n| consistentRead | producer | false | boolean | Determines whether\
      \ or not strong consistency should be enforced when data is read.\n| keyAttributeName\
      \ | producer |  | String | Attribute name when creating table\n| keyAttributeType\
      \ | producer |  | String | Attribute type when creating table\n| operation |\
      \ producer | PutItem | DdbOperations | What operation to perform\n| proxyHost\
      \ | producer |  | String | To define a proxy host when instantiating the SQS\
      \ client\n| proxyPort | producer |  | Integer | To define a proxy port when\
      \ instantiating the SQS client\n| readCapacity | producer |  | Long | The provisioned\
      \ throughput to reserve for reading resources from your table\n| secretKey |\
      \ producer |  | String | Amazon AWS Secret Key\n| writeCapacity | producer |\
      \  | Long | The provisioned throughput to reserved for writing resources to\
      \ your table\n| synchronous | advanced | false | boolean | Sets whether synchronous\
      \ processing should be strictly used or Camel is allowed to use asynchronous\
      \ processing (if supported).\n|=======================================================================\n\
      {% endraw %}\n// endpoint options: END\n\n\n\nRequired DDB component options\n\
      \nYou have to provide the amazonDDBClient in the\nlink:registry.html[Registry]\
      \ or your accessKey and secretKey to access\nthe http://aws.amazon.com/dynamodb[Amazon's\
      \ DynamoDB].\n\n[[AWS-DDB-Usage]]\nUsage\n^^^^^\n\n[[AWS-DDB-MessageheadersevaluatedbytheDDBproducer]]\n\
      Message headers evaluated by the DDB producer\n+++++++++++++++++++++++++++++++++++++++++++++\n\
      \n[width=\"100%\",cols=\"10%,10%,80%\",options=\"header\",]\n|=======================================================================\n\
      |Header |Type |Description\n\n|`CamelAwsDdbBatchItems` |`Map<String, KeysAndAttributes>`\
      \ |A map of the table name and corresponding items to get by primary key.\n\n\
      |`CamelAwsDdbTableName` |`String` |Table Name for this operation.\n\n|`CamelAwsDdbKey`\
      \ |`Key` |The primary key that uniquely identifies each item in a table. *From\
      \ Camel 2.16.0 the type of this header is Map<String,\nAttributeValue> and not\
      \ Key*\n\n|`CamelAwsDdbReturnValues` |`String` |Use this parameter if you want\
      \ to get the attribute name-value pairs\nbefore or after they are modified(NONE,\
      \ ALL_OLD, UPDATED_OLD, ALL_NEW,\nUPDATED_NEW).\n\n|`CamelAwsDdbUpdateCondition`\
      \ |`Map<String, ExpectedAttributeValue>` |Designates an attribute for a conditional\
      \ modification.\n\n|`CamelAwsDdbAttributeNames` |`Collection<String>` |If attribute\
      \ names are not specified then all attributes will be\nreturned.\n\n|`CamelAwsDdbConsistentRead`\
      \ |`Boolean` |If set to true, then a consistent read is issued, otherwise eventually\n\
      consistent is used.\n\n|`CamelAwsDdbItem` |`Map<String, AttributeValue>` |A\
      \ map of the attributes for the item, and must include the primary key\nvalues\
      \ that define the item.\n\n|`CamelAwsDdbExactCount` |`Boolean` |If set to true,\
      \ Amazon DynamoDB returns a total number of items that\nmatch the query parameters,\
      \ instead of a list of the matching items and\ntheir attributes. *From Camel\
      \ 2.16.0 this header doesn't exist anymore.*\n\n|`CamelAwsDdbKeyConditions`\
      \ |`Map<String, Condition>` |*From Camel 2.16.0*. This header specify the selection\
      \ criteria for the\nquery, and merge together the two old headers *CamelAwsDdbHashKeyValue*\n\
      and *CamelAwsDdbScanRangeKeyCondition*\n\n|`CamelAwsDdbStartKey` |`Key` |Primary\
      \ key of the item from which to continue an earlier query.\n\n|`CamelAwsDdbHashKeyValue`\
      \ |`AttributeValue` |Value of the hash component of the composite primary key.\n\
      *From Camel 2.16.0 this header doesn't exist anymore.*\n\n|`CamelAwsDdbLimit`\
      \ |`Integer` |The maximum number of items to return.\n\n|`CamelAwsDdbScanRangeKeyCondition`\
      \ |`Condition` |A container for the attribute values and comparison operators\
      \ to use for\nthe query.*From Camel 2.16.0 this header doesn't exist anymore.*\n\
      \n|`CamelAwsDdbScanIndexForward` |`Boolean` |Specifies forward or backward traversal\
      \ of the index.\n\n|`CamelAwsDdbScanFilter` |`Map<String, Condition>` |Evaluates\
      \ the scan results and returns only the desired values.\n\n|`CamelAwsDdbUpdateValues`\
      \ |`Map<String, AttributeValueUpdate>` |Map of attribute name to the new value\
      \ and action for the update.\n|=======================================================================\n\
      \n[[AWS-DDB-MessageheaderssetduringBatchGetItemsoperation]]\nMessage headers\
      \ set during BatchGetItems operation\n++++++++++++++++++++++++++++++++++++++++++++++++++\n\
      \n[width=\"100%\",cols=\"10%,10%,80%\",options=\"header\",]\n|=======================================================================\n\
      |Header |Type |Description\n\n|`CamelAwsDdbBatchResponse` |`Map<String,BatchResponse>`\
      \ |Table names and the respective item attributes from the tables.\n\n|`CamelAwsDdbUnprocessedKeys`\
      \ |`Map<String,KeysAndAttributes>` |Contains a map of tables and their respective\
      \ keys that were not\nprocessed with the current response.\n|=======================================================================\n\
      \n[[AWS-DDB-MessageheaderssetduringDeleteItemoperation]]\nMessage headers set\
      \ during DeleteItem operation\n+++++++++++++++++++++++++++++++++++++++++++++++\n\
      \n[width=\"100%\",cols=\"10%,10%,80%\",options=\"header\",]\n|=======================================================================\n\
      |Header |Type |Description\n\n|`CamelAwsDdbAttributes` |`Map<String, AttributeValue>`\
      \ |The list of attributes returned by the operation.\n|=======================================================================\n\
      \n[[AWS-DDB-MessageheaderssetduringDeleteTableoperation]]\nMessage headers set\
      \ during DeleteTable operation\n++++++++++++++++++++++++++++++++++++++++++++++++\n\
      \n[width=\"100%\",cols=\"10%,10%,80%\",options=\"header\",]\n|=======================================================================\n\
      |Header |Type |Description\n\n|`CamelAwsDdbProvisionedThroughput`| | \n\n|`ProvisionedThroughputDescription`\
      \ | |The value of the ProvisionedThroughput property for this table\n\n|`CamelAwsDdbCreationDate`\
      \ |`Date` |Creation DateTime of this table.\n\n|`CamelAwsDdbTableItemCount`\
      \ |`Long` |Item count for this table.\n\n|`CamelAwsDdbKeySchema` |`KeySchema`\
      \ |The KeySchema that identifies the primary key for this table. \n*From Camel\
      \ 2.16.0 the type of this header is List<KeySchemaElement> and not KeySchema*\n\
      \n|`CamelAwsDdbTableName` |`String` |The table name. \n\n|`CamelAwsDdbTableSize`\
      \ |`Long` |The table size in bytes. \n\n|`CamelAwsDdbTableStatus` |`String`\
      \ |The status of the table: CREATING, UPDATING, DELETING, ACTIVE\n|=======================================================================\n\
      \n[[AWS-DDB-MessageheaderssetduringDescribeTableoperation]]\nMessage headers\
      \ set during DescribeTable operation\n++++++++++++++++++++++++++++++++++++++++++++++++++\n\
      \n[width=\"100%\",cols=\"10%,10%,80%\",options=\"header\",]\n|=======================================================================\n\
      |Header |Type |Description\n\n|`CamelAwsDdbProvisionedThroughput` |{{ProvisionedThroughputDescription}}\
      \ |The value of the ProvisionedThroughput property for this table\n\n|`CamelAwsDdbCreationDate`\
      \ |`Date` |Creation DateTime of this table.\n\n|`CamelAwsDdbTableItemCount`\
      \ |`Long` |Item count for this table.\n\n|`CamelAwsDdbKeySchema` |{{KeySchema}}\
      \ |The KeySchema that identifies the primary key for this table.\n*From Camel\
      \ 2.16.0 the type of this header is List<KeySchemaElement> and\nnot KeySchema*\n\
      \n|`CamelAwsDdbTableName` |`String` |The table name.\n\n|`CamelAwsDdbTableSize`\
      \ |`Long` |The table size in bytes.\n\n|`CamelAwsDdbTableStatus` |`String` |The\
      \ status of the table: CREATING, UPDATING, DELETING, ACTIVE\n\n|`CamelAwsDdbReadCapacity`\
      \ |`Long` |ReadCapacityUnits property of this table.\n\n|`CamelAwsDdbWriteCapacity`\
      \ |`Long` |WriteCapacityUnits property of this table.\n|=======================================================================\n\
      \n[[AWS-DDB-MessageheaderssetduringGetItemoperation]]\nMessage headers set during\
      \ GetItem operation\n++++++++++++++++++++++++++++++++++++++++++++\n\n[width=\"\
      100%\",cols=\"10%,10%,80%\",options=\"header\",]\n|=======================================================================\n\
      |Header |Type |Description\n\n|`CamelAwsDdbAttributes` |`Map<String, AttributeValue>`\
      \ |The list of attributes returned by the operation.\n\n|=======================================================================\n\
      \n[[AWS-DDB-MessageheaderssetduringPutItemoperation]]\nMessage headers set during\
      \ PutItem operation\n++++++++++++++++++++++++++++++++++++++++++++\n\n[width=\"\
      100%\",cols=\"10%,10%,80%\",options=\"header\",]\n|=======================================================================\n\
      |Header |Type |Description\n\n|`CamelAwsDdbAttributes` |`Map<String, AttributeValue>`\
      \ |The list of attributes returned by the operation.\n\n|=======================================================================\n\
      \n[[AWS-DDB-MessageheaderssetduringQueryoperation]]\nMessage headers set during\
      \ Query operation\n++++++++++++++++++++++++++++++++++++++++++\n\n[width=\"100%\"\
      ,cols=\"10%,10%,80%\",options=\"header\",]\n|=======================================================================\n\
      |Header |Type |Description\n\n|`CamelAwsDdbItems` |`List<java.util.Map<String,AttributeValue>>`\
      \ |The list of attributes returned by the operation.\n\n|`CamelAwsDdbLastEvaluatedKey`\
      \ |`Key` |Primary key of the item where the query operation stopped, inclusive\
      \ of\nthe previous result set.\n\n|`CamelAwsDdbConsumedCapacity` |`Double` |The\
      \ number of Capacity Units of the provisioned throughput of the table\nconsumed\
      \ during the operation.\n\n|`CamelAwsDdbCount` |`Integer` |Number of items in\
      \ the response.\n|=======================================================================\n\
      \n[[AWS-DDB-MessageheaderssetduringScanoperation]]\nMessage headers set during\
      \ Scan operation\n+++++++++++++++++++++++++++++++++++++++++\n\n[width=\"100%\"\
      ,cols=\"10%,10%,80%\",options=\"header\",]\n|=======================================================================\n\
      |Header |Type |Description\n\n|`CamelAwsDdbItems` |`List<java.util.Map<String,AttributeValue>>`\
      \ |The list of attributes returned by the operation.\n\n|`CamelAwsDdbLastEvaluatedKey`\
      \ |`Key` |Primary key of the item where the query operation stopped, inclusive\
      \ of\nthe previous result set.\n\n|`CamelAwsDdbConsumedCapacity` |`Double` |The\
      \ number of Capacity Units of the provisioned throughput of the table\nconsumed\
      \ during the operation.\n\n|`CamelAwsDdbCount` |`Integer` |Number of items in\
      \ the response.\n\n|`CamelAwsDdbScannedCount` |`Integer` |Number of items in\
      \ the complete scan before any filters are applied.\n|=======================================================================\n\
      \n[[AWS-DDB-MessageheaderssetduringUpdateItemoperation]]\nMessage headers set\
      \ during UpdateItem operation\n+++++++++++++++++++++++++++++++++++++++++++++++\n\
      \n[width=\"100%\",cols=\"10%,10%,80%\",options=\"header\",]\n|=======================================================================\n\
      |Header |Type |Description\n\n|`CamelAwsDdbAttributes` |`Map<String, AttributeValue>`\
      \ |The list of attributes returned by the operation.\n\n|=======================================================================\n\
      \n[[AWS-DDB-AdvancedAmazonDynamoDBconfiguration]]\nAdvanced AmazonDynamoDB configuration\n\
      +++++++++++++++++++++++++++++++++++++\n\nIf you need more control over the `AmazonDynamoDB`\
      \ instance\nconfiguration you can create your own instance and refer to it from\
      \ the\nURI:\n\n[source,java]\n----------------------------------------------------\n\
      from(\"direct:start\")\n.to(\"aws-ddb://domainName?amazonDDBClient=#client\"\
      );\n----------------------------------------------------\n\nThe `#client` refers\
      \ to a `AmazonDynamoDB` in the\nlink:registry.html[Registry].\n\nFor example\
      \ if your Camel Application is running behind a firewall:\n\n[source,java]\n\
      --------------------------------------------------------------------------------------\n\
      AWSCredentials awsCredentials = new BasicAWSCredentials(\"myAccessKey\", \"\
      mySecretKey\");\nClientConfiguration clientConfiguration = new ClientConfiguration();\n\
      clientConfiguration.setProxyHost(\"http://myProxyHost\");\nclientConfiguration.setProxyPort(8080);\n\
      \nAmazonDynamoDB client = new AmazonDynamoDBClient(awsCredentials, clientConfiguration);\n\
      \nregistry.bind(\"client\", client);\n--------------------------------------------------------------------------------------\n\
      \n[[AWS-DDB-Dependencies]]\nDependencies\n^^^^^^^^^^^^\n\nMaven users will need\
      \ to add the following dependency to their pom.xml.\n\n*pom.xml*\n\n[source,xml]\n\
      ---------------------------------------\n<dependency>\n    <groupId>org.apache.camel</groupId>\n\
      \    <artifactId>camel-aws</artifactId>\n    <version>${camel-version}</version>\n\
      </dependency>\n---------------------------------------\n\nwhere `${camel-version`}\
      \ must be replaced by the actual version of Camel\n(2.10 or higher).\n\n[[AWS-DDB-SeeAlso]]\n\
      See Also\n^^^^^^^^\n\n* link:configuring-camel.html[Configuring Camel]\n* link:component.html[Component]\n\
      * link:endpoint.html[Endpoint]\n* link:getting-started.html[Getting Started]\n\
      \n* link:aws.html[AWS Component]\n\n"
