예제 #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

require 'vendor/autoload.php';
$openstack = new OpenStack\OpenStack(['authUrl' => '{authUrl}', 'region' => '{region}', 'user' => ['id' => '{userId}', 'password' => '{password}'], 'scope' => ['project' => ['id' => '{projectId}']]]);
$openstack->networkingV2ExtLayer3()->getFloatingIp('{id}')->delete();
예제 #3
0
<?php

require 'vendor/autoload.php';
$openstack = new OpenStack\OpenStack(['authUrl' => '{authUrl}', 'region' => '{region}', 'user' => ['id' => '{userId}', 'password' => '{password}'], 'scope' => ['project' => ['id' => '{projectId}']]]);
$networking = $openstack->networkingV2ExtLayer3();
/** @var \OpenStack\Networking\v2\Extensions\Layer3\Models\FloatingIp $ip */
$ip = $networking->createFloatingIp(["floatingNetworkId" => "{networkId}", "portId" => "{portId}", 'fixedIpAddress' => '{fixedIpAddress}']);
예제 #4
0
<?php

require 'vendor/autoload.php';
$openstack = new OpenStack\OpenStack(['authUrl' => '{authUrl}', 'region' => '{region}', 'user' => ['id' => '{userId}', 'password' => '{password}'], 'scope' => ['project' => ['id' => '{projectId}']]]);
$floatingIps = $openstack->networkingV2ExtLayer3()->listFloatingIps();
foreach ($floatingIps as $floatingIp) {
    /** @var \OpenStack\Networking\v2\Extensions\Layer3\Models\FloatingIp $floatingIp */
}
예제 #5
0
<?php

require 'vendor/autoload.php';
$openstack = new OpenStack\OpenStack(['authUrl' => '{authUrl}', 'region' => '{region}', 'user' => ['id' => '{userId}', 'password' => '{password}'], 'scope' => ['project' => ['id' => '{projectId}']]]);
$floatingIp = $openstack->networkingV2ExtLayer3()->getFloatingIp('{id}');
$floatingIp->portId = '{newPortId}';
$floatingIp->update();