{
	"connector": {
		"class": "org.apache.camel.kafkaconnector.azurestorageblob.CamelAzurestorageblobSourceConnector",
		"artifactId": "camel-azure-storage-blob-kafka-connector",
		"groupId": "org.apache.camel.kafkaconnector",
		"id": "camel-azure-storage-blob-source",
		"type": "source",
		"version": "0.9.0",
		"description": "Store and retrieve blobs from Azure Storage Blob Service using SDK v12."
	},
	"properties": {
		"camel.source.path.accountName": {
			"name": "camel.source.path.accountName",
			"description": "Azure account name to be used for authentication with azure blob services",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.path.containerName": {
			"name": "camel.source.path.containerName",
			"description": "The blob container name",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.autoDiscoverClient": {
			"name": "camel.source.endpoint.autoDiscoverClient",
			"description": "Setting the autoDiscoverClient mechanism, if true, the component will look for a client instance in the registry automatically otherwise it will skip that checking.",
			"defaultValue": "true",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.blobName": {
			"name": "camel.source.endpoint.blobName",
			"description": "The blob name, to consume specific blob from a container. However on producer, is only required for the operations on the blob level",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.blobOffset": {
			"name": "camel.source.endpoint.blobOffset",
			"description": "Set the blob offset for the upload or download operations, default is 0",
			"defaultValue": "0L",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.blobServiceClient": {
			"name": "camel.source.endpoint.blobServiceClient",
			"description": "Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to construct URLs to blobs and containers. This client contains operations on a service account. Operations on a container are available on BlobContainerClient through getBlobContainerClient(String), and operations on a blob are available on BlobClient through getBlobContainerClient(String).getBlobClient(String).",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.blobType": {
			"name": "camel.source.endpoint.blobType",
			"description": "The blob type in order to initiate the appropriate settings for each blob type One of: [blockblob] [appendblob] [pageblob]",
			"defaultValue": "\"blockblob\"",
			"priority": "MEDIUM",
			"required": "false",
			"enum": [
				"blockblob",
				"appendblob",
				"pageblob"
			]
		},
		"camel.source.endpoint.closeStreamAfterRead": {
			"name": "camel.source.endpoint.closeStreamAfterRead",
			"description": "Close the stream after read or keep it open, default is true",
			"defaultValue": "true",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.credentials": {
			"name": "camel.source.endpoint.credentials",
			"description": "StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.dataCount": {
			"name": "camel.source.endpoint.dataCount",
			"description": "How many bytes to include in the range. Must be greater than or equal to 0 if specified.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.fileDir": {
			"name": "camel.source.endpoint.fileDir",
			"description": "The file directory where the downloaded blobs will be saved to, this can be used in both, producer and consumer",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.maxResultsPerPage": {
			"name": "camel.source.endpoint.maxResultsPerPage",
			"description": "Specifies the maximum number of blobs to return, including all BlobPrefix elements. If the request does not specify maxResultsPerPage or specifies a value greater than 5,000, the server will return up to 5,000 items.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.maxRetryRequests": {
			"name": "camel.source.endpoint.maxRetryRequests",
			"description": "Specifies the maximum number of additional HTTP Get requests that will be made while reading the data from a response body.",
			"defaultValue": "0",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.prefix": {
			"name": "camel.source.endpoint.prefix",
			"description": "Filters the results to return only blobs whose names begin with the specified prefix. May be null to return all blobs.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.regex": {
			"name": "camel.source.endpoint.regex",
			"description": "Filters the results to return only blobs whose names match the specified regular expression. May be null to return all if both prefix and regex are set, regex takes the priority and prefix is ignored.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.serviceClient": {
			"name": "camel.source.endpoint.serviceClient",
			"description": "Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to construct URLs to blobs and containers. This client contains operations on a service account. Operations on a container are available on BlobContainerClient through BlobServiceClient#getBlobContainerClient(String), and operations on a blob are available on BlobClient through BlobContainerClient#getBlobClient(String).",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.timeout": {
			"name": "camel.source.endpoint.timeout",
			"description": "An optional timeout value beyond which a RuntimeException will be raised.",
			"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.accessKey": {
			"name": "camel.source.endpoint.accessKey",
			"description": "Access key for the associated azure account name to be used for authentication with azure blob services",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.azure-storage-blob.autoDiscoverClient": {
			"name": "camel.component.azure-storage-blob.autoDiscoverClient",
			"description": "Setting the autoDiscoverClient mechanism, if true, the component will look for a client instance in the registry automatically otherwise it will skip that checking.",
			"defaultValue": "true",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.azure-storage-blob.blobName": {
			"name": "camel.component.azure-storage-blob.blobName",
			"description": "The blob name, to consume specific blob from a container. However on producer, is only required for the operations on the blob level",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.azure-storage-blob.blobOffset": {
			"name": "camel.component.azure-storage-blob.blobOffset",
			"description": "Set the blob offset for the upload or download operations, default is 0",
			"defaultValue": "0L",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.azure-storage-blob.blobType": {
			"name": "camel.component.azure-storage-blob.blobType",
			"description": "The blob type in order to initiate the appropriate settings for each blob type One of: [blockblob] [appendblob] [pageblob]",
			"defaultValue": "\"blockblob\"",
			"priority": "MEDIUM",
			"required": "false",
			"enum": [
				"blockblob",
				"appendblob",
				"pageblob"
			]
		},
		"camel.component.azure-storage-blob.closeStreamAfterRead": {
			"name": "camel.component.azure-storage-blob.closeStreamAfterRead",
			"description": "Close the stream after read or keep it open, default is true",
			"defaultValue": "true",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.azure-storage-blob.configuration": {
			"name": "camel.component.azure-storage-blob.configuration",
			"description": "The component configurations",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.azure-storage-blob.credentials": {
			"name": "camel.component.azure-storage-blob.credentials",
			"description": "StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.azure-storage-blob.dataCount": {
			"name": "camel.component.azure-storage-blob.dataCount",
			"description": "How many bytes to include in the range. Must be greater than or equal to 0 if specified.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.azure-storage-blob.fileDir": {
			"name": "camel.component.azure-storage-blob.fileDir",
			"description": "The file directory where the downloaded blobs will be saved to, this can be used in both, producer and consumer",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.azure-storage-blob.maxResultsPerPage": {
			"name": "camel.component.azure-storage-blob.maxResultsPerPage",
			"description": "Specifies the maximum number of blobs to return, including all BlobPrefix elements. If the request does not specify maxResultsPerPage or specifies a value greater than 5,000, the server will return up to 5,000 items.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.azure-storage-blob.maxRetryRequests": {
			"name": "camel.component.azure-storage-blob.maxRetryRequests",
			"description": "Specifies the maximum number of additional HTTP Get requests that will be made while reading the data from a response body.",
			"defaultValue": "0",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.azure-storage-blob.prefix": {
			"name": "camel.component.azure-storage-blob.prefix",
			"description": "Filters the results to return only blobs whose names begin with the specified prefix. May be null to return all blobs.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.azure-storage-blob.regex": {
			"name": "camel.component.azure-storage-blob.regex",
			"description": "Filters the results to return only blobs whose names match the specified regular expression. May be null to return all if both prefix and regex are set, regex takes the priority and prefix is ignored.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.azure-storage-blob.serviceClient": {
			"name": "camel.component.azure-storage-blob.serviceClient",
			"description": "Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to construct URLs to blobs and containers. This client contains operations on a service account. Operations on a container are available on BlobContainerClient through BlobServiceClient#getBlobContainerClient(String), and operations on a blob are available on BlobClient through BlobContainerClient#getBlobClient(String).",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.azure-storage-blob.timeout": {
			"name": "camel.component.azure-storage-blob.timeout",
			"description": "An optional timeout value beyond which a RuntimeException will be raised.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.azure-storage-blob.bridgeErrorHandler": {
			"name": "camel.component.azure-storage-blob.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.azure-storage-blob.autowiredEnabled": {
			"name": "camel.component.azure-storage-blob.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.azure-storage-blob.accessKey": {
			"name": "camel.component.azure-storage-blob.accessKey",
			"description": "Access key for the associated azure account name to be used for authentication with azure blob services",
			"priority": "MEDIUM",
			"required": "false"
		}
	}
}