Spec-Zone.ru › Ansible

junipernetworks.junos.junos_logging_global модуль — Управление конфигурацией логирования на устройствах Junos.

Примечание

Этот модуль является частью коллекции junipernetworks.junos (версия 8.0.0).

Эта коллекция может быть уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.

Чтобы установить её, используйте: ansible-galaxy collection install junipernetworks.junos. Для использования этого модуля потребуются дополнительные зависимости, см. Требования для подробностей.

Чтобы использовать его в плейбуке, укажите: junipernetworks.junos.junos_logging_global.

Новое в junipernetworks.junos 2.4.0

  • Описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Описание

  • Этот модуль управляет конфигурацией логирования на устройствах, работающих под управлением Junos.

Псевдонимы: logging_global

Требования

Ниже перечислены требования к хосту, на котором выполняется этот модуль.

  • ncclient (>=v0.6.4)
  • xmltodict (>=0.12.0)

Параметры

Параметр

Комментарии

config

dictionary

Словарь конфигурации ведения журналов.

allow_duplicates

boolean

Не подавлять повторяющиеся сообщения для всех целей.

Варианты:

  • false
  • true

archive

dictionary

Укажите информацию о файле архива.

binary_data

boolean

Пометить файл, как если бы он содержал двоичные данные.

Варианты:

  • false
  • true

file_size

string

Размер архивируемых файлов (65536..1073741824 байт).

files

integer

Укажите количество архивируемых файлов (1..1000).

no_binary_data

boolean

Не помечать файл, как если бы он содержал двоичные данные.

Варианты:

  • false
  • true

no_world_readable

boolean

Не разрешать ни одному пользователю читать файл журнала.

Варианты:

  • false
  • true

set

boolean

Установить информацию о файле архива.

Варианты:

  • false
  • true

world_readable

boolean

Разрешить любому пользователю читать файл журнала.

Варианты:

  • false
  • true

console

dictionary

Установить параметры ведения журналов консоли.

any

dictionary

Установить все средства.

level

string / required

Установить уровень ведения журнала по степени серьезности.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

authorization

dictionary

Укажите систему авторизации.

level

string / required

Установить уровень ведения журнала по степени серьезности.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

change_log

dictionary

Укажите журнал изменений конфигурации.

level

string / required

Установить уровень ведения журнала по степени серьезности.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

conflict_log

dictionary

Укажите журнал конфликтов конфигурации.

level

string / required

Установить уровень ведения журнала по степени серьезности.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

daemon

dictionary

Укажите различные системные процессы.

level

string / required

Задать уровень ведения журнала событий.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

dfc

dictionary

Указать динамический захват потока.

level

string / required

Задать уровень ведения журнала событий.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

external

dictionary

Указать локальные внешние приложения.

level

string / required

Задать уровень ведения журнала событий.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

firewall

dictionary

Указать систему фильтрации брандмауэра.

level

string / required

Задать уровень ведения журнала событий.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

ftp

dictionary

Указать процесс FTP.

level

string / required

Задать уровень ведения журнала событий.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

interactive_commands

dictionary

Указать команды, выполняемые пользовательским интерфейсом.

level

string / required

Задать уровень ведения журнала событий.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

kernel

dictionary

Указать ведение журнала, специфичное для ядра.

level

string / required

Задать уровень ведения журнала событий.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

ntp

dictionary

Указать ведение журнала, специфичное для процесса NTP.

level

string / required

Задать уровень ведения журнала событий.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

pfe

dictionary

Указать ведение журнала, специфичное для механизма пересылки пакетов.

level

string / required

Задать уровень ведения журнала событий.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

security

dictionary

Укажите ведение журнала, связанное с безопасностью.

level

string / required

Установите уровень ведения журнала по степени серьезности.

Choices:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

user

dictionary

Укажите ведение журнала, специфичное для пользователя.

level

string / required

Установите уровень ведения журнала по степени серьезности.

Choices:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

files

list / elements=dictionary

Укажите ведение журнала в файлы.

allow_duplicates

boolean

Не подавляйте повторяющиеся сообщения для всех целей.

Choices:

  • false
  • true

any

dictionary

Установите все средства.

level

string / required

