@Override
  public void deleteDnsRecords(@Nonnull DNSRecord... dnsRecords)
      throws CloudException, InternalException {
    APITrace.begin(provider, "DNS.deleteDnsRecords");
    try {
      ProviderContext ctx = provider.getContext();

      if (ctx == null) {
        logger.error("No context exists for this request");
        throw new InternalException("No context exists for this request");
      }
      for (DNSRecord record : dnsRecords) {
        NovaMethod method = new NovaMethod(provider);

        List<String> ids = lookupRecord(record);

        for (String id : ids) {
          method.deleteResource(
              SERVICE, RESOURCE, record.getProviderZoneId() + "/records/" + id, null);
        }
      }
    } finally {
      APITrace.end();
    }
  }
  @Override
  public void deleteDnsZone(@Nonnull String providerDnsZoneId)
      throws CloudException, InternalException {
    APITrace.begin(provider, "DNS.deleteDnsZone");
    try {
      ProviderContext ctx = provider.getContext();

      if (ctx == null) {
        logger.error("No context exists for this request");
        throw new InternalException("No context exists for this request");
      }
      NovaMethod method = new NovaMethod(provider);

      method.deleteResource(SERVICE, RESOURCE, providerDnsZoneId, null);
    } finally {
      APITrace.end();
    }
  }