public function TerminateServer(DBServer $DBServer)
{
$cs = $DBServer->GetEnvironmentObject()->cloudstack($this->platform);
try {
$cs->instance->destroy($DBServer->GetProperty(CLOUDSTACK_SERVER_PROPERTIES::SERVER_ID), true);
try {
if ($DBServer->GetRealStatus()->getName() == 'Destroyed') {
$cs->instance->expunge($DBServer->GetProperty(CLOUDSTACK_SERVER_PROPERTIES::SERVER_ID));
}
} catch (Exception $e) {
}
} catch (NotFoundException $e) {
throw new InstanceNotFoundException($e->getMessage(), $e->getCode(), $e);
}
return true;
}
/** * {@inheritdoc} * @see \Scalr\Modules\Platforms\Cloudstack\CloudstackPlatformModule::TerminateServer() */ public function TerminateServer(\DBServer $DBServer) { $cs = $DBServer->GetEnvironmentObject()->cloudstack($this->platform); if (!$DBServer->GetProperty(\CLOUDSTACK_SERVER_PROPERTIES::IS_STOPPED_BEFORE_TERMINATE)) { $cs->instance->stop($DBServer->GetProperty(\CLOUDSTACK_SERVER_PROPERTIES::SERVER_ID), true); $DBServer->SetProperty(\CLOUDSTACK_SERVER_PROPERTIES::IS_STOPPED_BEFORE_TERMINATE, 1); } return parent::TerminateServer($DBServer); }