From 7ac26818ea2cb099777d3f4a3186e925a387b383 Mon Sep 17 00:00:00 2001 From: Fred-sun <37327967+Fred-sun@users.noreply.github.com> Date: Tue, 22 Aug 2023 16:42:49 +0800 Subject: [PATCH] Fix azure_rm_aks_info.py to list all manged cluster bug (#1229) --- plugins/modules/azure_rm_aks_info.py | 34 +++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/plugins/modules/azure_rm_aks_info.py b/plugins/modules/azure_rm_aks_info.py index 19e802833..a848ae8f6 100644 --- a/plugins/modules/azure_rm_aks_info.py +++ b/plugins/modules/azure_rm_aks_info.py @@ -118,10 +118,12 @@ def exec_module(self, **kwargs): for key in self.module_args: setattr(self, key, kwargs[key]) - self.results['aks'] = ( - self.get_item() if self.name - else self.list_items() - ) + if self.name is not None and self.resource_group is not None: + self.results['aks'] = self.get_item() + elif self.resource_group is not None: + self.results['aks'] = self.list_by_resourcegroup() + else: + self.results['aks'] = self.list_items() return self.results @@ -145,13 +147,33 @@ def get_item(self): return result + def list_by_resourcegroup(self): + """Get all Azure Kubernetes Services""" + + self.log('List all Azure Kubernetes Services under resource group') + + try: + response = self.managedcluster_client.managed_clusters.list_by_resource_group(self.resource_group) + except Exception as exc: + self.fail('Failed to list all items - {0}'.format(str(exc))) + + results = [] + for item in response: + if self.has_tags(item.tags, self.tags): + item_dict = self.serialize_obj(item, AZURE_OBJECT_CLASS) + if self.show_kubeconfig: + item_dict['kube_config'] = self.get_aks_kubeconfig(self.resource_group, item.name) + results.append(item_dict) + + return results + def list_items(self): """Get all Azure Kubernetes Services""" self.log('List all Azure Kubernetes Services') try: - response = self.managedcluster_client.managed_clusters.list(self.resource_group) + response = self.managedcluster_client.managed_clusters.list() except Exception as exc: self.fail('Failed to list all items - {0}'.format(str(exc))) @@ -160,7 +182,7 @@ def list_items(self): if self.has_tags(item.tags, self.tags): item_dict = self.serialize_obj(item, AZURE_OBJECT_CLASS) if self.show_kubeconfig: - item_dict['kube_config'] = self.get_aks_kubeconfig(self.resource_group, item.name) + item_dict['kube_config'] = self.get_aks_kubeconfig(item.resource_group, item.name) results.append(item_dict) return results