On this page
junipernetworks.junos.junos_logging_global – Manage logging configuration on Junos devices.
Note
This plugin is part of the junipernetworks.junos collection (version 2.6.0).
You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.
To install it, use: ansible-galaxy collection install junipernetworks.junos.
To use it in a playbook, specify: junipernetworks.junos.junos_logging_global.
New in version 2.4.0: of junipernetworks.junos
Synopsis
- This module manages logging configuration on devices running Junos.
 
Note
This module has a corresponding action plugin.
Requirements
The below requirements are needed on the host that executes this module.
- ncclient (>=v0.6.4)
 - xmltodict (>=0.12.0)
 
Parameters
| Parameter | Choices/Defaults | Comments | ||||
|---|---|---|---|---|---|---|
| config
        
        dictionary
         | 
      
        
        A dictionary of logging configuration.
         | 
     |||||
| allow_duplicates
        
        boolean
         | 
      
       
  | 
      
        
        Do not suppress the repeated message for all targets.
         | 
     ||||
| archive
        
        dictionary
         | 
      
        
        Specify archive file information.
         | 
     |||||
| binary_data
        
        boolean
         | 
      
       
  | 
      
        
        Mark file as if it contains binary data.
         | 
     ||||
| file_size
        
        integer
         | 
      
        
        Size of files to be archived (65536..1073741824 bytes).
         | 
     |||||
| files
        
        integer
         | 
      
        
        Specify number of files to be archived (1..1000).
         | 
     |||||
| no_binary_data
        
        boolean
         | 
      
       
  | 
      
        
        Don't mark file as if it contains binary data.
         | 
     ||||
| no_world_readable
        
        boolean
         | 
      
       
  | 
      
        
        Don't allow any user to read the log file.
         | 
     ||||
| set
        
        boolean
         | 
      
       
  | 
      
        
        Set archive file information.
         | 
     ||||
| world_readable
        
        boolean
         | 
      
       
  | 
      
        
        Allow any user to read the log file.
         | 
     ||||
| console
        
        dictionary
         | 
      
        
        Set console logging parameters.
         | 
     |||||
| any
        
        dictionary
         | 
      
        
        Set All facilities.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| authorization
        
        dictionary
         | 
      
        
        Specify authorization system.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| change_log
        
        dictionary
         | 
      
        
        Specify configuration change log.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| conflict_log
        
        dictionary
         | 
      
        
        Specify configuration conflict log.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| daemon
        
        dictionary
         | 
      
        
        Specify various system processes.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| dfc
        
        dictionary
         | 
      
        
        Specify dynamic flow capture.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| external
        
        dictionary
         | 
      
        
        Specify Local external applications.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| firewall
        
        dictionary
         | 
      
        
        Specify Firewall filtering system.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| ftp
        
        dictionary
         | 
      
        
        Specify FTP process.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| interactive_commands
        
        dictionary
         | 
      
        
        Specify commands executed by the UI.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| kernel
        
        dictionary
         | 
      
        
        Specify Kernel specific logging.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| ntp
        
        dictionary
         | 
      
        
        Specify NTP process specific logging.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| pfe
        
        dictionary
         | 
      
        
        Specify Packet Forwarding Engine specific logging.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| security
        
        dictionary
         | 
      
        
        Specify Security related logging.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| user
        
        dictionary
         | 
      
        
        Specify user specific logging.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| files
        
        list / elements=dictionary
         | 
      
        
        Specify files logging.
         | 
     |||||
| allow_duplicates
        
        boolean
         | 
      
       
  | 
      
        
        Do not suppress the repeated message for all targets.
         | 
     ||||
| any
        
        dictionary
         | 
      
        
        Set All facilities.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| archive
        
        dictionary
         | 
      
        
        Specify archive file information.
         | 
     |||||
| archive_sites
        
        list / elements=string
         | 
      
        
        Specify Primary and failover URLs to receive archive facilities.
         | 
     |||||
| binary_data
        
        boolean
         | 
      
       
  | 
      
        
        Mark file as if it contains binary data.
         | 
     ||||
| file_size
        
        integer
         | 
      
        
        Size of files to be archived (65536..1073741824 bytes).
         | 
     |||||
| files
        
        integer
         | 
      
        
        Specify number of files to be archived (1..1000).
         | 
     |||||
| no_binary_data
        
        boolean
         | 
      
       
  | 
      
        
        Don't mark file as if it contains binary data.
         | 
     ||||
| no_world_readable
        
        boolean
         | 
      
       
  | 
      
        
        Don't allow any user to read the log file.
         | 
     ||||
| set
        
        boolean
         | 
      
       
  | 
      
        
        Set archive file information.
         | 
     ||||
| start_time
        
        string
         | 
      
        
        Specify start time for file transmission (yyyy-mm-dd.hh:mm).
         | 
     |||||
| transfer_interval
        
        integer
         | 
      
        
        Specify frequency at which to transfer files to archive sites (5..2880 minutes).
         | 
     |||||
| world_readable
        
        boolean
         | 
      
       
  | 
      
        
        Allow any user to read the log file.
         | 
     ||||
| authorization
        
        dictionary
         | 
      
        
        Specify authorization system.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| change_log
        
        dictionary
         | 
      
        
        Specify configuration change log.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| conflict_log
        
        dictionary
         | 
      
        
        Specify configuration conflict log.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| daemon
        
        dictionary
         | 
      
        
        Specify various system processes.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| dfc
        
        dictionary
         | 
      
        
        Specify dynamic flow capture.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| explicit_priority
        
        boolean
         | 
      
       
  | 
      
        
        Include priority and facility in messages.
         | 
     ||||
| external
        
        dictionary
         | 
      
        
        Specify Local external applications.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| firewall
        
        dictionary
         | 
      
        
        Specify Firewall filtering system.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| ftp
        
        dictionary
         | 
      
        
        Specify FTP process.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| interactive_commands
        
        dictionary
         | 
      
        
        Specify commands executed by the UI.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| kernel
        
        dictionary
         | 
      
        
        Specify Kernel specific logging.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| match
        
        string
         | 
      
        
        Specify regular expression for lines to be logged.
         | 
     |||||
| match_strings
        
        list / elements=string
         | 
      
        
        Specify matching string(s) for lines to be logged.
         | 
     |||||
