{
	"connector": {
		"class": "org.apache.camel.kafkaconnector.iec60870client.CamelIec60870clientSourceConnector",
		"artifactId": "camel-iec60870-client-kafka-connector",
		"groupId": "org.apache.camel.kafkaconnector",
		"id": "camel-iec60870-client-source",
		"type": "source",
		"version": "0.7.0-SNAPSHOT",
		"description": "IEC 60870 supervisory control and data acquisition (SCADA) client using NeoSCADA implementation."
	},
	"properties": {
		"camel.source.path.uriPath": {
			"name": "camel.source.path.uriPath",
			"description": "The object information address",
			"priority": "HIGH",
			"required": "true"
		},
		"camel.source.endpoint.dataModuleOptions": {
			"name": "camel.source.endpoint.dataModuleOptions",
			"description": "Data module options",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.protocolOptions": {
			"name": "camel.source.endpoint.protocolOptions",
			"description": "Protocol options",
			"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.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, or Camel is allowed to use asynchronous processing (if supported).",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.acknowledgeWindow": {
			"name": "camel.source.endpoint.acknowledgeWindow",
			"description": "Parameter W - Acknowledgment window.",
			"defaultValue": "10",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.adsuAddressType": {
			"name": "camel.source.endpoint.adsuAddressType",
			"description": "The common ASDU address size. May be either SIZE_1 or SIZE_2. One of: [SIZE_1] [SIZE_2]",
			"priority": "MEDIUM",
			"required": "false",
			"enum": [
				"SIZE_1",
				"SIZE_2"
			]
		},
		"camel.source.endpoint.causeOfTransmissionType": {
			"name": "camel.source.endpoint.causeOfTransmissionType",
			"description": "The cause of transmission type. May be either SIZE_1 or SIZE_2. One of: [SIZE_1] [SIZE_2]",
			"priority": "MEDIUM",
			"required": "false",
			"enum": [
				"SIZE_1",
				"SIZE_2"
			]
		},
		"camel.source.endpoint.informationObjectAddressType": {
			"name": "camel.source.endpoint.informationObjectAddressType",
			"description": "The information address size. May be either SIZE_1, SIZE_2 or SIZE_3. One of: [SIZE_1] [SIZE_2] [SIZE_3]",
			"priority": "MEDIUM",
			"required": "false",
			"enum": [
				"SIZE_1",
				"SIZE_2",
				"SIZE_3"
			]
		},
		"camel.source.endpoint.maxUnacknowledged": {
			"name": "camel.source.endpoint.maxUnacknowledged",
			"description": "Parameter K - Maximum number of un-acknowledged messages.",
			"defaultValue": "15",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.timeout1": {
			"name": "camel.source.endpoint.timeout1",
			"description": "Timeout T1 in milliseconds.",
			"defaultValue": "15000",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.timeout2": {
			"name": "camel.source.endpoint.timeout2",
			"description": "Timeout T2 in milliseconds.",
			"defaultValue": "10000",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.timeout3": {
			"name": "camel.source.endpoint.timeout3",
			"description": "Timeout T3 in milliseconds.",
			"defaultValue": "20000",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.causeSourceAddress": {
			"name": "camel.source.endpoint.causeSourceAddress",
			"description": "Whether to include the source address",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.connectionTimeout": {
			"name": "camel.source.endpoint.connectionTimeout",
			"description": "Timeout in millis to wait for client to establish a connected connection.",
			"defaultValue": "10000",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.ignoreBackgroundScan": {
			"name": "camel.source.endpoint.ignoreBackgroundScan",
			"description": "Whether background scan transmissions should be ignored.",
			"defaultValue": "true",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.ignoreDaylightSavingTime": {
			"name": "camel.source.endpoint.ignoreDaylightSavingTime",
			"description": "Whether to ignore or respect DST",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.timeZone": {
			"name": "camel.source.endpoint.timeZone",
			"description": "The timezone to use. May be any Java time zone string",
			"defaultValue": "\"UTC\"",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.connectionId": {
			"name": "camel.source.endpoint.connectionId",
			"description": "An identifier grouping connection instances",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.iec60870-client.defaultConnectionOptions": {
			"name": "camel.component.iec60870-client.defaultConnectionOptions",
			"description": "Default connection options",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.iec60870-client.bridgeErrorHandler": {
			"name": "camel.component.iec60870-client.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.iec60870-client.autowiredEnabled": {
			"name": "camel.component.iec60870-client.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"
		}
	}
}