@@ -22,6 +22,7 @@ import (
22
22
23
23
v1 "k8s.io/api/core/v1"
24
24
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
25
+ "k8s.io/dashboard/api/pkg/resource/poddisruptionbudget"
25
26
"k8s.io/klog/v2"
26
27
27
28
"k8s.io/dashboard/api/pkg/resource/networkpolicy"
@@ -1120,6 +1121,32 @@ func CreateHTTPAPIHandler(iManager integration.Manager) (*restful.Container, err
1120
1121
Writes (persistentvolumeclaim.PersistentVolumeClaimDetail {}).
1121
1122
Returns (http .StatusOK , "OK" , persistentvolumeclaim.PersistentVolumeClaimDetail {}))
1122
1123
1124
+ // PodDisruptionBudget
1125
+ apiV1Ws .Route (
1126
+ apiV1Ws .GET ("/poddisruptionbudget/" ).
1127
+ To (apiHandler .handleGetPodDisruptionBudgetList ).
1128
+ // docs
1129
+ Doc ("returns a list of PodDisruptionBudget" ).
1130
+ Writes (poddisruptionbudget.PodDisruptionBudgetList {}).
1131
+ Returns (http .StatusOK , "OK" , poddisruptionbudget.PodDisruptionBudgetList {}))
1132
+ apiV1Ws .Route (
1133
+ apiV1Ws .GET ("/poddisruptionbudget/{namespace}" ).
1134
+ To (apiHandler .handleGetPodDisruptionBudgetList ).
1135
+ // docs
1136
+ Doc ("returns a list of PodDisruptionBudget from specified namespace" ).
1137
+ Param (apiV1Ws .PathParameter ("namespace" , "namespace of the PodDisruptionBudget" )).
1138
+ Writes (poddisruptionbudget.PodDisruptionBudgetList {}).
1139
+ Returns (http .StatusOK , "OK" , poddisruptionbudget.PodDisruptionBudgetList {}))
1140
+ apiV1Ws .Route (
1141
+ apiV1Ws .GET ("/poddisruptionbudget/{namespace}/{name}" ).
1142
+ To (apiHandler .handleGetPodDisruptionBudgetDetail ).
1143
+ // docs
1144
+ Doc ("returns detailed information about PodDisruptionBudget" ).
1145
+ Param (apiV1Ws .PathParameter ("name" , "name of the PodDisruptionBudget" )).
1146
+ Param (apiV1Ws .PathParameter ("namespace" , "namespace of the PodDisruptionBudget" )).
1147
+ Writes (poddisruptionbudget.PodDisruptionBudgetDetail {}).
1148
+ Returns (http .StatusOK , "OK" , poddisruptionbudget.PodDisruptionBudgetDetail {}))
1149
+
1123
1150
// CRD
1124
1151
apiV1Ws .Route (
1125
1152
apiV1Ws .GET ("/crd" ).
@@ -2674,6 +2701,40 @@ func (apiHandler *APIHandler) handleGetPersistentVolumeClaimDetail(request *rest
2674
2701
_ = response .WriteHeaderAndEntity (http .StatusOK , result )
2675
2702
}
2676
2703
2704
+ func (apiHandler * APIHandler ) handleGetPodDisruptionBudgetList (request * restful.Request , response * restful.Response ) {
2705
+ k8sClient , err := client .Client (request .Request )
2706
+ if err != nil {
2707
+ errors .HandleInternalError (response , err )
2708
+ return
2709
+ }
2710
+
2711
+ namespace := parseNamespacePathParameter (request )
2712
+ dataSelect := parser .ParseDataSelectPathParameter (request )
2713
+ result , err := poddisruptionbudget .List (k8sClient , namespace , dataSelect )
2714
+ if err != nil {
2715
+ errors .HandleInternalError (response , err )
2716
+ return
2717
+ }
2718
+ _ = response .WriteHeaderAndEntity (http .StatusOK , result )
2719
+ }
2720
+
2721
+ func (apiHandler * APIHandler ) handleGetPodDisruptionBudgetDetail (request * restful.Request , response * restful.Response ) {
2722
+ k8sClient , err := client .Client (request .Request )
2723
+ if err != nil {
2724
+ errors .HandleInternalError (response , err )
2725
+ return
2726
+ }
2727
+
2728
+ namespace := request .PathParameter ("namespace" )
2729
+ name := request .PathParameter ("name" )
2730
+ result , err := poddisruptionbudget .Get (k8sClient , namespace , name )
2731
+ if err != nil {
2732
+ errors .HandleInternalError (response , err )
2733
+ return
2734
+ }
2735
+ _ = response .WriteHeaderAndEntity (http .StatusOK , result )
2736
+ }
2737
+
2677
2738
func (apiHandler * APIHandler ) handleGetPodContainers (request * restful.Request , response * restful.Response ) {
2678
2739
k8sClient , err := client .Client (request .Request )
2679
2740
if err != nil {
0 commit comments