docs: def do_post(self, uri, resource, timeout, custom_headers):
          """Helps to make post requests.
  
          Args:
              uri: URI of  the resource.
              resource: Resource data to post.
              timeout: Time out for the request in seconds.
              cutom_headers: Allows to add custom http headers.
  
          Returns:
              Retunrs Task object.
          """
          self.validate_resource_uri(uri)
  
          task, entity = self._connection.post(uri, resource, custom_headers=custom_headers)
  
          if not task:
              return entity
  
          return self._task_monitor.wait_for_task(task, timeout)