cookie — файл, в который будет помещен cookie;
csrftoken — файл, в который будет помещен CSRF-токен.
$export APINODE=pve01$export TARGETNODE=pve03
cookie:
$ curl --silent --insecure --data "username=root@pam&password=yourpassword" \
https://$APINODE:8006/api2/json/access/ticket \
| jq --raw-output '.data.ticket' | sed 's/^/PVEAuthCookie=/' > cookie
csrftoken:
$ curl --silent --insecure --data "username=root@pam&password=yourpassword" \
https://$APINODE:8006/api2/json/access/ticket \
| jq --raw-output '.data.CSRFPreventionToken' | sed 's/^/CSRFPreventionToken:/' > csrftoken
$ curl --insecure --cookie "$(<cookie)" https://$APINODE:8006/api2/json/nodes/$TARGETNODE/status | jq '.'
$ curl --silent --insecure --cookie "$(<cookie)" --header "$(<csrftoken)" -X POST\
--data-urlencode net0="name=myct0,bridge=vmbr0" \
--data-urlencode ostemplate="local:vztmpl/alt-p11-rootfs-systemd-x86_64.tar.xz" \
--data vmid=601 \
https://$APINODE:8006/api2/json/nodes/$TARGETNODE/lxc
{"data":"UPID:pve03:00005470:00083F6D:66A76C80:vzcreate:601:root@pam:"}
Команда должна вернуть структуру JSON, содержащую идентификатор задачи (UPID).
Примечание