ca16b7d26b7af889916ff2a288e4d041f1787b42
[apex-tripleo-heat-templates.git] / network / endpoints / endpoint_map.yaml
1 heat_template_version: 2015-04-30
2
3 description: >
4   A Map of OpenStack Endpoints
5
6 parameters:
7   CeilometerApiVirtualIP:
8     type: string
9     default: ''
10   CinderApiVirtualIP:
11     type: string
12     default: ''
13   GlanceApiVirtualIP:
14     type: string
15     default: ''
16   GlanceRegistryVirtualIP:
17     type: string
18     default: ''
19   HeatApiVirtualIP:
20     type: string
21     default: ''
22   KeystoneAdminApiVirtualIP:
23     type: string
24     default: ''
25   KeystonePublicApiVirtualIP:
26     type: string
27     default: ''
28   MysqlVirtualIP:
29     type: string
30     default: ''
31   NeutronApiVirtualIP:
32     type: string
33     default: ''
34   NovaApiVirtualIP:
35     type: string
36     default: ''
37   PublicVirtualIP:
38     type: string
39     default: ''
40   SwiftProxyVirtualIP:
41     type: string
42     default: ''
43   EndpointMap:
44     type: json
45     default:
46       CeilometerAdmin: {protocol: 'http', port: '8777', host: 'IP_ADDRESS'}
47       CeilometerInternal: {protocol: 'http', port: '8777', host: 'IP_ADDRESS'}
48       CeilometerPublic: {protocol: 'http', port: '8777', host: 'IP_ADDRESS'}
49       CinderAdmin: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
50       CinderInternal: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
51       CinderPublic: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
52       GlanceAdmin: {protocol: 'http', port: '9292', host: 'IP_ADDRESS'}
53       GlanceInternal: {protocol: 'http', port: '9292', host: 'IP_ADDRESS'}
54       GlancePublic: {protocol: 'http', port: '9292', host: 'IP_ADDRESS'}
55       HeatAdmin: {protocol: 'http', port: '8004', host: 'IP_ADDRESS'}
56       HeatInternal: {protocol: 'http', port: '8004', host: 'IP_ADDRESS'}
57       HeatPublic: {protocol: 'http', port: '8004', host: 'IP_ADDRESS'}
58       KeystoneAdmin: {protocol: 'http', port: '35357', host: 'IP_ADDRESS'}
59       KeystoneInternal: {protocol: 'http', port: '5000', host: 'IP_ADDRESS'}
60       KeystonePublic: {protocol: 'http', port: '5000', host: 'IP_ADDRESS'}
61       NeutronAdmin: {protocol: 'http', port: '9696', host: 'IP_ADDRESS'}
62       NeutronInternal: {protocol: 'http', port: '9696', host: 'IP_ADDRESS'}
63       NeutronPublic: {protocol: 'http', port: '9696', host: 'IP_ADDRESS'}
64       NovaAdmin: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
65       NovaInternal: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
66       NovaPublic: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
67       NovaEC2Admin: {protocol: 'http', port: '8773', host: 'IP_ADDRESS'}
68       NovaEC2Internal: {protocol: 'http', port: '8773', host: 'IP_ADDRESS'}
69       NovaEC2Public: {protocol: 'http', port: '8773', host: 'IP_ADDRESS'}
70       SwiftAdmin: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'}
71       SwiftInternal: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'}
72       SwiftPublic: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'}
73     description: Mapping of service endpoint -> protocol. Typically set
74                  via parameter_defaults in the resource registry.
75   CloudName:
76     type: string
77     default: ''
78     description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
79
80 resources:
81
82   CeilometerInternal:
83     type: OS::TripleO::Endpoint
84     properties:
85       EndpointName: CeilometerInternal
86       EndpointMap: { get_param: EndpointMap }
87       CloudName: {get_param: CloudName}
88       IP: {get_param: CeilometerApiVirtualIP}
89   CeilometerPublic:
90     type: OS::TripleO::Endpoint
91     properties:
92       EndpointName: CeilometerPublic
93       EndpointMap: { get_param: EndpointMap }
94       CloudName: {get_param: CloudName}
95       IP: {get_param: PublicVirtualIP}
96   CeilometerAdmin:
97     type: OS::TripleO::Endpoint
98     properties:
99       EndpointName: CeilometerAdmin
100       EndpointMap: { get_param: EndpointMap }
101       CloudName: {get_param: CloudName}
102       IP: {get_param: CeilometerApiVirtualIP}
103
104   CinderInternal:
105     type: OS::TripleO::Endpoint
106     properties:
107       EndpointName: CinderInternal
108       EndpointMap: { get_param: EndpointMap }
109       CloudName: {get_param: CloudName}
110       IP: {get_param: CinderApiVirtualIP}
111       UriSuffix: '/v1/%(tenant_id)s'
112   CinderPublic:
113     type: OS::TripleO::Endpoint
114     properties:
115       EndpointName: CinderPublic
116       EndpointMap: { get_param: EndpointMap }
117       CloudName: {get_param: CloudName}
118       IP: {get_param: PublicVirtualIP}
119       UriSuffix: '/v1/%(tenant_id)s'
120   CinderAdmin:
121     type: OS::TripleO::Endpoint
122     properties:
123       EndpointName: CinderAdmin
124       EndpointMap: { get_param: EndpointMap }
125       CloudName: {get_param: CloudName}
126       IP: {get_param: CinderApiVirtualIP}
127       UriSuffix: '/v1/%(tenant_id)s'
128
129   CinderV2Internal:
130     type: OS::TripleO::Endpoint
131     properties:
132       EndpointName: CinderInternal
133       EndpointMap: { get_param: EndpointMap }
134       CloudName: {get_param: CloudName}
135       IP: {get_param: CinderApiVirtualIP}
136       UriSuffix: '/v2/%(tenant_id)s'
137   CinderV2Public:
138     type: OS::TripleO::Endpoint
139     properties:
140       EndpointName: CinderPublic
141       EndpointMap: { get_param: EndpointMap }
142       CloudName: {get_param: CloudName}
143       IP: {get_param: PublicVirtualIP}
144       UriSuffix: '/v2/%(tenant_id)s'
145   CinderV2Admin:
146     type: OS::TripleO::Endpoint
147     properties:
148       EndpointName: CinderAdmin
149       EndpointMap: { get_param: EndpointMap }
150       CloudName: {get_param: CloudName}
151       IP: {get_param: CinderApiVirtualIP}
152       UriSuffix: '/v2/%(tenant_id)s'
153
154   GlanceInternal:
155     type: OS::TripleO::Endpoint
156     properties:
157       EndpointName: GlanceInternal
158       EndpointMap: { get_param: EndpointMap }
159       CloudName: {get_param: CloudName}
160       IP: {get_param: GlanceApiVirtualIP}
161   GlancePublic:
162     type: OS::TripleO::Endpoint
163     properties:
164       EndpointName: GlancePublic
165       EndpointMap: { get_param: EndpointMap }
166       CloudName: {get_param: CloudName}
167       IP: {get_param: PublicVirtualIP}
168   GlanceAdmin:
169     type: OS::TripleO::Endpoint
170     properties:
171       EndpointName: GlanceAdmin
172       EndpointMap: { get_param: EndpointMap }
173       CloudName: {get_param: CloudName}
174       IP: {get_param: GlanceApiVirtualIP}
175
176   HeatInternal:
177     type: OS::TripleO::Endpoint
178     properties:
179       EndpointName: HeatInternal
180       EndpointMap: { get_param: EndpointMap }
181       IP: {get_param: HeatApiVirtualIP}
182       CloudName: {get_param: CloudName}
183       UriSuffix: '/v1/%(tenant_id)s'
184   HeatPublic:
185     type: OS::TripleO::Endpoint
186     properties:
187       EndpointName: HeatPublic
188       EndpointMap: { get_param: EndpointMap }
189       IP: {get_param: PublicVirtualIP}
190       CloudName: {get_param: CloudName}
191       UriSuffix: '/v1/%(tenant_id)s'
192   HeatAdmin:
193     type: OS::TripleO::Endpoint
194     properties:
195       EndpointName: HeatAdmin
196       EndpointMap: { get_param: EndpointMap }
197       IP: {get_param: HeatApiVirtualIP}
198       CloudName: {get_param: CloudName}
199       UriSuffix: '/v1/%(tenant_id)s'
200
201   KeystoneInternal:
202     type: OS::TripleO::Endpoint
203     properties:
204       EndpointName: KeystoneInternal
205       EndpointMap: { get_param: EndpointMap }
206       IP: {get_param: KeystonePublicApiVirtualIP}
207       CloudName: {get_param: CloudName}
208       UriSuffix: '/v2.0'
209   KeystonePublic:
210     type: OS::TripleO::Endpoint
211     properties:
212       EndpointName: KeystonePublic
213       EndpointMap: { get_param: EndpointMap }
214       IP: {get_param: PublicVirtualIP}
215       CloudName: {get_param: CloudName}
216       UriSuffix: '/v2.0'
217   KeystoneAdmin:
218     type: OS::TripleO::Endpoint
219     properties:
220       EndpointName: KeystoneAdmin
221       EndpointMap: { get_param: EndpointMap }
222       IP: {get_param: KeystoneAdminApiVirtualIP}
223       CloudName: {get_param: CloudName}
224       UriSuffix: '/v2.0'
225   KeystoneEC2:
226     type: OS::TripleO::Endpoint
227     properties:
228       EndpointName: KeystoneInternal
229       EndpointMap: { get_param: EndpointMap }
230       IP: {get_param: KeystonePublicApiVirtualIP}
231       CloudName: {get_param: CloudName}
232       UriSuffix: '/v2.0/ec2tokens'
233
234   NeutronInternal:
235     type: OS::TripleO::Endpoint
236     properties:
237       EndpointName: NeutronInternal
238       EndpointMap: { get_param: EndpointMap }
239       IP: {get_param: NeutronApiVirtualIP}
240       CloudName: {get_param: CloudName}
241   NeutronPublic:
242     type: OS::TripleO::Endpoint
243     properties:
244       EndpointName: NeutronPublic
245       EndpointMap: { get_param: EndpointMap }
246       IP: {get_param: PublicVirtualIP}
247       CloudName: {get_param: CloudName}
248   NeutronAdmin:
249     type: OS::TripleO::Endpoint
250     properties:
251       EndpointName: NeutronAdmin
252       EndpointMap: { get_param: EndpointMap }
253       IP: {get_param: NeutronApiVirtualIP}
254       CloudName: {get_param: CloudName}
255
256   NovaInternal:
257     type: OS::TripleO::Endpoint
258     properties:
259       EndpointName: NovaInternal
260       EndpointMap: { get_param: EndpointMap }
261       IP: {get_param: NovaApiVirtualIP}
262       CloudName: {get_param: CloudName}
263       UriSuffix: '/v2/%(tenant_id)s'
264   NovaPublic:
265     type: OS::TripleO::Endpoint
266     properties:
267       EndpointName: NovaPublic
268       EndpointMap: { get_param: EndpointMap }
269       IP: {get_param: PublicVirtualIP}
270       CloudName: {get_param: CloudName}
271       UriSuffix: '/v2/%(tenant_id)s'
272   NovaAdmin:
273     type: OS::TripleO::Endpoint
274     properties:
275       EndpointName: NovaAdmin
276       EndpointMap: { get_param: EndpointMap }
277       IP: {get_param: NovaApiVirtualIP}
278       CloudName: {get_param: CloudName}
279       UriSuffix: '/v2/%(tenant_id)s'
280   NovaV3Internal:
281     type: OS::TripleO::Endpoint
282     properties:
283       EndpointName: NovaInternal
284       EndpointMap: { get_param: EndpointMap }
285       IP: {get_param: NovaApiVirtualIP}
286       CloudName: {get_param: CloudName}
287       UriSuffix: '/v3'
288   NovaV3Public:
289     type: OS::TripleO::Endpoint
290     properties:
291       EndpointName: NovaPublic
292       EndpointMap: { get_param: EndpointMap }
293       IP: {get_param: PublicVirtualIP}
294       CloudName: {get_param: CloudName}
295       UriSuffix: '/v3'
296   NovaV3Admin:
297     type: OS::TripleO::Endpoint
298     properties:
299       EndpointName: NovaAdmin
300       EndpointMap: { get_param: EndpointMap }
301       IP: {get_param: NovaApiVirtualIP}
302       CloudName: {get_param: CloudName}
303       UriSuffix: '/v3'
304
305   NovaEC2Internal:
306     type: OS::TripleO::Endpoint
307     properties:
308       EndpointName: NovaEC2Internal
309       EndpointMap: { get_param: EndpointMap }
310       IP: {get_param: NovaApiVirtualIP}
311       CloudName: {get_param: CloudName}
312       UriSuffix: '/services/Cloud'
313   NovaEC2Public:
314     type: OS::TripleO::Endpoint
315     properties:
316       EndpointName: NovaEC2Public
317       EndpointMap: { get_param: EndpointMap }
318       IP: {get_param: PublicVirtualIP}
319       CloudName: {get_param: CloudName}
320       UriSuffix: '/services/Cloud'
321   NovaEC2Admin:
322     type: OS::TripleO::Endpoint
323     properties:
324       EndpointName: NovaEC2Admin
325       EndpointMap: { get_param: EndpointMap }
326       IP: {get_param: NovaApiVirtualIP}
327       CloudName: {get_param: CloudName}
328       UriSuffix: '/services/Admin'
329
330   SwiftInternal:
331     type: OS::TripleO::Endpoint
332     properties:
333       EndpointName: SwiftInternal
334       EndpointMap: { get_param: EndpointMap }
335       IP: {get_param: SwiftProxyVirtualIP}
336       CloudName: {get_param: CloudName}
337       UriSuffix: '/v1/AUTH_%(tenant_id)s'
338   SwiftPublic:
339     type: OS::TripleO::Endpoint
340     properties:
341       EndpointName: SwiftPublic
342       EndpointMap: { get_param: EndpointMap }
343       IP: {get_param: PublicVirtualIP}
344       CloudName: {get_param: CloudName}
345       UriSuffix: '/v1/AUTH_%(tenant_id)s'
346   SwiftAdmin:
347     type: OS::TripleO::Endpoint
348     properties:
349       EndpointName: SwiftAdmin
350       EndpointMap: { get_param: EndpointMap }
351       IP: {get_param: SwiftProxyVirtualIP}
352       CloudName: {get_param: CloudName}
353       # No Suffix for the Admin interface
354   SwiftS3Internal:
355     type: OS::TripleO::Endpoint
356     properties:
357       EndpointName: SwiftInternal
358       EndpointMap: { get_param: EndpointMap }
359       IP: {get_param: SwiftProxyVirtualIP}
360       CloudName: {get_param: CloudName}
361   SwiftS3Public:
362     type: OS::TripleO::Endpoint
363     properties:
364       EndpointName: SwiftPublic
365       EndpointMap: { get_param: EndpointMap }
366       IP: {get_param: PublicVirtualIP}
367       CloudName: {get_param: CloudName}
368   SwiftS3Admin:
369     type: OS::TripleO::Endpoint
370     properties:
371       EndpointName: SwiftAdmin
372       EndpointMap: { get_param: EndpointMap }
373       IP: {get_param: SwiftProxyVirtualIP}
374       CloudName: {get_param: CloudName}
375
376 outputs:
377   endpoint_map:
378     value:
379       CeilometerInternal: {get_attr: [ CeilometerInternal, endpoint] }
380       CeilometerPublic: {get_attr: [ CeilometerPublic, endpoint] }
381       CeilometerAdmin: {get_attr: [ CeilometerAdmin, endpoint] }
382       CinderInternal: {get_attr: [ CinderInternal, endpoint] }
383       CinderPublic: {get_attr: [ CinderPublic, endpoint] }
384       CinderAdmin: {get_attr: [ CinderAdmin, endpoint] }
385       CinderV2Internal: {get_attr: [ CinderV2Internal, endpoint] }
386       CinderV2Public: {get_attr: [ CinderV2Public, endpoint] }
387       CinderV2Admin: {get_attr: [ CinderV2Admin, endpoint] }
388       GlanceInternal: {get_attr: [ GlanceInternal, endpoint] }
389       GlancePublic: {get_attr: [ GlancePublic, endpoint] }
390       GlanceAdmin: {get_attr: [ GlanceAdmin, endpoint] }
391       HeatInternal: {get_attr: [ HeatInternal, endpoint] }
392       HeatPublic: {get_attr: [ HeatPublic, endpoint] }
393       HeatAdmin: {get_attr: [ HeatAdmin, endpoint] }
394       KeystoneInternal: {get_attr: [ KeystoneInternal, endpoint] }
395       KeystonePublic: {get_attr: [ KeystonePublic, endpoint] }
396       KeystoneAdmin: {get_attr: [ KeystoneAdmin, endpoint] }
397       KeystoneEC2: {get_attr: [ KeystoneEC2, endpoint] }
398       NeutronInternal: {get_attr: [ NeutronInternal, endpoint] }
399       NeutronPublic: {get_attr: [ NeutronPublic, endpoint] }
400       NeutronAdmin: {get_attr: [ NeutronAdmin, endpoint] }
401       NovaInternal: {get_attr: [ NovaInternal, endpoint] }
402       NovaPublic: {get_attr: [ NovaPublic, endpoint] }
403       NovaAdmin: {get_attr: [ NovaAdmin, endpoint] }
404       NovaV3Internal: {get_attr: [ NovaV3Internal, endpoint] }
405       NovaV3Public: {get_attr: [ NovaV3Public, endpoint] }
406       NovaV3Admin: {get_attr: [ NovaV3Admin, endpoint] }
407       NovaEC2Internal: {get_attr: [ NovaEC2Internal, endpoint] }
408       NovaEC2Public: {get_attr: [ NovaEC2Public, endpoint] }
409       NovaEC2Admin: {get_attr: [ NovaEC2Admin, endpoint] }
410       SwiftInternal: {get_attr: [ SwiftInternal, endpoint] }
411       SwiftPublic: {get_attr: [ SwiftPublic, endpoint] }
412       SwiftAdmin: {get_attr: [ SwiftAdmin, endpoint] }
413       SwiftS3Internal: {get_attr: [ SwiftS3Internal, endpoint] }
414       SwiftS3Public: {get_attr: [ SwiftS3Public, endpoint] }
415       SwiftS3Admin: {get_attr: [ SwiftS3Admin, endpoint] }