Ansible module 2.9 and Juniper junos Module 2.3.0


!!!!! junos module  (core ansible)    Vs      juniper_junos ( from juniper ) module !!!!!!!!!!



ansible module


https://docs.ansible.com/ansible/latest/modules/list_of_network_modules.html#junos?extIdCarryOver=true&sc_cid=701f2000001OH7YAAW


ansible module ( for juniper Nodes)
ansible-doc --list

. . . 
junos_banner Manage multiline banners on Juniper JUNOS devices
junos_command Run arbitrary commands on an Juniper JUNOS device
junos_config Manage configuration on devices running Juniper JUNOS
junos_facts Collect facts from remote devices running Juniper Junos
junos_interface Manage Interface on Juniper JUNOS network devices
junos_l3_interface Manage L3 interfaces on Juniper JUNOS network devices
junos_linkagg Manage link aggregation groups on Juniper JUNOS network devices
junos_lldp Manage LLDP configuration on Juniper JUNOS network devices
junos_lldp_interface Manage LLDP interfaces configuration on Juniper JUNOS network devices
junos_logging Manage logging on network devices
junos_netconf Configures the Junos Netconf system service
junos_package Installs packages on remote devices running Junos
junos_rpc Runs an arbitrary RPC over NetConf on an Juniper JUNOS device
junos_static_route Manage static IP routes on Juniper JUNOS network devices
junos_system Manage the system attributes on Juniper JUNOS devices
junos_user Manage local user accounts on Juniper JUNOS devices
junos_vlan Manage VLANs on Juniper JUNOS network devices
junos_vrf Manage the VRF definitions on Juniper JUNOS devices
install Juniper.junos

ansible-galaxy install juniper.junos

Install Juniper.junos module
jlk@jkriker-T460:/etc/ansible$ ansible-galaxy install juniper.junos
- downloading role 'junos', owned by juniper
- downloading role from https://github.com/Juniper/ansible-junos-stdlib/archive/2.1.0.tar.gz
- extracting juniper.junos to /home/jlk/.ansible/roles/juniper.junos
- juniper.junos (2.1.0) was installed successfully

juniper module

https://junos-ansible-modules.readthedocs.io/en/2.3.0/

juniper module
juniper_junos_jsnapy
juniper_junos_srx_cluster
juniper_junos_ping
juniper_junos_command
juniper_junos_system
juniper_junos_facts
juniper_junos_config
juniper_junos_software
juniper_junos_pmtud
juniper_junos_table
juniper_junos_rpc

ansible-doc junos_facts

ansible-doc junos_facts

junos_facts
jlk@jkriker-T460:~$ ansible-doc junos_facts
> JUNOS_FACTS    (/usr/lib/python2.7/dist-packages/ansible/modules/network/junos/junos_facts.py)

        Collects fact information from a remote device running the Junos operating system.  By
        default, the module will collect basic fact information from the device to be included
        with the hostvars. Additional fact information can be collected based on the configured
        set of arguments.

OPTIONS (= is mandatory):

- config_format
        The `config_format' argument specifies the format of the configuration when serializing
        output from the device. This argument is applicable only when `config' value is present
        in `gather_subset'. The `config_format' should be supported by the junos version running
        on device.
        (Choices: xml, set, text, json)[Default: text]
        version_added: 2.3

- gather_subset
        When supplied, this argument will restrict the facts collected to a given subset.
        Possible values for this argument include all, hardware, config, and interfaces.  Can
        specify a list of values to include a larger subset.  Values can also be used with an
        initial `[!]' to specify that a specific subset should not be collected. To maintain
        backward compatbility old style facts can be retrieved using all value, this reqires
        junos-eznc to be installed as a prerequisite.
        [Default: !config]
        version_added: 2.3

- provider
        *Deprecated*
        Starting with Ansible 2.5 we recommend using `connection: network_cli' or `connection:
        netconf'.
        For more information please see the L(Junos OS Platform Options guide,
        ../network/user_guide/platform_junos.html).
        HORIZONTALLINE
        A dict object containing connection details.
        [Default: None]
        suboptions:
          host:
            description:
            - Specifies the DNS host name or address for connecting to the remote device over
              the specified transport.  The value of host is used as the destination address
              for the transport.
            required: true
          password:
            default: null
            description:
            - Specifies the password to use to authenticate the connection to the remote device.   This
              value is used to authenticate the SSH session. If the value is not specified
              in the task, the value of environment variable `ANSIBLE_NET_PASSWORD' will
              be used instead.
          port:
            default: 22
            description:
            - Specifies the port to use when building the connection to the remote device.  The
              port value will default to the well known SSH port of 22 (for `transport=cli')
              or port 830 (for `transport=netconf') device.
          ssh_keyfile:
            description:
            - Specifies the SSH key to use to authenticate the connection to the remote device.   This
              value is the path to the key used to authenticate the SSH session. If the value
              is not specified in the task, the value of environment variable `ANSIBLE_NET_SSH_KEYFILE'
              will be used instead.
          timeout:
            default: 10
            description:
            - Specifies the timeout in seconds for communicating with the network device for
              either connecting or sending commands.  If the timeout is exceeded before the
              operation is completed, the module will error.
          username:
            description:
            - Configures the username to use to authenticate the connection to the remote
              device.  This value is used to authenticate the SSH session. If the value is
              not specified in the task, the value of environment variable `ANSIBLE_NET_USERNAME'
              will be used instead.



NOTES:
      * Ensure `config_format' used to retrieve configuration from device is supported by
        junos version running on device.
      * With `config_format = json', configuration in the results will be a dictionary(and
        not a JSON string)
      * This module requires the netconf system service be enabled on the remote device
        being managed.
      * Tested against vSRX JUNOS version 15.1X49-D15.4, vqfx-10000 JUNOS Version
        15.1X53-D60.4.
      * Recommended connection is `netconf'. See L(the Junos OS Platform
        Options,../network/user_guide/platform_junos.html).
      * This module also works with `local' connections for legacy playbooks.
      * For information on using CLI and netconf see the :ref:`Junos OS Platform Options
        guide <junos_platform_options>`
      * For more information on using Ansible to manage network devices see the
        :ref:`Ansible Network Guide <network_guide>`
      * For more information on using Ansible to manage Juniper network devices see
        https://www.ansible.com/ansible-juniper.

REQUIREMENTS:  ncclient (>=v0.5.2)

AUTHOR: Nathaniel Case (@qalthos)
        METADATA:
          status:
          - preview
          supported_by: network


EXAMPLES:
- name: collect default set of facts
  junos_facts:

- name: collect default set of facts and configuration
  junos_facts:
    gather_subset: config

RETURN VALUES:


ansible_facts:
  description: Returns the facts collect from the device
  returned: always
  type: dict

(END)