| name
        
        string
         | 
      
        
        Specify filename in which to log data.
         | 
     |||||
| ntp
        
        dictionary
         | 
      
        
        Specify NTP process specific logging.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| pfe
        
        dictionary
         | 
      
        
        Specify Packet Forwarding Engine specific logging.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| security
        
        dictionary
         | 
      
        
        Specify Security related logging.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| structured_data
        
        dictionary
         | 
      
        
        Specify Log system message in structured format.
         | 
     |||||
| brief
        
        boolean
         | 
      
       
  | 
      
        
        Omit English-language text from end of logged messages.
         | 
     ||||
| set
        
        boolean
         | 
      
       
  | 
      
        
        Set Log system message in structured format.
         | 
     ||||
| user
        
        dictionary
         | 
      
        
        Specify user specific logging.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| hosts
        
        list / elements=dictionary
         | 
      
        
        Specify hosts to be notified.
         | 
     |||||
| allow_duplicates
        
        boolean
         | 
      
       
  | 
      
        
        Do not suppress the repeated message for all targets.
         | 
     ||||
| any
        
        dictionary
         | 
      
        
        Set All facilities.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| authorization
        
        dictionary
         | 
      
        
        Specify authorization system.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| change_log
        
        dictionary
         | 
      
        
        Specify configuration change log.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| conflict_log
        
        dictionary
         | 
      
        
        Specify configuration conflict log.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| daemon
        
        dictionary
         | 
      
        
        Specify various system processes.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| dfc
        
        dictionary
         | 
      
        
        Specify dynamic flow capture.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| exclude_hostname
        
        boolean
         | 
      
       
  | 
      
        
        Specify exclude hostname field in messages.
         | 
     ||||
| explicit_priority
        
        boolean
         | 
      
       
  | 
      
        
        Include priority and facility in messages.
         | 
     ||||
| external
        
        dictionary
         | 
      
        
        Specify Local external applications.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| facility_override
        
        string
         | 
      
        
        Specify alternate facility for logging to remote host.
         | 
     |||||
| firewall
        
        dictionary
         | 
      
        
        Specify Firewall filtering system.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| ftp
        
        dictionary
         | 
      
        
        Specify FTP process.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| interactive_commands
        
        dictionary
         | 
      
        
        Specify commands executed by the UI.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| kernel
        
        dictionary
         | 
      
        
        Specify Kernel specific logging.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| log_prefix
        
        string
         | 
      
        
        Prefix for all logging to this host.
         | 
     |||||
| match
        
        string
         | 
      
        
        Specify regular expression for lines to be logged.
         | 
     |||||
| match_strings
        
        list / elements=string
         | 
      
        
        Specify matching string(s) for lines to be logged.
         | 
     |||||
| name
        
        string
         | 
      
        
        Specify the host name.
         | 
     |||||
| ntp
        
        dictionary
         | 
      
        
        Specify NTP process specific logging.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| pfe
        
        dictionary
         | 
      
        
        Specify Packet Forwarding Engine specific logging.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| port
        
        integer
         | 
      
        
        Specify port number.
         | 
     |||||
| routing_instance
        
        string
         | 
      
        
        Specify routing-instance.
         | 
     |||||
| security
        
        dictionary
         | 
      
        
        Specify Security related logging.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| source_address
        
        string
         | 
      
        
        Specify address as source address.
         | 
     |||||
| structured_data
        
        dictionary
         | 
      
        
        Specify Log system message in structured format.
         | 
     |||||
| brief
        
        boolean
         | 
      
       
  | 
      
        
        Omit English-language text from end of logged messages.
         | 
     ||||
| set
        
        boolean
         | 
      
       
  | 
      
        
        Set Log system message in structured format.
         | 
     ||||
| user
        
        dictionary
         | 
      
        
        Specify user specific logging.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| log_rotate_frequency
        
        integer
         | 
      
        
        Specify Rotate log frequency (1..59 minutes).
         | 
     |||||
| routing_instance
        
        string
         | 
      
        
        Specify Routing routing-instance.
         | 
     |||||
| server
        
        dictionary
         | 
      
        
        Specify syslog server logging.
         | 
     |||||
| routing_instance
        
        dictionary
         | 
      
        
        nable/disable syslog server in routing-instances.
         | 
     |||||
| all
        
        boolean
         | 
      
       
  | 
      
        
        Enable/disable all routing instances.
         | 
     ||||
| default
        
        boolean
         | 
      
       
  | 
      
        
        Enable/disable default routing instances.
         | 
     ||||
| routing_instances
        
        list / elements=dictionary
         | 
      
        
        Specify routing-instances.
         | 
     |||||
| disable
        
        boolean
         | 
      
       
  | 
      
        
        Disable syslog server in this routing instances.
         | 
     ||||
| name
        
        string
         | 
      
        
        Specify routing-instance name.
         | 
     |||||
| set
        
        boolean
         | 
      
       
  | 
      
        
        Enable syslog server.
         | 
     ||||
| source_address
        
        string
         | 
      
        
        Specify address as source address.
         | 
     |||||
| time_format
        
        dictionary
         | 
      
        
        Specify additional information to include in system log timestamp.
         | 
     |||||
| millisecond
        
        boolean
         | 
      
       
  | 
      
        
        Include milliseconds in timestamp.
         | 
     ||||
| set
        
        boolean
         | 
      
       
  | 
      
        
        Set time-format
         | 
     ||||
| year
        
        boolean
         | 
      
       
  | 
      
        
        Include year in timestamp.
         | 
     ||||
| users
        
        list / elements=dictionary
         | 
      
        
        Specify user logging
         | 
     |||||
| allow_duplicates
        
        boolean
         | 
      
       
  | 
      
        
        Do not suppress the repeated message for all targets.
         | 
     ||||
| any
        
        dictionary
         | 
      
        
        Set All facilities.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| authorization
        
        dictionary
         | 
      
        
        Specify authorization system.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| change_log
        
        dictionary
         | 
      
        
        Specify configuration change log.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| conflict_log
        
        dictionary
         | 
      
        
        Specify configuration conflict log.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| daemon
        
        dictionary
         | 
      
        
        Specify various system processes.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| dfc
        
        dictionary
         | 
      
        
        Specify dynamic flow capture.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| external
        
        dictionary
         | 
      
        
        Specify Local external applications.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| firewall
        
        dictionary
         | 
      
        
        Specify Firewall filtering system.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| ftp
        
        dictionary
         | 
      
        
        Specify FTP process.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| interactive_commands
        
        dictionary
         | 
      
        
        Specify commands executed by the UI.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| kernel
        
        dictionary
         | 
      
        
        Specify Kernel specific logging.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| match
        
        string
         | 
      
        
        Specify regular expression for lines to be logged.
         | 
     |||||
