Python authentication

from eveiac import EveIacClient, LoginRequest, is_auth_error, AgentError

client = EveIacClient(url="https://eve.example:8787", ca_pem=ca_pem)
session = client.login(LoginRequest(username="admin", password="secret"))
client = EveIacClient(url="https://eve.example:8787", token=session.token, ca_pem=ca_pem)
client.get_session()

get_health does not require a token. Almost every other call does.

AgentError carries message, status, code, and data. is_auth_error() is true for unauthenticated, expired_agent_session, expired_eve_session, invalid_credentials, or HTTP 401.

Mutating operations are not replayed after a native EVE 401. Re-read live state, then retry.

TLS failures use codes such as tls_required, tls_untrusted, tls_pin_mismatch.

Omission: omit a field or pass UNSET to leave it off the wire. None is JSON null. False / 0 / "" are explicit.