Установите уровень ведения журнала по степени серьезности.

Choices:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

archive

dictionary

Укажите информацию об архивном файле.

archive_sites

list / elements=string

Укажите основные и резервные URL-адреса для получения архивных данных.

binary_data

boolean

Пометить файл как содержащий двоичные данные.

Choices:

  • false
  • true

file_size

string

Размер архивируемых файлов (65536..1073741824 байт).

files

integer

Укажите количество архивируемых файлов (1..1000).

no_binary_data

boolean

Не помечайте файл как содержащий двоичные данные.

Choices:

  • false
  • true

no_world_readable

boolean

Не разрешайте ни одному пользователю читать файл журнала.

Choices:

  • false
  • true

set

boolean

Установите информацию об архивном файле.

Choices:

  • false
  • true

start_time

string

Укажите время начала передачи файла (гггг-мм-дд.чч:мм).

transfer_interval

integer

Укажите частоту передачи файлов на архивные сайты (5..2880 минут).

world_readable

boolean

Разрешить любому пользователю читать файл журнала.

Choices:

  • false
  • true

authorization

dictionary

Укажите систему авторизации.

level

string / required

Установить уровень ведения журнала.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

change_log

dictionary

Указать журнал изменений конфигурации.

level

string / required

Установить уровень ведения журнала.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

conflict_log

dictionary

Указать журнал конфликтов конфигурации.

level

string / required

Установить уровень ведения журнала.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

daemon

dictionary

Указать различные системные процессы.

level

string / required

Установить уровень ведения журнала.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

dfc

dictionary

Указать динамический захват потока.

level

string / required

Установить уровень ведения журнала.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

explicit_priority

boolean

Включить приоритет и средство в сообщениях.

Варианты:

  • false
  • true

external

dictionary

Указать локальные внешние приложения.

level

string / required

Установить уровень ведения журнала.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

firewall

dictionary

Указать систему фильтрации брандмауэра.

level

string / required

Установить уровень ведения журнала.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

ftp

dictionary

Указать процесс FTP.

level

string / required

Установить уровень ведения журнала.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

interactive_commands

dictionary

Указать команды, выполненные пользовательским интерфейсом.

level

string / required

Установить уровень ведения журнала по степени серьезности.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

kernel

dictionary

Указать ведение журнала, специфичное для ядра.

level

string / required

Установить уровень ведения журнала по степени серьезности.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

match

string

Указать регулярное выражение для строк, которые необходимо регистрировать.

match_strings

list / elements=string

Указать совпадающую(ие) строку(и) для строк, которые необходимо регистрировать.

name

string

Указать имя файла, в котором следует регистрировать данные.

ntp

dictionary

Указать ведение журнала, специфичное для процесса NTP.

level

string / required

Установить уровень ведения журнала по степени серьезности.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

pfe

dictionary

Указать ведение журнала, специфичное для механизма переадресации пакетов.

level

string / required

Установить уровень ведения журнала по степени серьезности.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

security

dictionary

Указать ведение журнала, связанное с безопасностью.

level

string / required

Установить уровень ведения журнала по степени серьезности.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

structured_data

dictionary

Указать системное сообщение журнала в структурированном формате.

brief

boolean

Опустить англоязычный текст в конце регистрируемых сообщений.

Варианты:

  • false
  • true

set

boolean

Установить системное сообщение журнала в структурированном формате.

Варианты:

  • false
  • true

user

dictionary

Указать ведение журнала, специфичное для пользователя.

level

string / required

Установить уровень ведения журнала по степени серьезности.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

hosts

list / elements=dictionary

Указать узлы, которые должны получать уведомления.

allow_duplicates

boolean

Не подавлять повторяющиеся сообщения для всех целей.

Варианты:

  • false
  • true

any

dictionary

Установить все средства.

level

string / required

Установить уровень ведения журнала.

Choices:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

authorization

dictionary

Указать систему авторизации.

level

string / required

Установить уровень ведения журнала.

Choices:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

change_log

dictionary

Указать журнал изменений конфигурации.

level

string / required

Установить уровень ведения журнала.

Choices:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

conflict_log

dictionary

Указать журнал конфликтов конфигурации.

level

