def update(self, **kwargs):
if not hasattr(self, '<STR_LIT>'):<EOL><INDENT>raise ValueError('<STR_LIT>')<EOL><DEDENT>response = self._requester.request(<EOL>'<STR_LIT>',<EOL>'<STR_LIT>'.format(self.course_id, self.id),<EOL>_kwargs=combine_kwargs(**kwargs)<EOL>)<EOL>response_json = response.json()<EOL>response_json.update({'<STR_LIT>': self.course_id})<EOL>super(Tab, self).set_attributes(response.json())<EOL>return self<EOL>
Update a tab for a course.

Note: Home and Settings tabs are not manageable, and can't be
hidden or moved.

:calls: `PUT /api/v1/courses/:course_id/tabs/:tab_id \
<https://canvas.instructure.com/doc/api/tabs.html#method.tabs.update>`_

:rtype: :class:`canvasapi.tab.Tab`