public function createLoadBalancerGently($loadBalancerName, $listenersList, $availabilityZonesList = null, $subnetsList = null, $securityGroupsList = null, $scheme = null)
{
$tries = 0;
do {
try {
$dnsName = $this->elb->loadBalancer->create($loadBalancerName, $listenersList, $availabilityZonesList, $subnetsList, $securityGroupsList, $scheme);
$loadBalancer = $this->elb->loadBalancer->describe($loadBalancerName)->get(0);
break;
} catch (QueryClientException $e) {
if ($e->getErrorData()->getCode() != ErrorData::ERR_DUPLICATE_LOAD_BALANCER_NAME) {
throw new QueryClientException($e->getErrorData());
}
$this->elb->loadBalancer->delete($loadBalancerName);
$tries++;
}
} while ($tries < 2);
return isset($loadBalancer) ? $loadBalancer : null;
}