docs: def from_dict(cls, report):
          """
          Create a report object from a dictionary.  This method is intended for internal use, to construct a
          :class:`Report` object from the body of a response json.  It expects the keys of the dictionary to match those
          of the json that would be found in a response to an API call such as ``GET /report/{id}``.
  
          :param report: The dictionary.
          :return: The report object.
          """
  
          # determine distribution type
          distribution_type = report.get('distributionType')
          if distribution_type is not None:
              is_enclave = distribution_type.upper() != DistributionType.COMMUNITY
          else:
              is_enclave = None
  
          return Report(id=report.get('id'),
                        title=report.get('title'),
                        body=report.get('reportBody'),
                        time_began=report.get('timeBegan'),
                        external_id=report.get('externalTrackingId'),
                        external_url=report.get('externalUrl'),
                        is_enclave=is_enclave,
                        enclave_ids=report.get('enclaveIds'),
                        created=report.get('created'),
                        updated=report.get('updated'))