Spec-Zone.ru › Ansible

Модуль community.general.dconf – Изменение и чтение базы данных dconf

Примечание

Этот модуль является частью коллекции community.general (версия 9.5.0).

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

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

Чтобы использовать его в плейбуке, укажите: community.general.dconf.

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

Обзор

  • Этот модуль позволяет изменять и читать базу данных dconf. Модуль реализован как оболочка вокруг утилиты dconf. Подробнее см. страницу руководства dconf(1).
  • Поскольку dconf требует запущенной сессии D-Bus для изменения значений, модуль попытается обнаружить существующую сессию и повторно использовать её или запустить утилиту через dbus-run-session.

Требования

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

  • Необязательно, библиотека Python gi.repository (обычно включена в ОС на хостах с dconf); это станет обязательным требованием в будущей основной версии community.general.

Параметры

Параметр

Комментарии

ключ

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

Ключ dconf для изменения или чтения из базы данных dconf.

состояние

строка

Действие, которое необходимо выполнить с ключом/значением.

Варианты:

  • "read"
  • "present" ← (по умолчанию)
  • "absent"

значение

любой

Значение для задания указанного ключа dconf. Значение должно быть указано в формате GVariant. Из-за сложности этого формата лучше всего взглянуть на существующие значения в базе данных dconf.

Требуется для state=present.

Хотя тип указан как «сырой», обычно следует указывать его как строку. Однако, булевы значения обрабатываются должным образом, даже если указаны как булевы, а не как строки (на самом деле, правильная обработка булевых значений — причина, по которой тип этого параметра — «сырой»).

Атрибуты

Атрибут

Поддержка

Описание

режим_проверки

Поддержка: полная

Может работать в check_mode и возвращать прогноз состояния изменений без модификации целевого объекта.

режим_сравнения

Поддержка: нет

Возвращает подробности о том, что изменилось (или, возможно, требует изменения в check_mode), когда режим сравнения включён.

Примечания

Примечание

  • Этот модуль зависит от библиотеки Python psutil (версия 4.0.0 и выше), dconf, dbus-send, и двоичных файлов dbus-run-session. В зависимости от используемой дистрибуции вам может потребоваться установить дополнительные пакеты для их использования.
  • Этот модуль использует библиотеку Python gi.repository, когда она доступна, для точного сравнения значений в dconf со значениями, указанными в коде Ansible. gi.repository, вероятно, присутствует на большинстве систем с dconf, но может отсутствовать везде. При её отсутствии используется простое сравнение строк между значениями, что может привести к ложноположительным результатам, то есть Ansible может считать, что значение изменяется, когда это не так. Эта отложенная обработка будет удалена в будущей версии этого модуля, после чего модуль перестанет работать на хостах без gi.repository.
  • Обнаружение существующей, запущенной сессии D-Bus, необходимой для изменения настроек через dconf, не является на 100% надёжным из-за особенностей реализации самого демона D-Bus. Это может привести к тому, что приложения не будут моментально реагировать на изменения, если настройки изменены через Ansible и dbus-run-session.
  • Обратите внимание, что утилита командной строки dconf, которая используется этим модулем, использует необычный синтаксис для значений (GVariant). Например, если вы хотите указать строковое значение, правильный синтаксис будет value="'myvalue'" — с одинарными кавычками в качестве части значения параметра Ansible.
  • При использовании циклов в сочетании со значением, таким как "[('xkb', 'us'), ('xkb', 'se')]", необходимо учитывать возможные преобразования типов. Применение фильтра {{ item.value | string }} к переменной параметра может предотвратить потенциальные проблемы с преобразованием.
  • Самый простой способ определить точный синтаксис/значение, которые нужно указать для ключа, — это внести изменение в конфигурацию приложения, на которое влияет ключ, и затем посмотреть на значение, заданное командами dconf dump /path/to/dir/ или dconf read /path/to/key.

Примеры

- name: Configure available keyboard layouts in Gnome
  community.general.dconf:
    key: "/org/gnome/desktop/input-sources/sources"
    value: "[('xkb', 'us'), ('xkb', 'se')]"
    state: present

- name: Read currently available keyboard layouts in Gnome
  community.general.dconf:
    key: "/org/gnome/desktop/input-sources/sources"
    state: read
  register: keyboard_layouts

- name: Reset the available keyboard layouts in Gnome
  community.general.dconf:
    key: "/org/gnome/desktop/input-sources/sources"
    state: absent

- name: Configure available keyboard layouts in Cinnamon
  community.general.dconf:
    key: "/org/gnome/libgnomekbd/keyboard/layouts"
    value: "['us', 'se']"
    state: present

- name: Read currently available keyboard layouts in Cinnamon
  community.general.dconf:
    key: "/org/gnome/libgnomekbd/keyboard/layouts"
    state: read
  register: keyboard_layouts

- name: Reset the available keyboard layouts in Cinnamon
  community.general.dconf:
    key: "/org/gnome/libgnomekbd/keyboard/layouts"
    state: absent

- name: Disable desktop effects in Cinnamon
  community.general.dconf:
    key: "/org/cinnamon/desktop-effects"
    value: "false"
    state: present

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

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

Ключ

Описание

значение

строка

значение, связанное с запрошенным ключом

Возвращается: успех, состояние было «чтение»

Пример: "'Default'"

Авторы

  • Branko Majic (@azaghal)

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

  • Отслеживание проблем
  • Репозиторий (источники)
  • Задайте вопрос
  • Отправить отчет об ошибке
  • Запросить функцию
  • Общение

© 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/community/general/dconf_module.html

Spec-Zone.ru

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