75b0b3d3b6
The policy_path parameter should be an absolute path because now this parameter is used to manage the policy file content. Change-Id: Ib2d41f57ab50ef225887bcad2457ffcc0911cd84
69 lines
1.7 KiB
Puppet
69 lines
1.7 KiB
Puppet
# == Define: openstacklib::policies
|
|
#
|
|
# This resource is an helper to call the policy definition
|
|
#
|
|
# == Parameters:
|
|
#
|
|
# [*policy_path*]
|
|
# (Optional) Path to the policy file. This should be an asbolute path.
|
|
# Defaults to $name
|
|
#
|
|
# [*policies*]
|
|
# (Optional) Set of policies to configure
|
|
#
|
|
# [*file_mode*]
|
|
# (Optional) Permission mode for the policy file
|
|
# Defaults to '0640'
|
|
#
|
|
# [*file_user*]
|
|
# (Optional) User for the policy file
|
|
# Defaults to undef
|
|
#
|
|
# [*file_group*]
|
|
# (Optional) Group for the policy file
|
|
# Defaults to undef
|
|
#
|
|
# [*file_format*]
|
|
# (Optional) Format for file contents. Valid values
|
|
# are 'json' or 'yaml'.
|
|
# Defaults to 'json'.
|
|
#
|
|
# [*purge_config*]
|
|
# (Optional) Whether to set only the specified policy rules in the policy
|
|
# file.
|
|
# Defaults to false.
|
|
#
|
|
define openstacklib::policy (
|
|
$policy_path = $name,
|
|
$policies = {},
|
|
$file_mode = '0640',
|
|
$file_user = undef,
|
|
$file_group = undef,
|
|
$file_format = 'json',
|
|
$purge_config = false,
|
|
) {
|
|
validate_legacy(Hash, 'validate_hash', $policies)
|
|
validate_legacy(Stdlib::Absolutepath, 'validate_absolute_path', $policy_path)
|
|
|
|
if empty($policies) {
|
|
create_resources('openstacklib::policy::default', { $policy_path => {
|
|
file_mode => $file_mode,
|
|
file_user => $file_user,
|
|
file_group => $file_group,
|
|
file_format => $file_format,
|
|
purge_config => $purge_config,
|
|
}})
|
|
} else {
|
|
$policy_defaults = {
|
|
file_path => $policy_path,
|
|
file_mode => $file_mode,
|
|
file_user => $file_user,
|
|
file_group => $file_group,
|
|
file_format => $file_format,
|
|
purge_config => $purge_config
|
|
}
|
|
|
|
create_resources('openstacklib::policy::base', $policies, $policy_defaults)
|
|
}
|
|
}
|