docs: def update(self, data=None, timeout=-1, custom_headers=None, force=False):
          """Makes a PUT request to update a resource when a request body is required.
  
          Args:
              data: Data to update the resource.
              timeout: Timeout in seconds. Wait for task completion by default. The timeout does not abort the operation
                  in OneView; it just stops waiting for its completion.
              custom_headers: Allows to add custom HTTP headers.
              force: Force the update operation.
  
          Returns:
              A dict with the updated resource data.
          """
          uri = self.data['uri']
  
          resource = deepcopy(self.data)
          resource.update(data)
  
          logger.debug('Update async (uri = %s, resource = %s)' %
                       (uri, str(resource)))
  
          self.data = self._helper.update(resource, uri, force, timeout, custom_headers)
  
          return self