RemoveServiceGroup.php
RemoveServiceGroup.php
<?php
require_once __DIR__.'/vendor/autoload.php';
$username = "set me";
$apiKey = "set me";
$vipAddress = "159.253.157.82";
$port = 5455;
$accountService = \SoftLayer\SoapClient::getClient('SoftLayer_Account', null, $username, $apiKey);
$serverService = \SoftLayer\SoapClient::getClient('SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualServer', 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[virtualServerCount, virtualServers[serviceGroups[routingMethod, routingType]]]";
$accountService -> setObjectMask($objectMask);
try {
$loadBalancers = $accountService -> getAdcLoadBalancers();
$errorFlag = true;
foreach($loadBalancers[0] -> virtualServers as $virtualServer)
{
if($virtualServer -> port == $port)
{
$errorFlag = false;
$serverService -> setInitParameter($virtualServer -> id);
}
}
if($errorFlag)
{
echo "There is not a service group with " . $port . " port.";
return;
}
$result = $serverService -> deleteObject();
echo "Has been removed the service group from load balancer? " . $result;
} catch(Exception $e) {
echo "Unable to remove service group: " . $e -> getMessage();
}