{
  "groups": [
    {
      "name": "camel.component.lumberjack",
      "type": "org.apache.camel.component.lumberjack.springboot.LumberjackComponentConfiguration",
      "sourceType": "org.apache.camel.component.lumberjack.springboot.LumberjackComponentConfiguration"
    },
    {
      "name": "camel.component.lumberjack.customizer",
      "type": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties",
      "sourceType": "org.apache.camel.component.lumberjack.springboot.LumberjackComponentConfiguration",
      "sourceMethod": "getCustomizer()"
    }
  ],
  "properties": [
    {
      "name": "camel.component.lumberjack.autowired-enabled",
      "type": "java.lang.Boolean",
      "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
      "sourceType": "org.apache.camel.component.lumberjack.springboot.LumberjackComponentConfiguration",
      "defaultValue": true
    },
    {
      "name": "camel.component.lumberjack.bridge-error-handler",
      "type": "java.lang.Boolean",
      "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 or ERROR level and ignored.",
      "sourceType": "org.apache.camel.component.lumberjack.springboot.LumberjackComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.lumberjack.customizer.enabled",
      "type": "java.lang.Boolean",
      "sourceType": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties"
    },
    {
      "name": "camel.component.lumberjack.enabled",
      "type": "java.lang.Boolean",
      "description": "Whether to enable auto configuration of the lumberjack component. This is enabled by default.",
      "sourceType": "org.apache.camel.component.lumberjack.springboot.LumberjackComponentConfiguration"
    },
    {
      "name": "camel.component.lumberjack.ssl-context-parameters",
      "type": "org.apache.camel.support.jsse.SSLContextParameters",
      "description": "Sets the default SSL configuration to use for all the endpoints. You can also configure it directly at the endpoint level. The option is a org.apache.camel.support.jsse.SSLContextParameters type.",
      "sourceType": "org.apache.camel.component.lumberjack.springboot.LumberjackComponentConfiguration"
    },
    {
      "name": "camel.component.lumberjack.use-global-ssl-context-parameters",
      "type": "java.lang.Boolean",
      "description": "Enable usage of global SSL context parameters.",
      "sourceType": "org.apache.camel.component.lumberjack.springboot.LumberjackComponentConfiguration",
      "defaultValue": false
    }
  ],
  "hints": []
}