Files
weave-scope/probe/kubernetes/storageclass.go
Akash Srivastava 029bbbcec8 Add describe control to all k8s resources
This commit will add a new control i.e. Describe
which will describe a k8s resource similar to kubectl describe.

Signed-off-by: Akash Srivastava <akashsrivastava4927@gmail.com>
2019-04-01 11:22:12 +05:30

34 lines
923 B
Go

package kubernetes
import (
"github.com/weaveworks/scope/report"
storagev1 "k8s.io/api/storage/v1"
)
// StorageClass represent kubernetes StorageClass interface
type StorageClass interface {
Meta
GetNode(probeID string) report.Node
}
// storageClass represents kubernetes storage classes
type storageClass struct {
*storagev1.StorageClass
Meta
}
// NewStorageClass returns new Storage Class type
func NewStorageClass(p *storagev1.StorageClass) StorageClass {
return &storageClass{StorageClass: p, Meta: meta{p.ObjectMeta}}
}
// GetNode returns StorageClass as Node
func (p *storageClass) GetNode(probeID string) report.Node {
return p.MetaNode(report.MakeStorageClassNodeID(p.UID())).WithLatests(map[string]string{
NodeType: "Storage Class",
Name: p.GetName(),
Provisioner: p.Provisioner,
report.ControlProbeID: probeID,
}).WithLatestActiveControls(Describe)
}