Переглянути джерело

Merge pull request #673 from kwolf/master

Add 'ensure' parameter to resource::upstream::member.
James Fryman 8 роки тому
батько
коміт
979f8227bf
1 змінених файлів з 12 додано та 0 видалено
  1. 12 0
      manifests/resource/upstream/member.pp

+ 12 - 0
manifests/resource/upstream/member.pp

@@ -9,6 +9,7 @@
 #
 #
 # Parameters:
+#   [*ensure*]                  - Enables or disables the specified member (present|absent)
 #   [*upstream*]                - The name of the upstream resource
 #   [*server*]                  - Hostname or IP of the upstream member server
 #   [*port*]                    - Port of the listening service on the upstream member
@@ -20,6 +21,7 @@
 #   Exporting the resource on a upstream member server:
 #
 #   @@nginx::resource::upstream::member { $::fqdn:
+#     ensure    => present,
 #     upstream  => 'proxypass',
 #     server    => $::ipaddress,
 #     port      => '3000',
@@ -35,12 +37,22 @@
 define nginx::resource::upstream::member (
   $upstream,
   $server,
+  $ensure                 = 'present',
   $port                   = '80',
   $upstream_fail_timeout  = '10s',
 ) {
 
+  validate_re($ensure, '^(present|absent)$',
+    "${ensure} is not supported for ensure. Allowed values are 'present' and 'absent'.")
+
+  $ensure_real = $ensure ? {
+    'absent' => absent,
+    default  => present,
+  }
+
   # Uses: $server, $port, $upstream_fail_timeout
   concat::fragment { "${upstream}_upstream_member_${name}":
+    ensure  => $ensure_real,
     target  => "${::nginx::config::conf_dir}/conf.d/${upstream}-upstream.conf",
     order   => 40,
     content => template('nginx/conf.d/upstream_member.erb'),