Discovers all API groups present in the cluster
(self, request_resources=False, update=False)
| 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): |
no test coverage detected