---
apiVersion: v1
kind: List
items:
- apiVersion: v1
  kind: ConfigMap
  metadata:
    labels:
      funktion.fabric8.io/kind: Connector
      provider: fabric8
      project: connector-consul
      version: 1.1.28
      group: io.fabric8.funktion.connector
    name: consul
  data:
    deployment.yml: |
      ---
      apiVersion: extensions/v1beta1
      kind: Deployment
      metadata:
        labels:
          funktion.fabric8.io/kind: Subscription
          connector: consul
      spec:
        replicas: 1
        template:
          metadata:
            labels:
              funktion.fabric8.io/kind: Subscription
              connector: consul
          spec:
            containers:
            - image: fabric8/connector-consul:1.1.28
              name: connector
    schema.yml: |
      ---
      component:
        kind: component
        scheme: consul
        syntax: consul:apiEndpoint
        title: Consul
        description: The camel consul component allows you to work with Consul a distributed highly available datacenter-aware service discovery and configuration system.
        label: api,cloud
        deprecated: false
        async: false
        javaType: org.apache.camel.component.consul.ConsulComponent
        groupId: org.apache.camel
        artifactId: camel-consul
        version: 2.18.1
      componentProperties: {}
      properties:
        apiEndpoint:
          kind: path
          group: common
          required: true
          type: string
          javaType: java.lang.String
          deprecated: false
          secret: false
          description: The API endpoint
        connectTimeoutMillis:
          kind: parameter
          group: common
          type: integer
          javaType: java.lang.Long
          deprecated: false
          secret: false
          description: Connect timeout for OkHttpClient
        dc:
          kind: parameter
          group: common
          type: string
          javaType: java.lang.String
          deprecated: false
          secret: false
          description: The data center
        key:
          kind: parameter
          group: common
          type: string
          javaType: java.lang.String
          deprecated: false
          secret: false
          description: The default key. Can be overridden by CamelConsulKey
        pingInstance:
          kind: parameter
          group: common
          type: boolean
          javaType: boolean
          deprecated: false
          secret: false
          defaultValue: true
          description: Configure if the AgentClient should attempt a ping before returning the Consul instance
        readTimeoutMillis:
          kind: parameter
          group: common
          type: integer
          javaType: java.lang.Long
          deprecated: false
          secret: false
          description: Read timeout for OkHttpClient
        tags:
          kind: parameter
          group: common
          type: string
          javaType: java.lang.String
          deprecated: false
          secret: false
          description: Set tags. You can separate multiple tags by comma.
        url:
          kind: parameter
          group: common
          type: string
          javaType: java.lang.String
          deprecated: false
          secret: false
          description: The Consul agent URL
        writeTimeoutMillis:
          kind: parameter
          group: common
          type: integer
          javaType: java.lang.Long
          deprecated: false
          secret: false
          description: Write timeout for OkHttpClient
        bridgeErrorHandler:
          kind: parameter
          group: consumer
          label: consumer
          type: boolean
          javaType: boolean
          optionalPrefix: consumer.
          deprecated: false
          secret: false
          defaultValue: false
          description: Allows for bridging the consumer to the Camel routing Error Handler which mean any exceptions occurred while the consumer is trying to pickup incoming messages or the likes will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions that will be logged at WARN/ERROR level and ignored.
        exceptionHandler:
          kind: parameter
          group: consumer (advanced)
          label: consumer,advanced
          type: object
          javaType: org.apache.camel.spi.ExceptionHandler
          optionalPrefix: consumer.
          deprecated: false
          secret: false
          description: To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this options is not in use. By default the consumer will deal with exceptions that will be logged at WARN/ERROR level and ignored.
        exchangePattern:
          kind: parameter
          group: consumer (advanced)
          label: consumer,advanced
          type: string
          javaType: org.apache.camel.ExchangePattern
          enum:
          - InOnly
          - RobustInOnly
          - InOut
          - InOptionalOut
          - OutOnly
          - RobustOutOnly
          - OutIn
          - OutOptionalIn
          deprecated: false
          secret: false
          description: Sets the exchange pattern when the consumer creates an exchange.
        action:
          kind: parameter
          group: producer
          label: producer
          type: string
          javaType: java.lang.String
          deprecated: false
          secret: false
          description: The default action. Can be overridden by CamelConsulAction
        valueAsString:
          kind: parameter
          group: producer
          label: producer
          type: boolean
          javaType: boolean
          deprecated: false
          secret: false
          defaultValue: false
          description: Default to transform values retrieved from Consul i.e. on KV endpoint to string.
        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).
        blockSeconds:
          kind: parameter
          group: watch
          label: consumer,watch
          type: integer
          javaType: java.lang.Integer
          deprecated: false
          secret: false
          defaultValue: "10"
          description: The second to wait for a watch event default 10 seconds
        firstIndex:
          kind: parameter
          group: watch
          label: consumer,watch
          type: integer
          javaType: long
          deprecated: false
          secret: false
          defaultValue: "0"
          description: The first index for watch for default 0
        recursive:
          kind: parameter
          group: watch
          label: consumer,watch
          type: boolean
          javaType: boolean
          deprecated: false
          secret: false
          defaultValue: false
          description: Recursively watch default false
        aclToken:
          kind: parameter
          group: security
          label: security
          type: string
          javaType: java.lang.String
          deprecated: false
          secret: true
          description: Sets the ACL token to be used with Consul
        password:
          kind: parameter
          group: security
          label: security
          type: string
          javaType: java.lang.String
          deprecated: false
          secret: true
          description: Sets the password to be used for basic authentication
        sslContextParameters:
          kind: parameter
          group: security
          label: security
          type: object
          javaType: org.apache.camel.util.jsse.SSLContextParameters
          deprecated: false
          secret: false
          description: SSL configuration using an org.apache.camel.util.jsse.SSLContextParameters instance.
        userName:
          kind: parameter
          group: security
          label: security
          type: string
          javaType: java.lang.String
          deprecated: false
          secret: true
          description: Sets the username to be used for basic authentication
    documentation.adoc: |
      [[Consul-ConsulComponent]]
      Consul Component
      ~~~~~~~~~~~~~~~~

      *Available as of Camel 2.18*

      The *Consul* component is a component for integrating your application with Consul.

      Maven users will need to add the following dependency to their pom.xml
      for this component:

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

      [[Consul-URIformat]]
      URI format
      ^^^^^^^^^^

      [source,java]
      ---------------------------------------
          consul://domain?[options]
      ---------------------------------------

      You can append query options to the URI in the following format:

      ---------------------------------------
          ?option=value&option=value&...
      ---------------------------------------

      [[Consul-Options]]
      Options
      ^^^^^^^




      // component options: START
      The Consul component has no options.
      // component options: END






      // endpoint options: START
      The Consul component supports 22 endpoint options which are listed below:

      {% raw %}
      [width="100%",cols="2,1,1m,1m,5",options="header"]
      |=======================================================================
      | Name | Group | Default | Java Type | Description
      | apiEndpoint | common |  | String | *Required* The API endpoint
      | connectTimeoutMillis | common |  | Long | Connect timeout for OkHttpClient
      | dc | common |  | String | The data center
      | key | common |  | String | The default key. Can be overridden by CamelConsulKey
      | pingInstance | common | true | boolean | Configure if the AgentClient should attempt a ping before returning the Consul instance
      | readTimeoutMillis | common |  | Long | Read timeout for OkHttpClient
      | tags | common |  | String | Set tags. You can separate multiple tags by comma.
      | url | common |  | String | The Consul agent URL
      | writeTimeoutMillis | common |  | Long | Write timeout for OkHttpClient
      | bridgeErrorHandler | consumer | false | boolean | Allows for bridging the consumer to the Camel routing Error Handler which mean any exceptions occurred while the consumer is trying to pickup incoming messages or the likes will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions that will be logged at WARN/ERROR level and ignored.
      | exceptionHandler | consumer (advanced) |  | ExceptionHandler | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this options is not in use. By default the consumer will deal with exceptions that will be logged at WARN/ERROR level and ignored.
      | exchangePattern | consumer (advanced) |  | ExchangePattern | Sets the exchange pattern when the consumer creates an exchange.
      | action | producer |  | String | The default action. Can be overridden by CamelConsulAction
      | valueAsString | producer | false | boolean | Default to transform values retrieved from Consul i.e. on KV endpoint to string.
      | synchronous | advanced | false | boolean | Sets whether synchronous processing should be strictly used or Camel is allowed to use asynchronous processing (if supported).
      | blockSeconds | watch | 10 | Integer | The second to wait for a watch event default 10 seconds
      | firstIndex | watch | 0 | long | The first index for watch for default 0
      | recursive | watch | false | boolean | Recursively watch default false
      | aclToken | security |  | String | Sets the ACL token to be used with Consul
      | password | security |  | String | Sets the password to be used for basic authentication
      | sslContextParameters | security |  | SSLContextParameters | SSL configuration using an org.apache.camel.util.jsse.SSLContextParameters instance.
      | userName | security |  | String | Sets the username to be used for basic authentication
      |=======================================================================
      {% endraw %}
      // endpoint options: END




      [[Consul-Headers]]
      Headers
      ^^^^^^^

      [width="100%",cols="10%,10%,80%",options="header",]
      |=======================================================================
      |Name |Type |Description
      |CamelConsulAction|String|The Producer action
      |CamelConsulKey|String|The Key on which the action should applied
      |CamelConsulEventId|String|The event id (consumer only)
      |CamelConsulEventName|String|The event name (consumer only)
      |CamelConsulEventLTime|Long|The event LTime
      |CamelConsulNodeFilter|String|The Node filter
      |CamelConsulTagFilter|String|The tag filter
      |CamelConsulSessionFilter|String|The session filter
      |CamelConsulVersion|int|The data version
      |CamelConsulFlags|Long|Flags associated with a value
      |CamelConsulCreateIndex|Long|The internal index value that represents when the entry was created
      |CamelConsulLockIndex|Long|The number of times this key has successfully been acquired in a lock
      |CamelConsulModifyIndex|Long|The last index that modified this key
      |CamelConsulOptions|Object|Options associated to the request
      |CamelConsulResult|boolean|true if the response has a result
      |CamelConsulSession|String|The session id
      |CamelConsulValueAsString|boolean|To transform values retrieved from Consul i.e. on KV endpoint to string.
      |=======================================================================
