#### Public Classes
* [`apt`](#apt): Main class, includes all other classes.
-* [`apt::backports`](#aptbackports): Manages backports.
+* [`apt::backports`](#apt--backports): Manages backports.
#### Private Classes
### Defined types
-* [`apt::conf`](#aptconf): Specifies a custom Apt configuration file.
-* [`apt::key`](#aptkey): Manages the GPG keys that Apt uses to authenticate packages.
-* [`apt::mark`](#aptmark): defined typeapt::mark
-* [`apt::pin`](#aptpin): Manages Apt pins. Does not trigger an apt-get update run.
-* [`apt::ppa`](#aptppa): Manages PPA repositories using `add-apt-repository`. Not supported on Debian.
-* [`apt::setting`](#aptsetting): Manages Apt configuration files.
-* [`apt::source`](#aptsource): Manages the Apt sources in /etc/apt/sources.list.d/.
+* [`apt::conf`](#apt--conf): Specifies a custom Apt configuration file.
+* [`apt::key`](#apt--key): Manages the GPG keys that Apt uses to authenticate packages.
+* [`apt::mark`](#apt--mark): Manages apt-mark settings
+* [`apt::pin`](#apt--pin): Manages Apt pins. Does not trigger an apt-get update run.
+* [`apt::ppa`](#apt--ppa): Manages PPA repositories using `add-apt-repository`. Not supported on Debian.
+* [`apt::setting`](#apt--setting): Manages Apt configuration files.
+* [`apt::source`](#apt--source): Manages the Apt sources in /etc/apt/sources.list.d/.
### Resource types
-#### Public Resource types
-
-
#### Private Resource types
* `apt_key`: This type provides Puppet with the capabilities to manage GPG keys needed
### Data types
-* [`Apt::Auth_conf_entry`](#aptauth_conf_entry): Login configuration settings that are recorded in the file `/etc/apt/auth.conf`.
-* [`Apt::Proxy`](#aptproxy): Configures Apt to connect to a proxy server.
+* [`Apt::Auth_conf_entry`](#Apt--Auth_conf_entry): Login configuration settings that are recorded in the file `/etc/apt/auth.conf`.
+* [`Apt::Proxy`](#Apt--Proxy): Configures Apt to connect to a proxy server.
+* [`Apt::Proxy_Per_Host`](#Apt--Proxy_Per_Host): Adds per-host overrides to the system default APT proxy configuration
### Tasks
-* [`init`](#init): Allows you to perform apt functions
+* [`init`](#init): Allows you to perform apt-get functions
## 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`](#-apt--provider)
+* [`keyserver`](#-apt--keyserver)
+* [`key_options`](#-apt--key_options)
+* [`ppa_options`](#-apt--ppa_options)
+* [`ppa_package`](#-apt--ppa_package)
+* [`backports`](#-apt--backports)
+* [`confs`](#-apt--confs)
+* [`update`](#-apt--update)
+* [`update_defaults`](#-apt--update_defaults)
+* [`purge`](#-apt--purge)
+* [`purge_defaults`](#-apt--purge_defaults)
+* [`proxy`](#-apt--proxy)
+* [`proxy_defaults`](#-apt--proxy_defaults)
+* [`sources`](#-apt--sources)
+* [`keys`](#-apt--keys)
+* [`ppas`](#-apt--ppas)
+* [`pins`](#-apt--pins)
+* [`settings`](#-apt--settings)
+* [`manage_auth_conf`](#-apt--manage_auth_conf)
+* [`auth_conf_entries`](#-apt--auth_conf_entries)
+* [`auth_conf_owner`](#-apt--auth_conf_owner)
+* [`root`](#-apt--root)
+* [`sources_list`](#-apt--sources_list)
+* [`sources_list_d`](#-apt--sources_list_d)
+* [`conf_d`](#-apt--conf_d)
+* [`preferences`](#-apt--preferences)
+* [`preferences_d`](#-apt--preferences_d)
+* [`config_files`](#-apt--config_files)
+* [`sources_list_force`](#-apt--sources_list_force)
+* [`include_defaults`](#-apt--include_defaults)
+* [`apt_conf_d`](#-apt--apt_conf_d)
+* [`source_key_defaults`](#-apt--source_key_defaults)
+
+##### <a name="-apt--provider"></a>`provider`
Data type: `String`
Default value: `$apt::params::provider`
-##### `keyserver`
+##### <a name="-apt--keyserver"></a>`keyserver`
Data type: `String`
Default value: `$apt::params::keyserver`
-##### `key_options`
+##### <a name="-apt--key_options"></a>`key_options`
Data type: `Optional[String]`
Default value: `$apt::params::key_options`
-##### `ppa_options`
+##### <a name="-apt--ppa_options"></a>`ppa_options`
-Data type: `Optional[String]`
+Data type: `Optional[Array[String]]`
Supplies options to be passed to the `add-apt-repository` command.
Default value: `$apt::params::ppa_options`
-##### `ppa_package`
+##### <a name="-apt--ppa_package"></a>`ppa_package`
Data type: `Optional[String]`
Default value: `$apt::params::ppa_package`
-##### `backports`
+##### <a name="-apt--backports"></a>`backports`
Data type: `Optional[Hash]`
Default value: `$apt::params::backports`
-##### `confs`
+##### <a name="-apt--confs"></a>`confs`
Data type: `Hash`
Default value: `$apt::params::confs`
-##### `update`
+##### <a name="-apt--update"></a>`update`
Data type: `Hash`
Options:
-* **: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.
-Valid options: 'always' (at every Puppet run); 'daily' (if the value of `apt_update_last_success` is less than current epoch time minus 86400);
-'weekly' (if the value of `apt_update_last_success` is less than current epoch time minus 604800); and 'reluctantly' (only if the exec resource
-`apt_update` is notified). Default: 'reluctantly'.
+* **: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.
+Valid options:
+ 'always' (at every Puppet run);
+ daily' (if the value of `apt_update_last_success` is less than current epoch time minus 86400);
+ 'weekly' (if the value of `apt_update_last_success` is less than current epoch time minus 604800);
+ 'reluctantly' (only if the exec resource `apt_update` is notified).
+Default: 'reluctantly'.
* **:loglevel** `Integer`: Specifies the log level of logs outputted to the console. Default: undef.
* **:timeout** `Integer`: Specifies how long to wait for the update to complete before canceling it. Valid options: an integer, in seconds. Default: undef.
* **:tries** `Integer`: Specifies how many times to retry the update after receiving a DNS or HTTP error. Default: undef.
Default value: `$apt::params::update`
-##### `purge`
+##### <a name="-apt--update_defaults"></a>`update_defaults`
+
+Data type: `Hash`
+
+The default update settings that are combined and merged with the passed `update` value
+
+Default value: `$apt::params::update_defaults`
+
+##### <a name="-apt--purge"></a>`purge`
Data type: `Hash`
Default value: `$apt::params::purge`
-##### `proxy`
+##### <a name="-apt--purge_defaults"></a>`purge_defaults`
+
+Data type: `Hash`
+
+The default purge settings that are combined and merged with the passed `purge` value
+
+Default value: `$apt::params::purge_defaults`
+
+##### <a name="-apt--proxy"></a>`proxy`
Data type: `Apt::Proxy`
Default value: `$apt::params::proxy`
-##### `sources`
+##### <a name="-apt--proxy_defaults"></a>`proxy_defaults`
+
+Data type: `Hash`
+
+The default proxy settings that are combined and merged with the passed `proxy` value
+
+Default value: `$apt::params::proxy_defaults`
+
+##### <a name="-apt--sources"></a>`sources`
Data type: `Hash`
Default value: `$apt::params::sources`
-##### `keys`
+##### <a name="-apt--keys"></a>`keys`
Data type: `Hash`
Default value: `$apt::params::keys`
-##### `ppas`
+##### <a name="-apt--ppas"></a>`ppas`
Data type: `Hash`
Default value: `$apt::params::ppas`
-##### `pins`
+##### <a name="-apt--pins"></a>`pins`
Data type: `Hash`
Default value: `$apt::params::pins`
-##### `settings`
+##### <a name="-apt--settings"></a>`settings`
Data type: `Hash`
Default value: `$apt::params::settings`
-##### `manage_auth_conf`
+##### <a name="-apt--manage_auth_conf"></a>`manage_auth_conf`
Data type: `Boolean`
Default value: `$apt::params::manage_auth_conf`
-##### `auth_conf_entries`
+##### <a name="-apt--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="-apt--auth_conf_owner"></a>`auth_conf_owner`
Data type: `String`
Default value: `$apt::params::auth_conf_owner`
-##### `root`
+##### <a name="-apt--root"></a>`root`
Data type: `String`
Default value: `$apt::params::root`
-##### `sources_list`
+##### <a name="-apt--sources_list"></a>`sources_list`
Data type: `String`
Default value: `$apt::params::sources_list`
-##### `sources_list_d`
+##### <a name="-apt--sources_list_d"></a>`sources_list_d`
Data type: `String`
Default value: `$apt::params::sources_list_d`
-##### `conf_d`
+##### <a name="-apt--conf_d"></a>`conf_d`
Data type: `String`
Default value: `$apt::params::conf_d`
-##### `preferences`
+##### <a name="-apt--preferences"></a>`preferences`
Data type: `String`
Default value: `$apt::params::preferences`
-##### `preferences_d`
+##### <a name="-apt--preferences_d"></a>`preferences_d`
Data type: `String`
Default value: `$apt::params::preferences_d`
-##### `config_files`
+##### <a name="-apt--config_files"></a>`config_files`
Data type: `Hash`
Default value: `$apt::params::config_files`
-##### `sources_list_force`
+##### <a name="-apt--sources_list_force"></a>`sources_list_force`
Data type: `Boolean`
Default value: `$apt::params::sources_list_force`
-##### `update_defaults`
-
-Data type: `Hash`
-
-
-
-Default value: `$apt::params::update_defaults`
-
-##### `purge_defaults`
-
-Data type: `Hash`
-
-
-
-Default value: `$apt::params::purge_defaults`
-
-##### `proxy_defaults`
-
-Data type: `Hash`
-
-
-
-Default value: `$apt::params::proxy_defaults`
-
-##### `include_defaults`
+##### <a name="-apt--include_defaults"></a>`include_defaults`
Data type: `Hash`
Default value: `$apt::params::include_defaults`
-##### `apt_conf_d`
+##### <a name="-apt--apt_conf_d"></a>`apt_conf_d`
Data type: `String`
-
+The path to the file `apt.conf.d`
Default value: `$apt::params::apt_conf_d`
-##### `source_key_defaults`
+##### <a name="-apt--source_key_defaults"></a>`source_key_defaults`
Data type: `Hash`
+The fault `source_key` settings
+Default value:
-Default value: `$apt::params::source_key_defaults`
+```puppet
+{
+ 'server' => $keyserver,
+ 'options' => undef,
+ 'content' => undef,
+ 'source' => undef,
+ }
+```
-### `apt::backports`
+### <a name="apt--backports"></a>`apt::backports`
Manages backports.
repos => 'main universe multiverse restricted',
key => {
id => '630239CC130E1A7FD81A27B140976EAF437D05B5',
- server => 'hkps.pool.sks-keyservers.net',
+ server => 'keyserver.ubuntu.com',
},
}
```
#### Parameters
-The following parameters are available in the `apt::backports` class.
+The following parameters are available in the `apt::backports` class:
-##### `location`
+* [`location`](#-apt--backports--location)
+* [`release`](#-apt--backports--release)
+* [`repos`](#-apt--backports--repos)
+* [`key`](#-apt--backports--key)
+* [`pin`](#-apt--backports--pin)
+* [`include`](#-apt--backports--include)
+
+##### <a name="-apt--backports--location"></a>`location`
Data type: `Optional[String]`
- Ubuntu: 'http://archive.ubuntu.com/ubuntu'
-Default value: ``undef``
+Default value: `undef`
-##### `release`
+##### <a name="-apt--backports--release"></a>`release`
Data type: `Optional[String]`
Specifies a distribution of the Apt repository containing the backports to manage. Used in populating the `source.list` configuration file.
-Default: on Debian and Ubuntu, '${lsbdistcodename}-backports'. We recommend keeping this default, except on other operating
+Default: on Debian and Ubuntu, `${fact('os.distro.codename')}-backports`. We recommend keeping this default, except on other operating
systems.
-Default value: ``undef``
+Default value: `undef`
-##### `repos`
+##### <a name="-apt--backports--repos"></a>`repos`
Data type: `Optional[String]`
- Ubuntu: 'main universe multiverse restricted'
-Default value: ``undef``
+Default value: `undef`
-##### `key`
+##### <a name="-apt--backports--key"></a>`key`
Data type: `Optional[Variant[String, Hash]]`
- Ubuntu: '630239CC130E1A7FD81A27B140976EAF437D05B5'
-Default value: ``undef``
+Default value: `undef`
-##### `pin`
+##### <a name="-apt--backports--pin"></a>`pin`
-Data type: `Optional[Variant[Integer, String, Hash]]`
+Data type: `Variant[Integer, String, Hash]`
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
type, or a hash of `parameter => value` pairs to be passed to `apt::pin`'s corresponding parameters.
Default value: `200`
-##### `include`
+##### <a name="-apt--backports--include"></a>`include`
-Data type: `Optional[Variant[Hash]]`
+Data type: `Variant[Hash]`
Specifies whether to include 'deb' or 'src', or both.
## Defined types
-### `apt::conf`
+### <a name="apt--conf"></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`](#-apt--conf--content)
+* [`ensure`](#-apt--conf--ensure)
+* [`priority`](#-apt--conf--priority)
+* [`notify_update`](#-apt--conf--notify_update)
-##### `content`
+##### <a name="-apt--conf--content"></a>`content`
Data type: `Optional[String]`
Required unless `ensure` is set to 'absent'. Directly supplies content for the configuration file.
-Default value: ``undef``
+Default value: `undef`
-##### `ensure`
+##### <a name="-apt--conf--ensure"></a>`ensure`
Data type: `Enum['present', 'absent']`
Default value: `present`
-##### `priority`
+##### <a name="-apt--conf--priority"></a>`priority`
Data type: `Variant[String, Integer]`
Default value: `50`
-##### `notify_update`
+##### <a name="-apt--conf--notify_update"></a>`notify_update`
Data type: `Optional[Boolean]`
Specifies whether to trigger an `apt-get update` run.
-Default value: ``undef``
+Default value: `undef`
-### `apt::key`
+### <a name="apt--key"></a>`apt::key`
Manages the GPG keys that Apt uses to authenticate packages.
```puppet
apt::key { 'puppetlabs':
id => '6F6B15509CF8E59E6E469F327F438280EF8D349F',
- server => 'hkps.pool.sks-keyservers.net',
+ server => 'keyserver.ubuntu.com',
options => 'http-proxy="http://proxyuser:proxypass@example.org:3128"',
}
```
#### Parameters
-The following parameters are available in the `apt::key` defined type.
+The following parameters are available in the `apt::key` defined type:
+
+* [`id`](#-apt--key--id)
+* [`ensure`](#-apt--key--ensure)
+* [`content`](#-apt--key--content)
+* [`source`](#-apt--key--source)
+* [`server`](#-apt--key--server)
+* [`weak_ssl`](#-apt--key--weak_ssl)
+* [`options`](#-apt--key--options)
-##### `id`
+##### <a name="-apt--key--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="-apt--key--ensure"></a>`ensure`
Data type: `Enum['present', 'absent', 'refreshed']`
Default value: `present`
-##### `content`
+##### <a name="-apt--key--content"></a>`content`
Data type: `Optional[String]`
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.
-Default value: ``undef``
+Default value: `undef`
-##### `source`
+##### <a name="-apt--key--source"></a>`source`
Data type: `Optional[Pattern[/\Ahttps?:\/\//, /\Aftp:\/\//, /\A\/\w+/]]`
Specifies the location of an existing GPG key file to copy. Valid options: a string containing a URL (ftp://, http://, or https://) or
an absolute path.
-Default value: ``undef``
+Default value: `undef`
-##### `server`
+##### <a name="-apt--key--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\-_.]+)*\/?$/]`
Specifies a keyserver to provide the GPG key. Valid options: a string containing a domain name or a full URL (http://, https://,
hkp:// or hkps://). The hkps:// protocol is currently only supported on Ubuntu 18.04.
-Default value: `$::apt::keyserver`
+Default value: `$apt::keyserver`
-##### `weak_ssl`
+##### <a name="-apt--key--weak_ssl"></a>`weak_ssl`
Data type: `Boolean`
Specifies whether strict SSL verification on a https URL should be disabled. Valid options: true or false.
-Default value: ``false``
+Default value: `false`
-##### `options`
+##### <a name="-apt--key--options"></a>`options`
Data type: `Optional[String]`
Passes additional options to `apt-key adv --keyserver-options`.
-Default value: `$::apt::key_options`
+Default value: `$apt::key_options`
-### `apt::mark`
+### <a name="apt--mark"></a>`apt::mark`
-defined typeapt::mark
+Manages apt-mark settings
#### 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`](#-apt--mark--setting)
+
+##### <a name="-apt--mark--setting"></a>`setting`
Data type: `Enum['auto','manual','hold','unhold']`
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
+https://manpages.debian.org/stable/apt/apt-mark.8.en.html
-### `apt::pin`
+### <a name="apt--pin"></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`](#-apt--pin--ensure)
+* [`explanation`](#-apt--pin--explanation)
+* [`order`](#-apt--pin--order)
+* [`packages`](#-apt--pin--packages)
+* [`priority`](#-apt--pin--priority)
+* [`release`](#-apt--pin--release)
+* [`release_version`](#-apt--pin--release_version)
+* [`component`](#-apt--pin--component)
+* [`originator`](#-apt--pin--originator)
+* [`label`](#-apt--pin--label)
+* [`origin`](#-apt--pin--origin)
+* [`version`](#-apt--pin--version)
+* [`codename`](#-apt--pin--codename)
-##### `ensure`
+##### <a name="-apt--pin--ensure"></a>`ensure`
-Data type: `Optional[Enum['file', 'present', 'absent']]`
+Data type: `Enum['file', 'present', 'absent']`
Specifies whether the pin should exist. Valid options: 'file', 'present', and 'absent'.
Default value: `present`
-##### `explanation`
+##### <a name="-apt--pin--explanation"></a>`explanation`
Data type: `Optional[String]`
Supplies a comment to explain the pin. Default: "${caller_module_name}: ${name}".
-Default value: ``undef``
+Default value: `undef`
-##### `order`
+##### <a name="-apt--pin--order"></a>`order`
Data type: `Variant[Integer]`
Default value: `50`
-##### `packages`
+##### <a name="-apt--pin--packages"></a>`packages`
Data type: `Variant[String, Array]`
Default value: `'*'`
-##### `priority`
+##### <a name="-apt--pin--priority"></a>`priority`
Data type: `Variant[Numeric, String]`
Default value: `0`
-##### `release`
+##### <a name="-apt--pin--release"></a>`release`
Data type: `Optional[String]`
Tells APT to prefer packages that support the specified release. Typical values include 'stable', 'testing', and 'unstable'.
-Default value: `''`
+Default value: `undef`
-##### `release_version`
+##### <a name="-apt--pin--release_version"></a>`release_version`
Data type: `Optional[String]`
Tells APT to prefer packages that support the specified operating system release version (such as Debian release version 7).
-Default value: `''`
+Default value: `undef`
-##### `component`
+##### <a name="-apt--pin--component"></a>`component`
Data type: `Optional[String]`
Names the licensing component associated with the packages in the directory tree of the Release file.
-Default value: `''`
+Default value: `undef`
-##### `originator`
+##### <a name="-apt--pin--originator"></a>`originator`
Data type: `Optional[String]`
Names the originator of the packages in the directory tree of the Release file.
-Default value: `''`
+Default value: `undef`
-##### `label`
+##### <a name="-apt--pin--label"></a>`label`
Data type: `Optional[String]`
Names the label of the packages in the directory tree of the Release file.
-Default value: `''`
+Default value: `undef`
-##### `origin`
+##### <a name="-apt--pin--origin"></a>`origin`
Data type: `Optional[String]`
+The package origin
+Default value: `undef`
-Default value: `''`
-
-##### `version`
+##### <a name="-apt--pin--version"></a>`version`
Data type: `Optional[String]`
+The version of the package
+Default value: `undef`
-Default value: `''`
-
-##### `codename`
+##### <a name="-apt--pin--codename"></a>`codename`
Data type: `Optional[String]`
+The codename of the package
+Default value: `undef`
-Default value: `''`
-
-### `apt::ppa`
+### <a name="apt--ppa"></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`](#-apt--ppa--ensure)
+* [`options`](#-apt--ppa--options)
+* [`release`](#-apt--ppa--release)
+* [`dist`](#-apt--ppa--dist)
+* [`package_name`](#-apt--ppa--package_name)
+* [`package_manage`](#-apt--ppa--package_manage)
+
+##### <a name="-apt--ppa--ensure"></a>`ensure`
Data type: `String`
Default value: `'present'`
-##### `options`
+##### <a name="-apt--ppa--options"></a>`options`
-Data type: `Optional[String]`
+Data type: `Optional[Array[String]]`
Supplies options to be passed to the `add-apt-repository` command. Default: '-y'.
-Default value: `$::apt::ppa_options`
+Default value: `$apt::ppa_options`
-##### `release`
+##### <a name="-apt--ppa--release"></a>`release`
Data type: `Optional[String]`
-Optional if lsb-release is installed (unless you're using a different release than indicated by lsb-release, e.g., Linux Mint).
Specifies the operating system of your node. Valid options: a string containing a valid LSB distribution codename.
+Optional if `puppet facts show os.distro.codename` returns your correct distribution release codename.
-Default value: `$facts['lsbdistcodename']`
+Default value: `fact('os.distro.codename')`
-##### `dist`
+##### <a name="-apt--ppa--dist"></a>`dist`
Data type: `Optional[String]`
-Optional if lsb-release is installed (unless you're using a different release than indicated by lsb-release, e.g., Linux Mint).
Specifies the distribution of your node. Valid options: a string containing a valid distribution codename.
+Optional if `puppet facts show os.name` returns your correct distribution name.
-Default value: `$facts['lsbdistid']`
+Default value: `$facts['os']['name']`
-##### `package_name`
+##### <a name="-apt--ppa--package_name"></a>`package_name`
Data type: `Optional[String]`
Names the package that provides the `apt-add-repository` command. Default: 'software-properties-common'.
-Default value: `$::apt::ppa_package`
+Default value: `$apt::ppa_package`
-##### `package_manage`
+##### <a name="-apt--ppa--package_manage"></a>`package_manage`
Data type: `Boolean`
Specifies whether Puppet should manage the package that provides `apt-add-repository`.
-Default value: ``false``
+Default value: `false`
-### `apt::setting`
+### <a name="apt--setting"></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`](#-apt--setting--priority)
+* [`ensure`](#-apt--setting--ensure)
+* [`source`](#-apt--setting--source)
+* [`content`](#-apt--setting--content)
+* [`notify_update`](#-apt--setting--notify_update)
+
+##### <a name="-apt--setting--priority"></a>`priority`
Data type: `Variant[String, Integer, Array]`
Default value: `50`
-##### `ensure`
+##### <a name="-apt--setting--ensure"></a>`ensure`
-Data type: `Optional[Enum['file', 'present', 'absent']]`
+Data type: `Enum['file', 'present', 'absent']`
Specifies whether the file should exist. Valid options: 'present', 'absent', and 'file'.
Default value: `file`
-##### `source`
+##### <a name="-apt--setting--source"></a>`source`
Data type: `Optional[String]`
Required, unless `content` is set. Specifies a source file to supply the content of the configuration file. Cannot be used in combination
with `content`. Valid options: see link above for Puppet's native file type source attribute.
-Default value: ``undef``
+Default value: `undef`
-##### `content`
+##### <a name="-apt--setting--content"></a>`content`
Data type: `Optional[String]`
Required, unless `source` is set. Directly supplies content for the configuration file. Cannot be used in combination with `source`. Valid
options: see link above for Puppet's native file type content attribute.
-Default value: ``undef``
+Default value: `undef`
-##### `notify_update`
+##### <a name="-apt--setting--notify_update"></a>`notify_update`
Data type: `Boolean`
Specifies whether to trigger an `apt-get update` run.
-Default value: ``true``
+Default value: `true`
-### `apt::source`
+### <a name="apt--source"></a>`apt::source`
Manages the Apt sources in /etc/apt/sources.list.d/.
repos => 'main',
key => {
id => '6F6B15509CF8E59E6E469F327F438280EF8D349F',
- server => 'hkps.pool.sks-keyservers.net',
+ server => 'keyserver.ubuntu.com',
},
}
```
#### Parameters
-The following parameters are available in the `apt::source` defined type.
-
-##### `location`
+The following parameters are available in the `apt::source` defined type:
+
+* [`location`](#-apt--source--location)
+* [`comment`](#-apt--source--comment)
+* [`ensure`](#-apt--source--ensure)
+* [`release`](#-apt--source--release)
+* [`repos`](#-apt--source--repos)
+* [`include`](#-apt--source--include)
+* [`key`](#-apt--source--key)
+* [`keyring`](#-apt--source--keyring)
+* [`pin`](#-apt--source--pin)
+* [`architecture`](#-apt--source--architecture)
+* [`allow_unsigned`](#-apt--source--allow_unsigned)
+* [`allow_insecure`](#-apt--source--allow_insecure)
+* [`notify_update`](#-apt--source--notify_update)
+* [`check_valid_until`](#-apt--source--check_valid_until)
+
+##### <a name="-apt--source--location"></a>`location`
Data type: `Optional[String]`
Required, unless ensure is set to 'absent'. Specifies an Apt repository. Valid options: a string containing a repository URL.
-Default value: ``undef``
+Default value: `undef`
-##### `comment`
+##### <a name="-apt--source--comment"></a>`comment`
Data type: `String`
Default value: `$name`
-##### `ensure`
+##### <a name="-apt--source--ensure"></a>`ensure`
Data type: `String`
Default value: `present`
-##### `release`
+##### <a name="-apt--source--release"></a>`release`
Data type: `Optional[String]`
Specifies a distribution of the Apt repository.
-Default value: ``undef``
+Default value: `undef`
-##### `repos`
+##### <a name="-apt--source--repos"></a>`repos`
Data type: `String`
Default value: `'main'`
-##### `include`
+##### <a name="-apt--source--include"></a>`include`
-Data type: `Optional[Variant[Hash]]`
+Data type: `Variant[Hash]`
Configures include options. Valid options: a hash of available keys.
Default value: `{}`
-##### `key`
+##### <a name="-apt--source--key"></a>`key`
Data type: `Optional[Variant[String, Hash]]`
Creates a declaration of the apt::key defined type. Valid options: a string to be passed to the `id` parameter of the `apt::key`
-defined type, or a hash of `parameter => value` pairs to be passed to `apt::key`'s `id`, `server`, `content`, `source`, and/or
-`options` parameters.
+defined type, or a hash of `parameter => value` pairs to be passed to `apt::key`'s `id`, `server`, `content`, `source`, `weak_ssl`,
+and/or `options` parameters.
+
+Default value: `undef`
-Default value: ``undef``
+##### <a name="-apt--source--keyring"></a>`keyring`
-##### `pin`
+Data type: `Optional[Stdlib::AbsolutePath]`
+
+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.
+See https://wiki.debian.org/DebianRepository/UseThirdParty for details.
+
+Default value: `undef`
+
+##### <a name="-apt--source--pin"></a>`pin`
Data type: `Optional[Variant[Hash, Numeric, String]]`
Creates a declaration of the apt::pin defined type. Valid options: a number or string to be passed to the `id` parameter of the
`apt::pin` defined type, or a hash of `parameter => value` pairs to be passed to `apt::pin`'s corresponding parameters.
-Default value: ``undef``
+Default value: `undef`
-##### `architecture`
+##### <a name="-apt--source--architecture"></a>`architecture`
Data type: `Optional[String]`
separated by commas (e.g., 'i386' or 'i386,alpha,powerpc'). Default: undef (if unspecified, Apt downloads information for all architectures
defined in the Apt::Architectures option).
-Default value: ``undef``
+Default value: `undef`
-##### `allow_unsigned`
+##### <a name="-apt--source--allow_unsigned"></a>`allow_unsigned`
Data type: `Boolean`
Specifies whether to authenticate packages from this release, even if the Release file is not signed or the signature can't be checked.
-Default value: ``false``
+Default value: `false`
+
+##### <a name="-apt--source--allow_insecure"></a>`allow_insecure`
+
+Data type: `Boolean`
+
+Specifies whether to allow downloads from insecure repositories.
+
+Default value: `false`
-##### `notify_update`
+##### <a name="-apt--source--notify_update"></a>`notify_update`
Data type: `Boolean`
Specifies whether to trigger an `apt-get update` run.
-Default value: ``true``
+Default value: `true`
-## Resource types
+##### <a name="-apt--source--check_valid_until"></a>`check_valid_until`
+
+Data type: `Boolean`
+
+Specifies whether to check if the package release date is valid. Defaults to `True`.
+
+Default value: `true`
## Data types
-### `Apt::Auth_conf_entry`
+### <a name="Apt--Auth_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`](#-Apt--Auth_conf_entry--machine)
+* [`login`](#-Apt--Auth_conf_entry--login)
+* [`password`](#-Apt--Auth_conf_entry--password)
-##### `machine`
+##### <a name="-Apt--Auth_conf_entry--machine"></a>`machine`
Hostname of machine to connect to.
-##### `login`
+##### <a name="-Apt--Auth_conf_entry--login"></a>`login`
Specifies the username to connect with.
-##### `password`
+##### <a name="-Apt--Auth_conf_entry--password"></a>`password`
Specifies the password to connect with.
-### `Apt::Proxy`
+### <a name="Apt--Proxy"></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],
- }]`
+ perhost => Optional[Array[Apt::Proxy_Per_Host]],
+ }]
+```
#### 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`](#-Apt--Proxy--ensure)
+* [`host`](#-Apt--Proxy--host)
+* [`port`](#-Apt--Proxy--port)
+* [`https`](#-Apt--Proxy--https)
+* [`direct`](#-Apt--Proxy--direct)
+
+##### <a name="-Apt--Proxy--ensure"></a>`ensure`
Specifies whether the proxy should exist. Valid options: 'file', 'present', and 'absent'. Prefer 'file' over 'present'.
-##### `host`
+##### <a name="-Apt--Proxy--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="-Apt--Proxy--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="-Apt--Proxy--https"></a>`https`
Specifies whether to enable https proxies.
-##### `direct`
+##### <a name="-Apt--Proxy--direct"></a>`direct`
Specifies whether or not to use a `DIRECT` https proxy if http proxy is used but https is not.
+### <a name="Apt--Proxy_Per_Host"></a>`Apt::Proxy_Per_Host`
+
+Adds per-host overrides to the system default APT proxy configuration
+
+Alias of
+
+```puppet
+Struct[{
+ scope => String,
+ host => Optional[String],
+ port => Optional[Integer[1, 65535]],
+ https => Optional[Boolean],
+ direct => Optional[Boolean],
+ }]
+```
+
+#### Parameters
+
+The following parameters are available in the `Apt::Proxy_Per_Host` data type:
+
+* [`scope`](#-Apt--Proxy_Per_Host--scope)
+* [`host`](#-Apt--Proxy_Per_Host--host)
+* [`port`](#-Apt--Proxy_Per_Host--port)
+* [`https`](#-Apt--Proxy_Per_Host--https)
+* [`direct`](#-Apt--Proxy_Per_Host--direct)
+
+##### <a name="-Apt--Proxy_Per_Host--scope"></a>`scope`
+
+Specifies the scope of the override. Valid options: a string containing a hostname.
+
+##### <a name="-Apt--Proxy_Per_Host--host"></a>`host`
+
+Specifies a proxy host to be stored in `/etc/apt/apt.conf.d/01proxy`. Valid options: a string containing a hostname.
+
+##### <a name="-Apt--Proxy_Per_Host--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.
+
+##### <a name="-Apt--Proxy_Per_Host--https"></a>`https`
+
+Specifies whether to enable https for this override.
+
+##### <a name="-Apt--Proxy_Per_Host--direct"></a>`direct`
+
+Specifies whether or not to use a `DIRECT` target to bypass the system default proxy.
+
## Tasks
-### `init`
+### <a name="init"></a>`init`
-Allows you to perform apt functions
+Allows you to perform apt-get functions
**Supports noop?** false
Data type: `Enum[update, upgrade, dist-upgrade, autoremove]`
-Action to perform
+Action to perform with apt-get