From 44c238c9250cfc875b84def7ace29881f480274e Mon Sep 17 00:00:00 2001 From: nitrocode <7775707+nitrocode@users.noreply.github.com> Date: Fri, 6 Oct 2023 15:30:28 -0500 Subject: [PATCH 1/2] fix: allow = as a delimiter --- aws_gate/query.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/aws_gate/query.py b/aws_gate/query.py index e2870ab7..00101e1c 100644 --- a/aws_gate/query.py +++ b/aws_gate/query.py @@ -62,10 +62,14 @@ def getinstanceidbytag(name, ec2=None): # provided name: # - aws: special prefixed tags in the form of aws::: # - regular cases in the form : - if name.startswith("aws:"): - key, value = ":".join(name.split(":", 3)[:3]), name.split(":", 3)[-1] + if '=' in name: + delimiter = '=' else: - key, value = name.split(":", 1) + delimiter = ':' + if name.startswith(f"aws{delimiter}:"): + key, value = delimiter.join(name.split(delimiter, 3)[:3]), name.split(delimiter, 3)[-1] + else: + key, value = name.split(delimiter, 1) filters = [{"Name": f"tag:{key}", "Values": [value]}] return _query_aws_api(filters=filters, ec2=ec2) From e7b0dc8db74d5032bc53372f5384e09f752abb8b Mon Sep 17 00:00:00 2001 From: nitrocode <7775707+nitrocode@users.noreply.github.com> Date: Fri, 6 Oct 2023 15:33:40 -0500 Subject: [PATCH 2/2] fix: rm extra colon --- aws_gate/query.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/aws_gate/query.py b/aws_gate/query.py index 00101e1c..982082f6 100644 --- a/aws_gate/query.py +++ b/aws_gate/query.py @@ -61,12 +61,14 @@ def getinstanceidbytag(name, ec2=None): # parsing. For this reason,we have to differentiate 2 cases for # provided name: # - aws: special prefixed tags in the form of aws::: + # - aws: special prefixed tags in the form of aws=== # - regular cases in the form : + # - regular cases in the form = if '=' in name: delimiter = '=' else: delimiter = ':' - if name.startswith(f"aws{delimiter}:"): + if name.startswith(f"aws{delimiter}"): key, value = delimiter.join(name.split(delimiter, 3)[:3]), name.split(delimiter, 3)[-1] else: key, value = name.split(delimiter, 1)