Merge branch 'master' into metering
Signed-off-by: Rao Yunkun <yunkunrao@yunify.com>
This commit is contained in:
@@ -30,6 +30,7 @@ import (
|
||||
auditingv1alpha1 "kubesphere.io/kubesphere/pkg/api/auditing/v1alpha1"
|
||||
eventsv1alpha1 "kubesphere.io/kubesphere/pkg/api/events/v1alpha1"
|
||||
loggingv1alpha2 "kubesphere.io/kubesphere/pkg/api/logging/v1alpha2"
|
||||
quotav1alpha2 "kubesphere.io/kubesphere/pkg/apis/quota/v1alpha2"
|
||||
tenantv1alpha2 "kubesphere.io/kubesphere/pkg/apis/tenant/v1alpha2"
|
||||
"kubesphere.io/kubesphere/pkg/apiserver/authorization/authorizer"
|
||||
"kubesphere.io/kubesphere/pkg/apiserver/query"
|
||||
@@ -552,3 +553,78 @@ func (h *tenantHandler) ListClusters(r *restful.Request, response *restful.Respo
|
||||
|
||||
response.WriteEntity(result)
|
||||
}
|
||||
|
||||
func (h *tenantHandler) CreateWorkspaceResourceQuota(r *restful.Request, response *restful.Response) {
|
||||
workspaceName := r.PathParameter("workspace")
|
||||
resourceQuota := "av1alpha2.ResourceQuota{}
|
||||
err := r.ReadEntity(resourceQuota)
|
||||
if err != nil {
|
||||
api.HandleBadRequest(response, r, err)
|
||||
return
|
||||
}
|
||||
result, err := h.tenant.CreateWorkspaceResourceQuota(workspaceName, resourceQuota)
|
||||
if err != nil {
|
||||
api.HandleInternalError(response, r, err)
|
||||
return
|
||||
}
|
||||
response.WriteEntity(result)
|
||||
}
|
||||
|
||||
func (h *tenantHandler) DeleteWorkspaceResourceQuota(r *restful.Request, response *restful.Response) {
|
||||
workspace := r.PathParameter("workspace")
|
||||
resourceQuota := r.PathParameter("resourcequota")
|
||||
|
||||
if err := h.tenant.DeleteWorkspaceResourceQuota(workspace, resourceQuota); err != nil {
|
||||
if errors.IsNotFound(err) {
|
||||
api.HandleNotFound(response, r, err)
|
||||
return
|
||||
}
|
||||
api.HandleInternalError(response, r, err)
|
||||
return
|
||||
}
|
||||
|
||||
response.WriteEntity(servererr.None)
|
||||
}
|
||||
|
||||
func (h *tenantHandler) UpdateWorkspaceResourceQuota(r *restful.Request, response *restful.Response) {
|
||||
workspaceName := r.PathParameter("workspace")
|
||||
resourceQuotaName := r.PathParameter("resourcequota")
|
||||
resourceQuota := "av1alpha2.ResourceQuota{}
|
||||
err := r.ReadEntity(resourceQuota)
|
||||
if err != nil {
|
||||
api.HandleBadRequest(response, r, err)
|
||||
return
|
||||
}
|
||||
|
||||
if resourceQuotaName != resourceQuota.Name {
|
||||
err := fmt.Errorf("the name of the object (%s) does not match the name on the URL (%s)", resourceQuota.Name, resourceQuotaName)
|
||||
klog.Errorf("%+v", err)
|
||||
api.HandleBadRequest(response, r, err)
|
||||
return
|
||||
}
|
||||
|
||||
result, err := h.tenant.UpdateWorkspaceResourceQuota(workspaceName, resourceQuota)
|
||||
if err != nil {
|
||||
api.HandleInternalError(response, r, err)
|
||||
return
|
||||
}
|
||||
|
||||
response.WriteEntity(result)
|
||||
}
|
||||
|
||||
func (h *tenantHandler) DescribeWorkspaceResourceQuota(r *restful.Request, response *restful.Response) {
|
||||
workspaceName := r.PathParameter("workspace")
|
||||
resourceQuotaName := r.PathParameter("resourcequota")
|
||||
|
||||
resourceQuota, err := h.tenant.DescribeWorkspaceResourceQuota(workspaceName, resourceQuotaName)
|
||||
if err != nil {
|
||||
if errors.IsNotFound(err) {
|
||||
api.HandleNotFound(response, r, err)
|
||||
return
|
||||
}
|
||||
api.HandleInternalError(response, r, err)
|
||||
return
|
||||
}
|
||||
|
||||
response.WriteEntity(resourceQuota)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user