{
	"connector": {
		"class": "org.apache.camel.kafkaconnector.rest.CamelRestSourceConnector",
		"artifactId": "camel-rest-kafka-connector",
		"groupId": "org.apache.camel.kafkaconnector",
		"id": "camel-rest-source",
		"type": "source",
		"version": "0.9.0",
		"description": "Expose REST services or call external REST services."
	},
	"properties": {
		"camel.source.path.method": {
			"name": "camel.source.path.method",
			"description": "HTTP method to use. One of: [get] [post] [put] [delete] [patch] [head] [trace] [connect] [options]",
			"priority": "HIGH",
			"required": "true",
			"enum": [
				"get",
				"post",
				"put",
				"delete",
				"patch",
				"head",
				"trace",
				"connect",
				"options"
			]
		},
		"camel.source.path.path": {
			"name": "camel.source.path.path",
			"description": "The base path",
			"priority": "HIGH",
			"required": "true"
		},
		"camel.source.path.uriTemplate": {
			"name": "camel.source.path.uriTemplate",
			"description": "The uri template",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.consumes": {
			"name": "camel.source.endpoint.consumes",
			"description": "Media type such as: 'text\/xml', or 'application\/json' this REST service accepts. By default we accept all kinds of types.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.inType": {
			"name": "camel.source.endpoint.inType",
			"description": "To declare the incoming POJO binding type as a FQN class name",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.outType": {
			"name": "camel.source.endpoint.outType",
			"description": "To declare the outgoing POJO binding type as a FQN class name",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.produces": {
			"name": "camel.source.endpoint.produces",
			"description": "Media type such as: 'text\/xml', or 'application\/json' this REST service returns.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.routeId": {
			"name": "camel.source.endpoint.routeId",
			"description": "Name of the route this REST services creates",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.bridgeErrorHandler": {
			"name": "camel.source.endpoint.bridgeErrorHandler",
			"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.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.consumerComponentName": {
			"name": "camel.source.endpoint.consumerComponentName",
			"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.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.description": {
			"name": "camel.source.endpoint.description",
			"description": "Human description to document this REST service",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.exceptionHandler": {
			"name": "camel.source.endpoint.exceptionHandler",
			"description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.exchangePattern": {
			"name": "camel.source.endpoint.exchangePattern",
			"description": "Sets the exchange pattern when the consumer creates an exchange. One of: [InOnly] [InOut] [InOptionalOut]",
			"priority": "MEDIUM",
			"required": "false",
			"enum": [
				"InOnly",
				"InOut",
				"InOptionalOut"
			]
		},
		"camel.component.rest.bridgeErrorHandler": {
			"name": "camel.component.rest.bridgeErrorHandler",
			"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.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.rest.consumerComponentName": {
			"name": "camel.component.rest.consumerComponentName",
			"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.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.rest.autowiredEnabled": {
			"name": "camel.component.rest.autowiredEnabled",
			"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.",
			"defaultValue": "true",
			"priority": "MEDIUM",
			"required": "false"
		}
	}
}