@Override
  public void execute() throws ResourceAllocationException, ResourceUnavailableException {
    HealthCheckPolicy policy = null;
    boolean success = false;

    try {
      CallContext.current()
          .setEventDetails("Load balancer healthcheck policy Id : " + getEntityId());
      success = _lbService.applyLBHealthCheckPolicy(this);
      if (success) {
        // State might be different after the rule is applied, so get new object here
        policy = _entityMgr.findById(HealthCheckPolicy.class, getEntityId());
        LoadBalancer lb = _lbService.findById(policy.getLoadBalancerId());
        LBHealthCheckResponse hcResponse =
            _responseGenerator.createLBHealthCheckPolicyResponse(policy, lb);
        setResponseObject(hcResponse);
        hcResponse.setResponseName(getCommandName());
      }
    } finally {
      if (!success || (policy == null)) {
        throw new ServerApiException(
            ApiErrorCode.INTERNAL_ERROR, "Failed to create healthcheck policy ");
      }
    }
  }
 @Override
 public void create() {
   try {
     HealthCheckPolicy result = _lbService.createLBHealthCheckPolicy(this);
     this.setEntityId(result.getId());
     this.setEntityUuid(result.getUuid());
   } catch (InvalidParameterValueException e) {
     s_logger.warn("Exception: ", e);
     throw new ServerApiException(ApiErrorCode.MALFORMED_PARAMETER_ERROR, e.getMessage());
   }
 }