def _check_response(self, rpc_obj, snippet_name, conf_str=None):
LOG.debug("<STR_LIT>",<EOL>{'<STR_LIT>': snippet_name, '<STR_LIT>': rpc_obj.xml})<EOL>xml_str = rpc_obj.xml<EOL>if "<STR_LIT>" in xml_str:<EOL><INDENT>LOG.info("<STR_LIT>", snippet_name)<EOL>return True<EOL><DEDENT>e_type = rpc_obj._root[<NUM_LIT:0>][<NUM_LIT:0>].text<EOL>e_tag = rpc_obj._root[<NUM_LIT:0>][<NUM_LIT:1>].text<EOL>params = {'<STR_LIT>': snippet_name, '<STR_LIT:type>': e_type, '<STR_LIT>': e_tag,<EOL>'<STR_LIT>': self.hosting_device['<STR_LIT:id>'],<EOL>'<STR_LIT>': self._host_ip, '<STR_LIT>': conf_str}<EOL>raise cfg_exc.IOSXEConfigException(**params)<EOL>
This function checks the rpc response object for status.

        This function takes as input the response rpc_obj and the snippet name
        that was executed. It parses it to see, if the last edit operation was
        a success or not.
            <?xml version="1.0" encoding="UTF-8"?>
            <rpc-reply message-id="urn:uuid:81bf8082-....-b69a-000c29e1b85c"
                       xmlns="urn:ietf:params:netconf:base:1.0">
                <ok />
            </rpc-reply>
        In case of error, IOS XE device sends a response as follows.
        We take the error type and tag.
            <?xml version="1.0" encoding="UTF-8"?>
            <rpc-reply message-id="urn:uuid:81bf8082-....-b69a-000c29e1b85c"
            xmlns="urn:ietf:params:netconf:base:1.0">
                <rpc-error>
                    <error-type>protocol</error-type>
                    <error-tag>operation-failed</error-tag>
                    <error-severity>error</error-severity>
                </rpc-error>
            </rpc-reply>
        :return: True if the config operation completed successfully
        :raises: networking_cisco.plugins.cisco.cfg_agent.cfg_exceptions.
        IOSXEConfigException