mirror of
https://github.com/portainer/portainer.git
synced 2025-07-21 22:39:41 +02:00
Co-authored-by: James Carppe <85850129+jamescarppe@users.noreply.github.com> Co-authored-by: Anthony Lapenna <anthony.lapenna@portainer.io> Co-authored-by: andres-portainer <91705312+andres-portainer@users.noreply.github.com> Co-authored-by: Oscar Zhou <100548325+oscarzhou-portainer@users.noreply.github.com> Co-authored-by: Yajith Dayarathna <yajith.dayarathna@portainer.io> Co-authored-by: LP B <xAt0mZ@users.noreply.github.com> Co-authored-by: oscarzhou <oscar.zhou@portainer.io> Co-authored-by: testA113 <aliharriss1995@gmail.com>
44 lines
1.2 KiB
Go
44 lines
1.2 KiB
Go
package kubernetes
|
|
|
|
import (
|
|
"errors"
|
|
"net/http"
|
|
|
|
corev1 "k8s.io/api/core/v1"
|
|
)
|
|
|
|
// K8sJob struct
|
|
type K8sJob struct {
|
|
ID string `json:"Id"`
|
|
Namespace string `json:"Namespace"`
|
|
Name string `json:"Name"`
|
|
PodName string `json:"PodName"`
|
|
Container corev1.Container `json:"Container,omitempty"`
|
|
Command string `json:"Command,omitempty"`
|
|
BackoffLimit int32 `json:"BackoffLimit,omitempty"`
|
|
Completions int32 `json:"Completions,omitempty"`
|
|
StartTime string `json:"StartTime"`
|
|
FinishTime string `json:"FinishTime"`
|
|
Duration string `json:"Duration"`
|
|
Status string `json:"Status"`
|
|
FailedReason string `json:"FailedReason"`
|
|
IsSystem bool `json:"IsSystem"`
|
|
}
|
|
|
|
type (
|
|
K8sJobDeleteRequests map[string][]string
|
|
)
|
|
|
|
func (r K8sJobDeleteRequests) Validate(request *http.Request) error {
|
|
if len(r) == 0 {
|
|
return errors.New("missing deletion request list in payload")
|
|
}
|
|
|
|
for ns := range r {
|
|
if len(ns) == 0 {
|
|
return errors.New("deletion given with empty namespace")
|
|
}
|
|
}
|
|
|
|
return nil
|
|
}
|