Mercurial > repos > other > Puppet
diff modules/apt/REFERENCE.md @ 386:3fce34f642f1
Add a PHP module to handle platform differences
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Mon, 03 Jan 2022 17:09:39 +0000 |
parents | |
children | adf6fe9bbc17 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/modules/apt/REFERENCE.md Mon Jan 03 17:09:39 2022 +0000 @@ -0,0 +1,1198 @@ +# Reference + +<!-- DO NOT EDIT: This document was generated by Puppet Strings --> + +## Table of Contents + +### Classes + +#### Public Classes + +* [`apt`](#apt): Main class, includes all other classes. +* [`apt::backports`](#aptbackports): Manages backports. + +#### 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 + +* [`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): Manages apt-mark settings +* [`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 + +#### Public 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. + +### 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::Proxy_Per_Host`](#aptproxy_per_host): Adds per-host overrides to the system default APT proxy configuration + +### Tasks + +* [`init`](#init): Allows you to perform apt functions + +## Classes + +### <a name="apt"></a>`apt` + +Main class, includes all other classes. + +* **See also** + * https://docs.puppetlabs.com/references/latest/function.html#createresources + * for the create resource function + +#### Parameters + +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` + +Specifies the provider that should be used by apt::update. + +Default value: `$apt::params::provider` + +##### <a name="keyserver"></a>`keyserver` + +Data type: `String` + +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` + +##### <a name="key_options"></a>`key_options` + +Data type: `Optional[String]` + +Specifies the default options for apt::key resources. + +Default value: `$apt::params::key_options` + +##### <a name="ppa_options"></a>`ppa_options` + +Data type: `Optional[String]` + +Supplies options to be passed to the `add-apt-repository` command. + +Default value: `$apt::params::ppa_options` + +##### <a name="ppa_package"></a>`ppa_package` + +Data type: `Optional[String]` + +Names the package that provides the `apt-add-repository` command. + +Default value: `$apt::params::ppa_package` + +##### <a name="backports"></a>`backports` + +Data type: `Optional[Hash]` + +Specifies some of the default parameters used by apt::backports. Valid options: a hash made up from the following keys: + +Options: + +* **:location** `String`: See apt::backports for documentation. +* **:repos** `String`: See apt::backports for documentation. +* **:key** `String`: See apt::backports for documentation. + +Default value: `$apt::params::backports` + +##### <a name="confs"></a>`confs` + +Data type: `Hash` + +Creates new `apt::conf` resources. Valid options: a hash to be passed to the create_resources function linked above. + +Default value: `$apt::params::confs` + +##### <a name="update"></a>`update` + +Data type: `Hash` + +Configures various update settings. Valid options: a hash made up from the following keys: + +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'. +* **: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` + +##### <a name="purge"></a>`purge` + +Data type: `Hash` + +Specifies whether to purge any existing settings that aren't managed by Puppet. Valid options: a hash made up from the following keys: + +Options: + +* **:sources.list** `Boolean`: Specifies whether to purge any unmanaged entries from sources.list. Default false. +* **:sources.list.d** `Boolean`: Specifies whether to purge any unmanaged entries from sources.list.d. Default false. +* **: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` + +##### <a name="proxy"></a>`proxy` + +Data type: `Apt::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` + +##### <a name="sources"></a>`sources` + +Data type: `Hash` + +Creates new `apt::source` resources. Valid options: a hash to be passed to the create_resources function linked above. + +Default value: `$apt::params::sources` + +##### <a name="keys"></a>`keys` + +Data type: `Hash` + +Creates new `apt::key` resources. Valid options: a hash to be passed to the create_resources function linked above. + +Default value: `$apt::params::keys` + +##### <a name="ppas"></a>`ppas` + +Data type: `Hash` + +Creates new `apt::ppa` resources. Valid options: a hash to be passed to the create_resources function linked above. + +Default value: `$apt::params::ppas` + +##### <a name="pins"></a>`pins` + +Data type: `Hash` + +Creates new `apt::pin` resources. Valid options: a hash to be passed to the create_resources function linked above. + +Default value: `$apt::params::pins` + +##### <a name="settings"></a>`settings` + +Data type: `Hash` + +Creates new `apt::setting` resources. Valid options: a hash to be passed to the create_resources function linked above. + +Default value: `$apt::params::settings` + +##### <a name="manage_auth_conf"></a>`manage_auth_conf` + +Data type: `Boolean` + +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` + +##### <a name="auth_conf_entries"></a>`auth_conf_entries` + +Data type: `Array[Apt::Auth_conf_entry]` + +An optional array of login configuration settings (hashes) that are recorded in the file /etc/apt/auth.conf. This file has a netrc-like +format (similar to what curl uses) and contains the login configuration for APT sources and proxies that require authentication. See +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` + +##### <a name="auth_conf_owner"></a>`auth_conf_owner` + +Data type: `String` + +The owner of the file /etc/apt/auth.conf. Default: '_apt' or 'root' on old releases. + +Default value: `$apt::params::auth_conf_owner` + +##### <a name="root"></a>`root` + +Data type: `String` + +Specifies root directory of Apt executable. + +Default value: `$apt::params::root` + +##### <a name="sources_list"></a>`sources_list` + +Data type: `String` + +Specifies the path of the sources_list file to use. + +Default value: `$apt::params::sources_list` + +##### <a name="sources_list_d"></a>`sources_list_d` + +Data type: `String` + +Specifies the path of the sources_list.d file to use. + +Default value: `$apt::params::sources_list_d` + +##### <a name="conf_d"></a>`conf_d` + +Data type: `String` + +Specifies the path of the conf.d file to use. + +Default value: `$apt::params::conf_d` + +##### <a name="preferences"></a>`preferences` + +Data type: `String` + +Specifies the path of the preferences file to use. + +Default value: `$apt::params::preferences` + +##### <a name="preferences_d"></a>`preferences_d` + +Data type: `String` + +Specifies the path of the preferences.d file to use. + +Default value: `$apt::params::preferences_d` + +##### <a name="config_files"></a>`config_files` + +Data type: `Hash` + +A hash made up of the various configuration files used by Apt. + +Default value: `$apt::params::config_files` + +##### <a name="sources_list_force"></a>`sources_list_force` + +Data type: `Boolean` + +Specifies whether to perform force purge or delete. Default false. + +Default value: `$apt::params::sources_list_force` + +##### <a name="update_defaults"></a>`update_defaults` + +Data type: `Hash` + + + +Default value: `$apt::params::update_defaults` + +##### <a name="purge_defaults"></a>`purge_defaults` + +Data type: `Hash` + + + +Default value: `$apt::params::purge_defaults` + +##### <a name="proxy_defaults"></a>`proxy_defaults` + +Data type: `Hash` + + + +Default value: `$apt::params::proxy_defaults` + +##### <a name="include_defaults"></a>`include_defaults` + +Data type: `Hash` + + + +Default value: `$apt::params::include_defaults` + +##### <a name="apt_conf_d"></a>`apt_conf_d` + +Data type: `String` + + + +Default value: `$apt::params::apt_conf_d` + +##### <a name="source_key_defaults"></a>`source_key_defaults` + +Data type: `Hash` + + + +Default value: `{ + 'server' => $keyserver, + 'options' => undef, + 'content' => undef, + 'source' => undef, + }` + +### <a name="aptbackports"></a>`apt::backports` + +Manages backports. + +#### Examples + +##### Set up a backport source for Linux Mint qiana + +```puppet +class { 'apt::backports': + location => 'http://us.archive.ubuntu.com/ubuntu', + release => 'trusty-backports', + repos => 'main universe multiverse restricted', + key => { + id => '630239CC130E1A7FD81A27B140976EAF437D05B5', + server => 'keyserver.ubuntu.com', + }, +} +``` + +#### Parameters + +The following parameters are available in the `apt::backports` class: + +* [`location`](#location) +* [`release`](#release) +* [`repos`](#repos) +* [`key`](#key) +* [`pin`](#pin) +* [`include`](#include) + +##### <a name="location"></a>`location` + +Data type: `Optional[String]` + +Specifies an Apt repository containing the backports to manage. Valid options: a string containing a URL. Default value for Debian and +Ubuntu varies: + +- Debian: 'http://deb.debian.org/debian' + +- Ubuntu: 'http://archive.ubuntu.com/ubuntu' + +Default value: ``undef`` + +##### <a name="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, `${facts['os']['distro']['codename']}-backports`. We recommend keeping this default, except on other operating +systems. + +Default value: ``undef`` + +##### <a name="repos"></a>`repos` + +Data type: `Optional[String]` + +Specifies a component of the Apt repository containing the backports to manage. Used in populating the `source.list` configuration file. +Default value for Debian and Ubuntu varies: + +- Debian: 'main contrib non-free' + +- Ubuntu: 'main universe multiverse restricted' + +Default value: ``undef`` + +##### <a name="key"></a>`key` + +Data type: `Optional[Variant[String, Hash]]` + +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 +hash of parameter => value pairs to be passed to apt::key's id, server, content, source, and/or options parameters. Default value +for Debian and Ubuntu varies: + +- Debian: 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553' + +- Ubuntu: '630239CC130E1A7FD81A27B140976EAF437D05B5' + +Default value: ``undef`` + +##### <a name="pin"></a>`pin` + +Data type: `Optional[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` + +##### <a name="include"></a>`include` + +Data type: `Optional[Variant[Hash]]` + +Specifies whether to include 'deb' or 'src', or both. + +Default value: `{}` + +## Defined types + +### <a name="aptconf"></a>`apt::conf` + +Specifies a custom Apt configuration file. + +#### Parameters + +The following parameters are available in the `apt::conf` defined type: + +* [`content`](#content) +* [`ensure`](#ensure) +* [`priority`](#priority) +* [`notify_update`](#notify_update) + +##### <a name="content"></a>`content` + +Data type: `Optional[String]` + +Required unless `ensure` is set to 'absent'. Directly supplies content for the configuration file. + +Default value: ``undef`` + +##### <a name="ensure"></a>`ensure` + +Data type: `Enum['present', 'absent']` + +Specifies whether the configuration file should exist. Valid options: 'present' and 'absent'. + +Default value: `present` + +##### <a name="priority"></a>`priority` + +Data type: `Variant[String, Integer]` + +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` + +##### <a name="notify_update"></a>`notify_update` + +Data type: `Optional[Boolean]` + +Specifies whether to trigger an `apt-get update` run. + +Default value: ``undef`` + +### <a name="aptkey"></a>`apt::key` + +Manages the GPG keys that Apt uses to authenticate packages. + +* **Note** The apt::key defined type makes use of the apt_key type, but includes extra functionality to help prevent duplicate keys. + +#### Examples + +##### Declare Apt key for apt.puppetlabs.com source + +```puppet +apt::key { 'puppetlabs': + id => '6F6B15509CF8E59E6E469F327F438280EF8D349F', + 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: + +* [`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/]` + +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` + +##### <a name="ensure"></a>`ensure` + +Data type: `Enum['present', 'absent', 'refreshed']` + +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` + +##### <a name="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`` + +##### <a name="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`` + +##### <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\-_.]+)*\/?$/]` + +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` + +##### <a name="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`` + +##### <a name="options"></a>`options` + +Data type: `Optional[String]` + +Passes additional options to `apt-key adv --keyserver-options`. + +Default value: `$::apt::key_options` + +### <a name="aptmark"></a>`apt::mark` + +Manages apt-mark settings + +#### Parameters + +The following parameters are available in the `apt::mark` defined type: + +* [`setting`](#setting) + +##### <a name="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/stable/apt/apt-mark.8.en.html + +### <a name="aptpin"></a>`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 + +#### Parameters + +The following parameters are available in the `apt::pin` defined type: + +* [`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']]` + +Specifies whether the pin should exist. Valid options: 'file', 'present', and 'absent'. + +Default value: `present` + +##### <a name="explanation"></a>`explanation` + +Data type: `Optional[String]` + +Supplies a comment to explain the pin. Default: "${caller_module_name}: ${name}". + +Default value: ``undef`` + +##### <a name="order"></a>`order` + +Data type: `Variant[Integer]` + +Determines the order in which Apt processes the pin file. Files with lower order numbers are loaded first. + +Default value: `50` + +##### <a name="packages"></a>`packages` + +Data type: `Variant[String, Array]` + +Specifies which package(s) to pin. + +Default value: `'*'` + +##### <a name="priority"></a>`priority` + +Data type: `Variant[Numeric, String]` + +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` + +##### <a name="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: `''` + +##### <a name="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: `''` + +##### <a name="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: `''` + +##### <a name="originator"></a>`originator` + +Data type: `Optional[String]` + +Names the originator of the packages in the directory tree of the Release file. + +Default value: `''` + +##### <a name="label"></a>`label` + +Data type: `Optional[String]` + +Names the label of the packages in the directory tree of the Release file. + +Default value: `''` + +##### <a name="origin"></a>`origin` + +Data type: `Optional[String]` + + + +Default value: `''` + +##### <a name="version"></a>`version` + +Data type: `Optional[String]` + + + +Default value: `''` + +##### <a name="codename"></a>`codename` + +Data type: `Optional[String]` + + + +Default value: `''` + +### <a name="aptppa"></a>`apt::ppa` + +Manages PPA repositories using `add-apt-repository`. Not supported on Debian. + +#### Examples + +##### Example declaration of an Apt PPA + +```puppet +apt::ppa{ 'ppa:openstack-ppa/bleeding-edge': } +``` + +#### Parameters + +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) + +##### <a name="ensure"></a>`ensure` + +Data type: `String` + +Specifies whether the PPA should exist. Valid options: 'present' and 'absent'. + +Default value: `'present'` + +##### <a name="options"></a>`options` + +Data type: `Optional[String]` + +Supplies options to be passed to the `add-apt-repository` command. Default: '-y'. + +Default value: `$::apt::ppa_options` + +##### <a name="release"></a>`release` + +Data type: `Optional[String]` + +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['os']['distro']['codename']` + +##### <a name="dist"></a>`dist` + +Data type: `Optional[String]` + +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['os']['name']` + +##### <a name="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` + +##### <a name="package_manage"></a>`package_manage` + +Data type: `Boolean` + +Specifies whether Puppet should manage the package that provides `apt-add-repository`. + +Default value: ``false`` + +### <a name="aptsetting"></a>`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 + +#### Parameters + +The following parameters are available in the `apt::setting` defined type: + +* [`priority`](#priority) +* [`ensure`](#ensure) +* [`source`](#source) +* [`content`](#content) +* [`notify_update`](#notify_update) + +##### <a name="priority"></a>`priority` + +Data type: `Variant[String, Integer, Array]` + +Determines the order in which Apt processes the configuration file. Files with higher priority numbers are loaded first. + +Default value: `50` + +##### <a name="ensure"></a>`ensure` + +Data type: `Optional[Enum['file', 'present', 'absent']]` + +Specifies whether the file should exist. Valid options: 'present', 'absent', and 'file'. + +Default value: `file` + +##### <a name="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`` + +##### <a name="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`` + +##### <a name="notify_update"></a>`notify_update` + +Data type: `Boolean` + +Specifies whether to trigger an `apt-get update` run. + +Default value: ``true`` + +### <a name="aptsource"></a>`apt::source` + +Manages the Apt sources in /etc/apt/sources.list.d/. + +#### Examples + +##### Install the puppetlabs apt source + +```puppet +apt::source { 'puppetlabs': + location => 'http://apt.puppetlabs.com', + repos => 'main', + key => { + id => '6F6B15509CF8E59E6E469F327F438280EF8D349F', + server => 'keyserver.ubuntu.com', + }, +} +``` + +#### Parameters + +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) +* [`keyring`](#keyring) +* [`pin`](#pin) +* [`architecture`](#architecture) +* [`allow_unsigned`](#allow_unsigned) +* [`notify_update`](#notify_update) + +##### <a name="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`` + +##### <a name="comment"></a>`comment` + +Data type: `String` + +Supplies a comment for adding to the Apt source file. + +Default value: `$name` + +##### <a name="ensure"></a>`ensure` + +Data type: `String` + +Specifies whether the Apt source file should exist. Valid options: 'present' and 'absent'. + +Default value: `present` + +##### <a name="release"></a>`release` + +Data type: `Optional[String]` + +Specifies a distribution of the Apt repository. + +Default value: ``undef`` + +##### <a name="repos"></a>`repos` + +Data type: `String` + +Specifies a component of the Apt repository. + +Default value: `'main'` + +##### <a name="include"></a>`include` + +Data type: `Optional[Variant[Hash]]` + +Configures include options. Valid options: a hash of available keys. + +Options: + +* **: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: `{}` + +##### <a name="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`, `weak_ssl`, +and/or `options` parameters. + +Default value: ``undef`` + +##### <a name="keyring"></a>`keyring` + +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="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`` + +##### <a name="architecture"></a>`architecture` + +Data type: `Optional[String]` + +Tells Apt to only download information for specified architectures. Valid options: a string containing one or more architecture names, +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`` + +##### <a name="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`` + +##### <a name="notify_update"></a>`notify_update` + +Data type: `Boolean` + +Specifies whether to trigger an `apt-get update` run. + +Default value: ``true`` + +## Resource types + +## Data types + +### <a name="aptauth_conf_entry"></a>`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 + +```puppet +Struct[{ + machine => String[1], + login => String, + password => String + }] +``` + +#### Parameters + +The following parameters are available in the `Apt::Auth_conf_entry` data type: + +* [`machine`](#machine) +* [`login`](#login) +* [`password`](#password) + +##### <a name="machine"></a>`machine` + +Hostname of machine to connect to. + +##### <a name="login"></a>`login` + +Specifies the username to connect with. + +##### <a name="password"></a>`password` + +Specifies the password to connect with. + +### <a name="aptproxy"></a>`Apt::Proxy` + +Configures Apt to connect to a proxy server. + +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: + +* [`ensure`](#ensure) +* [`host`](#host) +* [`port`](#port) +* [`https`](#https) +* [`direct`](#direct) + +##### <a name="ensure"></a>`ensure` + +Specifies whether the proxy should exist. Valid options: 'file', 'present', and 'absent'. Prefer 'file' over 'present'. + +##### <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. + +##### <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. + +##### <a name="https"></a>`https` + +Specifies whether to enable https proxies. + +##### <a name="direct"></a>`direct` + +Specifies whether or not to use a `DIRECT` https proxy if http proxy is used but https is not. + +### <a name="aptproxy_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`](#scope) +* [`host`](#host) +* [`port`](#port) +* [`https`](#https) +* [`direct`](#direct) + +##### <a name="scope"></a>`scope` + +Specifies the scope of the override. Valid options: a string containing a hostname. + +##### <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. + +##### <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. + +##### <a name="https"></a>`https` + +Specifies whether to enable https for this override. + +##### <a name="direct"></a>`direct` + +Specifies whether or not to use a `DIRECT` target to bypass the system default proxy. + +## Tasks + +### <a name="init"></a>`init` + +Allows you to perform apt functions + +**Supports noop?** false + +#### Parameters + +##### `action` + +Data type: `Enum[update, upgrade, dist-upgrade, autoremove]` + +Action to perform +