class_docstr: The base class for external storage.
  
  This class provides some useful functions for zero-copy object
  put/get from plasma store. Also it specifies the interface for
  object spilling.
  
  When inheriting this class, please make sure to implement validation
  logic inside __init__ method. When ray instance starts, it will
  instantiating external storage to validate the config.
  
  Raises:
      ValueError: when given configuration for
          the external storage is invalid.
class_docstr_tok: ["The","base","class","for","external","storage",".","This","class","provides","some","useful","functions","for","zero-copy","object","put\/get","from","plasma","store",".","Also","it","specifies","the","interface","for","object","spilling",".","When","inheriting","this","class",",","please","make","sure","to","implement","validation","logic","inside","__init__","method",".","When","ray","instance","starts",",","it","will","instantiating","external","storage","to","validate","the","config",".","Raises",":","ValueError",":","when","given","configuration","for","the","external","storage","is","invalid","."]
docstr: Destroy external storage when a head node is down.
  
  NOTE: This is currently working when the cluster is
  started by ray.init
docstr_tok: ["Destroy","external","storage","when","a","head","node","is","down",".","NOTE",":","This","is","currently","working","when","the","cluster","is","started","by","ray.init"]
code: def destroy_external_storage(self):
      """Destroy external storage when a head node is down.
  
      NOTE: This is currently working when the cluster is
      started by ray.init
      """
  
imports: import abc
  import logging
  import os
  import random
  import shutil
  import time
  import urllib
  import uuid
  from collections import namedtuple
  from typing import IO, List, Optional, Tuple
  import ray
  from ray._private.ray_constants import DEFAULT_OBJECT_PREFIX
  from ray._raylet import ObjectRef
label_desc: Use image node_id 8 for calling the ExternalStorage obj's underlying member method code with example usage: obj.destroy_external_storage() without return types