You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
2.7 KiB
92 lines
2.7 KiB
# == Class: barbican::plugins::kmip |
|
# |
|
# Sets up Barbican API kmip secret_store plugin |
|
# |
|
# === Parameters |
|
# |
|
# [*kmip_plugin_host*] |
|
# (required) username for KMIP device |
|
# |
|
# [*kmip_plugin_port*] |
|
# (required) port for KMIP device |
|
# |
|
# [*kmip_plugin_username*] |
|
# (optional) username for KMIP device |
|
# Defaults to undef |
|
# |
|
# [*kmip_plugin_password*] |
|
# (optional) password for KMIP device. This parameter is required |
|
# when the kmip_plugin_username parameter is set. |
|
# Defaults to undef |
|
# |
|
# [*kmip_plugin_keyfile*] |
|
# (optional) key file for KMIP device. This parameter is required when |
|
# the kmip_plugin_username parameter is not set. |
|
# Defaults to undef |
|
# |
|
# [*kmip_plugin_certfile*] |
|
# (optional) cert file for KMIP device. This parameter is required when |
|
# the kmip_plugin_username parameter is not set. |
|
# Defaults to undef |
|
# |
|
# [*kmip_plugin_ca_certs*] |
|
# (optional) ca certs file for KMIP device. This parameter is required when |
|
# the kmip_plugin_username parameter is not set. |
|
# Defaults to undef |
|
# |
|
# [*global_default*] |
|
# (optional) set plugin as global default |
|
# Defaults to false |
|
# |
|
class barbican::plugins::kmip ( |
|
$kmip_plugin_host, |
|
$kmip_plugin_port, |
|
$kmip_plugin_username = undef, |
|
$kmip_plugin_password = undef, |
|
$kmip_plugin_keyfile = undef, |
|
$kmip_plugin_certfile = undef, |
|
$kmip_plugin_ca_certs = undef, |
|
$global_default = false, |
|
) { |
|
|
|
include barbican::deps |
|
|
|
if $kmip_plugin_username != undef { |
|
if $kmip_plugin_password == undef { |
|
fail('kmip_plugin_password must be defined if kmip_plugin_username is defined') |
|
} |
|
} else { |
|
if $kmip_plugin_certfile == undef { |
|
fail('kmip_plugin_certfile must be defined') |
|
} |
|
if $kmip_plugin_keyfile == undef { |
|
fail('kmip_plugin_keyfile must be defined') |
|
} |
|
if $kmip_plugin_ca_certs == undef { |
|
fail('kmip_plugin_ca_certs must be defined') |
|
} |
|
} |
|
|
|
if $kmip_plugin_username != undef { |
|
barbican_config { |
|
'kmip_plugin/username': value => $kmip_plugin_username; |
|
'kmip_plugin/password': value => $kmip_plugin_password, secret => true; |
|
'kmip_plugin/host': value => $kmip_plugin_host; |
|
'kmip_plugin/port': value => $kmip_plugin_port; |
|
} |
|
} else { |
|
barbican_config { |
|
'kmip_plugin/keyfile': value => $kmip_plugin_keyfile; |
|
'kmip_plugin/certfile': value => $kmip_plugin_certfile; |
|
'kmip_plugin/ca_certs': value => $kmip_plugin_ca_certs; |
|
'kmip_plugin/host': value => $kmip_plugin_host; |
|
'kmip_plugin/port': value => $kmip_plugin_port; |
|
} |
|
} |
|
|
|
barbican_config { |
|
'secretstore:kmip/secret_store_plugin': value => 'kmip_plugin'; |
|
'secretstore:kmip/global_default': value => $global_default; |
|
} |
|
|
|
}
|
|
|