class_docstr: Store models on S3.
  
  Fetches them when needed, instead of storing them on the local disk.
class_docstr_tok: ["Store","models","on","S3",".","Fetches","them","when","needed",",","instead","of","storing","them","on","the","local","disk","."]
code: def __init__(
      self,
      bucket_name: Text,
      endpoint_url: Optional[Text] = None,
      region_name: Optional[Text] = None,
  ) -> None:
      import boto3
  
      super().__init__()
      self.s3 = boto3.resource(
          "s3", endpoint_url=endpoint_url, region_name=region_name
      )
      self._ensure_bucket_exists(bucket_name, region_name)
      self.bucket_name = bucket_name
      self.bucket = self.s3.Bucket(bucket_name)
  
imports: import abc
  import logging
  import os
  import shutil
  from typing import Optional, Text, Tuple, TYPE_CHECKING
  import rasa.shared.utils.common
  import rasa.utils.common
label_desc: Use image node_id 1 to create a new AWSPersistor object from inherited base classes: Persistor with example: obj = AWSPersistor(bucket_name, endpoint_url, region_name)