- Add truenas_migrate/csv_source.py: parses SMB and NFS share definitions from customer-supplied CSV files; returns same dict shape as parse_archive() so migrate.py is untouched - Add smb_shares_template.csv and nfs_shares_template.csv with annotated headers and example rows (# comment rows are skipped by the parser) - Update cli.py: interactive wizard gains a source-type step (archive vs CSV); run() resolves CSV source via --smb-csv / --nfs-csv args; --debug-tar is now optional; argparse validates mutual exclusion of archive and CSV flags Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
618 B
618 B
| 1 | name,path,comment,purpose,ro,browsable,guestok,abe,hostsallow,hostsdeny,timemachine,enabled |
|---|---|
| 2 | # Required columns : name path |
| 3 | # purpose values : NO_PRESET DEFAULT_SHARE ENHANCED_TIMEMACHINE MULTI_PROTOCOL_NFS PRIVATE_DATASETS WORM_DROPBOX |
| 4 | # Boolean columns : ro browsable guestok abe timemachine enabled (true or false) |
| 5 | # Lines starting with # are ignored. Delete the example row below and add your shares. |
| 6 | example-share,/mnt/pool/share,Example share description,NO_PRESET,false,true,false,false,,,false,true |