|
23 | 23 | # @author Gavin Williams <[email protected]> |
24 | 24 | # |
25 | 25 | define elasticsearch::user ( |
26 | | - String $password, |
27 | | - Enum['absent', 'present'] $ensure = 'present', |
28 | | - Array $roles = [], |
| 26 | + Optional[String] $password = undef, |
| 27 | + Enum['absent', 'present'] $ensure = 'present', |
| 28 | + Array $roles = [], |
29 | 29 | ) { |
30 | | - if $password =~ /^\$2a\$/ { |
31 | | - elasticsearch_user_file { $name: |
32 | | - ensure => $ensure, |
33 | | - configdir => $elasticsearch::configdir, |
34 | | - hashed_password => $password, |
35 | | - before => Elasticsearch_user_roles[$name], |
36 | | - } |
37 | | - } else { |
| 30 | + if $ensure == 'absent' { |
38 | 31 | elasticsearch_user { $name: |
39 | | - ensure => $ensure, |
| 32 | + ensure => 'absent', |
40 | 33 | configdir => $elasticsearch::configdir, |
41 | | - password => $password, |
42 | | - before => Elasticsearch_user_roles[$name], |
43 | 34 | } |
44 | 35 | } |
45 | | - |
| 36 | + else { |
| 37 | + if $password == undef { |
| 38 | + fail('elasticsearch::user: password must be provided when ensure => present') |
| 39 | + } |
| 40 | + if $password =~ /^\$2a\$/ { |
| 41 | + elasticsearch_user_file { $name: |
| 42 | + ensure => present, |
| 43 | + configdir => $elasticsearch::configdir, |
| 44 | + hashed_password => $password, |
| 45 | + before => Elasticsearch_user_roles[$name], |
| 46 | + } |
| 47 | + } else { |
| 48 | + elasticsearch_user { $name: |
| 49 | + ensure => present, |
| 50 | + configdir => $elasticsearch::configdir, |
| 51 | + password => $password, |
| 52 | + before => Elasticsearch_user_roles[$name], |
| 53 | + } |
| 54 | + } |
| 55 | + } |
46 | 56 | elasticsearch_user_roles { $name: |
47 | 57 | ensure => $ensure, |
48 | 58 | roles => $roles, |
49 | 59 | } |
50 | 60 | } |
| 61 | + |
0 commit comments