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