| match_strings
        
        list / elements=string
         | 
      
        
        Specify matching string(s) for lines to be logged.
         | 
     |||||
| name
        
        string
         | 
      
        
        Specify user name.
         | 
     |||||
| ntp
        
        dictionary
         | 
      
        
        Specify NTP process specific logging.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| pfe
        
        dictionary
         | 
      
        
        Specify Packet Forwarding Engine specific logging.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| security
        
        dictionary
         | 
      
        
        Specify Security related logging.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| user
        
        dictionary
         | 
      
        
        Specify user specific logging.
         | 
     |||||
| level
        
        string / required
         | 
      
       
  | 
      
        
        Set severity logging level.
         | 
     ||||
| running_config
        
        string
         | 
      
        
        This option is used only with state parsed.
        
       
        The value of this option should be the output received from the Junos device by executing the command show system syslog.
        
       
        The state parsed reads the configuration from  running_config option and transforms it into Ansible structured data as per the resource module's argspec and the value is then returned in the parsed key within the result.
        | 
     |||||
| state
        
        string
         | 
      
       
  | 
      
        
        The state the configuration should be left in.
        
       
        Refer to examples for more details.
         | 
     ||||
Notes
Note
- This module requires the netconf system service be enabled on the device being managed.
 - This module works with connection 
netconf. - See the Junos OS Platform Options.
 - Tested against JunOS v18.4R1
 
Examples
# Using merged
#
# Before state
# ------------
#
# vagrant@vsrx# show system syslog
#
# [edit]
# vagrant@vsrx# show routing-instances
# inst11 {
#     description inst11;
# }
- name: Merge provided logging configuration into running configuration.
  junipernetworks.junos.junos_logging_global:
    config:
      allow_duplicates: true
      archive:
        set: true
        no_binary_data: true
        files: 10
        file_size: 65578
        no_world_readable: true
      console:
        any:
          level: "info"
        authorization:
          level: "any"
        change_log:
          level: "critical"
        ftp:
          level: "none"
      files:
        - name: "file101"
          allow_duplicates: true
        - name: "file102"
          allow_duplicates: true
          any:
            level: "any"
          structured_data:
            set: true
        - name: "file103"
          archive:
            set: true
            no_binary_data: true
            files: 10
            file_size: 65578
            no_world_readable: true
          explicit_priority: true
          match: "^set*"
          match_strings:
            - "^delete"
            - "^prompt"
      hosts:
        - name: host111
          exclude_hostname: true
          allow_duplicates: true
          any:
            level: "any"
          structured_data:
            set: true
            brief: true
          facility_override: "ftp"
          log_prefix: "field"
          match: "^set*"
          match_strings:
            - "^delete"
            - "^prompt"
          port: 1231
          routing_instance: "inst11"
          source_address: "11.1.1.11"
      routing_instance: "inst11"
      log_rotate_frequency: 45
      source_address: "33.33.33.33"
      time_format:
        millisecond: true
        year: true
      users:
        - name: "user1"
          allow_duplicates: true
        - name: "user2"
          allow_duplicates: true
          any:
            level: "any"
          user:
            level: info
    state: merged
