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): Manages apt-mark settings
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.
44 * [`Apt::Proxy_Per_Host`](#aptproxy_per_host): Adds per-host overrides to the system default APT proxy configuration
48 * [`init`](#init): Allows you to perform apt-get functions
52 ### <a name="apt"></a>`apt`
54 Main class, includes all other classes.
57 * https://docs.puppetlabs.com/references/latest/function.html#createresources
58 * for the create resource function
62 The following parameters are available in the `apt` class:
64 * [`provider`](#provider)
65 * [`keyserver`](#keyserver)
66 * [`key_options`](#key_options)
67 * [`ppa_options`](#ppa_options)
68 * [`ppa_package`](#ppa_package)
69 * [`backports`](#backports)
74 * [`sources`](#sources)
78 * [`settings`](#settings)
79 * [`manage_auth_conf`](#manage_auth_conf)
80 * [`auth_conf_entries`](#auth_conf_entries)
81 * [`auth_conf_owner`](#auth_conf_owner)
83 * [`sources_list`](#sources_list)
84 * [`sources_list_d`](#sources_list_d)
86 * [`preferences`](#preferences)
87 * [`preferences_d`](#preferences_d)
88 * [`config_files`](#config_files)
89 * [`sources_list_force`](#sources_list_force)
90 * [`update_defaults`](#update_defaults)
91 * [`purge_defaults`](#purge_defaults)
92 * [`proxy_defaults`](#proxy_defaults)
93 * [`include_defaults`](#include_defaults)
94 * [`apt_conf_d`](#apt_conf_d)
95 * [`source_key_defaults`](#source_key_defaults)
97 ##### <a name="provider"></a>`provider`
101 Specifies the provider that should be used by apt::update.
103 Default value: `$apt::params::provider`
105 ##### <a name="keyserver"></a>`keyserver`
109 Specifies a keyserver to provide the GPG key. Valid options: a string containing a domain name or a full URL (http://, https://, or
112 Default value: `$apt::params::keyserver`
114 ##### <a name="key_options"></a>`key_options`
116 Data type: `Optional[String]`
118 Specifies the default options for apt::key resources.
120 Default value: `$apt::params::key_options`
122 ##### <a name="ppa_options"></a>`ppa_options`
124 Data type: `Optional[Array[String]]`
126 Supplies options to be passed to the `add-apt-repository` command.
128 Default value: `$apt::params::ppa_options`
130 ##### <a name="ppa_package"></a>`ppa_package`
132 Data type: `Optional[String]`
134 Names the package that provides the `apt-add-repository` command.
136 Default value: `$apt::params::ppa_package`
138 ##### <a name="backports"></a>`backports`
140 Data type: `Optional[Hash]`
142 Specifies some of the default parameters used by apt::backports. Valid options: a hash made up from the following keys:
146 * **:location** `String`: See apt::backports for documentation.
147 * **:repos** `String`: See apt::backports for documentation.
148 * **:key** `String`: See apt::backports for documentation.
150 Default value: `$apt::params::backports`
152 ##### <a name="confs"></a>`confs`
156 Creates new `apt::conf` resources. Valid options: a hash to be passed to the create_resources function linked above.
158 Default value: `$apt::params::confs`
160 ##### <a name="update"></a>`update`
164 Configures various update settings. Valid options: a hash made up from the following keys:
168 * **:frequency** `String`: Specifies how often to run `apt-get update`. If the exec resource `apt_update` is notified,
169 `apt-get update` runs regardless of this value.
171 'always' (at every Puppet run);
172 daily' (if the value of `apt_update_last_success` is less than current epoch time minus 86400);
173 'weekly' (if the value of `apt_update_last_success` is less than current epoch time minus 604800);
174 'reluctantly' (only if the exec resource `apt_update` is notified).
175 Default: 'reluctantly'.
176 * **:loglevel** `Integer`: Specifies the log level of logs outputted to the console. Default: undef.
177 * **:timeout** `Integer`: Specifies how long to wait for the update to complete before canceling it. Valid options: an integer, in seconds. Default: undef.
178 * **:tries** `Integer`: Specifies how many times to retry the update after receiving a DNS or HTTP error. Default: undef.
180 Default value: `$apt::params::update`
182 ##### <a name="purge"></a>`purge`
186 Specifies whether to purge any existing settings that aren't managed by Puppet. Valid options: a hash made up from the following keys:
190 * **:sources.list** `Boolean`: Specifies whether to purge any unmanaged entries from sources.list. Default false.
191 * **:sources.list.d** `Boolean`: Specifies whether to purge any unmanaged entries from sources.list.d. Default false.
192 * **:preferences** `Boolean`: Specifies whether to purge any unmanaged entries from preferences. Default false.
193 * **:preferences.d.** `Boolean`: Specifies whether to purge any unmanaged entries from preferences.d. Default false.
195 Default value: `$apt::params::purge`
197 ##### <a name="proxy"></a>`proxy`
199 Data type: `Apt::Proxy`
201 Configures Apt to connect to a proxy server. Valid options: a hash matching the locally defined type apt::proxy.
203 Default value: `$apt::params::proxy`
205 ##### <a name="sources"></a>`sources`
209 Creates new `apt::source` resources. Valid options: a hash to be passed to the create_resources function linked above.
211 Default value: `$apt::params::sources`
213 ##### <a name="keys"></a>`keys`
217 Creates new `apt::key` resources. Valid options: a hash to be passed to the create_resources function linked above.
219 Default value: `$apt::params::keys`
221 ##### <a name="ppas"></a>`ppas`
225 Creates new `apt::ppa` resources. Valid options: a hash to be passed to the create_resources function linked above.
227 Default value: `$apt::params::ppas`
229 ##### <a name="pins"></a>`pins`
233 Creates new `apt::pin` resources. Valid options: a hash to be passed to the create_resources function linked above.
235 Default value: `$apt::params::pins`
237 ##### <a name="settings"></a>`settings`
241 Creates new `apt::setting` resources. Valid options: a hash to be passed to the create_resources function linked above.
243 Default value: `$apt::params::settings`
245 ##### <a name="manage_auth_conf"></a>`manage_auth_conf`
249 Specifies whether to manage the /etc/apt/auth.conf file. When true, the file will be overwritten with the entries specified in
250 the auth_conf_entries parameter. When false, the file will be ignored (note that this does not set the file to absent.
252 Default value: `$apt::params::manage_auth_conf`
254 ##### <a name="auth_conf_entries"></a>`auth_conf_entries`
256 Data type: `Array[Apt::Auth_conf_entry]`
258 An optional array of login configuration settings (hashes) that are recorded in the file /etc/apt/auth.conf. This file has a netrc-like
259 format (similar to what curl uses) and contains the login configuration for APT sources and proxies that require authentication. See
260 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
261 password and no others. Specifying manage_auth_conf and not specifying this parameter will set /etc/apt/auth.conf to absent.
263 Default value: `$apt::params::auth_conf_entries`
265 ##### <a name="auth_conf_owner"></a>`auth_conf_owner`
269 The owner of the file /etc/apt/auth.conf. Default: '_apt' or 'root' on old releases.
271 Default value: `$apt::params::auth_conf_owner`
273 ##### <a name="root"></a>`root`
277 Specifies root directory of Apt executable.
279 Default value: `$apt::params::root`
281 ##### <a name="sources_list"></a>`sources_list`
285 Specifies the path of the sources_list file to use.
287 Default value: `$apt::params::sources_list`
289 ##### <a name="sources_list_d"></a>`sources_list_d`
293 Specifies the path of the sources_list.d file to use.
295 Default value: `$apt::params::sources_list_d`
297 ##### <a name="conf_d"></a>`conf_d`
301 Specifies the path of the conf.d file to use.
303 Default value: `$apt::params::conf_d`
305 ##### <a name="preferences"></a>`preferences`
309 Specifies the path of the preferences file to use.
311 Default value: `$apt::params::preferences`
313 ##### <a name="preferences_d"></a>`preferences_d`
317 Specifies the path of the preferences.d file to use.
319 Default value: `$apt::params::preferences_d`
321 ##### <a name="config_files"></a>`config_files`
325 A hash made up of the various configuration files used by Apt.
327 Default value: `$apt::params::config_files`
329 ##### <a name="sources_list_force"></a>`sources_list_force`
333 Specifies whether to perform force purge or delete. Default false.
335 Default value: `$apt::params::sources_list_force`
337 ##### <a name="update_defaults"></a>`update_defaults`
343 Default value: `$apt::params::update_defaults`
345 ##### <a name="purge_defaults"></a>`purge_defaults`
351 Default value: `$apt::params::purge_defaults`
353 ##### <a name="proxy_defaults"></a>`proxy_defaults`
359 Default value: `$apt::params::proxy_defaults`
361 ##### <a name="include_defaults"></a>`include_defaults`
367 Default value: `$apt::params::include_defaults`
369 ##### <a name="apt_conf_d"></a>`apt_conf_d`
375 Default value: `$apt::params::apt_conf_d`
377 ##### <a name="source_key_defaults"></a>`source_key_defaults`
384 'server' => $keyserver,
390 ### <a name="aptbackports"></a>`apt::backports`
396 ##### Set up a backport source for Linux Mint qiana
399 class { 'apt::backports':
400 location => 'http://us.archive.ubuntu.com/ubuntu',
401 release => 'trusty-backports',
402 repos => 'main universe multiverse restricted',
404 id => '630239CC130E1A7FD81A27B140976EAF437D05B5',
405 server => 'keyserver.ubuntu.com',
412 The following parameters are available in the `apt::backports` class:
414 * [`location`](#location)
415 * [`release`](#release)
419 * [`include`](#include)
421 ##### <a name="location"></a>`location`
423 Data type: `Optional[String]`
425 Specifies an Apt repository containing the backports to manage. Valid options: a string containing a URL. Default value for Debian and
428 - Debian: 'http://deb.debian.org/debian'
430 - Ubuntu: 'http://archive.ubuntu.com/ubuntu'
432 Default value: ``undef``
434 ##### <a name="release"></a>`release`
436 Data type: `Optional[String]`
438 Specifies a distribution of the Apt repository containing the backports to manage. Used in populating the `source.list` configuration file.
439 Default: on Debian and Ubuntu, `${fact('os.distro.codename')}-backports`. We recommend keeping this default, except on other operating
442 Default value: ``undef``
444 ##### <a name="repos"></a>`repos`
446 Data type: `Optional[String]`
448 Specifies a component of the Apt repository containing the backports to manage. Used in populating the `source.list` configuration file.
449 Default value for Debian and Ubuntu varies:
451 - Debian: 'main contrib non-free'
453 - Ubuntu: 'main universe multiverse restricted'
455 Default value: ``undef``
457 ##### <a name="key"></a>`key`
459 Data type: `Optional[Variant[String, Hash]]`
461 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
462 hash of parameter => value pairs to be passed to apt::key's id, server, content, source, and/or options parameters. Default value
463 for Debian and Ubuntu varies:
465 - Debian: 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553'
467 - Ubuntu: '630239CC130E1A7FD81A27B140976EAF437D05B5'
469 Default value: ``undef``
471 ##### <a name="pin"></a>`pin`
473 Data type: `Variant[Integer, String, Hash]`
475 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
476 type, or a hash of `parameter => value` pairs to be passed to `apt::pin`'s corresponding parameters.
480 ##### <a name="include"></a>`include`
482 Data type: `Variant[Hash]`
484 Specifies whether to include 'deb' or 'src', or both.
490 ### <a name="aptconf"></a>`apt::conf`
492 Specifies a custom Apt configuration file.
496 The following parameters are available in the `apt::conf` defined type:
498 * [`content`](#content)
499 * [`ensure`](#ensure)
500 * [`priority`](#priority)
501 * [`notify_update`](#notify_update)
503 ##### <a name="content"></a>`content`
505 Data type: `Optional[String]`
507 Required unless `ensure` is set to 'absent'. Directly supplies content for the configuration file.
509 Default value: ``undef``
511 ##### <a name="ensure"></a>`ensure`
513 Data type: `Enum['present', 'absent']`
515 Specifies whether the configuration file should exist. Valid options: 'present' and 'absent'.
517 Default value: `present`
519 ##### <a name="priority"></a>`priority`
521 Data type: `Variant[String, Integer]`
523 Determines the order in which Apt processes the configuration file. Files with lower priority numbers are loaded first.
524 Valid options: a string containing an integer or an integer.
528 ##### <a name="notify_update"></a>`notify_update`
530 Data type: `Optional[Boolean]`
532 Specifies whether to trigger an `apt-get update` run.
534 Default value: ``undef``
536 ### <a name="aptkey"></a>`apt::key`
538 Manages the GPG keys that Apt uses to authenticate packages.
540 * **Note** The apt::key defined type makes use of the apt_key type, but includes extra functionality to help prevent duplicate keys.
544 ##### Declare Apt key for apt.puppetlabs.com source
547 apt::key { 'puppetlabs':
548 id => '6F6B15509CF8E59E6E469F327F438280EF8D349F',
549 server => 'keyserver.ubuntu.com',
550 options => 'http-proxy="http://proxyuser:proxypass@example.org:3128"',
556 The following parameters are available in the `apt::key` defined type:
559 * [`ensure`](#ensure)
560 * [`content`](#content)
561 * [`source`](#source)
562 * [`server`](#server)
563 * [`weak_ssl`](#weak_ssl)
564 * [`options`](#options)
566 ##### <a name="id"></a>`id`
568 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/]`
570 Specifies a GPG key to authenticate Apt package signatures. Valid options: a string containing a key ID (8 or 16 hexadecimal
571 characters, optionally prefixed with "0x") or a full key fingerprint (40 hexadecimal characters).
573 Default value: `$title`
575 ##### <a name="ensure"></a>`ensure`
577 Data type: `Enum['present', 'absent', 'refreshed']`
579 Specifies whether the key should exist. Valid options: 'present', 'absent' or 'refreshed'. Using 'refreshed' will make keys auto
580 update when they have expired (assuming a new key exists on the key server).
582 Default value: `present`
584 ##### <a name="content"></a>`content`
586 Data type: `Optional[String]`
588 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.
590 Default value: ``undef``
592 ##### <a name="source"></a>`source`
594 Data type: `Optional[Pattern[/\Ahttps?:\/\//, /\Aftp:\/\//, /\A\/\w+/]]`
596 Specifies the location of an existing GPG key file to copy. Valid options: a string containing a URL (ftp://, http://, or https://) or
599 Default value: ``undef``
601 ##### <a name="server"></a>`server`
603 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\-_.]+)*\/?$/]`
605 Specifies a keyserver to provide the GPG key. Valid options: a string containing a domain name or a full URL (http://, https://,
606 hkp:// or hkps://). The hkps:// protocol is currently only supported on Ubuntu 18.04.
608 Default value: `$apt::keyserver`
610 ##### <a name="weak_ssl"></a>`weak_ssl`
614 Specifies whether strict SSL verification on a https URL should be disabled. Valid options: true or false.
616 Default value: ``false``
618 ##### <a name="options"></a>`options`
620 Data type: `Optional[String]`
622 Passes additional options to `apt-key adv --keyserver-options`.
624 Default value: `$apt::key_options`
626 ### <a name="aptmark"></a>`apt::mark`
628 Manages apt-mark settings
632 The following parameters are available in the `apt::mark` defined type:
634 * [`setting`](#setting)
636 ##### <a name="setting"></a>`setting`
638 Data type: `Enum['auto','manual','hold','unhold']`
640 auto, manual, hold, unhold
641 specifies the behavior of apt in case of no more dependencies installed
642 https://manpages.debian.org/stable/apt/apt-mark.8.en.html
644 ### <a name="aptpin"></a>`apt::pin`
646 Manages Apt pins. Does not trigger an apt-get update run.
649 * http://linux.die.net/man/5/apt_preferences
650 * for context on these parameters
654 The following parameters are available in the `apt::pin` defined type:
656 * [`ensure`](#ensure)
657 * [`explanation`](#explanation)
659 * [`packages`](#packages)
660 * [`priority`](#priority)
661 * [`release`](#release)
662 * [`release_version`](#release_version)
663 * [`component`](#component)
664 * [`originator`](#originator)
666 * [`origin`](#origin)
667 * [`version`](#version)
668 * [`codename`](#codename)
670 ##### <a name="ensure"></a>`ensure`
672 Data type: `Enum['file', 'present', 'absent']`
674 Specifies whether the pin should exist. Valid options: 'file', 'present', and 'absent'.
676 Default value: `present`
678 ##### <a name="explanation"></a>`explanation`
680 Data type: `Optional[String]`
682 Supplies a comment to explain the pin. Default: "${caller_module_name}: ${name}".
684 Default value: ``undef``
686 ##### <a name="order"></a>`order`
688 Data type: `Variant[Integer]`
690 Determines the order in which Apt processes the pin file. Files with lower order numbers are loaded first.
694 ##### <a name="packages"></a>`packages`
696 Data type: `Variant[String, Array]`
698 Specifies which package(s) to pin.
702 ##### <a name="priority"></a>`priority`
704 Data type: `Variant[Numeric, String]`
706 Sets the priority of the package. If multiple versions of a given package are available, `apt-get` installs the one with the highest
707 priority number (subject to dependency constraints). Valid options: an integer.
711 ##### <a name="release"></a>`release`
713 Data type: `Optional[String]`
715 Tells APT to prefer packages that support the specified release. Typical values include 'stable', 'testing', and 'unstable'.
719 ##### <a name="release_version"></a>`release_version`
721 Data type: `Optional[String]`
723 Tells APT to prefer packages that support the specified operating system release version (such as Debian release version 7).
727 ##### <a name="component"></a>`component`
729 Data type: `Optional[String]`
731 Names the licensing component associated with the packages in the directory tree of the Release file.
735 ##### <a name="originator"></a>`originator`
737 Data type: `Optional[String]`
739 Names the originator of the packages in the directory tree of the Release file.
743 ##### <a name="label"></a>`label`
745 Data type: `Optional[String]`
747 Names the label of the packages in the directory tree of the Release file.
751 ##### <a name="origin"></a>`origin`
753 Data type: `Optional[String]`
759 ##### <a name="version"></a>`version`
761 Data type: `Optional[String]`
767 ##### <a name="codename"></a>`codename`
769 Data type: `Optional[String]`
775 ### <a name="aptppa"></a>`apt::ppa`
777 Manages PPA repositories using `add-apt-repository`. Not supported on Debian.
781 ##### Example declaration of an Apt PPA
784 apt::ppa{ 'ppa:openstack-ppa/bleeding-edge': }
789 The following parameters are available in the `apt::ppa` defined type:
791 * [`ensure`](#ensure)
792 * [`options`](#options)
793 * [`release`](#release)
795 * [`package_name`](#package_name)
796 * [`package_manage`](#package_manage)
798 ##### <a name="ensure"></a>`ensure`
802 Specifies whether the PPA should exist. Valid options: 'present' and 'absent'.
804 Default value: `'present'`
806 ##### <a name="options"></a>`options`
808 Data type: `Optional[Array[String]]`
810 Supplies options to be passed to the `add-apt-repository` command. Default: '-y'.
812 Default value: `$apt::ppa_options`
814 ##### <a name="release"></a>`release`
816 Data type: `Optional[String]`
818 Specifies the operating system of your node. Valid options: a string containing a valid LSB distribution codename.
819 Optional if `puppet facts show os.distro.codename` returns your correct distribution release codename.
821 Default value: `fact('os.distro.codename')`
823 ##### <a name="dist"></a>`dist`
825 Data type: `Optional[String]`
827 Specifies the distribution of your node. Valid options: a string containing a valid distribution codename.
828 Optional if `puppet facts show os.name` returns your correct distribution name.
830 Default value: `$facts['os']['name']`
832 ##### <a name="package_name"></a>`package_name`
834 Data type: `Optional[String]`
836 Names the package that provides the `apt-add-repository` command. Default: 'software-properties-common'.
838 Default value: `$apt::ppa_package`
840 ##### <a name="package_manage"></a>`package_manage`
844 Specifies whether Puppet should manage the package that provides `apt-add-repository`.
846 Default value: ``false``
848 ### <a name="aptsetting"></a>`apt::setting`
850 Manages Apt configuration files.
853 * https://docs.puppetlabs.com/references/latest/type.html#file-attributes
854 * for more information on source and content parameters
858 The following parameters are available in the `apt::setting` defined type:
860 * [`priority`](#priority)
861 * [`ensure`](#ensure)
862 * [`source`](#source)
863 * [`content`](#content)
864 * [`notify_update`](#notify_update)
866 ##### <a name="priority"></a>`priority`
868 Data type: `Variant[String, Integer, Array]`
870 Determines the order in which Apt processes the configuration file. Files with higher priority numbers are loaded first.
874 ##### <a name="ensure"></a>`ensure`
876 Data type: `Enum['file', 'present', 'absent']`
878 Specifies whether the file should exist. Valid options: 'present', 'absent', and 'file'.
880 Default value: `file`
882 ##### <a name="source"></a>`source`
884 Data type: `Optional[String]`
886 Required, unless `content` is set. Specifies a source file to supply the content of the configuration file. Cannot be used in combination
887 with `content`. Valid options: see link above for Puppet's native file type source attribute.
889 Default value: ``undef``
891 ##### <a name="content"></a>`content`
893 Data type: `Optional[String]`
895 Required, unless `source` is set. Directly supplies content for the configuration file. Cannot be used in combination with `source`. Valid
896 options: see link above for Puppet's native file type content attribute.
898 Default value: ``undef``
900 ##### <a name="notify_update"></a>`notify_update`
904 Specifies whether to trigger an `apt-get update` run.
906 Default value: ``true``
908 ### <a name="aptsource"></a>`apt::source`
910 Manages the Apt sources in /etc/apt/sources.list.d/.
914 ##### Install the puppetlabs apt source
917 apt::source { 'puppetlabs':
918 location => 'http://apt.puppetlabs.com',
921 id => '6F6B15509CF8E59E6E469F327F438280EF8D349F',
922 server => 'keyserver.ubuntu.com',
929 The following parameters are available in the `apt::source` defined type:
931 * [`location`](#location)
932 * [`comment`](#comment)
933 * [`ensure`](#ensure)
934 * [`release`](#release)
936 * [`include`](#include)
938 * [`keyring`](#keyring)
940 * [`architecture`](#architecture)
941 * [`allow_unsigned`](#allow_unsigned)
942 * [`allow_insecure`](#allow_insecure)
943 * [`notify_update`](#notify_update)
944 * [`check_valid_until`](#check_valid_until)
946 ##### <a name="location"></a>`location`
948 Data type: `Optional[String]`
950 Required, unless ensure is set to 'absent'. Specifies an Apt repository. Valid options: a string containing a repository URL.
952 Default value: ``undef``
954 ##### <a name="comment"></a>`comment`
958 Supplies a comment for adding to the Apt source file.
960 Default value: `$name`
962 ##### <a name="ensure"></a>`ensure`
966 Specifies whether the Apt source file should exist. Valid options: 'present' and 'absent'.
968 Default value: `present`
970 ##### <a name="release"></a>`release`
972 Data type: `Optional[String]`
974 Specifies a distribution of the Apt repository.
976 Default value: ``undef``
978 ##### <a name="repos"></a>`repos`
982 Specifies a component of the Apt repository.
984 Default value: `'main'`
986 ##### <a name="include"></a>`include`
988 Data type: `Variant[Hash]`
990 Configures include options. Valid options: a hash of available keys.
994 * **:deb** `Boolean`: Specifies whether to request the distribution's compiled binaries. Default true.
995 * **:src** `Boolean`: Specifies whether to request the distribution's uncompiled source code. Default false.
999 ##### <a name="key"></a>`key`
1001 Data type: `Optional[Variant[String, Hash]]`
1003 Creates a declaration of the apt::key defined type. Valid options: a string to be passed to the `id` parameter of the `apt::key`
1004 defined type, or a hash of `parameter => value` pairs to be passed to `apt::key`'s `id`, `server`, `content`, `source`, `weak_ssl`,
1005 and/or `options` parameters.
1007 Default value: ``undef``
1009 ##### <a name="keyring"></a>`keyring`
1011 Data type: `Optional[Stdlib::AbsolutePath]`
1013 Absolute path to a file containing the PGP keyring used to sign this repository. Value is used to set signed-by on the source entry.
1014 See https://wiki.debian.org/DebianRepository/UseThirdParty for details.
1016 Default value: ``undef``
1018 ##### <a name="pin"></a>`pin`
1020 Data type: `Optional[Variant[Hash, Numeric, String]]`
1022 Creates a declaration of the apt::pin defined type. Valid options: a number or string to be passed to the `id` parameter of the
1023 `apt::pin` defined type, or a hash of `parameter => value` pairs to be passed to `apt::pin`'s corresponding parameters.
1025 Default value: ``undef``
1027 ##### <a name="architecture"></a>`architecture`
1029 Data type: `Optional[String]`
1031 Tells Apt to only download information for specified architectures. Valid options: a string containing one or more architecture names,
1032 separated by commas (e.g., 'i386' or 'i386,alpha,powerpc'). Default: undef (if unspecified, Apt downloads information for all architectures
1033 defined in the Apt::Architectures option).
1035 Default value: ``undef``
1037 ##### <a name="allow_unsigned"></a>`allow_unsigned`
1039 Data type: `Boolean`
1041 Specifies whether to authenticate packages from this release, even if the Release file is not signed or the signature can't be checked.
1043 Default value: ``false``
1045 ##### <a name="allow_insecure"></a>`allow_insecure`
1047 Data type: `Boolean`
1049 Specifies whether to allow downloads from insecure repositories.
1051 Default value: ``false``
1053 ##### <a name="notify_update"></a>`notify_update`
1055 Data type: `Boolean`
1057 Specifies whether to trigger an `apt-get update` run.
1059 Default value: ``true``
1061 ##### <a name="check_valid_until"></a>`check_valid_until`
1063 Data type: `Boolean`
1065 Specifies whether to check if the package release date is valid. Defaults to `True`.
1067 Default value: ``true``
1073 ### <a name="aptauth_conf_entry"></a>`Apt::Auth_conf_entry`
1075 Login configuration settings that are recorded in the file `/etc/apt/auth.conf`.
1078 * https://manpages.debian.org/testing/apt/apt_auth.conf.5.en.html
1079 * for more information
1085 machine => String[1],
1093 The following parameters are available in the `Apt::Auth_conf_entry` data type:
1095 * [`machine`](#machine)
1097 * [`password`](#password)
1099 ##### <a name="machine"></a>`machine`
1101 Hostname of machine to connect to.
1103 ##### <a name="login"></a>`login`
1105 Specifies the username to connect with.
1107 ##### <a name="password"></a>`password`
1109 Specifies the password to connect with.
1111 ### <a name="aptproxy"></a>`Apt::Proxy`
1113 Configures Apt to connect to a proxy server.
1119 ensure => Optional[Enum['file', 'present', 'absent']],
1120 host => Optional[String],
1121 port => Optional[Integer[0, 65535]],
1122 https => Optional[Boolean],
1123 https_acng => Optional[Boolean],
1124 direct => Optional[Boolean],
1125 perhost => Optional[Array[Apt::Proxy_Per_Host]],
1131 The following parameters are available in the `Apt::Proxy` data type:
1133 * [`ensure`](#ensure)
1137 * [`direct`](#direct)
1139 ##### <a name="ensure"></a>`ensure`
1141 Specifies whether the proxy should exist. Valid options: 'file', 'present', and 'absent'. Prefer 'file' over 'present'.
1143 ##### <a name="host"></a>`host`
1145 Specifies a proxy host to be stored in `/etc/apt/apt.conf.d/01proxy`. Valid options: a string containing a hostname.
1147 ##### <a name="port"></a>`port`
1149 Specifies a proxy port to be stored in `/etc/apt/apt.conf.d/01proxy`. Valid options: an integer containing a port number.
1151 ##### <a name="https"></a>`https`
1153 Specifies whether to enable https proxies.
1155 ##### <a name="direct"></a>`direct`
1157 Specifies whether or not to use a `DIRECT` https proxy if http proxy is used but https is not.
1159 ### <a name="aptproxy_per_host"></a>`Apt::Proxy_Per_Host`
1161 Adds per-host overrides to the system default APT proxy configuration
1168 host => Optional[String],
1169 port => Optional[Integer[1, 65535]],
1170 https => Optional[Boolean],
1171 direct => Optional[Boolean],
1177 The following parameters are available in the `Apt::Proxy_Per_Host` data type:
1183 * [`direct`](#direct)
1185 ##### <a name="scope"></a>`scope`
1187 Specifies the scope of the override. Valid options: a string containing a hostname.
1189 ##### <a name="host"></a>`host`
1191 Specifies a proxy host to be stored in `/etc/apt/apt.conf.d/01proxy`. Valid options: a string containing a hostname.
1193 ##### <a name="port"></a>`port`
1195 Specifies a proxy port to be stored in `/etc/apt/apt.conf.d/01proxy`. Valid options: an integer containing a port number.
1197 ##### <a name="https"></a>`https`
1199 Specifies whether to enable https for this override.
1201 ##### <a name="direct"></a>`direct`
1203 Specifies whether or not to use a `DIRECT` target to bypass the system default proxy.
1207 ### <a name="init"></a>`init`
1209 Allows you to perform apt-get functions
1211 **Supports noop?** false
1217 Data type: `Enum[update, upgrade, dist-upgrade, autoremove]`
1219 Action to perform with apt-get