diff --git a/plugins/kafka/README.md b/plugins/kafka/README.md new file mode 100644 index 000000000..b3cc47e6d --- /dev/null +++ b/plugins/kafka/README.md @@ -0,0 +1,39 @@ +# Kafka ZSH completion +This projects aims at developing Kafka completion scripts. The scripts may be contributed to another project when stable enough. + +## Usage + +To start using the Kafka autocompletion just download the repository locally and `source kafka.zsh` + +## Supported completion + +- kafka-topics +- kafka-acls +- kafka-configs +- kafka-console-producer +- kafka-console-consumer +- kafka-consumer-perf-test +- kafka-producer-perf-test +- kafka-avro-console-consumer +- kafka-avro-console-producer +- kafka-broker-api-versions +- kafka-consumer-groups +- kafka-delegation-tokens +- kafka-dump-log +- kafka-log-dirs +- kafka-verifiable-consumer +- kafka-verifiable-producer +- kafka-streams-application-reset +- kafka-mirror-maker +- kafka-delete-records +- replicator + +## Notes + +- The source of information used for the completion is gathered from the usage of the CLI tool. +- This script relies on Apache Kafka Confluent distribution (either Open Source or Enterprise) +- To avoid reloading and parsing all the information and each shell, a first script `generate.zsh` is actually gathering all the information on the local machine and generating the `kafka.zsh` auto-completion file with hardcoded information. + +## Examples + +[![asciicast](https://asciinema.org/a/TenI5dsznpLp8XM4HTsjiJYGA.png)](https://asciinema.org/a/TenI5dsznpLp8XM4HTsjiJYGA) diff --git a/plugins/kafka/generate.zsh b/plugins/kafka/generate.zsh new file mode 100755 index 000000000..3ce9f1759 --- /dev/null +++ b/plugins/kafka/generate.zsh @@ -0,0 +1,95 @@ +#!/bin/zsh + +OUT=kafka.zsh +COMMANDS=("kafka-acls" "kafka-avro-console-consumer" "kafka-avro-console-producer" +"kafka-broker-api-versions" "kafka-configs" "kafka-console-consumer" +"kafka-console-producer" "kafka-consumer-groups" "kafka-consumer-perf-test" +"kafka-delegation-tokens" "kafka-topics" "kafka-producer-perf-test" +"kafka-dump-log" "kafka-log-dirs" "kafka-verifiable-consumer" +"kafka-verifiable-producer" "kafka-streams-application-reset" +"kafka-mirror-maker" "kafka-delete-records" "replicator" +) + +function kafka_retrieve_help_command() { + cmd=$1 + option="" + desc="" + help_output=`$cmd 2>&1` + arg_name="$(echo $cmd | tr - _)_args" + start_desc_column=`echo $help_output | grep Description | head -n 1` + + # If a "Description" column is present + # look for the offset to truncate the + # description of the options. + # + # This as some tools usage use a table with 2 + # column with the format + # Option Description + # --blbla this is + # useful! + if [[ ! -z $start_desc_column ]]; then + searchstring="Description" + rest=${start_desc_column##*$searchstring} + start_desc_column=$(( ${#start_desc_column} - ${#rest} - ${#searchstring} )) + else + start_desc_column=1 + fi + + echo "declare -a $arg_name" >> $OUT + echo "$arg_name=()" >> $OUT + + # Iterate over each line to check for options + # after check the iteration, truncate over the + # offset and iterate word by word to build the + # description + IFS=$'\n' + for line in `echo $help_output`; do + if [[ $line =~ "^[ \t]*--[a-z][a-z\-\.]+" ]]; then + if [ ! -z $option ]; then + echo "$arg_name+=('$option:${desc//\'/''}')" >> $OUT + fi + + option=`echo $line | sed -E 's/^\s*(--[a-z\.\\\-]+).*$/\1/'` + desc="" + fi + IFS=" " + for word in `echo $line | cut -c $start_desc_column-`; do + desc="$desc $word" + done + IFS=$'\n' + done + + unset IFS + + if [ ! -z $option ]; then + echo "$arg_name+=('$option:${desc//\'/''}')" >> $OUT + fi +} + +function kafka-command() { + cmd=$1 + echo "compdef \"_kafka-command $cmd\" $cmd" >> $OUT +} + +cat << EOF > $OUT +#!/bin/sh +# +# DISCLAIMER: THIS FILE HAS BEEN AUTOMATICALLY GENERATED +# PLEASE DO NOT TOUCH!!! +# IF YOU NEED TO DO ANY MODIFICATION, EDIT GENERATE.ZSH +# FOR MORE INFORMATION https://github.com/Dabz/kafka-zsh-completions +# + +function _kafka-command() { + cmd=\$1 + arg_name="\$(echo \$cmd | tr - _)_args" + typeset -a options + eval _describe 'values' options -- \$arg_name +} + +EOF + +for cmd in ${COMMANDS[@]}; do + kafka_retrieve_help_command $cmd + kafka-command $cmd +done diff --git a/plugins/kafka/kafka.plugin.zsh b/plugins/kafka/kafka.plugin.zsh new file mode 100644 index 000000000..d3004bead --- /dev/null +++ b/plugins/kafka/kafka.plugin.zsh @@ -0,0 +1,357 @@ +#!/bin/sh +# +# DISCLAIMER: THIS FILE HAS BEEN AUTOMATICALLY GENERATED +# PLEASE DO NOT TOUCH!!! +# IF YOU NEED TO DO ANY MODIFICATION, EDIT GENERATE.ZSH +# FOR MORE INFORMATION https://github.com/Dabz/kafka-zsh-completions +# + +function _kafka-command() { + cmd=$1 + arg_name="$(echo $cmd | tr - _)_args" + typeset -a options + eval _describe 'values' options -- $arg_name +} + +declare -a kafka_acls_args +kafka_acls_args=() +kafka_acls_args+=('--add: Indicates you are trying to add ACLs.') +kafka_acls_args+=('--allow-host: Host from which principals listed in -- allow-principal will have access. If you have specified --allow-principal then the default for this option will be set to * which allows access from all hosts.') +kafka_acls_args+=('--allow-principal: principal is in principalType:name format. Note that principalType must be supported by the Authorizer being used. For example, User:* is the wild card indicating all users.') +kafka_acls_args+=('--authorizer: Fully qualified class name of the authorizer, defaults to kafka. security.auth.SimpleAclAuthorizer. (default: kafka.security.auth. SimpleAclAuthorizer)') +kafka_acls_args+=('--authorizer-properties: REQUIRED: properties required to configure an instance of Authorizer. These are key=val pairs. For the default authorizer the example values are: zookeeper. connect=localhost:2181') +kafka_acls_args+=('--cluster: Add/Remove cluster ACLs.') +kafka_acls_args+=('--consumer: Convenience option to add/remove ACLs for consumer role. This will generate ACLs that allows READ, DESCRIBE on topic and READ on group.') +kafka_acls_args+=('--delegation-token: Delegation token to which ACLs should be added or removed. A value of * indicates ACL should apply to all tokens.') +kafka_acls_args+=('--deny-host: Host from which principals listed in -- deny-principal will be denied access. If you have specified --deny- principal then the default for this option will be set to * which denies access from all hosts.') +kafka_acls_args+=('--deny-principal: principal is in principalType:name format. By default anyone not added through --allow-principal is denied access. You only need to use this option as negation to already allowed set. Note that principalType must be supported by the Authorizer being used. For example if you wanted to allow access to all users in the system but not test-user you can define an ACL that allows access to User:* and specify --deny- principal=User:test@EXAMPLE.COM. AND PLEASE REMEMBER DENY RULES TAKES PRECEDENCE OVER ALLOW RULES.') +kafka_acls_args+=('--force: Assume Yes to all queries and do not prompt.') +kafka_acls_args+=('--group: Consumer Group to which the ACLs should be added or removed. A value of * indicates the ACLs should apply to all groups.') +kafka_acls_args+=('--help: Print usage information.') +kafka_acls_args+=('--idempotent: Enable idempotence for the producer. This should be used in combination with the --producer option. Note that idempotence is enabled automatically if the producer is authorized to a particular transactional-id.') +kafka_acls_args+=('--list: List ACLs for the specified resource, use --topic or --group or --cluster to specify a resource.') +kafka_acls_args+=('--operation: Operation that is being allowed or denied. Valid operation names are: Read Write Create Delete Alter Describe ClusterAction AlterConfigs DescribeConfigs IdempotentWrite All (default: All)') +kafka_acls_args+=('--producer: Convenience option to add/remove ACLs for producer role. This will generate ACLs that allows WRITE, DESCRIBE and CREATE on topic.') +kafka_acls_args+=('--remove: Indicates you are trying to remove ACLs.') +kafka_acls_args+=('--resource-pattern-type: The type of the resource pattern or pattern filter. When adding acls, this should be a specific pattern type, e.g. ''literal'' or ''prefixed''. When listing or removing acls, a specific pattern type can be used to list or remove acls from specific resource patterns, or use the filter values of ''any'' or ''match'', where ''any'' will match any pattern type, but will match the resource name exactly, where as ''match'' will perform pattern matching to list or remove all acls that affect the supplied resource(s). WARNING: ''match'', when used in combination with the ''--remove'' switch, should be used with care. (default: LITERAL)') +kafka_acls_args+=('--topic: topic to which ACLs should be added or removed. A value of * indicates ACL should apply to all topics.') +kafka_acls_args+=('--transactional-id: The transactionalId to which ACLs should be added or removed. A value of * indicates the ACLs should apply to all transactionalIds.') +compdef "_kafka-command kafka-acls" kafka-acls +declare -a kafka_avro_console_consumer_args +kafka_avro_console_consumer_args=() +kafka_avro_console_consumer_args+=('--bootstrap-server: REQUIRED: The server(s) to connect to.') +kafka_avro_console_consumer_args+=('--consumer-property: A mechanism to pass user-defined properties in the form key=value to the consumer.') +kafka_avro_console_consumer_args+=('--consumer.config: Consumer config properties file. Note that [consumer-property] takes precedence over this config.') +kafka_avro_console_consumer_args+=('--enable-systest-events: Log lifecycle events of the consumer in addition to logging consumed messages. (This is specific for system tests.)') +kafka_avro_console_consumer_args+=('--formatter: The name of a class to use for formatting kafka messages for display. (default: kafka.tools. DefaultMessageFormatter)') +kafka_avro_console_consumer_args+=('--from-beginning: If the consumer does not already have an established offset to consume from, start with the earliest message present in the log rather than the latest message.') +kafka_avro_console_consumer_args+=('--group: The consumer group id of the consumer.') +kafka_avro_console_consumer_args+=('--isolation-level: Set to read_committed in order to filter out transactional messages which are not committed. Set to read_uncommittedto read all messages. (default: read_uncommitted)') +kafka_avro_console_consumer_args+=('--key-deserializer:') +kafka_avro_console_consumer_args+=('--max-messages: The maximum number of messages to consume before exiting. If not set, consumption is continual.') +kafka_avro_console_consumer_args+=('--offset: The offset id to consume from (a non- negative number), or ''earliest'' which means from beginning, or ''latest'' which means from end (default: latest)') +kafka_avro_console_consumer_args+=('--partition: The partition to consume from. Consumption starts from the end of the partition unless ''--offset'' is specified.') +kafka_avro_console_consumer_args+=('--property: The properties to initialize the message formatter. Default properties include: print.timestamp=true|false print.key=true|false print.value=true|false key.separator= line.separator= key.deserializer= value.deserializer= Users can also pass in customized properties for their formatter; more specifically, users can pass in properties keyed with ''key. deserializer.'' and ''value. deserializer.'' prefixes to configure their deserializers.') +kafka_avro_console_consumer_args+=('--skip-message-on-error: If there is an error when processing a message, skip it instead of halt.') +kafka_avro_console_consumer_args+=('--timeout-ms: If specified, exit if no message is available for consumption for the specified interval.') +kafka_avro_console_consumer_args+=('--topic: The topic id to consume on.') +kafka_avro_console_consumer_args+=('--value-deserializer:') +kafka_avro_console_consumer_args+=('--whitelist: Whitelist of topics to include for consumption.') +compdef "_kafka-command kafka-avro-console-consumer" kafka-avro-console-consumer +declare -a kafka_avro_console_producer_args +kafka_avro_console_producer_args=() +kafka_avro_console_producer_args+=('--batch-size: Number of messages to send in a single batch if they are not being sent synchronously. (default: 200)') +kafka_avro_console_producer_args+=('--broker-list: REQUIRED: The broker list string in the form HOST1:PORT1,HOST2:PORT2.') +kafka_avro_console_producer_args+=('--compression-codec: The compression codec: either ''none'', ''gzip'', ''snappy'', or ''lz4''.If specified without value, then it defaults to ''gzip''') +kafka_avro_console_producer_args+=('--line-reader: The class name of the class to use for reading lines from standard in. By default each line is read as a separate message. (default: kafka. tools. ConsoleProducer$LineMessageReader)') +kafka_avro_console_producer_args+=('--max-block-ms: The max time that the producer will block for during a send request (default: 60000)') +kafka_avro_console_producer_args+=('--max-memory-bytes: The total memory used by the producer to buffer records waiting to be sent to the server. (default: 33554432)') +kafka_avro_console_producer_args+=('--max-partition-memory-bytes: The buffer size allocated for a partition. When records are received which are smaller than this size the producer will attempt to optimistically group them together until this size is reached. (default: 16384)') +kafka_avro_console_producer_args+=('--message-send-max-retries: Brokers can fail receiving the message for multiple reasons, and being unavailable transiently is just one of them. This property specifies the number of retires before the producer give up and drop this message. (default: 3)') +kafka_avro_console_producer_args+=('--metadata-expiry-ms: The period of time in milliseconds after which we force a refresh of metadata even if we haven''t seen any leadership changes. (default: 300000)') +kafka_avro_console_producer_args+=('--producer-property: A mechanism to pass user-defined properties in the form key=value to the producer.') +kafka_avro_console_producer_args+=('--producer.config: Producer config properties file. Note that [producer-property] takes precedence over this config.') +kafka_avro_console_producer_args+=('--property: A mechanism to pass user-defined properties in the form key=value to the message reader. This allows custom configuration for a user- defined message reader.') +kafka_avro_console_producer_args+=('--request-required-acks: The required acks of the producer requests (default: 1)') +kafka_avro_console_producer_args+=('--request-timeout-ms: The ack timeout of the producer requests. Value must be non-negative and non-zero (default: 1500)') +kafka_avro_console_producer_args+=('--retry-backoff-ms: Before each retry, the producer refreshes the metadata of relevant topics. Since leader election takes a bit of time, this property specifies the amount of time that the producer waits before refreshing the metadata. (default: 100)') +kafka_avro_console_producer_args+=('--socket-buffer-size: The size of the tcp RECV size. (default: 102400)') +kafka_avro_console_producer_args+=('--sync: If set message send requests to the brokers are synchronously, one at a time as they arrive.') +kafka_avro_console_producer_args+=('--timeout: If set and the producer is running in asynchronous mode, this gives the maximum amount of time a message will queue awaiting sufficient batch size. The value is given in ms. (default: 1000)') +kafka_avro_console_producer_args+=('--topic: REQUIRED: The topic id to produce messages to.') +compdef "_kafka-command kafka-avro-console-producer" kafka-avro-console-producer +declare -a kafka_broker_api_versions_args +kafka_broker_api_versions_args=() +kafka_broker_api_versions_args+=('--bootstrap-server: REQUIRED: The server to connect to.') +kafka_broker_api_versions_args+=('--command-config: A property file containing configs to be passed to Admin Client.') +compdef "_kafka-command kafka-broker-api-versions" kafka-broker-api-versions +declare -a kafka_configs_args +kafka_configs_args=() +kafka_configs_args+=('--add-config: Key Value pairs of configs to add. Square brackets can be used to group values which contain commas: ''k1=v1, k2=[v1,v2,v2],k3=v3''. The following is a list of valid configurations: For entity-type ''topics'': cleanup.policy compression.type delete.retention.ms file.delete.delay.ms flush.messages flush.ms follower.replication.throttled. replicas index.interval.bytes leader.replication.throttled.replicas max.message.bytes message.downconversion.enable message.format.version message.timestamp.difference.max.ms message.timestamp.type min.cleanable.dirty.ratio min.compaction.lag.ms min.insync.replicas preallocate retention.bytes retention.ms segment.bytes segment.index.bytes segment.jitter.ms segment.ms unclean.leader.election.enable For entity-type ''brokers'': log.message.timestamp.type ssl.client.auth log.retention.ms sasl.login.refresh.window.jitter sasl.kerberos.ticket.renew.window. factor log.preallocate log.index.size.max.bytes sasl.login.refresh.window.factor ssl.truststore.type ssl.keymanager.algorithm log.cleaner.io.buffer.load.factor sasl.login.refresh.min.period.seconds ssl.key.password background.threads log.retention.bytes ssl.trustmanager.algorithm log.segment.bytes log.cleaner.delete.retention.ms log.segment.delete.delay.ms min.insync.replicas ssl.keystore.location ssl.cipher.suites log.roll.jitter.ms log.cleaner.backoff.ms sasl.jaas.config principal.builder.class log.flush.interval.ms log.cleaner.dedupe.buffer.size log.flush.interval.messages advertised.listeners num.io.threads listener.security.protocol.map log.message.downconversion.enable sasl.enabled.mechanisms sasl.login.refresh.buffer.seconds ssl.truststore.password listeners metric.reporters ssl.protocol sasl.kerberos.ticket.renew.jitter ssl.keystore.password sasl.mechanism.inter.broker.protocol log.cleanup.policy sasl.kerberos.principal.to.local.rules sasl.kerberos.min.time.before.relogin num.recovery.threads.per.data.dir log.cleaner.io.max.bytes.per.second log.roll.ms ssl.endpoint.identification.algorithm unclean.leader.election.enable message.max.bytes log.cleaner.threads log.cleaner.io.buffer.size sasl.kerberos.service.name ssl.provider follower.replication.throttled.rate log.index.interval.bytes log.cleaner.min.compaction.lag.ms log.message.timestamp.difference.max. ms ssl.enabled.protocols log.cleaner.min.cleanable.ratio replica.alter.log.dirs.io.max.bytes. per.second ssl.keystore.type ssl.secure.random.implementation ssl.truststore.location sasl.kerberos.kinit.cmd leader.replication.throttled.rate num.network.threads compression.type num.replica.fetchers For entity-type ''users'': request_percentage producer_byte_rate SCRAM-SHA-256 SCRAM-SHA-512 consumer_byte_rate For entity-type ''clients'': request_percentage producer_byte_rate consumer_byte_rate Entity types ''users'' and ''clients'' may be specified together to update config for clients of a specific user.') +kafka_configs_args+=('--alter: Alter the configuration for the entity.') +kafka_configs_args+=('--bootstrap-server: The Kafka server to connect to. This is required for describing and altering broker configs.') +kafka_configs_args+=('--command-config: Property file containing configs to be passed to Admin Client. This is used only with --bootstrap-server option for describing and altering broker configs.') +kafka_configs_args+=('--delete-config: config keys to remove ''k1,k2''') +kafka_configs_args+=('--describe: List configs for the given entity.') +kafka_configs_args+=('--entity-default: Default entity name for clients/users/brokers (applies to corresponding entity type in command line)') +kafka_configs_args+=('--entity-name: Name of entity (topic name/client id/user principal name/broker id)') +kafka_configs_args+=('--entity-type: Type of entity (topics/clients/users/brokers)') +kafka_configs_args+=('--force: Suppress console prompts') +kafka_configs_args+=('--help: Print usage information.') +kafka_configs_args+=('--zookeeper: REQUIRED: The connection string for the zookeeper connection in the form host:port. Multiple URLS can be given to allow fail-over.') +compdef "_kafka-command kafka-configs" kafka-configs +declare -a kafka_console_consumer_args +kafka_console_consumer_args=() +kafka_console_consumer_args+=('--bootstrap-server: REQUIRED: The server(s) to connect to.') +kafka_console_consumer_args+=('--consumer-property: A mechanism to pass user-defined properties in the form key=value to the consumer.') +kafka_console_consumer_args+=('--consumer.config: Consumer config properties file. Note that [consumer-property] takes precedence over this config.') +kafka_console_consumer_args+=('--enable-systest-events: Log lifecycle events of the consumer in addition to logging consumed messages. (This is specific for system tests.)') +kafka_console_consumer_args+=('--formatter: The name of a class to use for formatting kafka messages for display. (default: kafka.tools. DefaultMessageFormatter)') +kafka_console_consumer_args+=('--from-beginning: If the consumer does not already have an established offset to consume from, start with the earliest message present in the log rather than the latest message.') +kafka_console_consumer_args+=('--group: The consumer group id of the consumer.') +kafka_console_consumer_args+=('--isolation-level: Set to read_committed in order to filter out transactional messages which are not committed. Set to read_uncommittedto read all messages. (default: read_uncommitted)') +kafka_console_consumer_args+=('--key-deserializer:') +kafka_console_consumer_args+=('--max-messages: The maximum number of messages to consume before exiting. If not set, consumption is continual.') +kafka_console_consumer_args+=('--offset: The offset id to consume from (a non- negative number), or ''earliest'' which means from beginning, or ''latest'' which means from end (default: latest)') +kafka_console_consumer_args+=('--partition: The partition to consume from. Consumption starts from the end of the partition unless ''--offset'' is specified.') +kafka_console_consumer_args+=('--property: The properties to initialize the message formatter. Default properties include: print.timestamp=true|false print.key=true|false print.value=true|false key.separator= line.separator= key.deserializer= value.deserializer= Users can also pass in customized properties for their formatter; more specifically, users can pass in properties keyed with ''key. deserializer.'' and ''value. deserializer.'' prefixes to configure their deserializers.') +kafka_console_consumer_args+=('--skip-message-on-error: If there is an error when processing a message, skip it instead of halt.') +kafka_console_consumer_args+=('--timeout-ms: If specified, exit if no message is available for consumption for the specified interval.') +kafka_console_consumer_args+=('--topic: The topic id to consume on.') +kafka_console_consumer_args+=('--value-deserializer:') +kafka_console_consumer_args+=('--whitelist: Whitelist of topics to include for consumption.') +compdef "_kafka-command kafka-console-consumer" kafka-console-consumer +declare -a kafka_console_producer_args +kafka_console_producer_args=() +kafka_console_producer_args+=('--batch-size: Number of messages to send in a single batch if they are not being sent synchronously. (default: 200)') +kafka_console_producer_args+=('--broker-list: REQUIRED: The broker list string in the form HOST1:PORT1,HOST2:PORT2.') +kafka_console_producer_args+=('--compression-codec: The compression codec: either ''none'', ''gzip'', ''snappy'', or ''lz4''.If specified without value, then it defaults to ''gzip''') +kafka_console_producer_args+=('--line-reader: The class name of the class to use for reading lines from standard in. By default each line is read as a separate message. (default: kafka. tools. ConsoleProducer$LineMessageReader)') +kafka_console_producer_args+=('--max-block-ms: The max time that the producer will block for during a send request (default: 60000)') +kafka_console_producer_args+=('--max-memory-bytes: The total memory used by the producer to buffer records waiting to be sent to the server. (default: 33554432)') +kafka_console_producer_args+=('--max-partition-memory-bytes: The buffer size allocated for a partition. When records are received which are smaller than this size the producer will attempt to optimistically group them together until this size is reached. (default: 16384)') +kafka_console_producer_args+=('--message-send-max-retries: Brokers can fail receiving the message for multiple reasons, and being unavailable transiently is just one of them. This property specifies the number of retires before the producer give up and drop this message. (default: 3)') +kafka_console_producer_args+=('--metadata-expiry-ms: The period of time in milliseconds after which we force a refresh of metadata even if we haven''t seen any leadership changes. (default: 300000)') +kafka_console_producer_args+=('--producer-property: A mechanism to pass user-defined properties in the form key=value to the producer.') +kafka_console_producer_args+=('--producer.config: Producer config properties file. Note that [producer-property] takes precedence over this config.') +kafka_console_producer_args+=('--property: A mechanism to pass user-defined properties in the form key=value to the message reader. This allows custom configuration for a user- defined message reader.') +kafka_console_producer_args+=('--request-required-acks: The required acks of the producer requests (default: 1)') +kafka_console_producer_args+=('--request-timeout-ms: The ack timeout of the producer requests. Value must be non-negative and non-zero (default: 1500)') +kafka_console_producer_args+=('--retry-backoff-ms: Before each retry, the producer refreshes the metadata of relevant topics. Since leader election takes a bit of time, this property specifies the amount of time that the producer waits before refreshing the metadata. (default: 100)') +kafka_console_producer_args+=('--socket-buffer-size: The size of the tcp RECV size. (default: 102400)') +kafka_console_producer_args+=('--sync: If set message send requests to the brokers are synchronously, one at a time as they arrive.') +kafka_console_producer_args+=('--timeout: If set and the producer is running in asynchronous mode, this gives the maximum amount of time a message will queue awaiting sufficient batch size. The value is given in ms. (default: 1000)') +kafka_console_producer_args+=('--topic: REQUIRED: The topic id to produce messages to.') +compdef "_kafka-command kafka-console-producer" kafka-console-producer +declare -a kafka_consumer_groups_args +kafka_consumer_groups_args=() +kafka_consumer_groups_args+=('--all-topics: Consider all topics assigned to a group in the `reset-offsets` process.') +kafka_consumer_groups_args+=('--bootstrap-server: REQUIRED: The server(s) to connect to.') +kafka_consumer_groups_args+=('--by-duration: Reset offsets to offset by duration from current timestamp. Format: ''PnDTnHnMnS''') +kafka_consumer_groups_args+=('--command-config: Property file containing configs to be passed to Admin Client and Consumer.') +kafka_consumer_groups_args+=('--delete: Pass in groups to delete topic partition offsets and ownership information over the entire consumer group. For instance --group g1 -- group g2') +kafka_consumer_groups_args+=('--describe: Describe consumer group and list offset lag (number of messages not yet processed) related to given group.') +kafka_consumer_groups_args+=('--dry-run: Only show results without executing changes on Consumer Groups. Supported operations: reset-offsets.') +kafka_consumer_groups_args+=('--execute: Execute operation. Supported operations: reset-offsets.') +kafka_consumer_groups_args+=('--export: Export operation execution to a CSV file. Supported operations: reset- offsets.') +kafka_consumer_groups_args+=('--from-file: Reset offsets to values defined in CSV file.') +kafka_consumer_groups_args+=('--group: The consumer group we wish to act on.') +kafka_consumer_groups_args+=('--list: List all consumer groups.') +kafka_consumer_groups_args+=('--members: Describe members of the group. This option may be used with ''--describe'' and ''--bootstrap-server'' options only. Example: --bootstrap-server localhost: 9092 --describe --group group1 -- members') +kafka_consumer_groups_args+=('--offsets: Describe the group and list all topic partitions in the group along with their offset lag. This is the default sub-action of and may be used with ''--describe'' and ''-- bootstrap-server'' options only. Example: --bootstrap-server localhost: 9092 --describe --group group1 -- offsets') +kafka_consumer_groups_args+=('--reset-offsets: Reset offsets of consumer group. Supports one consumer group at the time, and instances should be inactive Has 2 execution options: --dry-run (the default) to plan which offsets to reset, and --execute to update the offsets. Additionally, the -- export option is used to export the results to a CSV format. You must choose one of the following reset specifications: --to-datetime,') +kafka_consumer_groups_args+=('--by-period: --by-period, --to-earliest, --to- latest, --shift-by, --from-file, -- to-current. To define the scope use --all-topics or --topic. One scope must be specified unless you use ''--from- file''.') +kafka_consumer_groups_args+=('--shift-by: Reset offsets shifting current offset by ''n'', where ''n'' can be positive or negative.') +kafka_consumer_groups_args+=('--state: Describe the group state. This option may be used with ''--describe'' and ''-- bootstrap-server'' options only. Example: --bootstrap-server localhost: 9092 --describe --group group1 -- state') +kafka_consumer_groups_args+=('--timeout: The timeout that can be set for some use cases. For example, it can be used when describing the group to specify the maximum amount of time in milliseconds to wait before the group stabilizes (when the group is just created, or is going through some changes). (default: 5000)') +kafka_consumer_groups_args+=('--to-current: Reset offsets to current offset.') +kafka_consumer_groups_args+=('--to-datetime: Reset offsets to offset from datetime. Format: ''YYYY-MM-DDTHH:mm:SS.sss''') +kafka_consumer_groups_args+=('--to-earliest: Reset offsets to earliest offset.') +kafka_consumer_groups_args+=('--to-latest: Reset offsets to latest offset.') +kafka_consumer_groups_args+=('--to-offset: Reset offsets to a specific offset.') +kafka_consumer_groups_args+=('--topic: The topic whose consumer group information should be deleted or topic whose should be included in the reset offset process. In `reset- offsets` case, partitions can be specified using this format: `topic1: 0,1,2`, where 0,1,2 are the partition to be included in the process. Reset-offsets also supports multiple topic inputs.') +kafka_consumer_groups_args+=('--verbose: Provide additional information, if any, when describing the group. This option may be used with ''-- offsets''/''--members''/''--state'' and ''--bootstrap-server'' options only. Example: --bootstrap-server localhost: 9092 --describe --group group1 -- members --verbose') +compdef "_kafka-command kafka-consumer-groups" kafka-consumer-groups +declare -a kafka_consumer_perf_test_args +kafka_consumer_perf_test_args=() +kafka_consumer_perf_test_args+=('--broker-list: REQUIRED: The server(s) to connect to.') +kafka_consumer_perf_test_args+=('--consumer.config: Consumer config properties file.') +kafka_consumer_perf_test_args+=('--date-format: The date format to use for formatting the time field. See java.text. SimpleDateFormat for options. (default: yyyy-MM-dd HH:mm:ss:SSS)') +kafka_consumer_perf_test_args+=('--fetch-size: The amount of data to fetch in a single request. (default: 1048576)') +kafka_consumer_perf_test_args+=('--from-latest: If the consumer does not already have an established offset to consume from, start with the latest message present in the log rather than the earliest message.') +kafka_consumer_perf_test_args+=('--group: The group id to consume on. (default: perf-consumer-50986)') +kafka_consumer_perf_test_args+=('--help: Print usage.') +kafka_consumer_perf_test_args+=('--hide-header: If set, skips printing the header for the stats') +kafka_consumer_perf_test_args+=('--messages: REQUIRED: The number of messages to send or consume') +kafka_consumer_perf_test_args+=('--num-fetch-threads: Number of fetcher threads. (default: 1)') +kafka_consumer_perf_test_args+=('--print-metrics: Print out the metrics.') +kafka_consumer_perf_test_args+=('--reporting-interval: Interval in milliseconds at which to print progress info. (default: 5000)') +kafka_consumer_perf_test_args+=('--show-detailed-stats: If set, stats are reported for each reporting interval as configured by reporting-interval') +kafka_consumer_perf_test_args+=('--socket-buffer-size: The size of the tcp RECV size. (default: 2097152)') +kafka_consumer_perf_test_args+=('--threads: Number of processing threads. (default: 10)') +kafka_consumer_perf_test_args+=('--timeout: The maximum allowed time in milliseconds between returned records. (default: 10000)') +kafka_consumer_perf_test_args+=('--topic: REQUIRED: The topic to consume from.') +compdef "_kafka-command kafka-consumer-perf-test" kafka-consumer-perf-test +declare -a kafka_delegation_tokens_args +kafka_delegation_tokens_args=() +kafka_delegation_tokens_args+=('--bootstrap-server: REQUIRED: server(s) to use for bootstrapping.') +kafka_delegation_tokens_args+=('--command-config: REQUIRED: A property file containing configs to be passed to Admin Client. Token management operations are allowed in secure mode only. This config file is used to pass security related configs.') +kafka_delegation_tokens_args+=('--create: Create a new delegation token. Use --renewer- principal option to pass renewers principals.') +kafka_delegation_tokens_args+=('--describe: Describe delegation tokens for the given principals. Use --owner-principal to pass owner/renewer principals. If --owner-principal option is not supplied, all the user owned tokens and tokens where user have Describe permission will be returned.') +kafka_delegation_tokens_args+=('--expire: Expire delegation token. Use --expiry-time- period option to expire the token.') +kafka_delegation_tokens_args+=('--expiry-time-period: Expiry time period in milliseconds. If the value is -1, then the token will get invalidated immediately.') +kafka_delegation_tokens_args+=('--hmac: HMAC of the delegation token') +kafka_delegation_tokens_args+=('--max-life-time-period: Max life period for the token in milliseconds. If the value is -1, then token max life time will default to a server side config value (delegation.token.max.lifetime.ms).') +kafka_delegation_tokens_args+=('--owner-principal: owner is a kafka principal. It is should be in principalType:name format.') +kafka_delegation_tokens_args+=('--renew: Renew delegation token. Use --renew-time-period option to set renew time period.') +kafka_delegation_tokens_args+=('--renew-time-period: Renew time period in milliseconds. If the value is -1, then the renew time period will default to a server side config value (delegation. token.expiry.time.ms).') +kafka_delegation_tokens_args+=('--renewer-principal: renewer is a kafka principal. It is should be in principalType:name format.') +compdef "_kafka-command kafka-delegation-tokens" kafka-delegation-tokens +declare -a kafka_topics_args +kafka_topics_args=() +kafka_topics_args+=('--alter: Alter the number of partitions, replica assignment, and/or configuration for the topic.') +kafka_topics_args+=('--config: A topic configuration override for the topic being created or altered.The following is a list of valid configurations: cleanup.policy compression.type delete.retention.ms file.delete.delay.ms flush.messages flush.ms follower.replication.throttled. replicas index.interval.bytes leader.replication.throttled.replicas max.message.bytes message.downconversion.enable message.format.version message.timestamp.difference.max.ms message.timestamp.type min.cleanable.dirty.ratio min.compaction.lag.ms min.insync.replicas preallocate retention.bytes retention.ms segment.bytes segment.index.bytes segment.jitter.ms segment.ms unclean.leader.election.enable See the Kafka documentation for full details on the topic configs.') +kafka_topics_args+=('--create: Create a new topic.') +kafka_topics_args+=('--delete: Delete a topic') +kafka_topics_args+=('--delete-config: A topic configuration override to be removed for an existing topic (see the list of configurations under the') +kafka_topics_args+=('--config: --config option).') +kafka_topics_args+=('--describe: List details for the given topics.') +kafka_topics_args+=('--disable-rack-aware: Disable rack aware replica assignment') +kafka_topics_args+=('--force: Suppress console prompts') +kafka_topics_args+=('--help: Print usage information.') +kafka_topics_args+=('--if-exists: if set when altering or deleting topics, the action will only execute if the topic exists') +kafka_topics_args+=('--if-not-exists: if set when creating topics, the action will only execute if the topic does not already exist') +kafka_topics_args+=('--list: List all available topics.') +kafka_topics_args+=('--partitions: The number of partitions for the topic being created or altered (WARNING: If partitions are increased for a topic that has a key, the partition logic or ordering of the messages will be affected') +kafka_topics_args+=('--replica-assignment: A list of manual partition-to-broker assignments for the topic being created or altered.') +kafka_topics_args+=('--replication-factor: The replication factor for each partition in the topic being created.') +kafka_topics_args+=('--topic: The topic to be create, alter or describe. Can also accept a regular expression except for --create option') +kafka_topics_args+=('--topics-with-overrides: if set when describing topics, only show topics that have overridden configs') +kafka_topics_args+=('--unavailable-partitions: if set when describing topics, only show partitions whose leader is not available') +kafka_topics_args+=('--under-replicated-partitions: if set when describing topics, only show under replicated partitions') +kafka_topics_args+=('--zookeeper: REQUIRED: The connection string for the zookeeper connection in the form host:port. Multiple hosts can be given to allow fail-over.') +compdef "_kafka-command kafka-topics" kafka-topics +declare -a kafka_producer_perf_test_args +kafka_producer_perf_test_args=() +kafka_producer_perf_test_args+=('--throughput: --throughput THROUGHPUT [--producer-props PROP-NAME=PROP-VALUE [PROP-NAME=PROP-VALUE ...]] [--producer.config CONFIG-FILE] [--print-metrics] [--transactional-id TRANSACTIONAL-ID] [--transaction-duration-ms TRANSACTION-DURATION] (--record-size RECORD-SIZE |') +kafka_producer_perf_test_args+=('--payload-file: --payload-file PAYLOAD-FILE) This tool is used to verify the producer performance. optional arguments: -h, --help show this help message and exit') +kafka_producer_perf_test_args+=('--topic: --topic TOPIC produce messages to this topic') +kafka_producer_perf_test_args+=('--num-records: --num-records NUM-RECORDS number of messages to produce') +kafka_producer_perf_test_args+=('--payload-delimiter: --payload-delimiter PAYLOAD-DELIMITER provides delimiter to be used when --payload-file is provided. Defaults to new line. Note that this parameter will be ignored if --payload-file is not provided. (default: )') +kafka_producer_perf_test_args+=('--throughput: --throughput THROUGHPUT throttle maximum message throughput to *approximately* THROUGHPUT messages/sec') +kafka_producer_perf_test_args+=('--producer-props: --producer-props PROP-NAME=PROP-VALUE [PROP-NAME=PROP-VALUE ...] kafka producer related configuration properties like bootstrap.servers,client.id etc. These configs take precedence over those passed via --producer.config.') +kafka_producer_perf_test_args+=('--producer.config: --producer.config CONFIG-FILE producer config properties file.') +kafka_producer_perf_test_args+=('--print-metrics: --print-metrics print out metrics at the end of the test. (default: false)') +kafka_producer_perf_test_args+=('--transactional-id: --transactional-id TRANSACTIONAL-ID The transactionalId to use if transaction-duration-ms is > 0. Useful when testing the performance of concurrent transactions. (default: performance-producer-default-transactional-id)') +kafka_producer_perf_test_args+=('--transaction-duration-ms: --transaction-duration-ms TRANSACTION-DURATION The max age of each transaction. The commitTransaction will be called after this time has elapsed. Transactions are only enabled if this value is positive. (default: 0) either --record-size or --payload-file must be specified but not both.') +kafka_producer_perf_test_args+=('--record-size: --record-size RECORD-SIZE message size in bytes. Note that you must provide exactly one of --record-size or --payload-file.') +kafka_producer_perf_test_args+=('--payload-file: --payload-file PAYLOAD-FILE file to read the message payloads from. This works only for UTF-8 encoded text files. Payloads will be read from this file and a payload will be randomly selected when sending messages. Note that you must provide exactly one of --record-size or --payload-file.') +compdef "_kafka-command kafka-producer-perf-test" kafka-producer-perf-test +declare -a kafka_dump_log_args +kafka_dump_log_args=() +kafka_dump_log_args+=('--deep-iteration: if set, uses deep instead of shallow iteration. Automatically set if print- data-log is enabled.') +kafka_dump_log_args+=('--files: REQUIRED: The comma separated list of data and index log files to be dumped.') +kafka_dump_log_args+=('--help: Print usage information.') +kafka_dump_log_args+=('--index-sanity-check: if set, just checks the index sanity without printing its content. This is the same check that is executed on broker startup to determine if an index needs rebuilding or not.') +kafka_dump_log_args+=('--key-decoder-class: if set, used to deserialize the keys. This class should implement kafka.serializer. Decoder trait. Custom jar should be available in kafka/libs directory. (default: kafka.serializer.StringDecoder)') +kafka_dump_log_args+=('--max-message-size: Size of largest message. (default: 5242880)') +kafka_dump_log_args+=('--offsets-decoder: if set, log data will be parsed as offset data from the __consumer_offsets topic.') +kafka_dump_log_args+=('--print-data-log: if set, printing the messages content when dumping data logs. Automatically set if any decoder option is specified.') +kafka_dump_log_args+=('--transaction-log-decoder: if set, log data will be parsed as transaction metadata from the __transaction_state topic.') +kafka_dump_log_args+=('--value-decoder-class: if set, used to deserialize the messages. This class should implement kafka. serializer.Decoder trait. Custom jar should be available in kafka/libs directory. (default: kafka.serializer. StringDecoder)') +kafka_dump_log_args+=('--verify-index-only: if set, just verify the index log without printing its content.') +compdef "_kafka-command kafka-dump-log" kafka-dump-log +declare -a kafka_log_dirs_args +kafka_log_dirs_args=() +kafka_log_dirs_args+=('--bootstrap-server: REQUIRED: the server(s) to use for bootstrapping') +kafka_log_dirs_args+=('--broker-list: The list of brokers to be queried in the form "0,1,2". All brokers in the cluster will be queried if no broker list is specified') +kafka_log_dirs_args+=('--describe: Describe the specified log directories on the specified brokers.') +kafka_log_dirs_args+=('--topic-list: The list of topics to be queried in the form "topic1,topic2,topic3". All topics will be queried if no topic list is specified (default: )') +compdef "_kafka-command kafka-log-dirs" kafka-log-dirs +declare -a kafka_verifiable_consumer_args +kafka_verifiable_consumer_args=() +kafka_verifiable_consumer_args+=('--broker-list: --broker-list HOST1:PORT1[,HOST2:PORT2[...]] Comma-separated list of Kafka brokers in the form HOST1:PORT1,HOST2:PORT2,...') +kafka_verifiable_consumer_args+=('--topic: --topic TOPIC Consumes messages from this topic.') +kafka_verifiable_consumer_args+=('--group-id: --group-id GROUP_ID The groupId shared among members of the consumer group') +kafka_verifiable_consumer_args+=('--max-messages: --max-messages MAX-MESSAGES Consume this many messages. If -1 (the default), the consumer will consume until the process is killed externally (default: -1)') +kafka_verifiable_consumer_args+=('--session-timeout: --session-timeout TIMEOUT_MS Set the consumer''s session timeout (default: 30000)') +kafka_verifiable_consumer_args+=('--verbose: --verbose Enable to log individual consumed records (default: false)') +kafka_verifiable_consumer_args+=('--enable-autocommit: --enable-autocommit Enable offset auto-commit on consumer (default: false)') +kafka_verifiable_consumer_args+=('--reset-policy: --reset-policy RESETPOLICY Set reset policy (must be either ''earliest'', ''latest'', or ''none'' (default: earliest)') +kafka_verifiable_consumer_args+=('--assignment-strategy: --assignment-strategy ASSIGNMENTSTRATEGY Set assignment strategy (e.g. org.apache.kafka.clients.consumer.RoundRobinAssignor) (default: org.apache.kafka.clients.consumer.RangeAssignor)') +kafka_verifiable_consumer_args+=('--consumer.config: --consumer.config CONFIG_FILE Consumer config properties file (config options shared with command line parameters will be overridden).') +compdef "_kafka-command kafka-verifiable-consumer" kafka-verifiable-consumer +declare -a kafka_verifiable_producer_args +kafka_verifiable_producer_args=() +kafka_verifiable_producer_args+=('--topic: --topic TOPIC Produce messages to this topic.') +kafka_verifiable_producer_args+=('--broker-list: --broker-list HOST1:PORT1[,HOST2:PORT2[...]] Comma-separated list of Kafka brokers in the form HOST1:PORT1,HOST2:PORT2,...') +kafka_verifiable_producer_args+=('--max-messages: --max-messages MAX-MESSAGES Produce this many messages. If -1, produce messages until the process is killed externally. (default: -1)') +kafka_verifiable_producer_args+=('--throughput: --throughput THROUGHPUT If set >= 0, throttle maximum message throughput to *approximately* THROUGHPUT messages/sec. (default: -1)') +kafka_verifiable_producer_args+=('--acks: --acks ACKS Acks required on each produced message. See Kafka docs on acks for details. (default: -1)') +kafka_verifiable_producer_args+=('--producer.config: --producer.config CONFIG_FILE Producer config properties file.') +kafka_verifiable_producer_args+=('--message-create-time: --message-create-time CREATETIME Send messages with creation time starting at the arguments value, in milliseconds since epoch (default: -1)') +kafka_verifiable_producer_args+=('--value-prefix: --value-prefix VALUE-PREFIX If specified, each produced value will have this prefix with a dot separator') +kafka_verifiable_producer_args+=('--repeating-keys: --repeating-keys REPEATING-KEYS If specified, each produced record will have a key starting at 0 increment by 1 up to the number specified (exclusive), then the key is set to 0 again') +compdef "_kafka-command kafka-verifiable-producer" kafka-verifiable-producer +declare -a kafka_streams_application_reset_args +kafka_streams_application_reset_args=() +kafka_streams_application_reset_args+=('--bootstrap-servers: Comma-separated list of broker urls with format: HOST1:PORT1,HOST2:PORT2 (default: localhost:9092)') +kafka_streams_application_reset_args+=('--by-duration: Reset offsets to offset by duration from current timestamp. Format: ''PnDTnHnMnS''') +kafka_streams_application_reset_args+=('--config-file: Property file containing configs to be passed to admin clients and embedded consumer.') +kafka_streams_application_reset_args+=('--dry-run: Display the actions that would be performed without executing the reset commands.') +kafka_streams_application_reset_args+=('--execute: Execute the command.') +kafka_streams_application_reset_args+=('--from-file: Reset offsets to values defined in CSV file.') +kafka_streams_application_reset_args+=('--input-topics: Comma-separated list of user input topics. For these topics, the tool will reset the offset to the earliest available offset.') +kafka_streams_application_reset_args+=('--intermediate-topics: Comma-separated list of intermediate user topics (topics used in the through() method). For these topics, the tool will skip to the end.') +kafka_streams_application_reset_args+=('--shift-by: Reset offsets shifting current offset by ''n'', where ''n'' can be positive or negative') +kafka_streams_application_reset_args+=('--to-datetime: Reset offsets to offset from datetime. Format: ''YYYY-MM-DDTHH:mm:SS.sss''') +kafka_streams_application_reset_args+=('--to-earliest: Reset offsets to earliest offset.') +kafka_streams_application_reset_args+=('--to-latest: Reset offsets to latest offset.') +kafka_streams_application_reset_args+=('--to-offset: Reset offsets to a specific offset.') +kafka_streams_application_reset_args+=('--zookeeper: Zookeeper option is deprecated by bootstrap.servers, as the reset tool would no longer access Zookeeper directly. onsException: Missing required option(s) [application-id] ption: Missing required option(s) [application-id] uiredOptions(OptionParser.java:426) ionParser.java:400) Arguments(StreamsResetter.java:221) treamsResetter.java:117) treamsResetter.java:107) StreamsResetter.java:637)') +compdef "_kafka-command kafka-streams-application-reset" kafka-streams-application-reset +declare -a kafka_mirror_maker_args +kafka_mirror_maker_args=() +kafka_mirror_maker_args+=('--abort.on.send.failure: Configure the mirror maker to exit on a failed send. (default: true)') +kafka_mirror_maker_args+=('--consumer.config: Embedded consumer config for consuming from the source cluster.') +kafka_mirror_maker_args+=('--consumer.rebalance.listener: The consumer rebalance listener to use for mirror maker consumer.') +kafka_mirror_maker_args+=('--help: Print this message.') +kafka_mirror_maker_args+=('--message.handler: Message handler which will process every record in-between consumer and producer.') +kafka_mirror_maker_args+=('--message.handler.args: Arguments used by custom message handler for mirror maker.') +kafka_mirror_maker_args+=('--new.consumer: DEPRECATED Use new consumer in mirror maker (this is the default so this option will be removed in a future version).') +kafka_mirror_maker_args+=('--num.streams: Number of consumption streams. (default: 1)') +kafka_mirror_maker_args+=('--offset.commit.interval.ms: Offset commit interval in ms. (default: 60000)') +kafka_mirror_maker_args+=('--producer.config: Embedded producer config.') +kafka_mirror_maker_args+=('--rebalance.listener.args: Arguments used by custom rebalance listener for mirror maker consumer.') +kafka_mirror_maker_args+=('--whitelist: Whitelist of topics to mirror.') +compdef "_kafka-command kafka-mirror-maker" kafka-mirror-maker +declare -a kafka_delete_records_args +kafka_delete_records_args=() +kafka_delete_records_args+=('--bootstrap-server: REQUIRED: The server to connect to.') +kafka_delete_records_args+=('--command-config: A property file containing configs to be passed to Admin Client.') +kafka_delete_records_args+=('--offset-json-file: REQUIRED: The JSON file with offset per partition. The format to use is: {"partitions": [{"topic": "foo", "partition": 1, "offset": 1}], "version":1 }') +compdef "_kafka-command kafka-delete-records" kafka-delete-records +declare -a replicator_args +replicator_args=() +replicator_args+=('--cluster.id: --cluster.id [--cluster.threads ] [--confluent.license ]') +replicator_args+=('--consumer.config: --consumer.config [--consumer.monitoring.config ] [(-h | --help)] --producer.config [--producer.monitoring.config ] [--replication.config ] [--topic.auto.create] [--topic.config.sync] [--topic.config.sync.interval.ms ] [--topic.create.backoff.ms ] [--topic.poll.interval.ms ] [--topic.preserve.partitions] [--topic.regex ] [--topic.rename.format ] [--topic.timestamp.type ] [--whitelist ] OPTIONS') +replicator_args+=('--blacklist: --blacklist A comma-separated list of topics that should not be replicated, even if they are included in the whitelist or matched by the regular expression.') +replicator_args+=('--cluster.id: --cluster.id Specifies the unique identifier for the Replicator cluster.') +replicator_args+=('--cluster.threads: --cluster.threads The total number of threads across all workers in the Replicator cluster. If this command starts another Replicator worker in an existing cluster, this can be used to change the number of threads in the whole cluster.') +replicator_args+=('--confluent.license: --confluent.license Your Confluent license key that enables you to use Replicator. Without the license key, you can use Replicator for a 30-day trial period. If you are a subscriber, please contact Confluent Support for more information.') +replicator_args+=('--consumer.config: --consumer.config Specifies the location of the file that contains the configuration settings for the consumer reading from the origin cluster.') +replicator_args+=('--consumer.monitoring.config: --consumer.monitoring.config Specifies the location of the file that contains the producer settings for the Kafka cluster where monitoring information about the Replicator consumer is to be sent. This must be specified if monitoring is to be enabled, but may point to a different Kafka cluster than the origin or destination clusters. Use the same file as `--producer-config` to write metrics to the destination cluster. -h, --help Display help information') +replicator_args+=('--producer.config: --producer.config Specifies the location of the file that contains the configuration settings for the producer writing to the destination cluster.') +replicator_args+=('--producer.monitoring.config: --producer.monitoring.config Specifies the location of the file that contains the producer settings for the Kafka cluster where monitoring information about the Replicator producer is to be sent. This must be specified if monitoring is to be enabled, but may point to a different Kafka cluster than the origin or destination clusters. Use the same file as --producer-config to write metrics to the destination cluster.') +replicator_args+=('--replication.config: --replication.config Specifies the location of the file that contains the configuration settings for replication. When used, any property in this file can be overridden via a command line parameter. When this is not supplied, all of the properties defining how topics are to be replicated should be specified on the command line.') +replicator_args+=('--topic.auto.create: --topic.auto.create Whether to automatically create topics in the destination cluster if required.') +replicator_args+=('--topic.config.sync: --topic.config.sync Whether to periodically sync topic configuration to the destination cluster.') +replicator_args+=('--topic.config.sync.interval.ms: --topic.config.sync.interval.ms How often to check for configuration changes when ''topic.config.sync'' is enabled.') +replicator_args+=('--topic.create.backoff.ms: --topic.create.backoff.ms Time to wait before retrying auto topic creation or expansion.') +replicator_args+=('--topic.poll.interval.ms: --topic.poll.interval.ms Specifies how frequently to poll the source cluster for new topics matching the whitelist or regular expression. Can also be read from the file given by --replication.config.') +replicator_args+=('--topic.preserve.partitions: --topic.preserve.partitions Whether to automatically increase the number of partitions in the destination cluster to match the source cluster and ensure that messages replicated from the source cluster use the same partition in the destination cluster.') +replicator_args+=('--topic.regex: --topic.regex A regular expression that matches the names of the topics to be replicated. Any topic that matches this expression (or is listed in the whitelist) and not in the blacklist will be replicated.') +replicator_args+=('--topic.rename.format: --topic.rename.format A format string for the topic name in the destination cluster, which may contain ${topic} as a placeholder for the originating topic name. For example, ${topic}_dc1 for the topic ''orders'' will map to the destination topic name ''orders_dc1.'' Can be placed inside the file specified by --replication.config.') +replicator_args+=('--topic.timestamp.type: --topic.timestamp.type The timestamp type for the topics in the destination cluster.') +replicator_args+=('--whitelist: --whitelist A comma-separated list of the names of topics that should be replicated. Any topic that is in this list and not in the blacklist will be replicated.') +compdef "_kafka-command replicator" replicator