def _parse_resource()

in src/modules/get_pcmk_properties_db.py [0:0]


    def _parse_resource(self, element, category):
        """
        Parse resource-specific configuration parameters

        :param element: The XML element to parse.
        :type element: xml.etree.ElementTree.Element
        :param category: The category of the resource.
        :type category: str
        :return: A list of parameter dictionaries.
        :rtype: list
        """
        parameters = []

        if category in ["hana_meta", "topology_meta"]:
            param_dict = self._parse_nvpair_elements(
                elements=element.findall(".//nvpair"),
                category=category.split("_")[0],
                subcategory="meta_attributes",
            )
            parameters.extend(param_dict)

        for attr in ["meta_attributes", "instance_attributes"]:
            attr_elements = element.find(f".//{attr}")
            if attr_elements is not None:
                parameters.extend(
                    self._parse_nvpair_elements(
                        elements=attr_elements.findall(".//nvpair"),
                        category=category,
                        subcategory=attr,
                    )
                )

        operations = element.find(".//operations")
        if operations is not None:
            for operation in operations.findall(".//op"):
                for op_type in ["timeout", "interval"]:
                    parameters.append(
                        self._create_parameter(
                            category=category,
                            subcategory="operations",
                            id=operation.get("id", ""),
                            name=op_type,
                            op_name=operation.get("name", ""),
                            value=operation.get(op_type, ""),
                        )
                    )
        return parameters