"""Validate loaded Debezium plugin first; update only this isolated demo name."""
import argparse
import json
from pathlib import Path
import requests

def main():
    ap=argparse.ArgumentParser()
    ap.add_argument("--url",default="http://localhost:18083")
    a=ap.parse_args()
    data=json.loads(Path(__file__).with_name("postgres.json").read_text(encoding="utf-8"))
    plugin=data["config"]["connector.class"]
    response=requests.put(a.url+f"/connector-plugins/{plugin}/config/validate",
                          json=data["config"],timeout=30)
    response.raise_for_status()
    report=response.json()
    if report.get("error_count"):raise SystemExit(json.dumps(report,indent=2))
    response=requests.put(a.url+f"/connectors/{data['name']}/config",
                          json=data["config"],timeout=30)
    response.raise_for_status()
    print(response.text)
    status=requests.get(a.url+f"/connectors/{data['name']}/status",timeout=30)
    status.raise_for_status()
    print(status.text)

if __name__=="__main__":main()
