Merge pull request #1068 from puppetlabs/cont-173/main/updating_deprecated_facter
[puppet-modules/puppetlabs-apt.git] / REFERENCE.md
index 4fd85ebf5605ecaedb2172dbf241a82fc74d61bb..956b16d61d932d8b3688240211b9451010e2e7cf 100644 (file)
@@ -20,7 +20,7 @@
 
 * [`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::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.
@@ -41,10 +41,11 @@ be manipulated through the `apt-key` command.
 
 * [`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
+* [`init`](#init): Allows you to perform apt-get functions
 
 ## Classes
 
@@ -120,7 +121,7 @@ Default value: `$apt::params::key_options`
 
 ##### <a name="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.
 
@@ -164,10 +165,14 @@ Configures various update settings. Valid options: a hash made up from the follo
 
 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.
@@ -375,7 +380,12 @@ Data type: `Hash`
 
 
 
-Default value: `$apt::params::source_key_defaults`
+Default value: `{
+    'server'  => $keyserver,
+    'options' => undef,
+    'content' => undef,
+    'source'  => undef,
+  }`
 
 ### <a name="aptbackports"></a>`apt::backports`
 
@@ -392,7 +402,7 @@ class { 'apt::backports':
   repos    => 'main universe multiverse restricted',
   key      => {
     id     => '630239CC130E1A7FD81A27B140976EAF437D05B5',
-    server => 'hkps.pool.sks-keyservers.net',
+    server => 'keyserver.ubuntu.com',
   },
 }
 ```
@@ -426,7 +436,7 @@ Default value: ``undef``
 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
+Default: on Debian and Ubuntu, `${fact('os.distro.codename')}-backports`. We recommend keeping this default, except on other operating
 systems.
 
 Default value: ``undef``
@@ -460,7 +470,7 @@ Default value: ``undef``
 
 ##### <a name="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.
@@ -469,7 +479,7 @@ Default value: `200`
 
 ##### <a name="include"></a>`include`
 
-Data type: `Optional[Variant[Hash]]`
+Data type: `Variant[Hash]`
 
 Specifies whether to include 'deb' or 'src', or both.
 
@@ -536,7 +546,7 @@ 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"',
 }
 ```
@@ -595,7 +605,7 @@ Data type: `Pattern[/\A((hkp|hkps|http|https):\/\/)?([a-z\d])([a-z\d-]{0,61}\.)+
 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`
 
 ##### <a name="weak_ssl"></a>`weak_ssl`
 
@@ -611,11 +621,11 @@ Data type: `Optional[String]`
 
 Passes additional options to `apt-key adv --keyserver-options`.
 
-Default value: `$::apt::key_options`
+Default value: `$apt::key_options`
 
 ### <a name="aptmark"></a>`apt::mark`
 
-defined typeapt::mark
+Manages apt-mark settings
 
 #### Parameters
 
@@ -629,7 +639,7 @@ 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
 
 ### <a name="aptpin"></a>`apt::pin`
 
@@ -659,7 +669,7 @@ The following parameters are available in the `apt::pin` defined type:
 
 ##### <a name="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'.
 
@@ -795,11 +805,11 @@ Default value: `'present'`
 
 ##### <a name="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`
 
 ##### <a name="release"></a>`release`
 
@@ -808,7 +818,7 @@ 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']`
+Default value: `fact('os.distro.codename')`
 
 ##### <a name="dist"></a>`dist`
 
@@ -825,7 +835,7 @@ 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`
 
 ##### <a name="package_manage"></a>`package_manage`
 
@@ -863,7 +873,7 @@ Default value: `50`
 
 ##### <a name="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'.
 
@@ -909,7 +919,7 @@ apt::source { 'puppetlabs':
   repos    => 'main',
   key      => {
     id     => '6F6B15509CF8E59E6E469F327F438280EF8D349F',
-    server => 'hkps.pool.sks-keyservers.net',
+    server => 'keyserver.ubuntu.com',
   },
 }
 ```
@@ -925,10 +935,13 @@ The following parameters are available in the `apt::source` defined type:
 * [`repos`](#repos)
 * [`include`](#include)
 * [`key`](#key)
+* [`keyring`](#keyring)
 * [`pin`](#pin)
 * [`architecture`](#architecture)
 * [`allow_unsigned`](#allow_unsigned)
+* [`allow_insecure`](#allow_insecure)
 * [`notify_update`](#notify_update)
+* [`check_valid_until`](#check_valid_until)
 
 ##### <a name="location"></a>`location`
 
@@ -972,7 +985,7 @@ Default value: `'main'`
 
 ##### <a name="include"></a>`include`
 
-Data type: `Optional[Variant[Hash]]`
+Data type: `Variant[Hash]`
 
 Configures include options. Valid options: a hash of available keys.
 
@@ -988,8 +1001,17 @@ Default value: `{}`
 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``
+
+##### <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``
 
@@ -1020,6 +1042,14 @@ Specifies whether to authenticate packages from this release, even if the Releas
 
 Default value: ``false``
 
+##### <a name="allow_insecure"></a>`allow_insecure`
+
+Data type: `Boolean`
+
+Specifies whether to allow downloads from insecure repositories.
+
+Default value: ``false``
+
 ##### <a name="notify_update"></a>`notify_update`
 
 Data type: `Boolean`
@@ -1028,6 +1058,14 @@ Specifies whether to trigger an `apt-get update` run.
 
 Default value: ``true``
 
+##### <a name="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``
+
 ## Resource types
 
 ## Data types
@@ -1084,6 +1122,7 @@ Struct[{
     https      => Optional[Boolean],
     https_acng => Optional[Boolean],
     direct     => Optional[Boolean],
+    perhost    => Optional[Array[Apt::Proxy_Per_Host]],
   }]
 ```
 
@@ -1117,11 +1156,57 @@ Specifies whether to enable https proxies.
 
 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
+Allows you to perform apt-get functions
 
 **Supports noop?** false
 
@@ -1131,5 +1216,5 @@ Allows you to perform apt functions
 
 Data type: `Enum[update, upgrade, dist-upgrade, autoremove]`
 
-Action to perform 
+Action to perform with apt-get