mirror of
https://github.com/ThomasGsp/HyperProxmox.git
synced 2025-02-15 04:32:15 +00:00
101 lines
3.3 KiB
Markdown
101 lines
3.3 KiB
Markdown
# Usages
|
||
|
||
## API
|
||
|
||
### New cluster
|
||
``` bash
|
||
# Minimum:
|
||
curl -H -XPOST -d '{
|
||
"name": "Cluster_name",
|
||
"url":"proxmox.cluster.net",
|
||
"port": "8006",
|
||
"user": "user@pve",
|
||
"password": "******",
|
||
"template": "",
|
||
"storage_disk": "",
|
||
"exclude_nodes": [""],
|
||
"groups" : [""],
|
||
"weight": 1
|
||
}' localhost:8080/api/v1/administration/cluster
|
||
|
||
# Other example:
|
||
curl -H -XPOST -d '{
|
||
"name": "Cluster_name",
|
||
"url":"proxmox.cluster.net",
|
||
"port": "8006",
|
||
"user": "user@pve",
|
||
"password": "******",
|
||
"template": "local:vztmpl/debian-9.0-standard_9.0-2_amd64.tar.gz",
|
||
"storage_disk": "disks",
|
||
"exclude_nodes": ["node_shit1"],
|
||
"groups" : ["group1", "group2..."],
|
||
"weight": 1
|
||
}' localhost:8080/api/v1/administration/cluster
|
||
|
||
```
|
||
|
||
* "name": Symbolic cluster name. Should be uniq (string) [VALUE NOT EMPTY REQUIRED]
|
||
* "url": Proxmox - Web GUI URL access (string) [VALUE NOT EMPTY REQUIRED]
|
||
* "port": Proxmox - Web PORT access (string) [VALUE NOT EMPTY REQUIRED]
|
||
* "user": Proxmox - Administrative PVE user (string) [VALUE NOT EMPTY REQUIRED]
|
||
* "password": Proxmox - PVE password (string) [VALUE NOT EMPTY REQUIRED]
|
||
* "template": Default template for LXC (string)
|
||
* "storage_disk": Default shared disk for KVM/LXC (string)
|
||
* "exclude_nodes": Do not use this nodes - Not visible (list)
|
||
* "groups" : Symbolics groups for this node (list)
|
||
* "weight": Weight for the cluster auto-selection (int) [VALUE NOT EMPTY REQUIRED]
|
||
|
||
|
||
### Manage virtual machine (status)
|
||
To manage an virtual machine, there are two way: use MongoID or the long path.
|
||
The first way is probably more efficient in a scripting/program system and the second way for human.
|
||
Indeed, it's just a wrapper.
|
||
|
||
First way:
|
||
```bash
|
||
# 1 - Get the last date
|
||
curl '/api/v1/static/dates/last'
|
||
{"value": 1525013945}
|
||
|
||
# 2 - Get VM-ID
|
||
curl 'http://127.0.0.1:8080/api/v1/static/instances/1525188197/Cluster_1/my_node/105'
|
||
{"result": "OK", "value": [
|
||
{"netin": 0,
|
||
"name": "templatevm",
|
||
"type": "qemu",
|
||
"macaddr": ["BA:B6:C5:8C:F3:55"],
|
||
"cluster": "Cluster_1",
|
||
"diskread": 0,
|
||
"mem": 0,
|
||
"maxmem": 1073741824,
|
||
"_id": {"$oid": "5ae886660e8d893fd32734e8"},
|
||
"disk": 0,
|
||
"node": "my_node",
|
||
"netout": 0,
|
||
"vmid": 105,
|
||
"uptime": 0,
|
||
"uniqid": "1524672808.5396078_ULBPKPXZ",
|
||
"template": "",
|
||
"diskwrite": 0,
|
||
"status": "stopped",
|
||
"cpu": 0,
|
||
"maxdisk": 53687091200,
|
||
"date": 1525188197,
|
||
"cpus": 1,
|
||
"pid": null
|
||
}
|
||
]}
|
||
|
||
# 3 - Action on VM
|
||
curl /api/v1/instance/id/5ae886660e8d893fd32734e8/status/start
|
||
{"result": "OK", "value": {"data": "UPID:sd-81592:00006C57:371A9F0B:5AE8884D:qmstart:105:api@pve:"}}%
|
||
```
|
||
|
||
Second:
|
||
```bash
|
||
curl 'http://127.0.0.1:8080/api/v1/static/instances/last/Cluster_1/my_node/510/stop'
|
||
{'data': 'UPID:sd-81592:00003E35:379BC306:5AE9D2E7:qmstop:510:api@pve:'}%
|
||
```
|
||
|
||
|
||
[Usage - api](07-api.md) <-- Previous
|