Merge pull request #5638 from yousong/feature/yousong-multicloud-proxyfunc-3.1

Feature/yousong multicloud proxyfunc 3.1
This commit is contained in:
Zexi Li
2020-04-01 10:24:35 +08:00
committed by GitHub
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")