
    Vh                    .    d dl mZ d dlZ G d de      Zy)    )annotationsNc                      e Zd Zd Zd Zd Zy)VirtualSysctlDetectionMixinc                D    | j                   j                  d      | _        y )Nsysctl)moduleget_bin_pathsysctl_path)selfs    Y/home/dcms/DCMS/lib/python3.12/site-packages/ansible/module_utils/facts/virtual/sysctl.pydetect_sysctlz)VirtualSysctlDetectionMixin.detect_sysctl   s    ;;33H=    c                (   i }t               }t               }d}| j                          | j                  r| j                  j	                  | j                  d|      \  }}}|dk(  rt        j                  d|      r|j                  d       |sd|d<   d|d<   d	}t        j                  d
|      r|j                  d       |sd|d<   d|d<   d	}|j                         dk(  r|j                  d       |sd|d<   d|d<   d	}t        j                  d|      r|j                  d       |sd|d<   d|d<   d	}|j                         dk(  r|j                  d       |sd|d<   d|d<   d	}|j                         dk(  r|j                  d       |sd|d<   d|d<   d	}|j                         dk(  r|j                  d       |sd|d<   d|d<   d	}|dk(  r2|j                         dk(  r|j                  d       |sd|d<   d|d<   d	}||d<   ||d<   |S )NF -n r   z(KVM|kvm|Bochs|SmartDC).*kvmvirtualization_typeguestvirtualization_roleTz
.*VMware.*VMware
VirtualBox
virtualboxz"(HVM domU|XenPVH|XenPV|XenPVHVM).*xenzHyper-V	Parallels	parallelszRHEV HypervisorRHEVzsecurity.jail.jailed1jailsvirtualization_tech_guestvirtualization_tech_host)	setr   r
   r   run_commandrematchaddrstrip)	r   keyvirtual_product_facts	host_tech
guest_tech
found_virtrcouterrs	            r   detect_virt_productz/VirtualSysctlDetectionMixin.detect_virt_product   sX    "E	U

 
;;22AQAQSV3WXLBSQw887=NN5)%GL-.CDGN-.CD%)
88L#.NN8,%GO-.CDGN-.CD%)
::<</NN<0%GS-.CDGN-.CD%)
88@#FNN5)%GL-.CDGN-.CD%)
::<9,NN9-%GP-.CDGN-.CD%)
::<;.NN;/%GR-.CDGN-.CD%)
::<#44NN6*%GM-.CDGN-.CD%)
11

8KNN7+%GN-.CDGN-.CD%)
=G9:<E89$$r   c                   i }t               }t               }| j                          | j                  r| j                  j	                  | j                  d|      \  }}}|dk(  r\|j                         dk(  r|j                  d       d|d<   d|d<   |j                         dk(  r|j                  d	       d	|d<   d|d<   ||d
<   ||d<   |S )Nr   r   QEMUr   r   r   r   OpenBSDvmmr   r   )r    r   r
   r   r!   r%   r$   )r   r&   virtual_vendor_factsr(   r)   r+   r,   r-   s           r   detect_virt_vendorz.VirtualSysctlDetectionMixin.detect_virt_vendor\   s    !E	U
;;22AQAQSV3WXLBSQw::<6)NN5)BG()>?BI()>?::<9,NN5)BG()>?BI()>?<F89;D78##r   N)__name__
__module____qualname__r   r.   r4    r   r   r   r      s    >A%F$r   r   )
__future__r   r"   objectr   r8   r   r   <module>r;      s     # 	Z$& Z$r   