string / required

Установить уровень ведения журнала.

Choices:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

daemon

dictionary

Указать различные системные процессы.

level

string / required

Установить уровень ведения журнала.

Choices:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

dfc

dictionary

Указать динамический захват потока.

level

string / required

Установить уровень ведения журнала.

Choices:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

exclude_hostname

boolean

Указать исключение поля имени хоста в сообщениях.

Choices:

  • false
  • true

explicit_priority

boolean

Включить приоритет и средство в сообщениях.

Choices:

  • false
  • true

external

dictionary

Указать локальные внешние приложения.

level

string / required

Установить уровень ведения журнала.

Choices:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

facility_override

string

Указать альтернативное средство для ведения журнала на удаленном хосте.

firewall

dictionary

Указать систему фильтрации брандмауэра.

level

string / required

Установить уровень ведения журнала по степени серьезности.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

ftp

dictionary

Указать процесс FTP.

level

string / required

Установить уровень ведения журнала по степени серьезности.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

interactive_commands

dictionary

Указать команды, выполняемые пользовательским интерфейсом.

level

string / required

Установить уровень ведения журнала по степени серьезности.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

kernel

dictionary

Указать ведение журнала, специфичное для ядра.

level

string / required

Установить уровень ведения журнала по степени серьезности.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

log_prefix

string

Префикс для всего ведения журнала для этого хоста.

match

string

Указать регулярное выражение для строк, которые необходимо регистрировать.

match_strings

list / elements=string

Указать совпадающую строку(и) для строк, которые необходимо регистрировать.

name

string

Указать имя хоста.

ntp

dictionary

Указать ведение журнала, специфичное для процесса NTP.

level

string / required

Установить уровень ведения журнала по степени серьезности.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

pfe

dictionary

Указать ведение журнала, специфичное для механизма пересылки пакетов.

level

string / required

Установить уровень ведения журнала по степени серьезности.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

port

integer

Указать номер порта.

routing_instance

string

Указать экземпляр маршрутизации.

security

dictionary

Указать ведение журнала, связанное с безопасностью.

level

string / required

Установить уровень ведения журнала по степени серьезности.

Варианты:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

source_address

string

Укажите адрес в качестве исходного адреса.

structured_data

dictionary

Укажите системное сообщение журнала в структурированном формате.

brief

boolean

Опустить англоязычный текст из конца зарегистрированных сообщений.

Choices:

  • false
  • true

set

boolean

Установить системное сообщение журнала в структурированном формате.

Choices:

  • false
  • true

user

dictionary

Укажите ведение журнала для конкретного пользователя.

level

string / required

Установите уровень ведения журнала по степени серьезности.

Choices:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

log_rotate_frequency

integer

Укажите частоту вращения журнала (1..59 минут).

routing_instance

string

Укажите экземпляр маршрутизации Routing.

server

dictionary

Укажите ведение журнала сервера syslog.

routing_instance

dictionary

Включить/отключить сервер syslog в экземплярах маршрутизации.

all

boolean

Включить/отключить все экземпляры маршрутизации.

Choices:

  • false
  • true

default

boolean

Включить/отключить экземпляры маршрутизации по умолчанию.

Choices:

  • false
  • true

routing_instances

list / elements=dictionary

Укажите routing-instances.

disable

boolean

Отключить сервер syslog в этих экземплярах маршрутизации.

Choices:

  • false
  • true

name

string

Укажите имя экземпляра маршрутизации.

set

boolean

Включить сервер syslog.

Choices:

  • false
  • true

source_address

string

Укажите адрес в качестве исходного адреса.

time_format

dictionary

Укажите дополнительную информацию для включения в метку времени системного журнала.

millisecond

boolean

Включить миллисекунды в метку времени.

Choices:

  • false
  • true

set

boolean

Установить time-format

Choices:

  • false
  • true

year

boolean

Включить год в метку времени.

Choices:

  • false
  • true

users

list / elements=dictionary

Укажите ведение журнала пользователей

allow_duplicates

boolean

Не подавлять повторяющиеся сообщения для всех целей.

Choices:

  • false
  • true

any

dictionary

Установить все объекты.

level

string / required

Установить уровень ведения журнала серьезности.