#
# -------------------------
# Module Execution Result
# -------------------------
#     "after": {
#         "allow_duplicates": true,
#         "archive": {
#             "file_size": 65578,
#             "files": 10,
#             "no_binary_data": true,
#             "no_world_readable": true
#         },
#         "console": {
#             "any": {
#                 "level": "info"
#             },
#             "authorization": {
#                 "level": "any"
#             },
#             "change_log": {
#                 "level": "critical"
#             },
#             "ftp": {
#                 "level": "none"
#             }
#         },
#         "files": [
#             {
#                 "allow_duplicates": true,
#                 "name": "file101"
#             },
#             {
#                 "allow_duplicates": true,
#                 "any": {
#                     "level": "any"
#                 },
#                 "name": "file102",
#                 "structured_data": {
#                     "set": true
#                 }
#             },
#             {
#                 "archive": {
#                     "file_size": 65578,
#                     "files": 10,
#                     "no_binary_data": true,
#                     "no_world_readable": true
#                 },
#                 "explicit_priority": true,
#                 "match": "^set*",
#                 "match_strings": [
#                     "^delete",
#                     "^prompt"
#                 ],
#                 "name": "file103"
#             }
#         ],
#         "hosts": [
#             {
#                 "allow_duplicates": true,
#                 "any": {
#                     "level": "any"
#                 },
#                 "exclude_hostname": true,
#                 "facility_override": "ftp",
#                 "log_prefix": "field",
#                 "match": "^set*",
#                 "match_strings": [
#                     "^delete",
#                     "^prompt"
#                 ],
#                 "name": "host111",
#                 "port": 1231,
#                 "routing_instance": "inst11",
#                 "source_address": "11.1.1.11",
#                 "structured_data": {
#                     "brief": true
#                 }
#             }
#         ],
#         "log_rotate_frequency": 45,
#         "routing_instance": "inst11",
#         "source_address": "33.33.33.33",
#         "time_format": {
#             "millisecond": true,
#             "year": true
#         },
#         "users": [
#             {
#                 "allow_duplicates": true,
#                 "name": "user1"
#             },
#             {
#                 "allow_duplicates": true,
#                 "any": {
#                     "level": "any"
#                 },
#                 "name": "user2",
#                 "user": {
#                     "level": "info"
#                 }
#             }
#         ]
#     },
#     "before": {},
#     "changed": true,
#     "commands": [
#         "<nc:system xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">"
#         "<nc:syslog><nc:allow-duplicates/><nc:archive><nc:files>10</nc:files>"
#         "<nc:no-binary-data/><nc:size>65578</nc:size><nc:no-world-readable/></nc:archive>"
#         "<nc:console><nc:name>change-log</nc:name><nc:critical/></nc:console><nc:console>"
#         "<nc:name>any</nc:name><nc:info/></nc:console><nc:console><nc:name>authorization</nc:name>"
#         "<nc:any/></nc:console><nc:console><nc:name>ftp</nc:name><nc:none/></nc:console><nc:file>"
#         "<nc:name>file101</nc:name><nc:allow-duplicates/></nc:file><nc:file><nc:name>file102</nc:name>"
#         "<nc:allow-duplicates/><nc:contents><nc:name>any</nc:name><nc:any/></nc:contents><nc:structured-data/>"
#         "</nc:file><nc:file><nc:name>file103</nc:name><nc:archive><nc:files>10</nc:files><nc:no-binary-data/>"
#         "<nc:size>65578</nc:size><nc:no-world-readable/></nc:archive><nc:explicit-priority/>"
#         "<nc:match>^set*</nc:match><nc:match-strings>^delete</nc:match-strings>"
#         "<nc:match-strings>^prompt</nc:match-strings></nc:file><nc:host><nc:name>host111</nc:name>"
#         "<nc:allow-duplicates/><nc:contents><nc:name>any</nc:name><nc:any/></nc:contents>"
#         "<nc:exclude-hostname/><nc:facility-override>ftp</nc:facility-override>"
#         "<nc:log-prefix>field</nc:log-prefix><nc:match>^set*</nc:match><nc:match-strings>^delete</nc:match-strings>"
#         "<nc:match-strings>^prompt</nc:match-strings><nc:port>1231</nc:port>"
#         "<nc:routing-instance>inst11</nc:routing-instance><nc:source-address>11.1.1.11</nc:source-address>"
#         "<nc:structured-data><nc:brief/></nc:structured-data></nc:host>"
#         "<nc:log-rotate-frequency>45</nc:log-rotate-frequency><nc:routing-instance>inst11</nc:routing-instance>"
#         "<nc:source-address>33.33.33.33</nc:source-address><nc:time-format><nc:millisecond/>"
#         "<nc:year/></nc:time-format><nc:user><nc:name>user1</nc:name><nc:allow-duplicates/></nc:user>"
#         "<nc:user><nc:name>user2</nc:name><nc:allow-duplicates/><nc:contents><nc:name>any</nc:name><nc:any/>"
#         "</nc:contents><nc:contents><nc:name>user</nc:name><nc:info/></nc:contents></nc:user></nc:syslog></nc:system>"
#     ]
# After state
# -----------
#
# vagrant@vsrx# show system syslog
# archive size 65578 files 10 no-world-readable no-binary-data;
# user user1 {
#     allow-duplicates;
# }
# user user2 {
#     any any;
#     user info;
#     allow-duplicates;
# }
# host host111 {
#     any any;
#     match "^set*";
#     allow-duplicates;
#     port 1231;
#     facility-override ftp;
#     log-prefix field;
#     source-address 11.1.1.11;
#     routing-instance inst11;
#     exclude-hostname;
#     match-strings [ "^delete" "^prompt" ];
#     structured-data {
#         brief;
#     }
# }
# allow-duplicates;
# file file101 {
#     allow-duplicates;
# }
# file file102 {
#     any any;
#     allow-duplicates;
#     structured-data;
# }
# file file103 {
#     match "^set*";
#     archive size 65578 files 10 no-world-readable no-binary-data;
#     explicit-priority;
#     match-strings [ "^delete" "^prompt" ];
# }
# console {
#     any info;
#     authorization any;
#     ftp none;
#     change-log critical;
# }
# time-format year millisecond;
# source-address 33.33.33.33;
# routing-instance inst11;
# log-rotate-frequency 45;
# Using replaced
#
# Before state
# ------------
#
# vagrant@vsrx# show system syslog
# archive size 65578 files 10 no-world-readable no-binary-data;
# user user1 {
#     allow-duplicates;
# }
# user user2 {
#     any any;
#     user info;
#     allow-duplicates;
# }
# host host111 {
#     any any;
#     match "^set*";
#     allow-duplicates;
#     port 1231;
#     facility-override ftp;
#     log-prefix field;
#     source-address 11.1.1.11;
#     routing-instance inst11;
#     exclude-hostname;
#     match-strings [ "^delete" "^prompt" ];
#     structured-data {
#         brief;
#     }
# }
# allow-duplicates;
# file file101 {
#     allow-duplicates;
# }
# file file102 {
#     any any;
#     allow-duplicates;
#     structured-data;
# }
# file file103 {
#     match "^set*";
#     archive size 65578 files 10 no-world-readable no-binary-data;
#     explicit-priority;
#     match-strings [ "^delete" "^prompt" ];
# }
# console {
#     any info;
#     authorization any;
#     ftp none;
#     change-log critical;
# }
# time-format year millisecond;
# source-address 33.33.33.33;
# routing-instance inst11;
# log-rotate-frequency 45;
- name: Replaced running logging global configuration with provided configuration
  junipernetworks.junos.junos_logging_global:
    config:
      files:
        - name: "file104"
          allow_duplicates: true
        - name: "file102"
          allow_duplicates: true
          any:
            level: "any"
          structured_data:
            set: true
      hosts:
        - name: host222
          exclude_hostname: true
          allow_duplicates: true
          any:
            level: "any"
          structured_data:
            set: true
            brief: true
          facility_override: "ftp"
          log_prefix: "field"
          match: "^set*"
          match_strings:
            - "^delete"
            - "^prompt"
          port: 1231
          routing_instance: "inst11"
          source_address: "11.1.1.11"
      users:
        - name: "user1"
          allow_duplicates: true
        - name: "user2"
          allow_duplicates: true
          any:
            level: "any"
          user:
            level: info
    state: replaced
