#NEWLINE# def ex_balancer_update_member( self , balancer , member , **kwargs ) : #NEWLINE# #INDENT# "\n        Updates a Member's extra attributes for a Balancer.  The attributes can\n        include 'weight' or 'condition'.  This method blocks until the update\n        request has been processed and the balancer is in a RUNNING state\n        again.\n\n        :param balancer: Balancer to update the member on.\n        :type  balancer: :class:`LoadBalancer`\n\n        :param member: Member which should be used\n        :type member: :class:`Member`\n\n        :keyword **kwargs: New attributes.  Should contain either 'weight'\n        or 'condition'.  'condition' can be set to 'ENABLED', 'DISABLED'.\n        or 'DRAINING'.  'weight' can be set to a positive integer between\n        1 and 100, with a higher weight indicating that the node will receive\n        more traffic (assuming the Balancer is using a weighted algorithm).\n        :type **kwargs: ``dict``\n\n        :return: Updated Member.\n        :rtype: :class:`Member`\n        " #NEWLINE# accepted = self . ex_balancer_update_member_no_poll ( balancer , member , ** kwargs ) #NEWLINE# if ( not accepted ) : #NEWLINE# #INDENT# msg = 'Update member attributes was not accepted' #NEWLINE# raise LibcloudError ( msg , driver = self ) #NEWLINE# #UNINDENT# balancer = self . _get_updated_balancer ( balancer ) #NEWLINE# members = balancer . extra [ 'members' ] #NEWLINE# updated_members = [ m for m in members if ( m . id == member . id ) ] #NEWLINE# if ( not updated_members ) : #NEWLINE# #INDENT# raise LibcloudError ( 'Could not find updated member' ) #NEWLINE# #UNINDENT# return updated_members [ 0 ]