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