Projet

Général

Profil

Paste
Télécharger au format
Statistiques
| Branche: | Révision:

root / REFERENCE.md @ 7f6cacc5

Historique | Voir | Annoter | Télécharger (17,5 ko)

1 e17693e3 Steve Traylen
# Reference
2
3
<!-- DO NOT EDIT: This document was generated by Puppet Strings -->
4
5
## Table of Contents
6
7
### Classes
8
9
* [`nftables`](#nftables): Configure nftables
10 7f6cacc5 Steve Traylen
* [`nftables::bridges`](#nftablesbridges): allow forwarding traffic on bridges
11 e17693e3 Steve Traylen
* [`nftables::inet_filter`](#nftablesinet_filter): manage basic chains in table inet filter
12
* [`nftables::ip_nat`](#nftablesip_nat): manage basic chains in table ip nat
13 7f6cacc5 Steve Traylen
* [`nftables::rules::afs3_callback`](#nftablesrulesafs3_callback): Open call back port for AFS clients
14
* [`nftables::rules::dhcpv6_client`](#nftablesrulesdhcpv6_client)
15
* [`nftables::rules::dns`](#nftablesrulesdns): manage in dns
16 e17693e3 Steve Traylen
* [`nftables::rules::http`](#nftablesruleshttp): manage in http
17
* [`nftables::rules::https`](#nftablesruleshttps): manage in https
18
* [`nftables::rules::icinga2`](#nftablesrulesicinga2): manage in icinga2
19 7f6cacc5 Steve Traylen
* [`nftables::rules::icmp`](#nftablesrulesicmp)
20
* [`nftables::rules::node_exporter`](#nftablesrulesnode_exporter): manage in node exporter
21 e17693e3 Steve Traylen
* [`nftables::rules::ospf`](#nftablesrulesospf): manage in ospf
22
* [`nftables::rules::ospf3`](#nftablesrulesospf3): manage in ospf3
23
* [`nftables::rules::out::all`](#nftablesrulesoutall): allow all outbound
24
* [`nftables::rules::out::chrony`](#nftablesrulesoutchrony): manage out chrony
25
* [`nftables::rules::out::dhcp`](#nftablesrulesoutdhcp): manage out dhcp
26 7f6cacc5 Steve Traylen
* [`nftables::rules::out::dhcpv6_client`](#nftablesrulesoutdhcpv6_client)
27 e17693e3 Steve Traylen
* [`nftables::rules::out::dns`](#nftablesrulesoutdns): manage out dns
28
* [`nftables::rules::out::http`](#nftablesrulesouthttp): manage out http
29
* [`nftables::rules::out::https`](#nftablesrulesouthttps): manage out https
30 7f6cacc5 Steve Traylen
* [`nftables::rules::out::icmp`](#nftablesrulesouticmp)
31
* [`nftables::rules::out::kerberos`](#nftablesrulesoutkerberos): allows outbound access for kerberos
32 e17693e3 Steve Traylen
* [`nftables::rules::out::mysql`](#nftablesrulesoutmysql): manage out mysql
33 7f6cacc5 Steve Traylen
* [`nftables::rules::out::openafs_client`](#nftablesrulesoutopenafs_client): allows outbound access for afs clients
34 e17693e3 Steve Traylen
* [`nftables::rules::out::ospf`](#nftablesrulesoutospf): manage out ospf
35
* [`nftables::rules::out::ospf3`](#nftablesrulesoutospf3): manage out ospf3
36
* [`nftables::rules::out::postgres`](#nftablesrulesoutpostgres): manage out postgres
37
* [`nftables::rules::out::puppet`](#nftablesrulesoutpuppet): manage outgoing puppet
38
* [`nftables::rules::out::smtp`](#nftablesrulesoutsmtp): manage out smtp
39
* [`nftables::rules::out::ssh`](#nftablesrulesoutssh): manage out ssh
40
* [`nftables::rules::out::ssh::remove`](#nftablesrulesoutsshremove): disable outgoing ssh
41
* [`nftables::rules::out::tor`](#nftablesrulesouttor): manage out tor
42
* [`nftables::rules::out::wireguard`](#nftablesrulesoutwireguard): manage out wireguard
43
* [`nftables::rules::puppet`](#nftablesrulespuppet): manage in puppet
44
* [`nftables::rules::smtp`](#nftablesrulessmtp): manage in smtp
45
* [`nftables::rules::smtp_submission`](#nftablesrulessmtp_submission): manage in smtp submission
46
* [`nftables::rules::smtps`](#nftablesrulessmtps): manage in smtps
47
* [`nftables::rules::ssh`](#nftablesrulesssh): manage in ssh
48
* [`nftables::rules::tor`](#nftablesrulestor): manage in tor
49
* [`nftables::rules::wireguard`](#nftablesruleswireguard): manage in wireguard
50 7f6cacc5 Steve Traylen
* [`nftables::services::dhcpv6_client`](#nftablesservicesdhcpv6_client)
51
* [`nftables::services::openafs_client`](#nftablesservicesopenafs_client)
52 e17693e3 Steve Traylen
53
### Defined types
54
55
* [`nftables::chain`](#nftableschain): manage a chain
56
* [`nftables::config`](#nftablesconfig): manage a config snippet
57
* [`nftables::rule`](#nftablesrule): manage a chain rule Name should be:   CHAIN_NAME-rulename
58
* [`nftables::rules::dnat4`](#nftablesrulesdnat4): manage a ipv4 dnat rule
59
* [`nftables::rules::masquerade`](#nftablesrulesmasquerade): masquerade all outgoing traffic
60
* [`nftables::rules::snat4`](#nftablesrulessnat4): manage a ipv4 snat rule
61 7f6cacc5 Steve Traylen
* [`nftables::set`](#nftablesset): manage a named set
62 e17693e3 Steve Traylen
63
## Classes
64
65
### `nftables`
66
67
Configure nftables
68
69
#### Examples
70
71
##### 
72
73
```puppet
74
class{'nftables:
75
  out_ntp = false,
76
  out_dns = true,
77
}
78
```
79
80
#### Parameters
81
82
The following parameters are available in the `nftables` class.
83
84
##### `out_all`
85
86
Data type: `Boolean`
87
88
Allow all outbound connections. If `true` then all other
89
out parameters `out_ntp`, `out_dns`, ... will be assuemed
90
false.
91
92
Default value: ``false``
93
94
##### `out_ntp`
95
96
Data type: `Boolean`
97
98
Allow outbound to ntp servers.
99
100
Default value: ``true``
101
102
##### `out_http`
103
104
Data type: `Boolean`
105
106
Allow outbound to http servers.
107
108
Default value: ``true``
109
110
##### `out_https`
111
112
Data type: `Boolean`
113
114
Allow outbound to https servers.
115
116
Default value: ``true``
117
118
##### `out_https`
119
120
Allow outbound to https servers.
121
122
Default value: ``true``
123
124 7f6cacc5 Steve Traylen
##### `out_icmp`
125
126
Data type: `Boolean`
127
128
Allow outbound ICMPv4/v6 traffic.
129
130
Default value: ``true``
131
132 e17693e3 Steve Traylen
##### `in_ssh`
133
134
Data type: `Boolean`
135
136
Allow inbound to ssh servers.
137
138
Default value: ``true``
139
140 7f6cacc5 Steve Traylen
##### `in_icmp`
141
142
Data type: `Boolean`
143
144
Allow inbound ICMPv4/v6 traffic.
145
146
Default value: ``true``
147
148
##### `nat`
149
150
Data type: `Boolean`
151
152
Add default tables and chains to process NAT traffic.
153
154
Default value: ``true``
155
156
##### `log_prefix`
157
158
Data type: `String`
159
160
String that will be used as prefix when logging packets. It can contain
161
two variables using standard sprintf() string-formatting:
162
 * chain: Will be replaced by the name of the chain.
163
 * comment: Allows chains to add extra comments.
164
165
Default value: `'[nftables] %<chain>s %<comment>s'`
166
167
##### `reject_with`
168
169
Data type: `Variant[Boolean[false], Pattern[
170
    /icmp(v6|x)? type .+|tcp reset/]]`
171
172
How to discard packets not matching any rule. If `false`, the
173
fate of the packet will be defined by the chain policy (normally
174
drop), otherwise the packet will be rejected with the REJECT_WITH
175
policy indicated by the value of this parameter.
176
177
Default value: `'icmpx type port-unreachable'`
178
179
##### `in_out_conntrack`
180
181
Data type: `Boolean`
182
183
Adds INPUT and OUTPUT rules to allow traffic that's part of an
184
established connection and also to drop invalid packets.
185
186
Default value: ``true``
187
188
##### `firewalld_enable`
189
190
Data type: `Variant[Boolean[false], Enum['mask']]`
191
192
Configures how the firewalld systemd service unit is enabled. It might be
193
useful to set this to false if you're externaly removing firewalld from
194
the system completely.
195
196
Default value: `'mask'`
197
198 e17693e3 Steve Traylen
##### `out_dns`
199
200
Data type: `Boolean`
201
202
203
204
Default value: ``true``
205
206 7f6cacc5 Steve Traylen
##### `rules`
207
208
Data type: `Hash`
209
210
211
212
Default value: `{}`
213
214
### `nftables::bridges`
215
216
allow forwarding traffic on bridges
217
218
#### Parameters
219
220
The following parameters are available in the `nftables::bridges` class.
221
222
##### `ensure`
223
224
Data type: `Enum['present','absent']`
225
226
227
228
Default value: `'present'`
229
230
##### `bridgenames`
231
232
Data type: `Regexp`
233
234
235
236
Default value: `/^br.+/`
237
238 e17693e3 Steve Traylen
### `nftables::inet_filter`
239
240
manage basic chains in table inet filter
241
242
### `nftables::ip_nat`
243
244
manage basic chains in table ip nat
245
246 7f6cacc5 Steve Traylen
### `nftables::rules::afs3_callback`
247
248
class{'nftables::rules::afs3_callback':
249
  saddr => ['192.168.0.0/16', '10.0.0.222']
250
}
251
252
#### Parameters
253
254
The following parameters are available in the `nftables::rules::afs3_callback` class.
255
256
##### `saddr`
257
258
Data type: `Array[Stdlib::IP::Address::V4,1]`
259
260
list of source network ranges to a
261
262
Default value: `['0.0.0.0/0']`
263
264
### `nftables::rules::dhcpv6_client`
265
266
The nftables::rules::dhcpv6_client class.
267
268
### `nftables::rules::dns`
269
270
manage in dns
271
272
#### Parameters
273
274
The following parameters are available in the `nftables::rules::dns` class.
275
276
##### `ports`
277
278
Data type: `Array[Integer,1]`
279
280
281
282
Default value: `[53]`
283
284 e17693e3 Steve Traylen
### `nftables::rules::http`
285
286
manage in http
287
288
### `nftables::rules::https`
289
290
manage in https
291
292
### `nftables::rules::icinga2`
293
294
manage in icinga2
295
296
#### Parameters
297
298
The following parameters are available in the `nftables::rules::icinga2` class.
299
300
##### `ports`
301
302
Data type: `Array[Integer,1]`
303
304
305
306
Default value: `[5665]`
307
308 7f6cacc5 Steve Traylen
### `nftables::rules::icmp`
309
310
The nftables::rules::icmp class.
311
312
#### Parameters
313
314
The following parameters are available in the `nftables::rules::icmp` class.
315
316
##### `v4_types`
317
318
Data type: `Optional[Array[String]]`
319
320
321
322
Default value: ``undef``
323
324
##### `v6_types`
325
326
Data type: `Optional[Array[String]]`
327
328
329
330
Default value: ``undef``
331
332
##### `order`
333
334
Data type: `String`
335
336
337
338
Default value: `'10'`
339
340
### `nftables::rules::node_exporter`
341
342
manage in node exporter
343
344
#### Parameters
345
346
The following parameters are available in the `nftables::rules::node_exporter` class.
347
348
##### `prometheus_server`
349
350
Data type: `Optional[Variant[String,Array[String,1]]]`
351
352
353
354
Default value: ``undef``
355
356
##### `port`
357
358
Data type: `Integer`
359
360
361
362
Default value: `9100`
363
364 e17693e3 Steve Traylen
### `nftables::rules::ospf`
365
366
manage in ospf
367
368
### `nftables::rules::ospf3`
369
370
manage in ospf3
371
372
### `nftables::rules::out::all`
373
374
allow all outbound
375
376
### `nftables::rules::out::chrony`
377
378
manage out chrony
379
380
### `nftables::rules::out::dhcp`
381
382
manage out dhcp
383
384 7f6cacc5 Steve Traylen
### `nftables::rules::out::dhcpv6_client`
385
386
The nftables::rules::out::dhcpv6_client class.
387
388 e17693e3 Steve Traylen
### `nftables::rules::out::dns`
389
390
manage out dns
391
392
#### Parameters
393
394
The following parameters are available in the `nftables::rules::out::dns` class.
395
396
##### `dns_server`
397
398
Data type: `Optional[Variant[String,Array[String,1]]]`
399
400
401
402
Default value: ``undef``
403
404
### `nftables::rules::out::http`
405
406
manage out http
407
408
### `nftables::rules::out::https`
409
410
manage out https
411
412 7f6cacc5 Steve Traylen
### `nftables::rules::out::icmp`
413
414
The nftables::rules::out::icmp class.
415
416
#### Parameters
417
418
The following parameters are available in the `nftables::rules::out::icmp` class.
419
420
##### `v4_types`
421
422
Data type: `Optional[Array[String]]`
423
424
425
426
Default value: ``undef``
427
428
##### `v6_types`
429
430
Data type: `Optional[Array[String]]`
431
432
433
434
Default value: ``undef``
435
436
##### `order`
437
438
Data type: `String`
439
440
441
442
Default value: `'10'`
443
444
### `nftables::rules::out::kerberos`
445
446
allows outbound access for kerberos
447
448 e17693e3 Steve Traylen
### `nftables::rules::out::mysql`
449
450
manage out mysql
451
452 7f6cacc5 Steve Traylen
### `nftables::rules::out::openafs_client`
453
454
7000 - afs3-fileserver
455
7002 - afs3-ptserver
456
7003 - vlserver
457
458
* **See also**
459
  * https://wiki.openafs.org/devel/AFSServicePorts/
460
    * AFS Service Ports
461
462
#### Parameters
463
464
The following parameters are available in the `nftables::rules::out::openafs_client` class.
465
466
##### `ports`
467
468
Data type: `Array[Integer,1]`
469
470
471
472
Default value: `[7000, 7002, 7003]`
473
474 e17693e3 Steve Traylen
### `nftables::rules::out::ospf`
475
476
manage out ospf
477
478
### `nftables::rules::out::ospf3`
479
480
manage out ospf3
481
482
### `nftables::rules::out::postgres`
483
484
manage out postgres
485
486
### `nftables::rules::out::puppet`
487
488
manage outgoing puppet
489
490
#### Parameters
491
492
The following parameters are available in the `nftables::rules::out::puppet` class.
493
494
##### `puppetmaster`
495
496
Data type: `Variant[String,Array[String,1]]`
497
498
499
500
##### `puppetserver_port`
501
502
Data type: `Integer`
503
504
505
506
Default value: `8140`
507
508
### `nftables::rules::out::smtp`
509
510
manage out smtp
511
512
### `nftables::rules::out::ssh`
513
514
manage out ssh
515
516
### `nftables::rules::out::ssh::remove`
517
518
disable outgoing ssh
519
520
### `nftables::rules::out::tor`
521
522
manage out tor
523
524
### `nftables::rules::out::wireguard`
525
526
manage out wireguard
527
528
#### Parameters
529
530
The following parameters are available in the `nftables::rules::out::wireguard` class.
531
532
##### `ports`
533
534
Data type: `Array[Integer,1]`
535
536
537
538
Default value: `[51820]`
539
540
### `nftables::rules::puppet`
541
542
manage in puppet
543
544
#### Parameters
545
546
The following parameters are available in the `nftables::rules::puppet` class.
547
548
##### `ports`
549
550
Data type: `Array[Integer,1]`
551
552
553
554
Default value: `[8140]`
555
556
### `nftables::rules::smtp`
557
558
manage in smtp
559
560
### `nftables::rules::smtp_submission`
561
562
manage in smtp submission
563
564
### `nftables::rules::smtps`
565
566
manage in smtps
567
568
### `nftables::rules::ssh`
569
570
manage in ssh
571
572
#### Parameters
573
574
The following parameters are available in the `nftables::rules::ssh` class.
575
576
##### `ports`
577
578
Data type: `Array[Integer,1]`
579
580
581
582
Default value: `[22]`
583
584
### `nftables::rules::tor`
585
586
manage in tor
587
588
#### Parameters
589
590
The following parameters are available in the `nftables::rules::tor` class.
591
592
##### `ports`
593
594
Data type: `Array[Integer,1]`
595
596
597
598
Default value: `[9001]`
599
600
### `nftables::rules::wireguard`
601
602
manage in wireguard
603
604
#### Parameters
605
606
The following parameters are available in the `nftables::rules::wireguard` class.
607
608
##### `ports`
609
610
Data type: `Array[Integer,1]`
611
612
613
614
Default value: `[51820]`
615
616 7f6cacc5 Steve Traylen
### `nftables::services::dhcpv6_client`
617
618
The nftables::services::dhcpv6_client class.
619
620
### `nftables::services::openafs_client`
621
622
The nftables::services::openafs_client class.
623
624 e17693e3 Steve Traylen
## Defined types
625
626
### `nftables::chain`
627
628
manage a chain
629
630
#### Parameters
631
632
The following parameters are available in the `nftables::chain` defined type.
633
634
##### `table`
635
636
Data type: `Pattern[/^(ip|ip6|inet)-[a-zA-Z0-9_]+$/]`
637
638
639
640
Default value: `'inet-filter'`
641
642
##### `chain`
643
644
Data type: `Pattern[/^[a-zA-Z0-9_]+$/]`
645
646
647
648
Default value: `$title`
649
650
##### `inject`
651
652
Data type: `Optional[Pattern[/^\d\d-[a-zA-Z0-9_]+$/]]`
653
654
655
656
Default value: ``undef``
657
658
##### `inject_iif`
659
660
Data type: `Optional[String]`
661
662
663
664
Default value: ``undef``
665
666
##### `inject_oif`
667
668
Data type: `Optional[String]`
669
670
671
672
Default value: ``undef``
673
674
### `nftables::config`
675
676
manage a config snippet
677
678
#### Parameters
679
680
The following parameters are available in the `nftables::config` defined type.
681
682
##### `content`
683
684
Data type: `Optional[String]`
685
686
687
688
Default value: ``undef``
689
690
##### `source`
691
692
Data type: `Optional[Variant[String,Array[String,1]]]`
693
694
695
696
Default value: ``undef``
697
698
### `nftables::rule`
699
700
manage a chain rule
701
Name should be:
702
  CHAIN_NAME-rulename
703
704
#### Parameters
705
706
The following parameters are available in the `nftables::rule` defined type.
707
708
##### `ensure`
709
710
Data type: `Enum['present','absent']`
711
712
713
714
Default value: `'present'`
715
716
##### `rulename`
717
718
Data type: `Pattern[/^[a-zA-Z0-9_]+-[a-zA-Z0-9_]+(-\d+)?$/]`
719
720
721
722
Default value: `$title`
723
724
##### `order`
725
726
Data type: `Pattern[/^\d\d$/]`
727
728
729
730
Default value: `'50'`
731
732
##### `table`
733
734
Data type: `Optional[String]`
735
736
737
738
Default value: `'inet-filter'`
739
740
##### `content`
741
742
Data type: `Optional[String]`
743
744
745
746
Default value: ``undef``
747
748
##### `source`
749
750
Data type: `Optional[Variant[String,Array[String,1]]]`
751
752
753
754
Default value: ``undef``
755
756
### `nftables::rules::dnat4`
757
758
manage a ipv4 dnat rule
759
760
#### Parameters
761
762
The following parameters are available in the `nftables::rules::dnat4` defined type.
763
764
##### `daddr`
765
766
Data type: `Pattern[/^[12]?\d{1,2}\.[12]?\d{1,2}\.[12]?\d{1,2}\.[12]?\d{1,2}$/]`
767
768
769
770
##### `port`
771
772
Data type: `Variant[String,Integer[1,65535]]`
773
774
775
776
##### `rulename`
777
778
Data type: `Pattern[/^[a-zA-Z0-9_]+$/]`
779
780
781
782
Default value: `$title`
783
784
##### `order`
785
786
Data type: `Pattern[/^\d\d$/]`
787
788
789
790
Default value: `'50'`
791
792
##### `chain`
793
794
Data type: `String[1]`
795
796
797
798
Default value: `'default_fwd'`
799
800
##### `iif`
801
802
Data type: `Optional[String[1]]`
803
804
805
806
Default value: ``undef``
807
808
##### `proto`
809
810
Data type: `Enum['tcp','udp']`
811
812
813
814
Default value: `'tcp'`
815
816
##### `dport`
817
818
Data type: `Optional[Variant[String,Integer[1,65535]]]`
819
820
821
822
Default value: `''`
823
824
##### `ensure`
825
826
Data type: `Enum['present','absent']`
827
828
829
830
Default value: `'present'`
831
832
### `nftables::rules::masquerade`
833
834
masquerade all outgoing traffic
835
836
#### Parameters
837
838
The following parameters are available in the `nftables::rules::masquerade` defined type.
839
840
##### `rulename`
841
842
Data type: `Pattern[/^[a-zA-Z0-9_]+$/]`
843
844
845
846
Default value: `$title`
847
848
##### `order`
849
850
Data type: `Pattern[/^\d\d$/]`
851
852
853
854
Default value: `'70'`
855
856
##### `chain`
857
858
Data type: `String[1]`
859
860
861
862
Default value: `'POSTROUTING'`
863
864
##### `oif`
865
866
Data type: `Optional[String[1]]`
867
868
869
870
Default value: ``undef``
871
872
##### `saddr`
873
874
Data type: `Optional[String[1]]`
875
876
877
878
Default value: ``undef``
879
880
##### `daddr`
881
882
Data type: `Optional[String[1]]`
883
884
885
886
Default value: ``undef``
887
888
##### `proto`
889
890
Data type: `Optional[Enum['tcp','udp']]`
891
892
893
894
Default value: ``undef``
895
896
##### `dport`
897
898
Data type: `Optional[Variant[String,Integer[1,65535]]]`
899
900
901
902
Default value: ``undef``
903
904
##### `ensure`
905
906
Data type: `Enum['present','absent']`
907
908
909
910
Default value: `'present'`
911
912
### `nftables::rules::snat4`
913
914
manage a ipv4 snat rule
915
916
#### Parameters
917
918
The following parameters are available in the `nftables::rules::snat4` defined type.
919
920
##### `snat`
921
922
Data type: `String[1]`
923
924
925
926
##### `rulename`
927
928
Data type: `Pattern[/^[a-zA-Z0-9_]+$/]`
929
930
931
932
Default value: `$title`
933
934
##### `order`
935
936
Data type: `Pattern[/^\d\d$/]`
937
938
939
940
Default value: `'70'`
941
942
##### `chain`
943
944
Data type: `String[1]`
945
946
947
948
Default value: `'POSTROUTING'`
949
950
##### `oif`
951
952
Data type: `Optional[String[1]]`
953
954
955
956
Default value: ``undef``
957
958
##### `saddr`
959
960
Data type: `Optional[String[1]]`
961
962
963
964
Default value: ``undef``
965
966
##### `proto`
967
968
Data type: `Optional[Enum['tcp','udp']]`
969
970
971
972
Default value: ``undef``
973
974
##### `dport`
975
976
Data type: `Optional[Variant[String,Integer[1,65535]]]`
977
978
979
980
Default value: ``undef``
981
982
##### `ensure`
983
984
Data type: `Enum['present','absent']`
985
986
987
988
Default value: `'present'`
989
990 7f6cacc5 Steve Traylen
### `nftables::set`
991
992
manage a named set
993
994
#### Parameters
995
996
The following parameters are available in the `nftables::set` defined type.
997
998
##### `ensure`
999
1000
Data type: `Enum['present','absent']`
1001
1002
1003
1004
Default value: `'present'`
1005
1006
##### `setname`
1007
1008
Data type: `Pattern[/^[-a-zA-Z0-9_]+$/]`
1009
1010
1011
1012
Default value: `$title`
1013
1014
##### `order`
1015
1016
Data type: `Pattern[/^\d\d$/]`
1017
1018
1019
1020
Default value: `'10'`
1021
1022
##### `type`
1023
1024
Data type: `Optional[Enum['ipv4_addr', 'ipv6_addr', 'ether_addr', 'inet_proto', 'inet_service', 'mark']]`
1025
1026
1027
1028
Default value: ``undef``
1029
1030
##### `table`
1031
1032
Data type: `String`
1033
1034
1035
1036
Default value: `'inet-filter'`
1037
1038
##### `flags`
1039
1040
Data type: `Array[Enum['constant', 'dynamic', 'interval', 'timeout'], 0, 4]`
1041
1042
1043
1044
Default value: `[]`
1045
1046
##### `timeout`
1047
1048
Data type: `Optional[Integer]`
1049
1050
1051
1052
Default value: ``undef``
1053
1054
##### `gc_interval`
1055
1056
Data type: `Optional[Integer]`
1057
1058
1059
1060
Default value: ``undef``
1061
1062
##### `elements`
1063
1064
Data type: `Optional[Array[String]]`
1065
1066
1067
1068
Default value: ``undef``
1069
1070
##### `size`
1071
1072
Data type: `Optional[Integer]`
1073
1074
1075
1076
Default value: ``undef``
1077
1078
##### `policy`
1079
1080
Data type: `Optional[Enum['performance', 'memory']]`
1081
1082
1083
1084
Default value: ``undef``
1085
1086
##### `auto_merge`
1087
1088
Data type: `Boolean`
1089
1090
1091
1092
Default value: ``false``
1093
1094
##### `content`
1095
1096
Data type: `Optional[String]`
1097
1098
1099
1100
Default value: ``undef``
1101
1102
##### `source`
1103
1104
Data type: `Optional[Variant[String,Array[String,1]]]`
1105
1106
1107
1108
Default value: ``undef``