Either creates a resource or updates it (if it already has an id).
        This will trigger an api POST or PATCH request.
        :returns: the resource itself

def save(self, parent=None):
        """
        Either creates a resource or updates it (if it already has an id).
        This will trigger an api POST or PATCH request.
        :returns: the resource itself
        """
        if self.id:
            return self.update(parent=parent)
        else:
            return self.create(parent=parent)