/** * 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; } }
<?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();
<?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}']);
<?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 */ }
<?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();