def link_existing(self, outcome):
outcome_id = obj_or_id(outcome, "<STR_LIT>", (Outcome,))<EOL>response = self._requester.request(<EOL>'<STR_LIT>',<EOL>'<STR_LIT>'.format(<EOL>self.context_ref(),<EOL>self.id,<EOL>outcome_id<EOL>)<EOL>)<EOL>return OutcomeLink(self._requester, response.json())<EOL>
Link to an existing Outcome.

:calls: `PUT /api/v1/global/outcome_groups/:id/outcomes/:outcome_id \
    <https://canvas.instructure.com/doc/api/outcome_groups.html#method.outcome_groups_api.link>`_
    or `PUT /api/v1/accounts/:account_id/outcome_groups/:id/outcomes/:outcome_id \
    <https://canvas.instructure.com/doc/api/outcome_groups.html#method.outcome_groups_api.link>`_
    or `PUT /api/v1/courses/:course_id/outcome_groups/:id/outcomes/:outcome_id \
    <https://canvas.instructure.com/doc/api/outcome_groups.html#method.outcome_groups_api.link>`_

:param outcome: The object or ID of the outcome.
:type outcome: :class:`canvasapi.outcome.Outcome` or int

:returns: OutcomeLink object with current OutcomeGroup and newly linked Outcome.
:rtype: :class:`canvasapi.outcome.OutcomeLink`