예제 #1
0
 /**
  * Get the service Class given the name in parameter
  *
  * @param String $service Name of the service 
  *
  * @return Core object
  */
 public function getLibClass($service)
 {
     switch ($service) {
         case "Identity":
             if ($this->tokenPost == NULL) {
                 $this->tokenClass->genIdentityToken();
             }
             $opt = $this->tokenClass->getOptions($service);
             return $this->openstack->identityV3($opt);
             break;
         case "Image":
             if ($this->tokenPost == NULL) {
                 $this->tokenClass->genImageToken();
             }
             $opt = $this->tokenClass->getOptions($service);
             return $this->openstack->imagesV2($opt);
             break;
         case "Network":
             if ($this->tokenPost == NULL) {
                 $this->tokenClass->genNetworkToken();
             }
             $opt = $this->tokenClass->getOptions($service);
             return $this->openstack->networkingV2($opt);
             break;
         case "Compute":
             if ($this->tokenPost == NULL) {
                 $this->tokenClass->genComputeToken();
             }
             $opt = $this->tokenClass->getOptions($service);
             return $this->openstack->computeV2($opt);
             break;
         case "NetworkLayer3":
             if ($this->tokenPost == NULL) {
                 $this->tokenClass->genNetworkToken();
             }
             $opt = $this->tokenClass->getOptions('Network');
             return $this->openstack->networkingV2ExtLayer3($opt);
             break;
     }
 }
예제 #2
0
<?php

ini_set('display_errors', 1);
date_default_timezone_set("Europe/Paris");
require 'vendor/autoload.php';
$options = array();
$options["user"] = array("name" => "admin", "password" => "ae5or6cn", "domain" => ["id" => "Default"]);
$options["scope"] = array("project" => array("name" => "admin", "domain" => ["id" => "Default"]));
$options["authUrl"] = "http://148.60.11.31:5000/v3";
$openstack = new OpenStack\OpenStack($options);
$networking = $openstack->networkingV2(["region" => "RegionOne"]);
$ls = $networking->getNetwork('5f78d3c1-1f53-4be7-897b-cf3c797961e0');
try {
    $ls->retrieve();
    echo "oui";
} catch (OpenStack\Common\Error\BadResponseError $e) {
    echo "non";
}
<?php

require 'vendor/autoload.php';
$openstack = new OpenStack\OpenStack(['authUrl' => '{authUrl}', 'region' => '{region}', 'user' => ['id' => '{userId}', 'password' => '{password}'], 'scope' => ['project' => ['id' => '{projectId}']]]);
$networking = $openstack->networkingV2();
$options = ['name' => 'My subnet', 'networkId' => '{networkId}', 'ipVersion' => 4, 'cidr' => '192.168.199.0/25', 'gatewayIp' => '192.168.199.128'];
// Create the subnet
$subnet = $networking->createSubnet($options);
$backIdentity = $genOptions->getBackup("Identity");
$backNetwork = $genOptions->getBackup("Network");
$backImage = $genOptions->getBackup("Image");
$openstack_api = new OpenStack\OpenStack([]);
$newGenOptions = new genTokenOptions($Args);
$newGenOptions->loadIdentityBackup($backIdentity);
$newGenOptions->loadComputeBackup($backCompute);
$newGenOptions->loadImageBackup($backImage);
$newGenOptions->loadNetworkBackup($backNetwork);
$optionsCompute = $newGenOptions->getOptions("Compute");
$optionsIdentity = $newGenOptions->getOptions("Identity");
$optionsNetwork = $newGenOptions->getOptions("Network");
$optionsImage = $newGenOptions->getOptions("Image");
$identityTest = $openstack_api->identityV3($optionsIdentity);
$computeTest = $openstack_api->computeV2($optionsCompute);
$networkTest = $openstack_api->networkingV2($optionsNetwork);
$imageTest = $openstack_api->imagesV2($optionsImage);
$domainsTest = $identityTest->listDomains();
echo "Identity Test, List Domains </br>";
foreach ($domainsTest as $domain) {
    echo $domain->id;
    echo "</br>";
}
echo "</br>";
$imagesTest = $imageTest->listImages();
echo "Image Test, List Images </br>";
foreach ($imagesTest as $image) {
    echo $image->id;
    echo "</br>";
}
echo "</br>";