#
# -------------------------
# Module Execution Result
# -------------------------
#     "after": {
#         "files": [
#             {
#                 "allow_duplicates": true,
#                 "name": "file104"
#             },
#             {
#                 "allow_duplicates": true,
#                 "any": {
#                     "level": "any"
#                 },
#                 "name": "file102",
#                 "structured_data": {
#                     "set": true
#                 }
#             }
#         ],
#         "hosts": [
#             {
#                 "allow_duplicates": true,
#                 "any": {
#                     "level": "any"
#                 },
#                 "exclude_hostname": true,
#                 "facility_override": "ftp",
#                 "log_prefix": "field",
#                 "match": "^set*",
#                 "match_strings": [
#                     "^delete",
#                     "^prompt"
#                 ],
#                 "name": "host222",
#                 "port": 1231,
#                 "routing_instance": "inst11",
#                 "source_address": "11.1.1.11",
#                 "structured_data": {
#                     "brief": true
#                 }
#             }
#         ],
#         "users": [
#             {
#                 "allow_duplicates": true,
#                 "name": "user1"
#             },
#             {
#                 "allow_duplicates": true,
#                 "any": {
#                     "level": "any"
#                 },
#                 "name": "user2",
#                 "user": {
#                     "level": "info"
#                 }
#             }
#         ]
#     },
#     "before": {
#         "allow_duplicates": true,
#         "archive": {
#             "file_size": 65578,
#             "files": 10,
#             "no_binary_data": true,
#             "no_world_readable": true
#         },
#         "console": {
#             "any": {
#                 "level": "info"
#             },
#             "authorization": {
#                 "level": "any"
#             },
#             "change_log": {
#                 "level": "critical"
#             },
#             "ftp": {
#                 "level": "none"
#             }
#         },
#         "files": [
#             {
#                 "allow_duplicates": true,
#                 "name": "file101"
#             },
#             {
#                 "allow_duplicates": true,
#                 "any": {
#                     "level": "any"
#                 },
#                 "name": "file102",
#                 "structured_data": {
#                     "set": true
#                 }
#             },
#             {
#                 "archive": {
#                     "file_size": 65578,
#                     "files": 10,
#                     "no_binary_data": true,
#                     "no_world_readable": true
#                 },
#                 "explicit_priority": true,
#                 "match": "^set*",
#                 "match_strings": [
#                     "^delete",
#                     "^prompt"
#                 ],
#                 "name": "file103"
#             }
#         ],
#         "hosts": [
#             {
#                 "allow_duplicates": true,
#                 "any": {
#                     "level": "any"
#                 },
#                 "exclude_hostname": true,
#                 "facility_override": "ftp",
#                 "log_prefix": "field",
#                 "match": "^set*",
#                 "match_strings": [
#                     "^delete",
#                     "^prompt"
#                 ],
#                 "name": "host111",
#                 "port": 1231,
#                 "routing_instance": "inst11",
#                 "source_address": "11.1.1.11",
#                 "structured_data": {
#                     "brief": true
#                 }
#             }
#         ],
#         "log_rotate_frequency": 45,
#         "routing_instance": "inst11",
#         "source_address": "33.33.33.33",
#         "time_format": {
#             "millisecond": true,
#             "year": true
#         },
#         "users": [
#             {
#                 "allow_duplicates": true,
#                 "name": "user1"
#             },
#             {
#                 "allow_duplicates": true,
#                 "any": {
#                     "level": "any"
#                 },
#                 "name": "user2",
#                 "user": {
#                     "level": "info"
#                 }
#             }
#         ]
#     },
#     "changed": true,
#     "commands": [
#             "<nc:system xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">"
#             "<nc:syslog delete="delete"/><nc:syslog><nc:file><nc:name>file104</nc:name>"
#             "<nc:allow-duplicates/></nc:file><nc:file><nc:name>file102</nc:name><nc:allow-duplicates/>"
#             "<nc:contents><nc:name>any</nc:name><nc:any/></nc:contents><nc:structured-data/></nc:file>"
#             "<nc:host><nc:name>host222</nc:name><nc:allow-duplicates/><nc:contents><nc:name>any</nc:name>"
#             "<nc:any/></nc:contents><nc:exclude-hostname/><nc:facility-override>ftp</nc:facility-override>"
#             "<nc:log-prefix>field</nc:log-prefix><nc:match>^set*</nc:match>"
#             "<nc:match-strings>^delete</nc:match-strings>"
#             "<nc:match-strings>^prompt</nc:match-strings><nc:port>1231</nc:port>"
#             "<nc:routing-instance>inst11</nc:routing-instance><nc:source-address>11.1.1.11</nc:source-address>"
#             "<nc:structured-data><nc:brief/></nc:structured-data></nc:host><nc:user><nc:name>user1</nc:name>"
#             "<nc:allow-duplicates/></nc:user><nc:user><nc:name>user2</nc:name><nc:allow-duplicates/><nc:contents>"
#             "<nc:name>any</nc:name><nc:any/></nc:contents>"
#             "<nc:contents><nc:name>user</nc:name><nc:info/></nc:contents></nc:user></nc:syslog></nc:system>"
#     ]
# After state
# -----------
#
# vagrant@vsrx# show system syslog
# user user1 {
#     allow-duplicates;
# }
# user user2 {
#     any any;
#     user info;
#     allow-duplicates;
# }
# host host222 {
#     any any;
#     match "^set*";
#     allow-duplicates;
#     port 1231;
#     facility-override ftp;
#     log-prefix field;
#     source-address 11.1.1.11;
#     routing-instance inst11;
#     exclude-hostname;
#     match-strings [ "^delete" "^prompt" ];
#     structured-data {
#         brief;
#     }
# }
# file file104 {
#     allow-duplicates;
# }
# file file102 {
#     any any;
#     allow-duplicates;
#     structured-data;
# }
# Using overridden
#
# Before state
# ------------
#
# vagrant@vsrx# show system syslog
# archive size 65578 files 10 no-world-readable no-binary-data;
# user user1 {
#     allow-duplicates;
# }
# user user2 {
#     any any;
#     user info;
#     allow-duplicates;
# }
# host host111 {
#     any any;
#     match "^set*";
#     allow-duplicates;
#     port 1231;
#     facility-override ftp;
#     log-prefix field;
#     source-address 11.1.1.11;
#     routing-instance inst11;
#     exclude-hostname;
#     match-strings [ "^delete" "^prompt" ];
#     structured-data {
#         brief;
#     }
# }
# allow-duplicates;
# file file101 {
#     allow-duplicates;
# }
# file file102 {
#     any any;
#     allow-duplicates;
#     structured-data;
# }
# file file103 {
#     match "^set*";
#     archive size 65578 files 10 no-world-readable no-binary-data;
#     explicit-priority;
#     match-strings [ "^delete" "^prompt" ];
# }
# console {
#     any info;
#     authorization any;
#     ftp none;
#     change-log critical;
# }
# time-format year millisecond;
# source-address 33.33.33.33;
# routing-instance inst11;
# log-rotate-frequency 45;
- name: Override running logging global configuration with provided configuration
  junipernetworks.junos.junos_logging_global:
    config:
      files:
        - name: "file104"
          allow_duplicates: true
        - name: "file102"
          allow_duplicates: true
          any:
            level: "any"
          structured_data:
            set: true
      hosts:
        - name: host222
          exclude_hostname: true
          allow_duplicates: true
          any:
            level: "any"
          structured_data:
            set: true
            brief: true
          facility_override: "ftp"
          log_prefix: "field"
          match: "^set*"
          match_strings:
            - "^delete"
            - "^prompt"
          port: 1231
          routing_instance: "inst11"
          source_address: "11.1.1.11"
      users:
        - name: "user1"
          allow_duplicates: true
        - name: "user2"
          allow_duplicates: true
          any:
            level: "any"
          user:
            level: info
    state: overridden
