def __init__(self, *, parent=None, con=None, **kwargs):
if parent and con:<EOL><INDENT>raise ValueError('<STR_LIT>')<EOL><DEDENT>self.con = parent.con if parent else con<EOL>cloud_data = kwargs.get(self._cloud_data_key, {})<EOL>self.object_id = cloud_data.get('<STR_LIT:id>')<EOL>main_resource = kwargs.pop('<STR_LIT>', None) or (<EOL>getattr(parent, '<STR_LIT>', None) if parent else None)<EOL>main_resource = '<STR_LIT>'.format(main_resource, '<STR_LIT>')<EOL>super().__init__(<EOL>protocol=parent.protocol if parent else kwargs.get('<STR_LIT>'),<EOL>main_resource=main_resource)<EOL>self.plan_id = cloud_data.get('<STR_LIT>')<EOL>self.bucket_id = cloud_data.get('<STR_LIT>')<EOL>self.title = cloud_data.get(self._cc('<STR_LIT:title>'), '<STR_LIT>')<EOL>self.order_hint = cloud_data.get(self._cc('<STR_LIT>'), '<STR_LIT>')<EOL>self.assignee_priority = cloud_data.get(self._cc('<STR_LIT>'), '<STR_LIT>')<EOL>self.percent_complete = cloud_data.get(self._cc('<STR_LIT>'), '<STR_LIT>')<EOL>self.title = cloud_data.get(self._cc('<STR_LIT:title>'), '<STR_LIT>')<EOL>self.has_description = cloud_data.get(self._cc('<STR_LIT>'), '<STR_LIT>')<EOL>created = cloud_data.get(self._cc('<STR_LIT>'), None)<EOL>due_date = cloud_data.get(self._cc('<STR_LIT>'), None)<EOL>start_date = cloud_data.get(self._cc('<STR_LIT>'), None)<EOL>completed_date = cloud_data.get(self._cc('<STR_LIT>'), None)<EOL>local_tz = self.protocol.timezone<EOL>self.start_date = parse(start_date).astimezone(local_tz) if start_date else None<EOL>self.created_date = parse(created).astimezone(local_tz) if created else None<EOL>self.due_date = parse(due_date).astimezone(local_tz) if due_date else None<EOL>self.completed_date = parse(completed_date).astimezone(local_tz) if completed_date else None<EOL>self.preview_type = cloud_data.get(self._cc('<STR_LIT>'), None)<EOL>self.reference_count = cloud_data.get(self._cc('<STR_LIT>'), None)<EOL>self.checklist_item_count = cloud_data.get(self._cc('<STR_LIT>'), None)<EOL>self.active_checklist_item_count = cloud_data.get(self._cc('<STR_LIT>'), None)<EOL>self.conversation_thread_id = cloud_data.get(self._cc('<STR_LIT>'), None)<EOL>
A Microsoft planner task

        :param parent: parent object
        :type parent: Planner
        :param Connection con: connection to use if no parent specified
        :param Protocol protocol: protocol to use if no parent specified
         (kwargs)
        :param str main_resource: use this resource instead of parent resource
         (kwargs)