�
�Udac @ sN d Z d d l m Z d d l m Z m Z m Z m Z m Z 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 d d l m Z d d
l m Z d d l m Z d d l m Z e d
e d e d e d e � Z e d e d e
d e d e d e d e d e d e d e � Z d e f d � � YZ d S( s�
The facts class for junos
this file validates each subset of facts and selectively
calls the appropriate facts gathering function
i����( t FactsBase( t Defaultt Hardwaret Configt
Interfacest OFactst HAS_PYEZ( t InterfacesFacts( t LacpFacts( t Lacp_interfacesFacts( t Lag_interfacesFacts( t L3_interfacesFacts( t Lldp_globalFacts( t Lldp_interfacesFacts( t
VlansFacts( t L2_interfacesFactst defaultt hardwaret configt
interfacest lacpt lacp_interfacest lag_interfacest
l2_interfacest
l3_interfacest lldp_globalt lldp_interfacest vlanst Factsc B sM e Z d Z e e j � � Z e e j � � Z d � Z d d d d � Z RS( s The fact class for junos
c C s t t | � j | � d S( N( t superR t __init__( t selft module( ( sR /usr/lib/python2.7/site-packages/ansible/module_utils/network/junos/facts/facts.pyR 2 s c C s� | j r | j t | | � n | s� | j } d | k r� t rb | j j t | j � j � � n | j
j d g � | j d j d � | j
d � q� n | j r� | j t | � n | j | j
f S( s
Collect the facts for junos
:param legacy_facts_type: List of legacy facts types
:param resource_facts_type: List of resource fact types
:param data: previously collected conf
:rtype: dict
:return: the facts gathered
t ofactss� junos-eznc is required to gather old style facts but does not appear to be installed. It can be installed using `pip install junos-eznc`t ansible_net_gather_subset( t VALID_RESOURCE_SUBSETSt get_network_resources_factst FACT_RESOURCE_SUBSETSt _gather_subsetR t
ansible_factst updateR t _modulet populatet _warningst extendt appendt removet VALID_LEGACY_GATHER_SUBSETSt get_network_legacy_factst FACT_LEGACY_SUBSETS( R t legacy_facts_typet resource_facts_typet data( ( sR /usr/lib/python2.7/site-packages/ansible/module_utils/network/junos/facts/facts.pyt get_facts5 s "
N( t __name__t
__module__t __doc__t frozensetR1 t keysR/ R% R# R t NoneR5 ( ( ( sR /usr/lib/python2.7/site-packages/ansible/module_utils/network/junos/facts/facts.pyR + s
N( R8 t/ ansible.module_utils.network.common.facts.factsR t4 ansible.module_utils.network.junos.facts.legacy.baseR R R R R R t>