GetServicesFromServiceGroup.php
GetServicesFromServiceGroup.php
<?php
require_once '\vendor\autoload.php';
$username = "set me";
$apiKey = "set me";
$vipAddress = "173.193.117.96";
$port = 80;
$accountService = \SoftLayer\SoapClient::getClient('SoftLayer_Account', null, $username, $apiKey);
$filter = new stdClass();
$filter -> adcLoadBalancers = new stdClass();
$filter -> adcLoadBalancers -> ipAddress = new stdClass();
$filter -> adcLoadBalancers -> ipAddress -> ipAddress = new stdClass();
$filter -> adcLoadBalancers -> ipAddress -> ipAddress -> operation = $vipAddress;
$accountService -> setObjectFilter($filter);
$objectMask = "mask[virtualServers[serviceGroups[services[healthChecks[type], groups, groupReferences, ipAddress]]]]";
$accountService->setObjectMask($objectMask);
try {
$loadBalancers = $accountService -> getAdcLoadBalancers();
foreach($loadBalancers[0] -> virtualServers as $virtualServer)
{
if($virtualServer -> port == $port)
{
foreach($virtualServer -> serviceGroups as $serviceGroup)
{
foreach($serviceGroup -> services as $service)
{
$notes = "";
if(isset($service -> notes))
{
$notes = $service -> notes;
}
print_r("Enabled: " . $service -> enabled . " Destination Ip: " . $service -> ipAddress -> ipAddress . " Dest. Port: ". $service -> port ." Health Check: " .
$service -> healthChecks[0] -> type -> name . " Weight: " . $service -> groupReferences[0] -> weight . " Notes: " . $notes . "\n");
}
}
}
}
} catch(Exception $e) {
echo "Unable to retrieve services: " . $e -> getMessage();
}