Revert "Add systemd module, required by rabbitmq"
[mirror/dsa-puppet.git] / 3rdparty / modules / rabbitmq / 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 * [`rabbitmq`](#rabbitmq): A module to manage RabbitMQ
9 * [`rabbitmq::config`](#rabbitmqconfig): Class: rabbitmq::config Sets all the configuration values for RabbitMQ and creates the directories for config and ssl.
10 * [`rabbitmq::install`](#rabbitmqinstall): Class rabbitmq::install Ensures that rabbitmq-server exists
11 * [`rabbitmq::install::rabbitmqadmin`](#rabbitmqinstallrabbitmqadmin): 
12 * [`rabbitmq::management`](#rabbitmqmanagement): 
13 * [`rabbitmq::params`](#rabbitmqparams): OS Specific parameters and other settings
14 * [`rabbitmq::repo::apt`](#rabbitmqrepoapt): requires   puppetlabs-apt   puppetlabs-stdlib
15 * [`rabbitmq::repo::rhel`](#rabbitmqreporhel): Class: rabbitmq::repo::rhel Makes sure that the Packagecloud repo is installed
16 * [`rabbitmq::server`](#rabbitmqserver): Class: rabbitmq::server  This module manages the installation and config of the rabbitmq server   it has only been tested on certain version 
17 * [`rabbitmq::service`](#rabbitmqservice): Class: rabbitmq::service    This class manages the rabbitmq server service itself.  Parameters:  Actions:  Requires:  Sample Usage:
18
19 **Resource types**
20
21 * [`rabbitmq_binding`](#rabbitmq_binding): Native type for managing rabbitmq bindings  rabbitmq_binding { 'binding 1':   ensure           => present,   source           => 'myexchange'
22 * [`rabbitmq_erlang_cookie`](#rabbitmq_erlang_cookie): Type to manage the rabbitmq erlang cookie securely  This is essentially a private type used by the rabbitmq::config class to manage the erlan
23 * [`rabbitmq_exchange`](#rabbitmq_exchange): Native type for managing rabbitmq exchanges
24 * [`rabbitmq_parameter`](#rabbitmq_parameter): Type for managing rabbitmq parameters
25 * [`rabbitmq_plugin`](#rabbitmq_plugin): manages rabbitmq plugins
26 * [`rabbitmq_policy`](#rabbitmq_policy): Type for managing rabbitmq policies
27 * [`rabbitmq_queue`](#rabbitmq_queue): Native type for managing rabbitmq queue
28 * [`rabbitmq_user`](#rabbitmq_user): Native type for managing rabbitmq users
29 * [`rabbitmq_user_permissions`](#rabbitmq_user_permissions): Type for managing rabbitmq user permissions
30 * [`rabbitmq_vhost`](#rabbitmq_vhost): Native type for managing rabbitmq vhosts
31
32 ## Classes
33
34 ### rabbitmq
35
36 rabbitmq
37
38  @param $loopback_users. default defined in param.pp. This option configures a list of users to allow access via the loopback interfaces
39
40 #### Examples
41
42 ##### Basic usage
43
44 ```puppet
45 include rabbitmq
46 ```
47
48 ##### rabbitmq class
49
50 ```puppet
51 class { 'rabbitmq':
52   service_manage    => false,
53   port              => '5672',
54   delete_guest_user => true,
55 }
56 ```
57
58 ##### Offline installation from local mirror:
59
60 ```puppet
61
62 class { 'rabbitmq':
63   key_content     => template('openstack/rabbit.pub.key'),
64   package_gpg_key => '/tmp/rabbit.pub.key',
65 }
66 ```
67
68 ##### Use external package key source for any (apt/rpm) package provider:
69
70 ```puppet
71 class { 'rabbitmq':
72   package_gpg_key => 'http://www.some_site.some_domain/some_key.pub.key',
73 }
74 ```
75
76 ##### To use RabbitMQ Environment Variables, use the parameters `environment_variables` e.g.:
77
78 ```puppet
79
80 class { 'rabbitmq':
81   port                  => '5672',
82   environment_variables => {
83     'NODENAME'    => 'node01',
84     'SERVICENAME' => 'RabbitMQ'
85   }
86 }
87 ```
88
89 ##### Change RabbitMQ Config Variables in rabbitmq.config:
90
91 ```puppet
92
93 class { 'rabbitmq':
94   port             => '5672',
95   config_variables => {
96     'hipe_compile' => true,
97     'frame_max'    => 131072,
98     'log_levels'   => "[{connection, info}]"
99   }
100 }
101 ```
102
103 ##### Change Erlang Kernel Config Variables in rabbitmq.config
104
105 ```puppet
106 class { 'rabbitmq':
107   port                    => '5672',
108   config_kernel_variables => {
109     'inet_dist_listen_min' => 9100,
110     'inet_dist_listen_max' => 9105,
111   }
112 }
113 ```
114
115 ##### Change Management Plugin Config Variables in rabbitmq.config
116
117 ```puppet
118 class { 'rabbitmq':
119   config_management_variables => {
120     'rates_mode' => 'basic',
121   }
122 }
123 ```
124
125 ##### Change Additional Config Variables in rabbitmq.config
126
127 ```puppet
128 class { 'rabbitmq':
129   config_additional_variables => {
130     'autocluster' => '[{consul_service, "rabbit"},{cluster_name, "rabbit"}]',
131     'foo'         => '[{bar, "baz"}]'
132   }
133 }
134 This will result in the following config appended to the config file:
135 {autocluster, [{consul_service, "rabbit"},{cluster_name, "rabbit"}]},
136  {foo, [{bar, "baz"}]}
137 (This is required for the [autocluster plugin](https://github.com/aweber/rabbitmq-autocluster)
138 ```
139
140 ##### Use RabbitMQ clustering facilities
141
142 ```puppet
143 class { 'rabbitmq':
144   config_cluster           => true,
145   cluster_nodes            => ['rabbit1', 'rabbit2'],
146   cluster_node_type        => 'ram',
147   erlang_cookie            => 'A_SECRET_COOKIE_STRING',
148   wipe_db_on_cookie_change => true,
149 }
150 ```
151
152 #### Parameters
153
154 The following parameters are available in the `rabbitmq` class.
155
156 ##### `admin_enable`
157
158 Data type: `Boolean`
159
160 If enabled sets up the management interface/plugin for RabbitMQ.
161
162 Default value: $rabbitmq::params::admin_enable
163
164 ##### `auth_backends`
165
166 Data type: `Optional[Array]`
167
168 An array specifying authorization/authentication backend to use. Single quotes should be placed around array entries, ex. ['{foo, baz}', 'baz'] Defaults to [rabbit_auth_backend_internal], and if using LDAP defaults to [rabbit_auth_backend_internal, rabbit_auth_backend_ldap].
169
170 Default value: `undef`
171
172 ##### `cluster_node_type`
173
174 Data type: `Enum['ram', 'disk', 'disc']`
175
176 Choose between disc and ram nodes.
177
178 Default value: $rabbitmq::params::cluster_node_type
179
180 ##### `cluster_nodes`
181
182 Data type: `Array`
183
184 An array of nodes for clustering.
185
186 Default value: $rabbitmq::params::cluster_nodes
187
188 ##### `cluster_partition_handling`
189
190 Data type: `String`
191
192 Value to set for `cluster_partition_handling` RabbitMQ configuration variable.
193
194 Default value: $rabbitmq::params::cluster_partition_handling
195
196 ##### `collect_statistics_interval`
197
198 Data type: `Optional[Integer]`
199
200 Set the collect_statistics_interval in rabbitmq.config
201
202 Default value: `undef`
203
204 ##### `config`
205
206 Data type: `String`
207
208 The file to use as the rabbitmq.config template.
209
210 Default value: $rabbitmq::params::config
211
212 ##### `config_additional_variables`
213
214 Data type: `Hash`
215
216 Additional config variables in rabbitmq.config
217
218 Default value: $rabbitmq::params::config_additional_variables
219
220 ##### `config_cluster`
221
222 Data type: `Boolean`
223
224 Enable or disable clustering support.
225
226 Default value: $rabbitmq::params::config_cluster
227
228 ##### `config_kernel_variables`
229
230 Data type: `Hash`
231
232 Hash of Erlang kernel configuration variables to set (see [Variables Configurable in rabbitmq.config](#variables-configurable-in-rabbitmq.config)).
233
234 Default value: $rabbitmq::params::config_kernel_variables
235
236 ##### `config_path`
237
238 Data type: `Stdlib::Absolutepath`
239
240 The path to write the RabbitMQ configuration file to.
241
242 Default value: $rabbitmq::params::config_path
243
244 ##### `config_management_variables`
245
246 Data type: `Hash`
247
248 Hash of configuration variables for the [Management Plugin](https://www.rabbitmq.com/management.html).
249
250 Default value: $rabbitmq::params::config_management_variables
251
252 ##### `config_stomp`
253
254 Data type: `Boolean`
255
256 Enable or disable stomp.
257
258 Default value: $rabbitmq::params::config_stomp
259
260 ##### `config_shovel`
261
262 Data type: `Boolean`
263
264 Enable or disable shovel.
265
266 Default value: $rabbitmq::params::config_shovel
267
268 ##### `config_shovel_statics`
269
270 Data type: `Hash`
271
272 Hash of static shovel configurations
273
274 Default value: $rabbitmq::params::config_shovel_statics
275
276 ##### `config_variables`
277
278 Data type: `Hash`
279
280 To set config variables in rabbitmq.config
281
282 Default value: $rabbitmq::params::config_variables
283
284 ##### `default_user`
285
286 Data type: `String`
287
288 Username to set for the `default_user` in rabbitmq.config.
289
290 Default value: $rabbitmq::params::default_user
291
292 ##### `default_pass`
293
294 Data type: `String`
295
296 Password to set for the `default_user` in rabbitmq.config.
297
298 Default value: $rabbitmq::params::default_pass
299
300 ##### `delete_guest_user`
301
302 Data type: `Boolean`
303
304 Controls whether default guest user is deleted.
305
306 Default value: $rabbitmq::params::delete_guest_user
307
308 ##### `env_config`
309
310 Data type: `String`
311
312 The template file to use for rabbitmq_env.config.
313
314 Default value: $rabbitmq::params::env_config
315
316 ##### `env_config_path`
317
318 Data type: `Stdlib::Absolutepath`
319
320 The path to write the rabbitmq_env.config file to.
321
322 Default value: $rabbitmq::params::env_config_path
323
324 ##### `environment_variables`
325
326 Data type: `Hash`
327
328 RabbitMQ Environment Variables in rabbitmq_env.config
329
330 Default value: $rabbitmq::params::environment_variables
331
332 ##### `erlang_cookie`
333
334 Data type: `Optional[String]`
335
336 The erlang cookie to use for clustering - must be the same between all nodes. This value has no default and must be
337 set explicitly if using clustering. If you run Pacemaker and you don't want to use RabbitMQ buildin cluster, you can set config_cluster
338 to 'False' and set 'erlang_cookie'.
339
340 Default value: `undef`
341
342 ##### `file_limit`
343
344 Data type: `Variant[Integer[-1],Enum['unlimited'],Pattern[/^(infinity|\d+(:(infinity|\d+))?)$/]]`
345
346 Set rabbitmq file ulimit. Defaults to 16384. Only available on systems with `$::osfamily == 'Debian'` or
347 `$::osfamily == 'RedHat'`.
348
349 Default value: $rabbitmq::params::file_limit
350
351 ##### `heartbeat`
352
353 Data type: `Optional[Integer]`
354
355 Set the heartbeat timeout interval, default is unset which uses the builtin server defaults of 60 seconds. Setting this
356
357 Default value: `undef`
358
359 ##### `inetrc_config`
360
361 Data type: `String`
362
363 Template to use for the inetrc config
364
365 Default value: $rabbitmq::params::inetrc_config
366
367 ##### `inetrc_config_path`
368
369 Data type: `Stdlib::Absolutepath`
370
371 Path of the file to push the inetrc config to.
372
373 Default value: $rabbitmq::params::inetrc_config_path
374
375 ##### `ipv6`
376
377 Data type: `Boolean`
378
379 Whether to listen on ipv6
380
381 Default value: $rabbitmq::params::ipv6
382
383 ##### `interface`
384
385 Data type: `Optional[String]`
386
387 Interface to bind to (sets tcp_listeners parameter). By default, bind to all interfaces
388 to `0` will disable heartbeats.
389
390 Default value: `undef`
391
392 ##### `key_content`
393
394 Data type: `Optional[String]`
395
396 Uses content method for Debian OS family. Should be a template for apt::source class. Overrides `package_gpg_key`
397 behavior, if enabled. Undefined by default.
398
399 Default value: `undef`
400
401 ##### `ldap_auth`
402
403 Data type: `Boolean`
404
405 Set to true to enable LDAP auth.
406
407 Default value: $rabbitmq::params::ldap_auth
408
409 ##### `ldap_server`
410
411 Data type: `String`
412
413 LDAP server to use for auth.
414
415 Default value: $rabbitmq::params::ldap_server
416
417 ##### `ldap_user_dn_pattern`
418
419 Data type: `Optional[String]`
420
421 User DN pattern for LDAP auth.
422
423 Default value: $rabbitmq::params::ldap_user_dn_pattern
424
425 ##### `ldap_other_bind`
426
427 Data type: `String`
428
429 How to bind to the LDAP server. Defaults to 'anon'.
430
431 Default value: $rabbitmq::params::ldap_other_bind
432
433 ##### `ldap_config_variables`
434
435 Data type: `Hash`
436
437 Hash of other LDAP config variables.
438
439 Default value: $rabbitmq::params::ldap_config_variables
440
441 ##### `ldap_use_ssl`
442
443 Data type: `Boolean`
444
445 Set to true to use SSL for the LDAP server.
446
447 Default value: $rabbitmq::params::ldap_use_ssl
448
449 ##### `ldap_port`
450
451 Data type: `Integer[1, 65535]`
452
453 Numeric port for LDAP server.
454
455 Default value: $rabbitmq::params::ldap_port
456
457 ##### `ldap_log`
458
459 Data type: `Boolean`
460
461 Set to true to log LDAP auth.
462
463 Default value: $rabbitmq::params::ldap_log
464
465 ##### `manage_python`
466
467 Data type: `Boolean`
468
469 If enabled, on platforms that don't provide a Python 2 package by default, ensure that the python package is
470 installed (for rabbitmqadmin). This will only apply if `admin_enable` and `service_manage` are set.
471
472 Default value: $rabbitmq::params::manage_python
473
474 ##### `management_hostname`
475
476 Data type: `Optional[String]`
477
478 The hostname for the RabbitMQ management interface.
479
480 Default value: `undef`
481
482 ##### `management_port`
483
484 Data type: `Integer[1, 65535]`
485
486 The port for the RabbitMQ management interface.
487
488 Default value: $rabbitmq::params::management_port
489
490 ##### `management_ip_address`
491
492 Data type: `Optional[String]`
493
494 Allows you to set the IP for management interface to bind to separately. Set to 127.0.0.1 to bind to
495 localhost only, or 0.0.0.0 to bind to all interfaces.
496
497 Default value: `undef`
498
499 ##### `management_ssl`
500
501 Data type: `Boolean`
502
503 Enable/Disable SSL for the management port. Has an effect only if ssl => true.
504
505 Default value: $rabbitmq::params::management_ssl
506
507 ##### `node_ip_address`
508
509 Data type: `Optional[String]`
510
511 Allows you to set the IP for RabbitMQ service to bind to. Set to 127.0.0.1 to bind to localhost only, or 0.0.0.0
512 to bind to all interfaces.
513
514 Default value: `undef`
515
516 ##### `package_apt_pin`
517
518 Data type: `Optional[Variant[Numeric, String]]`
519
520 Whether to pin the package to a particular source
521
522 Default value: `undef`
523
524 ##### `package_ensure`
525
526 Data type: `String`
527
528 Determines the ensure state of the package.  Set to installed by default, but could be changed to latest.
529
530 Default value: $rabbitmq::params::package_ensure
531
532 ##### `package_gpg_key`
533
534 Data type: `Optional[String]`
535
536 RPM package GPG key to import. Uses source method. Should be a URL for Debian/RedHat OS family, or a file name for
537 RedHat OS family. Set to https://packagecloud.io/gpg.key by default. Note, that `key_content`, if specified, would override this
538 parameter for Debian OS family.
539
540 Default value: $rabbitmq::params::package_gpg_key
541
542 ##### `package_name`
543
544 Data type: `Variant[String, Array]`
545
546 Name(s) of the package(s) to install
547
548 Default value: $rabbitmq::params::package_name
549
550 ##### `port`
551
552 Data type: `Integer`
553
554 The RabbitMQ port.
555
556 Default value: $rabbitmq::params::port
557
558 ##### `repos_ensure`
559
560 Data type: `Boolean`
561
562 Ensure that a repo with the official (and newer) RabbitMQ package is configured, along with its signing key.
563 Defaults to false (use system packages). This does not ensure that soft dependencies (like EPEL on RHEL systems) are present.
564
565 Default value: $rabbitmq::params::repos_ensure
566
567 ##### `service_ensure`
568
569 Data type: `Enum['running', 'stopped']`
570
571 The state of the service.
572
573 Default value: $rabbitmq::params::service_ensure
574
575 ##### `service_manage`
576
577 Data type: `Boolean`
578
579 Determines if the service is managed.
580
581 Default value: $rabbitmq::params::service_manage
582
583 ##### `service_name`
584
585 Data type: `String`
586
587 The name of the service to manage.
588
589 Default value: $rabbitmq::params::service_name
590
591 ##### `ssl`
592
593 Data type: `Boolean`
594
595 Configures the service for using SSL.
596 port => UNSET
597
598 Default value: $rabbitmq::params::ssl
599
600 ##### `ssl_cacert`
601
602 Data type: `Optional[Stdlib::Absolutepath]`
603
604 CA cert path to use for SSL.
605
606 Default value: `undef`
607
608 ##### `ssl_cert`
609
610 Data type: `Optional[Stdlib::Absolutepath]`
611
612 Cert to use for SSL.
613
614 Default value: `undef`
615
616 ##### `ssl_cert_password`
617
618 Data type: `Optional[String]`
619
620 Password used when generating CSR.
621
622 Default value: `undef`
623
624 ##### `ssl_depth`
625
626 Data type: `Optional[Integer]`
627
628 SSL verification depth.
629
630 Default value: `undef`
631
632 ##### `ssl_dhfile`
633
634 Data type: `Optional[Stdlib::Absolutepath]`
635
636 Use this dhparam file [example: generate with `openssl dhparam -out /etc/rabbitmq/ssl/dhparam.pem 2048`
637
638 Default value: `undef`
639
640 ##### `ssl_erl_dist`
641
642 Data type: `Boolean`
643
644 Whether to use the erlang package's SSL (relies on the ssl_erl_path fact)
645
646 Default value: $rabbitmq::params::ssl_erl_dist
647
648 ##### `ssl_honor_cipher_order`
649
650 Data type: `Boolean`
651
652 Force use of server cipher order
653
654 Default value: $rabbitmq::params::ssl_honor_cipher_order
655
656 ##### `ssl_interface`
657
658 Data type: `Optional[String]`
659
660 Interface for SSL listener to bind to
661
662 Default value: `undef`
663
664 ##### `ssl_key`
665
666 Data type: `Optional[Stdlib::Absolutepath]`
667
668 Key to use for SSL.
669
670 Default value: `undef`
671
672 ##### `ssl_only`
673
674 Data type: `Boolean`
675
676 Configures the service to only use SSL.  No cleartext TCP listeners will be created. Requires that ssl => true and
677
678 Default value: $rabbitmq::params::ssl_only
679
680 ##### `ssl_management_port`
681
682 Data type: `Integer[1, 65535]`
683
684 SSL management port.
685
686 Default value: $rabbitmq::params::ssl_management_port
687
688 ##### `ssl_port`
689
690 Data type: `Integer[1, 65535]`
691
692 SSL port for RabbitMQ
693
694 Default value: $rabbitmq::params::ssl_port
695
696 ##### `ssl_reuse_sessions`
697
698 Data type: `Boolean`
699
700 Reuse ssl sessions
701
702 Default value: $rabbitmq::params::ssl_reuse_sessions
703
704 ##### `ssl_secure_renegotiate`
705
706 Data type: `Boolean`
707
708 Use ssl secure renegotiate
709
710 Default value: $rabbitmq::params::ssl_secure_renegotiate
711
712 ##### `ssl_stomp_port`
713
714 Data type: `Integer[1, 65535]`
715
716 SSL stomp port.
717
718 Default value: $rabbitmq::params::ssl_stomp_port
719
720 ##### `ssl_verify`
721
722 Data type: `Enum['verify_none','verify_peer']`
723
724 rabbitmq.config SSL verify setting.
725
726 Default value: $rabbitmq::params::ssl_verify
727
728 ##### `ssl_fail_if_no_peer_cert`
729
730 Data type: `Boolean`
731
732 rabbitmq.config `fail_if_no_peer_cert` setting.
733
734 Default value: $rabbitmq::params::ssl_fail_if_no_peer_cert
735
736 ##### `ssl_management_verify`
737
738 Data type: `Enum['verify_none','verify_peer']`
739
740 rabbitmq.config SSL verify setting for rabbitmq_management.
741
742 Default value: $rabbitmq::params::ssl_management_verify
743
744 ##### `ssl_manaagement_fail_if_no_peer_cert`
745
746 rabbitmq.config `fail_if_no_peer_cert` setting for rabbitmq_management.
747
748 ##### `ssl_versions`
749
750 Data type: `Optional[Array]`
751
752 Choose which SSL versions to enable. Example: `['tlsv1.2', 'tlsv1.1']` Note that it is recommended to disable `sslv3
753 and `tlsv1` to prevent against POODLE and BEAST attacks. Please see the [RabbitMQ SSL](https://www.rabbitmq.com/ssl.html) documentation
754 for more information.
755
756 Default value: `undef`
757
758 ##### `ssl_ciphers`
759
760 Data type: `Array`
761
762 Support only a given list of SSL ciphers. Example: `['dhe_rsa,aes_256_cbc,sha','dhe_dss,aes_256_cbc,sha',
763 'ecdhe_rsa,aes_256_cbc,sha']`. Supported ciphers in your install can be listed with: rabbitmqctl eval 'ssl:cipher_suites().'
764 Functionality can be tested with cipherscan or similar tool: https://github.com/jvehent/cipherscan.git
765
766 Default value: $rabbitmq::params::ssl_ciphers
767
768 ##### `stomp_port`
769
770 Data type: `Integer[1, 65535]`
771
772 The port to use for Stomp.
773
774 Default value: $rabbitmq::params::stomp_port
775
776 ##### `stomp_ssl_only`
777
778 Data type: `Boolean`
779
780 Configures STOMP to only use SSL.  No cleartext STOMP TCP listeners will be created. Requires setting
781 ssl_stomp_port also.
782
783 Default value: $rabbitmq::params::stomp_ssl_only
784
785 ##### `stomp_ensure`
786
787 Data type: `Boolean`
788
789 Enable to install the stomp plugin.
790
791 Default value: $rabbitmq::params::stomp_ensure
792
793 ##### `tcp_backlog`
794
795 Data type: `Integer`
796
797 The size of the backlog on TCP connections.
798
799 Default value: $rabbitmq::params::tcp_backlog
800
801 ##### `tcp_keepalive`
802
803 Data type: `Boolean`
804
805 Enable TCP connection keepalive for RabbitMQ service.
806
807 Default value: $rabbitmq::params::tcp_keepalive
808
809 ##### `tcp_recbuf`
810
811 Data type: `Optional[Integer]`
812
813 Corresponds to recbuf in RabbitMQ `tcp_listen_options`
814
815 Default value: `undef`
816
817 ##### `tcp_sndbuf`
818
819 Data type: `Optional[Integer]`
820
821 Integer, corresponds to sndbuf in RabbitMQ `tcp_listen_options`
822
823 Default value: `undef`
824
825 ##### `wipe_db_on_cookie_change`
826
827 Data type: `Boolean`
828
829 Boolean to determine if we should DESTROY AND DELETE the RabbitMQ database.
830
831 Default value: $rabbitmq::params::wipe_db_on_cookie_change
832
833 ##### `rabbitmq_user`
834
835 Data type: `String`
836
837 OS dependent, default defined in param.pp. The system user the rabbitmq daemon runs as.
838
839 Default value: $rabbitmq::params::rabbitmq_user
840
841 ##### `rabbitmq_group`
842
843 Data type: `String`
844
845 OS dependent, default defined in param.pp. The system group the rabbitmq daemon runs as.
846
847 Default value: $rabbitmq::params::rabbitmq_group
848
849 ##### `rabbitmq_home`
850
851 Data type: `Stdlib::Absolutepath`
852
853 OS dependent. default defined in param.pp. The home directory of the rabbitmq deamon.
854
855 Default value: $rabbitmq::params::rabbitmq_home
856
857 ##### `$rabbitmqadmin_package`
858
859 OS dependent. default defined in param.pp. If undef: install rabbitmqadmin via archive, otherwise via package
860
861 ##### `$archive_options.`
862
863 default defined in param.pp.  Extra options to Archive resource to download rabbitmqadmin file
864
865 ##### `config_ranch`
866
867 Data type: `Boolean`
868
869
870
871 Default value: $rabbitmq::params::config_ranch
872
873 ##### `package_source`
874
875 Data type: `Optional[String]`
876
877
878
879 Default value: `undef`
880
881 ##### `package_provider`
882
883 Data type: `Optional[String]`
884
885
886
887 Default value: `undef`
888
889 ##### `ssl_management_fail_if_no_peer_cert`
890
891 Data type: `Boolean`
892
893
894
895 Default value: $rabbitmq::params::ssl_management_fail_if_no_peer_cert
896
897 ##### `rabbitmqadmin_package`
898
899 Data type: `Optional[String]`
900
901
902
903 Default value: $rabbitmq::params::rabbitmqadmin_package
904
905 ##### `archive_options`
906
907 Data type: `Array`
908
909
910
911 Default value: $rabbitmq::params::archive_options
912
913 ##### `loopback_users`
914
915 Data type: `Array`
916
917
918
919 Default value: $rabbitmq::params::loopback_users
920
921 ### rabbitmq::config
922
923 Class: rabbitmq::config
924 Sets all the configuration values for RabbitMQ and creates the directories for
925 config and ssl.
926
927 ### rabbitmq::install
928
929 Class rabbitmq::install
930 Ensures that rabbitmq-server exists
931
932 ### rabbitmq::install::rabbitmqadmin
933
934 The rabbitmq::install::rabbitmqadmin class.
935
936 ### rabbitmq::management
937
938 The rabbitmq::management class.
939
940 ### rabbitmq::params
941
942 rabbitmq::params
943
944 ### rabbitmq::repo::apt
945
946 requires
947   puppetlabs-apt
948   puppetlabs-stdlib
949
950 #### Parameters
951
952 The following parameters are available in the `rabbitmq::repo::apt` class.
953
954 ##### `location`
955
956 Data type: `String`
957
958
959
960 Default value: 'https://packagecloud.io/rabbitmq/rabbitmq-server'
961
962 ##### `repos`
963
964 Data type: `String`
965
966
967
968 Default value: 'main'
969
970 ##### `include_src`
971
972 Data type: `Boolean`
973
974
975
976 Default value: `false`
977
978 ##### `key`
979
980 Data type: `String`
981
982
983
984 Default value: '418A7F2FB0E1E6E7EABF6FE8C2E73424D59097AB'
985
986 ##### `key_source`
987
988 Data type: `String`
989
990
991
992 Default value: $rabbitmq::package_gpg_key
993
994 ##### `key_content`
995
996 Data type: `Optional[String]`
997
998
999
1000 Default value: $rabbitmq::key_content
1001
1002 ##### `architecture`
1003
1004 Data type: `Optional[String]`
1005
1006
1007
1008 Default value: `undef`
1009
1010 ### rabbitmq::repo::rhel
1011
1012 Class: rabbitmq::repo::rhel
1013 Makes sure that the Packagecloud repo is installed
1014
1015 #### Parameters
1016
1017 The following parameters are available in the `rabbitmq::repo::rhel` class.
1018
1019 ##### `location`
1020
1021 Data type: `Any`
1022
1023
1024
1025 Default value: "https://packagecloud.io/rabbitmq/rabbitmq-server/el/${facts['os'][release][major]}/\$basearch"
1026
1027 ##### `key_source`
1028
1029 Data type: `String`
1030
1031
1032
1033 Default value: $rabbitmq::package_gpg_key
1034
1035 ### rabbitmq::server
1036
1037 Class: rabbitmq::server
1038
1039 This module manages the installation and config of the rabbitmq server
1040   it has only been tested on certain version of debian-ish systems
1041 Parameters:
1042  [*port*] - port where rabbitmq server is hosted
1043  [*delete_guest_user*] - rather or not to delete the default user
1044  [*version*] - deprecated -- does nothing
1045  [*package_name*] - name of rabbitmq package
1046  [*service_name*] - name of rabbitmq service
1047  [*service_ensure*] - desired ensure state for service
1048  [*stomp_port*] - port stomp should be listening on
1049  [*node_ip_address*] - ip address for rabbitmq to bind to
1050  [*config*] - contents of config file
1051  [*env_config*] - contents of env-config file
1052  [*config_cluster*] - whether to configure a RabbitMQ cluster
1053  [*cluster_nodes*] - which nodes to cluster with (including the current one)
1054  [*cluster_node_type*] - Type of cluster node (disc/disk or ram)
1055  [*erlang_cookie*] - erlang cookie, must be the same for all nodes in a cluster
1056  [*wipe_db_on_cookie_change*] - whether to wipe the RabbitMQ data if the specified
1057    erlang_cookie differs from the current one. This is a sad parameter: actually,
1058    if the cookie indeed differs, then wiping the database is the *only* thing you
1059    can do. You're only required to set this parameter to true as a sign that you
1060    realise this.
1061 Requires:
1062  stdlib
1063 Sample Usage:
1064
1065 This module is used as backward compability layer for modules
1066 which require rabbitmq::server instead of rabbitmq class.
1067 It's still common uasge in many modules.
1068
1069
1070 [Remember: No empty lines between comments and class definition]
1071
1072 #### Parameters
1073
1074 The following parameters are available in the `rabbitmq::server` class.
1075
1076 ##### `port`
1077
1078 Data type: `Any`
1079
1080
1081
1082 Default value: $rabbitmq::params::port
1083
1084 ##### `delete_guest_user`
1085
1086 Data type: `Any`
1087
1088
1089
1090 Default value: $rabbitmq::params::delete_guest_user
1091
1092 ##### `package_name`
1093
1094 Data type: `Any`
1095
1096
1097
1098 Default value: $rabbitmq::params::package_name
1099
1100 ##### `service_name`
1101
1102 Data type: `Any`
1103
1104
1105
1106 Default value: $rabbitmq::params::service_name
1107
1108 ##### `service_ensure`
1109
1110 Data type: `Any`
1111
1112
1113
1114 Default value: $rabbitmq::params::service_ensure
1115
1116 ##### `service_manage`
1117
1118 Data type: `Any`
1119
1120
1121
1122 Default value: $rabbitmq::params::service_manage
1123
1124 ##### `config_stomp`
1125
1126 Data type: `Any`
1127
1128
1129
1130 Default value: $rabbitmq::params::config_stomp
1131
1132 ##### `stomp_port`
1133
1134 Data type: `Any`
1135
1136
1137
1138 Default value: $rabbitmq::params::stomp_port
1139
1140 ##### `config_cluster`
1141
1142 Data type: `Any`
1143
1144
1145
1146 Default value: $rabbitmq::params::config_cluster
1147
1148 ##### `cluster_nodes`
1149
1150 Data type: `Any`
1151
1152
1153
1154 Default value: $rabbitmq::params::cluster_nodes
1155
1156 ##### `cluster_node_type`
1157
1158 Data type: `Any`
1159
1160
1161
1162 Default value: $rabbitmq::params::cluster_node_type
1163
1164 ##### `node_ip_address`
1165
1166 Data type: `Any`
1167
1168
1169
1170 Default value: $rabbitmq::params::node_ip_address
1171
1172 ##### `config`
1173
1174 Data type: `Any`
1175
1176
1177
1178 Default value: $rabbitmq::params::config
1179
1180 ##### `env_config`
1181
1182 Data type: `Any`
1183
1184
1185
1186 Default value: $rabbitmq::params::env_config
1187
1188 ##### `erlang_cookie`
1189
1190 Data type: `Any`
1191
1192
1193
1194 Default value: $rabbitmq::params::erlang_cookie
1195
1196 ##### `wipe_db_on_cookie_change`
1197
1198 Data type: `Any`
1199
1200
1201
1202 Default value: $rabbitmq::params::wipe_db_on_cookie_change
1203
1204 ### rabbitmq::service
1205
1206 Class: rabbitmq::service
1207
1208   This class manages the rabbitmq server service itself.
1209
1210 Parameters:
1211
1212 Actions:
1213
1214 Requires:
1215
1216 Sample Usage:
1217
1218 #### Parameters
1219
1220 The following parameters are available in the `rabbitmq::service` class.
1221
1222 ##### `service_ensure`
1223
1224 Data type: `Enum['running', 'stopped']`
1225
1226
1227
1228 Default value: $rabbitmq::service_ensure
1229
1230 ##### `service_manage`
1231
1232 Data type: `Boolean`
1233
1234
1235
1236 Default value: $rabbitmq::service_manage
1237
1238 ##### `service_name`
1239
1240 Data type: `Any`
1241
1242
1243
1244 Default value: $rabbitmq::service_name
1245
1246 ## Resource types
1247
1248 ### rabbitmq_binding
1249
1250 Native type for managing rabbitmq bindings
1251
1252 rabbitmq_binding { 'binding 1':
1253   ensure           => present,
1254   source           => 'myexchange',
1255   destination      => 'myqueue',
1256   vhost            => 'myvhost',
1257   user             => 'dan',
1258   password         => 'bar',
1259   destination_type => 'queue',
1260   routing_key      => 'key1',
1261   arguments        => {},
1262 }
1263
1264 rabbitmq_binding { 'binding 2':
1265   ensure           => present,
1266   source           => 'myexchange',
1267   destination      => 'myqueue',
1268   vhost            => 'myvhost',
1269   user             => 'dan',
1270   password         => 'bar',
1271   destination_type => 'queue',
1272   routing_key      => 'key2',
1273   arguments        => {},
1274 }
1275
1276 #### Examples
1277
1278 ##### Create a rabbitmq_binding
1279
1280 ```puppet
1281 rabbitmq_binding { 'myexchange@myqueue@myvhost':
1282   user             => 'dan',
1283   password         => 'bar',
1284   destination_type => 'queue',
1285   routing_key      => '#',
1286   arguments        => {},
1287   ensure           => present,
1288 }
1289 ```
1290
1291 ##### Create bindings with same source / destination / vhost but different routing key using individual parameters
1292
1293 ```puppet
1294
1295 ```
1296
1297 #### Properties
1298
1299 The following properties are available in the `rabbitmq_binding` type.
1300
1301 ##### `ensure`
1302
1303 Valid values: present, absent
1304
1305 The basic property that the resource should be in.
1306
1307 Default value: present
1308
1309 ##### `source`
1310
1311 Valid values: %r{^\S+$}
1312
1313 namevar
1314
1315 source of binding
1316
1317 ##### `destination`
1318
1319 Valid values: %r{^\S+$}
1320
1321 namevar
1322
1323 destination of binding
1324
1325 ##### `vhost`
1326
1327 Valid values: %r{^\S+$}
1328
1329 namevar
1330
1331 vhost
1332
1333 Default value: /
1334
1335 ##### `routing_key`
1336
1337 Valid values: %r{^\S*$}
1338
1339 namevar
1340
1341 binding routing_key
1342
1343 ##### `destination_type`
1344
1345 Valid values: %r{queue|exchange}
1346
1347 binding destination_type
1348
1349 Default value: queue
1350
1351 ##### `arguments`
1352
1353 binding arguments
1354
1355 #### Parameters
1356
1357 The following parameters are available in the `rabbitmq_binding` type.
1358
1359 ##### `name`
1360
1361 namevar
1362
1363 resource name, either source@destination@vhost or arbitrary name with params
1364
1365 ##### `user`
1366
1367 Valid values: %r{^\S+$}
1368
1369 The user to use to connect to rabbitmq
1370
1371 Default value: guest
1372
1373 ##### `password`
1374
1375 Valid values: %r{\S+}
1376
1377 The password to use to connect to rabbitmq
1378
1379 Default value: guest
1380
1381 ### rabbitmq_erlang_cookie
1382
1383 Type to manage the rabbitmq erlang cookie securely
1384
1385 This is essentially a private type used by the rabbitmq::config class
1386 to manage the erlang cookie. It replaces the rabbitmq_erlang_cookie fact
1387 from earlier versions of this module. It manages the content of the cookie
1388 usually located at "${rabbitmq_home}/.erlang.cookie", which includes
1389 stopping the rabbitmq service and wiping out the database at
1390 "${rabbitmq_home}/mnesia" if the user agrees to it. We don't recommend using
1391 this type directly.
1392
1393 #### Properties
1394
1395 The following properties are available in the `rabbitmq_erlang_cookie` type.
1396
1397 ##### `content`
1398
1399 Valid values: %r{^\S+$}
1400
1401 Content of cookie
1402
1403 #### Parameters
1404
1405 The following parameters are available in the `rabbitmq_erlang_cookie` type.
1406
1407 ##### `path`
1408
1409
1410
1411 ##### `force`
1412
1413 Valid values: `true`, `false`
1414
1415
1416
1417 Default value: `false`
1418
1419 ##### `rabbitmq_user`
1420
1421
1422
1423 Default value: rabbitmq
1424
1425 ##### `rabbitmq_group`
1426
1427
1428
1429 Default value: rabbitmq
1430
1431 ##### `rabbitmq_home`
1432
1433
1434
1435 Default value: /var/lib/rabbitmq
1436
1437 ##### `service_name`
1438
1439 Valid values: %r{^\S+$}
1440
1441
1442
1443 ### rabbitmq_exchange
1444
1445 Native type for managing rabbitmq exchanges
1446
1447 #### Examples
1448
1449 ##### Create a rabbitmq_exchange
1450
1451 ```puppet
1452 rabbitmq_exchange { 'myexchange@myvhost':
1453   user        => 'dan',
1454   password    => 'bar',
1455   type        => 'topic',
1456   ensure      => present,
1457   internal    => false,
1458   auto_delete => false,
1459   durable     => true,
1460   arguments   => {
1461     hash-header => 'message-distribution-hash'
1462   }
1463 }
1464 ```
1465
1466 #### Properties
1467
1468 The following properties are available in the `rabbitmq_exchange` type.
1469
1470 ##### `ensure`
1471
1472 Valid values: present, absent
1473
1474 The basic property that the resource should be in.
1475
1476 Default value: present
1477
1478 #### Parameters
1479
1480 The following parameters are available in the `rabbitmq_exchange` type.
1481
1482 ##### `name`
1483
1484 Valid values: %r{^\S*@\S+$}
1485
1486 namevar
1487
1488 Name of exchange
1489
1490 ##### `type`
1491
1492 Valid values: %r{^\S+$}
1493
1494 Exchange type to be set *on creation*
1495
1496 ##### `durable`
1497
1498 Valid values: %r{^\S+$}
1499
1500 Exchange durability to be set *on creation*
1501
1502 Default value: `false`
1503
1504 ##### `auto_delete`
1505
1506 Valid values: %r{^\S+$}
1507
1508 Exchange auto delete option to be set *on creation*
1509
1510 Default value: `false`
1511
1512 ##### `internal`
1513
1514 Valid values: %r{^\S+$}
1515
1516 Exchange internal option to be set *on creation*
1517
1518 Default value: `false`
1519
1520 ##### `arguments`
1521
1522 Exchange arguments example: {"hash-header": "message-distribution-hash"}
1523
1524 ##### `user`
1525
1526 Valid values: %r{^\S+$}
1527
1528 The user to use to connect to rabbitmq
1529
1530 Default value: guest
1531
1532 ##### `password`
1533
1534 Valid values: %r{\S+}
1535
1536 The password to use to connect to rabbitmq
1537
1538 Default value: guest
1539
1540 ### rabbitmq_parameter
1541
1542 Type for managing rabbitmq parameters
1543
1544 #### Examples
1545
1546 ##### Create some rabbitmq_parameter resources
1547
1548 ```puppet
1549 rabbitmq_parameter { 'documentumShovel@/':
1550   component_name => '',
1551   value          => {
1552       'src-uri'    => 'amqp://',
1553       'src-queue'  => 'my-queue',
1554       'dest-uri'   => 'amqp://remote-server',
1555       'dest-queue' => 'another-queue',
1556   },
1557 }
1558 rabbitmq_parameter { 'documentumFed@/':
1559   component_name => 'federation-upstream',
1560   value          => {
1561       'uri'     => 'amqp://myserver',
1562       'expires' => '360000',
1563   },
1564 }
1565 ```
1566
1567 #### Properties
1568
1569 The following properties are available in the `rabbitmq_parameter` type.
1570
1571 ##### `ensure`
1572
1573 Valid values: present, absent
1574
1575 The basic property that the resource should be in.
1576
1577 Default value: present
1578
1579 ##### `component_name`
1580
1581 The component_name to use when setting parameter, eg: shovel or federation
1582
1583 ##### `value`
1584
1585 A hash of values to use with the component name you are setting
1586
1587 #### Parameters
1588
1589 The following parameters are available in the `rabbitmq_parameter` type.
1590
1591 ##### `name`
1592
1593 Valid values: %r{^\S+@\S+$}
1594
1595 namevar
1596
1597 combination of name@vhost to set parameter for
1598
1599 ### rabbitmq_plugin
1600
1601 manages rabbitmq plugins
1602
1603 #### Examples
1604
1605 ##### query all currently enabled plugins
1606
1607 ```puppet
1608 $ puppet resource rabbitmq_plugin
1609 ```
1610
1611 ##### Ensure a rabbitmq_plugin resource
1612
1613 ```puppet
1614 rabbitmq_plugin {'rabbitmq_stomp':
1615   ensure => present,
1616 }
1617 ```
1618
1619 #### Properties
1620
1621 The following properties are available in the `rabbitmq_plugin` type.
1622
1623 ##### `ensure`
1624
1625 Valid values: present, absent
1626
1627 The basic property that the resource should be in.
1628
1629 Default value: present
1630
1631 #### Parameters
1632
1633 The following parameters are available in the `rabbitmq_plugin` type.
1634
1635 ##### `name`
1636
1637 Valid values: %r{^\S+$}
1638
1639 namevar
1640
1641 The name of the plugin to enable
1642
1643 ##### `umask`
1644
1645 Sets the octal umask to be used while creating this resource
1646
1647 Default value: 0022
1648
1649 ### rabbitmq_policy
1650
1651 Type for managing rabbitmq policies
1652
1653 #### Examples
1654
1655 ##### Create a rabbitmq_policy
1656
1657 ```puppet
1658 rabbitmq_policy { 'ha-all@myvhost':
1659   pattern    => '.*',
1660   priority   => 0,
1661   applyto    => 'all',
1662   definition => {
1663     'ha-mode'      => 'all',
1664     'ha-sync-mode' => 'automatic',
1665   },
1666 }
1667 ```
1668
1669 #### Properties
1670
1671 The following properties are available in the `rabbitmq_policy` type.
1672
1673 ##### `ensure`
1674
1675 Valid values: present, absent
1676
1677 The basic property that the resource should be in.
1678
1679 Default value: present
1680
1681 ##### `pattern`
1682
1683 policy pattern
1684
1685 ##### `applyto`
1686
1687 Valid values: all, exchanges, queues
1688
1689 policy apply to
1690
1691 Default value: all
1692
1693 ##### `definition`
1694
1695 policy definition
1696
1697 ##### `priority`
1698
1699 Valid values: %r{^\d+$}
1700
1701 policy priority
1702
1703 Default value: 0
1704
1705 #### Parameters
1706
1707 The following parameters are available in the `rabbitmq_policy` type.
1708
1709 ##### `name`
1710
1711 Valid values: %r{^\S+@\S+$}
1712
1713 namevar
1714
1715 combination of policy@vhost to create policy for
1716
1717 ### rabbitmq_queue
1718
1719 Native type for managing rabbitmq queue
1720
1721 #### Examples
1722
1723 ##### Create a rabbitmq_queue
1724
1725 ```puppet
1726 rabbitmq_queue { 'myqueue@myvhost':
1727   ensure      => present,
1728   user        => 'dan',
1729   password    => 'bar',
1730   durable     => true,
1731   auto_delete => false,
1732   arguments   => {
1733     x-message-ttl          => 123,
1734     x-dead-letter-exchange => 'other'
1735   },
1736 }
1737 ```
1738
1739 #### Properties
1740
1741 The following properties are available in the `rabbitmq_queue` type.
1742
1743 ##### `ensure`
1744
1745 Valid values: present, absent
1746
1747 The basic property that the resource should be in.
1748
1749 Default value: present
1750
1751 #### Parameters
1752
1753 The following parameters are available in the `rabbitmq_queue` type.
1754
1755 ##### `name`
1756
1757 Valid values: %r{^\S*@\S+$}
1758
1759 namevar
1760
1761 Name of queue
1762
1763 ##### `durable`
1764
1765 Valid values: %r{true|false}
1766
1767 Queue is durable
1768
1769 Default value: `true`
1770
1771 ##### `auto_delete`
1772
1773 Valid values: %r{true|false}
1774
1775 Queue will be auto deleted
1776
1777 Default value: `false`
1778
1779 ##### `arguments`
1780
1781 Queue arguments example: {x-message-ttl => 60, x-expires => 10}
1782
1783 ##### `user`
1784
1785 Valid values: %r{^\S+$}
1786
1787 The user to use to connect to rabbitmq
1788
1789 Default value: guest
1790
1791 ##### `password`
1792
1793 Valid values: %r{\S+}
1794
1795 The password to use to connect to rabbitmq
1796
1797 Default value: guest
1798
1799 ### rabbitmq_user
1800
1801 Native type for managing rabbitmq users
1802
1803 #### Examples
1804
1805 ##### query all current users
1806
1807 ```puppet
1808 $ puppet resource rabbitmq_user
1809 ```
1810
1811 ##### Configure a user, dan
1812
1813 ```puppet
1814 rabbitmq_user { 'dan':
1815   admin    => true,
1816   password => 'bar',
1817 }
1818 ```
1819
1820 ##### Optional parameter tags will set further rabbitmq tags like monitoring, policymaker, etc.
1821
1822 ```puppet
1823 To set the administrator tag use admin-flag.
1824 rabbitmq_user { 'dan':
1825   admin    => true,
1826   password => 'bar',
1827   tags     => ['monitoring', 'tag1'],
1828 }
1829 ```
1830
1831 #### Properties
1832
1833 The following properties are available in the `rabbitmq_user` type.
1834
1835 ##### `ensure`
1836
1837 Valid values: present, absent
1838
1839 The basic property that the resource should be in.
1840
1841 Default value: present
1842
1843 ##### `password`
1844
1845 User password to be set *on creation* and validated each run
1846
1847 ##### `admin`
1848
1849 Valid values: %r{true|false}
1850
1851 whether or not user should be an admin
1852
1853 Default value: false
1854
1855 ##### `tags`
1856
1857 additional tags for the user
1858
1859 Default value: []
1860
1861 #### Parameters
1862
1863 The following parameters are available in the `rabbitmq_user` type.
1864
1865 ##### `name`
1866
1867 Valid values: %r{^\S+$}
1868
1869 namevar
1870
1871 Name of user
1872
1873 ### rabbitmq_user_permissions
1874
1875 Type for managing rabbitmq user permissions
1876
1877 #### Examples
1878
1879 ##### Define some rabbitmq_user_permissions
1880
1881 ```puppet
1882 rabbitmq_user_permissions { 'dan@myvhost':
1883   configure_permission => '.*',
1884   read_permission      => '.*',
1885   write_permission     => '.*',
1886 }
1887 ```
1888
1889 #### Properties
1890
1891 The following properties are available in the `rabbitmq_user_permissions` type.
1892
1893 ##### `ensure`
1894
1895 Valid values: present, absent
1896
1897 The basic property that the resource should be in.
1898
1899 Default value: present
1900
1901 ##### `configure_permission`
1902
1903 regexp representing configuration permissions
1904
1905 ##### `read_permission`
1906
1907 regexp representing read permissions
1908
1909 ##### `write_permission`
1910
1911 regexp representing write permissions
1912
1913 #### Parameters
1914
1915 The following parameters are available in the `rabbitmq_user_permissions` type.
1916
1917 ##### `name`
1918
1919 Valid values: %r{^\S+@\S+$}
1920
1921 namevar
1922
1923 combination of user@vhost to grant privileges to
1924
1925 ### rabbitmq_vhost
1926
1927 Native type for managing rabbitmq vhosts
1928
1929 #### Examples
1930
1931 ##### query all current vhosts
1932
1933 ```puppet
1934 $ puppet resource rabbitmq_vhost`
1935 ```
1936
1937 ##### Create a rabbitmq_vhost
1938
1939 ```puppet
1940 rabbitmq_vhost { 'myvhost':
1941   ensure => present,
1942 }
1943 ```
1944
1945 #### Properties
1946
1947 The following properties are available in the `rabbitmq_vhost` type.
1948
1949 ##### `ensure`
1950
1951 Valid values: present, absent
1952
1953 The basic property that the resource should be in.
1954
1955 Default value: present
1956
1957 #### Parameters
1958
1959 The following parameters are available in the `rabbitmq_vhost` type.
1960
1961 ##### `name`
1962
1963 Valid values: %r{^\S+$}
1964
1965 namevar
1966
1967 The name of the vhost to add
1968