Différences entre versions de « Comment utiliser l'API Cloud Privé d’Ikoula »

De Ikoula Wiki
Jump to navigation Jump to search
m (1 révision importée)
 
(2 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
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 .
 
  
 +
 +
<!--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 :

Exemple de requete a l'API utilisant la methode GET :

  1. https://cloudstack.ikoula.com/client/api/
  2. ?command=deployVirtualMachine
  3. &serviceOfferingId=1
  4. &diskOfferingId=1
  5. &templateId=2
  6. &zoneId=4
  7. &apiKey=miVr6X7u6bN_EJTVwZ0nUkkJbPmY3y2bciKwFQ
  8. &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);
?>