mirror of
https://github.com/akuker/RASCSI.git
synced 2024-06-08 05:29:40 +00:00
Updated handling of mandatory parameters
This commit is contained in:
parent
a4e0d506c6
commit
632fe1acd8
|
@ -178,8 +178,10 @@ message PbOperationParameter {
|
|||
map<string, string> description = 2;
|
||||
// There is no specific set of permitted values if empty
|
||||
repeated string permitted_values = 3;
|
||||
// Optional default value. If there is no default the value is mandatory.
|
||||
// Optional default value
|
||||
string default_value = 4;
|
||||
// True if this parameter is mandatory
|
||||
bool is_mandatory = 5;
|
||||
}
|
||||
|
||||
// The list of parameters supported by an operation
|
||||
|
|
|
@ -378,7 +378,7 @@ PbOperationInfo *RascsiResponse::GetOperationInfo(PbResult& result)
|
|||
CreateOperation(operation_info, meta_data, STOP, "Stop device, device-specific parameters are required");
|
||||
|
||||
meta_data = new PbOperationMetaData();
|
||||
AddOperationParameter(meta_data, "file", "Image file name");
|
||||
AddOperationParameter(meta_data, "file", "Image file name", "", true);
|
||||
CreateOperation(operation_info, meta_data, INSERT, "Insert medium, device-specific parameters are required");
|
||||
|
||||
meta_data = new PbOperationMetaData();
|
||||
|
@ -408,7 +408,7 @@ PbOperationInfo *RascsiResponse::GetOperationInfo(PbResult& result)
|
|||
CreateOperation(operation_info, meta_data, DEFAULT_IMAGE_FILES_INFO, "Get information on available image files");
|
||||
|
||||
meta_data = new PbOperationMetaData();
|
||||
AddOperationParameter(meta_data, "file", "Image file name");
|
||||
AddOperationParameter(meta_data, "file", "Image file name", "", true);
|
||||
CreateOperation(operation_info, meta_data, IMAGE_FILE_INFO, "Get information on image file");
|
||||
|
||||
meta_data = new PbOperationMetaData();
|
||||
|
@ -424,59 +424,59 @@ PbOperationInfo *RascsiResponse::GetOperationInfo(PbResult& result)
|
|||
CreateOperation(operation_info, meta_data, RESERVED_IDS_INFO, "Get list of reserved device IDs");
|
||||
|
||||
meta_data = new PbOperationMetaData();
|
||||
AddOperationParameter(meta_data, "folder", "Default image file folder name");
|
||||
AddOperationParameter(meta_data, "folder", "Default image file folder name", "", true);
|
||||
CreateOperation(operation_info, meta_data, DEFAULT_FOLDER, "Set default image file folder");
|
||||
|
||||
meta_data = new PbOperationMetaData();
|
||||
AddOperationParameter(meta_data, "level", "New log level");
|
||||
AddOperationParameter(meta_data, "level", "New log level", "", true);
|
||||
CreateOperation(operation_info, meta_data, LOG_LEVEL, "Set log level");
|
||||
|
||||
meta_data = new PbOperationMetaData();
|
||||
AddOperationParameter(meta_data, "ids", "Comma-separated device ID list");
|
||||
AddOperationParameter(meta_data, "ids", "Comma-separated device ID list", "", true);
|
||||
CreateOperation(operation_info, meta_data, RESERVE_IDS, "Reserve device IDs");
|
||||
|
||||
meta_data = new PbOperationMetaData();
|
||||
PbOperationParameter *parameter = AddOperationParameter(meta_data, "mode", "Shutdown mode");
|
||||
PbOperationParameter *parameter = AddOperationParameter(meta_data, "mode", "Shutdown mode", "", true);
|
||||
parameter->add_permitted_values("rascsi");
|
||||
parameter->add_permitted_values("system");
|
||||
parameter->add_permitted_values("reboot");
|
||||
CreateOperation(operation_info, meta_data, SHUT_DOWN, "Shut down or reboot");
|
||||
|
||||
meta_data = new PbOperationMetaData();
|
||||
AddOperationParameter(meta_data, "file", "Image file name");
|
||||
AddOperationParameter(meta_data, "size", "Image file size in bytes");
|
||||
AddOperationParameter(meta_data, "file", "Image file name", "", true);
|
||||
AddOperationParameter(meta_data, "size", "Image file size in bytes", "", true);
|
||||
parameter = AddOperationParameter(meta_data, "read_only", "Read-only flag", "false");
|
||||
parameter->add_permitted_values("true");
|
||||
parameter->add_permitted_values("false");
|
||||
CreateOperation(operation_info, meta_data, CREATE_IMAGE, "Create an image file");
|
||||
|
||||
meta_data = new PbOperationMetaData();
|
||||
AddOperationParameter(meta_data, "file", "Image file name");
|
||||
AddOperationParameter(meta_data, "file", "Image file name", "", true);
|
||||
CreateOperation(operation_info, meta_data, DELETE_IMAGE, "Delete image file");
|
||||
|
||||
meta_data = new PbOperationMetaData();
|
||||
AddOperationParameter(meta_data, "from", "Source image file name");
|
||||
AddOperationParameter(meta_data, "to", "Destination image file name");
|
||||
AddOperationParameter(meta_data, "from", "Source image file name", "", true);
|
||||
AddOperationParameter(meta_data, "to", "Destination image file name", "", true);
|
||||
CreateOperation(operation_info, meta_data, RENAME_IMAGE, "Rename image file");
|
||||
|
||||
meta_data = new PbOperationMetaData();
|
||||
AddOperationParameter(meta_data, "from", "Source image file name image file name");
|
||||
AddOperationParameter(meta_data, "to", "Destination image file name");
|
||||
AddOperationParameter(meta_data, "from", "Source image file name image file name", "", true);
|
||||
AddOperationParameter(meta_data, "to", "Destination image file name", "", true);
|
||||
parameter = AddOperationParameter(meta_data, "read_only", "Read-only flag", "false");
|
||||
parameter->add_permitted_values("true");
|
||||
parameter->add_permitted_values("false");
|
||||
CreateOperation(operation_info, meta_data, COPY_IMAGE, "Copy image file");
|
||||
|
||||
meta_data = new PbOperationMetaData();
|
||||
AddOperationParameter(meta_data, "file", "Image file name");
|
||||
AddOperationParameter(meta_data, "file", "Image file name", "", true);
|
||||
CreateOperation(operation_info, meta_data, PROTECT_IMAGE, "Write-protect image file");
|
||||
|
||||
meta_data = new PbOperationMetaData();
|
||||
AddOperationParameter(meta_data, "file", "Image file name");
|
||||
AddOperationParameter(meta_data, "file", "Image file name", "", true);
|
||||
CreateOperation(operation_info, meta_data, UNPROTECT_IMAGE, "Make image file writable");
|
||||
|
||||
meta_data = new PbOperationMetaData();
|
||||
AddOperationParameter(meta_data, "token", "Authentication token to be checked");
|
||||
AddOperationParameter(meta_data, "token", "Authentication token to be checked", "", true);
|
||||
CreateOperation(operation_info, meta_data, CHECK_AUTHENTICATION, "Check whether an authentication token is valid");
|
||||
|
||||
meta_data = new PbOperationMetaData();
|
||||
|
@ -500,7 +500,7 @@ void RascsiResponse::CreateOperation(PbOperationInfo *operation_info, PbOperatio
|
|||
}
|
||||
|
||||
PbOperationParameter *RascsiResponse::AddOperationParameter(PbOperationMetaData *meta_data, const string& name,
|
||||
const string& description, const string& default_value)
|
||||
const string& description, const string& default_value, bool is_mandatory)
|
||||
{
|
||||
PbOperationParameter *parameter = meta_data->add_parameters();
|
||||
parameter->set_name(name);
|
||||
|
@ -508,6 +508,9 @@ PbOperationParameter *RascsiResponse::AddOperationParameter(PbOperationMetaData
|
|||
if (!default_value.empty()) {
|
||||
parameter->set_default_value(default_value);
|
||||
}
|
||||
else {
|
||||
parameter->set_is_mandatory(is_mandatory);
|
||||
}
|
||||
|
||||
return parameter;
|
||||
}
|
||||
|
|
|
@ -56,5 +56,5 @@ private:
|
|||
void GetAvailableImages(PbResult& result, PbServerInfo&, const string&, int);
|
||||
void CreateOperation(PbOperationInfo *, PbOperationMetaData *, const PbOperation&, const string&);
|
||||
PbOperationParameter *AddOperationParameter(PbOperationMetaData *, const string&, const string&,
|
||||
const string& = "");
|
||||
const string& = "", bool = false);
|
||||
};
|
||||
|
|
|
@ -303,7 +303,7 @@ void RasctlDisplay::DisplayOperationInfo(const PbOperationInfo& operation_info)
|
|||
|
||||
for (const auto& parameter : operation.second.parameters()) {
|
||||
cout << " " << parameter.name() << ": "
|
||||
<< (parameter.default_value().empty() ? "mandatory" : "optional");
|
||||
<< (parameter.is_mandatory() ? "mandatory" : "optional");
|
||||
if (!parameter.description().empty()) {
|
||||
cout << " (" << parameter.description().at("en") << ")";
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user