1 2 3 4 5 6 7 8 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 139 140 141
|
# == Class: heat::keystone::auth_cfn
#
# Configures heat-api-cfn user, service and endpoint in Keystone.
#
# === Parameters
#
# [*configure_endpoint*]
# (Optional) Should heat-cfn endpoint be configured?
# Defaults to 'true'.
#
# [*configure_service*]
# (Optional) Should heat-cfn service be configured?
# Defaults to 'true'.
#
# [*service_description*]
# (Optional) Description of the service.
# Default to 'OpenStack Cloudformation Service'
#
# [*service_name*]
# (Optional) Name of the service.
# Defaults to 'heat'.
#
# [*service_type*]
# (Optional) Type of service.
# Defaults to 'cloudformation'.
#
# [*region*]
# (Optional) Region for endpoint.
# Defaults to 'RegionOne'.
#
# [*public_url*]
# (optional) The endpoint's public url. (Defaults to 'http://127.0.0.1:8000/v1')
# This url should *not* contain any trailing '/'.
#
# [*admin_url*]
# (optional) The endpoint's admin url. (Defaults to 'http://127.0.0.1:8000/v1')
# This url should *not* contain any trailing '/'.
#
# [*internal_url*]
# (optional) The endpoint's internal url. (Defaults to 'http://127.0.0.1:8000/v1')
# This url should *not* contain any trailing '/'.
#
# DEPRECATED PARAMETERS
#
# [*configure_user*]
# (Optional) Whether to create the service user.
# Defaults to undef
#
# [*configure_user_role*]
# (Optional) Whether to configure the admin role for the service user.
# Defaults to undef
#
# [*password*]
# (Optioal) Password for heat-cfn user.
# Defaults to undef
#
# [*email*]
# (Optional) Email for heat-cfn user.
# Defaults to undef
#
# [*auth_name*]
# (Optional) Username for heat-cfn service.
# Defaults to undef
#
# [*tenant*]
# (Optional) Tenant for heat-cfn user.
# Defaults to undef
#
# [*roles*]
# (Optional) List of roles assigned to heat user.
# Defaults to undef
#
# [*system_scope*]
# (Optional) Scope for system operations.
# Defaults to undef
#
# [*system_roles*]
# (Optional) List of system roles assigned to heat user.
# Defaults to undef
#
# === Examples
#
# class { 'heat::keystone::auth_cfn':
# public_url => 'https://10.0.0.10:8000/v1',
# internal_url => 'https://10.0.0.11:8000/v1',
# admin_url => 'https://10.0.0.11:8000/v1',
# }
#
class heat::keystone::auth_cfn (
String[1] $service_name = 'heat-cfn',
String[1] $service_description = 'OpenStack Cloudformation Service',
String[1] $service_type = 'cloudformation',
String[1] $region = 'RegionOne',
Boolean $configure_endpoint = true,
Boolean $configure_service = true,
Keystone::PublicEndpointUrl $public_url = 'http://127.0.0.1:8000/v1',
Keystone::EndpointUrl $admin_url = 'http://127.0.0.1:8000/v1',
Keystone::EndpointUrl $internal_url = 'http://127.0.0.1:8000/v1',
# DEPRECATED PARAMETERS
Optional[Boolean] $configure_user = undef,
Optional[Boolean] $configure_user_role = undef,
$password = undef,
$email = undef,
$auth_name = undef,
$tenant = undef,
$roles = undef,
$system_scope = undef,
$system_roles = undef,
) {
include heat::deps
if $configure_user != undef {
warning('The configure_user parameter is deprecated')
if $configure_user {
fail('Management of heat-cfn user is no longer supported.')
}
}
if $configure_user_role != undef {
warning('The configure_user_role parameter is deprecated')
if $configure_user_role {
fail('Management of heat-cfn user is no longer supported.')
}
}
Keystone::Resource::Service_identity['heat-cfn'] -> Anchor['heat::service::end']
keystone::resource::service_identity { 'heat-cfn':
configure_user => false,
configure_user_role => false,
configure_endpoint => $configure_endpoint,
configure_service => $configure_service,
service_type => $service_type,
service_description => $service_description,
service_name => $service_name,
region => $region,
public_url => $public_url,
admin_url => $admin_url,
internal_url => $internal_url,
}
}
|