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://, or
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']`
460 Specifies whether the key should exist. Valid options: 'present' and 'absent'.
462 Default value: present
466 Data type: `Optional[String]`
468 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.
470 Default value: `undef`
474 Data type: `Optional[Pattern[/\Ahttps?:\/\//, /\Aftp:\/\//, /\A\/\w+/]]`
476 Specifies the location of an existing GPG key file to copy. Valid options: a string containing a URL (ftp://, http://, or https://) or
479 Default value: `undef`
483 Data type: `Pattern[/\A((hkp|http|https):\/\/)?([a-z\d])([a-z\d-]{0,61}\.)+[a-z\d]+(:\d{2,5})?$/]`
485 Specifies a keyserver to provide the GPG key. Valid options: a string containing a domain name or a full URL (http://, https://, or
488 Default value: $::apt::keyserver
492 Data type: `Optional[String]`
494 Passes additional options to `apt-key adv --keyserver-options`.
496 Default value: `undef`
500 Manages Apt pins. Does not trigger an apt-get update run.
503 http://linux.die.net/man/5/apt_preferences
504 for context on these parameters
508 The following parameters are available in the `apt::pin` defined type.
512 Data type: `Optional[Enum['file', 'present', 'absent']]`
514 Specifies whether the pin should exist. Valid options: 'file', 'present', and 'absent'.
516 Default value: present
520 Data type: `Optional[String]`
522 Supplies a comment to explain the pin. Default: "${caller_module_name}: ${name}".
524 Default value: `undef`
528 Data type: `Variant[Integer]`
530 Determines the order in which Apt processes the pin file. Files with lower order numbers are loaded first.
536 Data type: `Variant[String, Array]`
538 Specifies which package(s) to pin.
544 Data type: `Variant[Numeric, String]`
546 Sets the priority of the package. If multiple versions of a given package are available, `apt-get` installs the one with the highest
547 priority number (subject to dependency constraints). Valid options: an integer.
553 Data type: `Optional[String]`
555 Tells APT to prefer packages that support the specified release. Typical values include 'stable', 'testing', and 'unstable'.
559 ##### `release_version`
561 Data type: `Optional[String]`
563 Tells APT to prefer packages that support the specified operating system release version (such as Debian release version 7).
569 Data type: `Optional[String]`
571 Names the licensing component associated with the packages in the directory tree of the Release file.
577 Data type: `Optional[String]`
579 Names the originator of the packages in the directory tree of the Release file.
585 Data type: `Optional[String]`
587 Names the label of the packages in the directory tree of the Release file.
593 Data type: `Optional[String]`
601 Data type: `Optional[String]`
609 Data type: `Optional[String]`
617 Manages PPA repositories using `add-apt-repository`. Not supported on Debian.
621 ##### Example declaration of an Apt PPA
624 apt::ppa{ 'ppa:openstack-ppa/bleeding-edge': }
629 The following parameters are available in the `apt::ppa` defined type.
635 Specifies whether the PPA should exist. Valid options: 'present' and 'absent'.
637 Default value: 'present'
641 Data type: `Optional[String]`
643 Supplies options to be passed to the `add-apt-repository` command. Default: '-y'.
645 Default value: $::apt::ppa_options
649 Data type: `Optional[String]`
651 Optional if lsb-release is installed (unless you're using a different release than indicated by lsb-release, e.g., Linux Mint).
652 Specifies the operating system of your node. Valid options: a string containing a valid LSB distribution codename.
654 Default value: $facts['lsbdistcodename']
658 Data type: `Optional[String]`
660 Names the package that provides the `apt-add-repository` command. Default: 'software-properties-common'.
662 Default value: $::apt::ppa_package
664 ##### `package_manage`
668 Specifies whether Puppet should manage the package that provides `apt-add-repository`.
670 Default value: `false`
674 Manages Apt configuration files.
677 https://docs.puppetlabs.com/references/latest/type.html#file-attributes
678 for more information on source and content parameters
682 The following parameters are available in the `apt::setting` defined type.
686 Data type: `Variant[String, Integer, Array]`
688 Determines the order in which Apt processes the configuration file. Files with higher priority numbers are loaded first.
694 Data type: `Optional[Enum['file', 'present', 'absent']]`
696 Specifies whether the file should exist. Valid options: 'present', 'absent', and 'file'.
702 Data type: `Optional[String]`
704 Required, unless `content` is set. Specifies a source file to supply the content of the configuration file. Cannot be used in combination
705 with `content`. Valid options: see link above for Puppet's native file type source attribute.
707 Default value: `undef`
711 Data type: `Optional[String]`
713 Required, unless `source` is set. Directly supplies content for the configuration file. Cannot be used in combination with `source`. Valid
714 options: see link above for Puppet's native file type content attribute.
716 Default value: `undef`
718 ##### `notify_update`
722 Specifies whether to trigger an `apt-get update` run.
724 Default value: `true`
728 Manages the Apt sources in /etc/apt/sources.list.d/.
732 ##### Install the puppetlabs apt source
735 apt::source { 'puppetlabs':
736 location => 'http://apt.puppetlabs.com',
739 id => '6F6B15509CF8E59E6E469F327F438280EF8D349F',
740 server => 'hkps.pool.sks-keyservers.net',
747 The following parameters are available in the `apt::source` defined type.
751 Data type: `Optional[String]`
753 Required, unless ensure is set to 'absent'. Specifies an Apt repository. Valid options: a string containing a repository URL.
755 Default value: `undef`
761 Supplies a comment for adding to the Apt source file.
769 Specifies whether the Apt source file should exist. Valid options: 'present' and 'absent'.
771 Default value: present
775 Data type: `Optional[String]`
777 Specifies a distribution of the Apt repository.
779 Default value: `undef`
785 Specifies a component of the Apt repository.
787 Default value: 'main'
791 Data type: `Optional[Variant[Hash]]`
793 Configures include options. Valid options: a hash of available keys.
797 * **:deb** `Boolean`: Specifies whether to request the distribution's compiled binaries. Default true.
798 * **:src** `Boolean`: Specifies whether to request the distribution's uncompiled source code. Default false.
804 Data type: `Optional[Variant[String, Hash]]`
806 Creates a declaration of the apt::key defined type. Valid options: a string to be passed to the `id` parameter of the `apt::key`
807 defined type, or a hash of `parameter => value` pairs to be passed to `apt::key`'s `id`, `server`, `content`, `source`, and/or
808 `options` parameters.
810 Default value: `undef`
814 Data type: `Optional[Variant[Hash, Numeric, String]]`
816 Creates a declaration of the apt::pin defined type. Valid options: a number or string to be passed to the `id` parameter of the
817 `apt::pin` defined type, or a hash of `parameter => value` pairs to be passed to `apt::pin`'s corresponding parameters.
819 Default value: `undef`
823 Data type: `Optional[String]`
825 Tells Apt to only download information for specified architectures. Valid options: a string containing one or more architecture names,
826 separated by commas (e.g., 'i386' or 'i386,alpha,powerpc'). Default: undef (if unspecified, Apt downloads information for all architectures
827 defined in the Apt::Architectures option).
829 Default value: `undef`
831 ##### `allow_unsigned`
835 Specifies whether to authenticate packages from this release, even if the Release file is not signed or the signature can't be checked.
837 Default value: `false`
839 ##### `notify_update`
843 Specifies whether to trigger an `apt-get update` run.
845 Default value: `true`
853 Allows you to perform apt functions
855 **Supports noop?** false
861 Data type: `Enum[update, upgrade]`