## Classes
-### `apt`
+### <a name="apt"></a>`apt`
Main class, includes all other classes.
#### Parameters
-The following parameters are available in the `apt` class.
-
-##### `provider`
+The following parameters are available in the `apt` class:
+
+* [`provider`](#provider)
+* [`keyserver`](#keyserver)
+* [`key_options`](#key_options)
+* [`ppa_options`](#ppa_options)
+* [`ppa_package`](#ppa_package)
+* [`backports`](#backports)
+* [`confs`](#confs)
+* [`update`](#update)
+* [`purge`](#purge)
+* [`proxy`](#proxy)
+* [`sources`](#sources)
+* [`keys`](#keys)
+* [`ppas`](#ppas)
+* [`pins`](#pins)
+* [`settings`](#settings)
+* [`manage_auth_conf`](#manage_auth_conf)
+* [`auth_conf_entries`](#auth_conf_entries)
+* [`auth_conf_owner`](#auth_conf_owner)
+* [`root`](#root)
+* [`sources_list`](#sources_list)
+* [`sources_list_d`](#sources_list_d)
+* [`conf_d`](#conf_d)
+* [`preferences`](#preferences)
+* [`preferences_d`](#preferences_d)
+* [`config_files`](#config_files)
+* [`sources_list_force`](#sources_list_force)
+* [`update_defaults`](#update_defaults)
+* [`purge_defaults`](#purge_defaults)
+* [`proxy_defaults`](#proxy_defaults)
+* [`include_defaults`](#include_defaults)
+* [`apt_conf_d`](#apt_conf_d)
+* [`source_key_defaults`](#source_key_defaults)
+
+##### <a name="provider"></a>`provider`
Data type: `String`
Default value: `$apt::params::provider`
-##### `keyserver`
+##### <a name="keyserver"></a>`keyserver`
Data type: `String`
Default value: `$apt::params::keyserver`
-##### `key_options`
+##### <a name="key_options"></a>`key_options`
Data type: `Optional[String]`
Default value: `$apt::params::key_options`
-##### `ppa_options`
+##### <a name="ppa_options"></a>`ppa_options`
Data type: `Optional[String]`
Default value: `$apt::params::ppa_options`
-##### `ppa_package`
+##### <a name="ppa_package"></a>`ppa_package`
Data type: `Optional[String]`
Default value: `$apt::params::ppa_package`
-##### `backports`
+##### <a name="backports"></a>`backports`
Data type: `Optional[Hash]`
Default value: `$apt::params::backports`
-##### `confs`
+##### <a name="confs"></a>`confs`
Data type: `Hash`
Default value: `$apt::params::confs`
-##### `update`
+##### <a name="update"></a>`update`
Data type: `Hash`
Default value: `$apt::params::update`
-##### `purge`
+##### <a name="purge"></a>`purge`
Data type: `Hash`
Default value: `$apt::params::purge`
-##### `proxy`
+##### <a name="proxy"></a>`proxy`
Data type: `Apt::Proxy`
Default value: `$apt::params::proxy`
-##### `sources`
+##### <a name="sources"></a>`sources`
Data type: `Hash`
Default value: `$apt::params::sources`
-##### `keys`
+##### <a name="keys"></a>`keys`
Data type: `Hash`
Default value: `$apt::params::keys`
-##### `ppas`
+##### <a name="ppas"></a>`ppas`
Data type: `Hash`
Default value: `$apt::params::ppas`
-##### `pins`
+##### <a name="pins"></a>`pins`
Data type: `Hash`
Default value: `$apt::params::pins`
-##### `settings`
+##### <a name="settings"></a>`settings`
Data type: `Hash`
Default value: `$apt::params::settings`
-##### `manage_auth_conf`
+##### <a name="manage_auth_conf"></a>`manage_auth_conf`
Data type: `Boolean`
Default value: `$apt::params::manage_auth_conf`
-##### `auth_conf_entries`
+##### <a name="auth_conf_entries"></a>`auth_conf_entries`
Data type: `Array[Apt::Auth_conf_entry]`
Default value: `$apt::params::auth_conf_entries`
-##### `auth_conf_owner`
+##### <a name="auth_conf_owner"></a>`auth_conf_owner`
Data type: `String`
Default value: `$apt::params::auth_conf_owner`
-##### `root`
+##### <a name="root"></a>`root`
Data type: `String`
Default value: `$apt::params::root`
-##### `sources_list`
+##### <a name="sources_list"></a>`sources_list`
Data type: `String`
Default value: `$apt::params::sources_list`
-##### `sources_list_d`
+##### <a name="sources_list_d"></a>`sources_list_d`
Data type: `String`
Default value: `$apt::params::sources_list_d`
-##### `conf_d`
+##### <a name="conf_d"></a>`conf_d`
Data type: `String`
Default value: `$apt::params::conf_d`
-##### `preferences`
+##### <a name="preferences"></a>`preferences`
Data type: `String`
Default value: `$apt::params::preferences`
-##### `preferences_d`
+##### <a name="preferences_d"></a>`preferences_d`
Data type: `String`
Default value: `$apt::params::preferences_d`
-##### `config_files`
+##### <a name="config_files"></a>`config_files`
Data type: `Hash`
Default value: `$apt::params::config_files`
-##### `sources_list_force`
+##### <a name="sources_list_force"></a>`sources_list_force`
Data type: `Boolean`
Default value: `$apt::params::sources_list_force`
-##### `update_defaults`
+##### <a name="update_defaults"></a>`update_defaults`
Data type: `Hash`
Default value: `$apt::params::update_defaults`
-##### `purge_defaults`
+##### <a name="purge_defaults"></a>`purge_defaults`
Data type: `Hash`
Default value: `$apt::params::purge_defaults`
-##### `proxy_defaults`
+##### <a name="proxy_defaults"></a>`proxy_defaults`
Data type: `Hash`
Default value: `$apt::params::proxy_defaults`
-##### `include_defaults`
+##### <a name="include_defaults"></a>`include_defaults`
Data type: `Hash`
Default value: `$apt::params::include_defaults`
-##### `apt_conf_d`
+##### <a name="apt_conf_d"></a>`apt_conf_d`
Data type: `String`
Default value: `$apt::params::apt_conf_d`
-##### `source_key_defaults`
+##### <a name="source_key_defaults"></a>`source_key_defaults`
Data type: `Hash`
Default value: `$apt::params::source_key_defaults`
-### `apt::backports`
+### <a name="aptbackports"></a>`apt::backports`
Manages backports.
#### Parameters
-The following parameters are available in the `apt::backports` class.
+The following parameters are available in the `apt::backports` class:
+
+* [`location`](#location)
+* [`release`](#release)
+* [`repos`](#repos)
+* [`key`](#key)
+* [`pin`](#pin)
+* [`include`](#include)
-##### `location`
+##### <a name="location"></a>`location`
Data type: `Optional[String]`
Default value: ``undef``
-##### `release`
+##### <a name="release"></a>`release`
Data type: `Optional[String]`
Default value: ``undef``
-##### `repos`
+##### <a name="repos"></a>`repos`
Data type: `Optional[String]`
Default value: ``undef``
-##### `key`
+##### <a name="key"></a>`key`
Data type: `Optional[Variant[String, Hash]]`
Default value: ``undef``
-##### `pin`
+##### <a name="pin"></a>`pin`
Data type: `Optional[Variant[Integer, String, Hash]]`
Default value: `200`
-##### `include`
+##### <a name="include"></a>`include`
Data type: `Optional[Variant[Hash]]`
## Defined types
-### `apt::conf`
+### <a name="aptconf"></a>`apt::conf`
Specifies a custom Apt configuration file.
#### Parameters
-The following parameters are available in the `apt::conf` defined type.
+The following parameters are available in the `apt::conf` defined type:
+
+* [`content`](#content)
+* [`ensure`](#ensure)
+* [`priority`](#priority)
+* [`notify_update`](#notify_update)
-##### `content`
+##### <a name="content"></a>`content`
Data type: `Optional[String]`
Default value: ``undef``
-##### `ensure`
+##### <a name="ensure"></a>`ensure`
Data type: `Enum['present', 'absent']`
Default value: `present`
-##### `priority`
+##### <a name="priority"></a>`priority`
Data type: `Variant[String, Integer]`
Default value: `50`
-##### `notify_update`
+##### <a name="notify_update"></a>`notify_update`
Data type: `Optional[Boolean]`
Default value: ``undef``
-### `apt::key`
+### <a name="aptkey"></a>`apt::key`
Manages the GPG keys that Apt uses to authenticate packages.
#### Parameters
-The following parameters are available in the `apt::key` defined type.
+The following parameters are available in the `apt::key` defined type:
-##### `id`
+* [`id`](#id)
+* [`ensure`](#ensure)
+* [`content`](#content)
+* [`source`](#source)
+* [`server`](#server)
+* [`weak_ssl`](#weak_ssl)
+* [`options`](#options)
+
+##### <a name="id"></a>`id`
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/]`
Default value: `$title`
-##### `ensure`
+##### <a name="ensure"></a>`ensure`
Data type: `Enum['present', 'absent', 'refreshed']`
Default value: `present`
-##### `content`
+##### <a name="content"></a>`content`
Data type: `Optional[String]`
Default value: ``undef``
-##### `source`
+##### <a name="source"></a>`source`
Data type: `Optional[Pattern[/\Ahttps?:\/\//, /\Aftp:\/\//, /\A\/\w+/]]`
Default value: ``undef``
-##### `server`
+##### <a name="server"></a>`server`
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\-_.]+)*\/?$/]`
Default value: `$::apt::keyserver`
-##### `weak_ssl`
+##### <a name="weak_ssl"></a>`weak_ssl`
Data type: `Boolean`
Default value: ``false``
-##### `options`
+##### <a name="options"></a>`options`
Data type: `Optional[String]`
Default value: `$::apt::key_options`
-### `apt::mark`
+### <a name="aptmark"></a>`apt::mark`
defined typeapt::mark
#### Parameters
-The following parameters are available in the `apt::mark` defined type.
+The following parameters are available in the `apt::mark` defined type:
+
+* [`setting`](#setting)
-##### `setting`
+##### <a name="setting"></a>`setting`
Data type: `Enum['auto','manual','hold','unhold']`
specifies the behavior of apt in case of no more dependencies installed
https://manpages.debian.org/sretch/apt/apt-mark.8.en.html
-### `apt::pin`
+### <a name="aptpin"></a>`apt::pin`
Manages Apt pins. Does not trigger an apt-get update run.
#### Parameters
-The following parameters are available in the `apt::pin` defined type.
+The following parameters are available in the `apt::pin` defined type:
-##### `ensure`
+* [`ensure`](#ensure)
+* [`explanation`](#explanation)
+* [`order`](#order)
+* [`packages`](#packages)
+* [`priority`](#priority)
+* [`release`](#release)
+* [`release_version`](#release_version)
+* [`component`](#component)
+* [`originator`](#originator)
+* [`label`](#label)
+* [`origin`](#origin)
+* [`version`](#version)
+* [`codename`](#codename)
+
+##### <a name="ensure"></a>`ensure`
Data type: `Optional[Enum['file', 'present', 'absent']]`
Default value: `present`
-##### `explanation`
+##### <a name="explanation"></a>`explanation`
Data type: `Optional[String]`
Default value: ``undef``
-##### `order`
+##### <a name="order"></a>`order`
Data type: `Variant[Integer]`
Default value: `50`
-##### `packages`
+##### <a name="packages"></a>`packages`
Data type: `Variant[String, Array]`
Default value: `'*'`
-##### `priority`
+##### <a name="priority"></a>`priority`
Data type: `Variant[Numeric, String]`
Default value: `0`
-##### `release`
+##### <a name="release"></a>`release`
Data type: `Optional[String]`
Default value: `''`
-##### `release_version`
+##### <a name="release_version"></a>`release_version`
Data type: `Optional[String]`
Default value: `''`
-##### `component`
+##### <a name="component"></a>`component`
Data type: `Optional[String]`
Default value: `''`
-##### `originator`
+##### <a name="originator"></a>`originator`
Data type: `Optional[String]`
Default value: `''`
-##### `label`
+##### <a name="label"></a>`label`
Data type: `Optional[String]`
Default value: `''`
-##### `origin`
+##### <a name="origin"></a>`origin`
Data type: `Optional[String]`
Default value: `''`
-##### `version`
+##### <a name="version"></a>`version`
Data type: `Optional[String]`
Default value: `''`
-##### `codename`
+##### <a name="codename"></a>`codename`
Data type: `Optional[String]`
Default value: `''`
-### `apt::ppa`
+### <a name="aptppa"></a>`apt::ppa`
Manages PPA repositories using `add-apt-repository`. Not supported on Debian.
#### Parameters
-The following parameters are available in the `apt::ppa` defined type.
+The following parameters are available in the `apt::ppa` defined type:
+
+* [`ensure`](#ensure)
+* [`options`](#options)
+* [`release`](#release)
+* [`dist`](#dist)
+* [`package_name`](#package_name)
+* [`package_manage`](#package_manage)
-##### `ensure`
+##### <a name="ensure"></a>`ensure`
Data type: `String`
Default value: `'present'`
-##### `options`
+##### <a name="options"></a>`options`
Data type: `Optional[String]`
Default value: `$::apt::ppa_options`
-##### `release`
+##### <a name="release"></a>`release`
Data type: `Optional[String]`
Default value: `$facts['os']['distro']['codename']`
-##### `dist`
+##### <a name="dist"></a>`dist`
Data type: `Optional[String]`
Default value: `$facts['os']['name']`
-##### `package_name`
+##### <a name="package_name"></a>`package_name`
Data type: `Optional[String]`
Default value: `$::apt::ppa_package`
-##### `package_manage`
+##### <a name="package_manage"></a>`package_manage`
Data type: `Boolean`
Default value: ``false``
-### `apt::setting`
+### <a name="aptsetting"></a>`apt::setting`
Manages Apt configuration files.
#### Parameters
-The following parameters are available in the `apt::setting` defined type.
+The following parameters are available in the `apt::setting` defined type:
-##### `priority`
+* [`priority`](#priority)
+* [`ensure`](#ensure)
+* [`source`](#source)
+* [`content`](#content)
+* [`notify_update`](#notify_update)
+
+##### <a name="priority"></a>`priority`
Data type: `Variant[String, Integer, Array]`
Default value: `50`
-##### `ensure`
+##### <a name="ensure"></a>`ensure`
Data type: `Optional[Enum['file', 'present', 'absent']]`
Default value: `file`
-##### `source`
+##### <a name="source"></a>`source`
Data type: `Optional[String]`
Default value: ``undef``
-##### `content`
+##### <a name="content"></a>`content`
Data type: `Optional[String]`
Default value: ``undef``
-##### `notify_update`
+##### <a name="notify_update"></a>`notify_update`
Data type: `Boolean`
Default value: ``true``
-### `apt::source`
+### <a name="aptsource"></a>`apt::source`
Manages the Apt sources in /etc/apt/sources.list.d/.
#### Parameters
-The following parameters are available in the `apt::source` defined type.
+The following parameters are available in the `apt::source` defined type:
+
+* [`location`](#location)
+* [`comment`](#comment)
+* [`ensure`](#ensure)
+* [`release`](#release)
+* [`repos`](#repos)
+* [`include`](#include)
+* [`key`](#key)
+* [`pin`](#pin)
+* [`architecture`](#architecture)
+* [`allow_unsigned`](#allow_unsigned)
+* [`notify_update`](#notify_update)
-##### `location`
+##### <a name="location"></a>`location`
Data type: `Optional[String]`
Default value: ``undef``
-##### `comment`
+##### <a name="comment"></a>`comment`
Data type: `String`
Default value: `$name`
-##### `ensure`
+##### <a name="ensure"></a>`ensure`
Data type: `String`
Default value: `present`
-##### `release`
+##### <a name="release"></a>`release`
Data type: `Optional[String]`
Default value: ``undef``
-##### `repos`
+##### <a name="repos"></a>`repos`
Data type: `String`
Default value: `'main'`
-##### `include`
+##### <a name="include"></a>`include`
Data type: `Optional[Variant[Hash]]`
Default value: `{}`
-##### `key`
+##### <a name="key"></a>`key`
Data type: `Optional[Variant[String, Hash]]`
Default value: ``undef``
-##### `pin`
+##### <a name="pin"></a>`pin`
Data type: `Optional[Variant[Hash, Numeric, String]]`
Default value: ``undef``
-##### `architecture`
+##### <a name="architecture"></a>`architecture`
Data type: `Optional[String]`
Default value: ``undef``
-##### `allow_unsigned`
+##### <a name="allow_unsigned"></a>`allow_unsigned`
Data type: `Boolean`
Default value: ``false``
-##### `notify_update`
+##### <a name="notify_update"></a>`notify_update`
Data type: `Boolean`
## Data types
-### `Apt::Auth_conf_entry`
+### <a name="aptauth_conf_entry"></a>`Apt::Auth_conf_entry`
Login configuration settings that are recorded in the file `/etc/apt/auth.conf`.
* https://manpages.debian.org/testing/apt/apt_auth.conf.5.en.html
* for more information
-Alias of `Struct[{
+Alias of
+
+```puppet
+Struct[{
machine => String[1],
login => String,
password => String
- }]`
+ }]
+```
#### Parameters
-The following parameters are available in the `Apt::Auth_conf_entry` data type.
+The following parameters are available in the `Apt::Auth_conf_entry` data type:
+
+* [`machine`](#machine)
+* [`login`](#login)
+* [`password`](#password)
-##### `machine`
+##### <a name="machine"></a>`machine`
Hostname of machine to connect to.
-##### `login`
+##### <a name="login"></a>`login`
Specifies the username to connect with.
-##### `password`
+##### <a name="password"></a>`password`
Specifies the password to connect with.
-### `Apt::Proxy`
+### <a name="aptproxy"></a>`Apt::Proxy`
Configures Apt to connect to a proxy server.
-Alias of `Struct[{
+Alias of
+
+```puppet
+Struct[{
ensure => Optional[Enum['file', 'present', 'absent']],
host => Optional[String],
port => Optional[Integer[0, 65535]],
https => Optional[Boolean],
https_acng => Optional[Boolean],
direct => Optional[Boolean],
- }]`
+ }]
+```
#### Parameters
-The following parameters are available in the `Apt::Proxy` data type.
+The following parameters are available in the `Apt::Proxy` data type:
+
+* [`ensure`](#ensure)
+* [`host`](#host)
+* [`port`](#port)
+* [`https`](#https)
+* [`direct`](#direct)
-##### `ensure`
+##### <a name="ensure"></a>`ensure`
Specifies whether the proxy should exist. Valid options: 'file', 'present', and 'absent'. Prefer 'file' over 'present'.
-##### `host`
+##### <a name="host"></a>`host`
Specifies a proxy host to be stored in `/etc/apt/apt.conf.d/01proxy`. Valid options: a string containing a hostname.
-##### `port`
+##### <a name="port"></a>`port`
Specifies a proxy port to be stored in `/etc/apt/apt.conf.d/01proxy`. Valid options: an integer containing a port number.
-##### `https`
+##### <a name="https"></a>`https`
Specifies whether to enable https proxies.
-##### `direct`
+##### <a name="direct"></a>`direct`
Specifies whether or not to use a `DIRECT` https proxy if http proxy is used but https is not.
## Tasks
-### `init`
+### <a name="init"></a>`init`
Allows you to perform apt functions