AddHardwareForUsers.php
AddHardwareForUsers.php
<?php
require_once ("C:/PhpSoftLayer/SoftLayer/SoftLayer/SoapClient.class.php");
$username = "set me";
$apiKey = "set me";
$users = array("user1", "user2", "user3");
$hostnames = array("bms1", "bms2");
$client = SoftLayer_SoapClient::getClient("SoftLayer_User_Customer", null, $username, $apiKey);
$account = SoftLayer_SoapClient::getClient("SoftLayer_Account", null, $username, $apiKey);
$filter = new stdClass();
$filter -> users = new stdClass();
$filter -> users -> username = new stdClass();
$filter -> users -> username -> operation = "in";
$filter -> users -> username -> options = array();
$filter -> users -> username -> options[0] = new stdClass();
$filter -> users -> username -> options[0] -> name = "data";
$filter -> users -> username -> options[0] -> value = $users;
$account -> setObjectFilter($filter);
$receiptUsers = $account -> getUsers();
$filter = new stdClass();
$filter -> hardware = new stdClass();
$filter -> hardware -> hostname = new stdClass();
$filter -> hardware -> hostname -> operation = "in";
$filter -> hardware -> hostname -> options = array();
$filter -> hardware -> hostname -> options[0] = new stdClass();
$filter -> hardware -> hostname -> options[0] -> name = "data";
$filter -> hardware -> hostname -> options[0] -> value = $hostnames;
$account -> setObjectFilter($filter);
$receiptHardware = $account -> getHardware();
$hardware = array();
for ($i = 0; $i < sizeof($receiptHardware); $i++) {
array_push($hardware, $receiptHardware[$i] -> id);
}
for ($i = 0; $i < sizeof($receiptUsers); $i++) {
$client -> setInitParameter($receiptUsers[$i] -> id);
try {
$result = $client -> addBulkHardwareAccess($hardware);
print_r("The user " . $receiptUsers[$i] -> username . " has access to Hardware objects?: " . $result . "\n");
} catch(Exception $e) {
print_r("Unable to allow access to Hardware for" . $receiptUsers[$i] -> username . ": " . $e -> getMessage() . "\n");
}
}