Merge "Rename tox env to pep8"
[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   SaharaApiVirtualIP:
44     type: string
45     default: ''
46   EndpointMap:
47     type: json
48     default:
49       CeilometerAdmin: {protocol: 'http', port: '8777', host: 'IP_ADDRESS'}
50       CeilometerInternal: {protocol: 'http', port: '8777', host: 'IP_ADDRESS'}
51       CeilometerPublic: {protocol: 'http', port: '8777', host: 'IP_ADDRESS'}
52       CinderAdmin: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
53       CinderInternal: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
54       CinderPublic: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
55       GlanceAdmin: {protocol: 'http', port: '9292', host: 'IP_ADDRESS'}
56       GlanceInternal: {protocol: 'http', port: '9292', host: 'IP_ADDRESS'}
57       GlancePublic: {protocol: 'http', port: '9292', host: 'IP_ADDRESS'}
58       GlanceRegistryAdmin: {protocol: 'http', port: '9191', host: 'IP_ADDRESS'}
59       GlanceRegistryInternal: {protocol: 'http', port: '9191', host: 'IP_ADDRESS'}
60       GlanceRegistryPublic: {protocol: 'http', port: '9191', host: 'IP_ADDRESS'}
61       HeatAdmin: {protocol: 'http', port: '8004', host: 'IP_ADDRESS'}
62       HeatInternal: {protocol: 'http', port: '8004', host: 'IP_ADDRESS'}
63       HeatPublic: {protocol: 'http', port: '8004', host: 'IP_ADDRESS'}
64       HorizonPublic: {protocol: 'http', port: '80', host: 'IP_ADDRESS'}
65       KeystoneAdmin: {protocol: 'http', port: '35357', host: 'IP_ADDRESS'}
66       KeystoneInternal: {protocol: 'http', port: '5000', host: 'IP_ADDRESS'}
67       KeystonePublic: {protocol: 'http', port: '5000', host: 'IP_ADDRESS'}
68       KeystoneV3Admin: {protocol: 'http', port: '35357', host: 'IP_ADDRESS'}
69       KeystoneV3Internal: {protocol: 'http', port: '5000', host: 'IP_ADDRESS'}
70       KeystoneV3Public: {protocol: 'http', port: '5000', host: 'IP_ADDRESS'}
71       NeutronAdmin: {protocol: 'http', port: '9696', host: 'IP_ADDRESS'}
72       NeutronInternal: {protocol: 'http', port: '9696', host: 'IP_ADDRESS'}
73       NeutronPublic: {protocol: 'http', port: '9696', host: 'IP_ADDRESS'}
74       NovaAdmin: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
75       NovaInternal: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
76       NovaPublic: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
77       NovaEC2Admin: {protocol: 'http', port: '8773', host: 'IP_ADDRESS'}
78       NovaEC2Internal: {protocol: 'http', port: '8773', host: 'IP_ADDRESS'}
79       NovaEC2Public: {protocol: 'http', port: '8773', host: 'IP_ADDRESS'}
80       NovaVNCProxyAdmin: {protocol: 'http', port: '6080', host: 'IP_ADDRESS'}
81       NovaVNCProxyInternal: {protocol: 'http', port: '6080', host: 'IP_ADDRESS'}
82       NovaVNCProxyPublic: {protocol: 'http', port: '6080', host: 'IP_ADDRESS'}
83       SwiftAdmin: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'}
84       SwiftInternal: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'}
85       SwiftPublic: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'}
86       SaharaAdmin: {protocol: 'http', port: '8386', host: 'IP_ADDRESS'}
87       SaharaInternal: {protocol: 'http', port: '8386', host: 'IP_ADDRESS'}
88       SaharaPublic: {protocol: 'http', port: '8386', host: 'IP_ADDRESS'}
89     description: Mapping of service endpoint -> protocol. Typically set
90                  via parameter_defaults in the resource registry.
91   CloudName:
92     type: string
93     default: overcloud
94     description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
95
96 resources:
97
98   CeilometerInternal:
99     type: OS::TripleO::Endpoint
100     properties:
101       EndpointName: CeilometerInternal
102       EndpointMap: { get_param: EndpointMap }
103       CloudName: {get_param: CloudName}
104       IP: {get_param: CeilometerApiVirtualIP}
105   CeilometerPublic:
106     type: OS::TripleO::Endpoint
107     properties:
108       EndpointName: CeilometerPublic
109       EndpointMap: { get_param: EndpointMap }
110       CloudName: {get_param: CloudName}
111       IP: {get_param: PublicVirtualIP}
112   CeilometerAdmin:
113     type: OS::TripleO::Endpoint
114     properties:
115       EndpointName: CeilometerAdmin
116       EndpointMap: { get_param: EndpointMap }
117       CloudName: {get_param: CloudName}
118       IP: {get_param: CeilometerApiVirtualIP}
119
120   CinderInternal:
121     type: OS::TripleO::Endpoint
122     properties:
123       EndpointName: CinderInternal
124       EndpointMap: { get_param: EndpointMap }
125       CloudName: {get_param: CloudName}
126       IP: {get_param: CinderApiVirtualIP}
127       UriSuffix: '/v1/%(tenant_id)s'
128   CinderPublic:
129     type: OS::TripleO::Endpoint
130     properties:
131       EndpointName: CinderPublic
132       EndpointMap: { get_param: EndpointMap }
133       CloudName: {get_param: CloudName}
134       IP: {get_param: PublicVirtualIP}
135       UriSuffix: '/v1/%(tenant_id)s'
136   CinderAdmin:
137     type: OS::TripleO::Endpoint
138     properties:
139       EndpointName: CinderAdmin
140       EndpointMap: { get_param: EndpointMap }
141       CloudName: {get_param: CloudName}
142       IP: {get_param: CinderApiVirtualIP}
143       UriSuffix: '/v1/%(tenant_id)s'
144
145   CinderV2Internal:
146     type: OS::TripleO::Endpoint
147     properties:
148       EndpointName: CinderInternal
149       EndpointMap: { get_param: EndpointMap }
150       CloudName: {get_param: CloudName}
151       IP: {get_param: CinderApiVirtualIP}
152       UriSuffix: '/v2/%(tenant_id)s'
153   CinderV2Public:
154     type: OS::TripleO::Endpoint
155     properties:
156       EndpointName: CinderPublic
157       EndpointMap: { get_param: EndpointMap }
158       CloudName: {get_param: CloudName}
159       IP: {get_param: PublicVirtualIP}
160       UriSuffix: '/v2/%(tenant_id)s'
161   CinderV2Admin:
162     type: OS::TripleO::Endpoint
163     properties:
164       EndpointName: CinderAdmin
165       EndpointMap: { get_param: EndpointMap }
166       CloudName: {get_param: CloudName}
167       IP: {get_param: CinderApiVirtualIP}
168       UriSuffix: '/v2/%(tenant_id)s'
169
170   GlanceInternal:
171     type: OS::TripleO::Endpoint
172     properties:
173       EndpointName: GlanceInternal
174       EndpointMap: { get_param: EndpointMap }
175       CloudName: {get_param: CloudName}
176       IP: {get_param: GlanceApiVirtualIP}
177   GlancePublic:
178     type: OS::TripleO::Endpoint
179     properties:
180       EndpointName: GlancePublic
181       EndpointMap: { get_param: EndpointMap }
182       CloudName: {get_param: CloudName}
183       IP: {get_param: PublicVirtualIP}
184   GlanceAdmin:
185     type: OS::TripleO::Endpoint
186     properties:
187       EndpointName: GlanceAdmin
188       EndpointMap: { get_param: EndpointMap }
189       CloudName: {get_param: CloudName}
190       IP: {get_param: GlanceApiVirtualIP}
191   GlanceRegistryInternal:
192     type: OS::TripleO::Endpoint
193     properties:
194       EndpointName: GlanceRegistryInternal
195       EndpointMap: { get_param: EndpointMap }
196       IP: {get_param: GlanceRegistryVirtualIP}
197   GlanceRegistryPublic:
198     type: OS::TripleO::Endpoint
199     properties:
200       EndpointName: GlanceRegistryPublic
201       EndpointMap: { get_param: EndpointMap }
202       IP: {get_param: PublicVirtualIP}
203   GlanceRegistryAdmin:
204     type: OS::TripleO::Endpoint
205     properties:
206       EndpointName: GlanceRegistryAdmin
207       EndpointMap: { get_param: EndpointMap }
208       IP: {get_param: GlanceRegistryVirtualIP}
209
210   HeatInternal:
211     type: OS::TripleO::Endpoint
212     properties:
213       EndpointName: HeatInternal
214       EndpointMap: { get_param: EndpointMap }
215       IP: {get_param: HeatApiVirtualIP}
216       CloudName: {get_param: CloudName}
217       UriSuffix: '/v1/%(tenant_id)s'
218   HeatPublic:
219     type: OS::TripleO::Endpoint
220     properties:
221       EndpointName: HeatPublic
222       EndpointMap: { get_param: EndpointMap }
223       IP: {get_param: PublicVirtualIP}
224       CloudName: {get_param: CloudName}
225       UriSuffix: '/v1/%(tenant_id)s'
226   HeatAdmin:
227     type: OS::TripleO::Endpoint
228     properties:
229       EndpointName: HeatAdmin
230       EndpointMap: { get_param: EndpointMap }
231       IP: {get_param: HeatApiVirtualIP}
232       CloudName: {get_param: CloudName}
233       UriSuffix: '/v1/%(tenant_id)s'
234
235   HorizonPublic:
236     type: OS::TripleO::Endpoint
237     properties:
238       EndpointName: HorizonPublic
239       EndpointMap: { get_param: EndpointMap }
240       IP: {get_param: PublicVirtualIP}
241       CloudName: {get_param: CloudName}
242       UriSuffix: '/dashboard'
243
244   KeystoneInternal:
245     type: OS::TripleO::Endpoint
246     properties:
247       EndpointName: KeystoneInternal
248       EndpointMap: { get_param: EndpointMap }
249       IP: {get_param: KeystonePublicApiVirtualIP}
250       CloudName: {get_param: CloudName}
251       UriSuffix: '/v2.0'
252   KeystonePublic:
253     type: OS::TripleO::Endpoint
254     properties:
255       EndpointName: KeystonePublic
256       EndpointMap: { get_param: EndpointMap }
257       IP: {get_param: PublicVirtualIP}
258       CloudName: {get_param: CloudName}
259       UriSuffix: '/v2.0'
260   KeystoneAdmin:
261     type: OS::TripleO::Endpoint
262     properties:
263       EndpointName: KeystoneAdmin
264       EndpointMap: { get_param: EndpointMap }
265       IP: {get_param: KeystoneAdminApiVirtualIP}
266       CloudName: {get_param: CloudName}
267       UriSuffix: '/v2.0'
268   KeystoneEC2:
269     type: OS::TripleO::Endpoint
270     properties:
271       EndpointName: KeystoneInternal
272       EndpointMap: { get_param: EndpointMap }
273       IP: {get_param: KeystonePublicApiVirtualIP}
274       CloudName: {get_param: CloudName}
275       UriSuffix: '/v2.0/ec2tokens'
276   # TODO(ayoung): V3 is a temporary fix. Endpoints should be versionless.
277   # Required for https://bugs.launchpad.net/puppet-nova/+bug/1542486
278   KeystoneV3Internal:
279     type: OS::TripleO::Endpoint
280     properties:
281       EndpointName: KeystoneV3Internal
282       EndpointMap: { get_param: EndpointMap }
283       IP: {get_param: KeystonePublicApiVirtualIP}
284       CloudName: {get_param: CloudName}
285       UriSuffix: '/v3'
286   KeystoneV3Public:
287     type: OS::TripleO::Endpoint
288     properties:
289       EndpointName: KeystoneV3Public
290       EndpointMap: { get_param: EndpointMap }
291       IP: {get_param: PublicVirtualIP}
292       CloudName: {get_param: CloudName}
293       UriSuffix: '/v3'
294   KeystoneV3Admin:
295     type: OS::TripleO::Endpoint
296     properties:
297       EndpointName: KeystoneV3Admin
298       EndpointMap: { get_param: EndpointMap }
299       IP: {get_param: KeystoneAdminApiVirtualIP}
300       CloudName: {get_param: CloudName}
301       UriSuffix: '/v3'
302
303   NeutronInternal:
304     type: OS::TripleO::Endpoint
305     properties:
306       EndpointName: NeutronInternal
307       EndpointMap: { get_param: EndpointMap }
308       IP: {get_param: NeutronApiVirtualIP}
309       CloudName: {get_param: CloudName}
310   NeutronPublic:
311     type: OS::TripleO::Endpoint
312     properties:
313       EndpointName: NeutronPublic
314       EndpointMap: { get_param: EndpointMap }
315       IP: {get_param: PublicVirtualIP}
316       CloudName: {get_param: CloudName}
317   NeutronAdmin:
318     type: OS::TripleO::Endpoint
319     properties:
320       EndpointName: NeutronAdmin
321       EndpointMap: { get_param: EndpointMap }
322       IP: {get_param: NeutronApiVirtualIP}
323       CloudName: {get_param: CloudName}
324
325   NovaInternal:
326     type: OS::TripleO::Endpoint
327     properties:
328       EndpointName: NovaInternal
329       EndpointMap: { get_param: EndpointMap }
330       IP: {get_param: NovaApiVirtualIP}
331       CloudName: {get_param: CloudName}
332       UriSuffix: '/v2/%(tenant_id)s'
333   NovaPublic:
334     type: OS::TripleO::Endpoint
335     properties:
336       EndpointName: NovaPublic
337       EndpointMap: { get_param: EndpointMap }
338       IP: {get_param: PublicVirtualIP}
339       CloudName: {get_param: CloudName}
340       UriSuffix: '/v2/%(tenant_id)s'
341   NovaAdmin:
342     type: OS::TripleO::Endpoint
343     properties:
344       EndpointName: NovaAdmin
345       EndpointMap: { get_param: EndpointMap }
346       IP: {get_param: NovaApiVirtualIP}
347       CloudName: {get_param: CloudName}
348       UriSuffix: '/v2/%(tenant_id)s'
349   NovaV3Internal:
350     type: OS::TripleO::Endpoint
351     properties:
352       EndpointName: NovaInternal
353       EndpointMap: { get_param: EndpointMap }
354       IP: {get_param: NovaApiVirtualIP}
355       CloudName: {get_param: CloudName}
356       UriSuffix: '/v3'
357   NovaV3Public:
358     type: OS::TripleO::Endpoint
359     properties:
360       EndpointName: NovaPublic
361       EndpointMap: { get_param: EndpointMap }
362       IP: {get_param: PublicVirtualIP}
363       CloudName: {get_param: CloudName}
364       UriSuffix: '/v3'
365   NovaV3Admin:
366     type: OS::TripleO::Endpoint
367     properties:
368       EndpointName: NovaAdmin
369       EndpointMap: { get_param: EndpointMap }
370       IP: {get_param: NovaApiVirtualIP}
371       CloudName: {get_param: CloudName}
372       UriSuffix: '/v3'
373
374   NovaEC2Internal:
375     type: OS::TripleO::Endpoint
376     properties:
377       EndpointName: NovaEC2Internal
378       EndpointMap: { get_param: EndpointMap }
379       IP: {get_param: NovaApiVirtualIP}
380       CloudName: {get_param: CloudName}
381       UriSuffix: '/services/Cloud'
382   NovaEC2Public:
383     type: OS::TripleO::Endpoint
384     properties:
385       EndpointName: NovaEC2Public
386       EndpointMap: { get_param: EndpointMap }
387       IP: {get_param: PublicVirtualIP}
388       CloudName: {get_param: CloudName}
389       UriSuffix: '/services/Cloud'
390   NovaEC2Admin:
391     type: OS::TripleO::Endpoint
392     properties:
393       EndpointName: NovaEC2Admin
394       EndpointMap: { get_param: EndpointMap }
395       IP: {get_param: NovaApiVirtualIP}
396       CloudName: {get_param: CloudName}
397       UriSuffix: '/services/Admin'
398
399   NovaVNCProxyInternal:
400     type: OS::TripleO::Endpoint
401     properties:
402       EndpointName: NovaVNCProxyInternal
403       EndpointMap: { get_param: EndpointMap }
404       IP: {get_param: NovaApiVirtualIP}
405       CloudName: {get_param: CloudName}
406   NovaVNCProxyPublic:
407     type: OS::TripleO::Endpoint
408     properties:
409       EndpointName: NovaVNCProxyPublic
410       EndpointMap: { get_param: EndpointMap }
411       IP: {get_param: PublicVirtualIP}
412       CloudName: {get_param: CloudName}
413   NovaVNCProxyAdmin:
414     type: OS::TripleO::Endpoint
415     properties:
416       EndpointName: NovaVNCProxyAdmin
417       EndpointMap: { get_param: EndpointMap }
418       IP: {get_param: NovaApiVirtualIP}
419       CloudName: {get_param: CloudName}
420
421   SwiftInternal:
422     type: OS::TripleO::Endpoint
423     properties:
424       EndpointName: SwiftInternal
425       EndpointMap: { get_param: EndpointMap }
426       IP: {get_param: SwiftProxyVirtualIP}
427       CloudName: {get_param: CloudName}
428       UriSuffix: '/v1/AUTH_%(tenant_id)s'
429   SwiftPublic:
430     type: OS::TripleO::Endpoint
431     properties:
432       EndpointName: SwiftPublic
433       EndpointMap: { get_param: EndpointMap }
434       IP: {get_param: PublicVirtualIP}
435       CloudName: {get_param: CloudName}
436       UriSuffix: '/v1/AUTH_%(tenant_id)s'
437   SwiftAdmin:
438     type: OS::TripleO::Endpoint
439     properties:
440       EndpointName: SwiftAdmin
441       EndpointMap: { get_param: EndpointMap }
442       IP: {get_param: SwiftProxyVirtualIP}
443       CloudName: {get_param: CloudName}
444       # No Suffix for the Admin interface
445   SwiftS3Internal:
446     type: OS::TripleO::Endpoint
447     properties:
448       EndpointName: SwiftInternal
449       EndpointMap: { get_param: EndpointMap }
450       IP: {get_param: SwiftProxyVirtualIP}
451       CloudName: {get_param: CloudName}
452   SwiftS3Public:
453     type: OS::TripleO::Endpoint
454     properties:
455       EndpointName: SwiftPublic
456       EndpointMap: { get_param: EndpointMap }
457       IP: {get_param: PublicVirtualIP}
458       CloudName: {get_param: CloudName}
459   SwiftS3Admin:
460     type: OS::TripleO::Endpoint
461     properties:
462       EndpointName: SwiftAdmin
463       EndpointMap: { get_param: EndpointMap }
464       IP: {get_param: SwiftProxyVirtualIP}
465       CloudName: {get_param: CloudName}
466
467   SaharaInternal:
468     type: OS::TripleO::Endpoint
469     properties:
470       EndpointName: SaharaInternal
471       EndpointMap: { get_param: EndpointMap }
472       IP: {get_param: SaharaApiVirtualIP}
473       CloudName: {get_param: CloudName}
474       UriSuffix: '/v1.1/%(tenant_id)s'
475   SaharaPublic:
476     type: OS::TripleO::Endpoint
477     properties:
478       EndpointName: SaharaPublic
479       EndpointMap: { get_param: EndpointMap }
480       IP: {get_param: SaharaApiVirtualIP}
481       CloudName: {get_param: CloudName}
482       UriSuffix: '/v1.1/%(tenant_id)s'
483   SaharaAdmin:
484     type: OS::TripleO::Endpoint
485     properties:
486       EndpointName: SaharaAdmin
487       EndpointMap: { get_param: EndpointMap }
488       IP: {get_param: SaharaApiVirtualIP}
489       CloudName: {get_param: CloudName}
490       UriSuffix: '/v1.1/%(tenant_id)s'
491
492 outputs:
493   endpoint_map:
494     value:
495       CeilometerInternal: {get_attr: [ CeilometerInternal, endpoint] }
496       CeilometerPublic: {get_attr: [ CeilometerPublic, endpoint] }
497       CeilometerAdmin: {get_attr: [ CeilometerAdmin, endpoint] }
498       CinderInternal: {get_attr: [ CinderInternal, endpoint] }
499       CinderPublic: {get_attr: [ CinderPublic, endpoint] }
500       CinderAdmin: {get_attr: [ CinderAdmin, endpoint] }
501       CinderV2Internal: {get_attr: [ CinderV2Internal, endpoint] }
502       CinderV2Public: {get_attr: [ CinderV2Public, endpoint] }
503       CinderV2Admin: {get_attr: [ CinderV2Admin, endpoint] }
504       GlanceInternal: {get_attr: [ GlanceInternal, endpoint] }
505       GlancePublic: {get_attr: [ GlancePublic, endpoint] }
506       GlanceAdmin: {get_attr: [ GlanceAdmin, endpoint] }
507       GlanceRegistryInternal: {get_attr: [ GlanceRegistryInternal, endpoint] }
508       GlanceRegistryPublic: {get_attr: [ GlanceRegistryPublic, endpoint] }
509       GlanceRegistryAdmin: {get_attr: [ GlanceRegistryAdmin, endpoint] }
510       HeatInternal: {get_attr: [ HeatInternal, endpoint] }
511       HeatPublic: {get_attr: [ HeatPublic, endpoint] }
512       HeatAdmin: {get_attr: [ HeatAdmin, endpoint] }
513       HorizonPublic: {get_attr: [ HorizonPublic, endpoint] }
514       KeystoneInternal: {get_attr: [ KeystoneInternal, endpoint] }
515       KeystonePublic: {get_attr: [ KeystonePublic, endpoint] }
516       KeystoneAdmin: {get_attr: [ KeystoneAdmin, endpoint] }
517       KeystoneEC2: {get_attr: [ KeystoneEC2, endpoint] }
518       KeystoneV3Internal: {get_attr: [ KeystoneV3Internal, endpoint] }
519       KeystoneV3Public: {get_attr: [ KeystoneV3Public, endpoint] }
520       KeystoneV3Admin: {get_attr: [ KeystoneV3Admin, endpoint] }
521       NeutronInternal: {get_attr: [ NeutronInternal, endpoint] }
522       NeutronPublic: {get_attr: [ NeutronPublic, endpoint] }
523       NeutronAdmin: {get_attr: [ NeutronAdmin, endpoint] }
524       NovaInternal: {get_attr: [ NovaInternal, endpoint] }
525       NovaPublic: {get_attr: [ NovaPublic, endpoint] }
526       NovaAdmin: {get_attr: [ NovaAdmin, endpoint] }
527       NovaV3Internal: {get_attr: [ NovaV3Internal, endpoint] }
528       NovaV3Public: {get_attr: [ NovaV3Public, endpoint] }
529       NovaV3Admin: {get_attr: [ NovaV3Admin, endpoint] }
530       NovaEC2Internal: {get_attr: [ NovaEC2Internal, endpoint] }
531       NovaEC2Public: {get_attr: [ NovaEC2Public, endpoint] }
532       NovaEC2Admin: {get_attr: [ NovaEC2Admin, endpoint] }
533       NovaVNCProxyInternal: {get_attr: [ NovaVNCProxyInternal, endpoint] }
534       NovaVNCProxyPublic: {get_attr: [ NovaVNCProxyPublic, endpoint] }
535       NovaVNCProxyAdmin: {get_attr: [ NovaVNCProxyAdmin, endpoint] }
536       SwiftInternal: {get_attr: [ SwiftInternal, endpoint] }
537       SwiftPublic: {get_attr: [ SwiftPublic, endpoint] }
538       SwiftAdmin: {get_attr: [ SwiftAdmin, endpoint] }
539       SwiftS3Internal: {get_attr: [ SwiftS3Internal, endpoint] }
540       SwiftS3Public: {get_attr: [ SwiftS3Public, endpoint] }
541       SwiftS3Admin: {get_attr: [ SwiftS3Admin, endpoint] }
542       SaharaInternal: {get_attr: [ SaharaInternal, endpoint] }
543       SaharaPublic: {get_attr: [ SaharaPublic, endpoint] }
544       SaharaAdmin: {get_attr: [ SaharaAdmin, endpoint] }