Merge "Switch to POLL_TEMP_URL for config transport"
[apex-tripleo-heat-templates.git] / network / endpoints / endpoint.yaml
1 heat_template_version: 2015-04-30
2
3 description: >
4   OpenStack Endpoint
5
6 parameters:
7   EndpointName:
8     type: string
9     description: The name of the Endpoint being evaluated
10   EndpointMap:
11     type: json
12     default: {}
13     description: Mapping of service endpoint -> protocol. Typically set
14                  via parameter_defaults in the resource registry.
15   IP:
16     type: string
17     description: The IP address of the Neutron Port that the endpoint is attached to
18   UriSuffix:
19     type: string
20     default: ''
21     description: A suffix attached to the URL
22   CloudName:
23     type: string
24     default: ''
25     description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
26
27 outputs:
28   endpoint:
29     description: >
30       A Hash containing a mapping of service endpoints to ports, protocols, uris
31       assigned IPs, and hostnames for a specific endpoint
32     value:
33       port: {get_param: [EndpointMap, {get_param: EndpointName }, port] }
34       protocol: {get_param: [EndpointMap, {get_param: EndpointName }, protocol] }
35       ip: {get_param: IP}
36       host:
37         str_replace:
38           template: {get_param: [EndpointMap, {get_param: EndpointName }, host]}
39           params: {IP_ADDRESS: {get_param: IP}, CLOUDNAME: {get_param: CloudName}}
40       uri:
41         list_join:
42           - ''
43           - - {get_param: [EndpointMap, {get_param: EndpointName }, protocol] }
44             - '://'
45             - str_replace:
46                 template: {get_param: [EndpointMap, {get_param: EndpointName }, host]}
47                 params: {IP_ADDRESS: {get_param: IP}, CLOUDNAME: {get_param: CloudName }}
48             - ':'
49             - {get_param: [EndpointMap, {get_param: EndpointName }, port] }
50             - {get_param: UriSuffix }
51       uri_no_suffix:
52         list_join:
53           - ''
54           - - {get_param: [EndpointMap, {get_param: EndpointName }, protocol] }
55             - '://'
56             - str_replace:
57                 template: {get_param: [EndpointMap, {get_param: EndpointName }, host]}
58                 params: {IP_ADDRESS: {get_param: IP}, CLOUDNAME: {get_param: CloudName} }
59             - ':'
60             - {get_param: [EndpointMap, {get_param: EndpointName }, port] }