# Reference
+
<!-- DO NOT EDIT: This document was generated by Puppet Strings -->
## Table of Contents
-**Classes**
+### Classes
-_Public Classes_
+#### Public Classes
* [`apt`](#apt): Main class, includes all other classes.
* [`apt::backports`](#aptbackports): Manages backports.
-_Private Classes_
+#### Private Classes
* `apt::params`: Provides defaults for the Apt module parameters.
* `apt::update`: Updates the list of available packages using apt-get update.
-**Defined types**
+### 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/.
-**Resource types**
+### Resource types
-_Public Resource types_
+#### Public Resource types
-_Private Resource types_
+#### Private Resource types
* `apt_key`: This type provides Puppet with the capabilities to manage GPG keys needed
by apt to perform package validation. Apt has it's own GPG keyring that can
be manipulated through the `apt-key` command.
-**Tasks**
+### 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.
+
+### Tasks
* [`init`](#init): Allows you to perform apt functions
## Classes
-### apt
+### `apt`
Main class, includes all other classes.
* **See also**
-https://docs.puppetlabs.com/references/latest/function.html#createresources
-for the create resource function
+ * https://docs.puppetlabs.com/references/latest/function.html#createresources
+ * for the create resource function
#### Parameters
Specifies the provider that should be used by apt::update.
-Default value: $apt::params::provider
+Default value: `$apt::params::provider`
##### `keyserver`
Specifies a keyserver to provide the GPG key. Valid options: a string containing a domain name or a full URL (http://, https://, or
hkp://).
-Default value: $apt::params::keyserver
+Default value: `$apt::params::keyserver`
+
+##### `key_options`
+
+Data type: `Optional[String]`
+
+Specifies the default options for apt::key resources.
+
+Default value: `$apt::params::key_options`
##### `ppa_options`
Supplies options to be passed to the `add-apt-repository` command.
-Default value: $apt::params::ppa_options
+Default value: `$apt::params::ppa_options`
##### `ppa_package`
Names the package that provides the `apt-add-repository` command.
-Default value: $apt::params::ppa_package
+Default value: `$apt::params::ppa_package`
##### `backports`
* **:repos** `String`: See apt::backports for documentation.
* **:key** `String`: See apt::backports for documentation.
-Default value: $apt::params::backports
+Default value: `$apt::params::backports`
##### `confs`
Creates new `apt::conf` resources. Valid options: a hash to be passed to the create_resources function linked above.
-Default value: $apt::params::confs
+Default value: `$apt::params::confs`
##### `update`
* **: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
+Default value: `$apt::params::update`
##### `purge`
* **:preferences** `Boolean`: Specifies whether to purge any unmanaged entries from preferences. Default false.
* **:preferences.d.** `Boolean`: Specifies whether to purge any unmanaged entries from preferences.d. Default false.
-Default value: $apt::params::purge
+Default value: `$apt::params::purge`
##### `proxy`
Configures Apt to connect to a proxy server. Valid options: a hash matching the locally defined type apt::proxy.
-Default value: $apt::params::proxy
+Default value: `$apt::params::proxy`
##### `sources`
Creates new `apt::source` resources. Valid options: a hash to be passed to the create_resources function linked above.
-Default value: $apt::params::sources
+Default value: `$apt::params::sources`
##### `keys`
Creates new `apt::key` resources. Valid options: a hash to be passed to the create_resources function linked above.
-Default value: $apt::params::keys
+Default value: `$apt::params::keys`
##### `ppas`
Creates new `apt::ppa` resources. Valid options: a hash to be passed to the create_resources function linked above.
-Default value: $apt::params::ppas
+Default value: `$apt::params::ppas`
##### `pins`
Creates new `apt::pin` resources. Valid options: a hash to be passed to the create_resources function linked above.
-Default value: $apt::params::pins
+Default value: `$apt::params::pins`
##### `settings`
Creates new `apt::setting` resources. Valid options: a hash to be passed to the create_resources function linked above.
-Default value: $apt::params::settings
+Default value: `$apt::params::settings`
##### `manage_auth_conf`
Specifies whether to manage the /etc/apt/auth.conf file. When true, the file will be overwritten with the entries specified in
the auth_conf_entries parameter. When false, the file will be ignored (note that this does not set the file to absent.
-Default value: $apt::params::manage_auth_conf
+Default value: `$apt::params::manage_auth_conf`
##### `auth_conf_entries`
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
password and no others. Specifying manage_auth_conf and not specifying this parameter will set /etc/apt/auth.conf to absent.
-Default value: $apt::params::auth_conf_entries
+Default value: `$apt::params::auth_conf_entries`
##### `auth_conf_owner`
The owner of the file /etc/apt/auth.conf. Default: '_apt' or 'root' on old releases.
-Default value: $apt::params::auth_conf_owner
+Default value: `$apt::params::auth_conf_owner`
##### `root`
Specifies root directory of Apt executable.
-Default value: $apt::params::root
+Default value: `$apt::params::root`
##### `sources_list`
Specifies the path of the sources_list file to use.
-Default value: $apt::params::sources_list
+Default value: `$apt::params::sources_list`
##### `sources_list_d`
Specifies the path of the sources_list.d file to use.
-Default value: $apt::params::sources_list_d
+Default value: `$apt::params::sources_list_d`
##### `conf_d`
Specifies the path of the conf.d file to use.
-Default value: $apt::params::conf_d
+Default value: `$apt::params::conf_d`
##### `preferences`
Specifies the path of the preferences file to use.
-Default value: $apt::params::preferences
+Default value: `$apt::params::preferences`
##### `preferences_d`
Specifies the path of the preferences.d file to use.
-Default value: $apt::params::preferences_d
+Default value: `$apt::params::preferences_d`
##### `config_files`
A hash made up of the various configuration files used by Apt.
-Default value: $apt::params::config_files
+Default value: `$apt::params::config_files`
##### `update_defaults`
-Default value: $apt::params::update_defaults
+Default value: `$apt::params::update_defaults`
##### `purge_defaults`
-Default value: $apt::params::purge_defaults
+Default value: `$apt::params::purge_defaults`
##### `proxy_defaults`
-Default value: $apt::params::proxy_defaults
+Default value: `$apt::params::proxy_defaults`
##### `include_defaults`
-Default value: $apt::params::include_defaults
+Default value: `$apt::params::include_defaults`
+
+##### `apt_conf_d`
+
+Data type: `String`
+
+
+
+Default value: `$apt::params::apt_conf_d`
##### `source_key_defaults`
-Default value: $apt::params::source_key_defaults
+Default value: `$apt::params::source_key_defaults`
-### apt::backports
+### `apt::backports`
Manages backports.
- Ubuntu: 'http://archive.ubuntu.com/ubuntu'
-Default value: `undef`
+Default value: ``undef``
##### `release`
Default: on Debian and Ubuntu, '${lsbdistcodename}-backports'. We recommend keeping this default, except on other operating
systems.
-Default value: `undef`
+Default value: ``undef``
##### `repos`
- Ubuntu: 'main universe multiverse restricted'
-Default value: `undef`
+Default value: ``undef``
##### `key`
- Ubuntu: '630239CC130E1A7FD81A27B140976EAF437D05B5'
-Default value: `undef`
+Default value: ``undef``
##### `pin`
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
+Default value: `200`
+
+##### `include`
+
+Data type: `Optional[Variant[Hash]]`
+
+Specifies whether to include 'deb' or 'src', or both.
+
+Default value: `{}`
## Defined types
-### apt::conf
+### `apt::conf`
Specifies a custom Apt configuration file.
Required unless `ensure` is set to 'absent'. Directly supplies content for the configuration file.
-Default value: `undef`
+Default value: ``undef``
##### `ensure`
Specifies whether the configuration file should exist. Valid options: 'present' and 'absent'.
-Default value: present
+Default value: `present`
##### `priority`
Determines the order in which Apt processes the configuration file. Files with lower priority numbers are loaded first.
Valid options: a string containing an integer or an integer.
-Default value: 50
+Default value: `50`
##### `notify_update`
Specifies whether to trigger an `apt-get update` run.
-Default value: `undef`
+Default value: ``undef``
-### apt::key
+### `apt::key`
Manages the GPG keys that Apt uses to authenticate packages.
Specifies a GPG key to authenticate Apt package signatures. Valid options: a string containing a key ID (8 or 16 hexadecimal
characters, optionally prefixed with "0x") or a full key fingerprint (40 hexadecimal characters).
-Default value: $title
+Default value: `$title`
##### `ensure`
Specifies whether the key should exist. Valid options: 'present', 'absent' or 'refreshed'. Using 'refreshed' will make keys auto
update when they have expired (assuming a new key exists on the key server).
-Default value: present
+Default value: `present`
##### `content`
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`
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`
-Data type: `Pattern[/\A((hkp|hkps|http|https):\/\/)?([a-z\d])([a-z\d-]{0,61}\.)+[a-z\d]+(:\d{2,5})?$/]`
+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`
Specifies whether strict SSL verification on a https URL should be disabled. Valid options: true or false.
-Default value: `false`
+Default value: ``false``
##### `options`
Passes additional options to `apt-key adv --keyserver-options`.
-Default value: `undef`
+Default value: `$::apt::key_options`
+
+### `apt::mark`
+
+defined typeapt::mark
+
+#### Parameters
+
+The following parameters are available in the `apt::mark` defined type.
-### apt::pin
+##### `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
+
+### `apt::pin`
Manages Apt pins. Does not trigger an apt-get update run.
* **See also**
-http://linux.die.net/man/5/apt_preferences
-for context on these parameters
+ * http://linux.die.net/man/5/apt_preferences
+ * for context on these parameters
#### Parameters
Specifies whether the pin should exist. Valid options: 'file', 'present', and 'absent'.
-Default value: present
+Default value: `present`
##### `explanation`
Supplies a comment to explain the pin. Default: "${caller_module_name}: ${name}".
-Default value: `undef`
+Default value: ``undef``
##### `order`
Determines the order in which Apt processes the pin file. Files with lower order numbers are loaded first.
-Default value: 50
+Default value: `50`
##### `packages`
Specifies which package(s) to pin.
-Default value: '*'
+Default value: `'*'`
##### `priority`
Sets the priority of the package. If multiple versions of a given package are available, `apt-get` installs the one with the highest
priority number (subject to dependency constraints). Valid options: an integer.
-Default value: 0
+Default value: `0`
##### `release`
Tells APT to prefer packages that support the specified release. Typical values include 'stable', 'testing', and 'unstable'.
-Default value: ''
+Default value: `''`
##### `release_version`
Tells APT to prefer packages that support the specified operating system release version (such as Debian release version 7).
-Default value: ''
+Default value: `''`
##### `component`
Names the licensing component associated with the packages in the directory tree of the Release file.
-Default value: ''
+Default value: `''`
##### `originator`
Names the originator of the packages in the directory tree of the Release file.
-Default value: ''
+Default value: `''`
##### `label`
Names the label of the packages in the directory tree of the Release file.
-Default value: ''
+Default value: `''`
##### `origin`
-Default value: ''
+Default value: `''`
##### `version`
-Default value: ''
+Default value: `''`
##### `codename`
-Default value: ''
+Default value: `''`
-### apt::ppa
+### `apt::ppa`
Manages PPA repositories using `add-apt-repository`. Not supported on Debian.
Specifies whether the PPA should exist. Valid options: 'present' and 'absent'.
-Default value: 'present'
+Default value: `'present'`
##### `options`
Supplies options to be passed to the `add-apt-repository` command. Default: '-y'.
-Default value: $::apt::ppa_options
+Default value: `$::apt::ppa_options`
##### `release`
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.
-Default value: $facts['lsbdistcodename']
+Default value: `$facts['lsbdistcodename']`
+
+##### `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.
+
+Default value: `$facts['lsbdistid']`
##### `package_name`
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`
Specifies whether Puppet should manage the package that provides `apt-add-repository`.
-Default value: `false`
+Default value: ``false``
-### apt::setting
+### `apt::setting`
Manages Apt configuration files.
* **See also**
-https://docs.puppetlabs.com/references/latest/type.html#file-attributes
-for more information on source and content parameters
+ * https://docs.puppetlabs.com/references/latest/type.html#file-attributes
+ * for more information on source and content parameters
#### Parameters
Determines the order in which Apt processes the configuration file. Files with higher priority numbers are loaded first.
-Default value: 50
+Default value: `50`
##### `ensure`
Specifies whether the file should exist. Valid options: 'present', 'absent', and 'file'.
-Default value: file
+Default value: `file`
##### `source`
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`
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`
Specifies whether to trigger an `apt-get update` run.
-Default value: `true`
+Default value: ``true``
-### apt::source
+### `apt::source`
Manages the Apt sources in /etc/apt/sources.list.d/.
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`
Supplies a comment for adding to the Apt source file.
-Default value: $name
+Default value: `$name`
##### `ensure`
Specifies whether the Apt source file should exist. Valid options: 'present' and 'absent'.
-Default value: present
+Default value: `present`
##### `release`
Specifies a distribution of the Apt repository.
-Default value: `undef`
+Default value: ``undef``
##### `repos`
Specifies a component of the Apt repository.
-Default value: 'main'
+Default value: `'main'`
##### `include`
* **:deb** `Boolean`: Specifies whether to request the distribution's compiled binaries. Default true.
* **:src** `Boolean`: Specifies whether to request the distribution's uncompiled source code. Default false.
-Default value: {}
+Default value: `{}`
##### `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.
-Default value: `undef`
+Default value: ``undef``
##### `pin`
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`
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`
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``
##### `notify_update`
Specifies whether to trigger an `apt-get update` run.
-Default value: `true`
+Default value: ``true``
## Resource types
+## Data types
+
+### `Apt::Auth_conf_entry`
+
+Login configuration settings that are recorded in the file `/etc/apt/auth.conf`.
+
+* **See also**
+ * https://manpages.debian.org/testing/apt/apt_auth.conf.5.en.html
+ * for more information
+
+Alias of `Struct[{
+ machine => String[1],
+ login => String,
+ password => String
+ }]`
+
+#### Parameters
+
+The following parameters are available in the `Apt::Auth_conf_entry` data type.
+
+##### `machine`
+
+Hostname of machine to connect to.
+
+##### `login`
+
+Specifies the username to connect with.
+
+##### `password`
+
+Specifies the password to connect with.
+
+### `Apt::Proxy`
+
+Configures Apt to connect to a proxy server.
+
+Alias of `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.
+
+##### `ensure`
+
+Specifies whether the proxy should exist. Valid options: 'file', 'present', and 'absent'. Prefer 'file' over 'present'.
+
+##### `host`
+
+Specifies a proxy host to be stored in `/etc/apt/apt.conf.d/01proxy`. Valid options: a string containing a hostname.
+
+##### `port`
+
+Specifies a proxy port to be stored in `/etc/apt/apt.conf.d/01proxy`. Valid options: an integer containing a port number.
+
+##### `https`
+
+Specifies whether to enable https proxies.
+
+##### `direct`
+
+Specifies whether or not to use a `DIRECT` https proxy if http proxy is used but https is not.
+
## Tasks
-### init
+### `init`
Allows you to perform apt functions