diff --git a/pkg/apis/cloudcommon/proxy/proxy.go b/pkg/apis/cloudcommon/proxy/proxy.go index 6f4f619b86..3cc57c627d 100644 --- a/pkg/apis/cloudcommon/proxy/proxy.go +++ b/pkg/apis/cloudcommon/proxy/proxy.go @@ -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 { diff --git a/pkg/cloudcommon/db/proxy/proxysetting.go b/pkg/cloudcommon/db/proxy/proxysetting.go index 912966e922..900ab4e3a7 100644 --- a/pkg/cloudcommon/db/proxy/proxysetting.go +++ b/pkg/cloudcommon/db/proxy/proxysetting.go @@ -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")