{{ ansible_managed | comment('c') }}

// Unattended-Upgrade::Origins-Pattern controls which packages are
// upgraded.
//
// Lines below have the format format is "keyword=value,...".  A
// package will be upgraded only if the values in its metadata match
// all the supplied keywords in a line.  (In other words, omitted
// keywords are wild cards.) The keywords originate from the Release
// file, but several aliases are accepted.  The accepted keywords are:
//   a,archive,suite (eg, "stable")
//   c,component     (eg, "main", "crontrib", "non-free")
//   l,label         (eg, "Debian", "Debian-Security")
//   o,origin        (eg, "Debian", "Unofficial Multimedia Packages")
//   n,codename      (eg, "jessie", "jessie-updates")
//     site          (eg, "http.debian.net")
// The available values on the system are printed by the command
// "apt-cache policy", and can be debugged by running
// "unattended-upgrades -d" and looking at the log file.
//
// Within lines unattended-upgrades allows 2 macros whose values are
// derived from /etc/debian_version:
//   ${distro_id}            Installed origin.
//   ${distro_codename}      Installed codename (eg, "jessie")
Unattended-Upgrade::Origins-Pattern {
{% if unattended_upgrades_origins_patterns is defined %}
  {% for origin in unattended_upgrades_origins_patterns %}
    "{{ origin }}";
  {% endfor %}
{% else %}
  {% for origin in __unattended_upgrades_origins_patterns %}
   "{{ origin }}";
  {% endfor %}
{% endif %}
};

// List of packages to not update (regexp are supported)
Unattended-Upgrade::Package-Blacklist {
{% for package in unattended_upgrades_package_blacklist %}
      "{{package}}";
{% endfor %}
};

{% if not unattended_upgrades_autofix_interrupted_dpkg %}
// This option allows you to control if on a unclean dpkg exit
// unattended-upgrades will automatically run
//   dpkg --force-confold --configure -a
// The default is true, to ensure updates keep getting installed
Unattended-Upgrade::AutoFixInterruptedDpkg "false";
{% endif %}

{% if unattended_upgrades_minimal_steps is defined %}
// Split the upgrade into the smallest possible chunks so that
// they can be interrupted with SIGUSR1. This makes the upgrade
// a bit slower but it has the benefit that shutdown while a upgrade
// is running is possible (with a small delay)
Unattended-Upgrade::MinimalSteps "{{ unattended_upgrades_minimal_steps | lower }}";
{% endif %}

{% if unattended_upgrades_install_on_shutdown %}
// Install all unattended-upgrades when the machine is shuting down
// instead of doing it in the background while the machine is running
// This will (obviously) make shutdown slower
Unattended-Upgrade::InstallOnShutdown "{{ unattended_upgrades_install_on_shutdown | lower }}";
{% endif %}

{% if unattended_upgrades_mail %}
// Send email to this address for problems or packages upgrades
// If empty or unset then no email is sent, make sure that you
// have a working mail setup on your system. A package that provides
// 'mailx' must be installed.
Unattended-Upgrade::Mail "{{unattended_upgrades_mail}}";
{% endif %}

{% if unattended_upgrades_mail_only_on_error %}
// Set this value to "true" to get emails only on errors. Default
// is to always send a mail if Unattended-Upgrade::Mail is set
Unattended-Upgrade::MailOnlyOnError "true";
{% endif %}

{% if unattended_upgrades_remove_unused_dependencies %}
// Do automatic removal of new unused dependencies after the upgrade
// (equivalent to apt-get autoremove)
Unattended-Upgrade::Remove-Unused-Dependencies "{{ unattended_upgrades_remove_unused_dependencies | lower }}";
{% endif %}

{% if unattended_upgrades_remove_new_unused_dependencies %}
// Do automatic removal of new unused dependencies after the upgrade
Unattended-Upgrade::Remove-New-Unused-Dependencies "{{ unattended_upgrades_remove_new_unused_dependencies | lower }}";
{% endif %}

{% if unattended_upgrades_automatic_reboot %}
// Automatically reboot *WITHOUT CONFIRMATION* if
//  the file /var/run/reboot-required is found after the upgrade
Unattended-Upgrade::Automatic-Reboot "{{ unattended_upgrades_automatic_reboot | lower }}";
{% endif %}

{% if unattended_upgrades_automatic_reboot_time %}
// If automatic reboot is enabled and needed, reboot at the specific
// time instead of immediately
//  Default: "now"
Unattended-Upgrade::Automatic-Reboot-Time "{{ unattended_upgrades_automatic_reboot_time }}";
{% endif %}

{% if unattended_upgrades_update_days is defined %}
// Set the days of the week that updates should be applied. The days can be specified
// as localized abbreviated or full names. Or as integers where "0" is Sunday, "1" is
// Monday etc.
// Example - apply updates only on Monday and Friday:
// {"Mon";"Fri"};
Unattended-Upgrade::Update-Days {{ unattended_upgrades_update_days }};
{% endif %}

{% if unattended_upgrades_ignore_apps_require_restart %}
// Do upgrade application even if it requires restart after upgrade
// I.e. "XB-Upgrade-Requires: app-restart" is set in the debian/control file
Unattended-Upgrade::IgnoreAppsRequireRestart "true";
{% endif %}

{% if unattended_upgrades_syslog_enable %}
// Write events to syslog, which is useful in environments where syslog
// messages are sent to a central store.
Unattended-Upgrade::SyslogEnable "true";
{% if unattended_upgrades_syslog_facility is defined %}
// Write events to the specified syslog facility, or the daemon facility
// if not specified. Requires the Unattended-Upgrade::SyslogEnable option
// to be set to true.
Unattended-Upgrade::SyslogFacility "{{ unattended_upgrades_syslog_facility }}";
{% endif %}
{% endif %}

{% if unattended_upgrades_dpkg_options %}
// Append options for governing dpkg behavior, e.g. --force-confdef.
Dpkg::Options {
{% for dpkg_option in unattended_upgrades_dpkg_options %}
    "{{ dpkg_option }}";
{% endfor %}
};
{% endif %}

{% if unattended_upgrades_dl_limit is defined %}
// Use apt bandwidth limit feature, this example limits the download
Acquire::http::Dl-Limit "{{ unattended_upgrades_dl_limit }}";
{% endif %}
