Harden apt-mark defined type
[puppet-modules/puppetlabs-apt.git] / REFERENCE.md
index 4fd85ebf5605ecaedb2172dbf241a82fc74d61bb..561cb5b464f0c1faeb1efa6eceef6c5f1e0cef24 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,6 +41,7 @@ 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
 
@@ -375,7 +376,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 +398,7 @@ class { 'apt::backports':
   repos    => 'main universe multiverse restricted',
   key      => {
     id     => '630239CC130E1A7FD81A27B140976EAF437D05B5',
-    server => 'hkps.pool.sks-keyservers.net',
+    server => 'keyserver.ubuntu.com',
   },
 }
 ```
@@ -426,7 +432,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``
@@ -536,7 +542,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"',
 }
 ```
@@ -615,7 +621,7 @@ Default value: `$::apt::key_options`
 
 ### <a name="aptmark"></a>`apt::mark`
 
-defined typeapt::mark
+Manages apt-mark settings
 
 #### Parameters
 
@@ -629,7 +635,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`
 
@@ -808,7 +814,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`
 
@@ -909,7 +915,7 @@ apt::source { 'puppetlabs':
   repos    => 'main',
   key      => {
     id     => '6F6B15509CF8E59E6E469F327F438280EF8D349F',
-    server => 'hkps.pool.sks-keyservers.net',
+    server => 'keyserver.ubuntu.com',
   },
 }
 ```
@@ -925,10 +931,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)
 * [`notify_update`](#notify_update)
+* [`allow_insecure`](#allow_insecure)
+* [`check_valid_until`](#check_valid_until)
 
 ##### <a name="location"></a>`location`
 
@@ -988,8 +997,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``
 
@@ -1028,6 +1046,22 @@ Specifies whether to trigger an `apt-get update` run.
 
 Default value: ``true``
 
+##### <a name="allow_insecure"></a>`allow_insecure`
+
+Data type: `Boolean`
+
+Specifies whether to allow downloads from insecure repositories.
+
+Default value: ``false``
+
+##### <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 +1118,7 @@ Struct[{
     https      => Optional[Boolean],
     https_acng => Optional[Boolean],
     direct     => Optional[Boolean],
+    perhost    => Optional[Array[Apt::Proxy_Per_Host]],
   }]
 ```
 
@@ -1117,6 +1152,52 @@ 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`