@Override
  public List<CiscoAsa1000vDeviceVO> listCiscoAsa1000vResources(ListCiscoAsa1000vResourcesCmd cmd) {
    Long physicalNetworkId = cmd.getPhysicalNetworkId();
    Long ciscoAsa1000vResourceId = cmd.getCiscoAsa1000vResourceId();
    List<CiscoAsa1000vDeviceVO> responseList = new ArrayList<CiscoAsa1000vDeviceVO>();

    if (physicalNetworkId == null && ciscoAsa1000vResourceId == null) {
      throw new InvalidParameterValueException(
          "Either physical network Id or Asa 1000v device Id must be specified");
    }

    if (ciscoAsa1000vResourceId != null) {
      CiscoAsa1000vDeviceVO ciscoAsa1000vResource =
          _ciscoAsa1000vDao.findById(ciscoAsa1000vResourceId);
      if (ciscoAsa1000vResource == null) {
        throw new InvalidParameterValueException(
            "Could not find Cisco Asa 1000v device with id: " + ciscoAsa1000vResourceId);
      }
      responseList.add(ciscoAsa1000vResource);
    } else {
      PhysicalNetworkVO physicalNetwork = _physicalNetworkDao.findById(physicalNetworkId);
      if (physicalNetwork == null) {
        throw new InvalidParameterValueException(
            "Could not find a physical network with id: " + physicalNetworkId);
      }
      responseList = _ciscoAsa1000vDao.listByPhysicalNetwork(physicalNetworkId);
    }

    return responseList;
  }
  @Override
  public boolean deleteCiscoAsa1000vResource(DeleteCiscoAsa1000vResourceCmd cmd) {
    Long asaResourceId = cmd.getCiscoAsa1000vResourceId();
    CiscoAsa1000vDeviceVO asaResource = _ciscoAsa1000vDao.findById(asaResourceId);
    if (asaResource == null) {
      throw new InvalidParameterValueException(
          "Could not find a Cisco ASA 1000v appliance with id " + asaResourceId);
    }

    NetworkAsa1000vMapVO networkAsaMap =
        _networkAsa1000vMapDao.findByAsa1000vId(asaResource.getId());
    if (networkAsaMap != null) {
      throw new CloudRuntimeException(
          "Cisco ASA 1000v appliance with id "
              + asaResourceId
              + " cannot be deleted as it is associated with guest network");
    }

    _ciscoAsa1000vDao.remove(asaResourceId);

    return true;
  }