#
# -------------------------
# Module Execution Result
# -------------------------
#     "after": {
#         "files": [
#             {
#                 "allow_duplicates": true,
#                 "name": "file104"
#             },
#             {
#                 "allow_duplicates": true,
#                 "any": {
#                     "level": "any"
#                 },
#                 "name": "file102",
#                 "structured_data": {
#                     "set": true
#                 }
#             }
#         ],
#         "hosts": [
#             {
#                 "allow_duplicates": true,
#                 "any": {
#                     "level": "any"
#                 },
#                 "exclude_hostname": true,
#                 "facility_override": "ftp",
#                 "log_prefix": "field",
#                 "match": "^set*",
#                 "match_strings": [
#                     "^delete",
#                     "^prompt"
#                 ],
#                 "name": "host222",
#                 "port": 1231,
#                 "routing_instance": "inst11",
#                 "source_address": "11.1.1.11",
#                 "structured_data": {
#                     "brief": true
#                 }
#             }
#         ],
#         "users": [
#             {
#                 "allow_duplicates": true,
#                 "name": "user1"
#             },
#             {
#                 "allow_duplicates": true,
#                 "any": {
#                     "level": "any"
#                 },
#                 "name": "user2",
#                 "user": {
#                     "level": "info"
#                 }
#             }
#         ]
#     },
#     "before": {
#         "allow_duplicates": true,
#         "archive": {
#             "file_size": 65578,
#             "files": 10,
#             "no_binary_data": true,
#             "no_world_readable": true
#         },
#         "console": {
#             "any": {
#                 "level": "info"
#             },
#             "authorization": {
#                 "level": "any"
#             },
#             "change_log": {
#                 "level": "critical"
#             },
#             "ftp": {
#                 "level": "none"
#             }
#         },
#         "files": [
#             {
#                 "allow_duplicates": true,
#                 "name": "file101"
#             },
#             {
#                 "allow_duplicates": true,
#                 "any": {
#                     "level": "any"
#                 },
#                 "name": "file102",
#                 "structured_data": {
#                     "set": true
#                 }
#             },
#             {
#                 "archive": {
#                     "file_size": 65578,
#                     "files": 10,
#                     "no_binary_data": true,
#                     "no_world_readable": true
#                 },
#                 "explicit_priority": true,
#                 "match": "^set*",
#                 "match_strings": [
#                     "^delete",
#                     "^prompt"
#                 ],
#                 "name": "file103"
#             }
#         ],
#         "hosts": [
#             {
#                 "allow_duplicates": true,
#                 "any": {
#                     "level": "any"
#                 },
#                 "exclude_hostname": true,
#                 "facility_override": "ftp",
#                 "log_prefix": "field",
#                 "match": "^set*",
#                 "match_strings": [
#                     "^delete",
#                     "^prompt"
#                 ],
#                 "name": "host111",
#                 "port": 1231,
#                 "routing_instance": "inst11",
#                 "source_address": "11.1.1.11",
#                 "structured_data": {
#                     "brief": true
#                 }
#             }
#         ],
#         "log_rotate_frequency": 45,
#         "routing_instance": "inst11",
#         "source_address": "33.33.33.33",
#         "time_format": {
#             "millisecond": true,
#             "year": true
#         },
#         "users": [
#             {
#                 "allow_duplicates": true,
#                 "name": "user1"
#             },
#             {
#                 "allow_duplicates": true,
#                 "any": {
#                     "level": "any"
#                 },
#                 "name": "user2",
#                 "user": {
#                     "level": "info"
#                 }
#             }
#         ]
#     },
#     "changed": true,
#     "commands": [
#             "<nc:system xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">"
#             "<nc:syslog delete="delete"/><nc:syslog><nc:file><nc:name>file104</nc:name>"
#             "<nc:allow-duplicates/></nc:file><nc:file><nc:name>file102</nc:name><nc:allow-duplicates/>"
#             "<nc:contents><nc:name>any</nc:name><nc:any/></nc:contents><nc:structured-data/></nc:file>"
#             "<nc:host><nc:name>host222</nc:name><nc:allow-duplicates/><nc:contents><nc:name>any</nc:name>"
#             "<nc:any/></nc:contents><nc:exclude-hostname/><nc:facility-override>ftp</nc:facility-override>"
#             "<nc:log-prefix>field</nc:log-prefix><nc:match>^set*</nc:match>"
#             "<nc:match-strings>^delete</nc:match-strings>"
#             "<nc:match-strings>^prompt</nc:match-strings><nc:port>1231</nc:port>"
#             "<nc:routing-instance>inst11</nc:routing-instance><nc:source-address>11.1.1.11</nc:source-address>"
#             "<nc:structured-data><nc:brief/></nc:structured-data></nc:host><nc:user><nc:name>user1</nc:name>"
#             "<nc:allow-duplicates/></nc:user><nc:user><nc:name>user2</nc:name><nc:allow-duplicates/><nc:contents>"
#             "<nc:name>any</nc:name><nc:any/></nc:contents>"
#             "<nc:contents><nc:name>user</nc:name><nc:info/></nc:contents></nc:user></nc:syslog></nc:system>"
#     ]
# After state
# -----------
#
# vagrant@vsrx# show system syslog
# user user1 {
#     allow-duplicates;
# }
# user user2 {
#     any any;
#     user info;
#     allow-duplicates;
# }
# host host222 {
#     any any;
#     match "^set*";
#     allow-duplicates;
#     port 1231;
#     facility-override ftp;
#     log-prefix field;
#     source-address 11.1.1.11;
#     routing-instance inst11;
#     exclude-hostname;
#     match-strings [ "^delete" "^prompt" ];
#     structured-data {
#         brief;
#     }
# }
# file file104 {
#     allow-duplicates;
# }
# file file102 {
#     any any;
#     allow-duplicates;
#     structured-data;
# }
# Using deleted
#
# Before state
# ------------
#
# vagrant@vsrx# show system syslog
# user user1 {
#     allow-duplicates;
# }
# user user2 {
#     any any;
#     user info;
#     allow-duplicates;
# }
# host host222 {
#     any any;
#     match "^set*";
#     allow-duplicates;
#     port 1231;
#     facility-override ftp;
#     log-prefix field;
#     source-address 11.1.1.11;
#     routing-instance inst11;
#     exclude-hostname;
#     match-strings [ "^delete" "^prompt" ];
#     structured-data {
#         brief;
#     }
# }
# file file104 {
#     allow-duplicates;
# }
# file file102 {
#     any any;
#     allow-duplicates;
#     structured-data;
# }
- name: Delete running logging global configuration
  junipernetworks.junos.junos_logging_global:
    config:
    state: deleted
