a )g @s^ddlmZmZmZeZddlmmm Z ddl m Z GdddZ Gddde ZdS))absolute_importdivisionprint_functionN)BaseFactCollectorc@s0eZdZdZdZd ddZd ddZd d ZdS) VirtualaJ This is a generic Virtual subclass of Facts. This should be further subclassed to implement per platform. If you subclass this, you should define: - virtualization_type - virtualization_role - container (e.g. solaris zones, freebsd jails, linux containers) All subclasses MUST define platform. GenericFcCs ||_dSN)module)selfr Z load_on_initr K/usr/lib/python3.9/site-packages/ansible/module_utils/facts/virtual/base.py__init__)szVirtual.__init__NcCs |}|Sr)get_virtual_facts)r collected_facts virtual_factsr r r populate-szVirtual.populatecCsddttd}|S)NZvirtualization_typeZvirtualization_roleZvirtualization_tech_guestZvirtualization_tech_host)set)r rr r r r2s zVirtual.get_virtual_facts)F)N)__name__ __module__ __qualname____doc__platformr rrr r r r rs    rc@s*eZdZdZeZegdZdddZdS)VirtualCollectorZvirtualrNcCs*|pi}|siS||}|j|d}|S)N)r) _fact_classr)r r rZ facts_objZ facts_dictr r r collectFs   zVirtualCollector.collect)NN) rrrnamerrrZ _fact_idsrr r r r r<s r)Z __future__rrrtypeZ __metaclass__Z"ansible.module_utils.compat.typingZ module_utilscompattypingtZ$ansible.module_utils.facts.collectorrrrr r r r s  !