/*
- * Copyright (c) 2024 SUSE LLC
+ * Copyright (c) [2024-2025] SUSE LLC
*
* All Rights Reserved.
*
enum class Column
{
NAME, CONFIG, TARGET_MODE, AUTOMATIC, SOURCE_PATH, TARGET_PATH, SSH_HOST,
- SSH_USER, SSH_PORT, SSH_IDENTITY
+ SSH_USER, SSH_PORT, SSH_IDENTITY, TARGET_BTRFS_BIN, TARGET_FINDMNT_BIN,
+ TARGET_MKDIR_BIN, TARGET_REALPATH_BIN, TARGET_RM_BIN, TARGET_RMDIR_BIN
};
case Column::SSH_IDENTITY:
return Cell(_("SSH Identity"), Id::SSH_IDENTITY);
+
+ case Column::TARGET_BTRFS_BIN:
+ return Cell(_("Target btrfs bin"));
+
+ case Column::TARGET_FINDMNT_BIN:
+ return Cell(_("Target findmnt Bin"));
+
+ case Column::TARGET_MKDIR_BIN:
+ return Cell(_("Target mkdir bin"));
+
+ case Column::TARGET_REALPATH_BIN:
+ return Cell(_("Target realpath bin"));
+
+ case Column::TARGET_RM_BIN:
+ return Cell(_("Target rm bin"));
+
+ case Column::TARGET_RMDIR_BIN:
+ return Cell(_("Target rmdir bin"));
}
SN_THROW(Exception("invalid column value"));
if (backup_config.ssh_identity.empty())
return nullptr;
return backup_config.ssh_identity;
+
+ case Column::TARGET_BTRFS_BIN:
+ return backup_config.target_btrfs_bin;
+
+ case Column::TARGET_FINDMNT_BIN:
+ return backup_config.target_findmnt_bin;
+
+ case Column::TARGET_MKDIR_BIN:
+ return backup_config.target_mkdir_bin;
+
+ case Column::TARGET_REALPATH_BIN:
+ return backup_config.target_realpath_bin;
+
+ case Column::TARGET_RM_BIN:
+ return backup_config.target_rm_bin;
+
+ case Column::TARGET_RMDIR_BIN:
+ return backup_config.target_rmdir_bin;
}
SN_THROW(Exception("invalid column value"));
{
ParsedOpts opts = get_opts.parse("list-configs", GetOpts::no_options);
- vector<Column> columns = { Column::NAME, Column::CONFIG, Column::TARGET_MODE,
- Column::AUTOMATIC, Column::SOURCE_PATH, Column::TARGET_PATH, Column::SSH_HOST,
- Column::SSH_USER, Column::SSH_PORT, Column::SSH_IDENTITY };
-
if (get_opts.has_args())
{
SN_THROW(OptionsException(_("Command 'list-configs' does not take arguments.")));
}
+ const vector<Column> some_columns = { Column::NAME, Column::CONFIG, Column::TARGET_MODE,
+ Column::AUTOMATIC, Column::SOURCE_PATH, Column::TARGET_PATH, Column::SSH_HOST,
+ Column::SSH_USER, Column::SSH_PORT, Column::SSH_IDENTITY };
+
+ const vector<Column> all_columns = { Column::NAME, Column::CONFIG, Column::TARGET_MODE,
+ Column::AUTOMATIC, Column::SOURCE_PATH, Column::TARGET_PATH, Column::SSH_HOST,
+ Column::SSH_USER, Column::SSH_PORT, Column::SSH_IDENTITY, Column::TARGET_BTRFS_BIN,
+ Column::TARGET_FINDMNT_BIN, Column::TARGET_MKDIR_BIN, Column::TARGET_REALPATH_BIN,
+ Column::TARGET_RM_BIN, Column::TARGET_RMDIR_BIN
+ };
+
switch (global_options.output_format())
{
case GlobalOptions::OutputFormat::TABLE:
- output_table(global_options, columns, backup_configs);
+ output_table(global_options, some_columns, backup_configs);
break;
case GlobalOptions::OutputFormat::CSV:
- output_csv(global_options, columns, backup_configs);
+ output_csv(global_options, all_columns, backup_configs);
break;
case GlobalOptions::OutputFormat::JSON:
- output_json(global_options, columns, backup_configs);
+ output_json(global_options, all_columns, backup_configs);
break;
}
}
const vector<string> EnumInfo<Column>::names({
"name", "config", "target-mode", "automatic", "source-path", "target-path", "ssh-host",
- "ssh-user", "ssh-port", "ssh-identity"
+ "ssh-user", "ssh-port", "ssh-identity", "target-btrfs-bin", "target-findmnt-bin",
+ "target-mkdir-bin", "target-realpath-bin", "target-rm-bin", "target-rmdir-bin"
});
}