cloudcommon: proxysetting: make it domainized

This commit is contained in:
Yousong Zhou
2020-03-31 18:59:27 +08:00
parent 2f4e7d585e
commit f8dc741763
2 changed files with 18 additions and 2 deletions
+11 -2
View File
@@ -11,14 +11,23 @@ const (
)
type ProxySettingCreateInput struct {
apis.VirtualResourceCreateInput
apis.StandaloneResourceCreateInput
HttpProxy string
HttpsProxy string
NoProxy string
}
type ProxySettingUpdateInput ProxySettingCreateInput
type ProxySettingUpdateInput struct {
HttpProxy string
HttpsProxy string
NoProxy string
// 资源名称
Name string `json:"name"`
// 资源描述
Description string `json:"description"`
}
// String implements ISerializable interface
func (ps *SProxySetting) String() string {
+7
View File
@@ -19,6 +19,7 @@ import (
type SProxySettingManager struct {
db.SStandaloneResourceBaseManager
db.SDomainizedResourceBaseManager
}
var ProxySettingManager *SProxySettingManager
@@ -37,6 +38,7 @@ func init() {
type SProxySetting struct {
db.SStandaloneResourceBase
db.SDomainizedResourceBase
HTTPProxy string `create:"admin_optional" list:"admin" update:"admin"`
HTTPSProxy string `create:"admin_optional" list:"admin" update:"admin"`
@@ -47,6 +49,11 @@ func (man *SProxySettingManager) ValidateCreateData(ctx context.Context, userCre
return data, nil
}
func (ps *SProxySetting) CustomizeCreate(ctx context.Context, userCred mcclient.TokenCredential, ownerId mcclient.IIdentityProvider, query jsonutils.JSONObject, data jsonutils.JSONObject) error {
ps.DomainId = ownerId.GetProjectDomainId()
return ps.SStandaloneResourceBase.CustomizeCreate(ctx, userCred, ownerId, query, data)
}
func (ps *SProxySetting) ValidateUpdateData(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, data proxyapi.ProxySettingUpdateInput) (proxyapi.ProxySettingUpdateInput, error) {
if ps.Id == proxyapi.ProxySettingId_DIRECT {
return data, httperrors.NewConflictError("DIRECT setting cannot be changed")