diff --git a/kubernetes/base/dynamic/resource.py b/kubernetes/base/dynamic/resource.py index 6708f00d4..ca923a3e7 100644 --- a/kubernetes/base/dynamic/resource.py +++ b/kubernetes/base/dynamic/resource.py @@ -108,17 +108,21 @@ class Resource(object): class ResourceList(Resource): """ Represents a list of API objects """ - def __init__(self, client, group='', api_version='v1', base_kind='', kind=None): + def __init__(self, client, group='', api_version='v1', base_kind='', kind=None, base_resource_lookup=None): self.client = client self.group = group self.api_version = api_version self.kind = kind or '{}List'.format(base_kind) self.base_kind = base_kind + self.base_resource_lookup = base_resource_lookup self.__base_resource = None def base_resource(self): if self.__base_resource: return self.__base_resource + elif self.base_resource_lookup: + self.__base_resource = self.client.resources.get(**self.base_resource_lookup) + return self.__base_resource elif self.base_kind: self.__base_resource = self.client.resources.get(group=self.group, api_version=self.api_version, kind=self.base_kind) return self.__base_resource