{
	"connector": {
		"class": "org.apache.camel.kafkaconnector.thrift.CamelThriftSourceConnector",
		"artifactId": "camel-thrift-kafka-connector",
		"groupId": "org.apache.camel.kafkaconnector",
		"id": "camel-thrift-source",
		"type": "source",
		"version": "0.10.0-SNAPSHOT",
		"description": "Call and expose remote procedures (RPC) with Apache Thrift data format and serialization mechanism."
	},
	"properties": {
		"camel.source.path.host": {
			"name": "camel.source.path.host",
			"description": "The Thrift server host name. This is localhost or 0.0.0.0 (if not defined) when being a consumer or remote server host name when using producer.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.path.port": {
			"name": "camel.source.path.port",
			"description": "The Thrift server port",
			"priority": "HIGH",
			"required": "true"
		},
		"camel.source.path.service": {
			"name": "camel.source.path.service",
			"description": "Fully qualified service name from the thrift descriptor file (package dot service definition name)",
			"priority": "HIGH",
			"required": "true"
		},
		"camel.source.endpoint.compressionType": {
			"name": "camel.source.endpoint.compressionType",
			"description": "Protocol compression mechanism type One of: [NONE] [ZLIB]",
			"defaultValue": "\"NONE\"",
			"priority": "MEDIUM",
			"required": "false",
			"enum": [
				"NONE",
				"ZLIB"
			]
		},
		"camel.source.endpoint.exchangeProtocol": {
			"name": "camel.source.endpoint.exchangeProtocol",
			"description": "Exchange protocol serialization type One of: [BINARY] [JSON] [SJSON] [COMPACT]",
			"defaultValue": "\"BINARY\"",
			"priority": "MEDIUM",
			"required": "false",
			"enum": [
				"BINARY",
				"JSON",
				"SJSON",
				"COMPACT"
			]
		},
		"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.clientTimeout": {
			"name": "camel.source.endpoint.clientTimeout",
			"description": "Client timeout for consumers",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.maxPoolSize": {
			"name": "camel.source.endpoint.maxPoolSize",
			"description": "The Thrift server consumer max thread pool size",
			"defaultValue": "10",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.poolSize": {
			"name": "camel.source.endpoint.poolSize",
			"description": "The Thrift server consumer initial thread pool size",
			"defaultValue": "1",
			"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.source.endpoint.synchronous": {
			"name": "camel.source.endpoint.synchronous",
			"description": "Sets whether synchronous processing should be strictly used",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.negotiationType": {
			"name": "camel.source.endpoint.negotiationType",
			"description": "Security negotiation type One of: [PLAINTEXT] [SSL] [SASL]",
			"defaultValue": "\"PLAINTEXT\"",
			"priority": "MEDIUM",
			"required": "false",
			"enum": [
				"PLAINTEXT",
				"SSL",
				"SASL"
			]
		},
		"camel.source.endpoint.sslParameters": {
			"name": "camel.source.endpoint.sslParameters",
			"description": "Configuration parameters for SSL\/TLS security negotiation",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.thrift.bridgeErrorHandler": {
			"name": "camel.component.thrift.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.thrift.autowiredEnabled": {
			"name": "camel.component.thrift.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"
		},
		"camel.component.thrift.useGlobalSslContextParameters": {
			"name": "camel.component.thrift.useGlobalSslContextParameters",
			"description": "Determine if the thrift component is using global SSL context parameters",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		}
	}
}