docs: def submit_report(self, report):
          """
          Submits a report.
  
          * If ``report.is_enclave`` is ``True``, then the report will be submitted to the enclaves
            identified by ``report.enclaves``; if that field is ``None``, then the enclave IDs registered with this
            |TruStar| object will be used.
          * If ``report.time_began`` is ``None``, then the current time will be used.
  
          :param report: The |Report| object that was submitted, with the ``id`` field updated based
              on values from the response.
  
          Example:
  
          >>> report = Report(title="Suspicious Activity",
          >>>                 body="We have been receiving suspicious requests from 169.178.68.63.",
          >>>                 enclave_ids=["602d4795-31cd-44f9-a85d-f33cb869145a"])
          >>> report = ts.submit_report(report)
          >>> print(report.id)
          ac6a0d17-7350-4410-bc57-9699521db992
          >>> print(report.title)
          Suspicious Activity
          """
  
          # make distribution type default to "enclave"
          if report.is_enclave is None:
              report.is_enclave = True
  
          if report.enclave_ids is None:
              # use configured enclave_ids by default if distribution type is ENCLAVE
              if report.is_enclave:
                  report.enclave_ids = self.enclave_ids
              # if distribution type is COMMUNITY, API still expects non-null list of enclaves
              else:
                  report.enclave_ids = []
  
          if report.is_enclave and len(report.enclave_ids) == 0:
              raise Exception("Cannot submit a report of distribution type 'ENCLAVE' with an empty set of enclaves.")
  
          # default time began is current time
          if report.time_began is None:
              report.set_time_began(datetime.now())
  
          data = json.dumps(report.to_dict())
          resp = self._client.post("reports", data=data, timeout=60)
  
          # get report id from response body
          report_id = resp.content
  
          if isinstance(report_id, bytes):
              report_id = report_id.decode('utf-8')
  
          report.id = report_id
  
          return report