MCPcopy Index your code
hub / github.com/kubernetes-client/python / parse_api_groups

Method parse_api_groups

kubernetes/base/dynamic/discovery.py:112–134  ·  view source on GitHub ↗

Discovers all API groups present in the cluster

(self, request_resources=False, update=False)

Source from the content-addressed store, hash-verified

110 return groups
111
112 def parse_api_groups(self, request_resources=False, update=False):
113 """ Discovers all API groups present in the cluster """
114 if not self._cache.get('resources') or update:
115 self._cache['resources'] = self._cache.get('resources', {})
116 groups_response = self.client.request('GET', '/{}'.format(DISCOVERY_PREFIX)).groups
117
118 groups = self.default_groups(request_resources=request_resources)
119
120 for group in groups_response:
121 new_group = {}
122 for version_raw in group['versions']:
123 version = version_raw['version']
124 resource_group = self._cache.get('resources', {}).get(DISCOVERY_PREFIX, {}).get(group['name'], {}).get(version)
125 preferred = version_raw == group['preferredVersion']
126 resources = resource_group.resources if resource_group else {}
127 if request_resources:
128 resources = self.get_resources_for_api_version(DISCOVERY_PREFIX, group['name'], version, preferred)
129 new_group[version] = ResourceGroup(preferred, resources=resources)
130 groups[DISCOVERY_PREFIX][group['name']] = new_group
131 self._cache['resources'].update(groups)
132 self._write_cache()
133
134 return self._cache['resources']
135
136 def _load_server_info(self):
137 def just_json(_, serialized):

Callers 4

discoverMethod · 0.80
api_groupsMethod · 0.80
discoverMethod · 0.80
api_groupsMethod · 0.80

Calls 8

default_groupsMethod · 0.95
_write_cacheMethod · 0.95
ResourceGroupClass · 0.85
getMethod · 0.45
requestMethod · 0.45
formatMethod · 0.45
updateMethod · 0.45

Tested by

no test coverage detected