1 # == Class: keystone::endpoint
3 # Creates the auth endpoints for keystone
8 # (optional) Public url for keystone endpoint. (Defaults to 'http://127.0.0.1:5000')
9 # This url should *not* contain any version or trailing '/'.
12 # (optional) Internal url for keystone endpoint. (Defaults to $public_url)
13 # This url should *not* contain any version or trailing '/'.
16 # (optional) Admin url for keystone endpoint. (Defaults to 'http://127.0.0.1:35357')
17 # This url should *not* contain any version or trailing '/'.
20 # (optional) Region for endpoint. (Defaults to 'RegionOne')
23 # (optional) API version for endpoint. Appended to all endpoint urls. (Defaults to 'v2.0')
26 # (optional) DEPRECATED: Use public_url instead.
27 # Protocol for public access to keystone endpoint. (Defaults to 'http')
28 # Setting this parameter overrides public_url parameter.
31 # (optional) DEPRECATED: Use public_url instead.
32 # Public address for keystone endpoint. (Defaults to '127.0.0.1')
33 # Setting this parameter overrides public_url parameter.
36 # (optional) DEPRECATED: Use public_url instead.
37 # Port for non-admin access to keystone endpoint. (Defaults to 5000)
38 # Setting this parameter overrides public_url parameter.
40 # [*internal_address*]
41 # (optional) DEPRECATED: Use internal_url instead.
42 # Internal address for keystone endpoint. (Defaults to '127.0.0.1')
43 # Setting this parameter overrides internal_url parameter.
46 # (optional) DEPRECATED: Use internal_url instead.
47 # Port for internal access to keystone endpoint. (Defaults to $public_port)
48 # Setting this parameter overrides internal_url parameter.
51 # (optional) DEPRECATED: Use admin_url instead.
52 # Admin address for keystone endpoint. (Defaults to '127.0.0.1')
53 # Setting this parameter overrides admin_url parameter.
56 # (optional) DEPRECATED: Use admin_url instead.
57 # Port for admin access to keystone endpoint. (Defaults to 35357)
58 # Setting this parameter overrides admin_url parameter.
60 # === Deprecation notes
62 # If any value is provided for public_protocol, public_address or public_port parameters,
63 # public_url will be completely ignored. The same applies for internal and admin parameters.
67 # class { 'keystone::endpoint':
68 # public_url => 'https://154.10.10.23:5000',
69 # internal_url => 'https://11.0.1.7:5000',
70 # admin_url => 'https://10.0.1.7:35357',
73 class keystone::endpoint (
74 $public_url = 'http://127.0.0.1:5000',
75 $internal_url = undef,
76 $admin_url = 'http://127.0.0.1:35357',
78 $region = 'RegionOne',
79 # DEPRECATED PARAMETERS
80 $public_protocol = undef,
81 $public_address = undef,
83 $internal_address = undef,
84 $internal_port = undef,
85 $admin_address = undef,
89 warning('keystone::endpoint class is deprecated, use keystone::resource::service_identity instead.')
92 warning('The public_port parameter is deprecated, use public_url instead.')
96 warning('The public_protocol parameter is deprecated, use public_url instead.')
100 warning('The public_address parameter is deprecated, use public_url instead.')
103 if $internal_address {
104 warning('The internal_address parameter is deprecated, use internal_url instead.')
108 warning('The internal_port parameter is deprecated, use internal_url instead.')
112 warning('The admin_address parameter is deprecated, use admin_url instead.')
116 warning('The admin_port parameter is deprecated, use admin_url instead.')
119 $public_url_real = inline_template('<%=
120 if (!@public_protocol.nil?) || (!@public_address.nil?) || (!@public_port.nil?)
121 @public_protocol ||= "http"
122 @public_address ||= "127.0.0.1"
123 @public_port ||= "5000"
124 "#{@public_protocol}://#{@public_address}:#{@public_port}/#{@version}"
126 "#{@public_url}/#{@version}"
129 $internal_url_real = inline_template('<%=
130 if (!@internal_address.nil?) || (!@internal_port.nil?) || (!@public_port.nil?)
131 @internal_address ||= @public_address ||= "127.0.0.1"
132 @internal_port ||= @public_port ||= "5000"
133 "http://#{@internal_address}:#{@internal_port}/#{@version}"
134 elsif (!@internal_url.nil?)
135 "#{@internal_url}/#{@version}"
137 "#{@public_url}/#{@version}"
140 $admin_url_real = inline_template('<%=
141 if (!@admin_address.nil?) || (!@admin_port.nil?)
142 @admin_address ||= "127.0.0.1"
143 @admin_port ||= "35357"
144 "http://#{@admin_address}:#{@admin_port}/#{@version}"
146 "#{@admin_url}/#{@version}"
149 keystone::resource::service_identity { 'keystone':
150 configure_user => false,
151 configure_user_role => false,
152 service_type => 'identity',
153 service_description => 'OpenStack Identity Service',
154 public_url => $public_url_real,
155 admin_url => $admin_url_real,
156 internal_url => $internal_url_real,