X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=REFERENCE.md;h=842ca6746395975d8f39c2eb2ad0fa6b5f878d34;hb=refs%2Fheads%2Fpdksync_%28MAINT%29_Pin_puppetlabs-puppet_agent;hp=06aff2140df92acfae30e2d77dcd2e171f50d552;hpb=8e35ae0f0c6b44c471c54560fc27c838ed7ba9c3;p=puppet-modules%2Fpuppetlabs-apt.git diff --git a/REFERENCE.md b/REFERENCE.md index 06aff21..842ca67 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -1,92 +1,138 @@ # Reference + ## Table of Contents -**Classes** +### Classes -_Public Classes_ +#### Public Classes * [`apt`](#apt): Main class, includes all other classes. -* [`apt::backports`](#aptbackports): Manages backports. +* [`apt::backports`](#apt--backports): 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** - -* [`apt::conf`](#aptconf): Specifies a custom Apt configuration file. -* [`apt::key`](#aptkey): Manages the GPG keys that Apt uses to authenticate packages. -* [`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** +### Defined types -_Public Resource types_ +* [`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 -_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`](#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 +### `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 -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) + +##### `provider` Data type: `String` Specifies the provider that should be used by apt::update. -Default value: $apt::params::provider +Default value: `$apt::params::provider` -##### `keyserver` +##### `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 +Default value: `$apt::params::keyserver` -##### `ppa_options` +##### `key_options` Data type: `Optional[String]` +Specifies the default options for apt::key resources. + +Default value: `$apt::params::key_options` + +##### `ppa_options` + +Data type: `Optional[Array[String]]` + 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` +##### `ppa_package` Data type: `Optional[String]` Names the package that provides the `apt-add-repository` command. -Default value: $apt::params::ppa_package +Default value: `$apt::params::ppa_package` -##### `backports` +##### `backports` Data type: `Optional[Hash]` @@ -98,17 +144,17 @@ Options: * **: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` +##### `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 +Default value: `$apt::params::confs` -##### `update` +##### `update` Data type: `Hash` @@ -116,17 +162,29 @@ 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. -Default value: $apt::params::update +Default value: `$apt::params::update` -##### `purge` +##### `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` + +##### `purge` Data type: `Hash` @@ -139,66 +197,82 @@ Options: * **: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` + +##### `purge_defaults` + +Data type: `Hash` + +The default purge settings that are combined and merged with the passed `purge` value -##### `proxy` +Default value: `$apt::params::purge_defaults` + +##### `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 +Default value: `$apt::params::proxy` + +##### `proxy_defaults` + +Data type: `Hash` + +The default proxy settings that are combined and merged with the passed `proxy` value -##### `sources` +Default value: `$apt::params::proxy_defaults` + +##### `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 +Default value: `$apt::params::sources` -##### `keys` +##### `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 +Default value: `$apt::params::keys` -##### `ppas` +##### `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 +Default value: `$apt::params::ppas` -##### `pins` +##### `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 +Default value: `$apt::params::pins` -##### `settings` +##### `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 +Default value: `$apt::params::settings` -##### `manage_auth_conf` +##### `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 +Default value: `$apt::params::manage_auth_conf` -##### `auth_conf_entries` +##### `auth_conf_entries` Data type: `Array[Apt::Auth_conf_entry]` @@ -207,137 +281,145 @@ format (similar to what curl uses) and contains the login configuration for APT 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` +##### `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 +Default value: `$apt::params::auth_conf_owner` -##### `root` +##### `root` Data type: `String` Specifies root directory of Apt executable. -Default value: $apt::params::root +Default value: `$apt::params::root` -##### `sources_list` +##### `sources_list` Data type: `String` 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` +##### `sources_list_d` Data type: `String` 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` +##### `conf_d` Data type: `String` Specifies the path of the conf.d file to use. -Default value: $apt::params::conf_d +Default value: `$apt::params::conf_d` -##### `preferences` +##### `preferences` Data type: `String` Specifies the path of the preferences file to use. -Default value: $apt::params::preferences +Default value: `$apt::params::preferences` -##### `preferences_d` +##### `preferences_d` Data type: `String` Specifies the path of the preferences.d file to use. -Default value: $apt::params::preferences_d +Default value: `$apt::params::preferences_d` -##### `config_files` +##### `config_files` Data type: `Hash` A hash made up of the various configuration files used by Apt. -Default value: $apt::params::config_files - -##### `update_defaults` - -Data type: `Hash` - +Default value: `$apt::params::config_files` +##### `sources_list_force` -Default value: $apt::params::update_defaults - -##### `purge_defaults` - -Data type: `Hash` - +Data type: `Boolean` +Specifies whether to perform force purge or delete. Default false. -Default value: $apt::params::purge_defaults +Default value: `$apt::params::sources_list_force` -##### `proxy_defaults` +##### `include_defaults` Data type: `Hash` -Default value: $apt::params::proxy_defaults +Default value: `$apt::params::include_defaults` -##### `include_defaults` - -Data type: `Hash` +##### `apt_conf_d` +Data type: `String` +The path to the file `apt.conf.d` -Default value: $apt::params::include_defaults +Default value: `$apt::params::apt_conf_d` -##### `source_key_defaults` +##### `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 +### `apt::backports` Manages backports. #### Examples -##### Set up a backport for linuxmint qiana +##### Set up a backport source for Linux Mint qiana ```puppet -apt::backports { 'qiana': +class { 'apt::backports': location => 'http://us.archive.ubuntu.com/ubuntu', release => 'trusty-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`](#-apt--backports--location) +* [`release`](#-apt--backports--release) +* [`repos`](#-apt--backports--repos) +* [`key`](#-apt--backports--key) +* [`pin`](#-apt--backports--pin) +* [`include`](#-apt--backports--include) -##### `location` +##### `location` Data type: `Optional[String]` @@ -350,17 +432,17 @@ Ubuntu varies: Default value: `undef` -##### `release` +##### `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` -##### `repos` +##### `repos` Data type: `Optional[String]` @@ -373,7 +455,7 @@ Default value for Debian and Ubuntu varies: Default value: `undef` -##### `key` +##### `key` Data type: `Optional[Variant[String, Hash]]` @@ -387,26 +469,39 @@ for Debian and Ubuntu varies: Default value: `undef` -##### `pin` +##### `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 +Default value: `200` + +##### `include` + +Data type: `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. #### 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` +##### `content` Data type: `Optional[String]` @@ -414,24 +509,24 @@ Required unless `ensure` is set to 'absent'. Directly supplies content for the c Default value: `undef` -##### `ensure` +##### `ensure` Data type: `Enum['present', 'absent']` Specifies whether the configuration file should exist. Valid options: 'present' and 'absent'. -Default value: present +Default value: `present` -##### `priority` +##### `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 +Default value: `50` -##### `notify_update` +##### `notify_update` Data type: `Optional[Boolean]` @@ -439,7 +534,7 @@ Specifies whether to trigger an `apt-get update` run. Default value: `undef` -### apt::key +### `apt::key` Manages the GPG keys that Apt uses to authenticate packages. @@ -452,34 +547,42 @@ 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` +##### `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 +Default value: `$title` -##### `ensure` +##### `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 +Default value: `present` -##### `content` +##### `content` Data type: `Optional[String]` @@ -487,7 +590,7 @@ Supplies the entire GPG key. Useful in case the key can't be fetched from a remo Default value: `undef` -##### `source` +##### `source` Data type: `Optional[Pattern[/\Ahttps?:\/\//, /\Aftp:\/\//, /\A\/\w+/]]` @@ -496,16 +599,16 @@ an absolute path. Default value: `undef` -##### `server` +##### `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` +##### `weak_ssl` Data type: `Boolean` @@ -513,35 +616,67 @@ Specifies whether strict SSL verification on a https URL should be disabled. Val Default value: `false` -##### `options` +##### `options` Data type: `Optional[String]` Passes additional options to `apt-key adv --keyserver-options`. -Default value: `undef` +Default value: `$apt::key_options` + +### `apt::mark` -### apt::pin +Manages apt-mark settings + +#### Parameters + +The following parameters are available in the `apt::mark` defined type: + +* [`setting`](#-apt--mark--setting) + +##### `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 + +### `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 -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` +##### `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 +Default value: `present` -##### `explanation` +##### `explanation` Data type: `Optional[String]` @@ -549,96 +684,96 @@ Supplies a comment to explain the pin. Default: "${caller_module_name}: ${name}" Default value: `undef` -##### `order` +##### `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 +Default value: `50` -##### `packages` +##### `packages` Data type: `Variant[String, Array]` Specifies which package(s) to pin. -Default value: '*' +Default value: `'*'` -##### `priority` +##### `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 +Default value: `0` -##### `release` +##### `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` +##### `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` +##### `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` +##### `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` +##### `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` +##### `origin` Data type: `Optional[String]` +The package origin +Default value: `undef` -Default value: '' - -##### `version` +##### `version` Data type: `Optional[String]` +The version of the package +Default value: `undef` -Default value: '' - -##### `codename` +##### `codename` Data type: `Optional[String]` +The codename of the package +Default value: `undef` -Default value: '' - -### apt::ppa +### `apt::ppa` Manages PPA repositories using `add-apt-repository`. Not supported on Debian. @@ -652,42 +787,58 @@ apt::ppa{ 'ppa:openstack-ppa/bleeding-edge': } #### Parameters -The following parameters are available in the `apt::ppa` defined type. +The following parameters are available in the `apt::ppa` defined type: + +* [`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) -##### `ensure` +##### `ensure` Data type: `String` Specifies whether the PPA should exist. Valid options: 'present' and 'absent'. -Default value: 'present' +Default value: `'present'` -##### `options` +##### `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` +##### `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')` -##### `package_name` +##### `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']` + +##### `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` +##### `package_manage` Data type: `Boolean` @@ -695,35 +846,41 @@ Specifies whether Puppet should manage the package that provides `apt-add-reposi 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 -The following parameters are available in the `apt::setting` defined type. +The following parameters are available in the `apt::setting` defined type: + +* [`priority`](#-apt--setting--priority) +* [`ensure`](#-apt--setting--ensure) +* [`source`](#-apt--setting--source) +* [`content`](#-apt--setting--content) +* [`notify_update`](#-apt--setting--notify_update) -##### `priority` +##### `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 +Default value: `50` -##### `ensure` +##### `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 +Default value: `file` -##### `source` +##### `source` Data type: `Optional[String]` @@ -732,7 +889,7 @@ with `content`. Valid options: see link above for Puppet's native file type sour Default value: `undef` -##### `content` +##### `content` Data type: `Optional[String]` @@ -741,7 +898,7 @@ options: see link above for Puppet's native file type content attribute. Default value: `undef` -##### `notify_update` +##### `notify_update` Data type: `Boolean` @@ -749,7 +906,7 @@ Specifies whether to trigger an `apt-get update` run. Default value: `true` -### apt::source +### `apt::source` Manages the Apt sources in /etc/apt/sources.list.d/. @@ -763,16 +920,31 @@ apt::source { 'puppetlabs': 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) + +##### `location` Data type: `Optional[String]` @@ -780,23 +952,23 @@ Required, unless ensure is set to 'absent'. Specifies an Apt repository. Valid o Default value: `undef` -##### `comment` +##### `comment` Data type: `String` Supplies a comment for adding to the Apt source file. -Default value: $name +Default value: `$name` -##### `ensure` +##### `ensure` Data type: `String` Specifies whether the Apt source file should exist. Valid options: 'present' and 'absent'. -Default value: present +Default value: `present` -##### `release` +##### `release` Data type: `Optional[String]` @@ -804,17 +976,17 @@ Specifies a distribution of the Apt repository. Default value: `undef` -##### `repos` +##### `repos` Data type: `String` Specifies a component of the Apt repository. -Default value: 'main' +Default value: `'main'` -##### `include` +##### `include` -Data type: `Optional[Variant[Hash]]` +Data type: `Variant[Hash]` Configures include options. Valid options: a hash of available keys. @@ -823,19 +995,28 @@ 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: {} +Default value: `{}` -##### `key` +##### `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` + +##### `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` -##### `pin` +##### `pin` Data type: `Optional[Variant[Hash, Numeric, String]]` @@ -844,7 +1025,7 @@ Creates a declaration of the apt::pin defined type. Valid options: a number or s Default value: `undef` -##### `architecture` +##### `architecture` Data type: `Optional[String]` @@ -854,7 +1035,7 @@ defined in the Apt::Architectures option). Default value: `undef` -##### `allow_unsigned` +##### `allow_unsigned` Data type: `Boolean` @@ -862,7 +1043,15 @@ Specifies whether to authenticate packages from this release, even if the Releas Default value: `false` -##### `notify_update` +##### `allow_insecure` + +Data type: `Boolean` + +Specifies whether to allow downloads from insecure repositories. + +Default value: `false` + +##### `notify_update` Data type: `Boolean` @@ -870,13 +1059,153 @@ Specifies whether to trigger an `apt-get update` run. Default value: `true` -## Resource types +##### `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` + +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`](#-Apt--Auth_conf_entry--machine) +* [`login`](#-Apt--Auth_conf_entry--login) +* [`password`](#-Apt--Auth_conf_entry--password) + +##### `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 + +```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`](#-Apt--Proxy--ensure) +* [`host`](#-Apt--Proxy--host) +* [`port`](#-Apt--Proxy--port) +* [`https`](#-Apt--Proxy--https) +* [`direct`](#-Apt--Proxy--direct) + +##### `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. + +### `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) + +##### `scope` + +Specifies the scope of the override. Valid options: a string containing a hostname. + +##### `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 for this override. + +##### `direct` + +Specifies whether or not to use a `DIRECT` target to bypass the system default proxy. ## Tasks -### init +### `init` -Allows you to perform apt functions +Allows you to perform apt-get functions **Supports noop?** false @@ -886,5 +1215,5 @@ Allows you to perform apt functions Data type: `Enum[update, upgrade, dist-upgrade, autoremove]` -Action to perform +Action to perform with apt-get