terraform/modules/vertex_ai/get_gcloud_value.py (13 lines of code) (raw):

#!/bin/python import os, sys, json, re # Test this script with the cmd below: # QUERY_TYPE=endpoints DISPLAY_NAME=classification-endpoint REGION=us-central1 python ../../modules/vertex_ai/get_gcloud_value.py input = sys.stdin.read() input_json = json.loads(input) or {} # input_json = {} region = input_json.get("region", os.getenv("REGION")) display_name = input_json.get("display_name", os.getenv("DISPLAY_NAME")) query_type = input_json.get("query_type", os.getenv("QUERY_TYPE")) # Sample gcloud cmd: # gcloud ai endpoints list --region=us-central1 --filter=displayName:classification --quiet --format='json(name)' cmd = f"gcloud ai {query_type} list --region={region} --filter=displayName:{display_name} --quiet --format='json(name)'" cmd_output = os.popen(cmd).read() assert type(cmd_output) == str, f"gcloud output is not a string: {cmd_output}" cmd_output = re.sub(r"projects.*\/", "", cmd_output) endpoint_json = json.loads(cmd_output) endpoint_str = json.dumps(endpoint_json[0]) print(endpoint_str)