Delete everything in a storage layout

        Named provocatively for a reason: can (and in fact intended
        to) cause irrecoverable loss of data.  This can be used to:

        * Completely obliterate data from old WAL-E versions
          (i.e. layout.VERSION is an obsolete version)

        * Completely obliterate all backups (from a decommissioned
          database, for example)

def delete_everything(self):
        """Delete everything in a storage layout

        Named provocatively for a reason: can (and in fact intended
        to) cause irrecoverable loss of data.  This can be used to:

        * Completely obliterate data from old WAL-E versions
          (i.e. layout.VERSION is an obsolete version)

        * Completely obliterate all backups (from a decommissioned
          database, for example)

        """
        for k in self._backup_list(prefix=self.layout.basebackups()):
            self._maybe_delete_key(k, 'part of a base backup')

        for k in self._backup_list(prefix=self.layout.wal_directory()):
            self._maybe_delete_key(k, 'part of wal logs')

        if self.deleter:
            self.deleter.close()