#compdef rustic

autoload -U is-at-least

_rustic() {
    typeset -A opt_args
    typeset -a _arguments_options
    local ret=1

    if is-at-least 5.2; then
        _arguments_options=(-s -S -C)
    else
        _arguments_options=(-s -C)
    fi

    local context curcontext="$curcontext" state line
    _arguments "${_arguments_options[@]}" : \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--prometheus-user=[Authenticate to Prometheus Pushgateway using this user]:USER:_default' \
'--prometheus-pass=[Authenticate to Prometheus Pushgateway using this password]:PASSWORD:_default' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_rustic_commands" \
"*::: :->rustic" \
&& ret=0
    case $state in
    (rustic)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:rustic-command-$line[1]:"
        case $line[1] in
            (backup)
_arguments "${_arguments_options[@]}" : \
'()*--name=[Backup sources defined in the config profile by the given name (can be specified multiple times)]:NAME:_default' \
'--stdin-filename=[Set filename to be used when backing up from stdin]:FILENAME:_files' \
'--stdin-command=[Start the given command and use its output as stdin]:COMMAND:_default' \
'--as-path=[Manually set backup path in snapshot]:PATH:_files -/' \
'--set-atime=[Set access time \[default\: mtime\]]:SET_ATIME:((yes\:"Use the given time"
mtime\:"Use mtime"
no\:"Use no time at all"))' \
'--set-ctime=[Set changed time \[default\: yes\]]:SET_CTIME:((yes\:"Use the given time"
mtime\:"Use mtime"
no\:"Use no time at all"))' \
'--set-devid=[Set device ID \[default\: hardlink\]]:SET_DEVID:((yes\:"Use the given devid"
hardlink\:"Use the given devid if this is a hardlink, les not"
no\:"Use no devid at all"))' \
'--set-blockdev=[How block devices should be stored \[default\: special\]]:SET_BLOCKDEV:(special file)' \
'--set-xattrs=[Set extended attributes \[default\: yes\]]:SET_XATTRS:((yes\:"Use the given xattr"
no\:"Use no xattrs at all"))' \
'-g+[Group snapshots by any combination of host,label,paths,tags to find a suitable parent (default\: host,label,paths)]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags to find a suitable parent (default\: host,label,paths)]:CRITERION:_default' \
'(-f --force)*--parent=[Snapshot to use as parent (can be specified multiple times)]:SNAPSHOT:_default' \
'*--glob=[Glob pattern to exclude/include (can be specified multiple times)]:GLOB:_default' \
'*--iglob=[Same as --glob pattern but ignores the casing of filenames]:GLOB:_default' \
'*--glob-file=[Read glob patterns to exclude/include from this file (can be specified multiple times)]:FILE:_default' \
'*--iglob-file=[Same as --glob-file ignores the casing of filenames in patterns]:FILE:_default' \
'*--custom-ignorefile=[Treat the provided filename like a .gitignore file (can be specified multiple times)]:FILE:_default' \
'*--exclude-if-present=[Exclude contents of directories containing this filename (can be specified multiple times)]:FILE:_default' \
'*--exclude-if-xattr=[Exclude files/directories having the given extended attribute set (can be specified multiple times)]:XATTR:_default' \
'--exclude-larger-than=[Maximum size of files to be backed up. Larger files will be excluded]:SIZE:_default' \
'--label=[Label snapshot with given label]:LABEL:_default' \
'*--tag=[Tags to add to snapshot (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--description=[Add description to snapshot]:DESCRIPTION:_default' \
'(--description)--description-from=[Add description to snapshot from file]:FILE:_files' \
'--time=[Set the backup time manually (e.g. "2021-01-21 14\:15\:23+0000")]:TIME:_default' \
'--delete-after=[Mark snapshot to be deleted after given duration (e.g. 10d)]:DURATION:_default' \
'--host=[Set the host name manually]:NAME:_default' \
'--command=[Set the backup command manually]:COMMAND:_default' \
'--hostname=[Set '\''hostname'\'' in public key information]:HOSTNAME:_default' \
'--username=[Set '\''username'\'' in public key information]:USERNAME:_default' \
'--set-version=[Set repository version. Allowed versions\: 1,2]:VERSION:_default' \
'--set-chunker=[Set chunker to use. Allowed chunkers\: \`\`rabin\`\`, \`\`fixed_size\`\`. Defaults to \`\`rabin\`\` if not set]:CHUNKER:_default' \
'--set-chunk-size=[Set the chunk size. For the rabin chunker this is the average chunk size. Defaults to \`1 MiB\` if not set]:SIZE:_default' \
'--set-chunk-min-size=[Set the minimum chunk size. Only used for the rabin chunker. Defaults to \`512 kiB\` if not set]:SIZE:_default' \
'--set-chunk-max-size=[Set the maximum chunk size. Only used for the rabin chunker. Defaults to \`8 MiB\` if not set]:SIZE:_default' \
'--set-compression=[Set compression level. Allowed levels are 1 to 22 and -1 to -7, see <https\://facebook.github.io/zstd/>. Note that 0 equals to no compression]:LEVEL:_default' \
'--set-append-only=[Set append-only mode. Note that only append-only commands work once this is set. \`forget\`, \`prune\` or \`config\` won'\''t work any longer]:SET_APPEND_ONLY:(true false)' \
'--set-treepack-size=[Set default packsize for tree packs. rustic tries to always produce packs greater than this value. Note that for large repos, this value is grown by the grown factor. Defaults to \`4 MiB\` if not set]:SIZE:_default' \
'--set-treepack-size-limit=[Set upper limit for default packsize for tree packs. Note that packs actually can get a bit larger. If not set, pack sizes can grow up to approximately \`4 GiB\`]:SIZE:_default' \
'--set-treepack-growfactor=[Set grow factor for tree packs. The default packsize grows by the square root of the total size of all tree packs multiplied with this factor. This means 32 kiB times this factor per square root of total treesize in GiB. Defaults to \`32\` (= 1MB per square root of total treesize in GiB) if not set]:FACTOR:_default' \
'--set-datapack-size=[Set default packsize for data packs. rustic tries to always produce packs greater than this value. Note that for large repos, this value is grown by the grown factor. Defaults to \`32 MiB\` if not set]:SIZE:_default' \
'--set-datapack-growfactor=[Set grow factor for data packs. The default packsize grows by the square root of the total size of all data packs multiplied with this factor. This means 32 kiB times this factor per square root of total datasize in GiB. Defaults to \`32\` (= 1MB per square root of total datasize in GiB) if not set]:FACTOR:_default' \
'--set-datapack-size-limit=[Set upper limit for default packsize for tree packs. Note that packs actually can get a bit larger. If not set, pack sizes can grow up to approximately \`4 GiB\`]:SIZE:_default' \
'--set-min-packsize-tolerate-percent=[Set minimum tolerated packsize in percent of the targeted packsize. Defaults to \`30\` if not set]:PERCENT:_default' \
'--set-max-packsize-tolerate-percent=[Set maximum tolerated packsize in percent of the targeted packsize A value of \`0\` means packs larger than the targeted packsize are always tolerated. Default if not set\: larger packfiles are always tolerated]:PERCENT:_default' \
'--set-extra-verify=[Do an extra verification by decompressing/decrypting all data before uploading to the repository. Default\: true]:SET_EXTRA_VERIFY:(true false)' \
'--metrics-job=[Job name for the metrics. Default\: rustic-backup]:JOB_NAME:_default' \
'--metrics-labels=[Additional labels to set to generated metrics]:NAME=VALUE:_default' \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--ls[Don'\''t run the backup, but only list files which would be backup'\''ed]' \
'--no-scan[Don'\''t scan the backup source for its size - this disables ETA estimation for backup]' \
'--json[Output generated snapshot in json format]' \
'(--json)--long[Show detailed information about generated snapshot]' \
'--init[Initialize repository, if it doesn'\''t exist yet]' \
'--skip-if-unchanged[Skip writing of snapshot if nothing changed w.r.t. the parent snapshot]' \
'-f[Use no parent, read all files]' \
'--force[Use no parent, read all files]' \
'(-f --force)--ignore-ctime[Ignore ctime changes when checking for modified files]' \
'(-f --force)--ignore-inode[Ignore inode number changes when checking for modified files]' \
'--git-ignore[Ignore files based on .gitignore files]' \
'--no-require-git[Do not require a git repository to apply git-ignore rule]' \
'-x[Exclude other file systems, don'\''t cross filesystem boundaries and subvolumes]' \
'--one-file-system[Exclude other file systems, don'\''t cross filesystem boundaries and subvolumes]' \
'(--delete-after)--delete-never[Mark snapshot as uneraseable]' \
'--with-created[Add '\''created'\'' date in public key information]' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::cli_sources -- Backup source (can be specified multiple times), use - for stdin. If no source is given, uses all sources defined in the config file:_files' \
&& ret=0
;;
(cat)
_arguments "${_arguments_options[@]}" : \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_rustic__subcmd__cat_commands" \
"*::: :->cat" \
&& ret=0

    case $state in
    (cat)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:rustic-cat-command-$line[1]:"
        case $line[1] in
            (tree-blob)
_arguments "${_arguments_options[@]}" : \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':id -- Id to display:_default' \
&& ret=0
;;
(data-blob)
_arguments "${_arguments_options[@]}" : \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':id -- Id to display:_default' \
&& ret=0
;;
(config)
_arguments "${_arguments_options[@]}" : \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(index)
_arguments "${_arguments_options[@]}" : \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':id -- Id to display:_default' \
&& ret=0
;;
(snapshot)
_arguments "${_arguments_options[@]}" : \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':id -- Id to display:_default' \
&& ret=0
;;
(tree)
_arguments "${_arguments_options[@]}" : \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':snap -- Snapshot/path of the tree to display:_default' \
&& ret=0
;;
(masterkey)
_arguments "${_arguments_options[@]}" : \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_rustic__subcmd__cat__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:rustic-cat-help-command-$line[1]:"
        case $line[1] in
            (tree-blob)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(data-blob)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(config)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(index)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(snapshot)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(tree)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(masterkey)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(config)
_arguments "${_arguments_options[@]}" : \
'--set-version=[Set repository version. Allowed versions\: 1,2]:VERSION:_default' \
'--set-chunker=[Set chunker to use. Allowed chunkers\: \`\`rabin\`\`, \`\`fixed_size\`\`. Defaults to \`\`rabin\`\` if not set]:CHUNKER:_default' \
'--set-chunk-size=[Set the chunk size. For the rabin chunker this is the average chunk size. Defaults to \`1 MiB\` if not set]:SIZE:_default' \
'--set-chunk-min-size=[Set the minimum chunk size. Only used for the rabin chunker. Defaults to \`512 kiB\` if not set]:SIZE:_default' \
'--set-chunk-max-size=[Set the maximum chunk size. Only used for the rabin chunker. Defaults to \`8 MiB\` if not set]:SIZE:_default' \
'--set-compression=[Set compression level. Allowed levels are 1 to 22 and -1 to -7, see <https\://facebook.github.io/zstd/>. Note that 0 equals to no compression]:LEVEL:_default' \
'--set-append-only=[Set append-only mode. Note that only append-only commands work once this is set. \`forget\`, \`prune\` or \`config\` won'\''t work any longer]:SET_APPEND_ONLY:(true false)' \
'--set-treepack-size=[Set default packsize for tree packs. rustic tries to always produce packs greater than this value. Note that for large repos, this value is grown by the grown factor. Defaults to \`4 MiB\` if not set]:SIZE:_default' \
'--set-treepack-size-limit=[Set upper limit for default packsize for tree packs. Note that packs actually can get a bit larger. If not set, pack sizes can grow up to approximately \`4 GiB\`]:SIZE:_default' \
'--set-treepack-growfactor=[Set grow factor for tree packs. The default packsize grows by the square root of the total size of all tree packs multiplied with this factor. This means 32 kiB times this factor per square root of total treesize in GiB. Defaults to \`32\` (= 1MB per square root of total treesize in GiB) if not set]:FACTOR:_default' \
'--set-datapack-size=[Set default packsize for data packs. rustic tries to always produce packs greater than this value. Note that for large repos, this value is grown by the grown factor. Defaults to \`32 MiB\` if not set]:SIZE:_default' \
'--set-datapack-growfactor=[Set grow factor for data packs. The default packsize grows by the square root of the total size of all data packs multiplied with this factor. This means 32 kiB times this factor per square root of total datasize in GiB. Defaults to \`32\` (= 1MB per square root of total datasize in GiB) if not set]:FACTOR:_default' \
'--set-datapack-size-limit=[Set upper limit for default packsize for tree packs. Note that packs actually can get a bit larger. If not set, pack sizes can grow up to approximately \`4 GiB\`]:SIZE:_default' \
'--set-min-packsize-tolerate-percent=[Set minimum tolerated packsize in percent of the targeted packsize. Defaults to \`30\` if not set]:PERCENT:_default' \
'--set-max-packsize-tolerate-percent=[Set maximum tolerated packsize in percent of the targeted packsize A value of \`0\` means packs larger than the targeted packsize are always tolerated. Default if not set\: larger packfiles are always tolerated]:PERCENT:_default' \
'--set-extra-verify=[Do an extra verification by decompressing/decrypting all data before uploading to the repository. Default\: true]:SET_EXTRA_VERIFY:(true false)' \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(completions)
_arguments "${_arguments_options[@]}" : \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':sh -- Shell to generate completions for:(bash fish zsh powershell)' \
&& ret=0
;;
(check)
_arguments "${_arguments_options[@]}" : \
'--read-data-subset=[Read only a subset of the data. Allowed values\: "all", "n/m" for specific part, "x%" or a size for a random subset]:READ_DATA_SUBSET:_default' \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'(--no-cache)--trust-cache[Don'\''t verify the data saved in the cache]' \
'--read-data[Also read and check pack files]' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::ids -- Snapshots to check. If none is given, use filter options to filter from all snapshots:_default' \
&& ret=0
;;
(copy)
_arguments "${_arguments_options[@]}" : \
'*--target=[Target repository (can be specified multiple times)]:TARGET:_default' \
'--hostname=[Set '\''hostname'\'' in public key information]:HOSTNAME:_default' \
'--username=[Set '\''username'\'' in public key information]:USERNAME:_default' \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--init[Initialize non-existing target repositories]' \
'--force[Copy snapshots even if the target already contains the original snapshot]' \
'--with-created[Add '\''created'\'' date in public key information]' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::ids -- Snapshots to copy. If none is given, use filter options to filter from all snapshots:_default' \
&& ret=0
;;
(diff)
_arguments "${_arguments_options[@]}" : \
'*--glob=[Glob pattern to exclude/include (can be specified multiple times)]:GLOB:_default' \
'*--iglob=[Same as --glob pattern but ignores the casing of filenames]:GLOB:_default' \
'*--glob-file=[Read glob patterns to exclude/include from this file (can be specified multiple times)]:FILE:_default' \
'*--iglob-file=[Same as --glob-file ignores the casing of filenames in patterns]:FILE:_default' \
'*--custom-ignorefile=[Treat the provided filename like a .gitignore file (can be specified multiple times)]:FILE:_default' \
'*--exclude-if-present=[Exclude contents of directories containing this filename (can be specified multiple times)]:FILE:_default' \
'*--exclude-if-xattr=[Exclude files/directories having the given extended attribute set (can be specified multiple times)]:XATTR:_default' \
'--exclude-larger-than=[Maximum size of files to be backed up. Larger files will be excluded]:SIZE:_default' \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--metadata[show differences in metadata]' \
'--no-content[don'\''t check for different file contents]' \
'(--no-content)--only-identical[only show differences for identical files, this can be used for a bitrot test on the local path]' \
'-i[Run in interactive UI mode]' \
'--interactive[Run in interactive UI mode]' \
'--git-ignore[Ignore files based on .gitignore files]' \
'--no-require-git[Do not require a git repository to apply git-ignore rule]' \
'-x[Exclude other file systems, don'\''t cross filesystem boundaries and subvolumes]' \
'--one-file-system[Exclude other file systems, don'\''t cross filesystem boundaries and subvolumes]' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::snap1 -- Reference snapshot/path (uses latest, if no snapshot is given, then compare with local path):_default' \
'::snap2 -- New snapshot/path (uses PATH2 = PATH1, if not given; uses local path if no snapshot is given):_files' \
&& ret=0
;;
(docs)
_arguments "${_arguments_options[@]}" : \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_rustic__subcmd__docs_commands" \
"*::: :->docs" \
&& ret=0

    case $state in
    (docs)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:rustic-docs-command-$line[1]:"
        case $line[1] in
            (user)
_arguments "${_arguments_options[@]}" : \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(dev)
_arguments "${_arguments_options[@]}" : \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(config)
_arguments "${_arguments_options[@]}" : \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_rustic__subcmd__docs__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:rustic-docs-help-command-$line[1]:"
        case $line[1] in
            (user)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(dev)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(config)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(dump)
_arguments "${_arguments_options[@]}" : \
'--archive=[set archive format to use. Possible values\: auto, content, tar, targz, zip. For "auto" format is dertermined by file extension (if given) or "tar" for dirs]:FORMAT:_default' \
'--file=[dump output to the given file. Use this instead of redirecting stdout to a file]:FILE:_files' \
'*--glob=[Glob pattern to exclude/include (can be specified multiple times)]:GLOB:_default' \
'*--iglob=[Same as --glob pattern but ignores the casing of filenames]:GLOB:_default' \
'*--glob-file=[Read glob patterns to exclude/include from this file (can be specified multiple times)]:FILE:_default' \
'*--iglob-file=[Same as --glob-file ignores the casing of filenames in patterns]:FILE:_default' \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':snap -- file from snapshot to dump:_default' \
&& ret=0
;;
(find)
_arguments "${_arguments_options[@]}" : \
'(--path)*--glob=[pattern to find (can be specified multiple times)]:PATTERN:_default' \
'(--path)*--iglob=[pattern to find case-insensitive (can be specified multiple times)]:PATTERN:_default' \
'--path=[exact path to find]:PATH:_files' \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--all[Show all snapshots instead of summarizing snapshots with identical search results]' \
'--show-misses[Also show snapshots which don'\''t contain a search result]' \
'--numeric-uid-gid[Show uid/gid instead of user/group]' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::ids -- Snapshots to search in. If none is given, use filter options to filter from all snapshots:_default' \
&& ret=0
;;
(forget)
_arguments "${_arguments_options[@]}" : \
'--forget-time=[Set the date/time (e.g. "2021-01-21) to use when evaluating retention rules; can be used to test the rules (default\: now)]:FORGET_TIME:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags (default\: "host,label,paths")]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags (default\: "host,label,paths")]:CRITERION:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'*--keep-tags=[Keep snapshots with this taglist (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--keep-id=[Keep snapshots ids that start with ID (can be specified multiple times)]:ID:_default' \
'-l+[Keep the last N snapshots (N == -1\: keep all snapshots)]:N:_default' \
'--keep-last=[Keep the last N snapshots (N == -1\: keep all snapshots)]:N:_default' \
'-M+[Keep the last N minutely snapshots (N == -1\: keep all minutely snapshots)]:N:_default' \
'--keep-minutely=[Keep the last N minutely snapshots (N == -1\: keep all minutely snapshots)]:N:_default' \
'-H+[Keep the last N hourly snapshots (N == -1\: keep all hourly snapshots)]:N:_default' \
'--keep-hourly=[Keep the last N hourly snapshots (N == -1\: keep all hourly snapshots)]:N:_default' \
'-d+[Keep the last N daily snapshots (N == -1\: keep all daily snapshots)]:N:_default' \
'--keep-daily=[Keep the last N daily snapshots (N == -1\: keep all daily snapshots)]:N:_default' \
'-w+[Keep the last N weekly snapshots (N == -1\: keep all weekly snapshots)]:N:_default' \
'--keep-weekly=[Keep the last N weekly snapshots (N == -1\: keep all weekly snapshots)]:N:_default' \
'-m+[Keep the last N monthly snapshots (N == -1\: keep all monthly snapshots)]:N:_default' \
'--keep-monthly=[Keep the last N monthly snapshots (N == -1\: keep all monthly snapshots)]:N:_default' \
'--keep-quarter-yearly=[Keep the last N quarter-yearly snapshots (N == -1\: keep all quarter-yearly snapshots)]:N:_default' \
'--keep-half-yearly=[Keep the last N half-yearly snapshots (N == -1\: keep all half-yearly snapshots)]:N:_default' \
'-y+[Keep the last N yearly snapshots (N == -1\: keep all yearly snapshots)]:N:_default' \
'--keep-yearly=[Keep the last N yearly snapshots (N == -1\: keep all yearly snapshots)]:N:_default' \
'--keep-within=[Keep snapshots newer than DURATION relative to latest snapshot]:DURATION:_default' \
'--keep-within-minutely=[Keep minutely snapshots newer than DURATION relative to latest snapshot]:DURATION:_default' \
'--keep-within-hourly=[Keep hourly snapshots newer than DURATION relative to latest snapshot]:DURATION:_default' \
'--keep-within-daily=[Keep daily snapshots newer than DURATION relative to latest snapshot]:DURATION:_default' \
'--keep-within-weekly=[Keep weekly snapshots newer than DURATION relative to latest snapshot]:DURATION:_default' \
'--keep-within-monthly=[Keep monthly snapshots newer than DURATION relative to latest snapshot]:DURATION:_default' \
'--keep-within-quarter-yearly=[Keep quarter-yearly snapshots newer than DURATION relative to latest snapshot]:DURATION:_default' \
'--keep-within-half-yearly=[Keep half-yearly snapshots newer than DURATION relative to latest snapshot]:DURATION:_default' \
'--keep-within-yearly=[Keep yearly snapshots newer than DURATION relative to latest snapshot]:DURATION:_default' \
'--max-repack=[Define maximum data to repack in % of reposize or as size (e.g. '\''5b'\'', '\''2 kB'\'', '\''3M'\'', '\''4TiB'\'') or '\''unlimited'\'']:LIMIT:_default' \
'--max-unused=[Tolerate limit of unused data in % of reposize after pruning or as size (e.g. '\''5b'\'', '\''2 kB'\'', '\''3M'\'', '\''4TiB'\'') or '\''unlimited'\'']:LIMIT:_default' \
'--keep-pack=[Minimum duration (e.g. 90d) to keep packs before repacking or removing. More recently created packs won'\''t be repacked or marked for deletion within this prune run]:DURATION:_default' \
'--keep-delete=[Minimum duration (e.g. 10m) to keep packs marked for deletion. More recently marked packs won'\''t be deleted within this prune run]:DURATION:_default' \
'--repack-cacheable-only=[Only repack packs which are cacheable \[default\: true for a hot/cold repository, else false\]]:TRUE/FALSE:(true false)' \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'--json[Show infos in json format]' \
'--prune[Also prune the repository]' \
'--keep-none[Allow to keep no snapshot]' \
'--delete-unchanged[Delete unchanged follow-up snapshots (i.e. with identical tree)]' \
'--instant-delete[Delete files immediately instead of marking them. This also removes all files already marked for deletion]' \
'--early-delete-index[Delete index files early if instant-delete is chosen. This allows to run prune if there is few or no space left]' \
'--fast-repack[Simply copy blobs when repacking instead of decrypting; possibly compressing; encrypting]' \
'(--fast-repack)--repack-uncompressed[Repack packs containing uncompressed blobs. This cannot be used with --fast-repack. Implies --max-unused=0]' \
'--repack-all[Repack all packs. Implies --max-unused=0]' \
'--no-resize[Do not repack packs which only needs to be resized]' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::ids -- Snapshots to forget. If none is given, use filter options to filter from all snapshots:_default' \
&& ret=0
;;
(init)
_arguments "${_arguments_options[@]}" : \
'--hostname=[Set '\''hostname'\'' in public key information]:HOSTNAME:_default' \
'--username=[Set '\''username'\'' in public key information]:USERNAME:_default' \
'--set-version=[Set repository version. Allowed versions\: 1,2]:VERSION:_default' \
'--set-chunker=[Set chunker to use. Allowed chunkers\: \`\`rabin\`\`, \`\`fixed_size\`\`. Defaults to \`\`rabin\`\` if not set]:CHUNKER:_default' \
'--set-chunk-size=[Set the chunk size. For the rabin chunker this is the average chunk size. Defaults to \`1 MiB\` if not set]:SIZE:_default' \
'--set-chunk-min-size=[Set the minimum chunk size. Only used for the rabin chunker. Defaults to \`512 kiB\` if not set]:SIZE:_default' \
'--set-chunk-max-size=[Set the maximum chunk size. Only used for the rabin chunker. Defaults to \`8 MiB\` if not set]:SIZE:_default' \
'--set-compression=[Set compression level. Allowed levels are 1 to 22 and -1 to -7, see <https\://facebook.github.io/zstd/>. Note that 0 equals to no compression]:LEVEL:_default' \
'--set-append-only=[Set append-only mode. Note that only append-only commands work once this is set. \`forget\`, \`prune\` or \`config\` won'\''t work any longer]:SET_APPEND_ONLY:(true false)' \
'--set-treepack-size=[Set default packsize for tree packs. rustic tries to always produce packs greater than this value. Note that for large repos, this value is grown by the grown factor. Defaults to \`4 MiB\` if not set]:SIZE:_default' \
'--set-treepack-size-limit=[Set upper limit for default packsize for tree packs. Note that packs actually can get a bit larger. If not set, pack sizes can grow up to approximately \`4 GiB\`]:SIZE:_default' \
'--set-treepack-growfactor=[Set grow factor for tree packs. The default packsize grows by the square root of the total size of all tree packs multiplied with this factor. This means 32 kiB times this factor per square root of total treesize in GiB. Defaults to \`32\` (= 1MB per square root of total treesize in GiB) if not set]:FACTOR:_default' \
'--set-datapack-size=[Set default packsize for data packs. rustic tries to always produce packs greater than this value. Note that for large repos, this value is grown by the grown factor. Defaults to \`32 MiB\` if not set]:SIZE:_default' \
'--set-datapack-growfactor=[Set grow factor for data packs. The default packsize grows by the square root of the total size of all data packs multiplied with this factor. This means 32 kiB times this factor per square root of total datasize in GiB. Defaults to \`32\` (= 1MB per square root of total datasize in GiB) if not set]:FACTOR:_default' \
'--set-datapack-size-limit=[Set upper limit for default packsize for tree packs. Note that packs actually can get a bit larger. If not set, pack sizes can grow up to approximately \`4 GiB\`]:SIZE:_default' \
'--set-min-packsize-tolerate-percent=[Set minimum tolerated packsize in percent of the targeted packsize. Defaults to \`30\` if not set]:PERCENT:_default' \
'--set-max-packsize-tolerate-percent=[Set maximum tolerated packsize in percent of the targeted packsize A value of \`0\` means packs larger than the targeted packsize are always tolerated. Default if not set\: larger packfiles are always tolerated]:PERCENT:_default' \
'--set-extra-verify=[Do an extra verification by decompressing/decrypting all data before uploading to the repository. Default\: true]:SET_EXTRA_VERIFY:(true false)' \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--hot-only[initialize hot repository for existing cold repository]' \
'--with-created[Add '\''created'\'' date in public key information]' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(key)
_arguments "${_arguments_options[@]}" : \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_rustic__subcmd__key_commands" \
"*::: :->key" \
&& ret=0

    case $state in
    (key)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:rustic-key-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" : \
'--new-password=[New password]:NEW_PASSWORD:_default' \
'--new-password-file=[File from which to read the new password]:NEW_PASSWORD_FILE:_files' \
'--new-password-command=[Command to get the new password from]:NEW_PASSWORD_COMMAND:_default' \
'--hostname=[Set '\''hostname'\'' in public key information]:HOSTNAME:_default' \
'--username=[Set '\''username'\'' in public key information]:USERNAME:_default' \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--with-created[Add '\''created'\'' date in public key information]' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::ids -- The keys to remove:_default' \
&& ret=0
;;
(password)
_arguments "${_arguments_options[@]}" : \
'--new-password=[New password]:NEW_PASSWORD:_default' \
'--new-password-file=[File from which to read the new password]:NEW_PASSWORD_FILE:_files' \
'--new-password-command=[Command to get the new password from]:NEW_PASSWORD_COMMAND:_default' \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(export)
_arguments "${_arguments_options[@]}" : \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--qr[Generate a QR code in svg format]' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::file -- Write to file if given, else to stdout:_files' \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" : \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::file -- Write to file if given, else to stdout:_files' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_rustic__subcmd__key__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:rustic-key-help-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(password)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(export)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(list)
_arguments "${_arguments_options[@]}" : \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':tpe -- File types to list:(blobs indexpacks indexcontent index packs snapshots keys)' \
&& ret=0
;;
(ls)
_arguments "${_arguments_options[@]}" : \
'*--glob=[Glob pattern to exclude/include (can be specified multiple times)]:GLOB:_default' \
'*--iglob=[Same as --glob pattern but ignores the casing of filenames]:GLOB:_default' \
'*--glob-file=[Read glob patterns to exclude/include from this file (can be specified multiple times)]:FILE:_default' \
'*--iglob-file=[Same as --glob-file ignores the casing of filenames in patterns]:FILE:_default' \
'*--custom-ignorefile=[Treat the provided filename like a .gitignore file (can be specified multiple times)]:FILE:_default' \
'*--exclude-if-present=[Exclude contents of directories containing this filename (can be specified multiple times)]:FILE:_default' \
'*--exclude-if-xattr=[Exclude files/directories having the given extended attribute set (can be specified multiple times)]:XATTR:_default' \
'--exclude-larger-than=[Maximum size of files to be backed up. Larger files will be excluded]:SIZE:_default' \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'(--json)-s[show summary]' \
'(--json)--summary[show summary]' \
'(--json)-l[show long listing]' \
'(--json)--long[show long listing]' \
'(-s --summary -l --long)--json[show listing in json]' \
'--numeric-uid-gid[show uid/gid instead of user/group]' \
'--recursive[recursively list the dir]' \
'-i[Run in interactive UI mode]' \
'--interactive[Run in interactive UI mode]' \
'--git-ignore[Ignore files based on .gitignore files]' \
'--no-require-git[Do not require a git repository to apply git-ignore rule]' \
'-x[Exclude other file systems, don'\''t cross filesystem boundaries and subvolumes]' \
'--one-file-system[Exclude other file systems, don'\''t cross filesystem boundaries and subvolumes]' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':snap -- Snapshot\:path to list (uses local path if no snapshot is given):_default' \
&& ret=0
;;
(merge)
_arguments "${_arguments_options[@]}" : \
'--label=[Label snapshot with given label]:LABEL:_default' \
'*--tag=[Tags to add to snapshot (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--description=[Add description to snapshot]:DESCRIPTION:_default' \
'(--description)--description-from=[Add description to snapshot from file]:FILE:_files' \
'--time=[Set the backup time manually (e.g. "2021-01-21 14\:15\:23+0000")]:TIME:_default' \
'--delete-after=[Mark snapshot to be deleted after given duration (e.g. 10d)]:DURATION:_default' \
'--host=[Set the host name manually]:NAME:_default' \
'--command=[Set the backup command manually]:COMMAND:_default' \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--json[Output generated snapshot in json format]' \
'--delete[Remove input snapshots after merging]' \
'(--delete-after)--delete-never[Mark snapshot as uneraseable]' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::ids -- Snapshots to merge. If none is given, use filter options to filter from all snapshots:_default' \
&& ret=0
;;
(snapshots)
_arguments "${_arguments_options[@]}" : \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--long[Show detailed information about snapshots]' \
'(--long)--json[Show snapshots in json format]' \
'(--long --json)--all[Show all snapshots instead of summarizing identical follow-up snapshots]' \
'-i[Run in interactive UI mode]' \
'--interactive[Run in interactive UI mode]' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::ids -- Snapshots to show. If none is given, use filter options to filter from all snapshots:_default' \
&& ret=0
;;
(show-config)
_arguments "${_arguments_options[@]}" : \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(self-update)
_arguments "${_arguments_options[@]}" : \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'(-n --dry-run)--force[Do not ask before processing the self-update]' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(prune)
_arguments "${_arguments_options[@]}" : \
'--max-repack=[Define maximum data to repack in % of reposize or as size (e.g. '\''5b'\'', '\''2 kB'\'', '\''3M'\'', '\''4TiB'\'') or '\''unlimited'\'']:LIMIT:_default' \
'--max-unused=[Tolerate limit of unused data in % of reposize after pruning or as size (e.g. '\''5b'\'', '\''2 kB'\'', '\''3M'\'', '\''4TiB'\'') or '\''unlimited'\'']:LIMIT:_default' \
'--keep-pack=[Minimum duration (e.g. 90d) to keep packs before repacking or removing. More recently created packs won'\''t be repacked or marked for deletion within this prune run]:DURATION:_default' \
'--keep-delete=[Minimum duration (e.g. 10m) to keep packs marked for deletion. More recently marked packs won'\''t be deleted within this prune run]:DURATION:_default' \
'--repack-cacheable-only=[Only repack packs which are cacheable \[default\: true for a hot/cold repository, else false\]]:TRUE/FALSE:(true false)' \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--instant-delete[Delete files immediately instead of marking them. This also removes all files already marked for deletion]' \
'--early-delete-index[Delete index files early if instant-delete is chosen. This allows to run prune if there is few or no space left]' \
'--fast-repack[Simply copy blobs when repacking instead of decrypting; possibly compressing; encrypting]' \
'(--fast-repack)--repack-uncompressed[Repack packs containing uncompressed blobs. This cannot be used with --fast-repack. Implies --max-unused=0]' \
'--repack-all[Repack all packs. Implies --max-unused=0]' \
'--no-resize[Do not repack packs which only needs to be resized]' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(restore)
_arguments "${_arguments_options[@]}" : \
'*--glob=[Glob pattern to exclude/include (can be specified multiple times)]:GLOB:_default' \
'*--iglob=[Same as --glob pattern but ignores the casing of filenames]:GLOB:_default' \
'*--glob-file=[Read glob patterns to exclude/include from this file (can be specified multiple times)]:FILE:_default' \
'*--iglob-file=[Same as --glob-file ignores the casing of filenames in patterns]:FILE:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'--delete[Remove all files/dirs in destination which are not contained in snapshot]' \
'--numeric-id[Use numeric ids instead of user/group when restoring uid/gui]' \
'(--numeric-id)--no-ownership[Don'\''t restore ownership (user/group)]' \
'--verify-existing[Always read and verify existing files (don'\''t trust correct modification time and file size)]' \
'--recursive[recursively list the dir]' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':snap -- Snapshot/path to restore:_default' \
':dest -- Restore destination:_default' \
&& ret=0
;;
(rewrite)
_arguments "${_arguments_options[@]}" : \
'--tags-rewritten=[Tags to add to rewritten snapshots \[default\: "rewrite" if original snapshots are not removed\]]:TAG[,TAG,..]:_default' \
'--set-label=[Set label]:LABEL:_default' \
'--set-time=[Set the backup time (e.g. "2021-01-21 14\:15\:23")]:SET_TIME:_default' \
'--set-hostname=[Set the host name]:NAME:_default' \
'*--add-tags=[Tags to add (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--set-tags=[Tag list to set (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--remove-tags=[Tags to remove (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--set-description=[Set description]:DESCRIPTION:_default' \
'(--set-description)--set-description-from=[Read description to set from the given file]:FILE:_files' \
'--set-delete-after=[Mark snapshot to be deleted after given duration (e.g. 10d)]:DURATION:_default' \
'*--glob=[Glob pattern to exclude/include (can be specified multiple times)]:GLOB:_default' \
'*--iglob=[Same as --glob pattern but ignores the casing of filenames]:GLOB:_default' \
'*--glob-file=[Read glob patterns to exclude/include from this file (can be specified multiple times)]:FILE:_default' \
'*--iglob-file=[Same as --glob-file ignores the casing of filenames in patterns]:FILE:_default' \
'--set-atime=[Set access time \[default\: mtime\]]:SET_ATIME:((yes\:"Use the given time"
mtime\:"Use mtime"
no\:"Use no time at all"))' \
'--set-ctime=[Set changed time \[default\: yes\]]:SET_CTIME:((yes\:"Use the given time"
mtime\:"Use mtime"
no\:"Use no time at all"))' \
'--set-devid=[Set device ID \[default\: hardlink\]]:SET_DEVID:((yes\:"Use the given devid"
hardlink\:"Use the given devid if this is a hardlink, les not"
no\:"Use no devid at all"))' \
'--set-xattrs=[Set extended attributes \[default\: yes\]]:SET_XATTRS:((yes\:"Use the given xattr"
no\:"Use no xattrs at all"))' \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--forget[remove original snapshots]' \
'(--set-description --set-description-from)--remove-description[Remove description]' \
'(--set-delete-after)--set-delete-never[Mark snapshot as uneraseable]' \
'(--set-delete-never --set-delete-after)--remove-delete[Remove any delete mark]' \
'--all-trees[treat all trees as changed (i.e. serialize all and rebuild summary)]' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::ids -- Snapshots to rewrite. If none is given, use filter to filter from all snapshots:_default' \
&& ret=0
;;
(repair)
_arguments "${_arguments_options[@]}" : \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_rustic__subcmd__repair_commands" \
"*::: :->repair" \
&& ret=0

    case $state in
    (repair)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:rustic-repair-command-$line[1]:"
        case $line[1] in
            (index)
_arguments "${_arguments_options[@]}" : \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--read-all[Read all data packs, i.e. completely re-create the index]' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(snapshots)
_arguments "${_arguments_options[@]}" : \
'--suffix=[Append this suffix to repaired directory or file name]:SUFFIX:_default' \
'*--tag=[Tag list to set on repaired snapshots (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--delete[Also remove defect snapshots]' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::ids -- Snapshots to repair. If none is given, use filter to filter from all snapshots:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_rustic__subcmd__repair__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:rustic-repair-help-command-$line[1]:"
        case $line[1] in
            (index)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(snapshots)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(repoinfo)
_arguments "${_arguments_options[@]}" : \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--only-files[Only scan repository files (doesn'\''t need credentials)]' \
'--only-index[Only scan index]' \
'--json[Show infos in json format]' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(tag)
_arguments "${_arguments_options[@]}" : \
'(--remove)*--add=[Tags to add (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--remove=[Tags to remove (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'(--remove)*--set=[Tag list to set (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::ids -- Snapshots to change tags. If none is given, use filter to filter from all snapshots:_default' \
&& ret=0
;;
(webdav)
_arguments "${_arguments_options[@]}" : \
'--address=[Address to bind the webdav server to. \[default\: "localhost\:8000"\]]:ADDRESS:_default' \
'--path-template=[The path template to use for snapshots. {id}, {id_long}, {time}, {username}, {hostname}, {label}, {tags}, {backup_start}, {backup_end} are replaced. \[default\: "\[{hostname}\]/\[{label}\]/{time}"\]]:PATH_TEMPLATE:_default' \
'--time-template=[The time template to use to display times in the path template. See https\://pubs.opengroup.org/onlinepubs/009695399/functions/strftime.html for format options. \[default\: "%Y-%m-%d_%H-%M-%S"\]]:TIME_TEMPLATE:_default' \
'--file-access=[How to handle access to files. \[default\: "forbidden" for hot/cold repositories, else "read"\]]:FILE_ACCESS:_default' \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--symlinks[Use symlinks. This may not be supported by all WebDAV clients]' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::snapshot_path -- Specify directly which snapshot/path to serve:_default' \
&& ret=0
;;
(version)
_arguments "${_arguments_options[@]}" : \
'*-P+[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'*--use-profile=[Config profile to use. This parses the file \`<PROFILE>.toml\` in the config directory. \[default\: "rustic"\]]:PROFILE:_default' \
'-g+[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--group-by=[Group snapshots by any combination of host,label,paths,tags, e.g. to find the latest snapshot \[default\: "host,label,paths"\]]:CRITERION:_default' \
'--log-level=[Use this log level \[default\: info\]]:LOG_LEVEL:(off error warn info debug trace)' \
'--log-level-logfile=[Use this log level for the log file \[default\: info\]]:LOG_LEVEL_LOGFILE:(off error warn info debug trace)' \
'--log-level-dryrun=[Use this log level in dry-run mode \[default\: info\]]:LOG_LEVEL_DRYRUN:(off error warn info debug trace)' \
'--log-level-dependencies=[Use this log level for dependencies \[default\: warn\]]:LOG_LEVEL_DEPENDENCIES:(off error warn info debug trace)' \
'--log-file=[Write log messages to the given file (using log-level-logfile)]:LOGFILE:_files' \
'(--no-progress)--progress-interval=[Interval to update progress bars (default\: 100ms)]:DURATION:_default' \
'--prometheus=[Push metrics to a Prometheus Pushgateway]:PUSHGATEWAY_URL:_urls' \
'--opentelemetry=[OpenTelemetry metrics endpoint (HTTP Protobuf)]:ENDPOINT_URL:_urls' \
'-r+[Repository to use]:REPOSITORY:_files -/' \
'--repository=[Repository to use]:REPOSITORY:_files -/' \
'--repo=[Repository to use]:REPOSITORY:_files -/' \
'--repo-hot=[Repository to use as hot storage]:REPO_HOT:_default' \
'(--no-cache)--cache-dir=[Use this dir as cache dir instead of the standard cache dir]:CACHE_DIR:_files -/' \
'(--warm-up)--warm-up-command=[Warm up needed data pack files by running the command with %id replaced by pack id]:WARM_UP_COMMAND:_default' \
'(--warm-up-wait)--warm-up-wait-command=[Wait for end of warm up by running the command with %id replaced by pack id]:WARM_UP_WAIT_COMMAND:_default' \
'--warm-up-wait=[Duration (e.g. 10m) to wait after warm up]:DURATION:_default' \
'--warm-up-batch=[Batch size for warm-up command invocations]:WARM_UP_BATCH:_default' \
'--key=[masterkey to use]:KEY:_default' \
'(--password -p --password-file --password-command)--key-file=[File to read the masterkey from]:KEY_FILE:_files' \
'(--password -p --password-file --password-command)--key-command=[Command to read the masterkey from. Key is read from stdout]:KEY_COMMAND:_files' \
'--password=[Password for the repository]:PASSWORD:_default' \
'(--password)-p+[File to read the password from]:PASSWORD_FILE:_files' \
'(--password)--password-file=[File to read the password from]:PASSWORD_FILE:_files' \
'(--password -p --password-file)--password-command=[Command to read the password from. Password is read from stdout]:PASSWORD_COMMAND:_default' \
'*--filter-host=[Hostname to filter (can be specified multiple times)]:HOSTNAME:_default' \
'*--filter-label=[Label to filter (can be specified multiple times)]:LABEL:_default' \
'*--filter-paths=[Path list to filter (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-paths-exact=[Path list to filter exactly (no superset) as given (can be specified multiple times)]:PATH[,PATH,..]:_default' \
'*--filter-tags=[Tag list to filter (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'*--filter-tags-exact=[Tag list to filter exactly (no superset) as given (can be specified multiple times)]:TAG[,TAG,..]:_default' \
'--filter-after=[Only use snapshots which are taken after the given given date/time]:DATE(TIME):_default' \
'--filter-before=[Only use snapshots which are taken before the given given date/time]:DATE(TIME):_default' \
'--filter-size=[Only use snapshots with total size in given range]:SIZE:_default' \
'--filter-size-added=[Only use snapshots with size added to the repo in given range]:SIZE:_default' \
'--filter-last=[Only use the last COUNT snapshots for each group]:COUNT:_default' \
'--filter-jq=[jq to filter snapshots]:JQ:_default' \
'--profile-substitute-env[Substitute environment variables in profiles]' \
'-n[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run[Only show what would be done without modifying anything. Does not affect read-only commands]' \
'--dry-run-warmup[Additional to dry run, but still issue warm-up command if configured]' \
'--check-index[Check if index matches pack files and read pack headers if necessary]' \
'--no-progress[Don'\''t show any progress bar]' \
'(--no-progress)--json-progress[Write progress as newline-delimited JSON]' \
'--show-time-offset[Show time offsets instead of converting to system time zone]' \
'--no-cache[Don'\''t use a cache]' \
'--warm-up[Warm up needed data pack files by only requesting them without processing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_rustic__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:rustic-help-command-$line[1]:"
        case $line[1] in
            (backup)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(cat)
_arguments "${_arguments_options[@]}" : \
":: :_rustic__subcmd__help__subcmd__cat_commands" \
"*::: :->cat" \
&& ret=0

    case $state in
    (cat)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:rustic-help-cat-command-$line[1]:"
        case $line[1] in
            (tree-blob)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(data-blob)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(config)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(index)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(snapshot)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(tree)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(masterkey)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(config)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(completions)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(check)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(copy)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(diff)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(docs)
_arguments "${_arguments_options[@]}" : \
":: :_rustic__subcmd__help__subcmd__docs_commands" \
"*::: :->docs" \
&& ret=0

    case $state in
    (docs)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:rustic-help-docs-command-$line[1]:"
        case $line[1] in
            (user)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(dev)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(config)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(dump)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(find)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(forget)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(init)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(key)
_arguments "${_arguments_options[@]}" : \
":: :_rustic__subcmd__help__subcmd__key_commands" \
"*::: :->key" \
&& ret=0

    case $state in
    (key)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:rustic-help-key-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(password)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(export)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(ls)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(merge)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(snapshots)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(show-config)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(self-update)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(prune)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(restore)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rewrite)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(repair)
_arguments "${_arguments_options[@]}" : \
":: :_rustic__subcmd__help__subcmd__repair_commands" \
"*::: :->repair" \
&& ret=0

    case $state in
    (repair)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:rustic-help-repair-command-$line[1]:"
        case $line[1] in
            (index)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(snapshots)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(repoinfo)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(tag)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(webdav)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(version)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
}

(( $+functions[_rustic_commands] )) ||
_rustic_commands() {
    local commands; commands=(
'backup:Backup to the repository' \
'cat:Show raw data of files and blobs in a repository' \
'config:Change the repository configuration' \
'completions:Generate shell completions' \
'check:Check the repository' \
'copy:Copy snapshots to other repositories' \
'diff:Compare two snapshots or paths' \
'docs:Open the documentation' \
'dump:Dump the contents of a file within a snapshot to stdout' \
'find:Find patterns in given snapshots' \
'forget:Remove snapshots from the repository' \
'init:Initialize a new repository' \
'key:Manage keys for a repository' \
'list:List repository files by file type' \
'ls:List file contents of a snapshot' \
'merge:Merge snapshots' \
'snapshots:Show a detailed overview of the snapshots within the repository' \
'show-config:Show the configuration which has been read from the config file(s)' \
'self-update:Update to the latest stable rustic release' \
'prune:Remove unused data or repack repository pack files' \
'restore:Restore (a path within) a snapshot' \
'rewrite:Rewrite existing snapshot(s)' \
'repair:Repair a snapshot or the repository index' \
'repoinfo:Show general information about the repository' \
'tag:Change tags of snapshots' \
'webdav:Start a webdav server which allows to access the repository' \
'version:Print version information' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'rustic commands' commands "$@"
}
(( $+functions[_rustic__subcmd__backup_commands] )) ||
_rustic__subcmd__backup_commands() {
    local commands; commands=()
    _describe -t commands 'rustic backup commands' commands "$@"
}
(( $+functions[_rustic__subcmd__cat_commands] )) ||
_rustic__subcmd__cat_commands() {
    local commands; commands=(
'tree-blob:Display a tree blob' \
'data-blob:Display a data blob' \
'config:Display the config file' \
'index:Display an index file' \
'snapshot:Display a snapshot file' \
'tree:Display a tree within a snapshot' \
'masterkey:Display the masterkey' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'rustic cat commands' commands "$@"
}
(( $+functions[_rustic__subcmd__cat__subcmd__config_commands] )) ||
_rustic__subcmd__cat__subcmd__config_commands() {
    local commands; commands=()
    _describe -t commands 'rustic cat config commands' commands "$@"
}
(( $+functions[_rustic__subcmd__cat__subcmd__data-blob_commands] )) ||
_rustic__subcmd__cat__subcmd__data-blob_commands() {
    local commands; commands=()
    _describe -t commands 'rustic cat data-blob commands' commands "$@"
}
(( $+functions[_rustic__subcmd__cat__subcmd__help_commands] )) ||
_rustic__subcmd__cat__subcmd__help_commands() {
    local commands; commands=(
'tree-blob:Display a tree blob' \
'data-blob:Display a data blob' \
'config:Display the config file' \
'index:Display an index file' \
'snapshot:Display a snapshot file' \
'tree:Display a tree within a snapshot' \
'masterkey:Display the masterkey' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'rustic cat help commands' commands "$@"
}
(( $+functions[_rustic__subcmd__cat__subcmd__help__subcmd__config_commands] )) ||
_rustic__subcmd__cat__subcmd__help__subcmd__config_commands() {
    local commands; commands=()
    _describe -t commands 'rustic cat help config commands' commands "$@"
}
(( $+functions[_rustic__subcmd__cat__subcmd__help__subcmd__data-blob_commands] )) ||
_rustic__subcmd__cat__subcmd__help__subcmd__data-blob_commands() {
    local commands; commands=()
    _describe -t commands 'rustic cat help data-blob commands' commands "$@"
}
(( $+functions[_rustic__subcmd__cat__subcmd__help__subcmd__help_commands] )) ||
_rustic__subcmd__cat__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'rustic cat help help commands' commands "$@"
}
(( $+functions[_rustic__subcmd__cat__subcmd__help__subcmd__index_commands] )) ||
_rustic__subcmd__cat__subcmd__help__subcmd__index_commands() {
    local commands; commands=()
    _describe -t commands 'rustic cat help index commands' commands "$@"
}
(( $+functions[_rustic__subcmd__cat__subcmd__help__subcmd__masterkey_commands] )) ||
_rustic__subcmd__cat__subcmd__help__subcmd__masterkey_commands() {
    local commands; commands=()
    _describe -t commands 'rustic cat help masterkey commands' commands "$@"
}
(( $+functions[_rustic__subcmd__cat__subcmd__help__subcmd__snapshot_commands] )) ||
_rustic__subcmd__cat__subcmd__help__subcmd__snapshot_commands() {
    local commands; commands=()
    _describe -t commands 'rustic cat help snapshot commands' commands "$@"
}
(( $+functions[_rustic__subcmd__cat__subcmd__help__subcmd__tree_commands] )) ||
_rustic__subcmd__cat__subcmd__help__subcmd__tree_commands() {
    local commands; commands=()
    _describe -t commands 'rustic cat help tree commands' commands "$@"
}
(( $+functions[_rustic__subcmd__cat__subcmd__help__subcmd__tree-blob_commands] )) ||
_rustic__subcmd__cat__subcmd__help__subcmd__tree-blob_commands() {
    local commands; commands=()
    _describe -t commands 'rustic cat help tree-blob commands' commands "$@"
}
(( $+functions[_rustic__subcmd__cat__subcmd__index_commands] )) ||
_rustic__subcmd__cat__subcmd__index_commands() {
    local commands; commands=()
    _describe -t commands 'rustic cat index commands' commands "$@"
}
(( $+functions[_rustic__subcmd__cat__subcmd__masterkey_commands] )) ||
_rustic__subcmd__cat__subcmd__masterkey_commands() {
    local commands; commands=()
    _describe -t commands 'rustic cat masterkey commands' commands "$@"
}
(( $+functions[_rustic__subcmd__cat__subcmd__snapshot_commands] )) ||
_rustic__subcmd__cat__subcmd__snapshot_commands() {
    local commands; commands=()
    _describe -t commands 'rustic cat snapshot commands' commands "$@"
}
(( $+functions[_rustic__subcmd__cat__subcmd__tree_commands] )) ||
_rustic__subcmd__cat__subcmd__tree_commands() {
    local commands; commands=()
    _describe -t commands 'rustic cat tree commands' commands "$@"
}
(( $+functions[_rustic__subcmd__cat__subcmd__tree-blob_commands] )) ||
_rustic__subcmd__cat__subcmd__tree-blob_commands() {
    local commands; commands=()
    _describe -t commands 'rustic cat tree-blob commands' commands "$@"
}
(( $+functions[_rustic__subcmd__check_commands] )) ||
_rustic__subcmd__check_commands() {
    local commands; commands=()
    _describe -t commands 'rustic check commands' commands "$@"
}
(( $+functions[_rustic__subcmd__completions_commands] )) ||
_rustic__subcmd__completions_commands() {
    local commands; commands=()
    _describe -t commands 'rustic completions commands' commands "$@"
}
(( $+functions[_rustic__subcmd__config_commands] )) ||
_rustic__subcmd__config_commands() {
    local commands; commands=()
    _describe -t commands 'rustic config commands' commands "$@"
}
(( $+functions[_rustic__subcmd__copy_commands] )) ||
_rustic__subcmd__copy_commands() {
    local commands; commands=()
    _describe -t commands 'rustic copy commands' commands "$@"
}
(( $+functions[_rustic__subcmd__diff_commands] )) ||
_rustic__subcmd__diff_commands() {
    local commands; commands=()
    _describe -t commands 'rustic diff commands' commands "$@"
}
(( $+functions[_rustic__subcmd__docs_commands] )) ||
_rustic__subcmd__docs_commands() {
    local commands; commands=(
'user:Show the user documentation' \
'dev:Show the development documentation' \
'config:Show the configuration documentation' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'rustic docs commands' commands "$@"
}
(( $+functions[_rustic__subcmd__docs__subcmd__config_commands] )) ||
_rustic__subcmd__docs__subcmd__config_commands() {
    local commands; commands=()
    _describe -t commands 'rustic docs config commands' commands "$@"
}
(( $+functions[_rustic__subcmd__docs__subcmd__dev_commands] )) ||
_rustic__subcmd__docs__subcmd__dev_commands() {
    local commands; commands=()
    _describe -t commands 'rustic docs dev commands' commands "$@"
}
(( $+functions[_rustic__subcmd__docs__subcmd__help_commands] )) ||
_rustic__subcmd__docs__subcmd__help_commands() {
    local commands; commands=(
'user:Show the user documentation' \
'dev:Show the development documentation' \
'config:Show the configuration documentation' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'rustic docs help commands' commands "$@"
}
(( $+functions[_rustic__subcmd__docs__subcmd__help__subcmd__config_commands] )) ||
_rustic__subcmd__docs__subcmd__help__subcmd__config_commands() {
    local commands; commands=()
    _describe -t commands 'rustic docs help config commands' commands "$@"
}
(( $+functions[_rustic__subcmd__docs__subcmd__help__subcmd__dev_commands] )) ||
_rustic__subcmd__docs__subcmd__help__subcmd__dev_commands() {
    local commands; commands=()
    _describe -t commands 'rustic docs help dev commands' commands "$@"
}
(( $+functions[_rustic__subcmd__docs__subcmd__help__subcmd__help_commands] )) ||
_rustic__subcmd__docs__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'rustic docs help help commands' commands "$@"
}
(( $+functions[_rustic__subcmd__docs__subcmd__help__subcmd__user_commands] )) ||
_rustic__subcmd__docs__subcmd__help__subcmd__user_commands() {
    local commands; commands=()
    _describe -t commands 'rustic docs help user commands' commands "$@"
}
(( $+functions[_rustic__subcmd__docs__subcmd__user_commands] )) ||
_rustic__subcmd__docs__subcmd__user_commands() {
    local commands; commands=()
    _describe -t commands 'rustic docs user commands' commands "$@"
}
(( $+functions[_rustic__subcmd__dump_commands] )) ||
_rustic__subcmd__dump_commands() {
    local commands; commands=()
    _describe -t commands 'rustic dump commands' commands "$@"
}
(( $+functions[_rustic__subcmd__find_commands] )) ||
_rustic__subcmd__find_commands() {
    local commands; commands=()
    _describe -t commands 'rustic find commands' commands "$@"
}
(( $+functions[_rustic__subcmd__forget_commands] )) ||
_rustic__subcmd__forget_commands() {
    local commands; commands=()
    _describe -t commands 'rustic forget commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help_commands] )) ||
_rustic__subcmd__help_commands() {
    local commands; commands=(
'backup:Backup to the repository' \
'cat:Show raw data of files and blobs in a repository' \
'config:Change the repository configuration' \
'completions:Generate shell completions' \
'check:Check the repository' \
'copy:Copy snapshots to other repositories' \
'diff:Compare two snapshots or paths' \
'docs:Open the documentation' \
'dump:Dump the contents of a file within a snapshot to stdout' \
'find:Find patterns in given snapshots' \
'forget:Remove snapshots from the repository' \
'init:Initialize a new repository' \
'key:Manage keys for a repository' \
'list:List repository files by file type' \
'ls:List file contents of a snapshot' \
'merge:Merge snapshots' \
'snapshots:Show a detailed overview of the snapshots within the repository' \
'show-config:Show the configuration which has been read from the config file(s)' \
'self-update:Update to the latest stable rustic release' \
'prune:Remove unused data or repack repository pack files' \
'restore:Restore (a path within) a snapshot' \
'rewrite:Rewrite existing snapshot(s)' \
'repair:Repair a snapshot or the repository index' \
'repoinfo:Show general information about the repository' \
'tag:Change tags of snapshots' \
'webdav:Start a webdav server which allows to access the repository' \
'version:Print version information' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'rustic help commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__backup_commands] )) ||
_rustic__subcmd__help__subcmd__backup_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help backup commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__cat_commands] )) ||
_rustic__subcmd__help__subcmd__cat_commands() {
    local commands; commands=(
'tree-blob:Display a tree blob' \
'data-blob:Display a data blob' \
'config:Display the config file' \
'index:Display an index file' \
'snapshot:Display a snapshot file' \
'tree:Display a tree within a snapshot' \
'masterkey:Display the masterkey' \
    )
    _describe -t commands 'rustic help cat commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__cat__subcmd__config_commands] )) ||
_rustic__subcmd__help__subcmd__cat__subcmd__config_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help cat config commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__cat__subcmd__data-blob_commands] )) ||
_rustic__subcmd__help__subcmd__cat__subcmd__data-blob_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help cat data-blob commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__cat__subcmd__index_commands] )) ||
_rustic__subcmd__help__subcmd__cat__subcmd__index_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help cat index commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__cat__subcmd__masterkey_commands] )) ||
_rustic__subcmd__help__subcmd__cat__subcmd__masterkey_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help cat masterkey commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__cat__subcmd__snapshot_commands] )) ||
_rustic__subcmd__help__subcmd__cat__subcmd__snapshot_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help cat snapshot commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__cat__subcmd__tree_commands] )) ||
_rustic__subcmd__help__subcmd__cat__subcmd__tree_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help cat tree commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__cat__subcmd__tree-blob_commands] )) ||
_rustic__subcmd__help__subcmd__cat__subcmd__tree-blob_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help cat tree-blob commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__check_commands] )) ||
_rustic__subcmd__help__subcmd__check_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help check commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__completions_commands] )) ||
_rustic__subcmd__help__subcmd__completions_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help completions commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__config_commands] )) ||
_rustic__subcmd__help__subcmd__config_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help config commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__copy_commands] )) ||
_rustic__subcmd__help__subcmd__copy_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help copy commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__diff_commands] )) ||
_rustic__subcmd__help__subcmd__diff_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help diff commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__docs_commands] )) ||
_rustic__subcmd__help__subcmd__docs_commands() {
    local commands; commands=(
'user:Show the user documentation' \
'dev:Show the development documentation' \
'config:Show the configuration documentation' \
    )
    _describe -t commands 'rustic help docs commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__docs__subcmd__config_commands] )) ||
_rustic__subcmd__help__subcmd__docs__subcmd__config_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help docs config commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__docs__subcmd__dev_commands] )) ||
_rustic__subcmd__help__subcmd__docs__subcmd__dev_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help docs dev commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__docs__subcmd__user_commands] )) ||
_rustic__subcmd__help__subcmd__docs__subcmd__user_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help docs user commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__dump_commands] )) ||
_rustic__subcmd__help__subcmd__dump_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help dump commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__find_commands] )) ||
_rustic__subcmd__help__subcmd__find_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help find commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__forget_commands] )) ||
_rustic__subcmd__help__subcmd__forget_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help forget commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__help_commands] )) ||
_rustic__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help help commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__init_commands] )) ||
_rustic__subcmd__help__subcmd__init_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help init commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__key_commands] )) ||
_rustic__subcmd__help__subcmd__key_commands() {
    local commands; commands=(
'add:Add a new key to the repository' \
'list:List all keys in the repository' \
'remove:Remove a key from the repository' \
'password:Change the password of a key' \
'export:Export the masterkey' \
'create:Create a new masterkey' \
    )
    _describe -t commands 'rustic help key commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__key__subcmd__add_commands] )) ||
_rustic__subcmd__help__subcmd__key__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help key add commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__key__subcmd__create_commands] )) ||
_rustic__subcmd__help__subcmd__key__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help key create commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__key__subcmd__export_commands] )) ||
_rustic__subcmd__help__subcmd__key__subcmd__export_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help key export commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__key__subcmd__list_commands] )) ||
_rustic__subcmd__help__subcmd__key__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help key list commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__key__subcmd__password_commands] )) ||
_rustic__subcmd__help__subcmd__key__subcmd__password_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help key password commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__key__subcmd__remove_commands] )) ||
_rustic__subcmd__help__subcmd__key__subcmd__remove_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help key remove commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__list_commands] )) ||
_rustic__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help list commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__ls_commands] )) ||
_rustic__subcmd__help__subcmd__ls_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help ls commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__merge_commands] )) ||
_rustic__subcmd__help__subcmd__merge_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help merge commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__prune_commands] )) ||
_rustic__subcmd__help__subcmd__prune_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help prune commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__repair_commands] )) ||
_rustic__subcmd__help__subcmd__repair_commands() {
    local commands; commands=(
'index:Repair the repository index' \
'snapshots:Repair snapshots' \
    )
    _describe -t commands 'rustic help repair commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__repair__subcmd__index_commands] )) ||
_rustic__subcmd__help__subcmd__repair__subcmd__index_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help repair index commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__repair__subcmd__snapshots_commands] )) ||
_rustic__subcmd__help__subcmd__repair__subcmd__snapshots_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help repair snapshots commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__repoinfo_commands] )) ||
_rustic__subcmd__help__subcmd__repoinfo_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help repoinfo commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__restore_commands] )) ||
_rustic__subcmd__help__subcmd__restore_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help restore commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__rewrite_commands] )) ||
_rustic__subcmd__help__subcmd__rewrite_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help rewrite commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__self-update_commands] )) ||
_rustic__subcmd__help__subcmd__self-update_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help self-update commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__show-config_commands] )) ||
_rustic__subcmd__help__subcmd__show-config_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help show-config commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__snapshots_commands] )) ||
_rustic__subcmd__help__subcmd__snapshots_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help snapshots commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__tag_commands] )) ||
_rustic__subcmd__help__subcmd__tag_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help tag commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__version_commands] )) ||
_rustic__subcmd__help__subcmd__version_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help version commands' commands "$@"
}
(( $+functions[_rustic__subcmd__help__subcmd__webdav_commands] )) ||
_rustic__subcmd__help__subcmd__webdav_commands() {
    local commands; commands=()
    _describe -t commands 'rustic help webdav commands' commands "$@"
}
(( $+functions[_rustic__subcmd__init_commands] )) ||
_rustic__subcmd__init_commands() {
    local commands; commands=()
    _describe -t commands 'rustic init commands' commands "$@"
}
(( $+functions[_rustic__subcmd__key_commands] )) ||
_rustic__subcmd__key_commands() {
    local commands; commands=(
'add:Add a new key to the repository' \
'list:List all keys in the repository' \
'remove:Remove a key from the repository' \
'password:Change the password of a key' \
'export:Export the masterkey' \
'create:Create a new masterkey' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'rustic key commands' commands "$@"
}
(( $+functions[_rustic__subcmd__key__subcmd__add_commands] )) ||
_rustic__subcmd__key__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'rustic key add commands' commands "$@"
}
(( $+functions[_rustic__subcmd__key__subcmd__create_commands] )) ||
_rustic__subcmd__key__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'rustic key create commands' commands "$@"
}
(( $+functions[_rustic__subcmd__key__subcmd__export_commands] )) ||
_rustic__subcmd__key__subcmd__export_commands() {
    local commands; commands=()
    _describe -t commands 'rustic key export commands' commands "$@"
}
(( $+functions[_rustic__subcmd__key__subcmd__help_commands] )) ||
_rustic__subcmd__key__subcmd__help_commands() {
    local commands; commands=(
'add:Add a new key to the repository' \
'list:List all keys in the repository' \
'remove:Remove a key from the repository' \
'password:Change the password of a key' \
'export:Export the masterkey' \
'create:Create a new masterkey' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'rustic key help commands' commands "$@"
}
(( $+functions[_rustic__subcmd__key__subcmd__help__subcmd__add_commands] )) ||
_rustic__subcmd__key__subcmd__help__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'rustic key help add commands' commands "$@"
}
(( $+functions[_rustic__subcmd__key__subcmd__help__subcmd__create_commands] )) ||
_rustic__subcmd__key__subcmd__help__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'rustic key help create commands' commands "$@"
}
(( $+functions[_rustic__subcmd__key__subcmd__help__subcmd__export_commands] )) ||
_rustic__subcmd__key__subcmd__help__subcmd__export_commands() {
    local commands; commands=()
    _describe -t commands 'rustic key help export commands' commands "$@"
}
(( $+functions[_rustic__subcmd__key__subcmd__help__subcmd__help_commands] )) ||
_rustic__subcmd__key__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'rustic key help help commands' commands "$@"
}
(( $+functions[_rustic__subcmd__key__subcmd__help__subcmd__list_commands] )) ||
_rustic__subcmd__key__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'rustic key help list commands' commands "$@"
}
(( $+functions[_rustic__subcmd__key__subcmd__help__subcmd__password_commands] )) ||
_rustic__subcmd__key__subcmd__help__subcmd__password_commands() {
    local commands; commands=()
    _describe -t commands 'rustic key help password commands' commands "$@"
}
(( $+functions[_rustic__subcmd__key__subcmd__help__subcmd__remove_commands] )) ||
_rustic__subcmd__key__subcmd__help__subcmd__remove_commands() {
    local commands; commands=()
    _describe -t commands 'rustic key help remove commands' commands "$@"
}
(( $+functions[_rustic__subcmd__key__subcmd__list_commands] )) ||
_rustic__subcmd__key__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'rustic key list commands' commands "$@"
}
(( $+functions[_rustic__subcmd__key__subcmd__password_commands] )) ||
_rustic__subcmd__key__subcmd__password_commands() {
    local commands; commands=()
    _describe -t commands 'rustic key password commands' commands "$@"
}
(( $+functions[_rustic__subcmd__key__subcmd__remove_commands] )) ||
_rustic__subcmd__key__subcmd__remove_commands() {
    local commands; commands=()
    _describe -t commands 'rustic key remove commands' commands "$@"
}
(( $+functions[_rustic__subcmd__list_commands] )) ||
_rustic__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'rustic list commands' commands "$@"
}
(( $+functions[_rustic__subcmd__ls_commands] )) ||
_rustic__subcmd__ls_commands() {
    local commands; commands=()
    _describe -t commands 'rustic ls commands' commands "$@"
}
(( $+functions[_rustic__subcmd__merge_commands] )) ||
_rustic__subcmd__merge_commands() {
    local commands; commands=()
    _describe -t commands 'rustic merge commands' commands "$@"
}
(( $+functions[_rustic__subcmd__prune_commands] )) ||
_rustic__subcmd__prune_commands() {
    local commands; commands=()
    _describe -t commands 'rustic prune commands' commands "$@"
}
(( $+functions[_rustic__subcmd__repair_commands] )) ||
_rustic__subcmd__repair_commands() {
    local commands; commands=(
'index:Repair the repository index' \
'snapshots:Repair snapshots' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'rustic repair commands' commands "$@"
}
(( $+functions[_rustic__subcmd__repair__subcmd__help_commands] )) ||
_rustic__subcmd__repair__subcmd__help_commands() {
    local commands; commands=(
'index:Repair the repository index' \
'snapshots:Repair snapshots' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'rustic repair help commands' commands "$@"
}
(( $+functions[_rustic__subcmd__repair__subcmd__help__subcmd__help_commands] )) ||
_rustic__subcmd__repair__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'rustic repair help help commands' commands "$@"
}
(( $+functions[_rustic__subcmd__repair__subcmd__help__subcmd__index_commands] )) ||
_rustic__subcmd__repair__subcmd__help__subcmd__index_commands() {
    local commands; commands=()
    _describe -t commands 'rustic repair help index commands' commands "$@"
}
(( $+functions[_rustic__subcmd__repair__subcmd__help__subcmd__snapshots_commands] )) ||
_rustic__subcmd__repair__subcmd__help__subcmd__snapshots_commands() {
    local commands; commands=()
    _describe -t commands 'rustic repair help snapshots commands' commands "$@"
}
(( $+functions[_rustic__subcmd__repair__subcmd__index_commands] )) ||
_rustic__subcmd__repair__subcmd__index_commands() {
    local commands; commands=()
    _describe -t commands 'rustic repair index commands' commands "$@"
}
(( $+functions[_rustic__subcmd__repair__subcmd__snapshots_commands] )) ||
_rustic__subcmd__repair__subcmd__snapshots_commands() {
    local commands; commands=()
    _describe -t commands 'rustic repair snapshots commands' commands "$@"
}
(( $+functions[_rustic__subcmd__repoinfo_commands] )) ||
_rustic__subcmd__repoinfo_commands() {
    local commands; commands=()
    _describe -t commands 'rustic repoinfo commands' commands "$@"
}
(( $+functions[_rustic__subcmd__restore_commands] )) ||
_rustic__subcmd__restore_commands() {
    local commands; commands=()
    _describe -t commands 'rustic restore commands' commands "$@"
}
(( $+functions[_rustic__subcmd__rewrite_commands] )) ||
_rustic__subcmd__rewrite_commands() {
    local commands; commands=()
    _describe -t commands 'rustic rewrite commands' commands "$@"
}
(( $+functions[_rustic__subcmd__self-update_commands] )) ||
_rustic__subcmd__self-update_commands() {
    local commands; commands=()
    _describe -t commands 'rustic self-update commands' commands "$@"
}
(( $+functions[_rustic__subcmd__show-config_commands] )) ||
_rustic__subcmd__show-config_commands() {
    local commands; commands=()
    _describe -t commands 'rustic show-config commands' commands "$@"
}
(( $+functions[_rustic__subcmd__snapshots_commands] )) ||
_rustic__subcmd__snapshots_commands() {
    local commands; commands=()
    _describe -t commands 'rustic snapshots commands' commands "$@"
}
(( $+functions[_rustic__subcmd__tag_commands] )) ||
_rustic__subcmd__tag_commands() {
    local commands; commands=()
    _describe -t commands 'rustic tag commands' commands "$@"
}
(( $+functions[_rustic__subcmd__version_commands] )) ||
_rustic__subcmd__version_commands() {
    local commands; commands=()
    _describe -t commands 'rustic version commands' commands "$@"
}
(( $+functions[_rustic__subcmd__webdav_commands] )) ||
_rustic__subcmd__webdav_commands() {
    local commands; commands=()
    _describe -t commands 'rustic webdav commands' commands "$@"
}

if [ "$funcstack[1]" = "_rustic" ]; then
    _rustic "$@"
else
    compdef _rustic rustic
fi
