]> git.donarmstrong.com Git - dsa-puppet.git/blob - 3rdparty/modules/apache/manifests/balancermember.pp
add Openstack modules to 3rdparty
[dsa-puppet.git] / 3rdparty / modules / apache / manifests / balancermember.pp
1 # == Define Resource Type: apache::balancermember
2 #
3 # This type will setup a balancer member inside a listening service
4 # configuration block in /etc/apache/apache.cfg on the load balancer.
5 # currently it only has the ability to specify the instance name, url and an
6 # array of options. More features can be added as needed. The best way to
7 # implement this is to export this resource for all apache balancer member
8 # servers, and then collect them on the main apache load balancer.
9 #
10 # === Requirement/Dependencies:
11 #
12 # Currently requires the puppetlabs/concat module on the Puppet Forge and
13 # uses storeconfigs on the Puppet Master to export/collect resources
14 # from all balancer members.
15 #
16 # === Parameters
17 #
18 # [*name*]
19 # The title of the resource is arbitrary and only utilized in the concat
20 # fragment name.
21 #
22 # [*balancer_cluster*]
23 # The apache service's instance name (or, the title of the apache::balancer
24 # resource). This must match up with a declared apache::balancer resource.
25 #
26 # [*url*]
27 # The url used to contact the balancer member server.
28 #
29 # [*options*]
30 # An array of options to be specified after the url.
31 #
32 # === Examples
33 #
34 # Exporting the resource for a balancer member:
35 #
36 # @@apache::balancermember { 'apache':
37 #   balancer_cluster => 'puppet00',
38 #   url              => "ajp://${::fqdn}:8009"
39 #   options          => ['ping=5', 'disablereuse=on', 'retry=5', 'ttl=120'],
40 # }
41 #
42 define apache::balancermember(
43   $balancer_cluster,
44   $url = "http://${::fqdn}/",
45   $options = [],
46 ) {
47
48   concat::fragment { "BalancerMember ${name}":
49     ensure  => present,
50     target  => "${::apache::params::confd_dir}/balancer_${balancer_cluster}.conf",
51     content => inline_template(" BalancerMember ${url} <%= @options.join ' ' %>\n"),
52   }
53 }