#
# -------------------------
# Module Execution Result
# -------------------------
#     "after": {},
#     "before": {
#         "files": [
#             {
#                 "allow_duplicates": true,
#                 "name": "file104"
#             },
#             {
#                 "allow_duplicates": true,
#                 "any": {
#                     "level": "any"
#                 },
#                 "name": "file102",
#                 "structured_data": {
#                     "set": true
#                 }
#             }
#         ],
#         "hosts": [
#             {
#                 "allow_duplicates": true,
#                 "any": {
#                     "level": "any"
#                 },
#                 "exclude_hostname": true,
#                 "facility_override": "ftp",
#                 "log_prefix": "field",
#                 "match": "^set*",
#                 "match_strings": [
#                     "^delete",
#                     "^prompt"
#                 ],
#                 "name": "host222",
#                 "port": 1231,
#                 "routing_instance": "inst11",
#                 "source_address": "11.1.1.11",
#                 "structured_data": {
#                     "brief": true
#                 }
#             }
#         ],
#         "users": [
#             {
#                 "allow_duplicates": true,
#                 "name": "user1"
#             },
#             {
#                 "allow_duplicates": true,
#                 "any": {
#                     "level": "any"
#                 },
#                 "name": "user2",
#                 "user": {
#                     "level": "info"
#                 }
#             }
#         ]
#     },
#     "changed": true,
#     "commands": [
#               "<nc:system xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">"
#               "<nc:syslog delete="delete"/></nc:system>"
#     ]
# After state
# -----------
#
# vagrant@vsrx# show system syslog
#
# [edit]
# Using gathered
#
# Before state
# ------------
#
# vagrant@vsrx# show system syslog
# user user1 {
#     allow-duplicates;
# }
# user user2 {
#     any any;
#     user info;
#     allow-duplicates;
# }
# host host222 {
#     any any;
#     match "^set*";
#     allow-duplicates;
#     port 1231;
#     facility-override ftp;
#     log-prefix field;
#     source-address 11.1.1.11;
#     routing-instance inst11;
#     exclude-hostname;
#     match-strings [ "^delete" "^prompt" ];
#     structured-data {
#         brief;
#     }
# }
# file file104 {
#     allow-duplicates;
# }
# file file102 {
#     any any;
#     allow-duplicates;
#     structured-data;
# }
- name: Gather running logging global configuration
  junipernetworks.junos.junos_logging_global:
    state: gathered
#
# -------------------------
# Module Execution Result
# -------------------------
#     "gathered": {
#         "files": [
#             {
#                 "allow_duplicates": true,
#                 "name": "file104"
#             },
#             {
#                 "allow_duplicates": true,
#                 "any": {
#                     "level": "any"
#                 },
#                 "name": "file102",
#                 "structured_data": {
#                     "set": true
#                 }
#             }
#         ],
#         "hosts": [
#             {
#                 "allow_duplicates": true,
#                 "any": {
#                     "level": "any"
#                 },
#                 "exclude_hostname": true,
#                 "facility_override": "ftp",
#                 "log_prefix": "field",
#                 "match": "^set*",
#                 "match_strings": [
#                     "^delete",
#                     "^prompt"
#                 ],
#                 "name": "host222",
#                 "port": 1231,
#                 "routing_instance": "inst11",
#                 "source_address": "11.1.1.11",
#                 "structured_data": {
#                     "brief": true
#                 }
#             }
#         ],
#         "users": [
#             {
#                 "allow_duplicates": true,
#                 "name": "user1"
#             },
#             {
#                 "allow_duplicates": true,
#                 "any": {
#                     "level": "any"
#                 },
#                 "name": "user2",
#                 "user": {
#                     "level": "info"
#                 }
#             }
#         ]
#     },
#     "changed": false,
# Using rendered
#
# Before state
# ------------
#
- name: Render xml for provided facts.
  junipernetworks.junos.junos_logging_global:
    config:
      allow_duplicates: true
      archive:
        set: true
        no_binary_data: true
        files: 10
        file_size: 65578
        no_world_readable: true
      console:
        any:
          level: "info"
        authorization:
          level: "any"
        change_log:
          level: "critical"
        ftp:
          level: "none"
      files:
        - name: "file101"
          allow_duplicates: true
        - name: "file102"
          allow_duplicates: true
          any:
            level: "any"
          structured_data:
            set: true
        - name: "file103"
          archive:
            set: true
            no_binary_data: true
            files: 10
            file_size: 65578
            no_world_readable: true
          explicit_priority: true
          match: "^set*"
          match_strings:
            - "^delete"
            - "^prompt"
      hosts:
        - name: host111
          exclude_hostname: true
          allow_duplicates: true
          any:
            level: "any"
          structured_data:
            set: true
            brief: true
          facility_override: "ftp"
          log_prefix: "field"
          match: "^set*"
          match_strings:
            - "^delete"
            - "^prompt"
          port: 1231
          routing_instance: "inst11"
          source_address: "11.1.1.11"
      routing_instance: "inst11"
      log_rotate_frequency: 45
      source_address: "33.33.33.33"
      time_format:
        millisecond: true
        year: true
      users:
        - name: "user1"
          allow_duplicates: true
        - name: "user2"
          allow_duplicates: true
          any:
            level: "any"
          user:
            level: info
    state: rendered
