Ë
    ÇVh÷  ã                   ó¦   — d dl mZmZmZ eZdZd dlZd dlZd dl	Z	d dl
mZ d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZmZ d d
lmZ  G d„ de«      Zy)é    )Úabsolute_importÚdivisionÚprint_functiona§  
---
deprecated:
  removed_in: 6.0.0
  why: This collection and all content in it is unmaintained and deprecated.
  alternative: Unknown.
author: Unknown (!UNKNOWN)
name: edgeswitch
short_description: Use edgeswitch cliconf to run command on EdgeSwitch platform
description:
  - This edgeswitch plugin provides low level abstraction apis for
    sending and receiving CLI commands from Ubiquiti EdgeSwitch network devices.
N)Úchain)ÚAnsibleConnectionFailure)Úto_text)Údumps)Úto_list)ÚCliconfBaseÚenable_mode)ÚMappingc                   óV   ‡ — e Zd Zd„ Zedd„«       Zed„ «       Zdd„Zˆ fd„Zd	d„Z	ˆ xZ
S )
ÚCliconfc                 óÐ  — i }d|d<   | j                  d¬«      }t        |d¬«      j                  «       }t        j                  d|«      }|r#|j                  d«      j                  d	«      |d
<   t        j                  d|t        j                  «      }|r|j                  d«      |d<   t        j                  d|t        j                  «      }|r|j                  d«      |d<   |S )NÚ
edgeswitchÚ
network_oszshow version)ÚcommandÚsurrogate_or_strict)ÚerrorszSoftware Version\.+ (.*)é   ú,Únetwork_os_versionz^Machine Model\.+ (.*)Únetwork_os_modelzSystem Name\.+ (.*)Únetwork_os_hostname)Úgetr   ÚstripÚreÚsearchÚgroupÚM)ÚselfÚdevice_infoÚreplyÚdataÚmatchs        úp/home/dcms/DCMS/lib/python3.12/site-packages/ansible_collections/community/network/plugins/cliconf/edgeswitch.pyÚget_device_infozCliconf.get_device_info4   sÉ   € Øˆà$0ˆLÑ!Ø—‘ Ó0ˆÜuÐ%:Ô;×AÑAÓCˆä—	‘	Ð5°tÓ<ˆÙØ05·±¸A³×0DÑ0DÀSÓ0IˆKÐ,Ñ-ä—	‘	Ð3°T¼2¿4¹4Ó@ˆÙØ.3¯k©k¸!«nˆKÐ*Ñ+ä—	‘	Ð0°$¼¿¹Ó=ˆÙØ16·±¸Q³ˆKÐ-Ñ.àÐó    c                 óº   — |dvrt        d|z  «      ‚|dk(  rd}nd}|r-|dj                  t        |«      «      z  }|j                  «       }| j	                  |«      S )N)ÚrunningÚstartupz/fetching configuration from %s is not supportedr*   zshow running-config zshow startup-config ú )Ú
ValueErrorÚjoinr
   r   Úsend_command)r!   ÚsourceÚflagsÚcmds       r&   Ú
get_configzCliconf.get_configI   se   € àÐ/Ñ/ÜÐNÐQWÑWÓXÐXàYÒØ(‰Cà(ˆCáØ3—8‘8œG E›NÓ+Ñ+ˆCØ—)‘)“+ˆCà× Ñ  Ó%Ð%r(   c                 ó>  — i }g }g }| j                  d«       t        |«      D ]\  }t        |t        «      sd|i}|d   }|dk7  sŒ"|d   dk7  sŒ+|j	                   | j                   di |¤Ž«       |j	                  |«       Œ^ | j                  d«       ||d<   ||d<   |S )	NÚ	configurer   Úendr   ú!ÚrequestÚresponse© )r/   r
   Ú
isinstancer   Úappend)r!   ÚcommandsÚrespÚresultsÚrequestsÚliner2   s          r&   Úedit_configzCliconf.edit_configY   s²   € àˆàˆØˆØ×Ñ˜+Ô&Ü˜HÓ%ò 	%ˆDÜ˜d¤GÔ,Ø! 4Ð(ày‘/ˆCØe‹|  A¡¨#£Ø—‘Ð0˜t×0Ñ0Ñ8°4Ñ8Ô9Ø—‘ Õ$ð	%ð 	×Ñ˜%Ô à"ˆˆY‰Ø"ˆˆZÑØˆr(   c                 ój   — |st        d«      ‚|rt        d|z  «      ‚| j                  ||||||¬«      S )Nz(must provide value of command to executez*'output' value %s is not supported for get)r   ÚpromptÚanswerÚsendonlyÚnewlineÚ	check_all)r-   r/   )r!   r   rD   rE   rF   rG   ÚoutputrH   s           r&   r   zCliconf.geto   sP   € ÙÜÐGÓHÐHÙÜÐIÈFÑRÓSÐSà× Ñ ¨¸ÈÐYaÐkrð  HÐ ó  Ið  	Ir(   c                 ón   •— t         t        |   «       }|dxx   dgz  cc<   t        j                  |«      S )NÚrpcÚrun_commands)Úsuperr   Úget_capabilitiesÚjsonr	   )r!   ÚresultÚ	__class__s     €r&   rN   zCliconf.get_capabilitiesw   s2   ø€ Ü”w Ñ6Ó8ˆØˆu‹˜.Ð)Ñ)‹Üz‰z˜&Ó!Ð!r(   c                 óT  — |€t        d«      ‚t        «       }t        |«      D ]\  }t        |t        «      sd|i}|j                  dd «      }|rt        d|z  «      ‚	  | j                  di |¤Ž}|j                  |«       Œ^ |S # t        $ r}|r‚ t        |d|«      }Y d }~Œ3d }~ww xY w)Nz'commands' value is requiredr   rI   z3'output' value %s is not supported for run_commandsÚerrr:   )
r-   Úlistr
   r;   r   Úpopr/   r   Úgetattrr<   )r!   r=   Úcheck_rcÚ	responsesr2   rI   ÚoutÚes           r&   rL   zCliconf.run_commands|   sÀ   € ØÐÜÐ;Ó<Ð<ä“Fˆ	Ü˜8Ó$ò 	"ˆCÜ˜c¤7Ô+Ø  #Ð&à—W‘W˜X tÓ,ˆFÙÜ Ð!VÐY_Ñ!_Ó`Ð`ð+Ø'd×'Ñ'Ñ.¨#Ñ.ð ×Ñ˜SÕ!ð	"ð" Ðøô ,ò +ÙØÜ˜a ¨Ó*•ûð+ús   ÁBÂ	B'ÂB"Â"B')r*   N)NNNFTNF)NT)Ú__name__Ú
__module__Ú__qualname__r'   r   r3   rB   r   rN   rL   Ú__classcell__)rQ   s   @r&   r   r   2   s@   ø„ òð* ò&ó ð&ð ñó ðó*Iô"÷
r(   r   )Ú
__future__r   r   r   ÚtypeÚ__metaclass__ÚDOCUMENTATIONr   ÚtimerO   Ú	itertoolsr   Úansible.errorsr   Úansible.module_utils._textr   ÚPansible_collections.ansible.netcommon.plugins.module_utils.network.common.configr	   ÚOansible_collections.ansible.netcommon.plugins.module_utils.network.common.utilsr
   Úansible.plugins.cliconfr   r   Ú/ansible.module_utils.common._collections_compatr   r   r:   r(   r&   ú<module>rk      sH   ð÷& CÑ BØ€ð€ó 
Û Û å å 3Ý .Ý bÝ cß <Ý Cô`ˆkõ `r(   