Choices:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

authorization

dictionary

Указать систему авторизации.

level

string / required

Установить уровень ведения журнала серьезности.

Choices:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

change_log

dictionary

Указать журнал изменений конфигурации.

level

string / required

Установить уровень ведения журнала серьезности.

Choices:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

conflict_log

dictionary

Указать журнал конфликтов конфигурации.

level

string / required

Установить уровень ведения журнала серьезности.

Choices:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

daemon

dictionary

Указать различные системные процессы.

level

string / required

Установить уровень ведения журнала серьезности.

Choices:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

dfc

dictionary

Указать динамический захват потока.

level

string / required

Установить уровень ведения журнала серьезности.

Choices:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

external

dictionary

Указать локальные внешние приложения.

level

string / required

Установить уровень ведения журнала серьезности.

Choices:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

firewall

dictionary

Указать систему фильтрации брандмауэра.

level

string / required

Установить уровень ведения журнала серьезности.

Choices:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

ftp

dictionary

Указать процесс FTP.

level

string / обязательно

Установить уровень серьезности логирования.

Доступные значения:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

interactive_commands

словарь

Указать команды, выполняемые интерфейсом.

level

строка / обязательно

Установить уровень серьезности логирования.

Доступные значения:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

kernel

словарь

Указать логирование, специфичное для ядра.

level

строка / обязательно

Установить уровень серьезности логирования.

Доступные значения:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

match

строка

Указать регулярное выражение для строк, которые нужно регистрировать.

match_strings

список / элементы=строка

Указать соответствие для строк, которые нужно регистрировать.

name

строка

Указать имя пользователя.

ntp

словарь

Указать логирование, специфичное для процесса NTP.

level

строка / обязательно

Установить уровень серьезности логирования.

Доступные значения:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

pfe

словарь

Указать логирование, специфичное для Packet Forwarding Engine.

level

строка / обязательно

Установить уровень серьезности логирования.

Доступные значения:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

security

словарь

Указать логирование, связанное с безопасностью.

level

строка / обязательно

Установить уровень серьезности логирования.

Доступные значения:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

user

словарь

Указать логирование, специфичное для пользователя.

level

строка / обязательно

Установить уровень серьезности логирования.

Доступные значения:

  • "alert"
  • "any"
  • "critical"
  • "emergency"
  • "error"
  • "info"
  • "none"
  • "notice"
  • "warning"

running_config

строка

Этот параметр используется только со значением состояния parsed.

Значение этого параметра должно быть выводом с устройства Junos, полученным после выполнения команды show system syslog.

Состояние parsed считывает конфигурацию из параметра running_config и преобразует её в структурированные данные Ansible в соответствии с argspec модуля ресурса, а затем возвращает значение в ключе parsed в результате.

state

string

Состояние, в котором должна остаться конфигурация.

Подробности см. в примерах.

Варианты:

  • "merged" ← (по умолчанию)
  • "replaced"
  • "deleted"
  • "overridden"
  • "parsed"
  • "gathered"
  • "rendered"

Примечания

Примечание

  • Для этого модуля требуется включенная служба системы netconf на управляемом устройстве.
  • Этот модуль работает с подключением netconf.
  • См. документацию по платформам JunOS.
  • Проверено на JunOS v18.4R1

Примеры

# 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": "*"
#             }
#         ]
#     }
#
#

Возвращаемые значения

Общие возвращаемые значения описаны в этом разделе. Следующие поля уникальны для этого модуля:

Ключ

Описание

after

словарь

Результат вызова модели конфигурации.

Возвращается: при изменении

Пример: "The configuration returned will always be in the same format\n of the parameters above.\n"

before

словарь

Конфигурация до вызова модели.

Возвращается: всегда

Пример: "The configuration returned will always be in the same format\n of the parameters above.\n"

commands

список / элементы=строка

Набор команд, отправленных на удаленное устройство.

Возвращается: всегда

Пример: ["<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"]

Авторы

  • Rohit Thakur (@rohitthakur2590)

Ссылки на коллекцию

  • Система отслеживания задач
  • Репозиторий (источники)

© 2012–2018 Michael DeHaan
© 2018–2024 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API