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 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[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, `apt-get update` runs regardless of this value.
169 Valid options: 'always' (at every Puppet run); 'daily' (if the value of `apt_update_last_success` is less than current epoch time minus 86400);
170 'weekly' (if the value of `apt_update_last_success` is less than current epoch time minus 604800); and 'reluctantly' (only if the exec resource
171 `apt_update` is notified). Default: 'reluctantly'.
172 * **:loglevel** `Integer`: Specifies the log level of logs outputted to the console. Default: undef.
173 * **:timeout** `Integer`: Specifies how long to wait for the update to complete before canceling it. Valid options: an integer, in seconds. Default: undef.
174 * **:tries** `Integer`: Specifies how many times to retry the update after receiving a DNS or HTTP error. Default: undef.
176 Default value: `$apt::params::update`
178 ##### <a name="purge"></a>`purge`
182 Specifies whether to purge any existing settings that aren't managed by Puppet. Valid options: a hash made up from the following keys:
186 * **:sources.list** `Boolean`: Specifies whether to purge any unmanaged entries from sources.list. Default false.
187 * **:sources.list.d** `Boolean`: Specifies whether to purge any unmanaged entries from sources.list.d. Default false.
188 * **:preferences** `Boolean`: Specifies whether to purge any unmanaged entries from preferences. Default false.
189 * **:preferences.d.** `Boolean`: Specifies whether to purge any unmanaged entries from preferences.d. Default false.
191 Default value: `$apt::params::purge`
193 ##### <a name="proxy"></a>`proxy`
195 Data type: `Apt::Proxy`
197 Configures Apt to connect to a proxy server. Valid options: a hash matching the locally defined type apt::proxy.
199 Default value: `$apt::params::proxy`
201 ##### <a name="sources"></a>`sources`
205 Creates new `apt::source` resources. Valid options: a hash to be passed to the create_resources function linked above.
207 Default value: `$apt::params::sources`
209 ##### <a name="keys"></a>`keys`
213 Creates new `apt::key` resources. Valid options: a hash to be passed to the create_resources function linked above.
215 Default value: `$apt::params::keys`
217 ##### <a name="ppas"></a>`ppas`
221 Creates new `apt::ppa` resources. Valid options: a hash to be passed to the create_resources function linked above.
223 Default value: `$apt::params::ppas`
225 ##### <a name="pins"></a>`pins`
229 Creates new `apt::pin` resources. Valid options: a hash to be passed to the create_resources function linked above.
231 Default value: `$apt::params::pins`
233 ##### <a name="settings"></a>`settings`
237 Creates new `apt::setting` resources. Valid options: a hash to be passed to the create_resources function linked above.
239 Default value: `$apt::params::settings`
241 ##### <a name="manage_auth_conf"></a>`manage_auth_conf`
245 Specifies whether to manage the /etc/apt/auth.conf file. When true, the file will be overwritten with the entries specified in
246 the auth_conf_entries parameter. When false, the file will be ignored (note that this does not set the file to absent.
248 Default value: `$apt::params::manage_auth_conf`
250 ##### <a name="auth_conf_entries"></a>`auth_conf_entries`
252 Data type: `Array[Apt::Auth_conf_entry]`
254 An optional array of login configuration settings (hashes) that are recorded in the file /etc/apt/auth.conf. This file has a netrc-like
255 format (similar to what curl uses) and contains the login configuration for APT sources and proxies that require authentication. See
256 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
257 password and no others. Specifying manage_auth_conf and not specifying this parameter will set /etc/apt/auth.conf to absent.
259 Default value: `$apt::params::auth_conf_entries`
261 ##### <a name="auth_conf_owner"></a>`auth_conf_owner`
265 The owner of the file /etc/apt/auth.conf. Default: '_apt' or 'root' on old releases.
267 Default value: `$apt::params::auth_conf_owner`
269 ##### <a name="root"></a>`root`
273 Specifies root directory of Apt executable.
275 Default value: `$apt::params::root`
277 ##### <a name="sources_list"></a>`sources_list`
281 Specifies the path of the sources_list file to use.
283 Default value: `$apt::params::sources_list`
285 ##### <a name="sources_list_d"></a>`sources_list_d`
289 Specifies the path of the sources_list.d file to use.
291 Default value: `$apt::params::sources_list_d`
293 ##### <a name="conf_d"></a>`conf_d`
297 Specifies the path of the conf.d file to use.
299 Default value: `$apt::params::conf_d`
301 ##### <a name="preferences"></a>`preferences`
305 Specifies the path of the preferences file to use.
307 Default value: `$apt::params::preferences`
309 ##### <a name="preferences_d"></a>`preferences_d`
313 Specifies the path of the preferences.d file to use.
315 Default value: `$apt::params::preferences_d`
317 ##### <a name="config_files"></a>`config_files`
321 A hash made up of the various configuration files used by Apt.
323 Default value: `$apt::params::config_files`
325 ##### <a name="sources_list_force"></a>`sources_list_force`
329 Specifies whether to perform force purge or delete. Default false.
331 Default value: `$apt::params::sources_list_force`
333 ##### <a name="update_defaults"></a>`update_defaults`
339 Default value: `$apt::params::update_defaults`
341 ##### <a name="purge_defaults"></a>`purge_defaults`
347 Default value: `$apt::params::purge_defaults`
349 ##### <a name="proxy_defaults"></a>`proxy_defaults`
355 Default value: `$apt::params::proxy_defaults`
357 ##### <a name="include_defaults"></a>`include_defaults`
363 Default value: `$apt::params::include_defaults`
365 ##### <a name="apt_conf_d"></a>`apt_conf_d`
371 Default value: `$apt::params::apt_conf_d`
373 ##### <a name="source_key_defaults"></a>`source_key_defaults`
380 'server' => $keyserver,
386 ### <a name="aptbackports"></a>`apt::backports`
392 ##### Set up a backport source for Linux Mint qiana
395 class { 'apt::backports':
396 location => 'http://us.archive.ubuntu.com/ubuntu',
397 release => 'trusty-backports',
398 repos => 'main universe multiverse restricted',
400 id => '630239CC130E1A7FD81A27B140976EAF437D05B5',
401 server => 'keyserver.ubuntu.com',
408 The following parameters are available in the `apt::backports` class:
410 * [`location`](#location)
411 * [`release`](#release)
415 * [`include`](#include)
417 ##### <a name="location"></a>`location`
419 Data type: `Optional[String]`
421 Specifies an Apt repository containing the backports to manage. Valid options: a string containing a URL. Default value for Debian and
424 - Debian: 'http://deb.debian.org/debian'
426 - Ubuntu: 'http://archive.ubuntu.com/ubuntu'
428 Default value: ``undef``
430 ##### <a name="release"></a>`release`
432 Data type: `Optional[String]`
434 Specifies a distribution of the Apt repository containing the backports to manage. Used in populating the `source.list` configuration file.
435 Default: on Debian and Ubuntu, `${fact('os.distro.codename')}-backports`. We recommend keeping this default, except on other operating
438 Default value: ``undef``
440 ##### <a name="repos"></a>`repos`
442 Data type: `Optional[String]`
444 Specifies a component of the Apt repository containing the backports to manage. Used in populating the `source.list` configuration file.
445 Default value for Debian and Ubuntu varies:
447 - Debian: 'main contrib non-free'
449 - Ubuntu: 'main universe multiverse restricted'
451 Default value: ``undef``
453 ##### <a name="key"></a>`key`
455 Data type: `Optional[Variant[String, Hash]]`
457 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
458 hash of parameter => value pairs to be passed to apt::key's id, server, content, source, and/or options parameters. Default value
459 for Debian and Ubuntu varies:
461 - Debian: 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553'
463 - Ubuntu: '630239CC130E1A7FD81A27B140976EAF437D05B5'
465 Default value: ``undef``
467 ##### <a name="pin"></a>`pin`
469 Data type: `Optional[Variant[Integer, String, Hash]]`
471 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
472 type, or a hash of `parameter => value` pairs to be passed to `apt::pin`'s corresponding parameters.
476 ##### <a name="include"></a>`include`
478 Data type: `Optional[Variant[Hash]]`
480 Specifies whether to include 'deb' or 'src', or both.
486 ### <a name="aptconf"></a>`apt::conf`
488 Specifies a custom Apt configuration file.
492 The following parameters are available in the `apt::conf` defined type:
494 * [`content`](#content)
495 * [`ensure`](#ensure)
496 * [`priority`](#priority)
497 * [`notify_update`](#notify_update)
499 ##### <a name="content"></a>`content`
501 Data type: `Optional[String]`
503 Required unless `ensure` is set to 'absent'. Directly supplies content for the configuration file.
505 Default value: ``undef``
507 ##### <a name="ensure"></a>`ensure`
509 Data type: `Enum['present', 'absent']`
511 Specifies whether the configuration file should exist. Valid options: 'present' and 'absent'.
513 Default value: `present`
515 ##### <a name="priority"></a>`priority`
517 Data type: `Variant[String, Integer]`
519 Determines the order in which Apt processes the configuration file. Files with lower priority numbers are loaded first.
520 Valid options: a string containing an integer or an integer.
524 ##### <a name="notify_update"></a>`notify_update`
526 Data type: `Optional[Boolean]`
528 Specifies whether to trigger an `apt-get update` run.
530 Default value: ``undef``
532 ### <a name="aptkey"></a>`apt::key`
534 Manages the GPG keys that Apt uses to authenticate packages.
536 * **Note** The apt::key defined type makes use of the apt_key type, but includes extra functionality to help prevent duplicate keys.
540 ##### Declare Apt key for apt.puppetlabs.com source
543 apt::key { 'puppetlabs':
544 id => '6F6B15509CF8E59E6E469F327F438280EF8D349F',
545 server => 'keyserver.ubuntu.com',
546 options => 'http-proxy="http://proxyuser:proxypass@example.org:3128"',
552 The following parameters are available in the `apt::key` defined type:
555 * [`ensure`](#ensure)
556 * [`content`](#content)
557 * [`source`](#source)
558 * [`server`](#server)
559 * [`weak_ssl`](#weak_ssl)
560 * [`options`](#options)
562 ##### <a name="id"></a>`id`
564 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/]`
566 Specifies a GPG key to authenticate Apt package signatures. Valid options: a string containing a key ID (8 or 16 hexadecimal
567 characters, optionally prefixed with "0x") or a full key fingerprint (40 hexadecimal characters).
569 Default value: `$title`
571 ##### <a name="ensure"></a>`ensure`
573 Data type: `Enum['present', 'absent', 'refreshed']`
575 Specifies whether the key should exist. Valid options: 'present', 'absent' or 'refreshed'. Using 'refreshed' will make keys auto
576 update when they have expired (assuming a new key exists on the key server).
578 Default value: `present`
580 ##### <a name="content"></a>`content`
582 Data type: `Optional[String]`
584 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.
586 Default value: ``undef``
588 ##### <a name="source"></a>`source`
590 Data type: `Optional[Pattern[/\Ahttps?:\/\//, /\Aftp:\/\//, /\A\/\w+/]]`
592 Specifies the location of an existing GPG key file to copy. Valid options: a string containing a URL (ftp://, http://, or https://) or
595 Default value: ``undef``
597 ##### <a name="server"></a>`server`
599 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\-_.]+)*\/?$/]`
601 Specifies a keyserver to provide the GPG key. Valid options: a string containing a domain name or a full URL (http://, https://,
602 hkp:// or hkps://). The hkps:// protocol is currently only supported on Ubuntu 18.04.
604 Default value: `$::apt::keyserver`
606 ##### <a name="weak_ssl"></a>`weak_ssl`
610 Specifies whether strict SSL verification on a https URL should be disabled. Valid options: true or false.
612 Default value: ``false``
614 ##### <a name="options"></a>`options`
616 Data type: `Optional[String]`
618 Passes additional options to `apt-key adv --keyserver-options`.
620 Default value: `$::apt::key_options`
622 ### <a name="aptmark"></a>`apt::mark`
624 Manages apt-mark settings
628 The following parameters are available in the `apt::mark` defined type:
630 * [`setting`](#setting)
632 ##### <a name="setting"></a>`setting`
634 Data type: `Enum['auto','manual','hold','unhold']`
636 auto, manual, hold, unhold
637 specifies the behavior of apt in case of no more dependencies installed
638 https://manpages.debian.org/stable/apt/apt-mark.8.en.html
640 ### <a name="aptpin"></a>`apt::pin`
642 Manages Apt pins. Does not trigger an apt-get update run.
645 * http://linux.die.net/man/5/apt_preferences
646 * for context on these parameters
650 The following parameters are available in the `apt::pin` defined type:
652 * [`ensure`](#ensure)
653 * [`explanation`](#explanation)
655 * [`packages`](#packages)
656 * [`priority`](#priority)
657 * [`release`](#release)
658 * [`release_version`](#release_version)
659 * [`component`](#component)
660 * [`originator`](#originator)
662 * [`origin`](#origin)
663 * [`version`](#version)
664 * [`codename`](#codename)
666 ##### <a name="ensure"></a>`ensure`
668 Data type: `Optional[Enum['file', 'present', 'absent']]`
670 Specifies whether the pin should exist. Valid options: 'file', 'present', and 'absent'.
672 Default value: `present`
674 ##### <a name="explanation"></a>`explanation`
676 Data type: `Optional[String]`
678 Supplies a comment to explain the pin. Default: "${caller_module_name}: ${name}".
680 Default value: ``undef``
682 ##### <a name="order"></a>`order`
684 Data type: `Variant[Integer]`
686 Determines the order in which Apt processes the pin file. Files with lower order numbers are loaded first.
690 ##### <a name="packages"></a>`packages`
692 Data type: `Variant[String, Array]`
694 Specifies which package(s) to pin.
698 ##### <a name="priority"></a>`priority`
700 Data type: `Variant[Numeric, String]`
702 Sets the priority of the package. If multiple versions of a given package are available, `apt-get` installs the one with the highest
703 priority number (subject to dependency constraints). Valid options: an integer.
707 ##### <a name="release"></a>`release`
709 Data type: `Optional[String]`
711 Tells APT to prefer packages that support the specified release. Typical values include 'stable', 'testing', and 'unstable'.
715 ##### <a name="release_version"></a>`release_version`
717 Data type: `Optional[String]`
719 Tells APT to prefer packages that support the specified operating system release version (such as Debian release version 7).
723 ##### <a name="component"></a>`component`
725 Data type: `Optional[String]`
727 Names the licensing component associated with the packages in the directory tree of the Release file.
731 ##### <a name="originator"></a>`originator`
733 Data type: `Optional[String]`
735 Names the originator of the packages in the directory tree of the Release file.
739 ##### <a name="label"></a>`label`
741 Data type: `Optional[String]`
743 Names the label of the packages in the directory tree of the Release file.
747 ##### <a name="origin"></a>`origin`
749 Data type: `Optional[String]`
755 ##### <a name="version"></a>`version`
757 Data type: `Optional[String]`
763 ##### <a name="codename"></a>`codename`
765 Data type: `Optional[String]`
771 ### <a name="aptppa"></a>`apt::ppa`
773 Manages PPA repositories using `add-apt-repository`. Not supported on Debian.
777 ##### Example declaration of an Apt PPA
780 apt::ppa{ 'ppa:openstack-ppa/bleeding-edge': }
785 The following parameters are available in the `apt::ppa` defined type:
787 * [`ensure`](#ensure)
788 * [`options`](#options)
789 * [`release`](#release)
791 * [`package_name`](#package_name)
792 * [`package_manage`](#package_manage)
794 ##### <a name="ensure"></a>`ensure`
798 Specifies whether the PPA should exist. Valid options: 'present' and 'absent'.
800 Default value: `'present'`
802 ##### <a name="options"></a>`options`
804 Data type: `Optional[String]`
806 Supplies options to be passed to the `add-apt-repository` command. Default: '-y'.
808 Default value: `$::apt::ppa_options`
810 ##### <a name="release"></a>`release`
812 Data type: `Optional[String]`
814 Specifies the operating system of your node. Valid options: a string containing a valid LSB distribution codename.
815 Optional if `puppet facts show os.distro.codename` returns your correct distribution release codename.
817 Default value: `fact('os.distro.codename')`
819 ##### <a name="dist"></a>`dist`
821 Data type: `Optional[String]`
823 Specifies the distribution of your node. Valid options: a string containing a valid distribution codename.
824 Optional if `puppet facts show os.name` returns your correct distribution name.
826 Default value: `$facts['os']['name']`
828 ##### <a name="package_name"></a>`package_name`
830 Data type: `Optional[String]`
832 Names the package that provides the `apt-add-repository` command. Default: 'software-properties-common'.
834 Default value: `$::apt::ppa_package`
836 ##### <a name="package_manage"></a>`package_manage`
840 Specifies whether Puppet should manage the package that provides `apt-add-repository`.
842 Default value: ``false``
844 ### <a name="aptsetting"></a>`apt::setting`
846 Manages Apt configuration files.
849 * https://docs.puppetlabs.com/references/latest/type.html#file-attributes
850 * for more information on source and content parameters
854 The following parameters are available in the `apt::setting` defined type:
856 * [`priority`](#priority)
857 * [`ensure`](#ensure)
858 * [`source`](#source)
859 * [`content`](#content)
860 * [`notify_update`](#notify_update)
862 ##### <a name="priority"></a>`priority`
864 Data type: `Variant[String, Integer, Array]`
866 Determines the order in which Apt processes the configuration file. Files with higher priority numbers are loaded first.
870 ##### <a name="ensure"></a>`ensure`
872 Data type: `Optional[Enum['file', 'present', 'absent']]`
874 Specifies whether the file should exist. Valid options: 'present', 'absent', and 'file'.
876 Default value: `file`
878 ##### <a name="source"></a>`source`
880 Data type: `Optional[String]`
882 Required, unless `content` is set. Specifies a source file to supply the content of the configuration file. Cannot be used in combination
883 with `content`. Valid options: see link above for Puppet's native file type source attribute.
885 Default value: ``undef``
887 ##### <a name="content"></a>`content`
889 Data type: `Optional[String]`
891 Required, unless `source` is set. Directly supplies content for the configuration file. Cannot be used in combination with `source`. Valid
892 options: see link above for Puppet's native file type content attribute.
894 Default value: ``undef``
896 ##### <a name="notify_update"></a>`notify_update`
900 Specifies whether to trigger an `apt-get update` run.
902 Default value: ``true``
904 ### <a name="aptsource"></a>`apt::source`
906 Manages the Apt sources in /etc/apt/sources.list.d/.
910 ##### Install the puppetlabs apt source
913 apt::source { 'puppetlabs':
914 location => 'http://apt.puppetlabs.com',
917 id => '6F6B15509CF8E59E6E469F327F438280EF8D349F',
918 server => 'keyserver.ubuntu.com',
925 The following parameters are available in the `apt::source` defined type:
927 * [`location`](#location)
928 * [`comment`](#comment)
929 * [`ensure`](#ensure)
930 * [`release`](#release)
932 * [`include`](#include)
934 * [`keyring`](#keyring)
936 * [`architecture`](#architecture)
937 * [`allow_unsigned`](#allow_unsigned)
938 * [`notify_update`](#notify_update)
939 * [`allow_insecure`](#allow_insecure)
941 ##### <a name="location"></a>`location`
943 Data type: `Optional[String]`
945 Required, unless ensure is set to 'absent'. Specifies an Apt repository. Valid options: a string containing a repository URL.
947 Default value: ``undef``
949 ##### <a name="comment"></a>`comment`
953 Supplies a comment for adding to the Apt source file.
955 Default value: `$name`
957 ##### <a name="ensure"></a>`ensure`
961 Specifies whether the Apt source file should exist. Valid options: 'present' and 'absent'.
963 Default value: `present`
965 ##### <a name="release"></a>`release`
967 Data type: `Optional[String]`
969 Specifies a distribution of the Apt repository.
971 Default value: ``undef``
973 ##### <a name="repos"></a>`repos`
977 Specifies a component of the Apt repository.
979 Default value: `'main'`
981 ##### <a name="include"></a>`include`
983 Data type: `Optional[Variant[Hash]]`
985 Configures include options. Valid options: a hash of available keys.
989 * **:deb** `Boolean`: Specifies whether to request the distribution's compiled binaries. Default true.
990 * **:src** `Boolean`: Specifies whether to request the distribution's uncompiled source code. Default false.
994 ##### <a name="key"></a>`key`
996 Data type: `Optional[Variant[String, Hash]]`
998 Creates a declaration of the apt::key defined type. Valid options: a string to be passed to the `id` parameter of the `apt::key`
999 defined type, or a hash of `parameter => value` pairs to be passed to `apt::key`'s `id`, `server`, `content`, `source`, `weak_ssl`,
1000 and/or `options` parameters.
1002 Default value: ``undef``
1004 ##### <a name="keyring"></a>`keyring`
1006 Data type: `Optional[Stdlib::AbsolutePath]`
1008 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.
1009 See https://wiki.debian.org/DebianRepository/UseThirdParty for details.
1011 Default value: ``undef``
1013 ##### <a name="pin"></a>`pin`
1015 Data type: `Optional[Variant[Hash, Numeric, String]]`
1017 Creates a declaration of the apt::pin defined type. Valid options: a number or string to be passed to the `id` parameter of the
1018 `apt::pin` defined type, or a hash of `parameter => value` pairs to be passed to `apt::pin`'s corresponding parameters.
1020 Default value: ``undef``
1022 ##### <a name="architecture"></a>`architecture`
1024 Data type: `Optional[String]`
1026 Tells Apt to only download information for specified architectures. Valid options: a string containing one or more architecture names,
1027 separated by commas (e.g., 'i386' or 'i386,alpha,powerpc'). Default: undef (if unspecified, Apt downloads information for all architectures
1028 defined in the Apt::Architectures option).
1030 Default value: ``undef``
1032 ##### <a name="allow_unsigned"></a>`allow_unsigned`
1034 Data type: `Boolean`
1036 Specifies whether to authenticate packages from this release, even if the Release file is not signed or the signature can't be checked.
1038 Default value: ``false``
1040 ##### <a name="notify_update"></a>`notify_update`
1042 Data type: `Boolean`
1044 Specifies whether to trigger an `apt-get update` run.
1046 Default value: ``true``
1048 ##### <a name="allow_insecure"></a>`allow_insecure`
1050 Data type: `Boolean`
1054 Default value: ``false``
1060 ### <a name="aptauth_conf_entry"></a>`Apt::Auth_conf_entry`
1062 Login configuration settings that are recorded in the file `/etc/apt/auth.conf`.
1065 * https://manpages.debian.org/testing/apt/apt_auth.conf.5.en.html
1066 * for more information
1072 machine => String[1],
1080 The following parameters are available in the `Apt::Auth_conf_entry` data type:
1082 * [`machine`](#machine)
1084 * [`password`](#password)
1086 ##### <a name="machine"></a>`machine`
1088 Hostname of machine to connect to.
1090 ##### <a name="login"></a>`login`
1092 Specifies the username to connect with.
1094 ##### <a name="password"></a>`password`
1096 Specifies the password to connect with.
1098 ### <a name="aptproxy"></a>`Apt::Proxy`
1100 Configures Apt to connect to a proxy server.
1106 ensure => Optional[Enum['file', 'present', 'absent']],
1107 host => Optional[String],
1108 port => Optional[Integer[0, 65535]],
1109 https => Optional[Boolean],
1110 https_acng => Optional[Boolean],
1111 direct => Optional[Boolean],
1112 perhost => Optional[Array[Apt::Proxy_Per_Host]],
1118 The following parameters are available in the `Apt::Proxy` data type:
1120 * [`ensure`](#ensure)
1124 * [`direct`](#direct)
1126 ##### <a name="ensure"></a>`ensure`
1128 Specifies whether the proxy should exist. Valid options: 'file', 'present', and 'absent'. Prefer 'file' over 'present'.
1130 ##### <a name="host"></a>`host`
1132 Specifies a proxy host to be stored in `/etc/apt/apt.conf.d/01proxy`. Valid options: a string containing a hostname.
1134 ##### <a name="port"></a>`port`
1136 Specifies a proxy port to be stored in `/etc/apt/apt.conf.d/01proxy`. Valid options: an integer containing a port number.
1138 ##### <a name="https"></a>`https`
1140 Specifies whether to enable https proxies.
1142 ##### <a name="direct"></a>`direct`
1144 Specifies whether or not to use a `DIRECT` https proxy if http proxy is used but https is not.
1146 ### <a name="aptproxy_per_host"></a>`Apt::Proxy_Per_Host`
1148 Adds per-host overrides to the system default APT proxy configuration
1155 host => Optional[String],
1156 port => Optional[Integer[1, 65535]],
1157 https => Optional[Boolean],
1158 direct => Optional[Boolean],
1164 The following parameters are available in the `Apt::Proxy_Per_Host` data type:
1170 * [`direct`](#direct)
1172 ##### <a name="scope"></a>`scope`
1174 Specifies the scope of the override. Valid options: a string containing a hostname.
1176 ##### <a name="host"></a>`host`
1178 Specifies a proxy host to be stored in `/etc/apt/apt.conf.d/01proxy`. Valid options: a string containing a hostname.
1180 ##### <a name="port"></a>`port`
1182 Specifies a proxy port to be stored in `/etc/apt/apt.conf.d/01proxy`. Valid options: an integer containing a port number.
1184 ##### <a name="https"></a>`https`
1186 Specifies whether to enable https for this override.
1188 ##### <a name="direct"></a>`direct`
1190 Specifies whether or not to use a `DIRECT` target to bypass the system default proxy.
1194 ### <a name="init"></a>`init`
1196 Allows you to perform apt functions
1198 **Supports noop?** false
1204 Data type: `Enum[update, upgrade, dist-upgrade, autoremove]`