add rpc-global-settings-dictionary

This commit is contained in:
TangBin
2019-07-10 19:51:07 +08:00
parent 6abe2a64b3
commit 517e47082a
+26
View File
@@ -14,6 +14,15 @@
package modules
import (
"context"
"yunion.io/x/jsonutils"
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/pkg/mcclient/auth"
"yunion.io/x/onecloud/pkg/httperrors"
)
type ParametersManager struct {
ResourceManager
}
@@ -29,3 +38,20 @@ func init() {
)}
register(&Parameters)
}
func (this *ParametersManager) GetGlobalSettings(s *mcclient.ClientSession, params jsonutils.JSONObject) (jsonutils.JSONObject, error) {
adminSession := auth.GetAdminSession(context.Background(), "", "")
p := jsonutils.NewDict()
p.Add(jsonutils.NewString("system"), "scope")
p.Add(jsonutils.NewString("name"), "global-settings")
parameters, err := this.ListInContext(adminSession, p, &ServicesV3, "yunionagent")
if err != nil {
return nil, err
}
if parameters.Total == 0 {
return nil, httperrors.NewNotFoundError("global-settings not found")
}
return parameters.Data[0], nil
}