Update grant_container_access.py

This commit is contained in:
2025-08-11 22:04:25 +03:00
parent dc17ca7bf9
commit ac7d5e1b99

View File

@@ -97,14 +97,14 @@ def resolve_container_ids(targets: List[str], containers: List[Dict]) -> Dict[st
id_map[t] = match["Id"]
return id_map
def fetch_resource_controls(session: requests.Session, base_url: str) -> List[Dict]:
# CE/EE: GET /api/resource_controls
resp = session.get(f"{base_url}/api/resource_controls", timeout=60)
def fetch_resource-controls(session: requests.Session, base_url: str) -> List[Dict]:
# CE/EE: GET /api/resource-controls
resp = session.get(f"{base_url}/api/resource-controls", timeout=60)
resp.raise_for_status()
return resp.json()
def find_rc_for_container(resource_controls: List[Dict], container_id: str) -> Optional[Dict]:
for rc in resource_controls:
def find_rc_for_container(resource-controls: List[Dict], container_id: str) -> Optional[Dict]:
for rc in resource-controls:
if rc.get("ResourceID") == container_id:
# Type 1 usually denotes Docker container
return rc
@@ -125,7 +125,7 @@ def ensure_user_in_rc(session: requests.Session, base_url: str, rc: Dict, user_i
if dry_run:
print(f"[DRY-RUN] Would update resource control {rc.get('Id')} to add user {user_id}")
return
resp = session.put(f"{base_url}/api/resource_controls/{rc['Id']}", json=rc_update, timeout=60)
resp = session.put(f"{base_url}/api/resource-controls/{rc['Id']}", json=rc_update, timeout=60)
resp.raise_for_status()
def create_rc_for_container(session: requests.Session, base_url: str, container_id: str, user_id: int, dry_run: bool) -> None:
@@ -141,7 +141,7 @@ def create_rc_for_container(session: requests.Session, base_url: str, container_
if dry_run:
print(f"[DRY-RUN] Would create resource control for container {container_id} with user {user_id}")
return
resp = session.post(f"{base_url}/api/resource_controls", json=payload, timeout=60)
resp = session.post(f"{base_url}/api/resource-controls", json=payload, timeout=60)
# 409 may occur if RC already exists concurrently; treat as non-fatal
if resp.status_code not in (200, 201):
resp.raise_for_status()
@@ -175,7 +175,7 @@ def main():
targets = [t.strip() for t in args.containers.split(",") if t.strip()]
id_map = resolve_container_ids(targets, containers)
rcs = fetch_resource_controls(session, base_url)
rcs = fetch_resource-controls(session, base_url)
successes = 0
for original, cid in id_map.items():