cURL : Utiliser le Stockage Bloc

Retrouvez ci-dessous quelques exemples d’appels vers l’API du service de contrôle d’accès et l’API du service de stockage bloc.

Pour obtenir une liste complète des appels, consultez notre documentation.

Créer un volume de stockage persistant

Pour créer un volume de 50Go utilisez :

$ curl -i https://volume.fr1.cloudwatt.com/v1/<Tenant id>/volumes -X POST -H "Content-Type: application/json" -H "Accept: application/json" -H "X-Auth-Token: <token>" -d '{"volume": {"status": "creating", "size": 50, "display_name": "monVolume"}}'

Résultat :

HTTP/1.1 200 OK
Date: Wed, 06 Aug 2014 12:54:44 GMT
X-Compute-Request-Id: req-328ac041-ecf1-4eb3-8b8d-c23289eeb94b
Content-Type: application/json
Content-Length: 369
X-Openstack-Request-Id: req-328ac041-ecf1-4eb3-8b8d-c23289eeb94b

{
   "volume":{
      "status":"creating",
      "display_name":"monVolume",
      "attachments":[

      ],
      "availability_zone":"prd1",
      "bootable":"false",
      "encrypted":false,
      "created_at":"2014-08-06T12:54:44.433608",
      "display_description":null,
      "volume_type":"standard",
      "snapshot_id":null,
      "source_volid":null,
      "metadata":{

      },
      "id":"24b18fc9-0635-4c99-98d2-6d59694bffb4",
      "size":50
   }
}

Après avoir créé votre volume, vous pouvez attacher ce dernier à une instance.

Par exemple avec une instance ayant pour ID c4d3e264-de8e-47a6-b3fb-727668dc1c3a :

$ curl -i 'https://compute.fr1.cloudwatt.com/v2/<Tenant id>/servers/c4d3e264-de8e-47a6-b3fb-727668dc1c3a/os-volume_attachments' -X POST -H "Content-Type: application/json" -H "Accept: application/json" -H "X-Auth-Token: <token>" -d '{"volumeAttachment": {"device": null, "volumeId": "24b18fc9-0635-4c99-98d2-6d59694bffb4"}}'

Résultat :

HTTP/1.1 200 OK
Date: Wed, 06 Aug 2014 13:10:25 GMT
Content-Type: application/json
Content-Length: 194
X-Compute-Request-Id: req-3bb3d0ad-f2da-4f79-b9e8-1c2b93f2ac81

{
   "volumeAttachment":{
      "device":"/dev/vdb",
      "serverId":"c4d3e264-de8e-47a6-b3fb-727668dc1c3a",
      "id":"24b18fc9-0635-4c99-98d2-6d59694bffb4",
      "volumeId":"24b18fc9-0635-4c99-98d2-6d59694bffb4"
   }
}


Redimensionner un volume persistant

Si vous souhaitez redimensionner votre volume, vous devez tout d’abord le détacher de votre instance :

$ curl -i 'https://compute.fr1.cloudwatt.com/v2/<Tenant id>/servers/c4d3e264-de8e-47a6-b3fb-727668dc1c3a/os-volume_attachments/24b18fc9-0635-4c99-98d2-6d59694bffb4' -X DELETE -H "Accept: application/json" -H "X-Auth-Token: <token>"

Résultat :

$ HTTP/1.1 202 Accepted
Date: Wed, 06 Aug 2014 13:11:41 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 0
X-Compute-Request-Id: req-113b1ea9-4528-4db6-a7b8-a3c479c2d3fc

Après avoir détaché votre volume, vous pouvez en augmenter la taille de 50Go à 51Go :

$ curl -i https://volume.fr1.cloudwatt.com/v1/<Tenant id>/volumes/24b18fc9-0635-4c99-98d2-6d59694bffb4/action -X POST -H "Content-Type: application/json" -H "Accept: application/json" -H "X-Auth-Token: <token>" -d '{"os-extend": {"new_size": 51}}'

Résultat :

HTTP/1.1 202 Accepted
Date: Wed, 06 Aug 2014 13:15:34 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 0
X-Openstack-Request-Id: req-ba3da02d-6033-4bee-9e9e-be732ff77468


Créer un snapshot d’un volume persistant

Pour diverse raison, vous serez peut-être amené à utiliser les snapshots.

Le volume n’a pas besoin d’être détaché d’une instance, mais dans certains cas, la création d’un snapshot depuis un volume attaché peut produire un snapshot endommagé.

Pour créer un snapshot de notre volume “monVolume” :

$ curl -i https://volume.fr1.cloudwatt.com/v1/<Tenant id>/snapshots -X POST -H "Content-Type: application/json" -H "Accept: application/json" -H "X-Auth-Token: <token>" -d '{"snapshot": {"display_name": "instantane-monVolume", "volume_id": "24b18fc9-0635-4c99-98d2-6d59694bffb4"}}'

Résultat :

HTTP/1.1 200 OK
Date: Wed, 06 Aug 2014 13:28:59 GMT
X-Compute-Request-Id: req-209bd2d5-c7fe-4b0f-9c59-c04b08b402f3
Content-Type: application/json
Content-Length: 276
X-Openstack-Request-Id: req-209bd2d5-c7fe-4b0f-9c59-c04b08b402f3

{
   "snapshot":{
      "status":"creating",
      "display_name":"instantane-monVolume",
      "created_at":"2014-08-06T13:28:59.049302",
      "display_description":null,
      "volume_id":"24b18fc9-0635-4c99-98d2-6d59694bffb4",
      "metadata":{

      },
      "id":"84edae0c-18c4-44f3-a906-cea8a47d6673",
      "size":52
   }
}

Pour supprimer le snapshot que nous venons de créer :

$ curl -i https://volume.fr1.cloudwatt.com/v1/<Tenant id>/snapshots/84edae0c-18c4-44f3-a906-cea8a47d6673 -X DELETE -H "Accept: application/json" -H "X-Auth-Token: <token>"

Résultat :

HTTP/1.1 202 Accepted
Date: Wed, 06 Aug 2014 13:34:25 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 0
X-Openstack-Request-Id: req-4028c68b-3422-4617-99f7-4cedfd4d9472


Supprimer un volume persistant

Lorsque vous n’avez plus besoin de votre volume persistant, vous pouvez le supprimer.

Attention : Si vous souhaitez supprimer votre volume, vous devez préalablement avoir supprimé vos snapshots et détaché le volume de l’instance.

Pour supprimer le volume :

$ curl -i https://volume.fr1.cloudwatt.com/v1/<Tenant id>/volumes/24b18fc9-0635-4c99-98d2-6d59694bffb4 -X DELETE -H "Accept: application/json" -H "X-Auth-Token: <token>"

Résultat :

HTTP/1.1 202 Accepted
Date: Wed, 06 Aug 2014 13:37:39 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 0
X-Openstack-Request-Id: req-257400c2-eac9-4f7e-b265-3e4498a1ccb9