
    VhI                    T    d dl mZ d dlZd dlmZmZ  G d de      Z G d de      Zy)    )annotationsN)VirtualVirtualCollectorc                      e Zd ZdZdZd Zy)SunOSVirtualz
    This is a SunOS-specific subclass of Virtual.  It defines
    - virtualization_type
    - virtualization_role
    - container
    SunOSc                ^   i }t               }t               }| j                  j                  d      }|r_| j                  j                  |      \  }}}|dk(  r;|j	                         dk(  r|j                  d       n|j                  d       d|d<   t        j                  j                  d      r|j                  d       d|d<   d|v r|d   dk(  r| j                  j                  d      }|rx| j                  j                  |      \  }}}|dk(  rT|j                         D ]A  }	d|	v r|j                  d	       d	|d
<   d|d<   d|	v s'|j                  d       d|d
<   d|d<   C t        j                  j                  d      r|j                  d       d|d
<   d|d<   | j                  j                  d      }
|
r| j                  j                  d      \  }}}|dk(  r	 |j                         D ]  }	|	j                  d      }|d   dk(  s|d   dk(  s&|j                  d       d|d
<   d|d<   g }|dd  D ]0  }|j                  d      }|d   dk(  s|j                  |d          2 t        |      dkD  sddj                  |      z   dz   |d<    n| j                  j                  d      }|sy | j                  j                  |      \  }}}|dk(  r|j                         D ]  }	d|	v r|j                  d	       d	|d
<   d|d<   #d|	v r|j                  d        d |d
<   d|d<   Cd|	v r|j                  d       d|d
<   d|d<   cd!|	v r|j                  d"       d"|d
<   d|d<   d#|	v s|j                  d$       d$|d
<   d|d<    ||d%<   ||d&<   |S # t        $ r Y w xY w)'Nzonenamer   globalzone	containerz/.SUNWnativemodinfoVMwarevmwarevirtualization_typeguestvirtualization_role
VirtualBox
virtualboxz/proc/vz	virtuozzovirtinfoz/usr/sbin/virtinfo -p|
DOMAINROLE   z
impl=LDomsldom   =truezhost (,)smbios	Parallels	parallelszHVM domUxenKVMkvmvirtualization_tech_guestvirtualization_tech_host)setmoduleget_bin_pathrun_commandrstripaddospathisdir
splitlinesexistssplitappendlenjoin
ValueError)selfvirtual_facts	host_tech
guest_techr
   rcouterrr   liner   fieldshostfeaturesfieldargr!   s                   X/home/dcms/DCMS/lib/python3.12/site-packages/ansible/module_utils/facts/virtual/sunos.pyget_virtual_factszSunOSVirtual.get_virtual_facts    s   E	U
 ;;++J7;;228<LBSQw::<8+MM&)NN6*17M+. 77==(NN6")/M+& -'M+,F&,Pkk..y9G#{{66w?C7 # 0 K#t+&NN84CKM*?@CJM*?@'4/&NN<8COM*?@CJM*?@K 77>>*%NN;'3>M/03:M/0 ;;++J7  ;;223JKLBS
 Qw # 0 o!%C!!94l9R&NN62CIM*?@CJM*?@+-L)/ @&+kk#&6#&q6V#3$0$7$7A$?@  #<014GORURZRZ[gRhGhknGn.C Do" [[--h7F;;226:LBSQwNN, GD4'"x0?G&;<?F&;<$,"{3?J&;<?F&;<%-"|4?K&;<?F&;<#t+"u-?D&;<?F&;<$"u-?D&;<?F&;<)G, 6@124=01C " s*   &,N  N  >N  $N   N   	N,+N,N)__name__
__module____qualname____doc__platformrF        rE   r   r      s     HerM   r   c                      e Zd ZeZdZy)SunOSVirtualCollectorr   N)rG   rH   rI   r   _fact_class	_platformrL   rM   rE   rO   rO      s    KIrM   rO   )
__future__r   r/   'ansible.module_utils.facts.virtual.baser   r   r   rO   rL   rM   rE   <module>rT      s,     # 	 Mn7 nb, rM   