Puppet Class: wordpress::resource
- Defined in:
- manifests/resource.pp
Summary
download and manage resources aka plugins and themes.Overview
Note:
This class should be considered as private.
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 |
# File 'manifests/resource.pp', line 9
class wordpress::resource (
Pattern['^/'] $wpcli_bin,
Wordpress::Settings $settings = {},
) {
$settings.each | String $_wp_servername , Hash $_wp_configs | {
# use some defaults if not provided
$_owner = $_wp_configs['owner'] ? {
String => $_wp_configs['owner'],
default => $::wordpress::params::default_wpowner,
}
$_wp_resources = $_wp_configs['wpresources'] ? {
Hash => $_wp_configs['wpresources'],
default => {},
}
$_wp_root = $_wp_configs['wproot']
$_wp_resources.each | String $_wp_resource_type, Array $_wp_resource_list | {
$_wp_resource_list.each | Hash $_wp_resource_settings | {
$_wp_resource_ensure = $_wp_resource_settings['ensure'] ? {
Enum['present','absent','latest'] => $_wp_resource_settings['ensure'],
default => $::wordpress::params::default_wpresource_ensure,
}
$_wp_resource_name = $_wp_resource_settings['name']
case $_wp_resource_ensure {
'present': {
wordpress::resource::install { "${_wp_servername} > ${_wp_resource_type} ${_wp_resource_name}":
wp_servername => $_wp_servername,
wp_resource_type => $_wp_resource_type,
wp_resource_name => $_wp_resource_name,
wp_root => $_wp_root,
wpcli_bin => $wpcli_bin,
owner => $_owner,
}
->
wordpress::resource::activate { "${_wp_servername} > ${_wp_resource_type} ${_wp_resource_name}":
wp_servername => $_wp_servername,
wp_resource_type => $_wp_resource_type,
wp_resource_name => $_wp_resource_name,
wp_root => $_wp_root,
wpcli_bin => $wpcli_bin,
owner => $_owner,
}
}
'absent': {
wordpress::resource::uninstall { "${_wp_servername} > ${_wp_resource_type} ${_wp_resource_name}":
wp_servername => $_wp_servername,
wp_resource_type => $_wp_resource_type,
wp_resource_name => $_wp_resource_name,
wp_root => $_wp_root,
wpcli_bin => $wpcli_bin,
owner => $_owner,
}
}
'latest': {
if $::facts['wordpress'] and
has_key($::facts['wordpress'], $_wp_servername) and
has_key($::facts['wordpress']["${_wp_servername}"], $_wp_resource_type) and
has_key($::facts['wordpress']["${_wp_servername}"]["${_wp_resource_type}"], $_wp_resource_name) {
$_wp_resource_update_status = $::facts['wordpress']["${_wp_servername}"]["${_wp_resource_type}"]["${_wp_resource_name}"]['update']
if $_wp_resource_update_status == 'available' {
wordpress::resource::activate { "${_wp_servername} > ${_wp_resource_type} ${_wp_resource_name}":
wp_servername => $_wp_servername,
wp_resource_type => $_wp_resource_type,
wp_resource_name => $_wp_resource_name,
wp_root => $_wp_root,
wpcli_bin => $wpcli_bin,
owner => $_owner,
}
->
wordpress::resource::update { "${_wp_servername} > ${_wp_resource_type} ${_wp_resource_name}":
wp_servername => $_wp_servername,
wp_resource_type => $_wp_resource_type,
wp_resource_name => $_wp_resource_name,
wp_root => $_wp_root,
wpcli_bin => $wpcli_bin,
owner => $_owner,
}
} else {
wordpress::resource::activate { "${_wp_servername} > ${_wp_resource_type} ${_wp_resource_name}":
wp_servername => $_wp_servername,
wp_resource_type => $_wp_resource_type,
wp_resource_name => $_wp_resource_name,
wp_root => $_wp_root,
wpcli_bin => $wpcli_bin,
owner => $_owner,
}
}
} else {
wordpress::resource::install { "${_wp_servername} > ${_wp_resource_type} ${_wp_resource_name}":
wp_servername => $_wp_servername,
wp_resource_type => $_wp_resource_type,
wp_resource_name => $_wp_resource_name,
wp_root => $_wp_root,
wpcli_bin => $wpcli_bin,
owner => $_owner,
}
->
wordpress::resource::activate { "${_wp_servername} > ${_wp_resource_type} ${_wp_resource_name}":
wp_servername => $_wp_servername,
wp_resource_type => $_wp_resource_type,
wp_resource_name => $_wp_resource_name,
wp_root => $_wp_root,
wpcli_bin => $wpcli_bin,
owner => $_owner,
}
->
wordpress::resource::update { "${_wp_servername} > ${_wp_resource_type} ${_wp_resource_name}":
wp_servername => $_wp_servername,
wp_resource_type => $_wp_resource_type,
wp_resource_name => $_wp_resource_name,
wp_root => $_wp_root,
wpcli_bin => $wpcli_bin,
owner => $_owner,
}
}
}
default: {
fail("unexpected value must be <present|absent|latest>, got '${_wp_resource_ensure}'")
}
} # end of case statement
}
}
}
}
|