Différences entre versions de « Comment utiliser l'API Cloud Privé d’Ikoula »
m (1 révision importée) |
|||
(2 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
− | |||
− | |||
+ | |||
+ | <!--T:1--> | ||
+ | Lors de votre inscription au service b. <span class="notranslate">Cloud</span> Privé d’Ikoula , vous avez reçu un mail avec une clé d'API et une clé secrète. | ||
+ | Ces informations vous permettrons de vous connecter à l'API b. <span class="notranslate">Cloud</span> Privé d’Ikoula . | ||
+ | |||
+ | <!--T:2--> | ||
URL API : https://cloudstack.ikoula.com/client/api | URL API : https://cloudstack.ikoula.com/client/api | ||
+ | <!--T:3--> | ||
Les spécifications de l'API administrateur de domaine et utilisateur sont respectivement : | Les spécifications de l'API administrateur de domaine et utilisateur sont respectivement : | ||
+ | <!--T:4--> | ||
Admin : http://cloudstack.apache.org/docs/api/apidocs-4.2/TOC_Domain_Admin.html | Admin : http://cloudstack.apache.org/docs/api/apidocs-4.2/TOC_Domain_Admin.html | ||
User : http://cloudstack.apache.org/docs/api/apidocs-4.2/TOC_User.html | User : http://cloudstack.apache.org/docs/api/apidocs-4.2/TOC_User.html | ||
+ | <!--T:5--> | ||
Pour l'utililsation de l'API, il faut : | Pour l'utililsation de l'API, il faut : | ||
+ | <!--T:6--> | ||
* Votre clé d'API | * Votre clé d'API | ||
* Votre clé secréte | * Votre clé secréte | ||
Ligne 16 : | Ligne 24 : | ||
* Traiter les retours XML ou JSON (au choix) | * Traiter les retours XML ou JSON (au choix) | ||
+ | <!--T:7--> | ||
Exemple de requete a l'API utilisant la methode GET : | Exemple de requete a l'API utilisant la methode GET : | ||
+ | <!--T:8--> | ||
# https://cloudstack.ikoula.com/client/api/ | # https://cloudstack.ikoula.com/client/api/ | ||
# ?command=deployVirtualMachine | # ?command=deployVirtualMachine | ||
Ligne 27 : | Ligne 37 : | ||
# &signature=Lxx1DM40AjcXU%2FcaiK8RAP0O1hU%3D | # &signature=Lxx1DM40AjcXU%2FcaiK8RAP0O1hU%3D | ||
− | La ligne 1 correspond au point de d’entrée (le lien vers l'API b. Cloud Privé d’Ikoula ) | + | <!--T:9--> |
+ | La ligne 1 correspond au point de d’entrée (le lien vers l'API b. <span class="notranslate">Cloud</span> Privé d’Ikoula ) | ||
La ligne 2 correspond a la commande a envoyer, ici on veut crée une nouvelle VM | La ligne 2 correspond a la commande a envoyer, ici on veut crée une nouvelle VM | ||
La ligne 3-6 correspondent aux différents paramètres de la commande. | La ligne 3-6 correspondent aux différents paramètres de la commande. | ||
− | Vous pouvez rajouter le champs "response" qui définie le format de retour avec le paramètre (XML/JSON) | + | Vous pouvez rajouter le champs <span class="notranslate">"response"</span> qui définie le format de retour avec le paramètre (XML/JSON) |
La ligne 7 contient votre clé d'API (Ici est une clé d'exemple invalide, a remplacer par la votre) | La ligne 7 contient votre clé d'API (Ici est une clé d'exemple invalide, a remplacer par la votre) | ||
La ligne 8 est la signature générée à partir de la commande et de votre clé secrète | La ligne 8 est la signature générée à partir de la commande et de votre clé secrète | ||
+ | <!--T:10--> | ||
Comment générer la signature ? | Comment générer la signature ? | ||
+ | <!--T:11--> | ||
Il faut s'assurer que tout les espaces sont remplacés par "%20" au lieu de "+" | Il faut s'assurer que tout les espaces sont remplacés par "%20" au lieu de "+" | ||
+ | <!--T:12--> | ||
Il faut trier par ordre alphabétique les champs envoyés. Attention à mettre les paramètres les uns après les autres séparés par un & (et commercial)et la chaîne de paramètres en minuscule. | Il faut trier par ordre alphabétique les champs envoyés. Attention à mettre les paramètres les uns après les autres séparés par un & (et commercial)et la chaîne de paramètres en minuscule. | ||
+ | <!--T:13--> | ||
Exemple de string de paramètres : | Exemple de string de paramètres : | ||
apikey=mivr6x7u6bn_ejtvwz0nukkjbpmy3y2bcikwfq&command=listvirtualmachines&domainId=5 | apikey=mivr6x7u6bn_ejtvwz0nukkjbpmy3y2bcikwfq&command=listvirtualmachines&domainId=5 | ||
Ligne 45 : | Ligne 60 : | ||
Enfin appliquer un hmac_SHA1 sur la chaîne générée avec comme clé de hashage votre clé secréte. Pour envoyer la requête il vous suffit de rajouter le champs signature avec la signature générée | Enfin appliquer un hmac_SHA1 sur la chaîne générée avec comme clé de hashage votre clé secréte. Pour envoyer la requête il vous suffit de rajouter le champs signature avec la signature générée | ||
+ | <!--T:14--> | ||
$args est un tableau associatif de tous les arguments | $args est un tableau associatif de tous les arguments | ||
<pre> | <pre> | ||
Ligne 63 : | Ligne 79 : | ||
[[Category:API cloudstack]] | [[Category:API cloudstack]] | ||
[[Category:cloudstack]] | [[Category:cloudstack]] | ||
+ |
Version du 22 septembre 2015 à 11:51
Lors de votre inscription au service b. Cloud Privé d’Ikoula , vous avez reçu un mail avec une clé d'API et une clé secrète.
Ces informations vous permettrons de vous connecter à l'API b. Cloud Privé d’Ikoula .
URL API : https://cloudstack.ikoula.com/client/api
Les spécifications de l'API administrateur de domaine et utilisateur sont respectivement :
Admin : http://cloudstack.apache.org/docs/api/apidocs-4.2/TOC_Domain_Admin.html User : http://cloudstack.apache.org/docs/api/apidocs-4.2/TOC_User.html
Pour l'utililsation de l'API, il faut :
- Votre clé d'API
- Votre clé secréte
- Envoyer les requêtes sur "https://cloudstack.ikoula.com/client/api" avec une méthode du protocole HTTP
- Traiter les retours XML ou JSON (au choix)
Exemple de requete a l'API utilisant la methode GET :
- https://cloudstack.ikoula.com/client/api/
- ?command=deployVirtualMachine
- &serviceOfferingId=1
- &diskOfferingId=1
- &templateId=2
- &zoneId=4
- &apiKey=miVr6X7u6bN_EJTVwZ0nUkkJbPmY3y2bciKwFQ
- &signature=Lxx1DM40AjcXU%2FcaiK8RAP0O1hU%3D
La ligne 1 correspond au point de d’entrée (le lien vers l'API b. Cloud Privé d’Ikoula ) La ligne 2 correspond a la commande a envoyer, ici on veut crée une nouvelle VM La ligne 3-6 correspondent aux différents paramètres de la commande. Vous pouvez rajouter le champs "response" qui définie le format de retour avec le paramètre (XML/JSON) La ligne 7 contient votre clé d'API (Ici est une clé d'exemple invalide, a remplacer par la votre) La ligne 8 est la signature générée à partir de la commande et de votre clé secrète
Comment générer la signature ?
Il faut s'assurer que tout les espaces sont remplacés par "%20" au lieu de "+"
Il faut trier par ordre alphabétique les champs envoyés. Attention à mettre les paramètres les uns après les autres séparés par un & (et commercial)et la chaîne de paramètres en minuscule.
Exemple de string de paramètres : apikey=mivr6x7u6bn_ejtvwz0nukkjbpmy3y2bcikwfq&command=listvirtualmachines&domainId=5
Enfin appliquer un hmac_SHA1 sur la chaîne générée avec comme clé de hashage votre clé secréte. Pour envoyer la requête il vous suffit de rajouter le champs signature avec la signature générée
$args est un tableau associatif de tous les arguments
// classement par clef ksort($args); $query = http_build_query($args); // sécurité pour l'encodage des espaces $query = str_replace("+", "%20", $query); // minuscule strtolower($query) // calcul du hash $hash = hash_hmac("SHA1", $query, $secretKey, true); // encodage en base 64 $signature = base64_encode($hash); ?>