Una API (de l'anglès Application Programming Interface, i en català, Interfície de Programació d'Aplicacions), és un programa que permet a diferents aplicacions comunicar-se entre si per a compartir informació i funcionalitats.
En aquest sentit, la nostra API et permet poder gestionar tot el que pots fer en el panell de Clouding. Des de crear servidors des de diferents orígens, fins a arxivar/desarxivar, crear snapshots, activar còpies de seguretat, afegir regles de firewall, etc.
Per a aquest tutorial utilitzarem el comando CURL però també podem utilitzar un client per a APIs anomenat HTTPie en la seva versió CLI i versió gràfica. I, a més, pots utilitzar qualsevol altre client per a APIs (PostMan (Linux, Windows, Mac), RapidAPI (Mac), etc.
Consulta la documentació oficial de l'API de Clouding
Recomanem que per a seguir aquest article i per a obtenir més informació consultis la documentació oficial de l'API de Clouding per a més detalls.
Aquí et deixem la secció on podràs llegir sobre com arxivar i desarxivar un servidor cloud.
Tindràs un endpoint per a cada acció on hauràs d'indicar l'ID del servidor.
Per a obtenir el llistat de servidors on obtindràs l'ID del servidor pots executar el següent:
curl -X GET -H "Content-Type: application/json" -H "X-API-KEY: $CLOUDING_APIKEY" https://api.clouding.io/v1/servers
Això et mostrarà en format JSON tots els servidors que tens:
...
{
"id": "58XEgdA0JVQ26mA0",
"name": "TutorialAPI",
"hostname": "test",
"vCores": 0.5,
"ramGb": 1,
"flavor": "0.5x1",
"volumeSizeGb": 5,
"image": {
"id": "BJebl0d7zA2WGwQ1",
"name": "Debian 11 (64 Bit)"
},
...
Per a cada acció, hauràs d'usar un endpoint diferent. Per exemple, per a arxivar:
curl -X POST -H "Content-Type: application/json" -H "X-API-KEY: $CLOUDING_APIKEY" https://api.clouding.io/v1/servers/$ID/archive
Recorda canviar $CLOUDING_APIKEY i $ID pels valors correctes.
En llançar aquest comando s'arxivarà el servidor, com podràs veure en el teu panell de client:
I aquesta és la sortida del comando en format JSON:
{
"id": "LQbN5nvQovrK9Jae",
"status": "inProgress",
"type": "archive",
"startedAt": "2023-02-17T10:20:52.6601832Z",
"completedAt": null,
"resourceId": "58XEgdA0JVQ26mA0",
"resourceType": "server"
}
D'altra banda, podràs desarxivar el servidor amb el següent comando:
curl -X POST -H "Content-Type: application/json" -H "X-API-KEY: $CLOUDING_APIKEY" https://api.clouding.io/v1/servers/$ID/unarchive
I podràs veure en el teu panell de client el desarxivat del teu servidor: