class FreeIpaClient {

    public Group groupAdd(String group) throws FreeIpaClientException {
        FreeIpaChecks.checkGroupNotProtected(group, () -> String.format("Group '%s' is protected and cannot be added to FreeIPA", group));
        List<Object> flags = List.of(group);
        Map<String, Object> params = Map.of();
        return (Group) invoke("group_add", flags, params, Group.class).getResult();
    }

    public  FreeIpaClient(JsonRpcHttpClient jsonRpcHttpClient, String apiAddress, String hostname);
    public  FreeIpaClient(JsonRpcHttpClient jsonRpcHttpClient, String apiVersion, String apiAddress, String hostname);

}