#
# -------------------------
# Module Execution Result
# -------------------------
#     "rendered": [
#         "<nc:system xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">"
#         "<nc:syslog><nc:allow-duplicates/><nc:archive><nc:files>10</nc:files>"
#         "<nc:no-binary-data/><nc:size>65578</nc:size><nc:no-world-readable/></nc:archive>"
#         "<nc:console><nc:name>change-log</nc:name><nc:critical/></nc:console><nc:console>"
#         "<nc:name>any</nc:name><nc:info/></nc:console><nc:console><nc:name>authorization</nc:name>"
#         "<nc:any/></nc:console><nc:console><nc:name>ftp</nc:name><nc:none/></nc:console><nc:file>"
#         "<nc:name>file101</nc:name><nc:allow-duplicates/></nc:file><nc:file><nc:name>file102</nc:name>"
#         "<nc:allow-duplicates/><nc:contents><nc:name>any</nc:name><nc:any/></nc:contents><nc:structured-data/>"
#         "</nc:file><nc:file><nc:name>file103</nc:name><nc:archive><nc:files>10</nc:files><nc:no-binary-data/>"
#         "<nc:size>65578</nc:size><nc:no-world-readable/></nc:archive><nc:explicit-priority/>"
#         "<nc:match>^set*</nc:match><nc:match-strings>^delete</nc:match-strings>"
#         "<nc:match-strings>^prompt</nc:match-strings></nc:file><nc:host><nc:name>host111</nc:name>"
#         "<nc:allow-duplicates/><nc:contents><nc:name>any</nc:name><nc:any/></nc:contents>"
#         "<nc:exclude-hostname/><nc:facility-override>ftp</nc:facility-override>"
#         "<nc:log-prefix>field</nc:log-prefix><nc:match>^set*</nc:match><nc:match-strings>^delete</nc:match-strings>"
#         "<nc:match-strings>^prompt</nc:match-strings><nc:port>1231</nc:port>"
#         "<nc:routing-instance>inst11</nc:routing-instance><nc:source-address>11.1.1.11</nc:source-address>"
#         "<nc:structured-data><nc:brief/></nc:structured-data></nc:host>"
#         "<nc:log-rotate-frequency>45</nc:log-rotate-frequency><nc:routing-instance>inst11</nc:routing-instance>"
#         "<nc:source-address>33.33.33.33</nc:source-address><nc:time-format><nc:millisecond/>"
#         "<nc:year/></nc:time-format><nc:user><nc:name>user1</nc:name><nc:allow-duplicates/></nc:user>"
#         "<nc:user><nc:name>user2</nc:name><nc:allow-duplicates/><nc:contents><nc:name>any</nc:name><nc:any/>"
#         "</nc:contents><nc:contents><nc:name>user</nc:name><nc:info/></nc:contents></nc:user></nc:syslog></nc:system>"
#     ]
# Using parsed
# parsed.cfg
# ------------
# <?xml version="1.0" encoding="UTF-8"?>
# <rpc-reply message-id="urn:uuid:0cadb4e8-5bba-47f4-986e-72906227007f">
#     <configuration changed-seconds="1590139550" changed-localtime="2020-05-22 09:25:50 UTC">
#         <version>18.4R1-S2.4</version>
#         <system xmlns="http://yang.juniper.net/junos-es/conf/system">
#         <syslog>
#             <user>
#                 <name>*</name>
#                 <contents>
#                     <name>any</name>
#                     <emergency/>
#                 </contents>
#             </user>
#             <file>
#                 <name>messages</name>
#                 <contents>
#                     <name>any</name>
#                     <any/>
#                 </contents>
#                 <contents>
#                     <name>authorization</name>
#                     <info/>
#                 </contents>
#             </file>
#             <file>
#                 <name>interactive-commands</name>
#                 <contents>
#                     <name>interactive-commands</name>
#                     <any/>
#                 </contents>
#             </file>
#         </syslog>
#     </system>
#     </configuration>
# </rpc-reply>
- name: Parse logging global running config
  junipernetworks.junos.junos_routing_instances:
    running_config: "{{ lookup('file', './parsed.cfg') }}"
    state: parsed
#
#
# -------------------------
# Module Execution Result
# -------------------------
#
#
# "parsed":  {
#         "files": [
#             {
#                 "any": {
#                     "level": "any"
#                 },
#                 "authorization": {
#                     "level": "info"
#                 },
#                 "name": "messages"
#             },
#             {
#                 "interactive_commands": {
#                     "level": "any"
#                 },
#                 "name": "interactive-commands"
#             }
#         ],
#         "users": [
#             {
#                 "any": {
#                     "level": "emergency"
#                 },
#                 "name": "*"
#             }
#         ]
#     }
#
#
  Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description | 
|---|---|---|
| after
        
        dictionary
         | 
      when changed | 
        
        The resulting configuration model invocation.
         Sample:
        
       
        The configuration returned will always be in the same format of the parameters above.
         | 
     
| before
        
        dictionary
         | 
      always | 
        
        The configuration prior to the model invocation.
         Sample:
        
       
        The configuration returned will always be in the same format of the parameters above.
         | 
     
| commands
        
        list / elements=string
         | 
      always | 
        
        The set of commands pushed to the remote device.
         Sample:
        
       
        ['<nc:allow-duplicates/></nc:user><nc:user><nc:name>user2</nc:name> <nc:allow-duplicates/><nc:contents><nc:name>any</nc:name><nc:any/> </nc:contents><nc:contents><nc:name>user</nc:name><nc:info/></nc:contents> </nc:user></nc:syslog></nc:system>"', 'xml 2', 'xml 3']
         | 
     
Authors
- Rohit Thakur (@rohitthakur2590)
 
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
 https://docs.ansible.com/ansible/latest/collections/junipernetworks/junos/junos_logging_global_module.html