package cache import ( kapi "k8s.io/kubernetes/pkg/api" kerrors "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/controller/framework" ) // IndexerToSecurityContextConstraintsLister gives a store List and Exists methods. The store must contain only SecurityContextConstraints. type IndexerToSecurityContextConstraintsLister struct { cache.Indexer } // List all SecurityContextConstraints in the store. func (s *IndexerToSecurityContextConstraintsLister) List() ([]*kapi.SecurityContextConstraints, error) { sccs := []*kapi.SecurityContextConstraints{} for _, c := range s.Indexer.List() { sccs = append(sccs, c.(*kapi.SecurityContextConstraints)) } return sccs, nil } func (s *IndexerToSecurityContextConstraintsLister) Get(name string) (*kapi.SecurityContextConstraints, error) { keyObj := &kapi.SecurityContextConstraints{ObjectMeta: kapi.ObjectMeta{Name: name}} key, _ := framework.DeletionHandlingMetaNamespaceKeyFunc(keyObj) item, exists, getErr := s.GetByKey(key) if getErr != nil { return nil, getErr } if !exists { existsErr := kerrors.NewNotFound(kapi.Resource("securitycontexconstraints"), name) return nil, existsErr } return item.(*kapi.SecurityContextConstraints), nil }