{
	"connector": {
		"class": "org.apache.camel.kafkaconnector.atomixmap.CamelAtomixmapSourceConnector",
		"artifactId": "camel-atomix-map-kafka-connector",
		"groupId": "org.apache.camel.kafkaconnector",
		"id": "camel-atomix-map-source",
		"type": "source",
		"version": "0.9.0",
		"description": "Access Atomix's distributed map."
	},
	"properties": {
		"camel.source.path.resourceName": {
			"name": "camel.source.path.resourceName",
			"description": "The distributed resource name",
			"priority": "HIGH",
			"required": "true"
		},
		"camel.source.endpoint.atomix": {
			"name": "camel.source.endpoint.atomix",
			"description": "The Atomix instance to use",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.configurationUri": {
			"name": "camel.source.endpoint.configurationUri",
			"description": "The Atomix configuration uri.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.defaultAction": {
			"name": "camel.source.endpoint.defaultAction",
			"description": "The default action. One of: [PUT] [PUT_IF_ABSENT] [GET] [CLEAR] [SIZE] [CONTAINS_KEY] [CONTAINS_VALUE] [IS_EMPTY] [ENTRY_SET] [REMOVE] [REPLACE] [VALUES]",
			"defaultValue": "\"PUT\"",
			"priority": "MEDIUM",
			"required": "false",
			"enum": [
				"PUT",
				"PUT_IF_ABSENT",
				"GET",
				"CLEAR",
				"SIZE",
				"CONTAINS_KEY",
				"CONTAINS_VALUE",
				"IS_EMPTY",
				"ENTRY_SET",
				"REMOVE",
				"REPLACE",
				"VALUES"
			]
		},
		"camel.source.endpoint.key": {
			"name": "camel.source.endpoint.key",
			"description": "The key to use if none is set in the header or to listen for events for a specific key.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.nodes": {
			"name": "camel.source.endpoint.nodes",
			"description": "The address of the nodes composing the cluster.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.resultHeader": {
			"name": "camel.source.endpoint.resultHeader",
			"description": "The header that wil carry the result.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.transportClassName": {
			"name": "camel.source.endpoint.transportClassName",
			"description": "The class name (fqn) of the Atomix transport",
			"defaultValue": "\"io.atomix.catalyst.transport.netty.NettyTransport\"",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.ttl": {
			"name": "camel.source.endpoint.ttl",
			"description": "The resource ttl.",
			"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.defaultResourceConfig": {
			"name": "camel.source.endpoint.defaultResourceConfig",
			"description": "The cluster wide default resource configuration.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.defaultResourceOptions": {
			"name": "camel.source.endpoint.defaultResourceOptions",
			"description": "The local default resource options.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.ephemeral": {
			"name": "camel.source.endpoint.ephemeral",
			"description": "Sets if the local member should join groups as PersistentMember or not. If set to ephemeral the local member will receive an auto generated ID thus the local one is ignored.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.readConsistency": {
			"name": "camel.source.endpoint.readConsistency",
			"description": "The read consistency level. One of: [ATOMIC] [ATOMIC_LEASE] [SEQUENTIAL] [LOCAL]",
			"priority": "MEDIUM",
			"required": "false",
			"enum": [
				"ATOMIC",
				"ATOMIC_LEASE",
				"SEQUENTIAL",
				"LOCAL"
			]
		},
		"camel.source.endpoint.resourceConfigs": {
			"name": "camel.source.endpoint.resourceConfigs",
			"description": "Cluster wide resources configuration.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.resourceOptions": {
			"name": "camel.source.endpoint.resourceOptions",
			"description": "Local resources configurations",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.atomix-map.atomix": {
			"name": "camel.component.atomix-map.atomix",
			"description": "The Atomix instance to use",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.atomix-map.configuration": {
			"name": "camel.component.atomix-map.configuration",
			"description": "The shared component configuration",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.atomix-map.configurationUri": {
			"name": "camel.component.atomix-map.configurationUri",
			"description": "The path to the AtomixClient configuration",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.atomix-map.defaultAction": {
			"name": "camel.component.atomix-map.defaultAction",
			"description": "The default action. One of: [PUT] [PUT_IF_ABSENT] [GET] [CLEAR] [SIZE] [CONTAINS_KEY] [CONTAINS_VALUE] [IS_EMPTY] [ENTRY_SET] [REMOVE] [REPLACE] [VALUES]",
			"defaultValue": "\"PUT\"",
			"priority": "MEDIUM",
			"required": "false",
			"enum": [
				"PUT",
				"PUT_IF_ABSENT",
				"GET",
				"CLEAR",
				"SIZE",
				"CONTAINS_KEY",
				"CONTAINS_VALUE",
				"IS_EMPTY",
				"ENTRY_SET",
				"REMOVE",
				"REPLACE",
				"VALUES"
			]
		},
		"camel.component.atomix-map.key": {
			"name": "camel.component.atomix-map.key",
			"description": "The key to use if none is set in the header or to listen for events for a specific key.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.atomix-map.nodes": {
			"name": "camel.component.atomix-map.nodes",
			"description": "The nodes the AtomixClient should connect to",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.atomix-map.resultHeader": {
			"name": "camel.component.atomix-map.resultHeader",
			"description": "The header that wil carry the result.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.atomix-map.transportClassName": {
			"name": "camel.component.atomix-map.transportClassName",
			"description": "The class name (fqn) of the Atomix transport",
			"defaultValue": "\"io.atomix.catalyst.transport.netty.NettyTransport\"",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.atomix-map.ttl": {
			"name": "camel.component.atomix-map.ttl",
			"description": "The resource ttl.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.atomix-map.bridgeErrorHandler": {
			"name": "camel.component.atomix-map.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.atomix-map.autowiredEnabled": {
			"name": "camel.component.atomix-map.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.atomix-map.defaultResourceConfig": {
			"name": "camel.component.atomix-map.defaultResourceConfig",
			"description": "The cluster wide default resource configuration.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.atomix-map.defaultResourceOptions": {
			"name": "camel.component.atomix-map.defaultResourceOptions",
			"description": "The local default resource options.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.atomix-map.ephemeral": {
			"name": "camel.component.atomix-map.ephemeral",
			"description": "Sets if the local member should join groups as PersistentMember or not. If set to ephemeral the local member will receive an auto generated ID thus the local one is ignored.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.atomix-map.readConsistency": {
			"name": "camel.component.atomix-map.readConsistency",
			"description": "The read consistency level. One of: [ATOMIC] [ATOMIC_LEASE] [SEQUENTIAL] [LOCAL]",
			"priority": "MEDIUM",
			"required": "false",
			"enum": [
				"ATOMIC",
				"ATOMIC_LEASE",
				"SEQUENTIAL",
				"LOCAL"
			]
		},
		"camel.component.atomix-map.resourceConfigs": {
			"name": "camel.component.atomix-map.resourceConfigs",
			"description": "Cluster wide resources configuration.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.atomix-map.resourceOptions": {
			"name": "camel.component.atomix-map.resourceOptions",
			"description": "Local resources configurations",
			"priority": "MEDIUM",
			"required": "false"
		}
	}
}