Ë
    ÇVh¾  ã                   óV   — d dl mZmZmZ eZdZd dlZd dlm	Z	 d dl
mZ  G d„ de«      Zy)é    )Úabsolute_importÚdivisionÚprint_functiona‘  
author:
 - Ansible Networking Team (@ansible-network)
name: default
short_description: Use default netconf plugin to run standard netconf commands as
  per RFC
description:
- This default plugin provides low level abstraction apis for sending and receiving
  netconf commands as per Netconf RFC specification.
version_added: 1.0.0
options:
  ncclient_device_handler:
    type: str
    default: default
    description:
    - Specifies the ncclient device handler name for network os that support default
      netconf implementation as per Netconf RFC specification. To identify the ncclient
      device handler name refer ncclient library documentation.
N)Úto_text)ÚNetconfBasec                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚNetconfc                 óŠ   — 	 t        |j                  |«      j                  d¬«      j                  «       S # t        $ r Y y w xY w)NÚsurrogate_then_replace)Úerrors)r   ÚfindÚtextÚstripÚAttributeError)ÚselfÚeleÚtags      úm/home/dcms/DCMS/lib/python3.12/site-packages/ansible_collections/ansible/netcommon/plugins/netconf/default.pyÚget_textzNetconf.get_text&   s>   € ð	Ü˜3Ÿ8™8 C›=×-Ñ-Ð6NÔO×UÑUÓWÐWøÜò 	Ùð	ús   ‚36 ¶	AÁAc                 ó$   — t        «       }d|d<   |S )NÚdefaultÚ
network_os)Údict)r   Údevice_infos     r   Úget_device_infozNetconf.get_device_info,   s   € Ü“fˆØ$-ˆLÑ!ØÐó    c                 ó~  — t        «       }| j                  «       |d<   d|d<   | j                  «       |d<   t        | j                  j
                  «      |d<   t        | j                  j                  «      |d<   | j                  j                  |d<   | j                  |d   «      |d<   t        j                  |«      S )	NÚrpcÚnetconfÚnetwork_apir   Úserver_capabilitiesÚclient_capabilitiesÚ
session_idÚdevice_operations)r   Úget_base_rpcr   ÚlistÚmr!   r"   r#   Úget_device_operationsÚjsonÚdumps)r   Úresults     r   Úget_capabilitieszNetconf.get_capabilities1   s«   € Ü“ˆØ×)Ñ)Ó+ˆˆu‰Ø )ˆˆ}ÑØ $× 4Ñ 4Ó 6ˆˆ}ÑÜ(,¨T¯V©V×-GÑ-GÓ(HˆÐ$Ñ%Ü(,¨T¯V©V×-GÑ-GÓ(HˆÐ$Ñ%Ø#Ÿv™v×0Ñ0ˆˆ|ÑØ&*×&@Ñ&@ÀÐH]ÑA^Ó&_ˆÐ"Ñ#Üz‰z˜&Ó!Ð!r   N)Ú__name__Ú
__module__Ú__qualname__r   r   r,   © r   r   r	   r	   %   s   „ òòó
	"r   r	   )Ú
__future__r   r   r   ÚtypeÚ__metaclass__ÚDOCUMENTATIONr)   Úansible.module_utils._textr   ÚGansible_collections.ansible.netcommon.plugins.plugin_utils.netconf_baser   r	   r0   r   r   ú<module>r7      s3   ð÷ AÑ @ð €ð€ó& å .å _ô"ˆkõ "r   