code: def update_dataset(self, dataset_id, friendly_name=None, description=None,
                         access=None, project_id=None):
          
          project_id = self._get_project_id(project_id)
  
          try:            
              datasets = self.bigquery.datasets()
              body = self.dataset_resource(dataset_id, 
                                           friendly_name=friendly_name,
                                           description=description, 
                                           access=access,
                                           project_id=project_id)
  
              request = datasets.update(projectId=project_id,
                                        datasetId=dataset_id,
                                        body=body)
              response = request.execute(num_retries=self.num_retries)
              if self.swallow_results:
                  return True
              else:
                  return response
          except HttpError as e:
              logger.error(
                  'Cannot update dataset {0}: {1}'.format(dataset_id, e))
              if self.swallow_results:
                  return False
              else:
                  return {}
docs: Updates information in an existing dataset. The update method
          replaces the entire dataset resource, whereas the patch method only
          replaces fields that are provided in the submitted dataset resource.
  
          Parameters
          ----------
          dataset_id : str
              Unique ``str`` identifying the dataset with the project (the
              referencedId of the dataset)        
          friendly_name : str, optional
              An optional descriptive name for the dataset.
          description : str, optional
              An optional description of the dataset.
          access : list, optional
              Indicating access permissions
          project_id: str, optional
              Unique ``str`` identifying the BigQuery project contains the dataset
  
          Returns
          -------
          Union[bool, dict]
              ``bool`` indicating if the update was successful or not, or
              response from BigQuery if swallow_results is set for False.