AddVsiForUsers.php
AddVsiForUsers.php
<?php
require_once ("C:/PhpSoftLayer/SoftLayer/SoftLayer/SoapClient.class.php");
$username = "set me";
$apiKey = "set me";
$client = SoftLayer_SoapClient::getClient("SoftLayer_User_Customer", null, $username, $apiKey);
$account = SoftLayer_SoapClient::getClient("SoftLayer_Account", null, $username, $apiKey);
$users = array("user1", "user2", "user3");
$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();
$hostnames = array("vsi1", "vsi2");
$filter = new stdClass();
$filter -> virtualGuests = new stdClass();
$filter -> virtualGuests -> hostname = new stdClass();
$filter -> virtualGuests -> hostname -> operation = "in";
$filter -> virtualGuests -> hostname -> options = array();
$filter -> virtualGuests -> hostname -> options[0] = new stdClass();
$filter -> virtualGuests -> hostname -> options[0] -> name = "data";
$filter -> virtualGuests -> hostname -> options[0] -> value = $hostnames;
$account -> setObjectFilter($filter);
$receiptVsi = $account -> getVirtualGuests();
$virtualGuests = array();
for ($i = 0; $i < sizeof($receiptVsi); $i++) {
array_push($virtualGuests, $receiptVsi[$i] -> id);
}
for ($i = 0; $i < sizeof($receiptUsers); $i++) {
$client -> setInitParameter($receiptUsers[$i] -> id);
try {
$result = $client -> addBulkVirtualGuestAccess($virtualGuests);
print_r("The user ".$receiptUsers[$i] -> username . " has access to Virtual Guests?: " . $result . "\n");
} catch(Exception $e) {
print_r("Unable to allow access to Virtual Guests for" . $receiptUsers[$i] -> username . ": " . $e -> getMessage(). "\n");
}
}