2024-10-01 01:15:51 +00:00
|
|
|
package kubernetes
|
|
|
|
|
|
|
|
import (
|
2024-11-11 20:55:30 +00:00
|
|
|
"errors"
|
|
|
|
"net/http"
|
2024-10-01 01:15:51 +00:00
|
|
|
"time"
|
|
|
|
|
|
|
|
rbacv1 "k8s.io/api/rbac/v1"
|
2024-11-11 20:55:30 +00:00
|
|
|
"k8s.io/apimachinery/pkg/types"
|
2024-10-01 01:15:51 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
type (
|
|
|
|
K8sClusterRoleBinding struct {
|
|
|
|
Name string `json:"name"`
|
2024-11-11 20:55:30 +00:00
|
|
|
UID types.UID `json:"uid"`
|
|
|
|
Namespace string `json:"namespace"`
|
2024-10-01 01:15:51 +00:00
|
|
|
RoleRef rbacv1.RoleRef `json:"roleRef"`
|
|
|
|
Subjects []rbacv1.Subject `json:"subjects"`
|
|
|
|
CreationDate time.Time `json:"creationDate"`
|
2024-11-11 20:55:30 +00:00
|
|
|
IsSystem bool `json:"isSystem"`
|
2024-10-01 01:15:51 +00:00
|
|
|
}
|
2024-11-11 20:55:30 +00:00
|
|
|
|
|
|
|
// K8sRoleBindingDeleteRequests slice of cluster role cluster bindings.
|
|
|
|
K8sClusterRoleBindingDeleteRequests []string
|
2024-10-01 01:15:51 +00:00
|
|
|
)
|
2024-11-11 20:55:30 +00:00
|
|
|
|
|
|
|
func (r K8sClusterRoleBindingDeleteRequests) Validate(request *http.Request) error {
|
|
|
|
if len(r) == 0 {
|
|
|
|
return errors.New("missing deletion request list in payload")
|
|
|
|
}
|
|
|
|
|
|
|
|
return nil
|
|
|
|
}
|