def update(self, muted=values.unset, hold=values.unset, hold_url=values.unset,
               hold_method=values.unset, announce_url=values.unset,
               announce_method=values.unset, wait_url=values.unset,
               wait_method=values.unset, beep_on_exit=values.unset,
               end_conference_on_exit=values.unset, coaching=values.unset,
               call_sid_to_coach=values.unset):
        """
        Update the ParticipantInstance

        :param bool muted: Whether the participant should be muted
        :param bool hold: Whether the participant should be on hold
        :param unicode hold_url: The URL we call using the `hold_method` for  music that plays when the participant is on hold
        :param unicode hold_method: The HTTP method we should use to call hold_url
        :param unicode announce_url: The URL we call using the `announce_method` for an announcement to the participant
        :param unicode announce_method: The HTTP method we should use to call announce_url
        :param unicode wait_url: URL that hosts pre-conference hold music
        :param unicode wait_method: The HTTP method we should use to call `wait_url`
        :param bool beep_on_exit: Whether to play a notification beep to the conference when the participant exit
        :param bool end_conference_on_exit: Whether to end the conference when the participant leaves
        :param bool coaching: Indicates if the participant changed to coach
        :param unicode call_sid_to_coach: The SID of the participant who is being `coached`

        :returns: Updated ParticipantInstance
        :rtype: twilio.rest.api.v2010.account.conference.participant.ParticipantInstance
        """
        data = values.of({
            'Muted': muted,
            'Hold': hold,
            'HoldUrl': hold_url,
            'HoldMethod': hold_method,
            'AnnounceUrl': announce_url,
            'AnnounceMethod': announce_method,
            'WaitUrl': wait_url,
            'WaitMethod': wait_method,
            'BeepOnExit': beep_on_exit,
            'EndConferenceOnExit': end_conference_on_exit,
            'Coaching': coaching,
            'CallSidToCoach': call_sid_to_coach,
        })

        payload = self._version.update(
            'POST',
            self._uri,
            data=data,
        )

        return ParticipantInstance(
            self._version,
            payload,
            account_sid=self._solution['account_sid'],
            conference_sid=self._solution['conference_sid'],
            call_sid=self._solution['call_sid'],
        )
Update the ParticipantInstance

        :param bool muted: Whether the participant should be muted
        :param bool hold: Whether the participant should be on hold
        :param unicode hold_url: The URL we call using the `hold_method` for  music that plays when the participant is on hold
        :param unicode hold_method: The HTTP method we should use to call hold_url
        :param unicode announce_url: The URL we call using the `announce_method` for an announcement to the participant
        :param unicode announce_method: The HTTP method we should use to call announce_url
        :param unicode wait_url: URL that hosts pre-conference hold music
        :param unicode wait_method: The HTTP method we should use to call `wait_url`
        :param bool beep_on_exit: Whether to play a notification beep to the conference when the participant exit
        :param bool end_conference_on_exit: Whether to end the conference when the participant leaves
        :param bool coaching: Indicates if the participant changed to coach
        :param unicode call_sid_to_coach: The SID of the participant who is being `coached`

        :returns: Updated ParticipantInstance
        :rtype: twilio.rest.api.v2010.account.conference.participant.ParticipantInstance