2 <!-- DO NOT EDIT: This document was generated by Puppet Strings -->
10 * [`apt`](#apt): Main class, includes all other classes.
11 * [`apt::backports`](#aptbackports): Manages backports.
15 * `apt::params`: Provides defaults for the Apt module parameters.
16 * `apt::update`: Updates the list of available packages using apt-get update.
20 * [`apt::conf`](#aptconf): Specifies a custom Apt configuration file.
21 * [`apt::key`](#aptkey): Manages the GPG keys that Apt uses to authenticate packages.
22 * [`apt::pin`](#aptpin): Manages Apt pins. Does not trigger an apt-get update run.
23 * [`apt::ppa`](#aptppa): Manages PPA repositories using `add-apt-repository`. Not supported on Debian.
24 * [`apt::setting`](#aptsetting): Manages Apt configuration files.
25 * [`apt::source`](#aptsource): Manages the Apt sources in /etc/apt/sources.list.d/.
29 _Public Resource types_
32 _Private Resource types_
34 * `apt_key`: This type provides Puppet with the capabilities to manage GPG keys needed
35 by apt to perform package validation. Apt has it's own GPG keyring that can
36 be manipulated through the `apt-key` command.
40 * [`init`](#init): Allows you to perform apt functions
46 Main class, includes all other classes.
49 https://docs.puppetlabs.com/references/latest/function.html#createresources
50 for the create resource function
54 The following parameters are available in the `apt` class.
60 Specifies the provider that should be used by apt::update.
62 Default value: $apt::params::provider
68 Specifies a keyserver to provide the GPG key. Valid options: a string containing a domain name or a full URL (http://, https://,
69 hkp:// or hkps://). The hkps:// protocol is currently only supported on Ubuntu 18.04.
71 Default value: $apt::params::keyserver
75 Data type: `Optional[String]`
77 Supplies options to be passed to the `add-apt-repository` command.
79 Default value: $apt::params::ppa_options
83 Data type: `Optional[String]`
85 Names the package that provides the `apt-add-repository` command.
87 Default value: $apt::params::ppa_package
91 Data type: `Optional[Hash]`
93 Specifies some of the default parameters used by apt::backports. Valid options: a hash made up from the following keys:
97 * **:location** `String`: See apt::backports for documentation.
98 * **:repos** `String`: See apt::backports for documentation.
99 * **:key** `String`: See apt::backports for documentation.
101 Default value: $apt::params::backports
107 Creates new `apt::conf` resources. Valid options: a hash to be passed to the create_resources function linked above.
109 Default value: $apt::params::confs
115 Configures various update settings. Valid options: a hash made up from the following keys:
119 * **: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.
120 Valid options: 'always' (at every Puppet run); 'daily' (if the value of `apt_update_last_success` is less than current epoch time minus 86400);
121 'weekly' (if the value of `apt_update_last_success` is less than current epoch time minus 604800); and 'reluctantly' (only if the exec resource
122 `apt_update` is notified). Default: 'reluctantly'.
123 * **:loglevel** `Integer`: Specifies the log level of logs outputted to the console. Default: undef.
124 * **:timeout** `Integer`: Specifies how long to wait for the update to complete before canceling it. Valid options: an integer, in seconds. Default: undef.
125 * **:tries** `Integer`: Specifies how many times to retry the update after receiving a DNS or HTTP error. Default: undef.
127 Default value: $apt::params::update
133 Specifies whether to purge any existing settings that aren't managed by Puppet. Valid options: a hash made up from the following keys:
137 * **:sources.list** `Boolean`: Specifies whether to purge any unmanaged entries from sources.list. Default false.
138 * **:sources.list.d** `Boolean`: Specifies whether to purge any unmanaged entries from sources.list.d. Default false.
139 * **:preferences** `Boolean`: Specifies whether to purge any unmanaged entries from preferences. Default false.
140 * **:preferences.d.** `Boolean`: Specifies whether to purge any unmanaged entries from preferences.d. Default false.
142 Default value: $apt::params::purge
146 Data type: `Apt::Proxy`
148 Configures Apt to connect to a proxy server. Valid options: a hash matching the locally defined type apt::proxy.
150 Default value: $apt::params::proxy
156 Creates new `apt::source` resources. Valid options: a hash to be passed to the create_resources function linked above.
158 Default value: $apt::params::sources
164 Creates new `apt::key` resources. Valid options: a hash to be passed to the create_resources function linked above.
166 Default value: $apt::params::keys
172 Creates new `apt::ppa` resources. Valid options: a hash to be passed to the create_resources function linked above.
174 Default value: $apt::params::ppas
180 Creates new `apt::pin` resources. Valid options: a hash to be passed to the create_resources function linked above.
182 Default value: $apt::params::pins
188 Creates new `apt::setting` resources. Valid options: a hash to be passed to the create_resources function linked above.
190 Default value: $apt::params::settings
192 ##### `auth_conf_entries`
194 Data type: `Array[Apt::Auth_conf_entry]`
196 An optional array of login configuration settings (hashes) that are recorded in the file /etc/apt/auth.conf. This file has a netrc-like
197 format (similar to what curl uses) and contains the login configuration for APT sources and proxies that require authentication. See
198 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
199 password and no others.
201 Default value: $apt::params::auth_conf_entries
207 Specifies root directory of Apt executable.
209 Default value: $apt::params::root
215 Specifies the path of the sources_list file to use.
217 Default value: $apt::params::sources_list
219 ##### `sources_list_d`
223 Specifies the path of the sources_list.d file to use.
225 Default value: $apt::params::sources_list_d
231 Specifies the path of the conf.d file to use.
233 Default value: $apt::params::conf_d
239 Specifies the path of the preferences file to use.
241 Default value: $apt::params::preferences
243 ##### `preferences_d`
247 Specifies the path of the preferences.d file to use.
249 Default value: $apt::params::preferences_d
255 A hash made up of the various configuration files used by Apt.
257 Default value: $apt::params::config_files
259 ##### `update_defaults`
265 Default value: $apt::params::update_defaults
267 ##### `purge_defaults`
273 Default value: $apt::params::purge_defaults
275 ##### `proxy_defaults`
281 Default value: $apt::params::proxy_defaults
283 ##### `include_defaults`
289 Default value: $apt::params::include_defaults
291 ##### `source_key_defaults`
297 Default value: $apt::params::source_key_defaults
305 ##### Set up a backport for linuxmint qiana
308 apt::backports { 'qiana':
309 location => 'http://us.archive.ubuntu.com/ubuntu',
310 release => 'trusty-backports',
311 repos => 'main universe multiverse restricted',
313 id => '630239CC130E1A7FD81A27B140976EAF437D05B5',
314 server => 'hkps.pool.sks-keyservers.net',
321 The following parameters are available in the `apt::backports` class.
325 Data type: `Optional[String]`
327 Specifies an Apt repository containing the backports to manage. Valid options: a string containing a URL. Default value for Debian and
330 - Debian: 'http://deb.debian.org/debian'
332 - Ubuntu: 'http://archive.ubuntu.com/ubuntu'
334 Default value: `undef`
338 Data type: `Optional[String]`
340 Specifies a distribution of the Apt repository containing the backports to manage. Used in populating the `source.list` configuration file.
341 Default: on Debian and Ubuntu, '${lsbdistcodename}-backports'. We recommend keeping this default, except on other operating
344 Default value: `undef`
348 Data type: `Optional[String]`
350 Specifies a component of the Apt repository containing the backports to manage. Used in populating the `source.list` configuration file.
351 Default value for Debian and Ubuntu varies:
353 - Debian: 'main contrib non-free'
355 - Ubuntu: 'main universe multiverse restricted'
357 Default value: `undef`
361 Data type: `Optional[Variant[String, Hash]]`
363 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
364 hash of parameter => value pairs to be passed to apt::key's id, server, content, source, and/or options parameters. Default value
365 for Debian and Ubuntu varies:
367 - Debian: 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553'
369 - Ubuntu: '630239CC130E1A7FD81A27B140976EAF437D05B5'
371 Default value: `undef`
375 Data type: `Optional[Variant[Integer, String, Hash]]`
377 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
378 type, or a hash of `parameter => value` pairs to be passed to `apt::pin`'s corresponding parameters.
386 Specifies a custom Apt configuration file.
390 The following parameters are available in the `apt::conf` defined type.
394 Data type: `Optional[String]`
396 Required unless `ensure` is set to 'absent'. Directly supplies content for the configuration file.
398 Default value: `undef`
402 Data type: `Enum['present', 'absent']`
404 Specifies whether the configuration file should exist. Valid options: 'present' and 'absent'.
406 Default value: present
410 Data type: `Variant[String, Integer]`
412 Determines the order in which Apt processes the configuration file. Files with lower priority numbers are loaded first.
413 Valid options: a string containing an integer or an integer.
417 ##### `notify_update`
419 Data type: `Optional[Boolean]`
421 Specifies whether to trigger an `apt-get update` run.
423 Default value: `undef`
427 Manages the GPG keys that Apt uses to authenticate packages.
429 * **Note** The apt::key defined type makes use of the apt_key type, but includes extra functionality to help prevent duplicate keys.
433 ##### Declare Apt key for apt.puppetlabs.com source
436 apt::key { 'puppetlabs':
437 id => '6F6B15509CF8E59E6E469F327F438280EF8D349F',
438 server => 'hkps.pool.sks-keyservers.net',
439 options => 'http-proxy="http://proxyuser:proxypass@example.org:3128"',
445 The following parameters are available in the `apt::key` defined type.
449 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/]`
451 Specifies a GPG key to authenticate Apt package signatures. Valid options: a string containing a key ID (8 or 16 hexadecimal
452 characters, optionally prefixed with "0x") or a full key fingerprint (40 hexadecimal characters).
454 Default value: $title
458 Data type: `Enum['present', 'absent', 'refreshed']`
460 Specifies whether the key should exist. Valid options: 'present', 'absent' or 'refreshed'. Using 'refreshed' will make keys auto
461 update when they have expired (assuming a new key exists on the key server).
463 Default value: present
467 Data type: `Optional[String]`
469 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.
471 Default value: `undef`
475 Data type: `Optional[Pattern[/\Ahttps?:\/\//, /\Aftp:\/\//, /\A\/\w+/]]`
477 Specifies the location of an existing GPG key file to copy. Valid options: a string containing a URL (ftp://, http://, or https://) or
480 Default value: `undef`
484 Data type: `Pattern[/\A((hkp|hkps|http|https):\/\/)?([a-z\d])([a-z\d-]{0,61}\.)+[a-z\d]+(:\d{2,5})?$/]`
486 Specifies a keyserver to provide the GPG key. Valid options: a string containing a domain name or a full URL (http://, https://,
487 hkp:// or hkps://). The hkps:// protocol is currently only supported on Ubuntu 18.04.
489 Default value: $::apt::keyserver
493 Data type: `Optional[String]`
495 Passes additional options to `apt-key adv --keyserver-options`.
497 Default value: `undef`
501 Manages Apt pins. Does not trigger an apt-get update run.
504 http://linux.die.net/man/5/apt_preferences
505 for context on these parameters
509 The following parameters are available in the `apt::pin` defined type.
513 Data type: `Optional[Enum['file', 'present', 'absent']]`
515 Specifies whether the pin should exist. Valid options: 'file', 'present', and 'absent'.
517 Default value: present
521 Data type: `Optional[String]`
523 Supplies a comment to explain the pin. Default: "${caller_module_name}: ${name}".
525 Default value: `undef`
529 Data type: `Variant[Integer]`
531 Determines the order in which Apt processes the pin file. Files with lower order numbers are loaded first.
537 Data type: `Variant[String, Array]`
539 Specifies which package(s) to pin.
545 Data type: `Variant[Numeric, String]`
547 Sets the priority of the package. If multiple versions of a given package are available, `apt-get` installs the one with the highest
548 priority number (subject to dependency constraints). Valid options: an integer.
554 Data type: `Optional[String]`
556 Tells APT to prefer packages that support the specified release. Typical values include 'stable', 'testing', and 'unstable'.
560 ##### `release_version`
562 Data type: `Optional[String]`
564 Tells APT to prefer packages that support the specified operating system release version (such as Debian release version 7).
570 Data type: `Optional[String]`
572 Names the licensing component associated with the packages in the directory tree of the Release file.
578 Data type: `Optional[String]`
580 Names the originator of the packages in the directory tree of the Release file.
586 Data type: `Optional[String]`
588 Names the label of the packages in the directory tree of the Release file.
594 Data type: `Optional[String]`
602 Data type: `Optional[String]`
610 Data type: `Optional[String]`
618 Manages PPA repositories using `add-apt-repository`. Not supported on Debian.
622 ##### Example declaration of an Apt PPA
625 apt::ppa{ 'ppa:openstack-ppa/bleeding-edge': }
630 The following parameters are available in the `apt::ppa` defined type.
636 Specifies whether the PPA should exist. Valid options: 'present' and 'absent'.
638 Default value: 'present'
642 Data type: `Optional[String]`
644 Supplies options to be passed to the `add-apt-repository` command. Default: '-y'.
646 Default value: $::apt::ppa_options
650 Data type: `Optional[String]`
652 Optional if lsb-release is installed (unless you're using a different release than indicated by lsb-release, e.g., Linux Mint).
653 Specifies the operating system of your node. Valid options: a string containing a valid LSB distribution codename.
655 Default value: $facts['lsbdistcodename']
659 Data type: `Optional[String]`
661 Names the package that provides the `apt-add-repository` command. Default: 'software-properties-common'.
663 Default value: $::apt::ppa_package
665 ##### `package_manage`
669 Specifies whether Puppet should manage the package that provides `apt-add-repository`.
671 Default value: `false`
675 Manages Apt configuration files.
678 https://docs.puppetlabs.com/references/latest/type.html#file-attributes
679 for more information on source and content parameters
683 The following parameters are available in the `apt::setting` defined type.
687 Data type: `Variant[String, Integer, Array]`
689 Determines the order in which Apt processes the configuration file. Files with higher priority numbers are loaded first.
695 Data type: `Optional[Enum['file', 'present', 'absent']]`
697 Specifies whether the file should exist. Valid options: 'present', 'absent', and 'file'.
703 Data type: `Optional[String]`
705 Required, unless `content` is set. Specifies a source file to supply the content of the configuration file. Cannot be used in combination
706 with `content`. Valid options: see link above for Puppet's native file type source attribute.
708 Default value: `undef`
712 Data type: `Optional[String]`
714 Required, unless `source` is set. Directly supplies content for the configuration file. Cannot be used in combination with `source`. Valid
715 options: see link above for Puppet's native file type content attribute.
717 Default value: `undef`
719 ##### `notify_update`
723 Specifies whether to trigger an `apt-get update` run.
725 Default value: `true`
729 Manages the Apt sources in /etc/apt/sources.list.d/.
733 ##### Install the puppetlabs apt source
736 apt::source { 'puppetlabs':
737 location => 'http://apt.puppetlabs.com',
740 id => '6F6B15509CF8E59E6E469F327F438280EF8D349F',
741 server => 'hkps.pool.sks-keyservers.net',
748 The following parameters are available in the `apt::source` defined type.
752 Data type: `Optional[String]`
754 Required, unless ensure is set to 'absent'. Specifies an Apt repository. Valid options: a string containing a repository URL.
756 Default value: `undef`
762 Supplies a comment for adding to the Apt source file.
770 Specifies whether the Apt source file should exist. Valid options: 'present' and 'absent'.
772 Default value: present
776 Data type: `Optional[String]`
778 Specifies a distribution of the Apt repository.
780 Default value: `undef`
786 Specifies a component of the Apt repository.
788 Default value: 'main'
792 Data type: `Optional[Variant[Hash]]`
794 Configures include options. Valid options: a hash of available keys.
798 * **:deb** `Boolean`: Specifies whether to request the distribution's compiled binaries. Default true.
799 * **:src** `Boolean`: Specifies whether to request the distribution's uncompiled source code. Default false.
805 Data type: `Optional[Variant[String, Hash]]`
807 Creates a declaration of the apt::key defined type. Valid options: a string to be passed to the `id` parameter of the `apt::key`
808 defined type, or a hash of `parameter => value` pairs to be passed to `apt::key`'s `id`, `server`, `content`, `source`, and/or
809 `options` parameters.
811 Default value: `undef`
815 Data type: `Optional[Variant[Hash, Numeric, String]]`
817 Creates a declaration of the apt::pin defined type. Valid options: a number or string to be passed to the `id` parameter of the
818 `apt::pin` defined type, or a hash of `parameter => value` pairs to be passed to `apt::pin`'s corresponding parameters.
820 Default value: `undef`
824 Data type: `Optional[String]`
826 Tells Apt to only download information for specified architectures. Valid options: a string containing one or more architecture names,
827 separated by commas (e.g., 'i386' or 'i386,alpha,powerpc'). Default: undef (if unspecified, Apt downloads information for all architectures
828 defined in the Apt::Architectures option).
830 Default value: `undef`
832 ##### `allow_unsigned`
836 Specifies whether to authenticate packages from this release, even if the Release file is not signed or the signature can't be checked.
838 Default value: `false`
840 ##### `notify_update`
844 Specifies whether to trigger an `apt-get update` run.
846 Default value: `true`
854 Allows you to perform apt functions
856 **Supports noop?** false
862 Data type: `Enum[update, upgrade]`