Una API (del inglés Application Programming Interface, y en castellano, Interfaz de Programación de Aplicaciones), es un programa que permite a diferentes aplicaciones comunicarse entre si para compartir información y funcionalidades.
En este sentido, nuestra API permite poder gestionar todo lo que puedes hacer en el panel de Clouding. Desde crear servidores desde diferentes orígenes, hasta archivar/desarchivar, crear snapshot, activar backups, añadir reglas de firewall, etc.
Para este tutorial utilizaremos el comando CURL pero también podemos usar un cliente para APIs llamado HTTPie en su versión CLI y versión gráfica. Y, además, puedes utilizar cualquier otro cliente para APIs (PostMan (Linux, Windows, Mac), RapidAPI (Mac), etc.
Consulta la documentación oficial de la API de Clouding
Recomendamos que para seguir este artículo y para obtener más información consultes la documentación oficial de la API de Clouding para más detalles.
Aquí te dejamos la sección donde podrás leer sobre la redimensión de un servidor.
Verás que habrá un endpoint donde deberás indicar el ID del servidor y más tarde unos parámetros para indicar el flavor y el tamaño del disco.
Para obtener el listado de servidores donde aparecerá el ID del servidor puedes ejecutar lo siguiente:
curl -X GET -H "Content-Type: application/json" -H "X-API-KEY: $CLOUDING_APIKEY" https://api.clouding.io/v1/servers
Esto te mostrará en formato JSON todos los servidores que tienes:
...
{
"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 observas la salida del JSON, verás que tienes el id, que deberás usar para redimensionar; y que la configuración del servidor es de 0.5 vcores, 1GB de RAM y 5GB de SSD. También verás que el flavor es 0.5x1.
A modo de ejemplo, vamos a redimensionar este servidor al flavor superior 1x2 (1vcore + 2GB de RAM). Para ello ejecutaremos el siguiente 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
Recuerda cambiar $CLOUDING_APIKEY y $ID por los valores correctos.
Al lanzar este comando se iniciará el redimensionado del servidor:
Y ésta es la salida del comando en formato JSON:
{
"id": "LQbN5nvQovrK9Jae",
"status": "inProgress",
"type": "resize",
"startedAt": "2023-02-17T10:20:52.6601832Z",
"completedAt": null,
"resourceId": "58XEgdA0JVQ26mA0",
"resourceType": "server"
}
También puedes hacer un redimensionado del servidor modificando únicamente el disco, de esta manera:
curl -X POST -H "Content-Type: application/json" -H "X-API-KEY: $CLOUDING_APIKEY" -d '{"volumeSizeGb":"50"}' https://api.clouding.io/v1/servers/$ID/resize