def write_change(change):
action, rrset = change<EOL>change_vals = get_change_values(change)<EOL>e_change = etree.Element("<STR_LIT>")<EOL>e_action = etree.SubElement(e_change, "<STR_LIT>")<EOL>e_action.text = action<EOL>e_rrset = etree.SubElement(e_change, "<STR_LIT>")<EOL>e_name = etree.SubElement(e_rrset, "<STR_LIT:Name>")<EOL>e_name.text = change_vals['<STR_LIT:name>']<EOL>e_type = etree.SubElement(e_rrset, "<STR_LIT>")<EOL>e_type.text = rrset.rrset_type<EOL>if change_vals.get('<STR_LIT>'):<EOL><INDENT>e_set_id = etree.SubElement(e_rrset, "<STR_LIT>")<EOL>e_set_id.text = change_vals['<STR_LIT>']<EOL><DEDENT>if change_vals.get('<STR_LIT>'):<EOL><INDENT>e_weight = etree.SubElement(e_rrset, "<STR_LIT>")<EOL>e_weight.text = change_vals['<STR_LIT>']<EOL><DEDENT>if change_vals.get('<STR_LIT>') or change_vals.get('<STR_LIT>'):<EOL><INDENT>e_alias_target = etree.SubElement(e_rrset, "<STR_LIT>")<EOL>e_hosted_zone_id = etree.SubElement(e_alias_target, "<STR_LIT>")<EOL>e_hosted_zone_id.text = change_vals['<STR_LIT>']<EOL>e_dns_name = etree.SubElement(e_alias_target, "<STR_LIT>")<EOL>e_dns_name.text = change_vals['<STR_LIT>']<EOL><DEDENT>if change_vals.get('<STR_LIT>'):<EOL><INDENT>e_weight = etree.SubElement(e_rrset, "<STR_LIT>")<EOL>e_weight.text = change_vals['<STR_LIT>']<EOL><DEDENT>e_ttl = etree.SubElement(e_rrset, "<STR_LIT>")<EOL>e_ttl.text = str(change_vals['<STR_LIT>'])<EOL>if rrset.is_alias_record_set():<EOL><INDENT>return e_change<EOL><DEDENT>e_resource_records = etree.SubElement(e_rrset, "<STR_LIT>")<EOL>for value in change_vals['<STR_LIT>']:<EOL><INDENT>e_resource_record = etree.SubElement(e_resource_records, "<STR_LIT>")<EOL>e_value = etree.SubElement(e_resource_record, "<STR_LIT>")<EOL>e_value.text = value<EOL><DEDENT>return e_change<EOL>
Creates an XML element for the change.

:param tuple change: A change tuple from a ChangeSet. Comes in the form
    of ``(action, rrset)``.
:rtype: lxml.etree._Element
:returns: A fully baked Change tag.