{
	"connector": {
		"class": "org.apache.camel.kafkaconnector.mongodb.CamelMongodbSourceConnector",
		"artifactId": "camel-mongodb-kafka-connector",
		"groupId": "org.apache.camel.kafkaconnector",
		"id": "camel-mongodb-source",
		"type": "source",
		"version": "0.9.0",
		"description": "Perform operations on MongoDB documents and collections."
	},
	"properties": {
		"camel.source.path.connectionBean": {
			"name": "camel.source.path.connectionBean",
			"description": "Sets the connection bean reference used to lookup a client for connecting to a database.",
			"priority": "HIGH",
			"required": "true"
		},
		"camel.source.endpoint.collection": {
			"name": "camel.source.endpoint.collection",
			"description": "Sets the name of the MongoDB collection to bind to this endpoint",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.collectionIndex": {
			"name": "camel.source.endpoint.collectionIndex",
			"description": "Sets the collection index (JSON FORMAT : { field1 : order1, field2 : order2})",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.createCollection": {
			"name": "camel.source.endpoint.createCollection",
			"description": "Create collection during initialisation if it doesn't exist. Default is true.",
			"defaultValue": "true",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.database": {
			"name": "camel.source.endpoint.database",
			"description": "Sets the name of the MongoDB database to target",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.mongoConnection": {
			"name": "camel.source.endpoint.mongoConnection",
			"description": "Sets the connection bean used as a client for connecting to a database.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.operation": {
			"name": "camel.source.endpoint.operation",
			"description": "Sets the operation this endpoint will execute against MongoDB. One of: [findById] [findOneByQuery] [findAll] [findDistinct] [insert] [save] [update] [remove] [bulkWrite] [aggregate] [getDbStats] [getColStats] [count] [command]",
			"priority": "MEDIUM",
			"required": "false",
			"enum": [
				"findById",
				"findOneByQuery",
				"findAll",
				"findDistinct",
				"insert",
				"save",
				"update",
				"remove",
				"bulkWrite",
				"aggregate",
				"getDbStats",
				"getColStats",
				"count",
				"command"
			]
		},
		"camel.source.endpoint.outputType": {
			"name": "camel.source.endpoint.outputType",
			"description": "Convert the output of the producer to the selected type : DocumentList Document or MongoIterable. DocumentList or MongoIterable applies to findAll and aggregate. Document applies to all other operations. One of: [DocumentList] [Document] [MongoIterable]",
			"priority": "MEDIUM",
			"required": "false",
			"enum": [
				"DocumentList",
				"Document",
				"MongoIterable"
			]
		},
		"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.consumerType": {
			"name": "camel.source.endpoint.consumerType",
			"description": "Consumer type.",
			"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.cursorRegenerationDelay": {
			"name": "camel.source.endpoint.cursorRegenerationDelay",
			"description": "MongoDB tailable cursors will block until new data arrives. If no new data is inserted, after some time the cursor will be automatically freed and closed by the MongoDB server. The client is expected to regenerate the cursor if needed. This value specifies the time to wait before attempting to fetch a new cursor, and if the attempt fails, how long before the next attempt is made. Default value is 1000ms.",
			"defaultValue": "1000L",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.dynamicity": {
			"name": "camel.source.endpoint.dynamicity",
			"description": "Sets whether this endpoint will attempt to dynamically resolve the target database and collection from the incoming Exchange properties. Can be used to override at runtime the database and collection specified on the otherwise static endpoint URI. It is disabled by default to boost performance. Enabling it will take a minimal performance hit.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.readPreference": {
			"name": "camel.source.endpoint.readPreference",
			"description": "Configure how MongoDB clients route read operations to the members of a replica set. Possible values are PRIMARY, PRIMARY_PREFERRED, SECONDARY, SECONDARY_PREFERRED or NEAREST One of: [PRIMARY] [PRIMARY_PREFERRED] [SECONDARY] [SECONDARY_PREFERRED] [NEAREST]",
			"defaultValue": "\"PRIMARY\"",
			"priority": "MEDIUM",
			"required": "false",
			"enum": [
				"PRIMARY",
				"PRIMARY_PREFERRED",
				"SECONDARY",
				"SECONDARY_PREFERRED",
				"NEAREST"
			]
		},
		"camel.source.endpoint.writeConcern": {
			"name": "camel.source.endpoint.writeConcern",
			"description": "Configure the connection bean with the level of acknowledgment requested from MongoDB for write operations to a standalone mongod, replicaset or cluster. Possible values are ACKNOWLEDGED, W1, W2, W3, UNACKNOWLEDGED, JOURNALED or MAJORITY. One of: [ACKNOWLEDGED] [W1] [W2] [W3] [UNACKNOWLEDGED] [JOURNALED] [MAJORITY]",
			"defaultValue": "\"ACKNOWLEDGED\"",
			"priority": "MEDIUM",
			"required": "false",
			"enum": [
				"ACKNOWLEDGED",
				"W1",
				"W2",
				"W3",
				"UNACKNOWLEDGED",
				"JOURNALED",
				"MAJORITY"
			]
		},
		"camel.source.endpoint.writeResultAsHeader": {
			"name": "camel.source.endpoint.writeResultAsHeader",
			"description": "In write operations, it determines whether instead of returning WriteResult as the body of the OUT message, we transfer the IN message to the OUT and attach the WriteResult as a header.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.streamFilter": {
			"name": "camel.source.endpoint.streamFilter",
			"description": "Filter condition for change streams consumer.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.persistentId": {
			"name": "camel.source.endpoint.persistentId",
			"description": "One tail tracking collection can host many trackers for several tailable consumers. To keep them separate, each tracker should have its own unique persistentId.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.persistentTailTracking": {
			"name": "camel.source.endpoint.persistentTailTracking",
			"description": "Enable persistent tail tracking, which is a mechanism to keep track of the last consumed message across system restarts. The next time the system is up, the endpoint will recover the cursor from the point where it last stopped slurping records.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.tailTrackCollection": {
			"name": "camel.source.endpoint.tailTrackCollection",
			"description": "Collection where tail tracking information will be persisted. If not specified, MongoDbTailTrackingConfig#DEFAULT_COLLECTION will be used by default.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.tailTrackDb": {
			"name": "camel.source.endpoint.tailTrackDb",
			"description": "Indicates what database the tail tracking mechanism will persist to. If not specified, the current database will be picked by default. Dynamicity will not be taken into account even if enabled, i.e. the tail tracking database will not vary past endpoint initialisation.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.tailTrackField": {
			"name": "camel.source.endpoint.tailTrackField",
			"description": "Field where the last tracked value will be placed. If not specified, MongoDbTailTrackingConfig#DEFAULT_FIELD will be used by default.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.tailTrackIncreasingField": {
			"name": "camel.source.endpoint.tailTrackIncreasingField",
			"description": "Correlation field in the incoming record which is of increasing nature and will be used to position the tailing cursor every time it is generated. The cursor will be (re)created with a query of type: tailTrackIncreasingField greater than lastValue (possibly recovered from persistent tail tracking). Can be of type Integer, Date, String, etc. NOTE: No support for dot notation at the current time, so the field should be at the top level of the document.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.mongodb.mongoConnection": {
			"name": "camel.component.mongodb.mongoConnection",
			"description": "Shared client used for connection. All endpoints generated from the component will share this connection client.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.mongodb.bridgeErrorHandler": {
			"name": "camel.component.mongodb.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.mongodb.autowiredEnabled": {
			"name": "camel.component.mongodb.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"
		}
	}
}