@@ -28,15 +28,24 @@ type ResourceManager struct {
2828 secretLister corev1listers.SecretLister
2929 configMapLister corev1listers.ConfigMapLister
3030 serviceLister corev1listers.ServiceLister
31+ pvcLister corev1listers.PersistentVolumeClaimLister
32+ pvLister corev1listers.PersistentVolumeLister
3133}
3234
3335// NewResourceManager returns a ResourceManager with the internal maps initialized.
34- func NewResourceManager (podLister corev1listers.PodLister , secretLister corev1listers.SecretLister , configMapLister corev1listers.ConfigMapLister , serviceLister corev1listers.ServiceLister ) (* ResourceManager , error ) {
36+ func NewResourceManager (podLister corev1listers.PodLister ,
37+ secretLister corev1listers.SecretLister ,
38+ configMapLister corev1listers.ConfigMapLister ,
39+ serviceLister corev1listers.ServiceLister ,
40+ pvcLister corev1listers.PersistentVolumeClaimLister ,
41+ pvLister corev1listers.PersistentVolumeLister ) (* ResourceManager , error ) {
3542 rm := ResourceManager {
3643 podLister : podLister ,
3744 secretLister : secretLister ,
3845 configMapLister : configMapLister ,
3946 serviceLister : serviceLister ,
47+ pvcLister : pvcLister ,
48+ pvLister : pvLister ,
4049 }
4150 return & rm , nil
4251}
@@ -65,3 +74,13 @@ func (rm *ResourceManager) GetSecret(name, namespace string) (*v1.Secret, error)
6574func (rm * ResourceManager ) ListServices () ([]* v1.Service , error ) {
6675 return rm .serviceLister .List (labels .Everything ())
6776}
77+
78+ // GetPersistentVolumeClaim retrieves the specified pvc from Kubernetes
79+ func (rm * ResourceManager ) GetPersistentVolumeClaim (name , namespace string ) (* v1.PersistentVolumeClaim , error ) {
80+ return rm .pvcLister .PersistentVolumeClaims (namespace ).Get (name )
81+ }
82+
83+ // GetPersistentVolume retrieves the specified pv from Kubernetes
84+ func (rm * ResourceManager ) GetPersistentVolume (name string ) (* v1.PersistentVolume , error ) {
85+ return rm .pvLister .Get (name )
86+ }
0 commit comments