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 ##### `update_defaults`
297 Default value: `$apt::params::update_defaults`
299 ##### `purge_defaults`
305 Default value: `$apt::params::purge_defaults`
307 ##### `proxy_defaults`
313 Default value: `$apt::params::proxy_defaults`
315 ##### `include_defaults`
321 Default value: `$apt::params::include_defaults`
329 Default value: `$apt::params::apt_conf_d`
331 ##### `source_key_defaults`
337 Default value: `$apt::params::source_key_defaults`
345 ##### Set up a backport for linuxmint qiana
348 apt::backports { 'qiana':
349 location => 'http://us.archive.ubuntu.com/ubuntu',
350 release => 'trusty-backports',
351 repos => 'main universe multiverse restricted',
353 id => '630239CC130E1A7FD81A27B140976EAF437D05B5',
354 server => 'hkps.pool.sks-keyservers.net',
361 The following parameters are available in the `apt::backports` class.
365 Data type: `Optional[String]`
367 Specifies an Apt repository containing the backports to manage. Valid options: a string containing a URL. Default value for Debian and
370 - Debian: 'http://deb.debian.org/debian'
372 - Ubuntu: 'http://archive.ubuntu.com/ubuntu'
374 Default value: ``undef``
378 Data type: `Optional[String]`
380 Specifies a distribution of the Apt repository containing the backports to manage. Used in populating the `source.list` configuration file.
381 Default: on Debian and Ubuntu, '${lsbdistcodename}-backports'. We recommend keeping this default, except on other operating
384 Default value: ``undef``
388 Data type: `Optional[String]`
390 Specifies a component of the Apt repository containing the backports to manage. Used in populating the `source.list` configuration file.
391 Default value for Debian and Ubuntu varies:
393 - Debian: 'main contrib non-free'
395 - Ubuntu: 'main universe multiverse restricted'
397 Default value: ``undef``
401 Data type: `Optional[Variant[String, Hash]]`
403 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
404 hash of parameter => value pairs to be passed to apt::key's id, server, content, source, and/or options parameters. Default value
405 for Debian and Ubuntu varies:
407 - Debian: 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553'
409 - Ubuntu: '630239CC130E1A7FD81A27B140976EAF437D05B5'
411 Default value: ``undef``
415 Data type: `Optional[Variant[Integer, String, Hash]]`
417 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
418 type, or a hash of `parameter => value` pairs to be passed to `apt::pin`'s corresponding parameters.
424 Data type: `Optional[Variant[Hash]]`
426 Specifies whether to include 'deb' or 'src', or both.
434 Specifies a custom Apt configuration file.
438 The following parameters are available in the `apt::conf` defined type.
442 Data type: `Optional[String]`
444 Required unless `ensure` is set to 'absent'. Directly supplies content for the configuration file.
446 Default value: ``undef``
450 Data type: `Enum['present', 'absent']`
452 Specifies whether the configuration file should exist. Valid options: 'present' and 'absent'.
454 Default value: `present`
458 Data type: `Variant[String, Integer]`
460 Determines the order in which Apt processes the configuration file. Files with lower priority numbers are loaded first.
461 Valid options: a string containing an integer or an integer.
465 ##### `notify_update`
467 Data type: `Optional[Boolean]`
469 Specifies whether to trigger an `apt-get update` run.
471 Default value: ``undef``
475 Manages the GPG keys that Apt uses to authenticate packages.
477 * **Note** The apt::key defined type makes use of the apt_key type, but includes extra functionality to help prevent duplicate keys.
481 ##### Declare Apt key for apt.puppetlabs.com source
484 apt::key { 'puppetlabs':
485 id => '6F6B15509CF8E59E6E469F327F438280EF8D349F',
486 server => 'hkps.pool.sks-keyservers.net',
487 options => 'http-proxy="http://proxyuser:proxypass@example.org:3128"',
493 The following parameters are available in the `apt::key` defined type.
497 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/]`
499 Specifies a GPG key to authenticate Apt package signatures. Valid options: a string containing a key ID (8 or 16 hexadecimal
500 characters, optionally prefixed with "0x") or a full key fingerprint (40 hexadecimal characters).
502 Default value: `$title`
506 Data type: `Enum['present', 'absent', 'refreshed']`
508 Specifies whether the key should exist. Valid options: 'present', 'absent' or 'refreshed'. Using 'refreshed' will make keys auto
509 update when they have expired (assuming a new key exists on the key server).
511 Default value: `present`
515 Data type: `Optional[String]`
517 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.
519 Default value: ``undef``
523 Data type: `Optional[Pattern[/\Ahttps?:\/\//, /\Aftp:\/\//, /\A\/\w+/]]`
525 Specifies the location of an existing GPG key file to copy. Valid options: a string containing a URL (ftp://, http://, or https://) or
528 Default value: ``undef``
532 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\-_.]+)*\/?$/]`
534 Specifies a keyserver to provide the GPG key. Valid options: a string containing a domain name or a full URL (http://, https://,
535 hkp:// or hkps://). The hkps:// protocol is currently only supported on Ubuntu 18.04.
537 Default value: `$::apt::keyserver`
543 Specifies whether strict SSL verification on a https URL should be disabled. Valid options: true or false.
545 Default value: ``false``
549 Data type: `Optional[String]`
551 Passes additional options to `apt-key adv --keyserver-options`.
553 Default value: `$::apt::key_options`
557 defined typeapt::mark
561 The following parameters are available in the `apt::mark` defined type.
565 Data type: `Enum['auto','manual','hold','unhold']`
567 auto, manual, hold, unhold
568 specifies the behavior of apt in case of no more dependencies installed
569 https://manpages.debian.org/sretch/apt/apt-mark.8.en.html
573 Manages Apt pins. Does not trigger an apt-get update run.
576 * http://linux.die.net/man/5/apt_preferences
577 * for context on these parameters
581 The following parameters are available in the `apt::pin` defined type.
585 Data type: `Optional[Enum['file', 'present', 'absent']]`
587 Specifies whether the pin should exist. Valid options: 'file', 'present', and 'absent'.
589 Default value: `present`
593 Data type: `Optional[String]`
595 Supplies a comment to explain the pin. Default: "${caller_module_name}: ${name}".
597 Default value: ``undef``
601 Data type: `Variant[Integer]`
603 Determines the order in which Apt processes the pin file. Files with lower order numbers are loaded first.
609 Data type: `Variant[String, Array]`
611 Specifies which package(s) to pin.
617 Data type: `Variant[Numeric, String]`
619 Sets the priority of the package. If multiple versions of a given package are available, `apt-get` installs the one with the highest
620 priority number (subject to dependency constraints). Valid options: an integer.
626 Data type: `Optional[String]`
628 Tells APT to prefer packages that support the specified release. Typical values include 'stable', 'testing', and 'unstable'.
632 ##### `release_version`
634 Data type: `Optional[String]`
636 Tells APT to prefer packages that support the specified operating system release version (such as Debian release version 7).
642 Data type: `Optional[String]`
644 Names the licensing component associated with the packages in the directory tree of the Release file.
650 Data type: `Optional[String]`
652 Names the originator of the packages in the directory tree of the Release file.
658 Data type: `Optional[String]`
660 Names the label of the packages in the directory tree of the Release file.
666 Data type: `Optional[String]`
674 Data type: `Optional[String]`
682 Data type: `Optional[String]`
690 Manages PPA repositories using `add-apt-repository`. Not supported on Debian.
694 ##### Example declaration of an Apt PPA
697 apt::ppa{ 'ppa:openstack-ppa/bleeding-edge': }
702 The following parameters are available in the `apt::ppa` defined type.
708 Specifies whether the PPA should exist. Valid options: 'present' and 'absent'.
710 Default value: `'present'`
714 Data type: `Optional[String]`
716 Supplies options to be passed to the `add-apt-repository` command. Default: '-y'.
718 Default value: `$::apt::ppa_options`
722 Data type: `Optional[String]`
724 Optional if lsb-release is installed (unless you're using a different release than indicated by lsb-release, e.g., Linux Mint).
725 Specifies the operating system of your node. Valid options: a string containing a valid LSB distribution codename.
727 Default value: `$facts['lsbdistcodename']`
731 Data type: `Optional[String]`
733 Optional if lsb-release is installed (unless you're using a different release than indicated by lsb-release, e.g., Linux Mint).
734 Specifies the distribution of your node. Valid options: a string containing a valid distribution codename.
736 Default value: `$facts['lsbdistid']`
740 Data type: `Optional[String]`
742 Names the package that provides the `apt-add-repository` command. Default: 'software-properties-common'.
744 Default value: `$::apt::ppa_package`
746 ##### `package_manage`
750 Specifies whether Puppet should manage the package that provides `apt-add-repository`.
752 Default value: ``false``
756 Manages Apt configuration files.
759 * https://docs.puppetlabs.com/references/latest/type.html#file-attributes
760 * for more information on source and content parameters
764 The following parameters are available in the `apt::setting` defined type.
768 Data type: `Variant[String, Integer, Array]`
770 Determines the order in which Apt processes the configuration file. Files with higher priority numbers are loaded first.
776 Data type: `Optional[Enum['file', 'present', 'absent']]`
778 Specifies whether the file should exist. Valid options: 'present', 'absent', and 'file'.
780 Default value: `file`
784 Data type: `Optional[String]`
786 Required, unless `content` is set. Specifies a source file to supply the content of the configuration file. Cannot be used in combination
787 with `content`. Valid options: see link above for Puppet's native file type source attribute.
789 Default value: ``undef``
793 Data type: `Optional[String]`
795 Required, unless `source` is set. Directly supplies content for the configuration file. Cannot be used in combination with `source`. Valid
796 options: see link above for Puppet's native file type content attribute.
798 Default value: ``undef``
800 ##### `notify_update`
804 Specifies whether to trigger an `apt-get update` run.
806 Default value: ``true``
810 Manages the Apt sources in /etc/apt/sources.list.d/.
814 ##### Install the puppetlabs apt source
817 apt::source { 'puppetlabs':
818 location => 'http://apt.puppetlabs.com',
821 id => '6F6B15509CF8E59E6E469F327F438280EF8D349F',
822 server => 'hkps.pool.sks-keyservers.net',
829 The following parameters are available in the `apt::source` defined type.
833 Data type: `Optional[String]`
835 Required, unless ensure is set to 'absent'. Specifies an Apt repository. Valid options: a string containing a repository URL.
837 Default value: ``undef``
843 Supplies a comment for adding to the Apt source file.
845 Default value: `$name`
851 Specifies whether the Apt source file should exist. Valid options: 'present' and 'absent'.
853 Default value: `present`
857 Data type: `Optional[String]`
859 Specifies a distribution of the Apt repository.
861 Default value: ``undef``
867 Specifies a component of the Apt repository.
869 Default value: `'main'`
873 Data type: `Optional[Variant[Hash]]`
875 Configures include options. Valid options: a hash of available keys.
879 * **:deb** `Boolean`: Specifies whether to request the distribution's compiled binaries. Default true.
880 * **:src** `Boolean`: Specifies whether to request the distribution's uncompiled source code. Default false.
886 Data type: `Optional[Variant[String, Hash]]`
888 Creates a declaration of the apt::key defined type. Valid options: a string to be passed to the `id` parameter of the `apt::key`
889 defined type, or a hash of `parameter => value` pairs to be passed to `apt::key`'s `id`, `server`, `content`, `source`, and/or
890 `options` parameters.
892 Default value: ``undef``
896 Data type: `Optional[Variant[Hash, Numeric, String]]`
898 Creates a declaration of the apt::pin defined type. Valid options: a number or string to be passed to the `id` parameter of the
899 `apt::pin` defined type, or a hash of `parameter => value` pairs to be passed to `apt::pin`'s corresponding parameters.
901 Default value: ``undef``
905 Data type: `Optional[String]`
907 Tells Apt to only download information for specified architectures. Valid options: a string containing one or more architecture names,
908 separated by commas (e.g., 'i386' or 'i386,alpha,powerpc'). Default: undef (if unspecified, Apt downloads information for all architectures
909 defined in the Apt::Architectures option).
911 Default value: ``undef``
913 ##### `allow_unsigned`
917 Specifies whether to authenticate packages from this release, even if the Release file is not signed or the signature can't be checked.
919 Default value: ``false``
921 ##### `notify_update`
925 Specifies whether to trigger an `apt-get update` run.
927 Default value: ``true``
933 ### `Apt::Auth_conf_entry`
935 Login configuration settings that are recorded in the file `/etc/apt/auth.conf`.
938 * https://manpages.debian.org/testing/apt/apt_auth.conf.5.en.html
939 * for more information
942 machine => String[1],
949 The following parameters are available in the `Apt::Auth_conf_entry` data type.
953 Hostname of machine to connect to.
957 Specifies the username to connect with.
961 Specifies the password to connect with.
965 Configures Apt to connect to a proxy server.
968 ensure => Optional[Enum['file', 'present', 'absent']],
969 host => Optional[String],
970 port => Optional[Integer[0, 65535]],
971 https => Optional[Boolean],
972 https_acng => Optional[Boolean],
973 direct => Optional[Boolean],
978 The following parameters are available in the `Apt::Proxy` data type.
982 Specifies whether the proxy should exist. Valid options: 'file', 'present', and 'absent'. Prefer 'file' over 'present'.
986 Specifies a proxy host to be stored in `/etc/apt/apt.conf.d/01proxy`. Valid options: a string containing a hostname.
990 Specifies a proxy port to be stored in `/etc/apt/apt.conf.d/01proxy`. Valid options: an integer containing a port number.
994 Specifies whether to enable https proxies.
998 Specifies whether or not to use a `DIRECT` https proxy if http proxy is used but https is not.
1004 Allows you to perform apt functions
1006 **Supports noop?** false
1012 Data type: `Enum[update, upgrade, dist-upgrade, autoremove]`