]> git.donarmstrong.com Git - dsa-puppet.git/blob - 3rdparty/modules/keystone/manifests/endpoint.pp
c713800f1e4510b0db1e9354d3cb8f9d7acbba2d
[dsa-puppet.git] / 3rdparty / modules / keystone / manifests / endpoint.pp
1 # == Class: keystone::endpoint
2 #
3 # Creates the auth endpoints for keystone
4 #
5 # === Parameters
6 #
7 # [*public_url*]
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 '/'.
10 #
11 # [*internal_url*]
12 #   (optional) Internal url for keystone endpoint. (Defaults to $public_url)
13 #   This url should *not* contain any version or trailing '/'.
14 #
15 # [*admin_url*]
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 '/'.
18 #
19 # [*region*]
20 #   (optional) Region for endpoint. (Defaults to 'RegionOne')
21 #
22 # [*version*]
23 #   (optional) API version for endpoint. Appended to all endpoint urls. (Defaults to 'v2.0')
24 #
25 # [*public_protocol*]
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.
29 #
30 # [*public_address*]
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.
34 #
35 # [*public_port*]
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.
39 #
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.
44 #
45 # [*internal_port*]
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.
49 #
50 # [*admin_address*]
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.
54 #
55 # [*admin_port*]
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.
59 #
60 # === Deprecation notes
61 #
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.
64 #
65 # === Examples
66 #
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',
71 #  }
72 #
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',
77   $version           = 'v2.0',
78   $region            = 'RegionOne',
79   # DEPRECATED PARAMETERS
80   $public_protocol   = undef,
81   $public_address    = undef,
82   $public_port       = undef,
83   $internal_address  = undef,
84   $internal_port     = undef,
85   $admin_address     = undef,
86   $admin_port        = undef,
87 ) {
88
89   warning('keystone::endpoint class is deprecated, use keystone::resource::service_identity instead.')
90
91   if $public_port {
92     warning('The public_port parameter is deprecated, use public_url instead.')
93   }
94
95   if $public_protocol {
96     warning('The public_protocol parameter is deprecated, use public_url instead.')
97   }
98
99   if $public_address {
100     warning('The public_address parameter is deprecated, use public_url instead.')
101   }
102
103   if $internal_address {
104     warning('The internal_address parameter is deprecated, use internal_url instead.')
105   }
106
107   if $internal_port {
108     warning('The internal_port parameter is deprecated, use internal_url instead.')
109   }
110
111   if $admin_address {
112     warning('The admin_address parameter is deprecated, use admin_url instead.')
113   }
114
115   if $admin_port {
116     warning('The admin_port parameter is deprecated, use admin_url instead.')
117   }
118
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}"
125     else
126       "#{@public_url}/#{@version}"
127     end %>')
128
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}"
136     else
137       "#{@public_url}/#{@version}"
138     end %>')
139
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}"
145     else
146       "#{@admin_url}/#{@version}"
147     end %>')
148
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,
157     region              => $region,
158   }
159
160 }