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 à 10: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);
?>