{
  "groups": [
    {
      "name": "camel.component.rest",
      "type": "org.apache.camel.component.rest.springboot.RestComponentConfiguration",
      "sourceType": "org.apache.camel.component.rest.springboot.RestComponentConfiguration"
    },
    {
      "name": "camel.component.rest-api",
      "type": "org.apache.camel.component.rest.springboot.RestApiComponentConfiguration",
      "sourceType": "org.apache.camel.component.rest.springboot.RestApiComponentConfiguration"
    },
    {
      "name": "camel.component.rest-api.customizer",
      "type": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties",
      "sourceType": "org.apache.camel.component.rest.springboot.RestApiComponentConfiguration",
      "sourceMethod": "getCustomizer()"
    },
    {
      "name": "camel.component.rest.customizer",
      "type": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties",
      "sourceType": "org.apache.camel.component.rest.springboot.RestComponentConfiguration",
      "sourceMethod": "getCustomizer()"
    }
  ],
  "properties": [
    {
      "name": "camel.component.rest-api.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.rest.springboot.RestApiComponentConfiguration",
      "defaultValue": true
    },
    {
      "name": "camel.component.rest-api.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.rest.springboot.RestApiComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.rest-api.customizer.enabled",
      "type": "java.lang.Boolean",
      "sourceType": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties"
    },
    {
      "name": "camel.component.rest-api.enabled",
      "type": "java.lang.Boolean",
      "description": "Whether to enable auto configuration of the rest-api component. This is enabled by default.",
      "sourceType": "org.apache.camel.component.rest.springboot.RestApiComponentConfiguration"
    },
    {
      "name": "camel.component.rest.api-doc",
      "type": "java.lang.String",
      "description": "The swagger api doc resource to use. The resource is loaded from classpath by default and must be in JSON format.",
      "sourceType": "org.apache.camel.component.rest.springboot.RestComponentConfiguration"
    },
    {
      "name": "camel.component.rest.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.rest.springboot.RestComponentConfiguration",
      "defaultValue": true
    },
    {
      "name": "camel.component.rest.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.rest.springboot.RestComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.rest.consumer-component-name",
      "type": "java.lang.String",
      "description": "The Camel Rest component to use for (consumer) the REST transport, such as jetty, servlet, undertow. If no component has been explicit configured, then Camel will lookup if there is a Camel component that integrates with the Rest DSL, or if a org.apache.camel.spi.RestConsumerFactory is registered in the registry. If either one is found, then that is being used.",
      "sourceType": "org.apache.camel.component.rest.springboot.RestComponentConfiguration"
    },
    {
      "name": "camel.component.rest.customizer.enabled",
      "type": "java.lang.Boolean",
      "sourceType": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties"
    },
    {
      "name": "camel.component.rest.enabled",
      "type": "java.lang.Boolean",
      "description": "Whether to enable auto configuration of the rest component. This is enabled by default.",
      "sourceType": "org.apache.camel.component.rest.springboot.RestComponentConfiguration"
    },
    {
      "name": "camel.component.rest.host",
      "type": "java.lang.String",
      "description": "Host and port of HTTP service to use (override host in swagger schema)",
      "sourceType": "org.apache.camel.component.rest.springboot.RestComponentConfiguration"
    },
    {
      "name": "camel.component.rest.lazy-start-producer",
      "type": "java.lang.Boolean",
      "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",
      "sourceType": "org.apache.camel.component.rest.springboot.RestComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.rest.producer-component-name",
      "type": "java.lang.String",
      "description": "The Camel Rest component to use for (producer) the REST transport, such as http, undertow. If no component has been explicit configured, then Camel will lookup if there is a Camel component that integrates with the Rest DSL, or if a org.apache.camel.spi.RestProducerFactory is registered in the registry. If either one is found, then that is being used.",
      "sourceType": "org.apache.camel.component.rest.springboot.RestComponentConfiguration"
    },
    {
      "name": "camel.component.rest.component-name",
      "type": "java.lang.String",
      "description": "The Camel Rest component to use for (producer) the REST transport, such as http, undertow. If no component has been explicit configured, then Camel will lookup if there is a Camel component that integrates with the Rest DSL, or if a org.apache.camel.spi.RestProducerFactory is registered in the registry. If either one is found, then that is being used.",
      "sourceType": "org.apache.camel.component.rest.springboot.RestComponentConfiguration",
      "deprecated": true,
      "deprecation": {}
    }
  ],
  "hints": []
}