mirror of
https://github.com/ThomasGsp/HyperProxmox.git
synced 2025-03-09 15:40:18 +00:00
Doc - api info
This commit is contained in:
parent
afaf640f0e
commit
bd03e894fd
2 changed files with 82 additions and 21 deletions
|
@ -1,15 +1,22 @@
|
|||
# API Information
|
||||
|
||||
List of all API access available.
|
||||
Examples are available in the next page.
|
||||
|
||||
|
||||
### Instance status management
|
||||
``` bash
|
||||
'/api/v1/instance/id/<MongoID>/status/(start|stop|current|reset|shutdown)' | GET
|
||||
'/api/v1/static/instances/<date>|last/<cluster>/<node>/<vmid>/(start|stop|current|reset|shutdown)' | GET
|
||||
```
|
||||
|
||||
|
||||
### Cluster management
|
||||
``` bash
|
||||
'/api/v1/administration/cluster/<cluster>' | GET - Return the informations for an specific cluster
|
||||
| PUT - Update the configurations for an specific cluster
|
||||
| DELETE - Delete the configuration for an specific cluster
|
||||
| POST - Insert a new cluster
|
||||
|
||||
|
||||
'/api/v1/administration/cluster' | GET - Return all clusters information
|
||||
|
@ -26,30 +33,30 @@ This data are manage by the crawler, you can't insert or change data yourself
|
|||
``` bash
|
||||
# date/cluster/node/vmid
|
||||
# Disks mapping
|
||||
'/api/v1/static/disks/<date>/<cluster>/<node>/<vmid>' | GET - Return the informations for an specific disk
|
||||
'/api/v1/static/disks/<date>/<cluster>/<node>/' | GET - Return all disks used in a node
|
||||
'/api/v1/static/disks/<date>/<cluster>/' | GET - Return all disks used in a cluster
|
||||
'/api/v1/static/disks/<date>/' | GET - Return all disks
|
||||
'/api/v1/static/disks/<date>|last/<cluster>/<node>/<vmid>' | GET - Return the informations for an specific disk
|
||||
'/api/v1/static/disks/<date>|last/<cluster>/<node>/' | GET - Return all disks used in a node
|
||||
'/api/v1/static/disks/<date>|last/<cluster>/' | GET - Return all disks used in a cluster
|
||||
'/api/v1/static/disks/<date>|last/' | GET - Return all disks
|
||||
|
||||
# Storages mapping
|
||||
'/api/v1/static/storages/<date>/<cluster>/<node>/' | GET - Return all storage used in a node
|
||||
'/api/v1/static/storages/<date>/<cluster>/' | GET - Return all storages used in a cluster
|
||||
'/api/v1/static/storages/<date>/' | GET - Return all storages
|
||||
'/api/v1/static/storages/<date>|last/<cluster>/<node>/' | GET - Return all storage used in a node
|
||||
'/api/v1/static/storages/<date>|last/<cluster>/' | GET - Return all storages used in a cluster
|
||||
'/api/v1/static/storages/<date>|last/' | GET - Return all storages
|
||||
|
||||
# Instances mapping
|
||||
'/api/v1/static/instances/<date>/<cluster>/<node>/<vmid>' | GET - Return the informations for an specific instance
|
||||
'/api/v1/static/instances/<date>/<cluster>/<node>/' | GET - Return all instances for a node
|
||||
'/api/v1/static/instances/<date>/<cluster>/' | GET - Return all instances for a cluster
|
||||
'/api/v1/static/instances/<date>/' | GET - Return all instances (the dump can be very big, in a large infrastructure)
|
||||
'/api/v1/static/instances/<date>|last/<cluster>/<node>/<vmid>' | GET - Return the informations for an specific instance
|
||||
'/api/v1/static/instances/<date>|last/<cluster>/<node>/' | GET - Return all instances for a node
|
||||
'/api/v1/static/instances/<date>|last/<cluster>/' | GET - Return all instances for a cluster
|
||||
'/api/v1/static/instances/<date>|last/' | GET - Return all instances (the dump can be very big, in a large infrastructure)
|
||||
|
||||
# Nodes mapping
|
||||
'/api/v1/static/nodes/<date>/<cluster>/<node>' | GET - Return the informations for an specific node
|
||||
'/api/v1/static/nodes/<date>/<cluster>/' | GET - Return all nodes for a cluster
|
||||
'/api/v1/static/nodes/<date>/' | GET - Return all nodes
|
||||
'/api/v1/static/nodes/<date>|last/<cluster>/<node>' | GET - Return the informations for an specific node
|
||||
'/api/v1/static/nodes/<date>|last/<cluster>/' | GET - Return all nodes for a cluster
|
||||
'/api/v1/static/nodes/<date>|last/' | GET - Return all nodes
|
||||
|
||||
# cluster mapping
|
||||
'/api/v1/static/clusters/<date>/<cluster>' | GET - Return the insformations for a specific cluster
|
||||
'/api/v1/static/clusters/<date>/' | GET - Return all cluster informations
|
||||
'/api/v1/static/clusters/<date>|last/<cluster>' | GET - Return the insformations for a specific cluster
|
||||
'/api/v1/static/clusters/<date>|last/' | GET - Return all cluster informations
|
||||
|
||||
# date
|
||||
'/api/v1/static/dates/(all|last)' | GET - Return all or the last date available (generated by the crawler)
|
||||
|
@ -57,12 +64,11 @@ This data are manage by the crawler, you can't insert or change data yourself
|
|||
# mongoid
|
||||
'/api/v1/static/(instances|nodes|clusters|storages|disks)/id/<MongoID>' | GET - Return an information by mongoid
|
||||
|
||||
|
||||
```
|
||||
|
||||
### Typical use
|
||||
``` bash
|
||||
curl http://127.0.0.1:8080/api/v1/static/nodes/1519040226/Cluster_1/sd-817348
|
||||
```
|
||||
<something> = Change this value
|
||||
<date>|last = Two way - Use specific timestamp or select automaticaly the last date
|
||||
|
||||
|
||||
[Usage - logs](06-logs.md) <-- Previous | Next --> [Usage - General](08-usages.md)
|
|
@ -1,6 +1,8 @@
|
|||
# Usages
|
||||
|
||||
## New cluster
|
||||
## API
|
||||
|
||||
### New cluster
|
||||
``` bash
|
||||
# Minimum:
|
||||
curl -H -XPOST -d '{
|
||||
|
@ -43,4 +45,57 @@ curl -H -XPOST -d '{
|
|||
* "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
|
Loading…
Add table
Add a link
Reference in a new issue