@@ -249,12 +249,22 @@ func (k *Kubernetes) PodsTop(ctx context.Context, options PodsTopOptions) (*metr
249249 namespace = k .NamespaceOrDefault (namespace )
250250 }
251251
252- if err := k .CanClientAccess (ctx , & schema.GroupVersionResource {
253- Group : "metrics.k8s.io" ,
254- Version : "v1beta1" ,
255- Resource : "podmetrics" ,
256- }, options .Name , namespace , "get" , "" ); err != nil {
257- return nil , err
252+ if options .Name != "" {
253+ if err := k .CanClientAccess (ctx , & schema.GroupVersionResource {
254+ Group : "metrics.k8s.io" ,
255+ Version : "v1beta1" ,
256+ Resource : "podmetrics" ,
257+ }, options .Name , namespace , "get" , "" ); err != nil {
258+ return nil , err
259+ }
260+ } else {
261+ if err := k .CanClientAccess (ctx , & schema.GroupVersionResource {
262+ Group : "metrics.k8s.io" ,
263+ Version : "v1beta1" ,
264+ Resource : "podmetrics" ,
265+ }, "" , namespace , "list" , "" ); err != nil {
266+ return nil , err
267+ }
258268 }
259269
260270 return k .manager .accessControlClientSet .PodsMetricses (ctx , namespace , options .Name , options .ListOptions )
0 commit comments