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