3 <!-- DO NOT EDIT: This document was generated by Puppet Strings -->
11 * [`apt`](#apt): Main class, includes all other classes.
12 * [`apt::backports`](#aptbackports): Manages backports.
16 * `apt::params`: Provides defaults for the Apt module parameters.
17 * `apt::update`: Updates the list of available packages using apt-get update.
21 * [`apt::conf`](#aptconf): Specifies a custom Apt configuration file.
22 * [`apt::key`](#aptkey): Manages the GPG keys that Apt uses to authenticate packages.
23 * [`apt::mark`](#aptmark): defined typeapt::mark
24 * [`apt::pin`](#aptpin): Manages Apt pins. Does not trigger an apt-get update run.
25 * [`apt::ppa`](#aptppa): Manages PPA repositories using `add-apt-repository`. Not supported on Debian.
26 * [`apt::setting`](#aptsetting): Manages Apt configuration files.
27 * [`apt::source`](#aptsource): Manages the Apt sources in /etc/apt/sources.list.d/.
31 #### Public Resource types
34 #### Private Resource types
36 * `apt_key`: This type provides Puppet with the capabilities to manage GPG keys needed
37 by apt to perform package validation. Apt has it's own GPG keyring that can
38 be manipulated through the `apt-key` command.
42 * [`Apt::Auth_conf_entry`](#aptauth_conf_entry): Login configuration settings that are recorded in the file `/etc/apt/auth.conf`.
43 * [`Apt::Proxy`](#aptproxy): Configures Apt to connect to a proxy server.
47 * [`init`](#init): Allows you to perform apt functions
53 Main class, includes all other classes.
56 * https://docs.puppetlabs.com/references/latest/function.html#createresources
57 * for the create resource function
61 The following parameters are available in the `apt` class.
67 Specifies the provider that should be used by apt::update.
69 Default value: `$apt::params::provider`
75 Specifies a keyserver to provide the GPG key. Valid options: a string containing a domain name or a full URL (http://, https://, or
78 Default value: `$apt::params::keyserver`
82 Data type: `Optional[String]`
84 Specifies the default options for apt::key resources.
86 Default value: `$apt::params::key_options`
90 Data type: `Optional[String]`
92 Supplies options to be passed to the `add-apt-repository` command.
94 Default value: `$apt::params::ppa_options`
98 Data type: `Optional[String]`
100 Names the package that provides the `apt-add-repository` command.
102 Default value: `$apt::params::ppa_package`
106 Data type: `Optional[Hash]`
108 Specifies some of the default parameters used by apt::backports. Valid options: a hash made up from the following keys:
112 * **:location** `String`: See apt::backports for documentation.
113 * **:repos** `String`: See apt::backports for documentation.
114 * **:key** `String`: See apt::backports for documentation.
116 Default value: `$apt::params::backports`
122 Creates new `apt::conf` resources. Valid options: a hash to be passed to the create_resources function linked above.
124 Default value: `$apt::params::confs`
130 Configures various update settings. Valid options: a hash made up from the following keys:
134 * **:frequency** `String`: Specifies how often to run `apt-get update`. If the exec resource `apt_update` is notified, `apt-get update` runs regardless of this value.
135 Valid options: 'always' (at every Puppet run); 'daily' (if the value of `apt_update_last_success` is less than current epoch time minus 86400);
136 'weekly' (if the value of `apt_update_last_success` is less than current epoch time minus 604800); and 'reluctantly' (only if the exec resource
137 `apt_update` is notified). Default: 'reluctantly'.
138 * **:loglevel** `Integer`: Specifies the log level of logs outputted to the console. Default: undef.
139 * **:timeout** `Integer`: Specifies how long to wait for the update to complete before canceling it. Valid options: an integer, in seconds. Default: undef.
140 * **:tries** `Integer`: Specifies how many times to retry the update after receiving a DNS or HTTP error. Default: undef.
142 Default value: `$apt::params::update`
148 Specifies whether to purge any existing settings that aren't managed by Puppet. Valid options: a hash made up from the following keys:
152 * **:sources.list** `Boolean`: Specifies whether to purge any unmanaged entries from sources.list. Default false.
153 * **:sources.list.d** `Boolean`: Specifies whether to purge any unmanaged entries from sources.list.d. Default false.
154 * **:preferences** `Boolean`: Specifies whether to purge any unmanaged entries from preferences. Default false.
155 * **:preferences.d.** `Boolean`: Specifies whether to purge any unmanaged entries from preferences.d. Default false.
157 Default value: `$apt::params::purge`
161 Data type: `Apt::Proxy`
163 Configures Apt to connect to a proxy server. Valid options: a hash matching the locally defined type apt::proxy.
165 Default value: `$apt::params::proxy`
171 Creates new `apt::source` resources. Valid options: a hash to be passed to the create_resources function linked above.
173 Default value: `$apt::params::sources`
179 Creates new `apt::key` resources. Valid options: a hash to be passed to the create_resources function linked above.
181 Default value: `$apt::params::keys`
187 Creates new `apt::ppa` resources. Valid options: a hash to be passed to the create_resources function linked above.
189 Default value: `$apt::params::ppas`
195 Creates new `apt::pin` resources. Valid options: a hash to be passed to the create_resources function linked above.
197 Default value: `$apt::params::pins`
203 Creates new `apt::setting` resources. Valid options: a hash to be passed to the create_resources function linked above.
205 Default value: `$apt::params::settings`
207 ##### `manage_auth_conf`
211 Specifies whether to manage the /etc/apt/auth.conf file. When true, the file will be overwritten with the entries specified in
212 the auth_conf_entries parameter. When false, the file will be ignored (note that this does not set the file to absent.
214 Default value: `$apt::params::manage_auth_conf`
216 ##### `auth_conf_entries`
218 Data type: `Array[Apt::Auth_conf_entry]`
220 An optional array of login configuration settings (hashes) that are recorded in the file /etc/apt/auth.conf. This file has a netrc-like
221 format (similar to what curl uses) and contains the login configuration for APT sources and proxies that require authentication. See
222 https://manpages.debian.org/testing/apt/apt_auth.conf.5.en.html for details. If specified each hash must contain the keys machine, login and
223 password and no others. Specifying manage_auth_conf and not specifying this parameter will set /etc/apt/auth.conf to absent.
225 Default value: `$apt::params::auth_conf_entries`
227 ##### `auth_conf_owner`
231 The owner of the file /etc/apt/auth.conf. Default: '_apt' or 'root' on old releases.
233 Default value: `$apt::params::auth_conf_owner`
239 Specifies root directory of Apt executable.
241 Default value: `$apt::params::root`
247 Specifies the path of the sources_list file to use.
249 Default value: `$apt::params::sources_list`
251 ##### `sources_list_d`
255 Specifies the path of the sources_list.d file to use.
257 Default value: `$apt::params::sources_list_d`
263 Specifies the path of the conf.d file to use.
265 Default value: `$apt::params::conf_d`
271 Specifies the path of the preferences file to use.
273 Default value: `$apt::params::preferences`
275 ##### `preferences_d`
279 Specifies the path of the preferences.d file to use.
281 Default value: `$apt::params::preferences_d`
287 A hash made up of the various configuration files used by Apt.
289 Default value: `$apt::params::config_files`
291 ##### `sources_list_force`
295 Specifies whether to perform force purge or delete. Default false.
297 Default value: `$apt::params::sources_list_force`
299 ##### `update_defaults`
305 Default value: `$apt::params::update_defaults`
307 ##### `purge_defaults`
313 Default value: `$apt::params::purge_defaults`
315 ##### `proxy_defaults`
321 Default value: `$apt::params::proxy_defaults`
323 ##### `include_defaults`
329 Default value: `$apt::params::include_defaults`
337 Default value: `$apt::params::apt_conf_d`
339 ##### `source_key_defaults`
345 Default value: `$apt::params::source_key_defaults`
353 ##### Set up a backport source for Linux Mint qiana
356 class { 'apt::backports':
357 location => 'http://us.archive.ubuntu.com/ubuntu',
358 release => 'trusty-backports',
359 repos => 'main universe multiverse restricted',
361 id => '630239CC130E1A7FD81A27B140976EAF437D05B5',
362 server => 'hkps.pool.sks-keyservers.net',
369 The following parameters are available in the `apt::backports` class.
373 Data type: `Optional[String]`
375 Specifies an Apt repository containing the backports to manage. Valid options: a string containing a URL. Default value for Debian and
378 - Debian: 'http://deb.debian.org/debian'
380 - Ubuntu: 'http://archive.ubuntu.com/ubuntu'
382 Default value: ``undef``
386 Data type: `Optional[String]`
388 Specifies a distribution of the Apt repository containing the backports to manage. Used in populating the `source.list` configuration file.
389 Default: on Debian and Ubuntu, `${facts['os']['distro']['codename']}-backports`. We recommend keeping this default, except on other operating
392 Default value: ``undef``
396 Data type: `Optional[String]`
398 Specifies a component of the Apt repository containing the backports to manage. Used in populating the `source.list` configuration file.
399 Default value for Debian and Ubuntu varies:
401 - Debian: 'main contrib non-free'
403 - Ubuntu: 'main universe multiverse restricted'
405 Default value: ``undef``
409 Data type: `Optional[Variant[String, Hash]]`
411 Specifies a key to authenticate the backports. Valid options: a string to be passed to the id parameter of the apt::key defined type, or a
412 hash of parameter => value pairs to be passed to apt::key's id, server, content, source, and/or options parameters. Default value
413 for Debian and Ubuntu varies:
415 - Debian: 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553'
417 - Ubuntu: '630239CC130E1A7FD81A27B140976EAF437D05B5'
419 Default value: ``undef``
423 Data type: `Optional[Variant[Integer, String, Hash]]`
425 Specifies a pin priority for the backports. Valid options: a number or string to be passed to the `id` parameter of the `apt::pin` defined
426 type, or a hash of `parameter => value` pairs to be passed to `apt::pin`'s corresponding parameters.
432 Data type: `Optional[Variant[Hash]]`
434 Specifies whether to include 'deb' or 'src', or both.
442 Specifies a custom Apt configuration file.
446 The following parameters are available in the `apt::conf` defined type.
450 Data type: `Optional[String]`
452 Required unless `ensure` is set to 'absent'. Directly supplies content for the configuration file.
454 Default value: ``undef``
458 Data type: `Enum['present', 'absent']`
460 Specifies whether the configuration file should exist. Valid options: 'present' and 'absent'.
462 Default value: `present`
466 Data type: `Variant[String, Integer]`
468 Determines the order in which Apt processes the configuration file. Files with lower priority numbers are loaded first.
469 Valid options: a string containing an integer or an integer.
473 ##### `notify_update`
475 Data type: `Optional[Boolean]`
477 Specifies whether to trigger an `apt-get update` run.
479 Default value: ``undef``
483 Manages the GPG keys that Apt uses to authenticate packages.
485 * **Note** The apt::key defined type makes use of the apt_key type, but includes extra functionality to help prevent duplicate keys.
489 ##### Declare Apt key for apt.puppetlabs.com source
492 apt::key { 'puppetlabs':
493 id => '6F6B15509CF8E59E6E469F327F438280EF8D349F',
494 server => 'hkps.pool.sks-keyservers.net',
495 options => 'http-proxy="http://proxyuser:proxypass@example.org:3128"',
501 The following parameters are available in the `apt::key` defined type.
505 Data type: `Pattern[/\A(0x)?[0-9a-fA-F]{8}\Z/, /\A(0x)?[0-9a-fA-F]{16}\Z/, /\A(0x)?[0-9a-fA-F]{40}\Z/]`
507 Specifies a GPG key to authenticate Apt package signatures. Valid options: a string containing a key ID (8 or 16 hexadecimal
508 characters, optionally prefixed with "0x") or a full key fingerprint (40 hexadecimal characters).
510 Default value: `$title`
514 Data type: `Enum['present', 'absent', 'refreshed']`
516 Specifies whether the key should exist. Valid options: 'present', 'absent' or 'refreshed'. Using 'refreshed' will make keys auto
517 update when they have expired (assuming a new key exists on the key server).
519 Default value: `present`
523 Data type: `Optional[String]`
525 Supplies the entire GPG key. Useful in case the key can't be fetched from a remote location and using a file resource is inconvenient.
527 Default value: ``undef``
531 Data type: `Optional[Pattern[/\Ahttps?:\/\//, /\Aftp:\/\//, /\A\/\w+/]]`
533 Specifies the location of an existing GPG key file to copy. Valid options: a string containing a URL (ftp://, http://, or https://) or
536 Default value: ``undef``
540 Data type: `Pattern[/\A((hkp|hkps|http|https):\/\/)?([a-z\d])([a-z\d-]{0,61}\.)+[a-z\d]+(:\d{2,5})?(\/[a-zA-Z\d\-_.]+)*\/?$/]`
542 Specifies a keyserver to provide the GPG key. Valid options: a string containing a domain name or a full URL (http://, https://,
543 hkp:// or hkps://). The hkps:// protocol is currently only supported on Ubuntu 18.04.
545 Default value: `$::apt::keyserver`
551 Specifies whether strict SSL verification on a https URL should be disabled. Valid options: true or false.
553 Default value: ``false``
557 Data type: `Optional[String]`
559 Passes additional options to `apt-key adv --keyserver-options`.
561 Default value: `$::apt::key_options`
565 defined typeapt::mark
569 The following parameters are available in the `apt::mark` defined type.
573 Data type: `Enum['auto','manual','hold','unhold']`
575 auto, manual, hold, unhold
576 specifies the behavior of apt in case of no more dependencies installed
577 https://manpages.debian.org/sretch/apt/apt-mark.8.en.html
581 Manages Apt pins. Does not trigger an apt-get update run.
584 * http://linux.die.net/man/5/apt_preferences
585 * for context on these parameters
589 The following parameters are available in the `apt::pin` defined type.
593 Data type: `Optional[Enum['file', 'present', 'absent']]`
595 Specifies whether the pin should exist. Valid options: 'file', 'present', and 'absent'.
597 Default value: `present`
601 Data type: `Optional[String]`
603 Supplies a comment to explain the pin. Default: "${caller_module_name}: ${name}".
605 Default value: ``undef``
609 Data type: `Variant[Integer]`
611 Determines the order in which Apt processes the pin file. Files with lower order numbers are loaded first.
617 Data type: `Variant[String, Array]`
619 Specifies which package(s) to pin.
625 Data type: `Variant[Numeric, String]`
627 Sets the priority of the package. If multiple versions of a given package are available, `apt-get` installs the one with the highest
628 priority number (subject to dependency constraints). Valid options: an integer.
634 Data type: `Optional[String]`
636 Tells APT to prefer packages that support the specified release. Typical values include 'stable', 'testing', and 'unstable'.
640 ##### `release_version`
642 Data type: `Optional[String]`
644 Tells APT to prefer packages that support the specified operating system release version (such as Debian release version 7).
650 Data type: `Optional[String]`
652 Names the licensing component associated with the packages in the directory tree of the Release file.
658 Data type: `Optional[String]`
660 Names the originator of the packages in the directory tree of the Release file.
666 Data type: `Optional[String]`
668 Names the label of the packages in the directory tree of the Release file.
674 Data type: `Optional[String]`
682 Data type: `Optional[String]`
690 Data type: `Optional[String]`
698 Manages PPA repositories using `add-apt-repository`. Not supported on Debian.
702 ##### Example declaration of an Apt PPA
705 apt::ppa{ 'ppa:openstack-ppa/bleeding-edge': }
710 The following parameters are available in the `apt::ppa` defined type.
716 Specifies whether the PPA should exist. Valid options: 'present' and 'absent'.
718 Default value: `'present'`
722 Data type: `Optional[String]`
724 Supplies options to be passed to the `add-apt-repository` command. Default: '-y'.
726 Default value: `$::apt::ppa_options`
730 Data type: `Optional[String]`
732 Specifies the operating system of your node. Valid options: a string containing a valid LSB distribution codename.
733 Optional if `puppet facts show os.distro.codename` returns your correct distribution release codename.
735 Default value: `$facts['os']['distro']['codename']`
739 Data type: `Optional[String]`
741 Specifies the distribution of your node. Valid options: a string containing a valid distribution codename.
742 Optional if `puppet facts show os.name` returns your correct distribution name.
744 Default value: `$facts['os']['name']`
748 Data type: `Optional[String]`
750 Names the package that provides the `apt-add-repository` command. Default: 'software-properties-common'.
752 Default value: `$::apt::ppa_package`
754 ##### `package_manage`
758 Specifies whether Puppet should manage the package that provides `apt-add-repository`.
760 Default value: ``false``
764 Manages Apt configuration files.
767 * https://docs.puppetlabs.com/references/latest/type.html#file-attributes
768 * for more information on source and content parameters
772 The following parameters are available in the `apt::setting` defined type.
776 Data type: `Variant[String, Integer, Array]`
778 Determines the order in which Apt processes the configuration file. Files with higher priority numbers are loaded first.
784 Data type: `Optional[Enum['file', 'present', 'absent']]`
786 Specifies whether the file should exist. Valid options: 'present', 'absent', and 'file'.
788 Default value: `file`
792 Data type: `Optional[String]`
794 Required, unless `content` is set. Specifies a source file to supply the content of the configuration file. Cannot be used in combination
795 with `content`. Valid options: see link above for Puppet's native file type source attribute.
797 Default value: ``undef``
801 Data type: `Optional[String]`
803 Required, unless `source` is set. Directly supplies content for the configuration file. Cannot be used in combination with `source`. Valid
804 options: see link above for Puppet's native file type content attribute.
806 Default value: ``undef``
808 ##### `notify_update`
812 Specifies whether to trigger an `apt-get update` run.
814 Default value: ``true``
818 Manages the Apt sources in /etc/apt/sources.list.d/.
822 ##### Install the puppetlabs apt source
825 apt::source { 'puppetlabs':
826 location => 'http://apt.puppetlabs.com',
829 id => '6F6B15509CF8E59E6E469F327F438280EF8D349F',
830 server => 'hkps.pool.sks-keyservers.net',
837 The following parameters are available in the `apt::source` defined type.
841 Data type: `Optional[String]`
843 Required, unless ensure is set to 'absent'. Specifies an Apt repository. Valid options: a string containing a repository URL.
845 Default value: ``undef``
851 Supplies a comment for adding to the Apt source file.
853 Default value: `$name`
859 Specifies whether the Apt source file should exist. Valid options: 'present' and 'absent'.
861 Default value: `present`
865 Data type: `Optional[String]`
867 Specifies a distribution of the Apt repository.
869 Default value: ``undef``
875 Specifies a component of the Apt repository.
877 Default value: `'main'`
881 Data type: `Optional[Variant[Hash]]`
883 Configures include options. Valid options: a hash of available keys.
887 * **:deb** `Boolean`: Specifies whether to request the distribution's compiled binaries. Default true.
888 * **:src** `Boolean`: Specifies whether to request the distribution's uncompiled source code. Default false.
894 Data type: `Optional[Variant[String, Hash]]`
896 Creates a declaration of the apt::key defined type. Valid options: a string to be passed to the `id` parameter of the `apt::key`
897 defined type, or a hash of `parameter => value` pairs to be passed to `apt::key`'s `id`, `server`, `content`, `source`, and/or
898 `options` parameters.
900 Default value: ``undef``
904 Data type: `Optional[Variant[Hash, Numeric, String]]`
906 Creates a declaration of the apt::pin defined type. Valid options: a number or string to be passed to the `id` parameter of the
907 `apt::pin` defined type, or a hash of `parameter => value` pairs to be passed to `apt::pin`'s corresponding parameters.
909 Default value: ``undef``
913 Data type: `Optional[String]`
915 Tells Apt to only download information for specified architectures. Valid options: a string containing one or more architecture names,
916 separated by commas (e.g., 'i386' or 'i386,alpha,powerpc'). Default: undef (if unspecified, Apt downloads information for all architectures
917 defined in the Apt::Architectures option).
919 Default value: ``undef``
921 ##### `allow_unsigned`
925 Specifies whether to authenticate packages from this release, even if the Release file is not signed or the signature can't be checked.
927 Default value: ``false``
929 ##### `notify_update`
933 Specifies whether to trigger an `apt-get update` run.
935 Default value: ``true``
941 ### `Apt::Auth_conf_entry`
943 Login configuration settings that are recorded in the file `/etc/apt/auth.conf`.
946 * https://manpages.debian.org/testing/apt/apt_auth.conf.5.en.html
947 * for more information
950 machine => String[1],
957 The following parameters are available in the `Apt::Auth_conf_entry` data type.
961 Hostname of machine to connect to.
965 Specifies the username to connect with.
969 Specifies the password to connect with.
973 Configures Apt to connect to a proxy server.
976 ensure => Optional[Enum['file', 'present', 'absent']],
977 host => Optional[String],
978 port => Optional[Integer[0, 65535]],
979 https => Optional[Boolean],
980 https_acng => Optional[Boolean],
981 direct => Optional[Boolean],
986 The following parameters are available in the `Apt::Proxy` data type.
990 Specifies whether the proxy should exist. Valid options: 'file', 'present', and 'absent'. Prefer 'file' over 'present'.
994 Specifies a proxy host to be stored in `/etc/apt/apt.conf.d/01proxy`. Valid options: a string containing a hostname.
998 Specifies a proxy port to be stored in `/etc/apt/apt.conf.d/01proxy`. Valid options: an integer containing a port number.
1002 Specifies whether to enable https proxies.
1006 Specifies whether or not to use a `DIRECT` https proxy if http proxy is used but https is not.
1012 Allows you to perform apt functions
1014 **Supports noop?** false
1020 Data type: `Enum[update, upgrade, dist-upgrade, autoremove]`