GetNetworkStorage.php
GetNetworkStorage.php
<?php
require_once dirname(__FILE__) . "/SoftLayer/SoapClient.class.php";
$username = "set me";
$apiKey = "set me";
$path = "C:\Reports";
$client = SoftLayer_SoapClient::getClient("SoftLayer_Account", null, $username, $apiKey);
$mask = "mask[username ,billingItem[id, category, location[longName]], storageType, serviceResourceBackendIpAddress, capacityGb, notes]";
$client -> setObjectMask($mask);
$filter = new stdClass();
$filter -> networkStorage = new stdClass();
$filter -> networkStorage -> billingItem = new stdClass();
$filter -> networkStorage -> billingItem -> operation = "NOT NULL";
$client -> setObjectFilter($filter);
$storages = array();
try {
$result = $client -> getNetworkStorage();
foreach ($result as $register) {
print_r($register -> username . " " . $register -> billingItem -> category -> name . " " . $register -> storageType -> description . " " . $register -> serviceResourceBackendIpAddress . " " . $register -> capacityGb . " " . $register -> billingItem -> location -> longName . "\n");
array_push($storages, array($register -> username, $register -> billingItem -> category -> name, $register -> storageType -> description, $register -> serviceResourceBackendIpAddress, $register -> capacityGb, $register -> billingItem -> location -> longName));
}
$titles = array("Volume Name", "Type", "Block/File Storage", "Hostname", "Capacity", "Location");
$dateTime = new DateTime();
$date = $dateTime -> format("Y-m-d");
$filePath = fopen($path . "\NetworkStorage" . $date . ".csv", "w");
fputcsv($filePath, $titles);
foreach ($storages as $fields) {
fputcsv($filePath, $fields);
}
fclose($filePath);
} catch(Exception $e) {
echo "Unable to get network storages: " . $e -> getMessage();
}