@Override
public Map operate(List priorOutputs) {
Task task = getTask();
if (description.getLoadBalancerId() != null) {
try {
LoadBalancer lb = description.getCredentials().getLoadBalancerClient().getLoadBalancer(
GetLoadBalancerRequest.builder().loadBalancerId(description.getLoadBalancerId()).build()).getLoadBalancer();
if (lb != null) {
update(lb, task);
} else {
task.updateStatus(UPDATE, "LoadBalancer ${description.loadBalancerId} does not exist.");
}
} catch (BmcException e) {
if (e.getStatusCode() == 404) {
task.updateStatus(UPDATE, "LoadBalancer ${description.loadBalancerId} does not exist.");
} else {
throw e;
}
}
} else {
create(task);
}
return mapOf("loadBalancers",
mapOf(description.getCredentials().getRegion(), mapOf("name", description.qualifiedName())));
}