Example #1
0
    def parse(stream):
        """Parse a stream containing XML into an ``InputDefinition``.

        :param stream: stream containing XML to parse.
        :return: definition: an ``InputDefinition`` object.
        """
        definition = InputDefinition()

        # parse XML from the stream, then get the root node
        root = ET.parse(stream).getroot()

        for node in root:
            if node.tag == "configuration":
                # get config for each stanza
                definition.inputs = parse_xml_data(node, "stanza")
            else:
                definition.metadata[node.tag] = node.text

        return definition
    def parse(stream):
        """Parse a stream containing XML into an ``InputDefinition``.

        :param stream: stream containing XML to parse.
        :return: definition: an ``InputDefinition`` object.
        """
        definition = InputDefinition()

        # parse XML from the stream, then get the root node
        root = ET.parse(stream).getroot()

        for node in root:
            if node.tag == "configuration":
                # get config for each stanza
                definition.inputs = parse_xml_data(node, "stanza")
            else:
                definition.metadata[node.tag] = node.text

        return definition
    def parse(stream):
        """Creates a ``ValidationDefinition`` from a provided stream containing XML.

        The XML typically will look like this:

        ``<items>``
        ``   <server_host>myHost</server_host>``
        ``     <server_uri>https://127.0.0.1:8089</server_uri>``
        ``     <session_key>123102983109283019283</session_key>``
        ``     <checkpoint_dir>/opt/splunk/var/lib/splunk/modinputs</checkpoint_dir>``
        ``     <item name="myScheme">``
        ``       <param name="param1">value1</param>``
        ``       <param_list name="param2">``
        ``         <value>value2</value>``
        ``         <value>value3</value>``
        ``         <value>value4</value>``
        ``       </param_list>``
        ``     </item>``
        ``</items>``

        :param stream: ``Stream`` containing XML to parse.
        :return definition: A ``ValidationDefinition`` object.

        """

        definition = ValidationDefinition()

        # parse XML from the stream, then get the root node
        root = ET.parse(stream).getroot()

        for node in root:
            # lone item node
            if node.tag == "item":
                # name from item node
                definition.metadata["name"] = node.get("name")
                definition.parameters = parse_xml_data(node, "")
            else:
                # Store anything else in metadata
                definition.metadata[node.tag] = node.text

        return definition
    def parse(stream):
        """Creates a ``ValidationDefinition`` from a provided stream containing XML.

        The XML typically will look like this:

        ``<items>``
        ``   <server_host>myHost</server_host>``
        ``     <server_uri>https://127.0.0.1:8089</server_uri>``
        ``     <session_key>123102983109283019283</session_key>``
        ``     <checkpoint_dir>/opt/splunk/var/lib/splunk/modinputs</checkpoint_dir>``
        ``     <item name="myScheme">``
        ``       <param name="param1">value1</param>``
        ``       <param_list name="param2">``
        ``         <value>value2</value>``
        ``         <value>value3</value>``
        ``         <value>value4</value>``
        ``       </param_list>``
        ``     </item>``
        ``</items>``

        :param stream: ``Stream`` containing XML to parse.
        :return definition: A ``ValidationDefinition`` object.

        """

        definition = ValidationDefinition()

        # parse XML from the stream, then get the root node
        root = ET.parse(stream).getroot()

        for node in root:
            # lone item node
            if node.tag == "item":
                # name from item node
                definition.metadata["name"] = node.get("name")
                definition.parameters = parse_xml_data(node, "")
            else:
                # Store anything else in metadata
                definition.metadata[node.tag] = node.text

        return definition