code: def update_entity_alias(self, alias_id, name, canonical_id, mount_accessor, mount_point=DEFAULT_MOUNT_POINT):
          
          params = {
              'name': name,
              'canonical_id': canonical_id,
              'mount_accessor': mount_accessor,
          }
          api_path = '/v1/{mount_point}/entity-alias/id/{id}'.format(
              mount_point=mount_point,
              id=alias_id,
          )
          response = self._adapter.post(
              url=api_path,
              json=params,
          )
          if response.status_code == 204:
              return response
          else:
              return response.json()
docs: Update an existing entity alias.
  
          Supported methods:
              POST: /{mount_point}/entity-alias/id/{id}. Produces: 200 application/json
  
          :param alias_id: Identifier of the entity alias.
          :type alias_id: str | unicode
          :param name: Name of the alias. Name should be the identifier of the client in the authentication source. For
              example, if the alias belongs to userpass backend, the name should be a valid username within userpass
              backend. If alias belongs to GitHub, it should be the GitHub username.
          :type name: str | unicode
          :param canonical_id: Entity ID to which this alias belongs to.
          :type canonical_id: str | unicode
          :param mount_accessor: Accessor of the mount to which the alias should belong to.
          :type mount_accessor: str | unicode
          :param mount_point: The "path" the method/backend was mounted on.
          :type mount_point: str | unicode
          :return: The JSON response where available, otherwise the generic response object, of the request.
          :rtype: dict | requests.Response