docs: def run(self):
          """
          Creates a new replica using WAL-E
  
          Returns
          -------
          ExitCode
              0 = Success
              1 = Error, try again
              2 = Error, don't try again
  
          """
          if self.init_error:
              logger.error('init error: %r did not exist at initialization time',
                           self.wal_e.env_dir)
              return ExitCode.FAIL
  
          try:
              should_use_s3 = self.should_use_s3_to_create_replica()
              if should_use_s3 is None:  # Need to retry
                  return ExitCode.RETRY_LATER
              elif should_use_s3:
                  return self.create_replica_with_s3()
              elif not should_use_s3:
                  return ExitCode.FAIL
          except Exception:
              logger.exception("Unhandled exception when running WAL-E restore")
          return ExitCode.FAIL