Чтобы создать / инициировать новое сканирование уязвимостей в SoftLayer, это работает (для каждого сервера в учетной записи):
require_once('SoapClient.class.php'); $apiUsername = "omitted"; $apiKey = "omitted"; $client = SoftLayer_SoapClient::getClient('SoftLayer_Account', null, $apiUsername, $apiKey); $accountInfo = $client->getObject(); $hardware = $client->getHardware(); foreach ($hardware as $server){ $scanclient = SoftLayer_SoapClient::getClient('SoftLayer_Network_Security_Scanner_Request', '', $apiUsername, $apiKey); $scantemplate = new stdClass(); $scantemplate->accountId = $accountInfo->id; $scantemplate->hardwareId = $server->id; $scantemplate->ipAddress = $server->primaryIpAddress; try{ // Successfully creates new scan $scan = $scanclient->createObject($scantemplate); } catch (Exception $e){ echo $e->getMessage() . "\n\r"; } }
При изменении
$reportstatus = $scanclient->createObject($scantemplate);
в
$reportstatus = $scanclient->getReport($scantemplate);
API отвечает с ошибкой «Объект не существует для выполнения метода on».
Требуется ли SoftLayer_Network_Security_Scanner_RequestInitParameters в соответствии с документами? Если да, то как вы определяете эти «параметры init» и присоединяетесь к запросу о статусе или отчете?
http://sldn.softlayer.com/reference/services/SoftLayer_Network_Security_Scanner_Request/getReport