{
	"connector": {
		"class": "org.apache.camel.kafkaconnector.wordpress.CamelWordpressSourceConnector",
		"artifactId": "camel-wordpress-kafka-connector",
		"groupId": "org.apache.camel.kafkaconnector",
		"id": "camel-wordpress-source",
		"type": "source",
		"version": "0.7.3-SNAPSHOT",
		"description": "Manage posts and users using Wordpress API."
	},
	"properties": {
		"camel.source.path.operation": {
			"name": "camel.source.path.operation",
			"description": "The endpoint operation. One of: [post] [user]",
			"priority": "HIGH",
			"required": "true",
			"enum": [
				"post",
				"user"
			]
		},
		"camel.source.path.operationDetail": {
			"name": "camel.source.path.operationDetail",
			"description": "The second part of an endpoint operation. Needed only when endpoint semantic is not enough, like wordpress:post:delete One of: [delete]",
			"priority": "MEDIUM",
			"required": "false",
			"enum": [
				"delete"
			]
		},
		"camel.source.endpoint.apiVersion": {
			"name": "camel.source.endpoint.apiVersion",
			"description": "The Wordpress REST API version",
			"defaultValue": "\"2\"",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.criteria": {
			"name": "camel.source.endpoint.criteria",
			"description": "The criteria to use with complex searches.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.force": {
			"name": "camel.source.endpoint.force",
			"description": "Whether to bypass trash and force deletion.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.id": {
			"name": "camel.source.endpoint.id",
			"description": "The entity ID. Should be passed when the operation performed requires a specific entity, e.g. deleting a post",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.password": {
			"name": "camel.source.endpoint.password",
			"description": "Password from authorized user",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.searchCriteria": {
			"name": "camel.source.endpoint.searchCriteria",
			"description": "Search criteria",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.url": {
			"name": "camel.source.endpoint.url",
			"description": "The Wordpress API URL from your site, e.g. http:\/\/myblog.com\/wp-json\/",
			"priority": "HIGH",
			"required": "true"
		},
		"camel.source.endpoint.user": {
			"name": "camel.source.endpoint.user",
			"description": "Authorized user to perform writing operations",
			"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.component.wordpress.apiVersion": {
			"name": "camel.component.wordpress.apiVersion",
			"description": "The Wordpress REST API version",
			"defaultValue": "\"2\"",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.wordpress.configuration": {
			"name": "camel.component.wordpress.configuration",
			"description": "Wordpress configuration",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.wordpress.criteria": {
			"name": "camel.component.wordpress.criteria",
			"description": "The criteria to use with complex searches.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.wordpress.force": {
			"name": "camel.component.wordpress.force",
			"description": "Whether to bypass trash and force deletion.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.wordpress.id": {
			"name": "camel.component.wordpress.id",
			"description": "The entity ID. Should be passed when the operation performed requires a specific entity, e.g. deleting a post",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.wordpress.password": {
			"name": "camel.component.wordpress.password",
			"description": "Password from authorized user",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.wordpress.searchCriteria": {
			"name": "camel.component.wordpress.searchCriteria",
			"description": "Search criteria",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.wordpress.url": {
			"name": "camel.component.wordpress.url",
			"description": "The Wordpress API URL from your site, e.g. http:\/\/myblog.com\/wp-json\/",
			"priority": "HIGH",
			"required": "true"
		},
		"camel.component.wordpress.user": {
			"name": "camel.component.wordpress.user",
			"description": "Authorized user to perform writing operations",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.wordpress.bridgeErrorHandler": {
			"name": "camel.component.wordpress.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.wordpress.autowiredEnabled": {
			"name": "camel.component.wordpress.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"
		}
	}
}