@Override public boolean deleteApplicationLoadBalancer(long id) { return _lbService.deleteLoadBalancerRule(id, true); }
@Override public void execute() { CallContext.current().setEventDetails("Load balancer ID: " + getId()); boolean result = _firewallService.revokeRelatedFirewallRule(id, true); result = result && _lbService.deleteLoadBalancerRule(id, true); if (result) { SuccessResponse response = new SuccessResponse(getCommandName()); this.setResponseObject(response); } else { throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to delete load balancer"); } }
_lbService.deleteLoadBalancerRule(getEntityId(), false);
@Override public void execute() { CallContext.current().setEventDetails("Load balancer ID: " + getId()); boolean result = _firewallService.revokeRelatedFirewallRule(id, true); result = result && _lbService.deleteLoadBalancerRule(id, true); if (result) { final SuccessResponse response = new SuccessResponse(getCommandName()); this.setResponseObject(response); } else { throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to delete load balancer"); } }
@Override public void execute() throws ResourceAllocationException, ResourceUnavailableException { final CallContext callerContext = CallContext.current(); boolean success = true; LoadBalancer rule = null; try { CallContext.current().setEventDetails("Rule Id: " + getEntityId()); if (getOpenFirewall()) { success = success && _firewallService.applyIngressFirewallRules(getSourceIpAddressId(), callerContext.getCallingAccount()); } // State might be different after the rule is applied, so get new object here rule = _entityMgr.findById(LoadBalancer.class, getEntityId()); LoadBalancerResponse lbResponse = new LoadBalancerResponse(); if (rule != null) { lbResponse = _responseGenerator.createLoadBalancerResponse(rule); setResponseObject(lbResponse); } lbResponse.setResponseName(getCommandName()); } catch (final Exception ex) { s_logger.warn("Failed to create LB rule due to exception ", ex); } if (!success || rule == null) { if (getOpenFirewall()) { _firewallService.revokeRelatedFirewallRule(getEntityId(), true); } // no need to apply the rule on the backend as it exists in the db only _lbService.deleteLoadBalancerRule(getEntityId(), false); throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to create load balancer rule"); } }