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

De Ikoula Wiki
Jump to navigation Jump to search
Ligne 1 : Ligne 1 :
 +
<span data-link_translate_ja_title="クラウド Ikoula 専用 API を使用する方法"  data-link_translate_ja_url="%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89+Ikoula+%E5%B0%82%E7%94%A8+API+%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95"></span>[[:ja:クラウド Ikoula 専用 API を使用する方法]][[ja:クラウド Ikoula 専用 API を使用する方法]]
 
<span data-link_translate_ar_title="كيفية استخدام API الخاصة "عكلة سحابة""  data-link_translate_ar_url="%D9%83%D9%8A%D9%81%D9%8A%D8%A9+%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85+API+%D8%A7%D9%84%D8%AE%D8%A7%D8%B5%D8%A9+%22%D8%B9%D9%83%D9%84%D8%A9+%D8%B3%D8%AD%D8%A7%D8%A8%D8%A9%22"></span>[[:ar:كيفية استخدام API الخاصة "عكلة سحابة"]][[ar:كيفية استخدام API الخاصة "عكلة سحابة"]]
 
<span data-link_translate_ar_title="كيفية استخدام API الخاصة "عكلة سحابة""  data-link_translate_ar_url="%D9%83%D9%8A%D9%81%D9%8A%D8%A9+%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85+API+%D8%A7%D9%84%D8%AE%D8%A7%D8%B5%D8%A9+%22%D8%B9%D9%83%D9%84%D8%A9+%D8%B3%D8%AD%D8%A7%D8%A8%D8%A9%22"></span>[[:ar:كيفية استخدام API الخاصة "عكلة سحابة"]][[ar:كيفية استخدام API الخاصة "عكلة سحابة"]]
 
<span data-link_translate_zh_title="如何使用云 Ikoula 私有 API"  data-link_translate_zh_url="%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E4%BA%91+Ikoula+%E7%A7%81%E6%9C%89+API"></span>[[:zh:如何使用云 Ikoula 私有 API]][[zh:如何使用云 Ikoula 私有 API]]
 
<span data-link_translate_zh_title="如何使用云 Ikoula 私有 API"  data-link_translate_zh_url="%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E4%BA%91+Ikoula+%E7%A7%81%E6%9C%89+API"></span>[[:zh:如何使用云 Ikoula 私有 API]][[zh:如何使用云 Ikoula 私有 API]]

Version du 19 octobre 2015 à 17:03

ja:クラウド Ikoula 専用 API を使用する方法 ar:كيفية استخدام API الخاصة "عكلة سحابة" zh:如何使用云 Ikoula 私有 API de:Wie Sie die private Cloud Ikoula-API verwenden nl:Hoe de wolk Ikoula privé API kunt gebruiken it:Come utilizzare l'API privata Cloud Ikoula pt:Como usar a API de Ikoula de nuvem privada es:Cómo utilizar la API privada de nube Ikoula en:How to use the Cloud Ikoula private API


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);
?>



Vous n'êtes pas autorisé à publier de commentaire.