commands_gen.go

  1// Code generated by gen-restic-cmds; DO NOT EDIT.
  2// Source: restic 0.18.1 compiled with go1.25.6 X:nodwarf5 on linux/amd64
  3
  4package restic
  5
  6// Commands maps restic command names to their parsed man-page definitions.
  7// The "global" entry contains flags common to all commands.
  8var Commands = map[string]Command{
  9	"backup": {
 10		Name:        "backup",
 11		Description: "Create a new backup of files and/or directories",
 12		Options: []Option{
 13			{Name: "dry-run", Alias: "n", Default: "false", Description: "do not upload or write any data, just show what would be done", Repeatable: false, IsBool: true},
 14			{Name: "exclude", Alias: "e", Default: "", Description: "exclude a pattern (can be specified multiple times)", Repeatable: true, IsBool: false},
 15			{Name: "exclude-caches", Alias: "", Default: "false", Description: "excludes cache directories that are marked with a CACHEDIR.TAG file. See https://bford.info/cachedir/ for the Cache Directory Tagging Standard", Repeatable: false, IsBool: true},
 16			{Name: "exclude-file", Alias: "", Default: "", Description: "read exclude patterns from a file (can be specified multiple times)", Repeatable: true, IsBool: false},
 17			{Name: "exclude-if-present", Alias: "", Default: "", Description: "takes filename[:header], exclude contents of directories containing filename (except filename itself) if header of that file is as provided (can be specified multiple times)", Repeatable: true, IsBool: false},
 18			{Name: "exclude-larger-than", Alias: "", Default: "", Description: "max size of the files to be backed up (allowed suffixes: k/K, m/M, g/G, t/T)", Repeatable: false, IsBool: false},
 19			{Name: "files-from", Alias: "", Default: "", Description: "read the files to backup from file (can be combined with file args; can be specified multiple times)", Repeatable: true, IsBool: false},
 20			{Name: "files-from-raw", Alias: "", Default: "", Description: "read the files to backup from file (can be combined with file args; can be specified multiple times)", Repeatable: true, IsBool: false},
 21			{Name: "files-from-verbatim", Alias: "", Default: "", Description: "read the files to backup from file (can be combined with file args; can be specified multiple times)", Repeatable: true, IsBool: false},
 22			{Name: "force", Alias: "f", Default: "false", Description: "force re-reading the source files/directories (overrides the \"parent\" flag)", Repeatable: false, IsBool: true},
 23			{Name: "group-by", Alias: "g", Default: "host,paths", Description: "group snapshots by host, paths and/or tags, separated by comma (disable grouping with '')", Repeatable: false, IsBool: false},
 24			{Name: "help", Alias: "h", Default: "false", Description: "help for backup", Repeatable: false, IsBool: true},
 25			{Name: "host", Alias: "H", Default: "", Description: "set the hostname for the snapshot manually (default: $RESTIC_HOST). To prevent an expensive rescan use the \"parent\" flag", Repeatable: false, IsBool: false},
 26			{Name: "iexclude", Alias: "", Default: "", Description: "same as --exclude pattern but ignores the casing of filenames", Repeatable: true, IsBool: false},
 27			{Name: "iexclude-file", Alias: "", Default: "", Description: "same as --exclude-file but ignores casing of filenames in patterns", Repeatable: true, IsBool: false},
 28			{Name: "ignore-ctime", Alias: "", Default: "false", Description: "ignore ctime changes when checking for modified files", Repeatable: false, IsBool: true},
 29			{Name: "ignore-inode", Alias: "", Default: "false", Description: "ignore inode number and ctime changes when checking for modified files", Repeatable: false, IsBool: true},
 30			{Name: "no-scan", Alias: "", Default: "false", Description: "do not run scanner to estimate size of backup", Repeatable: false, IsBool: true},
 31			{Name: "one-file-system", Alias: "x", Default: "false", Description: "exclude other file systems, don't cross filesystem boundaries and subvolumes", Repeatable: false, IsBool: true},
 32			{Name: "parent", Alias: "", Default: "", Description: "use this parent snapshot (default: latest snapshot in the group determined by --group-by and not newer than the timestamp determined by --time)", Repeatable: false, IsBool: false},
 33			{Name: "read-concurrency", Alias: "", Default: "0", Description: "read n files concurrently (default: $RESTIC_READ_CONCURRENCY or 2)", Repeatable: false, IsBool: false},
 34			{Name: "skip-if-unchanged", Alias: "", Default: "false", Description: "skip snapshot creation if identical to parent snapshot", Repeatable: false, IsBool: true},
 35			{Name: "stdin", Alias: "", Default: "false", Description: "read backup from stdin", Repeatable: false, IsBool: true},
 36			{Name: "stdin-filename", Alias: "", Default: "stdin", Description: "filename to use when reading from stdin", Repeatable: false, IsBool: false},
 37			{Name: "stdin-from-command", Alias: "", Default: "false", Description: "interpret arguments as command to execute and store its stdout", Repeatable: false, IsBool: true},
 38			{Name: "tag", Alias: "", Default: "", Description: "add tags for the new snapshot in the format tag[,tag,...] (can be specified multiple times)", Repeatable: true, IsBool: false},
 39			{Name: "time", Alias: "", Default: "", Description: "time of the backup (ex. '2012-11-01 22:08:41') (default: now)", Repeatable: false, IsBool: false},
 40			{Name: "with-atime", Alias: "", Default: "false", Description: "store the atime for all files and directories", Repeatable: false, IsBool: true},
 41		},
 42	},
 43	"cache": {
 44		Name:        "cache",
 45		Description: "Operate on local cache directories",
 46		Options: []Option{
 47			{Name: "cleanup", Alias: "", Default: "false", Description: "remove old cache directories", Repeatable: false, IsBool: true},
 48			{Name: "help", Alias: "h", Default: "false", Description: "help for cache", Repeatable: false, IsBool: true},
 49			{Name: "max-age", Alias: "", Default: "30", Description: "max age in days for cache directories to be considered old", Repeatable: false, IsBool: false},
 50			{Name: "no-size", Alias: "", Default: "false", Description: "do not output the size of the cache directories", Repeatable: false, IsBool: true},
 51		},
 52	},
 53	"cat": {
 54		Name:        "cat",
 55		Description: "Print internal objects to stdout",
 56		Options: []Option{
 57			{Name: "help", Alias: "h", Default: "false", Description: "help for cat", Repeatable: false, IsBool: true},
 58		},
 59	},
 60	"check": {
 61		Name:        "check",
 62		Description: "Check the repository for errors",
 63		Options: []Option{
 64			{Name: "help", Alias: "h", Default: "false", Description: "help for check", Repeatable: false, IsBool: true},
 65			{Name: "read-data", Alias: "", Default: "false", Description: "read all data blobs", Repeatable: false, IsBool: true},
 66			{Name: "read-data-subset", Alias: "", Default: "", Description: "read a subset of data packs, specified as 'n/t' for specific part, or either 'x%' or 'x.y%' or a size in bytes with suffixes k/K, m/M, g/G, t/T for a random subset", Repeatable: false, IsBool: false},
 67			{Name: "with-cache", Alias: "", Default: "false", Description: "use existing cache, only read uncached data from repository", Repeatable: false, IsBool: true},
 68		},
 69	},
 70	"copy": {
 71		Name:        "copy",
 72		Description: "Copy snapshots from one repository to another",
 73		Options: []Option{
 74			{Name: "from-insecure-no-password", Alias: "", Default: "false", Description: "use an empty password for the source repository (insecure)", Repeatable: false, IsBool: true},
 75			{Name: "from-key-hint", Alias: "", Default: "", Description: "key ID of key to try decrypting the source repository first (default: $RESTIC_FROM_KEY_HINT)", Repeatable: false, IsBool: false},
 76			{Name: "from-password-command", Alias: "", Default: "", Description: "shell command to obtain the source repository password from (default: $RESTIC_FROM_PASSWORD_COMMAND)", Repeatable: false, IsBool: false},
 77			{Name: "from-password-file", Alias: "", Default: "", Description: "file to read the source repository password from (default: $RESTIC_FROM_PASSWORD_FILE)", Repeatable: false, IsBool: false},
 78			{Name: "from-repo", Alias: "", Default: "", Description: "source repository to copy snapshots from (default: $RESTIC_FROM_REPOSITORY)", Repeatable: false, IsBool: false},
 79			{Name: "from-repository-file", Alias: "", Default: "", Description: "file from which to read the source repository location to copy snapshots from (default: $RESTIC_FROM_REPOSITORY_FILE)", Repeatable: false, IsBool: false},
 80			{Name: "help", Alias: "h", Default: "false", Description: "help for copy", Repeatable: false, IsBool: true},
 81			{Name: "host", Alias: "H", Default: "", Description: "only consider snapshots for this host (can be specified multiple times) (default: $RESTIC_HOST)", Repeatable: true, IsBool: false},
 82			{Name: "path", Alias: "", Default: "", Description: "only consider snapshots including this (absolute) path (can be specified multiple times, snapshots must include all specified paths)", Repeatable: true, IsBool: false},
 83			{Name: "tag", Alias: "", Default: "", Description: "only consider snapshots including tag[,tag,...] (can be specified multiple times)", Repeatable: true, IsBool: false},
 84		},
 85	},
 86	"diff": {
 87		Name:        "diff",
 88		Description: "Show differences between two snapshots",
 89		Options: []Option{
 90			{Name: "help", Alias: "h", Default: "false", Description: "help for diff", Repeatable: false, IsBool: true},
 91			{Name: "metadata", Alias: "", Default: "false", Description: "print changes in metadata", Repeatable: false, IsBool: true},
 92		},
 93	},
 94	"dump": {
 95		Name:        "dump",
 96		Description: "Print a backed-up file to stdout",
 97		Options: []Option{
 98			{Name: "archive", Alias: "a", Default: "tar", Description: "set archive format as \"tar\" or \"zip\"", Repeatable: false, IsBool: false},
 99			{Name: "help", Alias: "h", Default: "false", Description: "help for dump", Repeatable: false, IsBool: true},
100			{Name: "host", Alias: "H", Default: "", Description: "only consider snapshots for this host, when snapshot ID \"latest\" is given (can be specified multiple times) (default: $RESTIC_HOST)", Repeatable: true, IsBool: false},
101			{Name: "path", Alias: "", Default: "", Description: "only consider snapshots including this (absolute) path, when snapshot ID \"latest\" is given (can be specified multiple times, snapshots must include all specified paths)", Repeatable: true, IsBool: false},
102			{Name: "tag", Alias: "", Default: "", Description: "only consider snapshots including tag[,tag,...], when snapshot ID \"latest\" is given (can be specified multiple times)", Repeatable: true, IsBool: false},
103			{Name: "target", Alias: "t", Default: "", Description: "write the output to target path", Repeatable: false, IsBool: false},
104		},
105	},
106	"features": {
107		Name:        "features",
108		Description: "Print list of feature flags",
109		Options: []Option{
110			{Name: "help", Alias: "h", Default: "false", Description: "help for features", Repeatable: false, IsBool: true},
111		},
112	},
113	"find": {
114		Name:        "find",
115		Description: "Find a file, a directory or restic IDs",
116		Options: []Option{
117			{Name: "blob", Alias: "", Default: "false", Description: "pattern is a blob-ID", Repeatable: false, IsBool: true},
118			{Name: "help", Alias: "h", Default: "false", Description: "help for find", Repeatable: false, IsBool: true},
119			{Name: "host", Alias: "H", Default: "", Description: "only consider snapshots for this host (can be specified multiple times) (default: $RESTIC_HOST)", Repeatable: true, IsBool: false},
120			{Name: "human-readable", Alias: "", Default: "false", Description: "print sizes in human readable format", Repeatable: false, IsBool: true},
121			{Name: "ignore-case", Alias: "i", Default: "false", Description: "ignore case for pattern", Repeatable: false, IsBool: true},
122			{Name: "long", Alias: "l", Default: "false", Description: "use a long listing format showing size and mode", Repeatable: false, IsBool: true},
123			{Name: "newest", Alias: "N", Default: "", Description: "newest modification date/time", Repeatable: false, IsBool: false},
124			{Name: "oldest", Alias: "O", Default: "", Description: "oldest modification date/time", Repeatable: false, IsBool: false},
125			{Name: "pack", Alias: "", Default: "false", Description: "pattern is a pack-ID", Repeatable: false, IsBool: true},
126			{Name: "path", Alias: "", Default: "", Description: "only consider snapshots including this (absolute) path (can be specified multiple times, snapshots must include all specified paths)", Repeatable: true, IsBool: false},
127			{Name: "reverse", Alias: "R", Default: "false", Description: "reverse sort order oldest to newest", Repeatable: false, IsBool: true},
128			{Name: "show-pack-id", Alias: "", Default: "false", Description: "display the pack-ID the blobs belong to (with --blob or --tree)", Repeatable: false, IsBool: true},
129			{Name: "snapshot", Alias: "s", Default: "", Description: "snapshot id to search in (can be given multiple times)", Repeatable: true, IsBool: false},
130			{Name: "tag", Alias: "", Default: "", Description: "only consider snapshots including tag[,tag,...] (can be specified multiple times)", Repeatable: true, IsBool: false},
131			{Name: "tree", Alias: "", Default: "false", Description: "pattern is a tree-ID", Repeatable: false, IsBool: true},
132		},
133	},
134	"forget": {
135		Name:        "forget",
136		Description: "Remove snapshots from the repository",
137		Options: []Option{
138			{Name: "keep-last", Alias: "l", Default: "0", Description: "keep the last n snapshots (use 'unlimited' to keep all snapshots)", Repeatable: false, IsBool: false},
139			{Name: "keep-hourly", Alias: "H", Default: "0", Description: "keep the last n hourly snapshots (use 'unlimited' to keep all hourly snapshots)", Repeatable: false, IsBool: false},
140			{Name: "keep-daily", Alias: "d", Default: "0", Description: "keep the last n daily snapshots (use 'unlimited' to keep all daily snapshots)", Repeatable: false, IsBool: false},
141			{Name: "keep-weekly", Alias: "w", Default: "0", Description: "keep the last n weekly snapshots (use 'unlimited' to keep all weekly snapshots)", Repeatable: false, IsBool: false},
142			{Name: "keep-monthly", Alias: "m", Default: "0", Description: "keep the last n monthly snapshots (use 'unlimited' to keep all monthly snapshots)", Repeatable: false, IsBool: false},
143			{Name: "keep-yearly", Alias: "y", Default: "0", Description: "keep the last n yearly snapshots (use 'unlimited' to keep all yearly snapshots)", Repeatable: false, IsBool: false},
144			{Name: "keep-within", Alias: "", Default: "", Description: "keep snapshots that are newer than duration (eg. 1y5m7d2h) relative to the latest snapshot", Repeatable: false, IsBool: false},
145			{Name: "keep-within-hourly", Alias: "", Default: "", Description: "keep hourly snapshots that are newer than duration (eg. 1y5m7d2h) relative to the latest snapshot", Repeatable: false, IsBool: false},
146			{Name: "keep-within-daily", Alias: "", Default: "", Description: "keep daily snapshots that are newer than duration (eg. 1y5m7d2h) relative to the latest snapshot", Repeatable: false, IsBool: false},
147			{Name: "keep-within-weekly", Alias: "", Default: "", Description: "keep weekly snapshots that are newer than duration (eg. 1y5m7d2h) relative to the latest snapshot", Repeatable: false, IsBool: false},
148			{Name: "keep-within-monthly", Alias: "", Default: "", Description: "keep monthly snapshots that are newer than duration (eg. 1y5m7d2h) relative to the latest snapshot", Repeatable: false, IsBool: false},
149			{Name: "keep-within-yearly", Alias: "", Default: "", Description: "keep yearly snapshots that are newer than duration (eg. 1y5m7d2h) relative to the latest snapshot", Repeatable: false, IsBool: false},
150			{Name: "keep-tag", Alias: "", Default: "", Description: "keep snapshots with this taglist (can be specified multiple times)", Repeatable: true, IsBool: false},
151			{Name: "unsafe-allow-remove-all", Alias: "", Default: "false", Description: "allow deleting all snapshots of a snapshot group", Repeatable: false, IsBool: true},
152			{Name: "host", Alias: "", Default: "", Description: "only consider snapshots for this host (can be specified multiple times) (default: $RESTIC_HOST)", Repeatable: true, IsBool: false},
153			{Name: "tag", Alias: "", Default: "", Description: "only consider snapshots including tag[,tag,...] (can be specified multiple times)", Repeatable: true, IsBool: false},
154			{Name: "path", Alias: "", Default: "", Description: "only consider snapshots including this (absolute) path (can be specified multiple times, snapshots must include all specified paths)", Repeatable: true, IsBool: false},
155			{Name: "compact", Alias: "c", Default: "false", Description: "use compact output format", Repeatable: false, IsBool: true},
156			{Name: "group-by", Alias: "g", Default: "host,paths", Description: "group snapshots by host, paths and/or tags, separated by comma (disable grouping with '')", Repeatable: false, IsBool: false},
157			{Name: "dry-run", Alias: "n", Default: "false", Description: "do not delete anything, just print what would be done", Repeatable: false, IsBool: true},
158			{Name: "prune", Alias: "", Default: "false", Description: "automatically run the 'prune' command if snapshots have been removed", Repeatable: false, IsBool: true},
159			{Name: "max-unused", Alias: "", Default: "5%", Description: "tolerate given limit of unused data (absolute value in bytes with suffixes k/K, m/M, g/G, t/T, a value in % or the word 'unlimited')", Repeatable: false, IsBool: false},
160			{Name: "max-repack-size", Alias: "", Default: "", Description: "stop after repacking this much data in total (allowed suffixes for size: k/K, m/M, g/G, t/T)", Repeatable: false, IsBool: false},
161			{Name: "repack-cacheable-only", Alias: "", Default: "false", Description: "only repack packs which are cacheable", Repeatable: false, IsBool: true},
162			{Name: "repack-small", Alias: "", Default: "false", Description: "repack pack files below 80% of target pack size", Repeatable: false, IsBool: true},
163			{Name: "repack-uncompressed", Alias: "", Default: "false", Description: "repack all uncompressed data", Repeatable: false, IsBool: true},
164			{Name: "repack-smaller-than", Alias: "", Default: "", Description: "pack below-limit packfiles (allowed suffixes: k/K, m/M)", Repeatable: false, IsBool: false},
165			{Name: "help", Alias: "h", Default: "false", Description: "help for forget", Repeatable: false, IsBool: true},
166		},
167	},
168	"generate": {
169		Name:        "generate",
170		Description: "Generate manual pages and auto-completion files (bash, fish, zsh, powershell)",
171		Options: []Option{
172			{Name: "bash-completion", Alias: "", Default: "", Description: "write bash completion file (- for stdout)", Repeatable: false, IsBool: false},
173			{Name: "fish-completion", Alias: "", Default: "", Description: "write fish completion file (- for stdout)", Repeatable: false, IsBool: false},
174			{Name: "help", Alias: "h", Default: "false", Description: "help for generate", Repeatable: false, IsBool: true},
175			{Name: "man", Alias: "", Default: "", Description: "write man pages to directory", Repeatable: false, IsBool: false},
176			{Name: "powershell-completion", Alias: "", Default: "", Description: "write powershell completion file (- for stdout)", Repeatable: false, IsBool: false},
177			{Name: "zsh-completion", Alias: "", Default: "", Description: "write zsh completion file (- for stdout)", Repeatable: false, IsBool: false},
178		},
179	},
180	"global": {
181		Name:        "global",
182		Description: "Backup and restore files",
183		Options: []Option{
184			{Name: "cacert", Alias: "", Default: "", Description: "file to load root certificates from (default: use system certificates or $RESTIC_CACERT)", Repeatable: true, IsBool: false},
185			{Name: "cache-dir", Alias: "", Default: "", Description: "set the cache directory. (default: use system default cache directory)", Repeatable: false, IsBool: false},
186			{Name: "cleanup-cache", Alias: "", Default: "false", Description: "auto remove old cache directories", Repeatable: false, IsBool: true},
187			{Name: "compression", Alias: "", Default: "auto", Description: "compression mode (only available for repository format version 2), one of (auto|off|max) (default: $RESTIC_COMPRESSION)", Repeatable: false, IsBool: false},
188			{Name: "help", Alias: "h", Default: "false", Description: "help for restic", Repeatable: false, IsBool: true},
189			{Name: "http-user-agent", Alias: "", Default: "", Description: "set a http user agent for outgoing http requests", Repeatable: false, IsBool: false},
190			{Name: "insecure-no-password", Alias: "", Default: "false", Description: "use an empty password for the repository, must be passed to every restic command (insecure)", Repeatable: false, IsBool: true},
191			{Name: "insecure-tls", Alias: "", Default: "false", Description: "skip TLS certificate verification when connecting to the repository (insecure)", Repeatable: false, IsBool: true},
192			{Name: "json", Alias: "", Default: "false", Description: "set output mode to JSON for commands that support it", Repeatable: false, IsBool: true},
193			{Name: "key-hint", Alias: "", Default: "", Description: "key ID of key to try decrypting first (default: $RESTIC_KEY_HINT)", Repeatable: false, IsBool: false},
194			{Name: "limit-download", Alias: "", Default: "0", Description: "limits downloads to a maximum rate in KiB/s. (default: unlimited)", Repeatable: false, IsBool: false},
195			{Name: "limit-upload", Alias: "", Default: "0", Description: "limits uploads to a maximum rate in KiB/s. (default: unlimited)", Repeatable: false, IsBool: false},
196			{Name: "no-cache", Alias: "", Default: "false", Description: "do not use a local cache", Repeatable: false, IsBool: true},
197			{Name: "no-extra-verify", Alias: "", Default: "false", Description: "skip additional verification of data before upload (see documentation)", Repeatable: false, IsBool: true},
198			{Name: "no-lock", Alias: "", Default: "false", Description: "do not lock the repository, this allows some operations on read-only repositories", Repeatable: false, IsBool: true},
199			{Name: "option", Alias: "o", Default: "", Description: "set extended option (key=value, can be specified multiple times)", Repeatable: true, IsBool: false},
200			{Name: "pack-size", Alias: "", Default: "0", Description: "set target pack size in MiB, created pack files may be larger (default: $RESTIC_PACK_SIZE)", Repeatable: false, IsBool: false},
201			{Name: "password-command", Alias: "", Default: "", Description: "shell command to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)", Repeatable: false, IsBool: false},
202			{Name: "password-file", Alias: "p", Default: "", Description: "file to read the repository password from (default: $RESTIC_PASSWORD_FILE)", Repeatable: false, IsBool: false},
203			{Name: "quiet", Alias: "q", Default: "false", Description: "do not output comprehensive progress report", Repeatable: false, IsBool: true},
204			{Name: "repo", Alias: "r", Default: "", Description: "repository to backup to or restore from (default: $RESTIC_REPOSITORY)", Repeatable: false, IsBool: false},
205			{Name: "repository-file", Alias: "", Default: "", Description: "file to read the repository location from (default: $RESTIC_REPOSITORY_FILE)", Repeatable: false, IsBool: false},
206			{Name: "retry-lock", Alias: "", Default: "0s", Description: "retry to lock the repository if it is already locked, takes a value like 5m or 2h (default: no retries)", Repeatable: false, IsBool: false},
207			{Name: "stuck-request-timeout", Alias: "", Default: "5m0s", Description: "duration after which to retry stuck requests", Repeatable: false, IsBool: false},
208			{Name: "tls-client-cert", Alias: "", Default: "", Description: "path to a file containing PEM encoded TLS client certificate and private key (default: $RESTIC_TLS_CLIENT_CERT)", Repeatable: false, IsBool: false},
209			{Name: "verbose", Alias: "v", Default: "0", Description: "be verbose (specify multiple times or a level using --verbose=n, max level/times is 2)", Repeatable: false, IsBool: false},
210		},
211	},
212	"init": {
213		Name:        "init",
214		Description: "Initialize a new repository",
215		Options: []Option{
216			{Name: "copy-chunker-params", Alias: "", Default: "false", Description: "copy chunker parameters from the secondary repository (useful with the copy command)", Repeatable: false, IsBool: true},
217			{Name: "from-insecure-no-password", Alias: "", Default: "false", Description: "use an empty password for the source repository (insecure)", Repeatable: false, IsBool: true},
218			{Name: "from-key-hint", Alias: "", Default: "", Description: "key ID of key to try decrypting the source repository first (default: $RESTIC_FROM_KEY_HINT)", Repeatable: false, IsBool: false},
219			{Name: "from-password-command", Alias: "", Default: "", Description: "shell command to obtain the source repository password from (default: $RESTIC_FROM_PASSWORD_COMMAND)", Repeatable: false, IsBool: false},
220			{Name: "from-password-file", Alias: "", Default: "", Description: "file to read the source repository password from (default: $RESTIC_FROM_PASSWORD_FILE)", Repeatable: false, IsBool: false},
221			{Name: "from-repo", Alias: "", Default: "", Description: "source repository to copy chunker parameters from (default: $RESTIC_FROM_REPOSITORY)", Repeatable: false, IsBool: false},
222			{Name: "from-repository-file", Alias: "", Default: "", Description: "file from which to read the source repository location to copy chunker parameters from (default: $RESTIC_FROM_REPOSITORY_FILE)", Repeatable: false, IsBool: false},
223			{Name: "help", Alias: "h", Default: "false", Description: "help for init", Repeatable: false, IsBool: true},
224			{Name: "repository-version", Alias: "", Default: "stable", Description: "repository format version to use, allowed values are a format version, 'latest' and 'stable'", Repeatable: false, IsBool: false},
225		},
226	},
227	"key": {
228		Name:        "key",
229		Description: "Manage keys (passwords)",
230		Options: []Option{
231			{Name: "help", Alias: "h", Default: "false", Description: "help for key", Repeatable: false, IsBool: true},
232		},
233	},
234	"key-add": {
235		Name:        "key-add",
236		Description: "Add a new key (password) to the repository; returns the new key ID",
237		Options: []Option{
238			{Name: "help", Alias: "h", Default: "false", Description: "help for add", Repeatable: false, IsBool: true},
239			{Name: "host", Alias: "", Default: "", Description: "the hostname for new key", Repeatable: false, IsBool: false},
240			{Name: "new-insecure-no-password", Alias: "", Default: "false", Description: "add an empty password for the repository (insecure)", Repeatable: false, IsBool: true},
241			{Name: "new-password-file", Alias: "", Default: "", Description: "file from which to read the new password", Repeatable: false, IsBool: false},
242			{Name: "user", Alias: "", Default: "", Description: "the username for new key", Repeatable: false, IsBool: false},
243		},
244	},
245	"key-list": {
246		Name:        "key-list",
247		Description: "List keys (passwords)",
248		Options: []Option{
249			{Name: "help", Alias: "h", Default: "false", Description: "help for list", Repeatable: false, IsBool: true},
250		},
251	},
252	"key-passwd": {
253		Name:        "key-passwd",
254		Description: "Change key (password); creates a new key ID and removes the old key ID, returns new key ID",
255		Options: []Option{
256			{Name: "help", Alias: "h", Default: "false", Description: "help for passwd", Repeatable: false, IsBool: true},
257			{Name: "host", Alias: "", Default: "", Description: "the hostname for new key", Repeatable: false, IsBool: false},
258			{Name: "new-insecure-no-password", Alias: "", Default: "false", Description: "add an empty password for the repository (insecure)", Repeatable: false, IsBool: true},
259			{Name: "new-password-file", Alias: "", Default: "", Description: "file from which to read the new password", Repeatable: false, IsBool: false},
260			{Name: "user", Alias: "", Default: "", Description: "the username for new key", Repeatable: false, IsBool: false},
261		},
262	},
263	"key-remove": {
264		Name:        "key-remove",
265		Description: "Remove key ID (password) from the repository.",
266		Options: []Option{
267			{Name: "help", Alias: "h", Default: "false", Description: "help for remove", Repeatable: false, IsBool: true},
268		},
269	},
270	"list": {
271		Name:        "list",
272		Description: "List objects in the repository",
273		Options: []Option{
274			{Name: "help", Alias: "h", Default: "false", Description: "help for list", Repeatable: false, IsBool: true},
275		},
276	},
277	"ls": {
278		Name:        "ls",
279		Description: "List files in a snapshot",
280		Options: []Option{
281			{Name: "help", Alias: "h", Default: "false", Description: "help for ls", Repeatable: false, IsBool: true},
282			{Name: "host", Alias: "H", Default: "", Description: "only consider snapshots for this host, when snapshot ID \"latest\" is given (can be specified multiple times) (default: $RESTIC_HOST)", Repeatable: true, IsBool: false},
283			{Name: "human-readable", Alias: "", Default: "false", Description: "print sizes in human readable format", Repeatable: false, IsBool: true},
284			{Name: "long", Alias: "l", Default: "false", Description: "use a long listing format showing size and mode", Repeatable: false, IsBool: true},
285			{Name: "ncdu", Alias: "", Default: "false", Description: "output NCDU export format (pipe into 'ncdu -f -')", Repeatable: false, IsBool: true},
286			{Name: "path", Alias: "", Default: "", Description: "only consider snapshots including this (absolute) path, when snapshot ID \"latest\" is given (can be specified multiple times, snapshots must include all specified paths)", Repeatable: true, IsBool: false},
287			{Name: "recursive", Alias: "", Default: "false", Description: "include files in subfolders of the listed directories", Repeatable: false, IsBool: true},
288			{Name: "reverse", Alias: "", Default: "false", Description: "reverse sorted output", Repeatable: false, IsBool: true},
289			{Name: "sort", Alias: "s", Default: "name", Description: "sort output by (name|size|time=mtime|atime|ctime|extension)", Repeatable: false, IsBool: false},
290			{Name: "tag", Alias: "", Default: "", Description: "only consider snapshots including tag[,tag,...], when snapshot ID \"latest\" is given (can be specified multiple times)", Repeatable: true, IsBool: false},
291		},
292	},
293	"migrate": {
294		Name:        "migrate",
295		Description: "Apply migrations",
296		Options: []Option{
297			{Name: "force", Alias: "f", Default: "false", Description: "apply a migration a second time", Repeatable: false, IsBool: true},
298			{Name: "help", Alias: "h", Default: "false", Description: "help for migrate", Repeatable: false, IsBool: true},
299		},
300	},
301	"mount": {
302		Name:        "mount",
303		Description: "Mount the repository",
304		Options: []Option{
305			{Name: "allow-other", Alias: "", Default: "false", Description: "allow other users to access the data in the mounted directory", Repeatable: false, IsBool: true},
306			{Name: "help", Alias: "h", Default: "false", Description: "help for mount", Repeatable: false, IsBool: true},
307			{Name: "host", Alias: "H", Default: "", Description: "only consider snapshots for this host (can be specified multiple times) (default: $RESTIC_HOST)", Repeatable: true, IsBool: false},
308			{Name: "no-default-permissions", Alias: "", Default: "false", Description: "for 'allow-other', ignore Unix permissions and allow users to read all snapshot files", Repeatable: false, IsBool: true},
309			{Name: "owner-root", Alias: "", Default: "false", Description: "use 'root' as the owner of files and dirs", Repeatable: false, IsBool: true},
310			{Name: "path", Alias: "", Default: "", Description: "only consider snapshots including this (absolute) path (can be specified multiple times, snapshots must include all specified paths)", Repeatable: true, IsBool: false},
311			{Name: "path-template", Alias: "", Default: "", Description: "set template for path names (can be specified multiple times)", Repeatable: true, IsBool: false},
312			{Name: "tag", Alias: "", Default: "", Description: "only consider snapshots including tag[,tag,...] (can be specified multiple times)", Repeatable: true, IsBool: false},
313			{Name: "time-template", Alias: "", Default: "2006-01-02T15:04:05Z07:00", Description: "set template to use for times", Repeatable: false, IsBool: false},
314		},
315	},
316	"options": {
317		Name:        "options",
318		Description: "Print list of extended options",
319		Options: []Option{
320			{Name: "help", Alias: "h", Default: "false", Description: "help for options", Repeatable: false, IsBool: true},
321		},
322	},
323	"prune": {
324		Name:        "prune",
325		Description: "Remove unneeded data from the repository",
326		Options: []Option{
327			{Name: "dry-run", Alias: "n", Default: "false", Description: "do not modify the repository, just print what would be done", Repeatable: false, IsBool: true},
328			{Name: "help", Alias: "h", Default: "false", Description: "help for prune", Repeatable: false, IsBool: true},
329			{Name: "max-repack-size", Alias: "", Default: "", Description: "stop after repacking this much data in total (allowed suffixes for size: k/K, m/M, g/G, t/T)", Repeatable: false, IsBool: false},
330			{Name: "max-unused", Alias: "", Default: "5%", Description: "tolerate given limit of unused data (absolute value in bytes with suffixes k/K, m/M, g/G, t/T, a value in % or the word 'unlimited')", Repeatable: false, IsBool: false},
331			{Name: "repack-cacheable-only", Alias: "", Default: "false", Description: "only repack packs which are cacheable", Repeatable: false, IsBool: true},
332			{Name: "repack-small", Alias: "", Default: "false", Description: "repack pack files below 80% of target pack size", Repeatable: false, IsBool: true},
333			{Name: "repack-smaller-than", Alias: "", Default: "", Description: "pack below-limit packfiles (allowed suffixes: k/K, m/M)", Repeatable: false, IsBool: false},
334			{Name: "repack-uncompressed", Alias: "", Default: "false", Description: "repack all uncompressed data", Repeatable: false, IsBool: true},
335			{Name: "unsafe-recover-no-free-space", Alias: "", Default: "", Description: "UNSAFE, READ THE DOCUMENTATION BEFORE USING! Try to recover a repository stuck with no free space. Do not use without trying out 'prune --max-repack-size 0' first.", Repeatable: false, IsBool: false},
336		},
337	},
338	"recover": {
339		Name:        "recover",
340		Description: "Recover data from the repository not referenced by snapshots",
341		Options: []Option{
342			{Name: "help", Alias: "h", Default: "false", Description: "help for recover", Repeatable: false, IsBool: true},
343		},
344	},
345	"repair": {
346		Name:        "repair",
347		Description: "Repair the repository",
348		Options: []Option{
349			{Name: "help", Alias: "h", Default: "false", Description: "help for repair", Repeatable: false, IsBool: true},
350		},
351	},
352	"repair-index": {
353		Name:        "repair-index",
354		Description: "Build a new index",
355		Options: []Option{
356			{Name: "help", Alias: "h", Default: "false", Description: "help for index", Repeatable: false, IsBool: true},
357			{Name: "read-all-packs", Alias: "", Default: "false", Description: "read all pack files to generate new index from scratch", Repeatable: false, IsBool: true},
358		},
359	},
360	"repair-packs": {
361		Name:        "repair-packs",
362		Description: "Salvage damaged pack files",
363		Options: []Option{
364			{Name: "help", Alias: "h", Default: "false", Description: "help for packs", Repeatable: false, IsBool: true},
365		},
366	},
367	"repair-snapshots": {
368		Name:        "repair-snapshots",
369		Description: "Repair snapshots",
370		Options: []Option{
371			{Name: "dry-run", Alias: "n", Default: "false", Description: "do not do anything, just print what would be done", Repeatable: false, IsBool: true},
372			{Name: "forget", Alias: "", Default: "false", Description: "remove original snapshots after creating new ones", Repeatable: false, IsBool: true},
373			{Name: "help", Alias: "h", Default: "false", Description: "help for snapshots", Repeatable: false, IsBool: true},
374			{Name: "host", Alias: "H", Default: "", Description: "only consider snapshots for this host (can be specified multiple times) (default: $RESTIC_HOST)", Repeatable: true, IsBool: false},
375			{Name: "path", Alias: "", Default: "", Description: "only consider snapshots including this (absolute) path (can be specified multiple times, snapshots must include all specified paths)", Repeatable: true, IsBool: false},
376			{Name: "tag", Alias: "", Default: "", Description: "only consider snapshots including tag[,tag,...] (can be specified multiple times)", Repeatable: true, IsBool: false},
377		},
378	},
379	"restore": {
380		Name:        "restore",
381		Description: "Extract the data from a snapshot",
382		Options: []Option{
383			{Name: "delete", Alias: "", Default: "false", Description: "delete files from target directory if they do not exist in snapshot. Use '--dry-run -vv' to check what would be deleted", Repeatable: false, IsBool: true},
384			{Name: "dry-run", Alias: "", Default: "false", Description: "do not write any data, just show what would be done", Repeatable: false, IsBool: true},
385			{Name: "exclude", Alias: "e", Default: "", Description: "exclude a pattern (can be specified multiple times)", Repeatable: true, IsBool: false},
386			{Name: "exclude-file", Alias: "", Default: "", Description: "read exclude patterns from a file (can be specified multiple times)", Repeatable: true, IsBool: false},
387			{Name: "exclude-xattr", Alias: "", Default: "", Description: "exclude xattr by pattern (can be specified multiple times)", Repeatable: true, IsBool: false},
388			{Name: "help", Alias: "h", Default: "false", Description: "help for restore", Repeatable: false, IsBool: true},
389			{Name: "host", Alias: "H", Default: "", Description: "only consider snapshots for this host, when snapshot ID \"latest\" is given (can be specified multiple times) (default: $RESTIC_HOST)", Repeatable: true, IsBool: false},
390			{Name: "iexclude", Alias: "", Default: "", Description: "same as --exclude pattern but ignores the casing of filenames", Repeatable: true, IsBool: false},
391			{Name: "iexclude-file", Alias: "", Default: "", Description: "same as --exclude-file but ignores casing of filenames in patterns", Repeatable: true, IsBool: false},
392			{Name: "iinclude", Alias: "", Default: "", Description: "same as --include pattern but ignores the casing of filenames", Repeatable: true, IsBool: false},
393			{Name: "iinclude-file", Alias: "", Default: "", Description: "same as --include-file but ignores casing of filenames in patterns", Repeatable: true, IsBool: false},
394			{Name: "include", Alias: "i", Default: "", Description: "include a pattern (can be specified multiple times)", Repeatable: true, IsBool: false},
395			{Name: "include-file", Alias: "", Default: "", Description: "read include patterns from a file (can be specified multiple times)", Repeatable: true, IsBool: false},
396			{Name: "include-xattr", Alias: "", Default: "", Description: "include xattr by pattern (can be specified multiple times)", Repeatable: true, IsBool: false},
397			{Name: "overwrite", Alias: "", Default: "always", Description: "overwrite behavior, one of (always|if-changed|if-newer|never)", Repeatable: false, IsBool: false},
398			{Name: "path", Alias: "", Default: "", Description: "only consider snapshots including this (absolute) path, when snapshot ID \"latest\" is given (can be specified multiple times, snapshots must include all specified paths)", Repeatable: true, IsBool: false},
399			{Name: "sparse", Alias: "", Default: "false", Description: "restore files as sparse", Repeatable: false, IsBool: true},
400			{Name: "tag", Alias: "", Default: "", Description: "only consider snapshots including tag[,tag,...], when snapshot ID \"latest\" is given (can be specified multiple times)", Repeatable: true, IsBool: false},
401			{Name: "target", Alias: "t", Default: "", Description: "directory to extract data to", Repeatable: false, IsBool: false},
402			{Name: "verify", Alias: "", Default: "false", Description: "verify restored files content", Repeatable: false, IsBool: true},
403		},
404	},
405	"rewrite": {
406		Name:        "rewrite",
407		Description: "Rewrite snapshots to exclude unwanted files",
408		Options: []Option{
409			{Name: "dry-run", Alias: "n", Default: "false", Description: "do not do anything, just print what would be done", Repeatable: false, IsBool: true},
410			{Name: "exclude", Alias: "e", Default: "", Description: "exclude a pattern (can be specified multiple times)", Repeatable: true, IsBool: false},
411			{Name: "exclude-file", Alias: "", Default: "", Description: "read exclude patterns from a file (can be specified multiple times)", Repeatable: true, IsBool: false},
412			{Name: "forget", Alias: "", Default: "false", Description: "remove original snapshots after creating new ones", Repeatable: false, IsBool: true},
413			{Name: "help", Alias: "h", Default: "false", Description: "help for rewrite", Repeatable: false, IsBool: true},
414			{Name: "host", Alias: "H", Default: "", Description: "only consider snapshots for this host (can be specified multiple times) (default: $RESTIC_HOST)", Repeatable: true, IsBool: false},
415			{Name: "iexclude", Alias: "", Default: "", Description: "same as --exclude pattern but ignores the casing of filenames", Repeatable: true, IsBool: false},
416			{Name: "iexclude-file", Alias: "", Default: "", Description: "same as --exclude-file but ignores casing of filenames in patterns", Repeatable: true, IsBool: false},
417			{Name: "new-host", Alias: "", Default: "", Description: "replace hostname", Repeatable: false, IsBool: false},
418			{Name: "new-time", Alias: "", Default: "", Description: "replace time of the backup", Repeatable: false, IsBool: false},
419			{Name: "path", Alias: "", Default: "", Description: "only consider snapshots including this (absolute) path (can be specified multiple times, snapshots must include all specified paths)", Repeatable: true, IsBool: false},
420			{Name: "snapshot-summary", Alias: "s", Default: "false", Description: "create snapshot summary record if it does not exist", Repeatable: false, IsBool: true},
421			{Name: "tag", Alias: "", Default: "", Description: "only consider snapshots including tag[,tag,...] (can be specified multiple times)", Repeatable: true, IsBool: false},
422		},
423	},
424	"snapshots": {
425		Name:        "snapshots",
426		Description: "List all snapshots",
427		Options: []Option{
428			{Name: "compact", Alias: "c", Default: "false", Description: "use compact output format", Repeatable: false, IsBool: true},
429			{Name: "group-by", Alias: "g", Default: "", Description: "group snapshots by host, paths and/or tags, separated by comma", Repeatable: false, IsBool: false},
430			{Name: "help", Alias: "h", Default: "false", Description: "help for snapshots", Repeatable: false, IsBool: true},
431			{Name: "host", Alias: "H", Default: "", Description: "only consider snapshots for this host (can be specified multiple times) (default: $RESTIC_HOST)", Repeatable: true, IsBool: false},
432			{Name: "latest", Alias: "", Default: "0", Description: "only show the last n snapshots for each host and path", Repeatable: false, IsBool: false},
433			{Name: "path", Alias: "", Default: "", Description: "only consider snapshots including this (absolute) path (can be specified multiple times, snapshots must include all specified paths)", Repeatable: true, IsBool: false},
434			{Name: "tag", Alias: "", Default: "", Description: "only consider snapshots including tag[,tag,...] (can be specified multiple times)", Repeatable: true, IsBool: false},
435		},
436	},
437	"stats": {
438		Name:        "stats",
439		Description: "Scan the repository and show basic statistics",
440		Options: []Option{
441			{Name: "help", Alias: "h", Default: "false", Description: "help for stats", Repeatable: false, IsBool: true},
442			{Name: "host", Alias: "H", Default: "", Description: "only consider snapshots for this host (can be specified multiple times) (default: $RESTIC_HOST)", Repeatable: true, IsBool: false},
443			{Name: "mode", Alias: "", Default: "restore-size", Description: "counting mode: restore-size (default), files-by-contents, blobs-per-file or raw-data", Repeatable: false, IsBool: false},
444			{Name: "path", Alias: "", Default: "", Description: "only consider snapshots including this (absolute) path (can be specified multiple times, snapshots must include all specified paths)", Repeatable: true, IsBool: false},
445			{Name: "tag", Alias: "", Default: "", Description: "only consider snapshots including tag[,tag,...] (can be specified multiple times)", Repeatable: true, IsBool: false},
446		},
447	},
448	"tag": {
449		Name:        "tag",
450		Description: "Modify tags on snapshots",
451		Options: []Option{
452			{Name: "add", Alias: "", Default: "", Description: "tags which will be added to the existing tags in the format tag[,tag,...] (can be given multiple times)", Repeatable: true, IsBool: false},
453			{Name: "help", Alias: "h", Default: "false", Description: "help for tag", Repeatable: false, IsBool: true},
454			{Name: "host", Alias: "H", Default: "", Description: "only consider snapshots for this host (can be specified multiple times) (default: $RESTIC_HOST)", Repeatable: true, IsBool: false},
455			{Name: "path", Alias: "", Default: "", Description: "only consider snapshots including this (absolute) path (can be specified multiple times, snapshots must include all specified paths)", Repeatable: true, IsBool: false},
456			{Name: "remove", Alias: "", Default: "", Description: "tags which will be removed from the existing tags in the format tag[,tag,...] (can be given multiple times)", Repeatable: true, IsBool: false},
457			{Name: "set", Alias: "", Default: "", Description: "tags which will replace the existing tags in the format tag[,tag,...] (can be given multiple times)", Repeatable: true, IsBool: false},
458			{Name: "tag", Alias: "", Default: "", Description: "only consider snapshots including tag[,tag,...] (can be specified multiple times)", Repeatable: true, IsBool: false},
459		},
460	},
461	"unlock": {
462		Name:        "unlock",
463		Description: "Remove locks other processes created",
464		Options: []Option{
465			{Name: "help", Alias: "h", Default: "false", Description: "help for unlock", Repeatable: false, IsBool: true},
466			{Name: "remove-all", Alias: "", Default: "false", Description: "remove all locks, even non-stale ones", Repeatable: false, IsBool: true},
467		},
468	},
469	"version": {
470		Name:        "version",
471		Description: "Print version information",
472		Options: []Option{
473			{Name: "help", Alias: "h", Default: "false", Description: "help for version", Repeatable: false, IsBool: true},
474		},
475	},
476}