Scalr_Environment::openstack PHP Method

openstack() public method

This method ensures that openstack instance is always from the current environment scope
public openstack ( OpenStackConfig | string $platform, string $region = null ) : OpenStack
$platform Scalr\Service\OpenStack\OpenStackConfig | string The platform name or Openstack config
$region string optional The region
return Scalr\Service\OpenStack\OpenStack Returns openstack instance from DI container
    public function openstack($platform, $region = null)
    {
        $arguments = func_get_args();
        for ($i = 0; $i < 2; ++$i) {
            if (!isset($arguments[$i])) {
                $arguments[$i] = null;
            }
        }
        //Adds Scalr_Environment as third parameter
        $arguments[2] = $this;
        //Retrieves an instance from the DI container
        return $this->__call('openstack', $arguments);
    }

Usage Example

コード例 #1
0
 /**
  * {@inheritdoc}
  * @see \Scalr\Modules\PlatformModuleInterface::getLocations()
  */
 public function getLocations(\Scalr_Environment $environment = null)
 {
     if ($environment === null || !$environment->isPlatformEnabled($this->platform)) {
         return array();
     }
     try {
         $client = $environment->openstack($this->platform, "fakeRegion");
         foreach ($client->listZones() as $zone) {
             $retval[$zone->name] = ucfirst($this->platform) . " / {$zone->name}";
         }
     } catch (\Exception $e) {
         return array();
     }
     return $retval;
 }
All Usage Examples Of Scalr_Environment::openstack