mirror of
https://github.com/grafana/grafana.git
synced 2025-07-31 06:22:56 +08:00
37 lines
813 B
Go
37 lines
813 B
Go
package admission
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"github.com/grafana/grafana-plugin-sdk-go/backend"
|
|
admissionv1 "k8s.io/api/admission/v1"
|
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
)
|
|
|
|
func FromValidationResponse(r *backend.ValidationResponse) *admissionv1.AdmissionReview {
|
|
res := &admissionv1.AdmissionResponse{
|
|
Allowed: r.Allowed,
|
|
Warnings: r.Warnings,
|
|
}
|
|
|
|
if !r.Allowed {
|
|
res.Result = &metav1.Status{
|
|
Status: metav1.StatusFailure,
|
|
Message: "Internal error",
|
|
Reason: metav1.StatusReasonInternalError,
|
|
Code: http.StatusInternalServerError,
|
|
}
|
|
if r.Result != nil {
|
|
res.Result.Message = r.Result.Message
|
|
res.Result.Reason = metav1.StatusReason(r.Result.Reason)
|
|
res.Result.Code = r.Result.Code
|
|
}
|
|
}
|
|
|
|
resAR := &admissionv1.AdmissionReview{
|
|
Response: res,
|
|
}
|
|
|
|
return resAR
|
|
}
|