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 la redimensió d'un servidor.
Veuràs que hi haurà un endpoint on hauràs d'indicar l'id del servidor i més tard uns paràmetres per a indicar el flavor i la grandària del disc.
Per a obtenir el llistat de servidors on apareixerà 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)"
},
...
Si observes la sortida del JSON, veuràs que tens l'aneu, que hauràs d'usar per a redimensionar; i que la configuració del servidor és de 0.5 vcores, 1GB de RAM i 5GB de SSD. També veuràs que el flavor és 0.5x1.
A tall d'exemple, redimensionarem aquest servidor al flavor superior 1x2 (1vcore + 2GB de RAM). Per a això executarem el següent comando:
curl -X POST -H "Content-Type: application/json" -H "X-API-KEY: $CLOUDING_APIKEY" -d '{"flavorId":"1x2", "volumeSizeGb":"5"}' https://api.clouding.io/v1/servers/$ID/resize
Recorda canviar $CLOUDING_APIKEY i $ID pels valors correctes.
En llançar aquest comando s'iniciarà el redimensionament del servidor:
I aquesta és la sortida del comando en format JSON:
{
"id": "LQbN5nvQovrK9Jae",
"status": "inProgress",
"type": "resize",
"startedAt": "2023-02-17T10:20:52.6601832Z",
"completedAt": null,
"resourceId": "58XEgdA0JVQ26mA0",
"resourceType": "server"
}
També pots fer un redimensionat del servidor modificant únicament el disc, d'aquesta manera:
curl -X POST -H "Content-Type: application/json" -H "X-API-KEY: $CLOUDING_APIKEY" -d '{"volumeSizeGb":"50"}' https://api.clouding.