From bd03e894fdf5b11a33e6a31294893c3d18572e70 Mon Sep 17 00:00:00 2001 From: Tlams Date: Wed, 2 May 2018 16:06:21 +0100 Subject: [PATCH] Doc - api info --- doc/md/07-api.md | 46 ++++++++++++++++++++---------------- doc/md/08-usages.md | 57 ++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 82 insertions(+), 21 deletions(-) diff --git a/doc/md/07-api.md b/doc/md/07-api.md index 8873431..3844e8e 100644 --- a/doc/md/07-api.md +++ b/doc/md/07-api.md @@ -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//status/(start|stop|current|reset|shutdown)' | GET +'/api/v1/static/instances/|last////(start|stop|current|reset|shutdown)' | GET ``` + ### Cluster management ``` bash '/api/v1/administration/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////' | GET - Return the informations for an specific disk -'/api/v1/static/disks////' | GET - Return all disks used in a node -'/api/v1/static/disks///' | GET - Return all disks used in a cluster -'/api/v1/static/disks//' | GET - Return all disks +'/api/v1/static/disks/|last///' | GET - Return the informations for an specific disk +'/api/v1/static/disks/|last///' | GET - Return all disks used in a node +'/api/v1/static/disks/|last//' | GET - Return all disks used in a cluster +'/api/v1/static/disks/|last/' | GET - Return all disks # Storages mapping -'/api/v1/static/storages////' | GET - Return all storage used in a node -'/api/v1/static/storages///' | GET - Return all storages used in a cluster -'/api/v1/static/storages//' | GET - Return all storages +'/api/v1/static/storages/|last///' | GET - Return all storage used in a node +'/api/v1/static/storages/|last//' | GET - Return all storages used in a cluster +'/api/v1/static/storages/|last/' | GET - Return all storages # Instances mapping -'/api/v1/static/instances////' | GET - Return the informations for an specific instance -'/api/v1/static/instances////' | GET - Return all instances for a node -'/api/v1/static/instances///' | GET - Return all instances for a cluster -'/api/v1/static/instances//' | GET - Return all instances (the dump can be very big, in a large infrastructure) +'/api/v1/static/instances/|last///' | GET - Return the informations for an specific instance +'/api/v1/static/instances/|last///' | GET - Return all instances for a node +'/api/v1/static/instances/|last//' | GET - Return all instances for a cluster +'/api/v1/static/instances/|last/' | GET - Return all instances (the dump can be very big, in a large infrastructure) # Nodes mapping -'/api/v1/static/nodes///' | GET - Return the informations for an specific node -'/api/v1/static/nodes///' | GET - Return all nodes for a cluster -'/api/v1/static/nodes//' | GET - Return all nodes +'/api/v1/static/nodes/|last//' | GET - Return the informations for an specific node +'/api/v1/static/nodes/|last//' | GET - Return all nodes for a cluster +'/api/v1/static/nodes/|last/' | GET - Return all nodes # cluster mapping -'/api/v1/static/clusters//' | GET - Return the insformations for a specific cluster -'/api/v1/static/clusters//' | GET - Return all cluster informations +'/api/v1/static/clusters/|last/' | GET - Return the insformations for a specific cluster +'/api/v1/static/clusters/|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/' | 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 -``` + = Change this value +|last = Two way - Use specific timestamp or select automaticaly the last date [Usage - logs](06-logs.md) <-- Previous | Next --> [Usage - General](08-usages.md) \ No newline at end of file diff --git a/doc/md/08-usages.md b/doc/md/08-usages.md index fdcb767..96ed5af 100644 --- a/doc/md/08-usages.md +++ b/doc/md/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 \ No newline at end of file