---
apiVersion: v1
kind: List
items:
- apiVersion: v1
  kind: ConfigMap
  metadata:
    labels:
      funktion.fabric8.io/kind: Connector
      provider: fabric8
      project: connector-aws-sdb
      version: 1.1.30
      group: io.fabric8.funktion.connector
    name: aws-sdb
  data:
    deployment.yml: |
      ---
      apiVersion: extensions/v1beta1
      kind: Deployment
      metadata:
        labels:
          funktion.fabric8.io/kind: Subscription
          connector: aws-sdb
      spec:
        replicas: 1
        template:
          metadata:
            labels:
              funktion.fabric8.io/kind: Subscription
              connector: aws-sdb
          spec:
            containers:
            - image: fabric8/connector-aws-sdb:1.1.30
              name: connector
    schema.yml: |
      ---
      component:
        kind: component
        scheme: aws-sdb
        syntax: aws-sdb:domainName
        title: AWS SimpleDB
        description: The aws-sdb component is for storing and retrieving data from/to Amazon's SDB service.
        label: cloud,database,nosql
        deprecated: false
        async: false
        producerOnly: true
        javaType: org.apache.camel.component.aws.sdb.SdbComponent
        groupId: org.apache.camel
        artifactId: camel-aws
        version: 2.18.1
      componentProperties: {}
      properties:
        domainName:
          kind: path
          group: producer
          required: true
          type: string
          javaType: java.lang.String
          deprecated: false
          secret: false
          description: The name of the domain currently worked with.
        accessKey:
          kind: parameter
          group: producer
          type: string
          javaType: java.lang.String
          deprecated: false
          secret: false
          description: Amazon AWS Access Key
        amazonSDBClient:
          kind: parameter
          group: producer
          type: object
          javaType: com.amazonaws.services.simpledb.AmazonSimpleDB
          deprecated: false
          secret: false
          description: To use the AmazonSimpleDB as the client
        amazonSdbEndpoint:
          kind: parameter
          group: producer
          type: string
          javaType: java.lang.String
          deprecated: false
          secret: false
          description: The region with which the AWS-SDB 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.
        maxNumberOfDomains:
          kind: parameter
          group: producer
          type: integer
          javaType: java.lang.Integer
          deprecated: false
          secret: false
          description: The maximum number of domain names you want returned. The range is 1 to 100.
        operation:
          kind: parameter
          group: producer
          type: string
          javaType: org.apache.camel.component.aws.sdb.SdbOperations
          enum:
          - BatchDeleteAttributes
          - BatchPutAttributes
          - DeleteAttributes
          - DeleteDomain
          - DomainMetadata
          - GetAttributes
          - ListDomains
          - PutAttributes
          - Select
          deprecated: false
          secret: false
          defaultValue: PutAttributes
          description: 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
        secretKey:
          kind: parameter
          group: producer
          type: string
          javaType: java.lang.String
          deprecated: false
          secret: false
          description: Amazon AWS Secret Key
        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-SDB-SDBComponent]]
      SDB Component
      ~~~~~~~~~~~~~

      *Available as of Camel 2.8.4*

      The sdb component supports storing and retrieving data from/to
      http://aws.amazon.com/sdb[Amazon's SDB] service.

      Prerequisites

      You must have a valid Amazon Web Services developer account, and be
      signed up to use Amazon SDB. More information are available at
      http://aws.amazon.com/sdb[Amazon SDB].

      [[AWS-SDB-URIFormat]]
      URI Format
      ^^^^^^^^^^

      [source,java]
      ------------------------------
      aws-sdb://domainName[?options]
      ------------------------------

      You can append query options to the URI in the following format,
      ?options=value&option2=value&...

      [[AWS-SDB-URIOptions]]
      URI Options
      ^^^^^^^^^^^


      // component options: START
      The AWS SimpleDB component has no options.
      // component options: END




      // endpoint options: START
      The AWS SimpleDB component supports 11 endpoint options which are listed below:

      {% raw %}
      [width="100%",cols="2,1,1m,1m,5",options="header"]
      |=======================================================================
      | Name | Group | Default | Java Type | Description
      | domainName | producer |  | String | *Required* The name of the domain currently worked with.
      | accessKey | producer |  | String | Amazon AWS Access Key
      | amazonSDBClient | producer |  | AmazonSimpleDB | To use the AmazonSimpleDB as the client
      | amazonSdbEndpoint | producer |  | String | The region with which the AWS-SDB client wants to work with.
      | consistentRead | producer | false | boolean | Determines whether or not strong consistency should be enforced when data is read.
      | maxNumberOfDomains | producer |  | Integer | The maximum number of domain names you want returned. The range is 1 to 100.
      | operation | producer | PutAttributes | SdbOperations | Operation to perform
      | proxyHost | producer |  | String | To define a proxy host when instantiating the SQS client
      | proxyPort | producer |  | Integer | To define a proxy port when instantiating the SQS client
      | secretKey | producer |  | String | Amazon AWS Secret Key
      | synchronous | advanced | false | boolean | Sets whether synchronous processing should be strictly used or Camel is allowed to use asynchronous processing (if supported).
      |=======================================================================
      {% endraw %}
      // endpoint options: END



      Required SDB component options

      You have to provide the amazonSDBClient in the
      link:registry.html[Registry] or your accessKey and secretKey to access
      the http://aws.amazon.com/sdb[Amazon's SDB].

      [[AWS-SDB-Usage]]
      Usage
      ^^^^^

      [[AWS-SDB-MessageheadersevaluatedbytheSDBproducer]]
      Message headers evaluated by the SDB producer
      +++++++++++++++++++++++++++++++++++++++++++++

      [width="100%",cols="10%,10%,80%",options="header",]
      |=======================================================================
      |Header |Type |Description

      |`CamelAwsSdbAttributes` |`Collection<Attribute>` |List of attributes to be acted upon.

      |`CamelAwsSdbAttributeNames` |`Collection<String>` |The names of the attributes to be retrieved.

      |`CamelAwsSdbConsistentRead` |`Boolean` |Determines whether or not strong consistency should be enforced when
      data is read.

      |`CamelAwsSdbDeletableItems` |`Collection<DeletableItem>` |A list of items on which to perform the delete operation in a batch.

      |`CamelAwsSdbDomainName` |`String` |The name of the domain currently worked with.

      |`CamelAwsSdbItemName` |`String` |The unique key for this item

      |`CamelAwsSdbMaxNumberOfDomains` |`Integer` |The maximum number of domain names you want returned. The range is 1 *
      to 100.

      |`CamelAwsSdbNextToken` |`String` |A string specifying where to start the next list of domain/item names.

      |`CamelAwsSdbOperation` |`String` |To override the operation from the URI options.

      |`CamelAwsSdbReplaceableAttributes` |`Collection<ReplaceableAttribute>` |List of attributes to put in an Item.

      |`CamelAwsSdbReplaceableItems` |`Collection<ReplaceableItem>` |A list of items to put in a Domain.

      |`CamelAwsSdbSelectExpression` |`String` |The expression used to query the domain.

      |`CamelAwsSdbUpdateCondition` |`UpdateCondition` |The update condition which, if specified, determines whether the
      specified attributes will be updated/deleted or not.
      |=======================================================================

      [[AWS-SDB-MessageheaderssetduringDomainMetadataoperation]]
      Message headers set during DomainMetadata operation
      +++++++++++++++++++++++++++++++++++++++++++++++++++

      [width="100%",cols="10%,10%,80%",options="header",]
      |=======================================================================
      |Header |Type |Description

      |`CamelAwsSdbTimestamp` |`Integer` |The data and time when metadata was calculated, in Epoch (UNIX) seconds.

      |`CamelAwsSdbItemCount` |`Integer` |The number of all items in the domain.

      |`CamelAwsSdbAttributeNameCount` |`Integer` |The number of unique attribute names in the domain.

      |`CamelAwsSdbAttributeValueCount` |`Integer` |The number of all attribute name/value pairs in the domain.

      |`CamelAwsSdbAttributeNameSize` |`Long` |The total size of all unique attribute names in the domain, in bytes.

      |`CamelAwsSdbAttributeValueSize` |`Long` |The total size of all attribute values in the domain, in bytes.

      |`CamelAwsSdbItemNameSize` |`Long` |The total size of all item names in the domain, in bytes.
      |=======================================================================

      [[AWS-SDB-MessageheaderssetduringGetAttributesoperation]]
      Message headers set during GetAttributes operation
      ++++++++++++++++++++++++++++++++++++++++++++++++++

      [width="100%",cols="10%,10%,80%",options="header",]
      |=======================================================================
      |Header |Type |Description

      |`CamelAwsSdbAttributes` |`List<Attribute>` |The list of attributes returned by the operation.
      |=======================================================================

      [[AWS-SDB-MessageheaderssetduringListDomainsoperation]]
      Message headers set during ListDomains operation
      ++++++++++++++++++++++++++++++++++++++++++++++++

      [width="100%",cols="10%,10%,80%",options="header",]
      |=======================================================================
      |Header |Type |Description

      |`CamelAwsSdbDomainNames` |`List<String>` |A list of domain names that match the expression.

      |`CamelAwsSdbNextToken` |`String` |An opaque token indicating that there are more domains than the
      specified MaxNumberOfDomains still available.
      |=======================================================================

      [[AWS-SDB-MessageheaderssetduringSelectoperation]]
      Message headers set during Select operation
      +++++++++++++++++++++++++++++++++++++++++++

      [width="100%",cols="10%,10%,80%",options="header",]
      |=======================================================================
      |Header |Type |Description

      |`CamelAwsSdbItems` |`List<Item>` |A list of items that match the select expression.

      |`CamelAwsSdbNextToken` |`String` |An opaque token indicating that more items than MaxNumberOfItems were
      matched, the response size exceeded 1 megabyte, or the execution time
      exceeded 5 seconds.
      |=======================================================================

      [[AWS-SDB-AdvancedAmazonSimpleDBconfiguration]]
      Advanced AmazonSimpleDB configuration
      +++++++++++++++++++++++++++++++++++++

      If you need more control over the `AmazonSimpleDB` instance
      configuration you can create your own instance and refer to it from the
      URI:

      [source,java]
      ----------------------------------------------------
      from("direct:start")
      .to("aws-sdb://domainName?amazonSDBClient=#client");
      ----------------------------------------------------

      The `#client` refers to a `AmazonSimpleDB` in the
      link:registry.html[Registry].

      For example if your Camel Application is running behind a firewall:

      [source,java]
      --------------------------------------------------------------------------------------
      AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
      ClientConfiguration clientConfiguration = new ClientConfiguration();
      clientConfiguration.setProxyHost("http://myProxyHost");
      clientConfiguration.setProxyPort(8080);

      AmazonSimpleDB client = new AmazonSimpleDBClient(awsCredentials, clientConfiguration);

      registry.bind("client", client);
      --------------------------------------------------------------------------------------

      [[AWS-SDB-Dependencies]]
      Dependencies
      ^^^^^^^^^^^^

      Maven users will need to add the following dependency to their pom.xml.

      *pom.xml*

      [source,xml]
      ---------------------------------------
      <dependency>
          <groupId>org.apache.camel</groupId>
          <artifactId>camel-aws</artifactId>
          <version>${camel-version}</version>
      </dependency>
      ---------------------------------------

      where `${camel-version`} must be replaced by the actual version of Camel
      (2.8.4 or higher).

      [[AWS-SDB-SeeAlso]]
      See Also
      ^^^^^^^^

      * link:configuring-camel.html[Configuring Camel]
      * link:component.html[Component]
      * link:endpoint.html[Endpoint]
      * link:getting-started.html[Getting Started]

      * link:aws.html[AWS Component]

