def update_parameter(self, parameter_id, content=None, name=None, param_type=None):
if not (content or name or param_type):<EOL><INDENT>log.warning('<STR_LIT>')<EOL>return False<EOL><DEDENT>parameters_node = self.parameters<EOL>elems = parameters_node.xpath('<STR_LIT>'.format(parameter_id))<EOL>if len(elems) != <NUM_LIT:1>:<EOL><INDENT>msg = '<STR_LIT>'.format(parameter_id,<EOL>len(elems))<EOL>raise IOCParseError(msg)<EOL><DEDENT>param_node = elems[<NUM_LIT:0>]<EOL>value_node = param_node.find('<STR_LIT:value>')<EOL>if name:<EOL><INDENT>param_node.attrib['<STR_LIT:name>'] = name<EOL><DEDENT>if value_node is None:<EOL><INDENT>msg = '<STR_LIT>'.format(parameter_id)<EOL>log.warning(msg)<EOL><DEDENT>else:<EOL><INDENT>if content:<EOL><INDENT>value_node.text = content<EOL><DEDENT>if param_type:<EOL><INDENT>value_node.attrib['<STR_LIT:type>'] = param_type<EOL><DEDENT><DEDENT>return True<EOL>
Updates the parameter attached to an Indicator or IndicatorItem node.

All inputs must be strings or unicode objects.

:param parameter_id: The unique id of the parameter to modify
:param content: The value of the parameter.
:param name: The name of the parameter.
:param param_type: The type of the parameter content.
:return: True, unless none of the optional arguments are supplied
:raises: IOCParseError if the parameter id is not present in the IOC.