X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Fkeystone%2Fmanifests%2Fendpoint.pp;fp=3rdparty%2Fmodules%2Fkeystone%2Fmanifests%2Fendpoint.pp;h=c713800f1e4510b0db1e9354d3cb8f9d7acbba2d;hb=4631045ebb77ee8622f6fa09277a50c372bcc02e;hp=0000000000000000000000000000000000000000;hpb=3d4dc4fd9e59bd0e07646c99f6b356c7d9d859aa;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/keystone/manifests/endpoint.pp b/3rdparty/modules/keystone/manifests/endpoint.pp new file mode 100644 index 000000000..c713800f1 --- /dev/null +++ b/3rdparty/modules/keystone/manifests/endpoint.pp @@ -0,0 +1,160 @@ +# == Class: keystone::endpoint +# +# Creates the auth endpoints for keystone +# +# === Parameters +# +# [*public_url*] +# (optional) Public url for keystone endpoint. (Defaults to 'http://127.0.0.1:5000') +# This url should *not* contain any version or trailing '/'. +# +# [*internal_url*] +# (optional) Internal url for keystone endpoint. (Defaults to $public_url) +# This url should *not* contain any version or trailing '/'. +# +# [*admin_url*] +# (optional) Admin url for keystone endpoint. (Defaults to 'http://127.0.0.1:35357') +# This url should *not* contain any version or trailing '/'. +# +# [*region*] +# (optional) Region for endpoint. (Defaults to 'RegionOne') +# +# [*version*] +# (optional) API version for endpoint. Appended to all endpoint urls. (Defaults to 'v2.0') +# +# [*public_protocol*] +# (optional) DEPRECATED: Use public_url instead. +# Protocol for public access to keystone endpoint. (Defaults to 'http') +# Setting this parameter overrides public_url parameter. +# +# [*public_address*] +# (optional) DEPRECATED: Use public_url instead. +# Public address for keystone endpoint. (Defaults to '127.0.0.1') +# Setting this parameter overrides public_url parameter. +# +# [*public_port*] +# (optional) DEPRECATED: Use public_url instead. +# Port for non-admin access to keystone endpoint. (Defaults to 5000) +# Setting this parameter overrides public_url parameter. +# +# [*internal_address*] +# (optional) DEPRECATED: Use internal_url instead. +# Internal address for keystone endpoint. (Defaults to '127.0.0.1') +# Setting this parameter overrides internal_url parameter. +# +# [*internal_port*] +# (optional) DEPRECATED: Use internal_url instead. +# Port for internal access to keystone endpoint. (Defaults to $public_port) +# Setting this parameter overrides internal_url parameter. +# +# [*admin_address*] +# (optional) DEPRECATED: Use admin_url instead. +# Admin address for keystone endpoint. (Defaults to '127.0.0.1') +# Setting this parameter overrides admin_url parameter. +# +# [*admin_port*] +# (optional) DEPRECATED: Use admin_url instead. +# Port for admin access to keystone endpoint. (Defaults to 35357) +# Setting this parameter overrides admin_url parameter. +# +# === Deprecation notes +# +# If any value is provided for public_protocol, public_address or public_port parameters, +# public_url will be completely ignored. The same applies for internal and admin parameters. +# +# === Examples +# +# class { 'keystone::endpoint': +# public_url => 'https://154.10.10.23:5000', +# internal_url => 'https://11.0.1.7:5000', +# admin_url => 'https://10.0.1.7:35357', +# } +# +class keystone::endpoint ( + $public_url = 'http://127.0.0.1:5000', + $internal_url = undef, + $admin_url = 'http://127.0.0.1:35357', + $version = 'v2.0', + $region = 'RegionOne', + # DEPRECATED PARAMETERS + $public_protocol = undef, + $public_address = undef, + $public_port = undef, + $internal_address = undef, + $internal_port = undef, + $admin_address = undef, + $admin_port = undef, +) { + + warning('keystone::endpoint class is deprecated, use keystone::resource::service_identity instead.') + + if $public_port { + warning('The public_port parameter is deprecated, use public_url instead.') + } + + if $public_protocol { + warning('The public_protocol parameter is deprecated, use public_url instead.') + } + + if $public_address { + warning('The public_address parameter is deprecated, use public_url instead.') + } + + if $internal_address { + warning('The internal_address parameter is deprecated, use internal_url instead.') + } + + if $internal_port { + warning('The internal_port parameter is deprecated, use internal_url instead.') + } + + if $admin_address { + warning('The admin_address parameter is deprecated, use admin_url instead.') + } + + if $admin_port { + warning('The admin_port parameter is deprecated, use admin_url instead.') + } + + $public_url_real = inline_template('<%= + if (!@public_protocol.nil?) || (!@public_address.nil?) || (!@public_port.nil?) + @public_protocol ||= "http" + @public_address ||= "127.0.0.1" + @public_port ||= "5000" + "#{@public_protocol}://#{@public_address}:#{@public_port}/#{@version}" + else + "#{@public_url}/#{@version}" + end %>') + + $internal_url_real = inline_template('<%= + if (!@internal_address.nil?) || (!@internal_port.nil?) || (!@public_port.nil?) + @internal_address ||= @public_address ||= "127.0.0.1" + @internal_port ||= @public_port ||= "5000" + "http://#{@internal_address}:#{@internal_port}/#{@version}" + elsif (!@internal_url.nil?) + "#{@internal_url}/#{@version}" + else + "#{@public_url}/#{@version}" + end %>') + + $admin_url_real = inline_template('<%= + if (!@admin_address.nil?) || (!@admin_port.nil?) + @admin_address ||= "127.0.0.1" + @admin_port ||= "35357" + "http://#{@admin_address}:#{@admin_port}/#{@version}" + else + "#{@admin_url}/#{@version}" + end %>') + + keystone::resource::service_identity { 'keystone': + configure_user => false, + configure_user_role => false, + service_type => 'identity', + service_description => 'OpenStack Identity Service', + public_url => $public_url_real, + admin_url => $admin_url_real, + internal_url => $internal_url_real, + region => $region, + } + +}