#!/usr/bin/env python3 # Проверка операций на инстансе pg-test-02 (710C1C21) import json, urllib.request TFVARS = "/home/naeel/terra/sless/examples/PG_TEST/terraform.tfvars" INSTANCE_UID = "710C1C21-B9E8-4973-8DE4-EAA796ADDA00" API = "https://deck-api-test.ngcloud.ru/api/v1/index.cfm" # Читаем токен из tfvars token = "" for line in open(TFVARS): if "api_token" in line: token = line.split('"')[1] break def get(path): req = urllib.request.Request(f"{API}{path}", headers={"Authorization": f"Bearer {token}"}) return json.loads(urllib.request.urlopen(req, timeout=10).read()) # Операции на инстансе print("=== Операции на инстансе ===") ops = get(f"/instanceOperations?instanceUid={INSTANCE_UID}") items = ops if isinstance(ops, list) else ops.get("data", []) for i in items[:10]: print(f" uid={i.get('uid')} op={i.get('svcOperation')} status={i.get('status')} created={i.get('createdAt')}") # Статус инстанса print("\n=== Статус инстанса ===") inst = get(f"/instances/{INSTANCE_UID}") print(f" name={inst.get('name') or inst.get('displayName')} state={inst.get('state') or inst.get('instanceState')} status={inst.get('status') or inst.get('instanceStatus')}") # Все ключи инстанса для диагностики print(" DEBUG keys:", list(inst.keys())[:15]) # Поиск по имени через search API (как делает провайдер) print("\n=== Поиск pg-test-02 через search API ===") search_res = get("/instances?fields=instanceUid,displayName,serviceId&page=1&pageSize=100&search=pg-test-02&isAuxiliary=false&isDeleted=false") results = search_res if isinstance(search_res, list) else search_res.get("results", search_res.get("data", [])) for i in results: uid = i.get("instanceUid") or i.get("uid") print(f" uid={uid} name={i.get('displayName') or i.get('name')} svcId={i.get('serviceId')} state={i.get('state')}") # Пагинированный список всех инстансов (первая страница) print("\n=== Все инстансы (страница 1, size=100) ===") all_inst = get("/instances?page=1&size=100") all_items = all_inst if isinstance(all_inst, list) else all_inst.get("data", all_inst.get("results", [])) pg_found = 0 for i in all_items: name = i.get("displayName") or i.get("name") or "" if "pg-test" in name.lower(): uid = i.get("instanceUid") or i.get("uid") print(f" uid={uid} name={name} state={i.get('state')} status={i.get('status')}") pg_found += 1 if pg_found == 0: print(f" pg-test инстансов не найдено (всего в ответе: {len(all_items)} записей)") # Печатаем первые 3 для отладки структуры for i in all_items[:3]: print(f" DEBUG: keys={list(i.keys())[:8]}")