{
  "groups": [
    {
      "name": "camel.component.azure-eventhubs",
      "type": "org.apache.camel.component.azure.eventhubs.springboot.EventHubsComponentConfiguration",
      "sourceType": "org.apache.camel.component.azure.eventhubs.springboot.EventHubsComponentConfiguration"
    },
    {
      "name": "camel.component.azure-eventhubs.customizer",
      "type": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties",
      "sourceType": "org.apache.camel.component.azure.eventhubs.springboot.EventHubsComponentConfiguration",
      "sourceMethod": "getCustomizer()"
    }
  ],
  "properties": [
    {
      "name": "camel.component.azure-eventhubs.amqp-retry-options",
      "type": "com.azure.core.amqp.AmqpRetryOptions",
      "description": "Sets the retry policy for EventHubAsyncClient. If not specified, the default retry options are used. The option is a com.azure.core.amqp.AmqpRetryOptions type.",
      "sourceType": "org.apache.camel.component.azure.eventhubs.springboot.EventHubsComponentConfiguration"
    },
    {
      "name": "camel.component.azure-eventhubs.amqp-transport-type",
      "type": "com.azure.core.amqp.AmqpTransportType",
      "description": "Sets the transport type by which all the communication with Azure Event Hubs occurs. Default value is AmqpTransportType#AMQP.",
      "sourceType": "org.apache.camel.component.azure.eventhubs.springboot.EventHubsComponentConfiguration"
    },
    {
      "name": "camel.component.azure-eventhubs.autowired-enabled",
      "type": "java.lang.Boolean",
      "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.",
      "sourceType": "org.apache.camel.component.azure.eventhubs.springboot.EventHubsComponentConfiguration",
      "defaultValue": true
    },
    {
      "name": "camel.component.azure-eventhubs.blob-access-key",
      "type": "java.lang.String",
      "description": "In case you chose the default BlobCheckpointStore, this sets access key for the associated azure account name to be used for authentication with azure blob services",
      "sourceType": "org.apache.camel.component.azure.eventhubs.springboot.EventHubsComponentConfiguration"
    },
    {
      "name": "camel.component.azure-eventhubs.blob-account-name",
      "type": "java.lang.String",
      "description": "In case you chose the default BlobCheckpointStore, this sets Azure account name to be used for authentication with azure blob services.",
      "sourceType": "org.apache.camel.component.azure.eventhubs.springboot.EventHubsComponentConfiguration"
    },
    {
      "name": "camel.component.azure-eventhubs.blob-container-name",
      "type": "java.lang.String",
      "description": "In case you chose the default BlobCheckpointStore, this sets the blob container that shall be used by the BlobCheckpointStore to store the checkpoint offsets",
      "sourceType": "org.apache.camel.component.azure.eventhubs.springboot.EventHubsComponentConfiguration"
    },
    {
      "name": "camel.component.azure-eventhubs.blob-storage-shared-key-credential",
      "type": "com.azure.storage.common.StorageSharedKeyCredential",
      "description": "In case you chose the default BlobCheckpointStore, StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information. The option is a com.azure.storage.common.StorageSharedKeyCredential type.",
      "sourceType": "org.apache.camel.component.azure.eventhubs.springboot.EventHubsComponentConfiguration"
    },
    {
      "name": "camel.component.azure-eventhubs.bridge-error-handler",
      "type": "java.lang.Boolean",
      "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.",
      "sourceType": "org.apache.camel.component.azure.eventhubs.springboot.EventHubsComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.azure-eventhubs.checkpoint-store",
      "type": "com.azure.messaging.eventhubs.CheckpointStore",
      "description": "Sets the CheckpointStore the EventProcessorClient will use for storing partition ownership and checkpoint information. Users can, optionally, provide their own implementation of CheckpointStore which will store ownership and checkpoint information. By default it set to use com.azure.messaging.eventhubs.checkpointstore.blob.BlobCheckpointStore which stores all checkpoint offsets into Azure Blob Storage. The option is a com.azure.messaging.eventhubs.CheckpointStore type.",
      "sourceType": "org.apache.camel.component.azure.eventhubs.springboot.EventHubsComponentConfiguration"
    },
    {
      "name": "camel.component.azure-eventhubs.configuration",
      "type": "org.apache.camel.component.azure.eventhubs.EventHubsConfiguration",
      "description": "The component configurations. The option is a org.apache.camel.component.azure.eventhubs.EventHubsConfiguration type.",
      "sourceType": "org.apache.camel.component.azure.eventhubs.springboot.EventHubsComponentConfiguration"
    },
    {
      "name": "camel.component.azure-eventhubs.connection-string",
      "type": "java.lang.String",
      "description": "Instead of supplying namespace, sharedAccessKey, sharedAccessName ... etc, you can just supply the connection string for your eventHub. The connection string for EventHubs already include all the necessary information to connection to your EventHub. To learn on how to generate the connection string, take a look at this documentation: https:\/\/docs.microsoft.com\/en-us\/azure\/event-hubs\/event-hubs-get-connection-string",
      "sourceType": "org.apache.camel.component.azure.eventhubs.springboot.EventHubsComponentConfiguration"
    },
    {
      "name": "camel.component.azure-eventhubs.consumer-group-name",
      "type": "java.lang.String",
      "description": "Sets the name of the consumer group this consumer is associated with. Events are read in the context of this group. The name of the consumer group that is created by default is {link #DEFAULT_CONSUMER_GROUP_NAME $Default}.",
      "sourceType": "org.apache.camel.component.azure.eventhubs.springboot.EventHubsComponentConfiguration",
      "defaultValue": "$Default"
    },
    {
      "name": "camel.component.azure-eventhubs.customizer.enabled",
      "type": "java.lang.Boolean",
      "sourceType": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties"
    },
    {
      "name": "camel.component.azure-eventhubs.enabled",
      "type": "java.lang.Boolean",
      "description": "Whether to enable auto configuration of the azure-eventhubs component. This is enabled by default.",
      "sourceType": "org.apache.camel.component.azure.eventhubs.springboot.EventHubsComponentConfiguration"
    },
    {
      "name": "camel.component.azure-eventhubs.event-position",
      "type": "java.util.Map<java.lang.String,com.azure.messaging.eventhubs.models.EventPosition>",
      "description": "Sets the map containing the event position to use for each partition if a checkpoint for the partition does not exist in CheckpointStore. This map is keyed off of the partition id. If there is no checkpoint in CheckpointStore and there is no entry in this map, the processing of the partition will start from {link EventPosition#latest() latest} position.",
      "sourceType": "org.apache.camel.component.azure.eventhubs.springboot.EventHubsComponentConfiguration"
    },
    {
      "name": "camel.component.azure-eventhubs.lazy-start-producer",
      "type": "java.lang.Boolean",
      "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",
      "sourceType": "org.apache.camel.component.azure.eventhubs.springboot.EventHubsComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.azure-eventhubs.partition-id",
      "type": "java.lang.String",
      "description": "Sets the identifier of the Event Hub partition that the events will be sent to. If the identifier is not specified, the Event Hubs service will be responsible for routing events that are sent to an available partition.",
      "sourceType": "org.apache.camel.component.azure.eventhubs.springboot.EventHubsComponentConfiguration"
    },
    {
      "name": "camel.component.azure-eventhubs.partition-key",
      "type": "java.lang.String",
      "description": "Sets a hashing key to be provided for the batch of events, which instructs the Event Hubs service to map this key to a specific partition. The selection of a partition is stable for a given partition hashing key. Should any other batches of events be sent using the same exact partition hashing key, the Event Hubs service will route them all to the same partition. This should be specified only when there is a need to group events by partition, but there is flexibility into which partition they are routed. If ensuring that a batch of events is sent only to a specific partition, it is recommended that the {link #setPartitionId(String) identifier of the position be specified directly} when sending the batch.",
      "sourceType": "org.apache.camel.component.azure.eventhubs.springboot.EventHubsComponentConfiguration"
    },
    {
      "name": "camel.component.azure-eventhubs.prefetch-count",
      "type": "java.lang.Integer",
      "description": "Sets the count used by the receiver to control the number of events the Event Hub consumer will actively receive and queue locally without regard to whether a receive operation is currently active.",
      "sourceType": "org.apache.camel.component.azure.eventhubs.springboot.EventHubsComponentConfiguration",
      "defaultValue": 500
    },
    {
      "name": "camel.component.azure-eventhubs.producer-async-client",
      "type": "com.azure.messaging.eventhubs.EventHubProducerAsyncClient",
      "description": "Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the options specified when creating an {linkEventDataBatch}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer. The option is a com.azure.messaging.eventhubs.EventHubProducerAsyncClient type.",
      "sourceType": "org.apache.camel.component.azure.eventhubs.springboot.EventHubsComponentConfiguration"
    },
    {
      "name": "camel.component.azure-eventhubs.shared-access-key",
      "type": "java.lang.String",
      "description": "The generated value for the SharedAccessName",
      "sourceType": "org.apache.camel.component.azure.eventhubs.springboot.EventHubsComponentConfiguration"
    },
    {
      "name": "camel.component.azure-eventhubs.shared-access-name",
      "type": "java.lang.String",
      "description": "The name you chose for your EventHubs SAS keys",
      "sourceType": "org.apache.camel.component.azure.eventhubs.springboot.EventHubsComponentConfiguration"
    }
  ],
  "hints": []
}