6844: Skip uselessly writing unsigned manifest to Keep.
[arvados.git] / sdk / go / arvadosclient / arvadosclient.go
index 62eda5b054d59a9f82c330207ffdb61f1918d589..99b08186a533f101a88f0ca3910cc1fcbe06ab3d 100644 (file)
@@ -285,18 +285,24 @@ func (this ArvadosClient) List(resource string, parameters Dict, output interfac
 //
 //   parameter - name of parameter to be discovered
 // return
-//   valueMap - Dict key value pair of the discovered parameter
+//   value - value of the discovered parameter
 //   err - error accessing the resource, or nil if no error
 var API_DISCOVERY_RESOURCE string = "discovery/v1/apis/arvados/v1/rest"
 
-func (this *ArvadosClient) Discovery(parameter string) (valueMap Dict, err error) {
+func (this *ArvadosClient) Discovery(parameter string) (value interface{}, err error) {
        if len(this.DiscoveryDoc) == 0 {
                this.DiscoveryDoc = make(Dict)
                err = this.Call("GET", API_DISCOVERY_RESOURCE, "", "", nil, &this.DiscoveryDoc)
+               if err != nil {
+                       return nil, err
+               }
        }
 
-       valueMap = make(Dict)
-       valueMap[parameter] = this.DiscoveryDoc[parameter]
-
-       return valueMap, err
+       var found bool
+       value, found = this.DiscoveryDoc[parameter]
+       if found {
+               return value, nil
+       } else {
+               return value, errors.New("Not found")
+       }
 }