VOL-3765: option to retrieve startup configuration info

Change-Id: I9a5b15bf4bb4bf0b030e29b4c4f4553d2177c29b
diff --git a/protos/dmi/sw_management_service.proto b/protos/dmi/sw_management_service.proto
index 754a654..9fcc322 100644
--- a/protos/dmi/sw_management_service.proto
+++ b/protos/dmi/sw_management_service.proto
@@ -55,6 +55,27 @@
     Reason reason = 2;

 }

 

+message StartupConfigInfoRequest {

+    Uuid device_uuid = 1;

+}

+

+message StartupConfigInfoResponse {

+    enum Reason {

+        UNDEFINED_REASON = 0;

+        UNKNOWN_DEVICE = 1;

+        INTERNAL_ERROR = 2;

+    }

+    Status status = 1;

+    Reason reason = 2;

+    // The config_url is an optional attribute, the device manager could return the location from

+    // where the config was downloaded. Also it would not be present/empty for a fresh device into which the

+    // startup config would have been installed in the factory.

+    string config_url = 3;

+    // The version of the startup configuration. It is recommended to use semVer, but the DM implementations

+    // and operators could choose any other format as well.

+    string version = 4;

+}

+

 service NativeSoftwareManagementService {

     // Get the software version information of the Active and Standby images

     rpc GetSoftwareVersion(HardwareID) returns(GetSoftwareVersionInformationResponse);

@@ -74,6 +95,9 @@
     // This API can be used to let the devices pickup their properitary configuration which they need at startup.

     rpc UpdateStartupConfiguration(ConfigRequest) returns(stream ConfigResponse);

 

+    // This API can be used to retrieve information about the current startup configuration that a device is using

+    rpc GetStartupConfigurationInfo(StartupConfigInfoRequest) returns(StartupConfigInfoResponse);

+

     // If needed we can add this later

     //rpc SubscribeToEvents() returns (stream );

 }