DBServer::GetProperty PHP Method

GetProperty() public method

Get Server Property
public GetProperty ( string $propertyName, boolean $ignoreCache = false ) : mixed
$propertyName string
$ignoreCache boolean
return mixed
    public function GetProperty($propertyName, $ignoreCache = false)
    {
        if (!array_key_exists($propertyName, $this->propsCache) || $ignoreCache) {
            $this->propsCache[$propertyName] = $this->Db->GetOne("\n                SELECT value\n                FROM server_properties\n                WHERE server_id=? AND name=? LIMIT 1\n            ", array($this->serverId, $propertyName));
        }
        return $this->propsCache[$propertyName];
    }

Usage Example

Example #1
0
 public static function removeIpFromServer(\DBServer $dbServer)
 {
     try {
         if ($dbServer->GetProperty(\OPENSTACK_SERVER_PROPERTIES::FLOATING_IP)) {
             if ($dbServer->farmRoleId) {
                 if ($dbServer->GetFarmRoleObject()->GetSetting(\DBFarmRole::SETTING_OPENSTACK_KEEP_FIP_ON_SUSPEND)) {
                     if (in_array($dbServer->status, array(\SERVER_STATUS::PENDING_SUSPEND, \SERVER_STATUS::SUSPENDED)) || $dbServer->GetRealStatus()->isSuspended()) {
                         return false;
                     }
                 }
             }
             $environment = $dbServer->GetEnvironmentObject();
             $osClient = $environment->openstack($dbServer->platform, $dbServer->GetCloudLocation());
             $ipId = $dbServer->GetProperty(\OPENSTACK_SERVER_PROPERTIES::FLOATING_IP_ID);
             if ($osClient->hasService('network')) {
                 $osClient->network->floatingIps->delete($ipId);
             } else {
                 $osClient->servers->deleteFloatingIp($ipId);
             }
             $dbServer->SetProperties(array(\OPENSTACK_SERVER_PROPERTIES::FLOATING_IP => null, \OPENSTACK_SERVER_PROPERTIES::FLOATING_IP_ID => null));
         }
     } catch (\Exception $e) {
         \Logger::getLogger("OpenStackObserver")->fatal("OpenStackObserver observer failed: " . $e->getMessage());
     }
 }
All Usage Examples Of DBServer::GetProperty