{
	"connector": {
		"class": "org.apache.camel.kafkaconnector.googlecalendar.CamelGooglecalendarSourceConnector",
		"artifactId": "camel-google-calendar-kafka-connector",
		"groupId": "org.apache.camel.kafkaconnector",
		"id": "camel-google-calendar-source",
		"type": "source",
		"version": "0.7.3-SNAPSHOT",
		"description": "Perform various operations on a Google Calendar."
	},
	"properties": {
		"camel.source.path.apiName": {
			"name": "camel.source.path.apiName",
			"description": "What kind of operation to perform One of: [ACL] [LIST] [CALENDARS] [CHANNELS] [COLORS] [FREEBUSY] [EVENTS] [SETTINGS]",
			"priority": "HIGH",
			"required": "true",
			"enum": [
				"ACL",
				"LIST",
				"CALENDARS",
				"CHANNELS",
				"COLORS",
				"FREEBUSY",
				"EVENTS",
				"SETTINGS"
			]
		},
		"camel.source.path.methodName": {
			"name": "camel.source.path.methodName",
			"description": "What sub operation to use for the selected operation One of: [calendarImport] [clear] [delete] [get] [insert] [instances] [list] [move] [patch] [query] [quickAdd] [stop] [update] [watch]",
			"priority": "HIGH",
			"required": "true",
			"enum": [
				"calendarImport",
				"clear",
				"delete",
				"get",
				"insert",
				"instances",
				"list",
				"move",
				"patch",
				"query",
				"quickAdd",
				"stop",
				"update",
				"watch"
			]
		},
		"camel.source.endpoint.applicationName": {
			"name": "camel.source.endpoint.applicationName",
			"description": "Google calendar application name. Example would be camel-google-calendar\/1.0",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.clientId": {
			"name": "camel.source.endpoint.clientId",
			"description": "Client ID of the calendar application",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.emailAddress": {
			"name": "camel.source.endpoint.emailAddress",
			"description": "The emailAddress of the Google Service Account.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.inBody": {
			"name": "camel.source.endpoint.inBody",
			"description": "Sets the name of a parameter to be passed in the exchange In Body",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.p12FileName": {
			"name": "camel.source.endpoint.p12FileName",
			"description": "The name of the p12 file which has the private key to use with the Google Service Account.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.scopes": {
			"name": "camel.source.endpoint.scopes",
			"description": "Specifies the level of permissions you want a calendar application to have to a user account. You can separate multiple scopes by comma. See https:\/\/developers.google.com\/google-apps\/calendar\/auth for more info.",
			"defaultValue": "\"https:\/\/www.googleapis.com\/auth\/calendar\"",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.user": {
			"name": "camel.source.endpoint.user",
			"description": "The email address of the user the application is trying to impersonate in the service account flow",
			"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.sendEmptyMessageWhenIdle": {
			"name": "camel.source.endpoint.sendEmptyMessageWhenIdle",
			"description": "If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",
			"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.pollStrategy": {
			"name": "camel.source.endpoint.pollStrategy",
			"description": "A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"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.backoffErrorThreshold": {
			"name": "camel.source.endpoint.backoffErrorThreshold",
			"description": "The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.backoffIdleThreshold": {
			"name": "camel.source.endpoint.backoffIdleThreshold",
			"description": "The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.backoffMultiplier": {
			"name": "camel.source.endpoint.backoffMultiplier",
			"description": "To let the scheduled polling consumer backoff if there has been a number of subsequent idles\/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and\/or backoffErrorThreshold must also be configured.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.delay": {
			"name": "camel.source.endpoint.delay",
			"description": "Milliseconds before the next poll.",
			"defaultValue": "500L",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.greedy": {
			"name": "camel.source.endpoint.greedy",
			"description": "If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.initialDelay": {
			"name": "camel.source.endpoint.initialDelay",
			"description": "Milliseconds before the first poll starts.",
			"defaultValue": "1000L",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.repeatCount": {
			"name": "camel.source.endpoint.repeatCount",
			"description": "Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",
			"defaultValue": "0L",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.runLoggingLevel": {
			"name": "camel.source.endpoint.runLoggingLevel",
			"description": "The consumer logs a start\/complete log line when it polls. This option allows you to configure the logging level for that. One of: [TRACE] [DEBUG] [INFO] [WARN] [ERROR] [OFF]",
			"defaultValue": "\"TRACE\"",
			"priority": "MEDIUM",
			"required": "false",
			"enum": [
				"TRACE",
				"DEBUG",
				"INFO",
				"WARN",
				"ERROR",
				"OFF"
			]
		},
		"camel.source.endpoint.scheduledExecutorService": {
			"name": "camel.source.endpoint.scheduledExecutorService",
			"description": "Allows for configuring a custom\/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.scheduler": {
			"name": "camel.source.endpoint.scheduler",
			"description": "To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",
			"defaultValue": "\"none\"",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.schedulerProperties": {
			"name": "camel.source.endpoint.schedulerProperties",
			"description": "To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.startScheduler": {
			"name": "camel.source.endpoint.startScheduler",
			"description": "Whether the scheduler should be auto started.",
			"defaultValue": "true",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.timeUnit": {
			"name": "camel.source.endpoint.timeUnit",
			"description": "Time unit for initialDelay and delay options. One of: [NANOSECONDS] [MICROSECONDS] [MILLISECONDS] [SECONDS] [MINUTES] [HOURS] [DAYS]",
			"defaultValue": "\"MILLISECONDS\"",
			"priority": "MEDIUM",
			"required": "false",
			"enum": [
				"NANOSECONDS",
				"MICROSECONDS",
				"MILLISECONDS",
				"SECONDS",
				"MINUTES",
				"HOURS",
				"DAYS"
			]
		},
		"camel.source.endpoint.useFixedDelay": {
			"name": "camel.source.endpoint.useFixedDelay",
			"description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",
			"defaultValue": "true",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.accessToken": {
			"name": "camel.source.endpoint.accessToken",
			"description": "OAuth 2 access token. This typically expires after an hour so refreshToken is recommended for long term usage.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.clientSecret": {
			"name": "camel.source.endpoint.clientSecret",
			"description": "Client secret of the calendar application",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.refreshToken": {
			"name": "camel.source.endpoint.refreshToken",
			"description": "OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.google-calendar.applicationName": {
			"name": "camel.component.google-calendar.applicationName",
			"description": "Google calendar application name. Example would be camel-google-calendar\/1.0",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.google-calendar.clientId": {
			"name": "camel.component.google-calendar.clientId",
			"description": "Client ID of the calendar application",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.google-calendar.configuration": {
			"name": "camel.component.google-calendar.configuration",
			"description": "To use the shared configuration",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.google-calendar.emailAddress": {
			"name": "camel.component.google-calendar.emailAddress",
			"description": "The emailAddress of the Google Service Account.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.google-calendar.p12FileName": {
			"name": "camel.component.google-calendar.p12FileName",
			"description": "The name of the p12 file which has the private key to use with the Google Service Account.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.google-calendar.scopes": {
			"name": "camel.component.google-calendar.scopes",
			"description": "Specifies the level of permissions you want a calendar application to have to a user account. You can separate multiple scopes by comma. See https:\/\/developers.google.com\/google-apps\/calendar\/auth for more info.",
			"defaultValue": "\"https:\/\/www.googleapis.com\/auth\/calendar\"",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.google-calendar.user": {
			"name": "camel.component.google-calendar.user",
			"description": "The email address of the user the application is trying to impersonate in the service account flow",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.google-calendar.bridgeErrorHandler": {
			"name": "camel.component.google-calendar.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.google-calendar.autowiredEnabled": {
			"name": "camel.component.google-calendar.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.google-calendar.clientFactory": {
			"name": "camel.component.google-calendar.clientFactory",
			"description": "To use the GoogleCalendarClientFactory as factory for creating the client. Will by default use BatchGoogleCalendarClientFactory",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.google-calendar.accessToken": {
			"name": "camel.component.google-calendar.accessToken",
			"description": "OAuth 2 access token. This typically expires after an hour so refreshToken is recommended for long term usage.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.google-calendar.clientSecret": {
			"name": "camel.component.google-calendar.clientSecret",
			"description": "Client secret of the calendar application",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.google-calendar.refreshToken": {
			"name": "camel.component.google-calendar.refreshToken",
			"description": "OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived.",
			"priority": "MEDIUM",
			"required": "false"
		}
	}
}