Source code for insights.combiners.package_provides_httpd

PackageProvidesHttpdAll - Combiner for packages which provide httpd

Combiner for collecting all the running httpd command and the corresponding RPM package name
which is parsed by the PackageProvidesHttpd parser.


from insights.core.plugins import combiner
from insights.parsers.package_provides_httpd import PackageProvidesHttpd
from .. import LegacyItemAccess

[docs]@combiner(PackageProvidesHttpd) class PackageProvidesHttpdAll(LegacyItemAccess): """ This combiner will receive a list of parsers named PackageProvidesHttpd, one for each running instance of httpd and each parser instance will contain the command information and the RPM package information. It works as a ``dict`` with the httpd command information as the key and the corresponding RPM package information as the value. Examples: >>> sorted(packages.running_httpds) ['/opt/rh/httpd24/root/usr/sbin/httpd', '/usr/sbin/httpd'] >>> packages.get_package("/usr/sbin/httpd") 'httpd-2.4.6-88.el7.x86_64' >>> packages.get("/opt/rh/httpd24/root/usr/sbin/httpd") 'httpd24-httpd-2.4.34-7.el7.x86_64' >>> packages["/usr/sbin/httpd"] 'httpd-2.4.6-88.el7.x86_64' """ def __init__(self, package_provides_httpd): = {} for pkg in package_provides_httpd:[pkg.command] = pkg.package super(PackageProvidesHttpdAll, self).__init__() @property def running_httpds(self): """ Returns the list of httpd commands which are running on the system. """ return list(
[docs] def get_package(self, httpd_command): """ Returns the installed httpd package that provides the specified `httpd_command`. Parameters: httpd_command (str): The specified httpd command, e.g. found in ``ps`` command. Returns: (str): The package that provides the httpd command. """ return
@property def packages(self): """ Returns the list of corresponding httpd RPM packages which are running on the system. """ return list(