From 9d5ba57154b3b3606247f818f699e730698775f6 Mon Sep 17 00:00:00 2001 From: KenF Date: Mon, 26 Jan 2026 09:43:54 +0800 Subject: [PATCH] feat: added nodegroups to eks inventory --- aws-eks.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/aws-eks.py b/aws-eks.py index 6fbcbaf..a20889f 100755 --- a/aws-eks.py +++ b/aws-eks.py @@ -12,14 +12,19 @@ from openpyxl import load_workbook from openpyxl.worksheet.worksheet import Worksheet import projectlib.aws +def getNodeGroups(region_name: str, cluster_name: str) -> str: + client = boto3.client('eks', region_name=region_name) + response = client.list_nodegroups(clusterName=cluster_name)['nodegroups'] + nodegroups = '|'.join(r for r in response) + return nodegroups def getResources(region_name: str) -> list[list[str | int]]: return_data = [] client = boto3.client('eks', region_name=region_name) response = client.list_clusters() for c in response['clusters']: - i = client.describe_cluster(name=c) - return_data.append([i['name'], i['version'], region_name]) + i = client.describe_cluster(name=c)['cluster'] + return_data.append([c, i['version'], getNodeGroups(region_name=region_name, cluster_name=c), region_name]) return return_data # Main function @@ -28,7 +33,7 @@ def main() -> None: wb = load_workbook('aws-inventory.xlsx') ws = wb.create_sheet("EKS") - ws.append(["name", "version", "Region"]) + ws.append(["name", "version", "NodeGroups", "Region"]) with concurrent.futures.ThreadPoolExecutor(max_workers=8) as executor: results = executor.map(getResources, projectlib.aws.getRegions()) for region_rows in results: