(MODULES-11301) Don't install gnupg if not needed
[puppet-modules/puppetlabs-apt.git] / REFERENCE.md
1 # Reference
2
3 <!-- DO NOT EDIT: This document was generated by Puppet Strings -->
4
5 ## Table of Contents
6
7 ### Classes
8
9 #### Public Classes
10
11 * [`apt`](#apt): Main class, includes all other classes.
12 * [`apt::backports`](#aptbackports): Manages backports.
13
14 #### Private Classes
15
16 * `apt::params`: Provides defaults for the Apt module parameters.
17 * `apt::update`: Updates the list of available packages using apt-get update.
18
19 ### Defined types
20
21 * [`apt::conf`](#aptconf): Specifies a custom Apt configuration file.
22 * [`apt::key`](#aptkey): Manages the GPG keys that Apt uses to authenticate packages.
23 * [`apt::mark`](#aptmark): Manages apt-mark settings
24 * [`apt::pin`](#aptpin): Manages Apt pins. Does not trigger an apt-get update run.
25 * [`apt::ppa`](#aptppa): Manages PPA repositories using `add-apt-repository`. Not supported on Debian.
26 * [`apt::setting`](#aptsetting): Manages Apt configuration files.
27 * [`apt::source`](#aptsource): Manages the Apt sources in /etc/apt/sources.list.d/.
28
29 ### Resource types
30
31 #### Public Resource types
32
33
34 #### Private Resource types
35
36 * `apt_key`: This type provides Puppet with the capabilities to manage GPG keys needed
37 by apt to perform package validation. Apt has it's own GPG keyring that can
38 be manipulated through the `apt-key` command.
39
40 ### Data types
41
42 * [`Apt::Auth_conf_entry`](#aptauth_conf_entry): Login configuration settings that are recorded in the file `/etc/apt/auth.conf`.
43 * [`Apt::Proxy`](#aptproxy): Configures Apt to connect to a proxy server.
44 * [`Apt::Proxy_Per_Host`](#aptproxy_per_host): Adds per-host overrides to the system default APT proxy configuration
45
46 ### Tasks
47
48 * [`init`](#init): Allows you to perform apt functions
49
50 ## Classes
51
52 ### <a name="apt"></a>`apt`
53
54 Main class, includes all other classes.
55
56 * **See also**
57   * https://docs.puppetlabs.com/references/latest/function.html#createresources
58     * for the create resource function
59
60 #### Parameters
61
62 The following parameters are available in the `apt` class:
63
64 * [`provider`](#provider)
65 * [`keyserver`](#keyserver)
66 * [`key_options`](#key_options)
67 * [`ppa_options`](#ppa_options)
68 * [`ppa_package`](#ppa_package)
69 * [`backports`](#backports)
70 * [`confs`](#confs)
71 * [`update`](#update)
72 * [`purge`](#purge)
73 * [`proxy`](#proxy)
74 * [`sources`](#sources)
75 * [`keys`](#keys)
76 * [`ppas`](#ppas)
77 * [`pins`](#pins)
78 * [`settings`](#settings)
79 * [`manage_auth_conf`](#manage_auth_conf)
80 * [`auth_conf_entries`](#auth_conf_entries)
81 * [`auth_conf_owner`](#auth_conf_owner)
82 * [`root`](#root)
83 * [`sources_list`](#sources_list)
84 * [`sources_list_d`](#sources_list_d)
85 * [`conf_d`](#conf_d)
86 * [`preferences`](#preferences)
87 * [`preferences_d`](#preferences_d)
88 * [`config_files`](#config_files)
89 * [`sources_list_force`](#sources_list_force)
90 * [`update_defaults`](#update_defaults)
91 * [`purge_defaults`](#purge_defaults)
92 * [`proxy_defaults`](#proxy_defaults)
93 * [`include_defaults`](#include_defaults)
94 * [`apt_conf_d`](#apt_conf_d)
95 * [`source_key_defaults`](#source_key_defaults)
96
97 ##### <a name="provider"></a>`provider`
98
99 Data type: `String`
100
101 Specifies the provider that should be used by apt::update.
102
103 Default value: `$apt::params::provider`
104
105 ##### <a name="keyserver"></a>`keyserver`
106
107 Data type: `String`
108
109 Specifies a keyserver to provide the GPG key. Valid options: a string containing a domain name or a full URL (http://, https://, or
110 hkp://).
111
112 Default value: `$apt::params::keyserver`
113
114 ##### <a name="key_options"></a>`key_options`
115
116 Data type: `Optional[String]`
117
118 Specifies the default options for apt::key resources.
119
120 Default value: `$apt::params::key_options`
121
122 ##### <a name="ppa_options"></a>`ppa_options`
123
124 Data type: `Optional[String]`
125
126 Supplies options to be passed to the `add-apt-repository` command.
127
128 Default value: `$apt::params::ppa_options`
129
130 ##### <a name="ppa_package"></a>`ppa_package`
131
132 Data type: `Optional[String]`
133
134 Names the package that provides the `apt-add-repository` command.
135
136 Default value: `$apt::params::ppa_package`
137
138 ##### <a name="backports"></a>`backports`
139
140 Data type: `Optional[Hash]`
141
142 Specifies some of the default parameters used by apt::backports. Valid options: a hash made up from the following keys:
143
144 Options:
145
146 * **:location** `String`: See apt::backports for documentation.
147 * **:repos** `String`: See apt::backports for documentation.
148 * **:key** `String`: See apt::backports for documentation.
149
150 Default value: `$apt::params::backports`
151
152 ##### <a name="confs"></a>`confs`
153
154 Data type: `Hash`
155
156 Creates new `apt::conf` resources. Valid options: a hash to be passed to the create_resources function linked above.
157
158 Default value: `$apt::params::confs`
159
160 ##### <a name="update"></a>`update`
161
162 Data type: `Hash`
163
164 Configures various update settings. Valid options: a hash made up from the following keys:
165
166 Options:
167
168 * **: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.
169 Valid options: 'always' (at every Puppet run); 'daily' (if the value of `apt_update_last_success` is less than current epoch time minus 86400);
170 'weekly' (if the value of `apt_update_last_success` is less than current epoch time minus 604800); and 'reluctantly' (only if the exec resource
171 `apt_update` is notified). Default: 'reluctantly'.
172 * **:loglevel** `Integer`: Specifies the log level of logs outputted to the console. Default: undef.
173 * **:timeout** `Integer`: Specifies how long to wait for the update to complete before canceling it. Valid options: an integer, in seconds. Default: undef.
174 * **:tries** `Integer`: Specifies how many times to retry the update after receiving a DNS or HTTP error. Default: undef.
175
176 Default value: `$apt::params::update`
177
178 ##### <a name="purge"></a>`purge`
179
180 Data type: `Hash`
181
182 Specifies whether to purge any existing settings that aren't managed by Puppet. Valid options: a hash made up from the following keys:
183
184 Options:
185
186 * **:sources.list** `Boolean`: Specifies whether to purge any unmanaged entries from sources.list. Default false.
187 * **:sources.list.d** `Boolean`: Specifies whether to purge any unmanaged entries from sources.list.d. Default false.
188 * **:preferences** `Boolean`: Specifies whether to purge any unmanaged entries from preferences. Default false.
189 * **:preferences.d.** `Boolean`: Specifies whether to purge any unmanaged entries from preferences.d. Default false.
190
191 Default value: `$apt::params::purge`
192
193 ##### <a name="proxy"></a>`proxy`
194
195 Data type: `Apt::Proxy`
196
197 Configures Apt to connect to a proxy server. Valid options: a hash matching the locally defined type apt::proxy.
198
199 Default value: `$apt::params::proxy`
200
201 ##### <a name="sources"></a>`sources`
202
203 Data type: `Hash`
204
205 Creates new `apt::source` resources. Valid options: a hash to be passed to the create_resources function linked above.
206
207 Default value: `$apt::params::sources`
208
209 ##### <a name="keys"></a>`keys`
210
211 Data type: `Hash`
212
213 Creates new `apt::key` resources. Valid options: a hash to be passed to the create_resources function linked above.
214
215 Default value: `$apt::params::keys`
216
217 ##### <a name="ppas"></a>`ppas`
218
219 Data type: `Hash`
220
221 Creates new `apt::ppa` resources. Valid options: a hash to be passed to the create_resources function linked above.
222
223 Default value: `$apt::params::ppas`
224
225 ##### <a name="pins"></a>`pins`
226
227 Data type: `Hash`
228
229 Creates new `apt::pin` resources. Valid options: a hash to be passed to the create_resources function linked above.
230
231 Default value: `$apt::params::pins`
232
233 ##### <a name="settings"></a>`settings`
234
235 Data type: `Hash`
236
237 Creates new `apt::setting` resources. Valid options: a hash to be passed to the create_resources function linked above.
238
239 Default value: `$apt::params::settings`
240
241 ##### <a name="manage_auth_conf"></a>`manage_auth_conf`
242
243 Data type: `Boolean`
244
245 Specifies whether to manage the /etc/apt/auth.conf file. When true, the file will be overwritten with the entries specified in
246 the auth_conf_entries parameter. When false, the file will be ignored (note that this does not set the file to absent.
247
248 Default value: `$apt::params::manage_auth_conf`
249
250 ##### <a name="auth_conf_entries"></a>`auth_conf_entries`
251
252 Data type: `Array[Apt::Auth_conf_entry]`
253
254 An optional array of login configuration settings (hashes) that are recorded in the file /etc/apt/auth.conf. This file has a netrc-like
255 format (similar to what curl uses) and contains the login configuration for APT sources and proxies that require authentication. See
256 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
257 password and no others. Specifying manage_auth_conf and not specifying this parameter will set /etc/apt/auth.conf to absent.
258
259 Default value: `$apt::params::auth_conf_entries`
260
261 ##### <a name="auth_conf_owner"></a>`auth_conf_owner`
262
263 Data type: `String`
264
265 The owner of the file /etc/apt/auth.conf. Default: '_apt' or 'root' on old releases.
266
267 Default value: `$apt::params::auth_conf_owner`
268
269 ##### <a name="root"></a>`root`
270
271 Data type: `String`
272
273 Specifies root directory of Apt executable.
274
275 Default value: `$apt::params::root`
276
277 ##### <a name="sources_list"></a>`sources_list`
278
279 Data type: `String`
280
281 Specifies the path of the sources_list file to use.
282
283 Default value: `$apt::params::sources_list`
284
285 ##### <a name="sources_list_d"></a>`sources_list_d`
286
287 Data type: `String`
288
289 Specifies the path of the sources_list.d file to use.
290
291 Default value: `$apt::params::sources_list_d`
292
293 ##### <a name="conf_d"></a>`conf_d`
294
295 Data type: `String`
296
297 Specifies the path of the conf.d file to use.
298
299 Default value: `$apt::params::conf_d`
300
301 ##### <a name="preferences"></a>`preferences`
302
303 Data type: `String`
304
305 Specifies the path of the preferences file to use.
306
307 Default value: `$apt::params::preferences`
308
309 ##### <a name="preferences_d"></a>`preferences_d`
310
311 Data type: `String`
312
313 Specifies the path of the preferences.d file to use.
314
315 Default value: `$apt::params::preferences_d`
316
317 ##### <a name="config_files"></a>`config_files`
318
319 Data type: `Hash`
320
321 A hash made up of the various configuration files used by Apt.
322
323 Default value: `$apt::params::config_files`
324
325 ##### <a name="sources_list_force"></a>`sources_list_force`
326
327 Data type: `Boolean`
328
329 Specifies whether to perform force purge or delete. Default false.
330
331 Default value: `$apt::params::sources_list_force`
332
333 ##### <a name="update_defaults"></a>`update_defaults`
334
335 Data type: `Hash`
336
337
338
339 Default value: `$apt::params::update_defaults`
340
341 ##### <a name="purge_defaults"></a>`purge_defaults`
342
343 Data type: `Hash`
344
345
346
347 Default value: `$apt::params::purge_defaults`
348
349 ##### <a name="proxy_defaults"></a>`proxy_defaults`
350
351 Data type: `Hash`
352
353
354
355 Default value: `$apt::params::proxy_defaults`
356
357 ##### <a name="include_defaults"></a>`include_defaults`
358
359 Data type: `Hash`
360
361
362
363 Default value: `$apt::params::include_defaults`
364
365 ##### <a name="apt_conf_d"></a>`apt_conf_d`
366
367 Data type: `String`
368
369
370
371 Default value: `$apt::params::apt_conf_d`
372
373 ##### <a name="source_key_defaults"></a>`source_key_defaults`
374
375 Data type: `Hash`
376
377
378
379 Default value: `{
380     'server'  => $keyserver,
381     'options' => undef,
382     'content' => undef,
383     'source'  => undef,
384   }`
385
386 ### <a name="aptbackports"></a>`apt::backports`
387
388 Manages backports.
389
390 #### Examples
391
392 ##### Set up a backport source for Linux Mint qiana
393
394 ```puppet
395 class { 'apt::backports':
396   location => 'http://us.archive.ubuntu.com/ubuntu',
397   release  => 'trusty-backports',
398   repos    => 'main universe multiverse restricted',
399   key      => {
400     id     => '630239CC130E1A7FD81A27B140976EAF437D05B5',
401     server => 'keyserver.ubuntu.com',
402   },
403 }
404 ```
405
406 #### Parameters
407
408 The following parameters are available in the `apt::backports` class:
409
410 * [`location`](#location)
411 * [`release`](#release)
412 * [`repos`](#repos)
413 * [`key`](#key)
414 * [`pin`](#pin)
415 * [`include`](#include)
416
417 ##### <a name="location"></a>`location`
418
419 Data type: `Optional[String]`
420
421 Specifies an Apt repository containing the backports to manage. Valid options: a string containing a URL. Default value for Debian and
422 Ubuntu varies:
423
424 - Debian: 'http://deb.debian.org/debian'
425
426 - Ubuntu: 'http://archive.ubuntu.com/ubuntu'
427
428 Default value: ``undef``
429
430 ##### <a name="release"></a>`release`
431
432 Data type: `Optional[String]`
433
434 Specifies a distribution of the Apt repository containing the backports to manage. Used in populating the `source.list` configuration file.
435 Default: on Debian and Ubuntu, `${fact('os.distro.codename')}-backports`. We recommend keeping this default, except on other operating
436 systems.
437
438 Default value: ``undef``
439
440 ##### <a name="repos"></a>`repos`
441
442 Data type: `Optional[String]`
443
444 Specifies a component of the Apt repository containing the backports to manage. Used in populating the `source.list` configuration file.
445 Default value for Debian and Ubuntu varies:
446
447 - Debian: 'main contrib non-free'
448
449 - Ubuntu: 'main universe multiverse restricted'
450
451 Default value: ``undef``
452
453 ##### <a name="key"></a>`key`
454
455 Data type: `Optional[Variant[String, Hash]]`
456
457 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
458 hash of parameter => value pairs to be passed to apt::key's id, server, content, source, and/or options parameters. Default value
459 for Debian and Ubuntu varies:
460
461 - Debian: 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553'
462
463 - Ubuntu: '630239CC130E1A7FD81A27B140976EAF437D05B5'
464
465 Default value: ``undef``
466
467 ##### <a name="pin"></a>`pin`
468
469 Data type: `Optional[Variant[Integer, String, Hash]]`
470
471 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
472 type, or a hash of `parameter => value` pairs to be passed to `apt::pin`'s corresponding parameters.
473
474 Default value: `200`
475
476 ##### <a name="include"></a>`include`
477
478 Data type: `Optional[Variant[Hash]]`
479
480 Specifies whether to include 'deb' or 'src', or both.
481
482 Default value: `{}`
483
484 ## Defined types
485
486 ### <a name="aptconf"></a>`apt::conf`
487
488 Specifies a custom Apt configuration file.
489
490 #### Parameters
491
492 The following parameters are available in the `apt::conf` defined type:
493
494 * [`content`](#content)
495 * [`ensure`](#ensure)
496 * [`priority`](#priority)
497 * [`notify_update`](#notify_update)
498
499 ##### <a name="content"></a>`content`
500
501 Data type: `Optional[String]`
502
503 Required unless `ensure` is set to 'absent'. Directly supplies content for the configuration file.
504
505 Default value: ``undef``
506
507 ##### <a name="ensure"></a>`ensure`
508
509 Data type: `Enum['present', 'absent']`
510
511 Specifies whether the configuration file should exist. Valid options: 'present' and 'absent'.
512
513 Default value: `present`
514
515 ##### <a name="priority"></a>`priority`
516
517 Data type: `Variant[String, Integer]`
518
519 Determines the order in which Apt processes the configuration file. Files with lower priority numbers are loaded first.
520 Valid options: a string containing an integer or an integer.
521
522 Default value: `50`
523
524 ##### <a name="notify_update"></a>`notify_update`
525
526 Data type: `Optional[Boolean]`
527
528 Specifies whether to trigger an `apt-get update` run.
529
530 Default value: ``undef``
531
532 ### <a name="aptkey"></a>`apt::key`
533
534 Manages the GPG keys that Apt uses to authenticate packages.
535
536 * **Note** The apt::key defined type makes use of the apt_key type, but includes extra functionality to help prevent duplicate keys.
537
538 #### Examples
539
540 ##### Declare Apt key for apt.puppetlabs.com source
541
542 ```puppet
543 apt::key { 'puppetlabs':
544   id      => '6F6B15509CF8E59E6E469F327F438280EF8D349F',
545   server  => 'keyserver.ubuntu.com',
546   options => 'http-proxy="http://proxyuser:proxypass@example.org:3128"',
547 }
548 ```
549
550 #### Parameters
551
552 The following parameters are available in the `apt::key` defined type:
553
554 * [`id`](#id)
555 * [`ensure`](#ensure)
556 * [`content`](#content)
557 * [`source`](#source)
558 * [`server`](#server)
559 * [`weak_ssl`](#weak_ssl)
560 * [`options`](#options)
561
562 ##### <a name="id"></a>`id`
563
564 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/]`
565
566 Specifies a GPG key to authenticate Apt package signatures. Valid options: a string containing a key ID (8 or 16 hexadecimal
567 characters, optionally prefixed with "0x") or a full key fingerprint (40 hexadecimal characters).
568
569 Default value: `$title`
570
571 ##### <a name="ensure"></a>`ensure`
572
573 Data type: `Enum['present', 'absent', 'refreshed']`
574
575 Specifies whether the key should exist. Valid options: 'present', 'absent' or 'refreshed'. Using 'refreshed' will make keys auto
576 update when they have expired (assuming a new key exists on the key server).
577
578 Default value: `present`
579
580 ##### <a name="content"></a>`content`
581
582 Data type: `Optional[String]`
583
584 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.
585
586 Default value: ``undef``
587
588 ##### <a name="source"></a>`source`
589
590 Data type: `Optional[Pattern[/\Ahttps?:\/\//, /\Aftp:\/\//, /\A\/\w+/]]`
591
592 Specifies the location of an existing GPG key file to copy. Valid options: a string containing a URL (ftp://, http://, or https://) or
593 an absolute path.
594
595 Default value: ``undef``
596
597 ##### <a name="server"></a>`server`
598
599 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\-_.]+)*\/?$/]`
600
601 Specifies a keyserver to provide the GPG key. Valid options: a string containing a domain name or a full URL (http://, https://,
602 hkp:// or hkps://). The hkps:// protocol is currently only supported on Ubuntu 18.04.
603
604 Default value: `$::apt::keyserver`
605
606 ##### <a name="weak_ssl"></a>`weak_ssl`
607
608 Data type: `Boolean`
609
610 Specifies whether strict SSL verification on a https URL should be disabled. Valid options: true or false.
611
612 Default value: ``false``
613
614 ##### <a name="options"></a>`options`
615
616 Data type: `Optional[String]`
617
618 Passes additional options to `apt-key adv --keyserver-options`.
619
620 Default value: `$::apt::key_options`
621
622 ### <a name="aptmark"></a>`apt::mark`
623
624 Manages apt-mark settings
625
626 #### Parameters
627
628 The following parameters are available in the `apt::mark` defined type:
629
630 * [`setting`](#setting)
631
632 ##### <a name="setting"></a>`setting`
633
634 Data type: `Enum['auto','manual','hold','unhold']`
635
636 auto, manual, hold, unhold
637 specifies the behavior of apt in case of no more dependencies installed
638 https://manpages.debian.org/stable/apt/apt-mark.8.en.html
639
640 ### <a name="aptpin"></a>`apt::pin`
641
642 Manages Apt pins. Does not trigger an apt-get update run.
643
644 * **See also**
645   * http://linux.die.net/man/5/apt_preferences
646     * for context on these parameters
647
648 #### Parameters
649
650 The following parameters are available in the `apt::pin` defined type:
651
652 * [`ensure`](#ensure)
653 * [`explanation`](#explanation)
654 * [`order`](#order)
655 * [`packages`](#packages)
656 * [`priority`](#priority)
657 * [`release`](#release)
658 * [`release_version`](#release_version)
659 * [`component`](#component)
660 * [`originator`](#originator)
661 * [`label`](#label)
662 * [`origin`](#origin)
663 * [`version`](#version)
664 * [`codename`](#codename)
665
666 ##### <a name="ensure"></a>`ensure`
667
668 Data type: `Optional[Enum['file', 'present', 'absent']]`
669
670 Specifies whether the pin should exist. Valid options: 'file', 'present', and 'absent'.
671
672 Default value: `present`
673
674 ##### <a name="explanation"></a>`explanation`
675
676 Data type: `Optional[String]`
677
678 Supplies a comment to explain the pin. Default: "${caller_module_name}: ${name}".
679
680 Default value: ``undef``
681
682 ##### <a name="order"></a>`order`
683
684 Data type: `Variant[Integer]`
685
686 Determines the order in which Apt processes the pin file. Files with lower order numbers are loaded first.
687
688 Default value: `50`
689
690 ##### <a name="packages"></a>`packages`
691
692 Data type: `Variant[String, Array]`
693
694 Specifies which package(s) to pin.
695
696 Default value: `'*'`
697
698 ##### <a name="priority"></a>`priority`
699
700 Data type: `Variant[Numeric, String]`
701
702 Sets the priority of the package. If multiple versions of a given package are available, `apt-get` installs the one with the highest
703 priority number (subject to dependency constraints). Valid options: an integer.
704
705 Default value: `0`
706
707 ##### <a name="release"></a>`release`
708
709 Data type: `Optional[String]`
710
711 Tells APT to prefer packages that support the specified release. Typical values include 'stable', 'testing', and 'unstable'.
712
713 Default value: `''`
714
715 ##### <a name="release_version"></a>`release_version`
716
717 Data type: `Optional[String]`
718
719 Tells APT to prefer packages that support the specified operating system release version (such as Debian release version 7).
720
721 Default value: `''`
722
723 ##### <a name="component"></a>`component`
724
725 Data type: `Optional[String]`
726
727 Names the licensing component associated with the packages in the directory tree of the Release file.
728
729 Default value: `''`
730
731 ##### <a name="originator"></a>`originator`
732
733 Data type: `Optional[String]`
734
735 Names the originator of the packages in the directory tree of the Release file.
736
737 Default value: `''`
738
739 ##### <a name="label"></a>`label`
740
741 Data type: `Optional[String]`
742
743 Names the label of the packages in the directory tree of the Release file.
744
745 Default value: `''`
746
747 ##### <a name="origin"></a>`origin`
748
749 Data type: `Optional[String]`
750
751
752
753 Default value: `''`
754
755 ##### <a name="version"></a>`version`
756
757 Data type: `Optional[String]`
758
759
760
761 Default value: `''`
762
763 ##### <a name="codename"></a>`codename`
764
765 Data type: `Optional[String]`
766
767
768
769 Default value: `''`
770
771 ### <a name="aptppa"></a>`apt::ppa`
772
773 Manages PPA repositories using `add-apt-repository`. Not supported on Debian.
774
775 #### Examples
776
777 ##### Example declaration of an Apt PPA
778
779 ```puppet
780 apt::ppa{ 'ppa:openstack-ppa/bleeding-edge': }
781 ```
782
783 #### Parameters
784
785 The following parameters are available in the `apt::ppa` defined type:
786
787 * [`ensure`](#ensure)
788 * [`options`](#options)
789 * [`release`](#release)
790 * [`dist`](#dist)
791 * [`package_name`](#package_name)
792 * [`package_manage`](#package_manage)
793
794 ##### <a name="ensure"></a>`ensure`
795
796 Data type: `String`
797
798 Specifies whether the PPA should exist. Valid options: 'present' and 'absent'.
799
800 Default value: `'present'`
801
802 ##### <a name="options"></a>`options`
803
804 Data type: `Optional[String]`
805
806 Supplies options to be passed to the `add-apt-repository` command. Default: '-y'.
807
808 Default value: `$::apt::ppa_options`
809
810 ##### <a name="release"></a>`release`
811
812 Data type: `Optional[String]`
813
814 Specifies the operating system of your node. Valid options: a string containing a valid LSB distribution codename.
815 Optional if `puppet facts show os.distro.codename` returns your correct distribution release codename.
816
817 Default value: `fact('os.distro.codename')`
818
819 ##### <a name="dist"></a>`dist`
820
821 Data type: `Optional[String]`
822
823 Specifies the distribution of your node. Valid options: a string containing a valid distribution codename.
824 Optional if `puppet facts show os.name` returns your correct distribution name.
825
826 Default value: `$facts['os']['name']`
827
828 ##### <a name="package_name"></a>`package_name`
829
830 Data type: `Optional[String]`
831
832 Names the package that provides the `apt-add-repository` command. Default: 'software-properties-common'.
833
834 Default value: `$::apt::ppa_package`
835
836 ##### <a name="package_manage"></a>`package_manage`
837
838 Data type: `Boolean`
839
840 Specifies whether Puppet should manage the package that provides `apt-add-repository`.
841
842 Default value: ``false``
843
844 ### <a name="aptsetting"></a>`apt::setting`
845
846 Manages Apt configuration files.
847
848 * **See also**
849   * https://docs.puppetlabs.com/references/latest/type.html#file-attributes
850     * for more information on source and content parameters
851
852 #### Parameters
853
854 The following parameters are available in the `apt::setting` defined type:
855
856 * [`priority`](#priority)
857 * [`ensure`](#ensure)
858 * [`source`](#source)
859 * [`content`](#content)
860 * [`notify_update`](#notify_update)
861
862 ##### <a name="priority"></a>`priority`
863
864 Data type: `Variant[String, Integer, Array]`
865
866 Determines the order in which Apt processes the configuration file. Files with higher priority numbers are loaded first.
867
868 Default value: `50`
869
870 ##### <a name="ensure"></a>`ensure`
871
872 Data type: `Optional[Enum['file', 'present', 'absent']]`
873
874 Specifies whether the file should exist. Valid options: 'present', 'absent', and 'file'.
875
876 Default value: `file`
877
878 ##### <a name="source"></a>`source`
879
880 Data type: `Optional[String]`
881
882 Required, unless `content` is set. Specifies a source file to supply the content of the configuration file. Cannot be used in combination
883 with `content`. Valid options: see link above for Puppet's native file type source attribute.
884
885 Default value: ``undef``
886
887 ##### <a name="content"></a>`content`
888
889 Data type: `Optional[String]`
890
891 Required, unless `source` is set. Directly supplies content for the configuration file. Cannot be used in combination with `source`. Valid
892 options: see link above for Puppet's native file type content attribute.
893
894 Default value: ``undef``
895
896 ##### <a name="notify_update"></a>`notify_update`
897
898 Data type: `Boolean`
899
900 Specifies whether to trigger an `apt-get update` run.
901
902 Default value: ``true``
903
904 ### <a name="aptsource"></a>`apt::source`
905
906 Manages the Apt sources in /etc/apt/sources.list.d/.
907
908 #### Examples
909
910 ##### Install the puppetlabs apt source
911
912 ```puppet
913 apt::source { 'puppetlabs':
914   location => 'http://apt.puppetlabs.com',
915   repos    => 'main',
916   key      => {
917     id     => '6F6B15509CF8E59E6E469F327F438280EF8D349F',
918     server => 'keyserver.ubuntu.com',
919   },
920 }
921 ```
922
923 #### Parameters
924
925 The following parameters are available in the `apt::source` defined type:
926
927 * [`location`](#location)
928 * [`comment`](#comment)
929 * [`ensure`](#ensure)
930 * [`release`](#release)
931 * [`repos`](#repos)
932 * [`include`](#include)
933 * [`key`](#key)
934 * [`keyring`](#keyring)
935 * [`pin`](#pin)
936 * [`architecture`](#architecture)
937 * [`allow_unsigned`](#allow_unsigned)
938 * [`notify_update`](#notify_update)
939 * [`allow_insecure`](#allow_insecure)
940
941 ##### <a name="location"></a>`location`
942
943 Data type: `Optional[String]`
944
945 Required, unless ensure is set to 'absent'. Specifies an Apt repository. Valid options: a string containing a repository URL.
946
947 Default value: ``undef``
948
949 ##### <a name="comment"></a>`comment`
950
951 Data type: `String`
952
953 Supplies a comment for adding to the Apt source file.
954
955 Default value: `$name`
956
957 ##### <a name="ensure"></a>`ensure`
958
959 Data type: `String`
960
961 Specifies whether the Apt source file should exist. Valid options: 'present' and 'absent'.
962
963 Default value: `present`
964
965 ##### <a name="release"></a>`release`
966
967 Data type: `Optional[String]`
968
969 Specifies a distribution of the Apt repository.
970
971 Default value: ``undef``
972
973 ##### <a name="repos"></a>`repos`
974
975 Data type: `String`
976
977 Specifies a component of the Apt repository.
978
979 Default value: `'main'`
980
981 ##### <a name="include"></a>`include`
982
983 Data type: `Optional[Variant[Hash]]`
984
985 Configures include options. Valid options: a hash of available keys.
986
987 Options:
988
989 * **:deb** `Boolean`: Specifies whether to request the distribution's compiled binaries. Default true.
990 * **:src** `Boolean`: Specifies whether to request the distribution's uncompiled source code. Default false.
991
992 Default value: `{}`
993
994 ##### <a name="key"></a>`key`
995
996 Data type: `Optional[Variant[String, Hash]]`
997
998 Creates a declaration of the apt::key defined type. Valid options: a string to be passed to the `id` parameter of the `apt::key`
999 defined type, or a hash of `parameter => value` pairs to be passed to `apt::key`'s `id`, `server`, `content`, `source`, `weak_ssl`,
1000 and/or `options` parameters.
1001
1002 Default value: ``undef``
1003
1004 ##### <a name="keyring"></a>`keyring`
1005
1006 Data type: `Optional[Stdlib::AbsolutePath]`
1007
1008 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.
1009 See https://wiki.debian.org/DebianRepository/UseThirdParty for details.
1010
1011 Default value: ``undef``
1012
1013 ##### <a name="pin"></a>`pin`
1014
1015 Data type: `Optional[Variant[Hash, Numeric, String]]`
1016
1017 Creates a declaration of the apt::pin defined type. Valid options: a number or string to be passed to the `id` parameter of the
1018 `apt::pin` defined type, or a hash of `parameter => value` pairs to be passed to `apt::pin`'s corresponding parameters.
1019
1020 Default value: ``undef``
1021
1022 ##### <a name="architecture"></a>`architecture`
1023
1024 Data type: `Optional[String]`
1025
1026 Tells Apt to only download information for specified architectures. Valid options: a string containing one or more architecture names,
1027 separated by commas (e.g., 'i386' or 'i386,alpha,powerpc'). Default: undef (if unspecified, Apt downloads information for all architectures
1028 defined in the Apt::Architectures option).
1029
1030 Default value: ``undef``
1031
1032 ##### <a name="allow_unsigned"></a>`allow_unsigned`
1033
1034 Data type: `Boolean`
1035
1036 Specifies whether to authenticate packages from this release, even if the Release file is not signed or the signature can't be checked.
1037
1038 Default value: ``false``
1039
1040 ##### <a name="notify_update"></a>`notify_update`
1041
1042 Data type: `Boolean`
1043
1044 Specifies whether to trigger an `apt-get update` run.
1045
1046 Default value: ``true``
1047
1048 ##### <a name="allow_insecure"></a>`allow_insecure`
1049
1050 Data type: `Boolean`
1051
1052
1053
1054 Default value: ``false``
1055
1056 ## Resource types
1057
1058 ## Data types
1059
1060 ### <a name="aptauth_conf_entry"></a>`Apt::Auth_conf_entry`
1061
1062 Login configuration settings that are recorded in the file `/etc/apt/auth.conf`.
1063
1064 * **See also**
1065   * https://manpages.debian.org/testing/apt/apt_auth.conf.5.en.html
1066   * for more information
1067
1068 Alias of
1069
1070 ```puppet
1071 Struct[{
1072     machine => String[1],
1073     login => String,
1074     password => String
1075   }]
1076 ```
1077
1078 #### Parameters
1079
1080 The following parameters are available in the `Apt::Auth_conf_entry` data type:
1081
1082 * [`machine`](#machine)
1083 * [`login`](#login)
1084 * [`password`](#password)
1085
1086 ##### <a name="machine"></a>`machine`
1087
1088 Hostname of machine to connect to.
1089
1090 ##### <a name="login"></a>`login`
1091
1092 Specifies the username to connect with.
1093
1094 ##### <a name="password"></a>`password`
1095
1096 Specifies the password to connect with.
1097
1098 ### <a name="aptproxy"></a>`Apt::Proxy`
1099
1100 Configures Apt to connect to a proxy server.
1101
1102 Alias of
1103
1104 ```puppet
1105 Struct[{
1106     ensure     => Optional[Enum['file', 'present', 'absent']],
1107     host       => Optional[String],
1108     port       => Optional[Integer[0, 65535]],
1109     https      => Optional[Boolean],
1110     https_acng => Optional[Boolean],
1111     direct     => Optional[Boolean],
1112     perhost    => Optional[Array[Apt::Proxy_Per_Host]],
1113   }]
1114 ```
1115
1116 #### Parameters
1117
1118 The following parameters are available in the `Apt::Proxy` data type:
1119
1120 * [`ensure`](#ensure)
1121 * [`host`](#host)
1122 * [`port`](#port)
1123 * [`https`](#https)
1124 * [`direct`](#direct)
1125
1126 ##### <a name="ensure"></a>`ensure`
1127
1128 Specifies whether the proxy should exist. Valid options: 'file', 'present', and 'absent'. Prefer 'file' over 'present'.
1129
1130 ##### <a name="host"></a>`host`
1131
1132 Specifies a proxy host to be stored in `/etc/apt/apt.conf.d/01proxy`. Valid options: a string containing a hostname.
1133
1134 ##### <a name="port"></a>`port`
1135
1136 Specifies a proxy port to be stored in `/etc/apt/apt.conf.d/01proxy`. Valid options: an integer containing a port number.
1137
1138 ##### <a name="https"></a>`https`
1139
1140 Specifies whether to enable https proxies.
1141
1142 ##### <a name="direct"></a>`direct`
1143
1144 Specifies whether or not to use a `DIRECT` https proxy if http proxy is used but https is not.
1145
1146 ### <a name="aptproxy_per_host"></a>`Apt::Proxy_Per_Host`
1147
1148 Adds per-host overrides to the system default APT proxy configuration
1149
1150 Alias of
1151
1152 ```puppet
1153 Struct[{
1154     scope      => String,
1155     host       => Optional[String],
1156     port       => Optional[Integer[1, 65535]],
1157     https      => Optional[Boolean],
1158     direct     => Optional[Boolean],
1159   }]
1160 ```
1161
1162 #### Parameters
1163
1164 The following parameters are available in the `Apt::Proxy_Per_Host` data type:
1165
1166 * [`scope`](#scope)
1167 * [`host`](#host)
1168 * [`port`](#port)
1169 * [`https`](#https)
1170 * [`direct`](#direct)
1171
1172 ##### <a name="scope"></a>`scope`
1173
1174 Specifies the scope of the override.  Valid options: a string containing a hostname.
1175
1176 ##### <a name="host"></a>`host`
1177
1178 Specifies a proxy host to be stored in `/etc/apt/apt.conf.d/01proxy`. Valid options: a string containing a hostname.
1179
1180 ##### <a name="port"></a>`port`
1181
1182 Specifies a proxy port to be stored in `/etc/apt/apt.conf.d/01proxy`. Valid options: an integer containing a port number.
1183
1184 ##### <a name="https"></a>`https`
1185
1186 Specifies whether to enable https for this override.
1187
1188 ##### <a name="direct"></a>`direct`
1189
1190 Specifies whether or not to use a `DIRECT` target to bypass the system default proxy.
1191
1192 ## Tasks
1193
1194 ### <a name="init"></a>`init`
1195
1196 Allows you to perform apt functions
1197
1198 **Supports noop?** false
1199
1200 #### Parameters
1201
1202 ##### `action`
1203
1204 Data type: `Enum[update, upgrade, dist-upgrade, autoremove]`
1205
1206 Action to perform 
1207