def _complete_agent_list( runner: CommandRunner, report_processor: ReportProcessor, agent_names: Iterable[ResourceAgentName], describe: bool, search: Optional[str], ) -> List[Dict[str, Any]]: agent_factory = ResourceAgentFacadeFactory(runner, report_processor) search_lower = search.lower() if search else None agent_list = [] for name in agent_names: if search_lower and search_lower not in name.full_name.lower(): continue try: metadata = ( agent_factory.facade_from_parsed_name(name).metadata if describe else name_to_void_metadata(name) ) agent_list.append(_agent_metadata_to_dict(metadata, describe)) except ResourceAgentError as e: report_processor.report( resource_agent_error_to_report_item( e, ReportItemSeverity.warning() ) ) return agent_list
def test_success(self): name = ResourceAgentName("ocf", "pacemaker", "Dummy") self.assertEqual( name_to_void_metadata(name), ResourceAgentMetadata( name, False, const.OCF_1_0, shortdesc=None, longdesc=None, parameters=[], actions=[], ), )